diff --git a/.config b/.config index 43f3262..c42b70e 100644 --- a/.config +++ b/.config @@ -1,2 +1,2 @@ -compose-path=/path/to/compose-files/ -exclude-containers=containers,to-exclude \ No newline at end of file +compose-path=/home/runner/docker-composer +exclude-containers=hello,there,random-person \ No newline at end of file diff --git a/.replit b/.replit new file mode 100644 index 0000000..37264b4 --- /dev/null +++ b/.replit @@ -0,0 +1,103 @@ + +# The primary language of the repl. There can be others, though! +language = "python3" +entrypoint = "composer.py" +# A list of globs that specify which files and directories should +# be hidden in the workspace. +hidden = ["venv", ".config", "**/__pycache__", "**/.mypy_cache", "**/*.pyc"] + +# Specifies which nix channel to use when building the environment. +[nix] +channel = "stable-21_11" + +# The command to start the interpreter. +[interpreter] + [interpreter.command] + args = [ + "stderred", + "--", + "prybar-python3", + "-q", + "--ps1", + "\u0001\u001b[33m\u0002\u0001\u001b[00m\u0002 ", + "-i", + ] + env = { LD_LIBRARY_PATH = "$PYTHON_LD_LIBRARY_PATH" } + +[env] +VIRTUAL_ENV = "/home/runner/${REPL_SLUG}/venv" +PATH = "${VIRTUAL_ENV}/bin" +PYTHONPATH = "${VIRTUAL_ENV}/lib/python3.8/site-packages" +REPLIT_POETRY_PYPI_REPOSITORY = "https://package-proxy.replit.com/pypi/" +MPLBACKEND = "TkAgg" +POETRY_CACHE_DIR = "${HOME}/${REPL_SLUG}/.cache/pypoetry" + +# Enable unit tests. This is only supported for a few languages. +[unitTest] +language = "python3" + +# Add a debugger! +[debugger] +support = true + + # How to start the debugger. + [debugger.interactive] + transport = "localhost:0" + startCommand = ["dap-python", "main.py"] + + # How to communicate with the debugger. + [debugger.interactive.integratedAdapter] + dapTcpAddress = "localhost:0" + + # How to tell the debugger to start a debugging session. + [debugger.interactive.initializeMessage] + command = "initialize" + type = "request" + + [debugger.interactive.initializeMessage.arguments] + adapterID = "debugpy" + clientID = "replit" + clientName = "replit.com" + columnsStartAt1 = true + linesStartAt1 = true + locale = "en-us" + pathFormat = "path" + supportsInvalidatedEvent = true + supportsProgressReporting = true + supportsRunInTerminalRequest = true + supportsVariablePaging = true + supportsVariableType = true + + # How to tell the debugger to start the debuggee application. + [debugger.interactive.launchMessage] + command = "attach" + type = "request" + + [debugger.interactive.launchMessage.arguments] + logging = {} + +# Configures the packager. +[packager] +language = "python3" +ignoredPackages = ["unit_tests"] + + [packager.features] + enabledForHosting = false + # Enable searching packages from the sidebar. + packageSearch = true + # Enable guessing what packages are needed from the code. + guessImports = true + +# These are the files that need to be preserved when this +# language template is used as the base language template +# for Python repos imported from GitHub +[gitHubImport] +requiredFiles = [".replit", "replit.nix", ".config", "venv"] + +[languages] + +[languages.python3] +pattern = "**/*.py" + +[languages.python3.languageServer] +start = "pylsp" diff --git a/scripts/basic-management.py b/basic-management.py similarity index 100% rename from scripts/basic-management.py rename to basic-management.py diff --git a/composer.py b/composer.py new file mode 100644 index 0000000..cb13f96 --- /dev/null +++ b/composer.py @@ -0,0 +1,27 @@ +import os + +sudo_needed = True +if os.system('whoami') != 'root' && sudo_needed: + print('Please rerun as root so I can access docker') + +config = open('.config', 'rt') +working_dir = os.getcwd() +print(working_dir) + +compose_path = config.readline() +compose_path = compose_path[compose_path.find('=')+1:].strip() +if compose_path[-1:] != '/': + compose_path += '/' + +exclude_containers = config.readline() +exclude_containers = [container.strip() for container in exclude_containers[exclude_containers.find('=')+1:].split(',')] + +compose_dirs = [] +for dir in os.listdir(compose_path): + if os.path.isdir(dir): + compose_dirs.append(compose_path + dir + '/') + +# COMPOSE! +for dir in compose_dirs: + os.chdir(dir) + os.system('docker compose lorem ipsum idk') diff --git a/docker-data/pihole/docker-compose.yml b/docker-data/pihole/docker-compose.yml new file mode 100644 index 0000000..3855c7d --- /dev/null +++ b/docker-data/pihole/docker-compose.yml @@ -0,0 +1,24 @@ +version: "3" + +# More info at https://github.com/pi-hole/docker-pi-hole/ and https://docs.pi-hole.net/ +services: + pihole: + container_name: pihole + image: pihole/pihole:latest + # For DHCP it is recommended to remove these ports and instead add: network_mode: "host" + ports: + - "53:53/tcp" + - "53:53/udp" + - "67:67/udp" # Only required if you are using Pi-hole as your DHCP server + - "80:80/tcp" + environment: + TZ: 'America/Chicago' + # WEBPASSWORD: 'set a secure password here or it will be random' + # Volumes store your data between container upgrades + volumes: + - './etc-pihole:/etc/pihole' + - './etc-dnsmasq.d:/etc/dnsmasq.d' + # https://github.com/pi-hole/docker-pi-hole#note-on-capabilities + cap_add: + - NET_ADMIN # Required if you are using Pi-hole as your DHCP server, else not needed + restart: unless-stopped diff --git a/scripts/rebuild.py b/rebuild.py similarity index 100% rename from scripts/rebuild.py rename to rebuild.py diff --git a/replit.nix b/replit.nix new file mode 100644 index 0000000..e2f3d71 --- /dev/null +++ b/replit.nix @@ -0,0 +1,20 @@ +{ pkgs }: { + deps = [ + pkgs.nano + pkgs.docker + pkgs.python38Full + ]; + env = { + PYTHON_LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath [ + # Needed for pandas / numpy + pkgs.stdenv.cc.cc.lib + pkgs.zlib + # Needed for pygame + pkgs.glib + # Needed for matplotlib + pkgs.xorg.libX11 + ]; + PYTHONBIN = "${pkgs.python38Full}/bin/python3.8"; + LANG = "en_US.UTF-8"; + }; +} \ No newline at end of file diff --git a/scripts/composer.py b/scripts/composer.py deleted file mode 100644 index 87a3561..0000000 --- a/scripts/composer.py +++ /dev/null @@ -1,13 +0,0 @@ -import os - -config = open('.config', 'rt') - -compose-path = config.readline() -compose-path = compose-path[compose-path.find('=')+1:] -if compose-path[-1:] != '/': - compose-path += '/' - -exclude-containers = config.readline() -exclude-containers = exclude-containers[exclude-containers.find('=')+1:].split(',') - -compose-paths = [compose-path + dir for dir in os.listdir(compose-path)] diff --git a/venv/bin/Activate.ps1 b/venv/bin/Activate.ps1 new file mode 100644 index 0000000..2fb3852 --- /dev/null +++ b/venv/bin/Activate.ps1 @@ -0,0 +1,241 @@ +<# +.Synopsis +Activate a Python virtual environment for the current PowerShell session. + +.Description +Pushes the python executable for a virtual environment to the front of the +$Env:PATH environment variable and sets the prompt to signify that you are +in a Python virtual environment. Makes use of the command line switches as +well as the `pyvenv.cfg` file values present in the virtual environment. + +.Parameter VenvDir +Path to the directory that contains the virtual environment to activate. The +default value for this is the parent of the directory that the Activate.ps1 +script is located within. + +.Parameter Prompt +The prompt prefix to display when this virtual environment is activated. By +default, this prompt is the name of the virtual environment folder (VenvDir) +surrounded by parentheses and followed by a single space (ie. '(.venv) '). + +.Example +Activate.ps1 +Activates the Python virtual environment that contains the Activate.ps1 script. + +.Example +Activate.ps1 -Verbose +Activates the Python virtual environment that contains the Activate.ps1 script, +and shows extra information about the activation as it executes. + +.Example +Activate.ps1 -VenvDir C:\Users\MyUser\Common\.venv +Activates the Python virtual environment located in the specified location. + +.Example +Activate.ps1 -Prompt "MyPython" +Activates the Python virtual environment that contains the Activate.ps1 script, +and prefixes the current prompt with the specified string (surrounded in +parentheses) while the virtual environment is active. + +.Notes +On Windows, it may be required to enable this Activate.ps1 script by setting the +execution policy for the user. You can do this by issuing the following PowerShell +command: + +PS C:\> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser + +For more information on Execution Policies: +https://go.microsoft.com/fwlink/?LinkID=135170 + +#> +Param( + [Parameter(Mandatory = $false)] + [String] + $VenvDir, + [Parameter(Mandatory = $false)] + [String] + $Prompt +) + +<# Function declarations --------------------------------------------------- #> + +<# +.Synopsis +Remove all shell session elements added by the Activate script, including the +addition of the virtual environment's Python executable from the beginning of +the PATH variable. + +.Parameter NonDestructive +If present, do not remove this function from the global namespace for the +session. + +#> +function global:deactivate ([switch]$NonDestructive) { + # Revert to original values + + # The prior prompt: + if (Test-Path -Path Function:_OLD_VIRTUAL_PROMPT) { + Copy-Item -Path Function:_OLD_VIRTUAL_PROMPT -Destination Function:prompt + Remove-Item -Path Function:_OLD_VIRTUAL_PROMPT + } + + # The prior PYTHONHOME: + if (Test-Path -Path Env:_OLD_VIRTUAL_PYTHONHOME) { + Copy-Item -Path Env:_OLD_VIRTUAL_PYTHONHOME -Destination Env:PYTHONHOME + Remove-Item -Path Env:_OLD_VIRTUAL_PYTHONHOME + } + + # The prior PATH: + if (Test-Path -Path Env:_OLD_VIRTUAL_PATH) { + Copy-Item -Path Env:_OLD_VIRTUAL_PATH -Destination Env:PATH + Remove-Item -Path Env:_OLD_VIRTUAL_PATH + } + + # Just remove the VIRTUAL_ENV altogether: + if (Test-Path -Path Env:VIRTUAL_ENV) { + Remove-Item -Path env:VIRTUAL_ENV + } + + # Just remove the _PYTHON_VENV_PROMPT_PREFIX altogether: + if (Get-Variable -Name "_PYTHON_VENV_PROMPT_PREFIX" -ErrorAction SilentlyContinue) { + Remove-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Scope Global -Force + } + + # Leave deactivate function in the global namespace if requested: + if (-not $NonDestructive) { + Remove-Item -Path function:deactivate + } +} + +<# +.Description +Get-PyVenvConfig parses the values from the pyvenv.cfg file located in the +given folder, and returns them in a map. + +For each line in the pyvenv.cfg file, if that line can be parsed into exactly +two strings separated by `=` (with any amount of whitespace surrounding the =) +then it is considered a `key = value` line. The left hand string is the key, +the right hand is the value. + +If the value starts with a `'` or a `"` then the first and last character is +stripped from the value before being captured. + +.Parameter ConfigDir +Path to the directory that contains the `pyvenv.cfg` file. +#> +function Get-PyVenvConfig( + [String] + $ConfigDir +) { + Write-Verbose "Given ConfigDir=$ConfigDir, obtain values in pyvenv.cfg" + + # Ensure the file exists, and issue a warning if it doesn't (but still allow the function to continue). + $pyvenvConfigPath = Join-Path -Resolve -Path $ConfigDir -ChildPath 'pyvenv.cfg' -ErrorAction Continue + + # An empty map will be returned if no config file is found. + $pyvenvConfig = @{ } + + if ($pyvenvConfigPath) { + + Write-Verbose "File exists, parse `key = value` lines" + $pyvenvConfigContent = Get-Content -Path $pyvenvConfigPath + + $pyvenvConfigContent | ForEach-Object { + $keyval = $PSItem -split "\s*=\s*", 2 + if ($keyval[0] -and $keyval[1]) { + $val = $keyval[1] + + # Remove extraneous quotations around a string value. + if ("'""".Contains($val.Substring(0, 1))) { + $val = $val.Substring(1, $val.Length - 2) + } + + $pyvenvConfig[$keyval[0]] = $val + Write-Verbose "Adding Key: '$($keyval[0])'='$val'" + } + } + } + return $pyvenvConfig +} + + +<# Begin Activate script --------------------------------------------------- #> + +# Determine the containing directory of this script +$VenvExecPath = Split-Path -Parent $MyInvocation.MyCommand.Definition +$VenvExecDir = Get-Item -Path $VenvExecPath + +Write-Verbose "Activation script is located in path: '$VenvExecPath'" +Write-Verbose "VenvExecDir Fullname: '$($VenvExecDir.FullName)" +Write-Verbose "VenvExecDir Name: '$($VenvExecDir.Name)" + +# Set values required in priority: CmdLine, ConfigFile, Default +# First, get the location of the virtual environment, it might not be +# VenvExecDir if specified on the command line. +if ($VenvDir) { + Write-Verbose "VenvDir given as parameter, using '$VenvDir' to determine values" +} +else { + Write-Verbose "VenvDir not given as a parameter, using parent directory name as VenvDir." + $VenvDir = $VenvExecDir.Parent.FullName.TrimEnd("\\/") + Write-Verbose "VenvDir=$VenvDir" +} + +# Next, read the `pyvenv.cfg` file to determine any required value such +# as `prompt`. +$pyvenvCfg = Get-PyVenvConfig -ConfigDir $VenvDir + +# Next, set the prompt from the command line, or the config file, or +# just use the name of the virtual environment folder. +if ($Prompt) { + Write-Verbose "Prompt specified as argument, using '$Prompt'" +} +else { + Write-Verbose "Prompt not specified as argument to script, checking pyvenv.cfg value" + if ($pyvenvCfg -and $pyvenvCfg['prompt']) { + Write-Verbose " Setting based on value in pyvenv.cfg='$($pyvenvCfg['prompt'])'" + $Prompt = $pyvenvCfg['prompt']; + } + else { + Write-Verbose " Setting prompt based on parent's directory's name. (Is the directory name passed to venv module when creating the virutal environment)" + Write-Verbose " Got leaf-name of $VenvDir='$(Split-Path -Path $venvDir -Leaf)'" + $Prompt = Split-Path -Path $venvDir -Leaf + } +} + +Write-Verbose "Prompt = '$Prompt'" +Write-Verbose "VenvDir='$VenvDir'" + +# Deactivate any currently active virtual environment, but leave the +# deactivate function in place. +deactivate -nondestructive + +# Now set the environment variable VIRTUAL_ENV, used by many tools to determine +# that there is an activated venv. +$env:VIRTUAL_ENV = $VenvDir + +if (-not $Env:VIRTUAL_ENV_DISABLE_PROMPT) { + + Write-Verbose "Setting prompt to '$Prompt'" + + # Set the prompt to include the env name + # Make sure _OLD_VIRTUAL_PROMPT is global + function global:_OLD_VIRTUAL_PROMPT { "" } + Copy-Item -Path function:prompt -Destination function:_OLD_VIRTUAL_PROMPT + New-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Description "Python virtual environment prompt prefix" -Scope Global -Option ReadOnly -Visibility Public -Value $Prompt + + function global:prompt { + Write-Host -NoNewline -ForegroundColor Green "($_PYTHON_VENV_PROMPT_PREFIX) " + _OLD_VIRTUAL_PROMPT + } +} + +# Clear PYTHONHOME +if (Test-Path -Path Env:PYTHONHOME) { + Copy-Item -Path Env:PYTHONHOME -Destination Env:_OLD_VIRTUAL_PYTHONHOME + Remove-Item -Path Env:PYTHONHOME +} + +# Add the venv to the PATH +Copy-Item -Path Env:PATH -Destination Env:_OLD_VIRTUAL_PATH +$Env:PATH = "$VenvExecDir$([System.IO.Path]::PathSeparator)$Env:PATH" diff --git a/venv/bin/activate b/venv/bin/activate new file mode 100644 index 0000000..5ee0c70 --- /dev/null +++ b/venv/bin/activate @@ -0,0 +1,76 @@ +# This file must be used with "source bin/activate" *from bash* +# you cannot run it directly + +deactivate () { + # reset old environment variables + if [ -n "${_OLD_VIRTUAL_PATH:-}" ] ; then + PATH="${_OLD_VIRTUAL_PATH:-}" + export PATH + unset _OLD_VIRTUAL_PATH + fi + if [ -n "${_OLD_VIRTUAL_PYTHONHOME:-}" ] ; then + PYTHONHOME="${_OLD_VIRTUAL_PYTHONHOME:-}" + export PYTHONHOME + unset _OLD_VIRTUAL_PYTHONHOME + fi + + # This should detect bash and zsh, which have a hash command that must + # be called to get it to forget past commands. Without forgetting + # past commands the $PATH changes we made may not be respected + if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then + hash -r + fi + + if [ -n "${_OLD_VIRTUAL_PS1:-}" ] ; then + PS1="${_OLD_VIRTUAL_PS1:-}" + export PS1 + unset _OLD_VIRTUAL_PS1 + fi + + unset VIRTUAL_ENV + if [ ! "${1:-}" = "nondestructive" ] ; then + # Self destruct! + unset -f deactivate + fi +} + +# unset irrelevant variables +deactivate nondestructive + +VIRTUAL_ENV="/home/runner/Python/venv" +export VIRTUAL_ENV + +_OLD_VIRTUAL_PATH="$PATH" +PATH="$VIRTUAL_ENV/bin:$PATH" +export PATH + +# unset PYTHONHOME if set +# this will fail if PYTHONHOME is set to the empty string (which is bad anyway) +# could use `if (set -u; : $PYTHONHOME) ;` in bash +if [ -n "${PYTHONHOME:-}" ] ; then + _OLD_VIRTUAL_PYTHONHOME="${PYTHONHOME:-}" + unset PYTHONHOME +fi + +if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT:-}" ] ; then + _OLD_VIRTUAL_PS1="${PS1:-}" + if [ "x(venv) " != x ] ; then + PS1="(venv) ${PS1:-}" + else + if [ "`basename \"$VIRTUAL_ENV\"`" = "__" ] ; then + # special case for Aspen magic directories + # see https://aspen.io/ + PS1="[`basename \`dirname \"$VIRTUAL_ENV\"\``] $PS1" + else + PS1="(`basename \"$VIRTUAL_ENV\"`)$PS1" + fi + fi + export PS1 +fi + +# This should detect bash and zsh, which have a hash command that must +# be called to get it to forget past commands. Without forgetting +# past commands the $PATH changes we made may not be respected +if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then + hash -r +fi diff --git a/venv/bin/activate.csh b/venv/bin/activate.csh new file mode 100644 index 0000000..b98c3ac --- /dev/null +++ b/venv/bin/activate.csh @@ -0,0 +1,37 @@ +# This file must be used with "source bin/activate.csh" *from csh*. +# You cannot run it directly. +# Created by Davide Di Blasi . +# Ported to Python 3.3 venv by Andrew Svetlov + +alias deactivate 'test $?_OLD_VIRTUAL_PATH != 0 && setenv PATH "$_OLD_VIRTUAL_PATH" && unset _OLD_VIRTUAL_PATH; rehash; test $?_OLD_VIRTUAL_PROMPT != 0 && set prompt="$_OLD_VIRTUAL_PROMPT" && unset _OLD_VIRTUAL_PROMPT; unsetenv VIRTUAL_ENV; test "\!:*" != "nondestructive" && unalias deactivate' + +# Unset irrelevant variables. +deactivate nondestructive + +setenv VIRTUAL_ENV "/home/runner/Python/venv" + +set _OLD_VIRTUAL_PATH="$PATH" +setenv PATH "$VIRTUAL_ENV/bin:$PATH" + + +set _OLD_VIRTUAL_PROMPT="$prompt" + +if (! "$?VIRTUAL_ENV_DISABLE_PROMPT") then + if ("venv" != "") then + set env_name = "venv" + else + if (`basename "VIRTUAL_ENV"` == "__") then + # special case for Aspen magic directories + # see https://aspen.io/ + set env_name = `basename \`dirname "$VIRTUAL_ENV"\`` + else + set env_name = `basename "$VIRTUAL_ENV"` + endif + endif + set prompt = "[$env_name] $prompt" + unset env_name +endif + +alias pydoc python -m pydoc + +rehash diff --git a/venv/bin/activate.fish b/venv/bin/activate.fish new file mode 100644 index 0000000..610161c --- /dev/null +++ b/venv/bin/activate.fish @@ -0,0 +1,75 @@ +# This file must be used with ". bin/activate.fish" *from fish* (http://fishshell.org) +# you cannot run it directly + +function deactivate -d "Exit virtualenv and return to normal shell environment" + # reset old environment variables + if test -n "$_OLD_VIRTUAL_PATH" + set -gx PATH $_OLD_VIRTUAL_PATH + set -e _OLD_VIRTUAL_PATH + end + if test -n "$_OLD_VIRTUAL_PYTHONHOME" + set -gx PYTHONHOME $_OLD_VIRTUAL_PYTHONHOME + set -e _OLD_VIRTUAL_PYTHONHOME + end + + if test -n "$_OLD_FISH_PROMPT_OVERRIDE" + functions -e fish_prompt + set -e _OLD_FISH_PROMPT_OVERRIDE + functions -c _old_fish_prompt fish_prompt + functions -e _old_fish_prompt + end + + set -e VIRTUAL_ENV + if test "$argv[1]" != "nondestructive" + # Self destruct! + functions -e deactivate + end +end + +# unset irrelevant variables +deactivate nondestructive + +set -gx VIRTUAL_ENV "/home/runner/Python/venv" + +set -gx _OLD_VIRTUAL_PATH $PATH +set -gx PATH "$VIRTUAL_ENV/bin" $PATH + +# unset PYTHONHOME if set +if set -q PYTHONHOME + set -gx _OLD_VIRTUAL_PYTHONHOME $PYTHONHOME + set -e PYTHONHOME +end + +if test -z "$VIRTUAL_ENV_DISABLE_PROMPT" + # fish uses a function instead of an env var to generate the prompt. + + # save the current fish_prompt function as the function _old_fish_prompt + functions -c fish_prompt _old_fish_prompt + + # with the original prompt function renamed, we can override with our own. + function fish_prompt + # Save the return status of the last command + set -l old_status $status + + # Prompt override? + if test -n "(venv) " + printf "%s%s" "(venv) " (set_color normal) + else + # ...Otherwise, prepend env + set -l _checkbase (basename "$VIRTUAL_ENV") + if test $_checkbase = "__" + # special case for Aspen magic directories + # see https://aspen.io/ + printf "%s[%s]%s " (set_color -b blue white) (basename (dirname "$VIRTUAL_ENV")) (set_color normal) + else + printf "%s(%s)%s" (set_color -b blue white) (basename "$VIRTUAL_ENV") (set_color normal) + end + end + + # Restore the return status of the previous command. + echo "exit $old_status" | . + _old_fish_prompt + end + + set -gx _OLD_FISH_PROMPT_OVERRIDE "$VIRTUAL_ENV" +end diff --git a/venv/bin/doesitcache b/venv/bin/doesitcache new file mode 100755 index 0000000..bbc98fd --- /dev/null +++ b/venv/bin/doesitcache @@ -0,0 +1,8 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +import re +import sys +from cachecontrol._cmd import main +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/venv/bin/f2py b/venv/bin/f2py new file mode 100755 index 0000000..3b487ee --- /dev/null +++ b/venv/bin/f2py @@ -0,0 +1,8 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +import re +import sys +from numpy.f2py.f2py2e import main +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/venv/bin/f2py3 b/venv/bin/f2py3 new file mode 100755 index 0000000..3b487ee --- /dev/null +++ b/venv/bin/f2py3 @@ -0,0 +1,8 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +import re +import sys +from numpy.f2py.f2py2e import main +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/venv/bin/f2py3.8 b/venv/bin/f2py3.8 new file mode 100755 index 0000000..3b487ee --- /dev/null +++ b/venv/bin/f2py3.8 @@ -0,0 +1,8 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +import re +import sys +from numpy.f2py.f2py2e import main +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/venv/bin/flask b/venv/bin/flask new file mode 100755 index 0000000..f0a8a00 --- /dev/null +++ b/venv/bin/flask @@ -0,0 +1,8 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +import re +import sys +from flask.cli import main +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/venv/bin/keyring b/venv/bin/keyring new file mode 100755 index 0000000..6392208 --- /dev/null +++ b/venv/bin/keyring @@ -0,0 +1,8 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +import re +import sys +from keyring.cli import main +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/venv/bin/normalizer b/venv/bin/normalizer new file mode 100755 index 0000000..76e0d54 --- /dev/null +++ b/venv/bin/normalizer @@ -0,0 +1,8 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +import re +import sys +from charset_normalizer.cli.normalizer import cli_detect +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + sys.exit(cli_detect()) diff --git a/venv/bin/pip b/venv/bin/pip new file mode 100755 index 0000000..33e407b --- /dev/null +++ b/venv/bin/pip @@ -0,0 +1,8 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +import re +import sys +from pip._internal.cli.main import main +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) \ No newline at end of file diff --git a/venv/bin/pip3 b/venv/bin/pip3 new file mode 100755 index 0000000..73491e9 --- /dev/null +++ b/venv/bin/pip3 @@ -0,0 +1,8 @@ +#!/home/runner/Python/venv/bin/python3 +# -*- coding: utf-8 -*- +import re +import sys +from pip._internal.cli.main import main +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/venv/bin/pip3.8 b/venv/bin/pip3.8 new file mode 100755 index 0000000..73491e9 --- /dev/null +++ b/venv/bin/pip3.8 @@ -0,0 +1,8 @@ +#!/home/runner/Python/venv/bin/python3 +# -*- coding: utf-8 -*- +import re +import sys +from pip._internal.cli.main import main +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/venv/bin/pkginfo b/venv/bin/pkginfo new file mode 100755 index 0000000..c0d15f5 --- /dev/null +++ b/venv/bin/pkginfo @@ -0,0 +1,8 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +import re +import sys +from pkginfo.commandline import main +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/venv/bin/poetry b/venv/bin/poetry new file mode 100755 index 0000000..f3e8462 --- /dev/null +++ b/venv/bin/poetry @@ -0,0 +1,8 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +import re +import sys +from poetry.console import main +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/venv/bin/pyflakes b/venv/bin/pyflakes new file mode 100755 index 0000000..50934b8 --- /dev/null +++ b/venv/bin/pyflakes @@ -0,0 +1,8 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +import re +import sys +from pyflakes.api import main +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/venv/bin/pylsp b/venv/bin/pylsp new file mode 100755 index 0000000..ba19925 --- /dev/null +++ b/venv/bin/pylsp @@ -0,0 +1,8 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +import re +import sys +from pylsp.__main__ import main +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/venv/bin/python b/venv/bin/python new file mode 120000 index 0000000..b8a0adb --- /dev/null +++ b/venv/bin/python @@ -0,0 +1 @@ +python3 \ No newline at end of file diff --git a/venv/bin/python3 b/venv/bin/python3 new file mode 100755 index 0000000..8d98b7f --- /dev/null +++ b/venv/bin/python3 @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +LD_LIBRARY_PATH="${PYTHON_LD_LIBRARY_PATH}:${LD_LIBRARY_PATH}" exec -a "$0" "${PYTHONBIN}" "$@" \ No newline at end of file diff --git a/venv/bin/python3.8 b/venv/bin/python3.8 new file mode 120000 index 0000000..4c3f910 --- /dev/null +++ b/venv/bin/python3.8 @@ -0,0 +1 @@ +/home/runner/Python/venv/bin/python3 \ No newline at end of file diff --git a/venv/bin/replit b/venv/bin/replit new file mode 100755 index 0000000..99382ee --- /dev/null +++ b/venv/bin/replit @@ -0,0 +1,8 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +import re +import sys +from replit.__main__ import cli +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + sys.exit(cli()) diff --git a/venv/bin/virtualenv b/venv/bin/virtualenv new file mode 100755 index 0000000..73763c2 --- /dev/null +++ b/venv/bin/virtualenv @@ -0,0 +1,8 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +import re +import sys +from virtualenv.__main__ import run_with_catch +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + sys.exit(run_with_catch()) diff --git a/venv/bin/yapf b/venv/bin/yapf new file mode 100755 index 0000000..78deda5 --- /dev/null +++ b/venv/bin/yapf @@ -0,0 +1,8 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +import re +import sys +from yapf import run_main +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + sys.exit(run_main()) diff --git a/venv/bin/yapf-diff b/venv/bin/yapf-diff new file mode 100755 index 0000000..99a641c --- /dev/null +++ b/venv/bin/yapf-diff @@ -0,0 +1,8 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +import re +import sys +from yapf.third_party.yapf_diff.yapf_diff import main +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/venv/lib/python3.8/site-packages/CacheControl-0.12.11.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/CacheControl-0.12.11.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/CacheControl-0.12.11.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/CacheControl-0.12.11.dist-info/LICENSE.txt b/venv/lib/python3.8/site-packages/CacheControl-0.12.11.dist-info/LICENSE.txt new file mode 120000 index 0000000..5472bbf --- /dev/null +++ b/venv/lib/python3.8/site-packages/CacheControl-0.12.11.dist-info/LICENSE.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/86/ee/ee/87be2a43f3ff1f56496f451f69243926f025fedbb033666c304c4c161b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/CacheControl-0.12.11.dist-info/METADATA b/venv/lib/python3.8/site-packages/CacheControl-0.12.11.dist-info/METADATA new file mode 120000 index 0000000..838d82f --- /dev/null +++ b/venv/lib/python3.8/site-packages/CacheControl-0.12.11.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9b/7d/e2/dc2ad8512710e874c92456698b083c5d18eeb270db33f3c05c5d717777 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/CacheControl-0.12.11.dist-info/RECORD b/venv/lib/python3.8/site-packages/CacheControl-0.12.11.dist-info/RECORD new file mode 100644 index 0000000..531e720 --- /dev/null +++ b/venv/lib/python3.8/site-packages/CacheControl-0.12.11.dist-info/RECORD @@ -0,0 +1,34 @@ +../../../bin/doesitcache,sha256=1RWmJD4ag9idCYwglvOznVpra4pzgRqnBTbglKKmubo,220 +CacheControl-0.12.11.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +CacheControl-0.12.11.dist-info/LICENSE.txt,sha256=hu7uh74qQ_P_H1ZJb0UfaSQ5JvAl_tuwM2ZsMExMFhs,558 +CacheControl-0.12.11.dist-info/METADATA,sha256=m33i3CrYUScQ6HTJJFZpiwg8XRjusnDbM_PAXF1xd3c,2218 +CacheControl-0.12.11.dist-info/RECORD,, +CacheControl-0.12.11.dist-info/WHEEL,sha256=WzZ8cwjh8l0jtULNjYq1Hpr-WCqCRgPr--TX4P5I1Wo,110 +CacheControl-0.12.11.dist-info/entry_points.txt,sha256=HjCekaRCv8kfNqP5WehMR29IWxIA5VrhoOeKrCykCLc,56 +CacheControl-0.12.11.dist-info/top_level.txt,sha256=vGYWzpbe3h6gkakV4f7iCK2x3KyK3oMkV5pe5v25-d4,13 +cachecontrol/__init__.py,sha256=hrxlv3q7upsfyMw8k3gQ9vagBax1pYHSGGqYlZ0Zk0M,465 +cachecontrol/__pycache__/__init__.cpython-38.pyc,, +cachecontrol/__pycache__/_cmd.cpython-38.pyc,, +cachecontrol/__pycache__/adapter.cpython-38.pyc,, +cachecontrol/__pycache__/cache.cpython-38.pyc,, +cachecontrol/__pycache__/compat.cpython-38.pyc,, +cachecontrol/__pycache__/controller.cpython-38.pyc,, +cachecontrol/__pycache__/filewrapper.cpython-38.pyc,, +cachecontrol/__pycache__/heuristics.cpython-38.pyc,, +cachecontrol/__pycache__/serialize.cpython-38.pyc,, +cachecontrol/__pycache__/wrapper.cpython-38.pyc,, +cachecontrol/_cmd.py,sha256=HjFJdGgPOLsvS_5e8BvqYrweXJj1gR7dSsqCB1X24uw,1326 +cachecontrol/adapter.py,sha256=du8CsHKttAWL9-pWmSvyNDVzHrH-qfiSOgo6fcanM-0,5021 +cachecontrol/cache.py,sha256=Tty45fOjH40fColTGkqKQvQQmbYsMpk-nCyfLcv2vG4,1535 +cachecontrol/caches/__init__.py,sha256=h-1cUmOz6mhLsjTjOrJ8iPejpGdLCyG4lzTftfGZvLg,242 +cachecontrol/caches/__pycache__/__init__.cpython-38.pyc,, +cachecontrol/caches/__pycache__/file_cache.cpython-38.pyc,, +cachecontrol/caches/__pycache__/redis_cache.cpython-38.pyc,, +cachecontrol/caches/file_cache.py,sha256=GpexcE29LoY4MaZwPUTcUBZaDdcsjqyLxZFznk8Hbr4,5271 +cachecontrol/caches/redis_cache.py,sha256=bGKAU0IOcJUFmU_blBI3w6zKj1L4IyfDPmLNyzjp_y4,1021 +cachecontrol/compat.py,sha256=JOVKyIibp8nNq3jAbv7nXBsNOtXHVEKPh5u8r2qLGVo,730 +cachecontrol/controller.py,sha256=6jyT4j4LFsIvfDeSFD6xKK15RCOInwE2Nr8Ug7ICtww,16404 +cachecontrol/filewrapper.py,sha256=X4BAQOO26GNOR7nH_fhTzAfeuct2rBQcx_15MyFBpcs,3946 +cachecontrol/heuristics.py,sha256=8kAyuZLSCyEIgQr6vbUwfhpqg9ows4mM0IV6DWazevI,4154 +cachecontrol/serialize.py,sha256=qbMVbnUSDuQRlJWTn6-CKrXYShaUn9dSigtvtAaI3xA,7076 +cachecontrol/wrapper.py,sha256=X3-KMZ20Ho3VtqyVaXclpeQpFzokR5NE8tZSfvKVaB8,774 diff --git a/venv/lib/python3.8/site-packages/CacheControl-0.12.11.dist-info/WHEEL b/venv/lib/python3.8/site-packages/CacheControl-0.12.11.dist-info/WHEEL new file mode 120000 index 0000000..cd83a08 --- /dev/null +++ b/venv/lib/python3.8/site-packages/CacheControl-0.12.11.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5b/36/7c/7308e1f25d23b542cd8d8ab51e9afe582a824603ebfbe4d7e0fe48d56a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/CacheControl-0.12.11.dist-info/entry_points.txt b/venv/lib/python3.8/site-packages/CacheControl-0.12.11.dist-info/entry_points.txt new file mode 120000 index 0000000..d1e5058 --- /dev/null +++ b/venv/lib/python3.8/site-packages/CacheControl-0.12.11.dist-info/entry_points.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1e/30/9e/91a442bfc91f36a3f959e84c476f485b1200e55ae1a0e78aac2ca408b7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/CacheControl-0.12.11.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/CacheControl-0.12.11.dist-info/top_level.txt new file mode 120000 index 0000000..bd1b302 --- /dev/null +++ b/venv/lib/python3.8/site-packages/CacheControl-0.12.11.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bc/66/16/ce96dede1ea091a915e1fee208adb1dcac8ade8324579a5ee6fdb9f9de \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/Flask-2.2.2.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/Flask-2.2.2.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/Flask-2.2.2.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/Flask-2.2.2.dist-info/LICENSE.rst b/venv/lib/python3.8/site-packages/Flask-2.2.2.dist-info/LICENSE.rst new file mode 120000 index 0000000..59fa4ff --- /dev/null +++ b/venv/lib/python3.8/site-packages/Flask-2.2.2.dist-info/LICENSE.rst @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/48/9a/8e/1108509ed98a37bb983e11e0f7e1d31f0bd8f99a79c8448e7ff37d07ea \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/Flask-2.2.2.dist-info/METADATA b/venv/lib/python3.8/site-packages/Flask-2.2.2.dist-info/METADATA new file mode 120000 index 0000000..705d2f6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/Flask-2.2.2.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/51/78/b0/44b0f58e885dfed1a560e94e2979091481bcd9e851ddbc6a8785d61700 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/Flask-2.2.2.dist-info/RECORD b/venv/lib/python3.8/site-packages/Flask-2.2.2.dist-info/RECORD new file mode 100644 index 0000000..7b2da9a --- /dev/null +++ b/venv/lib/python3.8/site-packages/Flask-2.2.2.dist-info/RECORD @@ -0,0 +1,55 @@ +../../../bin/flask,sha256=zlX3XNioVdWkhNN06HgSDjOrwShMB-zWhkA5sJxFe80,212 +Flask-2.2.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +Flask-2.2.2.dist-info/LICENSE.rst,sha256=SJqOEQhQntmKN7uYPhHg9-HTHwvY-Zp5yESOf_N9B-o,1475 +Flask-2.2.2.dist-info/METADATA,sha256=UXiwRLD1johd_tGlYOlOKXkJFIG82ehR3bxqh4XWFwA,3889 +Flask-2.2.2.dist-info/RECORD,, +Flask-2.2.2.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +Flask-2.2.2.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92 +Flask-2.2.2.dist-info/direct_url.json,sha256=XQThV3oowNgaIZZmWxUJextrVvDo0775OG4dV8O9u8U,247 +Flask-2.2.2.dist-info/entry_points.txt,sha256=s3MqQpduU25y4dq3ftBYD6bMVdVnbMpZP-sUNw0zw0k,41 +Flask-2.2.2.dist-info/top_level.txt,sha256=dvi65F6AeGWVU0TBpYiC04yM60-FX1gJFkK31IKQr5c,6 +flask/__init__.py,sha256=Y4mEWqAMxj_Oxq9eYv3tWyN-0nU9yVKBGK_t6BxqvvM,2890 +flask/__main__.py,sha256=bYt9eEaoRQWdejEHFD8REx9jxVEdZptECFsV7F49Ink,30 +flask/__pycache__/__init__.cpython-38.pyc,, +flask/__pycache__/__main__.cpython-38.pyc,, +flask/__pycache__/app.cpython-38.pyc,, +flask/__pycache__/blueprints.cpython-38.pyc,, +flask/__pycache__/cli.cpython-38.pyc,, +flask/__pycache__/config.cpython-38.pyc,, +flask/__pycache__/ctx.cpython-38.pyc,, +flask/__pycache__/debughelpers.cpython-38.pyc,, +flask/__pycache__/globals.cpython-38.pyc,, +flask/__pycache__/helpers.cpython-38.pyc,, +flask/__pycache__/logging.cpython-38.pyc,, +flask/__pycache__/scaffold.cpython-38.pyc,, +flask/__pycache__/sessions.cpython-38.pyc,, +flask/__pycache__/signals.cpython-38.pyc,, +flask/__pycache__/templating.cpython-38.pyc,, +flask/__pycache__/testing.cpython-38.pyc,, +flask/__pycache__/typing.cpython-38.pyc,, +flask/__pycache__/views.cpython-38.pyc,, +flask/__pycache__/wrappers.cpython-38.pyc,, +flask/app.py,sha256=VfBcGmEVveMcSajkUmDXCEOvAd-2mIBJ355KicvQ4gE,99025 +flask/blueprints.py,sha256=Jbrt-2jlLiFklC3De9EWBioPtDjHYYbXlTDK9Z7L2nk,26936 +flask/cli.py,sha256=foLlD8NiIXcxpxMmRQvvlZPbVM8pxOaJG3sa58c9dAA,33486 +flask/config.py,sha256=IWqHecH4poDxNEUg4U_ZA1CTlL5BKZDX3ofG4UGYyi0,12584 +flask/ctx.py,sha256=ZOGEWuFjsCIk3vm-C9pLME0e4saeBkeGpr2tTSvemSM,14851 +flask/debughelpers.py,sha256=_RvAL3TW5lqMJeCVWtTU6rSDJC7jnRaBL6OEkVmooyU,5511 +flask/globals.py,sha256=1DLZMi8Su-S1gf8zEiR3JPi6VXYIrYqm8C9__Ly66ss,3187 +flask/helpers.py,sha256=ELq27745jihrdyAP9qY8KENlCVDdnWRWTIn35L9a-UU,25334 +flask/json/__init__.py,sha256=TOwldHT3_kFaXHlORKi9yCWt7dbPNB0ovdHHQWlSRzY,11175 +flask/json/__pycache__/__init__.cpython-38.pyc,, +flask/json/__pycache__/provider.cpython-38.pyc,, +flask/json/__pycache__/tag.cpython-38.pyc,, +flask/json/provider.py,sha256=jXCNypf11PN4ngQjEt6LnSdCWQ1yHIAkNLHlXQlCB-A,10674 +flask/json/tag.py,sha256=fys3HBLssWHuMAIJuTcf2K0bCtosePBKXIWASZEEjnU,8857 +flask/logging.py,sha256=WYng0bLTRS_CJrocGcCLJpibHf1lygHE_pg-KoUIQ4w,2293 +flask/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +flask/scaffold.py,sha256=tiQRK-vMY5nucoN6pewXF87GaxrltsCGOgTVsT6wm7s,33443 +flask/sessions.py,sha256=66oGlE-v9iac-eb54tFN3ILAjJ1FeeuHHWw98UVaoxc,15847 +flask/signals.py,sha256=H7QwDciK-dtBxinjKpexpglP0E6k0MJILiFWTItfmqU,2136 +flask/templating.py,sha256=1P4OzvSnA2fsJTYgQT3G4owVKsuOz8XddCiR6jMHGJ0,7419 +flask/testing.py,sha256=p51f9P7jDc_IDSiZug7jypnfVcxsQrMg3B2tnjlpEFw,10596 +flask/typing.py,sha256=KgxegTF9v9WvuongeF8LooIvpZPauzGrq9ZXf3gBlYc,2969 +flask/views.py,sha256=bveWilivkPP-4HB9w_fOusBz6sHNIl0QTqKUFMCltzE,6738 +flask/wrappers.py,sha256=Wa-bhjNdPPveSHS1dpzD_r-ayZxIYFF1DoWncKOafrk,5695 diff --git a/venv/lib/python3.8/site-packages/Flask-2.2.2.dist-info/REQUESTED b/venv/lib/python3.8/site-packages/Flask-2.2.2.dist-info/REQUESTED new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.8/site-packages/Flask-2.2.2.dist-info/WHEEL b/venv/lib/python3.8/site-packages/Flask-2.2.2.dist-info/WHEEL new file mode 120000 index 0000000..7e89bc1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/Flask-2.2.2.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1b/5e/87/e00dc87a84269cead8578b9e6462928e18a95f1f3373c9eef451a5bcc0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/Flask-2.2.2.dist-info/direct_url.json b/venv/lib/python3.8/site-packages/Flask-2.2.2.dist-info/direct_url.json new file mode 100644 index 0000000..efc238d --- /dev/null +++ b/venv/lib/python3.8/site-packages/Flask-2.2.2.dist-info/direct_url.json @@ -0,0 +1 @@ +{"archive_info": {"hash": "sha256=b9c46cc36662a7949f34b52d8ec7bb59c0d74ba08ba6cb9ce9adc1d8676d9526"}, "url": "https://files.pythonhosted.org/packages/0f/43/15f4f9ab225b0b25352412e8daa3d0e3d135fcf5e127070c74c3632c8b4c/Flask-2.2.2-py3-none-any.whl"} \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/Flask-2.2.2.dist-info/entry_points.txt b/venv/lib/python3.8/site-packages/Flask-2.2.2.dist-info/entry_points.txt new file mode 120000 index 0000000..47a4075 --- /dev/null +++ b/venv/lib/python3.8/site-packages/Flask-2.2.2.dist-info/entry_points.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b3/73/2a/42976e536e72e1dab77ed0580fa6cc55d5676cca593feb14370d33c349 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/Flask-2.2.2.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/Flask-2.2.2.dist-info/top_level.txt new file mode 120000 index 0000000..9ac1d61 --- /dev/null +++ b/venv/lib/python3.8/site-packages/Flask-2.2.2.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/76/f8/ba/e45e807865955344c1a58882d38c8ceb4f855f58091642b7d48290af97 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/Jinja2-3.1.2.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/Jinja2-3.1.2.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/Jinja2-3.1.2.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/Jinja2-3.1.2.dist-info/LICENSE.rst b/venv/lib/python3.8/site-packages/Jinja2-3.1.2.dist-info/LICENSE.rst new file mode 120000 index 0000000..f3f3fde --- /dev/null +++ b/venv/lib/python3.8/site-packages/Jinja2-3.1.2.dist-info/LICENSE.rst @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3b/49/dc/ee4105eb37bac10faf1be260408fe85d252b8e9df2e0979fc1e094437b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/Jinja2-3.1.2.dist-info/METADATA b/venv/lib/python3.8/site-packages/Jinja2-3.1.2.dist-info/METADATA new file mode 120000 index 0000000..0eb7524 --- /dev/null +++ b/venv/lib/python3.8/site-packages/Jinja2-3.1.2.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3d/9e/af/d9222274c362c51ecc4545fd7fb656b0fc2d5da9e49ea89952645b8785 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/Jinja2-3.1.2.dist-info/RECORD b/venv/lib/python3.8/site-packages/Jinja2-3.1.2.dist-info/RECORD new file mode 100644 index 0000000..299ed1a --- /dev/null +++ b/venv/lib/python3.8/site-packages/Jinja2-3.1.2.dist-info/RECORD @@ -0,0 +1,60 @@ +Jinja2-3.1.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +Jinja2-3.1.2.dist-info/LICENSE.rst,sha256=O0nc7kEF6ze6wQ-vG-JgQI_oXSUrjp3y4JefweCUQ3s,1475 +Jinja2-3.1.2.dist-info/METADATA,sha256=PZ6v2SIidMNixR7MRUX9f7ZWsPwtXanknqiZUmRbh4U,3539 +Jinja2-3.1.2.dist-info/RECORD,, +Jinja2-3.1.2.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +Jinja2-3.1.2.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92 +Jinja2-3.1.2.dist-info/direct_url.json,sha256=K69RefqBEWYZc2jmGN4sRKonqLehuYqbwRV1o7hAygU,248 +Jinja2-3.1.2.dist-info/entry_points.txt,sha256=zRd62fbqIyfUpsRtU7EVIFyiu1tPwfgO7EvPErnxgTE,59 +Jinja2-3.1.2.dist-info/top_level.txt,sha256=PkeVWtLb3-CqjWi1fO29OCbj55EhX_chhKrCdrVe_zs,7 +jinja2/__init__.py,sha256=8vGduD8ytwgD6GDSqpYc2m3aU-T7PKOAddvVXgGr_Fs,1927 +jinja2/__pycache__/__init__.cpython-38.pyc,, +jinja2/__pycache__/_identifier.cpython-38.pyc,, +jinja2/__pycache__/async_utils.cpython-38.pyc,, +jinja2/__pycache__/bccache.cpython-38.pyc,, +jinja2/__pycache__/compiler.cpython-38.pyc,, +jinja2/__pycache__/constants.cpython-38.pyc,, +jinja2/__pycache__/debug.cpython-38.pyc,, +jinja2/__pycache__/defaults.cpython-38.pyc,, +jinja2/__pycache__/environment.cpython-38.pyc,, +jinja2/__pycache__/exceptions.cpython-38.pyc,, +jinja2/__pycache__/ext.cpython-38.pyc,, +jinja2/__pycache__/filters.cpython-38.pyc,, +jinja2/__pycache__/idtracking.cpython-38.pyc,, +jinja2/__pycache__/lexer.cpython-38.pyc,, +jinja2/__pycache__/loaders.cpython-38.pyc,, +jinja2/__pycache__/meta.cpython-38.pyc,, +jinja2/__pycache__/nativetypes.cpython-38.pyc,, +jinja2/__pycache__/nodes.cpython-38.pyc,, +jinja2/__pycache__/optimizer.cpython-38.pyc,, +jinja2/__pycache__/parser.cpython-38.pyc,, +jinja2/__pycache__/runtime.cpython-38.pyc,, +jinja2/__pycache__/sandbox.cpython-38.pyc,, +jinja2/__pycache__/tests.cpython-38.pyc,, +jinja2/__pycache__/utils.cpython-38.pyc,, +jinja2/__pycache__/visitor.cpython-38.pyc,, +jinja2/_identifier.py,sha256=_zYctNKzRqlk_murTNlzrju1FFJL7Va_Ijqqd7ii2lU,1958 +jinja2/async_utils.py,sha256=dHlbTeaxFPtAOQEYOGYh_PHcDT0rsDaUJAFDl_0XtTg,2472 +jinja2/bccache.py,sha256=mhz5xtLxCcHRAa56azOhphIAe19u1we0ojifNMClDio,14061 +jinja2/compiler.py,sha256=Gs-N8ThJ7OWK4-reKoO8Wh1ZXz95MVphBKNVf75qBr8,72172 +jinja2/constants.py,sha256=GMoFydBF_kdpaRKPoM5cl5MviquVRLVyZtfp5-16jg0,1433 +jinja2/debug.py,sha256=iWJ432RadxJNnaMOPrjIDInz50UEgni3_HKuFXi2vuQ,6299 +jinja2/defaults.py,sha256=boBcSw78h-lp20YbaXSJsqkAI2uN_mD_TtCydpeq5wU,1267 +jinja2/environment.py,sha256=6uHIcc7ZblqOMdx_uYNKqRnnwAF0_nzbyeMP9FFtuh4,61349 +jinja2/exceptions.py,sha256=ioHeHrWwCWNaXX1inHmHVblvc4haO7AXsjCp3GfWvx0,5071 +jinja2/ext.py,sha256=ivr3P7LKbddiXDVez20EflcO3q2aHQwz9P_PgWGHVqE,31502 +jinja2/filters.py,sha256=9js1V-h2RlyW90IhLiBGLM2U-k6SCy2F4BUUMgB3K9Q,53509 +jinja2/idtracking.py,sha256=GfNmadir4oDALVxzn3DL9YInhJDr69ebXeA2ygfuCGA,10704 +jinja2/lexer.py,sha256=DW2nX9zk-6MWp65YR2bqqj0xqCvLtD-u9NWT8AnFRxQ,29726 +jinja2/loaders.py,sha256=BfptfvTVpClUd-leMkHczdyPNYFzp_n7PKOJ98iyHOg,23207 +jinja2/meta.py,sha256=GNPEvifmSaU3CMxlbheBOZjeZ277HThOPUTf1RkppKQ,4396 +jinja2/nativetypes.py,sha256=DXgORDPRmVWgy034H0xL8eF7qYoK3DrMxs-935d0Fzk,4226 +jinja2/nodes.py,sha256=i34GPRAZexXMT6bwuf5SEyvdmS-bRCy9KMjwN5O6pjk,34550 +jinja2/optimizer.py,sha256=tHkMwXxfZkbfA1KmLcqmBMSaz7RLIvvItrJcPoXTyD8,1650 +jinja2/parser.py,sha256=nHd-DFHbiygvfaPtm9rcQXJChZG7DPsWfiEsqfwKerY,39595 +jinja2/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jinja2/runtime.py,sha256=5CmD5BjbEJxSiDNTFBeKCaq8qU4aYD2v6q2EluyExms,33476 +jinja2/sandbox.py,sha256=Y0xZeXQnH6EX5VjaV2YixESxoepnRbW_3UeQosaBU3M,14584 +jinja2/tests.py,sha256=Am5Z6Lmfr2XaH_npIfJJ8MdXtWsbLjMULZJulTAj30E,5905 +jinja2/utils.py,sha256=u9jXESxGn8ATZNVolwmkjUVu4SA-tLgV0W7PcSfPfdQ,23965 +jinja2/visitor.py,sha256=MH14C6yq24G_KVtWzjwaI7Wg14PCJIYlWW1kpkxYak0,3568 diff --git a/venv/lib/python3.8/site-packages/Jinja2-3.1.2.dist-info/REQUESTED b/venv/lib/python3.8/site-packages/Jinja2-3.1.2.dist-info/REQUESTED new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.8/site-packages/Jinja2-3.1.2.dist-info/WHEEL b/venv/lib/python3.8/site-packages/Jinja2-3.1.2.dist-info/WHEEL new file mode 120000 index 0000000..7e89bc1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/Jinja2-3.1.2.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1b/5e/87/e00dc87a84269cead8578b9e6462928e18a95f1f3373c9eef451a5bcc0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/Jinja2-3.1.2.dist-info/direct_url.json b/venv/lib/python3.8/site-packages/Jinja2-3.1.2.dist-info/direct_url.json new file mode 100644 index 0000000..cd884a0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/Jinja2-3.1.2.dist-info/direct_url.json @@ -0,0 +1 @@ +{"archive_info": {"hash": "sha256=6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"}, "url": "https://files.pythonhosted.org/packages/bc/c3/f068337a370801f372f2f8f6bad74a5c140f6fda3d9de154052708dd3c65/Jinja2-3.1.2-py3-none-any.whl"} \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/Jinja2-3.1.2.dist-info/entry_points.txt b/venv/lib/python3.8/site-packages/Jinja2-3.1.2.dist-info/entry_points.txt new file mode 120000 index 0000000..6cc98ee --- /dev/null +++ b/venv/lib/python3.8/site-packages/Jinja2-3.1.2.dist-info/entry_points.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cd/17/7a/d9f6ea2327d4a6c46d53b115205ca2bb5b4fc1f80eec4bcf12b9f18131 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/Jinja2-3.1.2.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/Jinja2-3.1.2.dist-info/top_level.txt new file mode 120000 index 0000000..18adf25 --- /dev/null +++ b/venv/lib/python3.8/site-packages/Jinja2-3.1.2.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3e/47/95/5ad2dbdfe0aa8d68b57cedbd3826e3e791215ff72184aac276b55eff3b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/MarkupSafe-2.1.1.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/MarkupSafe-2.1.1.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/MarkupSafe-2.1.1.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/MarkupSafe-2.1.1.dist-info/LICENSE.rst b/venv/lib/python3.8/site-packages/MarkupSafe-2.1.1.dist-info/LICENSE.rst new file mode 120000 index 0000000..59fa4ff --- /dev/null +++ b/venv/lib/python3.8/site-packages/MarkupSafe-2.1.1.dist-info/LICENSE.rst @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/48/9a/8e/1108509ed98a37bb983e11e0f7e1d31f0bd8f99a79c8448e7ff37d07ea \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/MarkupSafe-2.1.1.dist-info/METADATA b/venv/lib/python3.8/site-packages/MarkupSafe-2.1.1.dist-info/METADATA new file mode 120000 index 0000000..5c6018a --- /dev/null +++ b/venv/lib/python3.8/site-packages/MarkupSafe-2.1.1.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0c/2f/77/56cce6ce32d072b542851523b56e176d4c234dd6daa65a607656c575bb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/MarkupSafe-2.1.1.dist-info/RECORD b/venv/lib/python3.8/site-packages/MarkupSafe-2.1.1.dist-info/RECORD new file mode 100644 index 0000000..bc1092a --- /dev/null +++ b/venv/lib/python3.8/site-packages/MarkupSafe-2.1.1.dist-info/RECORD @@ -0,0 +1,16 @@ +MarkupSafe-2.1.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +MarkupSafe-2.1.1.dist-info/LICENSE.rst,sha256=SJqOEQhQntmKN7uYPhHg9-HTHwvY-Zp5yESOf_N9B-o,1475 +MarkupSafe-2.1.1.dist-info/METADATA,sha256=DC93VszmzjLQcrVChRUjtW4XbUwjTdbaplpgdlbFdbs,3242 +MarkupSafe-2.1.1.dist-info/RECORD,, +MarkupSafe-2.1.1.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +MarkupSafe-2.1.1.dist-info/WHEEL,sha256=paN2rHE-sLfyg0Z4YvQnentMRWXxZnkclRDH8E5J6qk,148 +MarkupSafe-2.1.1.dist-info/direct_url.json,sha256=lu1LRSarKVNGdEHSIPeAB6MRhFGfseT-AhWcoOUVDuk,292 +MarkupSafe-2.1.1.dist-info/top_level.txt,sha256=qy0Plje5IJuvsCBjejJyhDCjEAdcDLK_2agVcex8Z6U,11 +markupsafe/__init__.py,sha256=xfaUQkKNRTdYWe6HnnJ2HjguFmS-C_0H6g8-Q9VAfkQ,9284 +markupsafe/__pycache__/__init__.cpython-38.pyc,, +markupsafe/__pycache__/_native.cpython-38.pyc,, +markupsafe/_native.py,sha256=GR86Qvo_GcgKmKreA1WmYN9ud17OFwkww8E-fiW-57s,1713 +markupsafe/_speedups.c,sha256=X2XvQVtIdcK4Usz70BvkzoOfjTCmQlDkkjYSn-swE0g,7083 +markupsafe/_speedups.cpython-38-x86_64-linux-gnu.so,sha256=gBmi2f9vNFVvJs2gdtjYKwK0tIgrxEqVUMbyL-1roRo,45008 +markupsafe/_speedups.pyi,sha256=vfMCsOgbAXRNLUXkyuyonG8uEWKYU4PDqNuMaDELAYw,229 +markupsafe/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 diff --git a/venv/lib/python3.8/site-packages/MarkupSafe-2.1.1.dist-info/REQUESTED b/venv/lib/python3.8/site-packages/MarkupSafe-2.1.1.dist-info/REQUESTED new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.8/site-packages/MarkupSafe-2.1.1.dist-info/WHEEL b/venv/lib/python3.8/site-packages/MarkupSafe-2.1.1.dist-info/WHEEL new file mode 120000 index 0000000..895e565 --- /dev/null +++ b/venv/lib/python3.8/site-packages/MarkupSafe-2.1.1.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a5/a3/76/ac713eb0b7f283467862f4277a7b4c4565f166791c9510c7f04e49eaa9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/MarkupSafe-2.1.1.dist-info/direct_url.json b/venv/lib/python3.8/site-packages/MarkupSafe-2.1.1.dist-info/direct_url.json new file mode 100644 index 0000000..c1daa6a --- /dev/null +++ b/venv/lib/python3.8/site-packages/MarkupSafe-2.1.1.dist-info/direct_url.json @@ -0,0 +1 @@ +{"archive_info": {"hash": "sha256=4b9fe39a2ccc108a4accc2676e77da025ce383c108593d65cc909add5c3bd601"}, "url": "https://files.pythonhosted.org/packages/fd/f4/524d2e8f5a3727cf309c2b7df7c732038375322df1376c9e9ef3aa92fcaf/MarkupSafe-2.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"} \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/MarkupSafe-2.1.1.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/MarkupSafe-2.1.1.dist-info/top_level.txt new file mode 120000 index 0000000..303dd63 --- /dev/null +++ b/venv/lib/python3.8/site-packages/MarkupSafe-2.1.1.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ab/2d/0f/9637b9209bafb020637a32728430a310075c0cb2bfd9a81571ec7c67a5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/SecretStorage-3.3.3.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/SecretStorage-3.3.3.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/SecretStorage-3.3.3.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/SecretStorage-3.3.3.dist-info/LICENSE b/venv/lib/python3.8/site-packages/SecretStorage-3.3.3.dist-info/LICENSE new file mode 120000 index 0000000..3f2e66f --- /dev/null +++ b/venv/lib/python3.8/site-packages/SecretStorage-3.3.3.dist-info/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/70/f6/bf/ca77633c35efa218328eda5486d7054c2914d61820980e378797520a25 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/SecretStorage-3.3.3.dist-info/METADATA b/venv/lib/python3.8/site-packages/SecretStorage-3.3.3.dist-info/METADATA new file mode 120000 index 0000000..409b0df --- /dev/null +++ b/venv/lib/python3.8/site-packages/SecretStorage-3.3.3.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/65/27/03/e6fa0482399ed38c25c3d3998a01123312dadb11bf79a21e67f20ca892 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/SecretStorage-3.3.3.dist-info/RECORD b/venv/lib/python3.8/site-packages/SecretStorage-3.3.3.dist-info/RECORD new file mode 100644 index 0000000..c55c1d7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/SecretStorage-3.3.3.dist-info/RECORD @@ -0,0 +1,21 @@ +SecretStorage-3.3.3.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +SecretStorage-3.3.3.dist-info/LICENSE,sha256=cPa_yndjPDXvohgyjtpUhtcFTCkU1hggmA43h5dSCiU,1504 +SecretStorage-3.3.3.dist-info/METADATA,sha256=ZScD5voEgjme04wlw9OZigESMxLa2xG_eaIeZ_IMqJI,4027 +SecretStorage-3.3.3.dist-info/RECORD,, +SecretStorage-3.3.3.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92 +SecretStorage-3.3.3.dist-info/top_level.txt,sha256=hveSi1OWGaEt3kEVbjmZ0M-ASPxi6y-nTPVa-d3c0B4,14 +secretstorage/__init__.py,sha256=W1p-HB1Qh12Dv6K8ml0Wj_MzN09_dEeezJjQZAHf-O4,3364 +secretstorage/__pycache__/__init__.cpython-38.pyc,, +secretstorage/__pycache__/collection.cpython-38.pyc,, +secretstorage/__pycache__/defines.cpython-38.pyc,, +secretstorage/__pycache__/dhcrypto.cpython-38.pyc,, +secretstorage/__pycache__/exceptions.cpython-38.pyc,, +secretstorage/__pycache__/item.cpython-38.pyc,, +secretstorage/__pycache__/util.cpython-38.pyc,, +secretstorage/collection.py,sha256=lHwSOkFO5sRspgcUBoBI8ZG2au2bcUSO6X64ksVdnsQ,9436 +secretstorage/defines.py,sha256=DzUrEWzSvBlN8kK2nVXnLGlCZv7HWNyfN1AYqRmjKGE,807 +secretstorage/dhcrypto.py,sha256=BiuDoNvNmd8i7Ul4ENouRnbqFE3SUmTUSAn6RVvn7Tg,2578 +secretstorage/exceptions.py,sha256=1uUZXTua4jRZf4PKDIT2SVWcSKP2lP97s8r3eJZudio,1655 +secretstorage/item.py,sha256=3niFSjOzwrB2hV1jrg78RXgBsTrpw44852VpZHXUpeE,5813 +secretstorage/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +secretstorage/util.py,sha256=vHu01QaooMQ5sRdRDFX9pg7rrzfJWF9vg0plm3Zg0Po,6755 diff --git a/venv/lib/python3.8/site-packages/SecretStorage-3.3.3.dist-info/WHEEL b/venv/lib/python3.8/site-packages/SecretStorage-3.3.3.dist-info/WHEEL new file mode 120000 index 0000000..7e89bc1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/SecretStorage-3.3.3.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1b/5e/87/e00dc87a84269cead8578b9e6462928e18a95f1f3373c9eef451a5bcc0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/SecretStorage-3.3.3.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/SecretStorage-3.3.3.dist-info/top_level.txt new file mode 120000 index 0000000..bf545c4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/SecretStorage-3.3.3.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/86/f7/92/8b539619a12dde41156e3999d0cf8048fc62eb2fa74cf55af9dddcd01e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/Werkzeug-2.2.2.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/Werkzeug-2.2.2.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/Werkzeug-2.2.2.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/Werkzeug-2.2.2.dist-info/LICENSE.rst b/venv/lib/python3.8/site-packages/Werkzeug-2.2.2.dist-info/LICENSE.rst new file mode 120000 index 0000000..f3f3fde --- /dev/null +++ b/venv/lib/python3.8/site-packages/Werkzeug-2.2.2.dist-info/LICENSE.rst @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3b/49/dc/ee4105eb37bac10faf1be260408fe85d252b8e9df2e0979fc1e094437b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/Werkzeug-2.2.2.dist-info/METADATA b/venv/lib/python3.8/site-packages/Werkzeug-2.2.2.dist-info/METADATA new file mode 120000 index 0000000..b65ad8b --- /dev/null +++ b/venv/lib/python3.8/site-packages/Werkzeug-2.2.2.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/87/3e/36/9dda2f110432debc172990f047b2c0e1436d84a7a0c5fffbc4842b8ec3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/Werkzeug-2.2.2.dist-info/RECORD b/venv/lib/python3.8/site-packages/Werkzeug-2.2.2.dist-info/RECORD new file mode 100644 index 0000000..2dd672f --- /dev/null +++ b/venv/lib/python3.8/site-packages/Werkzeug-2.2.2.dist-info/RECORD @@ -0,0 +1,100 @@ +Werkzeug-2.2.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +Werkzeug-2.2.2.dist-info/LICENSE.rst,sha256=O0nc7kEF6ze6wQ-vG-JgQI_oXSUrjp3y4JefweCUQ3s,1475 +Werkzeug-2.2.2.dist-info/METADATA,sha256=hz42ndovEQQy3rwXKZDwR7LA4UNthKegxf_7xIQrjsM,4416 +Werkzeug-2.2.2.dist-info/RECORD,, +Werkzeug-2.2.2.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +Werkzeug-2.2.2.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92 +Werkzeug-2.2.2.dist-info/direct_url.json,sha256=FoJYomfozkB3vuoCfDo9EYCyp2suDRKGjub8ZOZZBdA,250 +Werkzeug-2.2.2.dist-info/top_level.txt,sha256=QRyj2VjwJoQkrwjwFIOlB8Xg3r9un0NtqVHQF-15xaw,9 +werkzeug/__init__.py,sha256=UP218Ddd2NYm1dUhTlhvGRQytzAx1Ms1A716UKiPOYk,188 +werkzeug/__pycache__/__init__.cpython-38.pyc,, +werkzeug/__pycache__/_internal.cpython-38.pyc,, +werkzeug/__pycache__/_reloader.cpython-38.pyc,, +werkzeug/__pycache__/datastructures.cpython-38.pyc,, +werkzeug/__pycache__/exceptions.cpython-38.pyc,, +werkzeug/__pycache__/formparser.cpython-38.pyc,, +werkzeug/__pycache__/http.cpython-38.pyc,, +werkzeug/__pycache__/local.cpython-38.pyc,, +werkzeug/__pycache__/security.cpython-38.pyc,, +werkzeug/__pycache__/serving.cpython-38.pyc,, +werkzeug/__pycache__/test.cpython-38.pyc,, +werkzeug/__pycache__/testapp.cpython-38.pyc,, +werkzeug/__pycache__/urls.cpython-38.pyc,, +werkzeug/__pycache__/user_agent.cpython-38.pyc,, +werkzeug/__pycache__/utils.cpython-38.pyc,, +werkzeug/__pycache__/wsgi.cpython-38.pyc,, +werkzeug/_internal.py,sha256=g8PHJz2z39I3x0vwTvTKbXIg0eUQqGF9UtUzDMWT0Qw,16222 +werkzeug/_reloader.py,sha256=lYStlIDduTxBOB8BSozy_44HQ7YT5fup-x3uuac1-2o,14331 +werkzeug/datastructures.py,sha256=T1SRE_KRuNz9Q7P-Ck4PyKPyil1NOx9zDuNMLgrN1Z0,97083 +werkzeug/datastructures.pyi,sha256=HRzDLc7A6qnwluhNqn6AT76CsLZIkAbVVqxn0AbfV-s,34506 +werkzeug/debug/__init__.py,sha256=Gpq6OpS6mHwHk0mJkHc2fWvvjo6ccJVS9QJwJgoeb9I,18893 +werkzeug/debug/__pycache__/__init__.cpython-38.pyc,, +werkzeug/debug/__pycache__/console.cpython-38.pyc,, +werkzeug/debug/__pycache__/repr.cpython-38.pyc,, +werkzeug/debug/__pycache__/tbtools.cpython-38.pyc,, +werkzeug/debug/console.py,sha256=dechqiCtHfs0AQZWZofUC1S97tCuvwDgT0gdha5KwWM,6208 +werkzeug/debug/repr.py,sha256=FFczy4yhVfEQjW99HuZtUce-ebtJWMjp9GnfasXa0KA,9488 +werkzeug/debug/shared/ICON_LICENSE.md,sha256=DhA6Y1gUl5Jwfg0NFN9Rj4VWITt8tUx0IvdGf0ux9-s,222 +werkzeug/debug/shared/console.png,sha256=bxax6RXXlvOij_KeqvSNX0ojJf83YbnZ7my-3Gx9w2A,507 +werkzeug/debug/shared/debugger.js,sha256=tg42SZs1SVmYWZ-_Fj5ELK5-FLHnGNQrei0K2By8Bw8,10521 +werkzeug/debug/shared/less.png,sha256=-4-kNRaXJSONVLahrQKUxMwXGm9R4OnZ9SxDGpHlIR4,191 +werkzeug/debug/shared/more.png,sha256=GngN7CioHQoV58rH6ojnkYi8c_qED2Aka5FO5UXrReY,200 +werkzeug/debug/shared/style.css,sha256=-xSxzUEZGw_IqlDR5iZxitNl8LQUjBM-_Y4UAvXVH8g,6078 +werkzeug/debug/tbtools.py,sha256=Fsmlk6Ao3CcXm9iX7i_8MhCp2SQZ8uHm8Cf5wacnlW4,13293 +werkzeug/exceptions.py,sha256=5MFy6RyaU4nokoYzdDafloY51QUDIGVNKeK_FORUFS0,26543 +werkzeug/formparser.py,sha256=rLEu_ZwVpvqshZg6E4Qiv36QsmzmCytTijBeGX3dDGk,16056 +werkzeug/http.py,sha256=i_LrIU9KsOz27zfkwKIK6eifFuFMKgSuW15k57HbMiE,42162 +werkzeug/local.py,sha256=1IRMV9MFrauLaZeliF0Md1n7ZOcOKLbS03bnQ8Gz5WY,22326 +werkzeug/middleware/__init__.py,sha256=qfqgdT5npwG9ses3-FXQJf3aB95JYP1zchetH_T3PUw,500 +werkzeug/middleware/__pycache__/__init__.cpython-38.pyc,, +werkzeug/middleware/__pycache__/dispatcher.cpython-38.pyc,, +werkzeug/middleware/__pycache__/http_proxy.cpython-38.pyc,, +werkzeug/middleware/__pycache__/lint.cpython-38.pyc,, +werkzeug/middleware/__pycache__/profiler.cpython-38.pyc,, +werkzeug/middleware/__pycache__/proxy_fix.cpython-38.pyc,, +werkzeug/middleware/__pycache__/shared_data.cpython-38.pyc,, +werkzeug/middleware/dispatcher.py,sha256=Fh_w-KyWnTSYF-Lfv5dimQ7THSS7afPAZMmvc4zF1gg,2580 +werkzeug/middleware/http_proxy.py,sha256=HE8VyhS7CR-E1O6_9b68huv8FLgGGR1DLYqkS3Xcp3Q,7558 +werkzeug/middleware/lint.py,sha256=Sr6gV4royDs6ezkqv5trRAyKMDQ60KaEq3-tQ3opUvw,13968 +werkzeug/middleware/profiler.py,sha256=QkXk7cqnaPnF8wQu-5SyPCIOT3_kdABUBorQOghVNOA,4899 +werkzeug/middleware/proxy_fix.py,sha256=l7LC_LDu0Yd4SvUxS5SFigAJMzcIOGm6LNKl9IXJBSU,6974 +werkzeug/middleware/shared_data.py,sha256=fXjrEkuqxUVLG1DLrOdQLc96QQdjftCBZ1oM5oK89h4,9528 +werkzeug/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +werkzeug/routing/__init__.py,sha256=HpvahY7WwkLdV4Cq3Bsc3GrqNon4u6t8-vhbb9E5o00,4819 +werkzeug/routing/__pycache__/__init__.cpython-38.pyc,, +werkzeug/routing/__pycache__/converters.cpython-38.pyc,, +werkzeug/routing/__pycache__/exceptions.cpython-38.pyc,, +werkzeug/routing/__pycache__/map.cpython-38.pyc,, +werkzeug/routing/__pycache__/matcher.cpython-38.pyc,, +werkzeug/routing/__pycache__/rules.cpython-38.pyc,, +werkzeug/routing/converters.py,sha256=05bkekg64vLC6mqqK4ddBh589WH9yBsjtW8IJhdUBvw,6968 +werkzeug/routing/exceptions.py,sha256=RklUDL9ajOv2fTcRNj4pb18Bs4Y-GKk4rIeTSfsqkks,4737 +werkzeug/routing/map.py,sha256=XN4ZjzEF1SfMxtdov89SDE-1_U78KVnnobTfnHzqbmE,36757 +werkzeug/routing/matcher.py,sha256=U8xZTB3e5f3TgbkxdDyVuyxK4w72l1lo_b3tdG2zNrc,7122 +werkzeug/routing/rules.py,sha256=v27RaR5H3sIPRdJ_pdEfOBMN6EivFVpmFzJk7aizdyw,31072 +werkzeug/sansio/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +werkzeug/sansio/__pycache__/__init__.cpython-38.pyc,, +werkzeug/sansio/__pycache__/http.cpython-38.pyc,, +werkzeug/sansio/__pycache__/multipart.cpython-38.pyc,, +werkzeug/sansio/__pycache__/request.cpython-38.pyc,, +werkzeug/sansio/__pycache__/response.cpython-38.pyc,, +werkzeug/sansio/__pycache__/utils.cpython-38.pyc,, +werkzeug/sansio/http.py,sha256=9eORg44CDxpmV9i_U_pZ_NR8gdc9UXFCdE7EAP1v-c0,5162 +werkzeug/sansio/multipart.py,sha256=Uyrg2U6s2oft8LXOyuTvFCWTLOEr7INVW8zFTXNwZ7A,9756 +werkzeug/sansio/request.py,sha256=SiGcx2cz-l81TlCCrKrT2fePqC64hN8fSg5Ig6J6vRs,20175 +werkzeug/sansio/response.py,sha256=UTl-teQDDjovrZMkjj3ZQsHw-JtiFak5JfKEk1_vBYU,26026 +werkzeug/sansio/utils.py,sha256=EjbqdHdT-JZWgjUQaaWSgBUIRprXUkrsMQQqJlJHpVU,4847 +werkzeug/security.py,sha256=vrBofh4WZZoUo1eAdJ6F1DrzVRlYauGS2CUDYpbQKj8,4658 +werkzeug/serving.py,sha256=18pfjrHw8b5UCgPPo1ZEoxlYZZ5UREl4jQ9f8LGWMAo,38458 +werkzeug/test.py,sha256=t7T5G-HciIlv1ZXtlydFVpow0VrXnJ_Y3yyEB7T0_Ww,48125 +werkzeug/testapp.py,sha256=RJhT_2JweNiMKe304N3bF1zaIeMpRx-CIMERdeydfTY,9404 +werkzeug/urls.py,sha256=Q9Si-eVh7yxk3rwkzrwGRm146FXVXgg9lBP3k0HUfVM,36600 +werkzeug/user_agent.py,sha256=WclZhpvgLurMF45hsioSbS75H1Zb4iMQGKN3_yZ2oKo,1420 +werkzeug/utils.py,sha256=OYdB2cZPYYgq3C0EVKMIv05BrYzzr9xdefW0H00_IVo,24936 +werkzeug/wrappers/__init__.py,sha256=kGyK7rOud3qCxll_jFyW15YarJhj1xtdf3ocx9ZheB8,120 +werkzeug/wrappers/__pycache__/__init__.cpython-38.pyc,, +werkzeug/wrappers/__pycache__/request.cpython-38.pyc,, +werkzeug/wrappers/__pycache__/response.cpython-38.pyc,, +werkzeug/wrappers/request.py,sha256=UQ559KkGS0Po6HTBgvKMlk1_AsNw5zstzm8o_dRrfdQ,23415 +werkzeug/wrappers/response.py,sha256=c2HUXrrt5Sf8-XEB1fUXxm6jp7Lu80KR0A_tbQFvw1Q,34750 +werkzeug/wsgi.py,sha256=sgkFCzhl23hlSmbvjxbI-hVEjSlPuEBGTDAHmXFcAts,34732 diff --git a/venv/lib/python3.8/site-packages/Werkzeug-2.2.2.dist-info/REQUESTED b/venv/lib/python3.8/site-packages/Werkzeug-2.2.2.dist-info/REQUESTED new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.8/site-packages/Werkzeug-2.2.2.dist-info/WHEEL b/venv/lib/python3.8/site-packages/Werkzeug-2.2.2.dist-info/WHEEL new file mode 120000 index 0000000..7e89bc1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/Werkzeug-2.2.2.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1b/5e/87/e00dc87a84269cead8578b9e6462928e18a95f1f3373c9eef451a5bcc0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/Werkzeug-2.2.2.dist-info/direct_url.json b/venv/lib/python3.8/site-packages/Werkzeug-2.2.2.dist-info/direct_url.json new file mode 100644 index 0000000..4ebe528 --- /dev/null +++ b/venv/lib/python3.8/site-packages/Werkzeug-2.2.2.dist-info/direct_url.json @@ -0,0 +1 @@ +{"archive_info": {"hash": "sha256=f979ab81f58d7318e064e99c4506445d60135ac5cd2e177a2de0089bfd4c9bd5"}, "url": "https://files.pythonhosted.org/packages/c8/27/be6ddbcf60115305205de79c29004a0c6bc53cec814f733467b1bb89386d/Werkzeug-2.2.2-py3-none-any.whl"} \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/Werkzeug-2.2.2.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/Werkzeug-2.2.2.dist-info/top_level.txt new file mode 120000 index 0000000..dd1a539 --- /dev/null +++ b/venv/lib/python3.8/site-packages/Werkzeug-2.2.2.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/41/1c/a3/d958f0268424af08f01483a507c5e0debf6e9f436da951d017ed79c5ac \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/__pycache__/six.cpython-38.pyc b/venv/lib/python3.8/site-packages/__pycache__/six.cpython-38.pyc new file mode 100644 index 0000000..4d1b352 Binary files /dev/null and b/venv/lib/python3.8/site-packages/__pycache__/six.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/__pycache__/typing_extensions.cpython-38.pyc b/venv/lib/python3.8/site-packages/__pycache__/typing_extensions.cpython-38.pyc new file mode 100644 index 0000000..54fc53b Binary files /dev/null and b/venv/lib/python3.8/site-packages/__pycache__/typing_extensions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/__pycache__/zipp.cpython-38.pyc b/venv/lib/python3.8/site-packages/__pycache__/zipp.cpython-38.pyc new file mode 100644 index 0000000..9c4c35e Binary files /dev/null and b/venv/lib/python3.8/site-packages/__pycache__/zipp.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/_cffi_backend.cpython-38-x86_64-linux-gnu.so b/venv/lib/python3.8/site-packages/_cffi_backend.cpython-38-x86_64-linux-gnu.so new file mode 120000 index 0000000..dbb092d --- /dev/null +++ b/venv/lib/python3.8/site-packages/_cffi_backend.cpython-38-x86_64-linux-gnu.so @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/55/ec/68/f3528ffee7fc7ea2b8879cdfb6f6a42ae610fe71644b4b1296c39779ef \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/_distutils_hack/__init__.py b/venv/lib/python3.8/site-packages/_distutils_hack/__init__.py new file mode 120000 index 0000000..68775f5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/_distutils_hack/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/32/2f/93/bf23a7b8ccd421cfeeb68129e66dccfc363a40b2d2917aa0e9ef30848f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/_distutils_hack/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/_distutils_hack/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..0a9d138 Binary files /dev/null and b/venv/lib/python3.8/site-packages/_distutils_hack/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/_distutils_hack/__pycache__/override.cpython-38.pyc b/venv/lib/python3.8/site-packages/_distutils_hack/__pycache__/override.cpython-38.pyc new file mode 100644 index 0000000..16beffc Binary files /dev/null and b/venv/lib/python3.8/site-packages/_distutils_hack/__pycache__/override.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/_distutils_hack/override.py b/venv/lib/python3.8/site-packages/_distutils_hack/override.py new file mode 120000 index 0000000..36122c8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/_distutils_hack/override.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/12/ef/ec/f8d17a5486780aa774b5b6c0e70b56932d8864f35df1eb7a18bb759b3a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp-3.8.3.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/aiohttp-3.8.3.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp-3.8.3.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/aiohttp-3.8.3.dist-info/LICENSE.txt b/venv/lib/python3.8/site-packages/aiohttp-3.8.3.dist-info/LICENSE.txt new file mode 120000 index 0000000..3fd407a --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp-3.8.3.dist-info/LICENSE.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9f/80/d0/db7d755a941db4572172c270ecbd8f082ba215ddd095985942ed94a9eb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp-3.8.3.dist-info/METADATA b/venv/lib/python3.8/site-packages/aiohttp-3.8.3.dist-info/METADATA new file mode 120000 index 0000000..525b2c4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp-3.8.3.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b4/67/31/07e2ac780ad54600509868d7f60f5841e843764a9e2007ae798648e3e2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp-3.8.3.dist-info/RECORD b/venv/lib/python3.8/site-packages/aiohttp-3.8.3.dist-info/RECORD new file mode 100644 index 0000000..e825de9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp-3.8.3.dist-info/RECORD @@ -0,0 +1,119 @@ +aiohttp-3.8.3.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +aiohttp-3.8.3.dist-info/LICENSE.txt,sha256=n4DQ2311WpQdtFchcsJw7L2PCCuiFd3QlZhZQu2Uqes,588 +aiohttp-3.8.3.dist-info/METADATA,sha256=tGcxB-KseArVRgBQmGjX9g9YQehDdkqeIAeueYZI4-I,7355 +aiohttp-3.8.3.dist-info/RECORD,, +aiohttp-3.8.3.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +aiohttp-3.8.3.dist-info/WHEEL,sha256=-ijGDuALlPxm3HbhKntps0QzHsi-DPlXqgerYTTJkFE,148 +aiohttp-3.8.3.dist-info/direct_url.json,sha256=cI0bJ0cmrFshYem1JVJziUFicN7pG9XMhiQawMGz0qg,289 +aiohttp-3.8.3.dist-info/top_level.txt,sha256=iv-JIaacmTl-hSho3QmphcKnbRRYx1st47yjz_178Ro,8 +aiohttp/.hash/_cparser.pxd.hash,sha256=GoFy-KArtO3unhO5IuosMnc-wwcx7yofVZp2gJi_n_Y,121 +aiohttp/.hash/_find_header.pxd.hash,sha256=_mbpD6vM-CVCKq3ulUvsOAz5Wdo88wrDzfpOsMQaMNA,125 +aiohttp/.hash/_helpers.pyi.hash,sha256=Ew4BZDc2LqFwszgZZUHHrJvw5P8HBhJ700n1Ntg52hE,121 +aiohttp/.hash/_helpers.pyx.hash,sha256=5JQ6BlMBE4HnRaCGdkK9_wpL3ZSWpU1gyLYva0Wwx2c,121 +aiohttp/.hash/_http_parser.pyx.hash,sha256=pEF-JTzd1dVYEwfuzUiTtp8aekvrhhOwiFi4vELWcsM,125 +aiohttp/.hash/_http_writer.pyx.hash,sha256=3Qg3T3D-Ud73elzPHBufK0yEu9tP5jsu6g-aPKQY9gE,125 +aiohttp/.hash/_websocket.pyx.hash,sha256=M97f-Yti-4vnE4GNTD1s_DzKs-fG_ww3jle6EUvixnE,123 +aiohttp/.hash/hdrs.py.hash,sha256=KpTaDTcWfiQrW2QPA5glgIfw6o5JC1hsAYZHeFMuBnI,116 +aiohttp/__init__.py,sha256=8k5pIKoY4JIJImY1z9sSjhGNbZzRmPazjF3TcbvDIIw,6870 +aiohttp/__pycache__/__init__.cpython-38.pyc,, +aiohttp/__pycache__/abc.cpython-38.pyc,, +aiohttp/__pycache__/base_protocol.cpython-38.pyc,, +aiohttp/__pycache__/client.cpython-38.pyc,, +aiohttp/__pycache__/client_exceptions.cpython-38.pyc,, +aiohttp/__pycache__/client_proto.cpython-38.pyc,, +aiohttp/__pycache__/client_reqrep.cpython-38.pyc,, +aiohttp/__pycache__/client_ws.cpython-38.pyc,, +aiohttp/__pycache__/connector.cpython-38.pyc,, +aiohttp/__pycache__/cookiejar.cpython-38.pyc,, +aiohttp/__pycache__/formdata.cpython-38.pyc,, +aiohttp/__pycache__/hdrs.cpython-38.pyc,, +aiohttp/__pycache__/helpers.cpython-38.pyc,, +aiohttp/__pycache__/http.cpython-38.pyc,, +aiohttp/__pycache__/http_exceptions.cpython-38.pyc,, +aiohttp/__pycache__/http_parser.cpython-38.pyc,, +aiohttp/__pycache__/http_websocket.cpython-38.pyc,, +aiohttp/__pycache__/http_writer.cpython-38.pyc,, +aiohttp/__pycache__/locks.cpython-38.pyc,, +aiohttp/__pycache__/log.cpython-38.pyc,, +aiohttp/__pycache__/multipart.cpython-38.pyc,, +aiohttp/__pycache__/payload.cpython-38.pyc,, +aiohttp/__pycache__/payload_streamer.cpython-38.pyc,, +aiohttp/__pycache__/pytest_plugin.cpython-38.pyc,, +aiohttp/__pycache__/resolver.cpython-38.pyc,, +aiohttp/__pycache__/streams.cpython-38.pyc,, +aiohttp/__pycache__/tcp_helpers.cpython-38.pyc,, +aiohttp/__pycache__/test_utils.cpython-38.pyc,, +aiohttp/__pycache__/tracing.cpython-38.pyc,, +aiohttp/__pycache__/typedefs.cpython-38.pyc,, +aiohttp/__pycache__/web.cpython-38.pyc,, +aiohttp/__pycache__/web_app.cpython-38.pyc,, +aiohttp/__pycache__/web_exceptions.cpython-38.pyc,, +aiohttp/__pycache__/web_fileresponse.cpython-38.pyc,, +aiohttp/__pycache__/web_log.cpython-38.pyc,, +aiohttp/__pycache__/web_middlewares.cpython-38.pyc,, +aiohttp/__pycache__/web_protocol.cpython-38.pyc,, +aiohttp/__pycache__/web_request.cpython-38.pyc,, +aiohttp/__pycache__/web_response.cpython-38.pyc,, +aiohttp/__pycache__/web_routedef.cpython-38.pyc,, +aiohttp/__pycache__/web_runner.cpython-38.pyc,, +aiohttp/__pycache__/web_server.cpython-38.pyc,, +aiohttp/__pycache__/web_urldispatcher.cpython-38.pyc,, +aiohttp/__pycache__/web_ws.cpython-38.pyc,, +aiohttp/__pycache__/worker.cpython-38.pyc,, +aiohttp/_cparser.pxd,sha256=5tE01W1fUWqytcOyldDUQKO--RH0OE1QYgQBiJWh-DM,4998 +aiohttp/_find_header.pxd,sha256=0GfwFCPN2zxEKTO1_MA5sYq2UfzsG8kcV3aTqvwlz3g,68 +aiohttp/_headers.pxi,sha256=n701k28dVPjwRnx5j6LpJhLTfj7dqu2vJt7f0O60Oyg,2007 +aiohttp/_helpers.cpython-38-x86_64-linux-gnu.so,sha256=P2bi11aP0JO44PSfu8MfQbRcpujnFMLlg4qJxOKdQ5I,353856 +aiohttp/_helpers.pyi,sha256=ZoKiJSS51PxELhI2cmIr5737YjjZcJt7FbIRO3ym1Ss,202 +aiohttp/_helpers.pyx,sha256=XeLbNft5X_4ifi8QB8i6TyrRuayijMSO3IDHeSA89uM,1049 +aiohttp/_http_parser.cpython-38-x86_64-linux-gnu.so,sha256=H7HVFIglsG77TAoY8riONXIZBz9gJtTxHMhxlXMepO8,2382200 +aiohttp/_http_parser.pyx,sha256=1u38_ESw5VgSqajx1mnGdO6Hqk0ov9PxeFreHq4ktoM,27336 +aiohttp/_http_writer.cpython-38-x86_64-linux-gnu.so,sha256=1CrwAf6ukB-bnc2grlew6P59rznaps1UvXN2_QsLg5Y,331288 +aiohttp/_http_writer.pyx,sha256=aIHAp8g4ZV5kbGRdmZce-vXjELw2M6fGKyJuOdgYQqw,4575 +aiohttp/_websocket.cpython-38-x86_64-linux-gnu.so,sha256=WhkckbcHcqC9PdSMQ_HLmEUCH3aPnGv0drG17Pa1BNk,124128 +aiohttp/_websocket.pyx,sha256=1XuOSNDCbyDrzF5uMA2isqausSs8l2jWTLDlNDLM9Io,1561 +aiohttp/abc.py,sha256=0FhHtbb3W7wRNtJISACN1teP8LZ49553v5Xoh5zNAFQ,5505 +aiohttp/base_protocol.py,sha256=XBq6YcLl7nwKJPIBKf2b1EobE0v7EBeZAoDJCkOO2eo,2676 +aiohttp/client.py,sha256=5dTKnaqzZvbEjd4M6yBOhDDR1uErDKu_xI3xGlzzYjs,45037 +aiohttp/client_exceptions.py,sha256=tiaUIb2xy3s-O-KTPVL6L_P0rpGQT0rV1dujwwgJKoI,9270 +aiohttp/client_proto.py,sha256=c4TAK8CVdycukenCJj7LtlQ3SEj04ilJ3DfmN3kPgeE,8170 +aiohttp/client_reqrep.py,sha256=ULqrco544ZQgYruj1mFD6Fd3af2fOZWJqn07R8rB5J8,36973 +aiohttp/client_ws.py,sha256=Sc0u3S-vZMadtEO6JpbLhVVw7KgtlsgZWHwaSYjkN0I,10516 +aiohttp/connector.py,sha256=0EPxWYzIF3UudRFL77QBVico5EfSMg9mPoy75m1aBhw,51177 +aiohttp/cookiejar.py,sha256=6Y8F3H19q81WypX7EmWR4eQvTc0Pj8QXdv20xM8BUlE,13514 +aiohttp/formdata.py,sha256=q2gpeiM9NFsl_eSFVxHZ7Qez6RbM8_BujERMkooQkx0,6106 +aiohttp/hdrs.py,sha256=owNRw0dgodeDWyobBVLkY88dLbkNoM20czE9xm40oDE,4724 +aiohttp/helpers.py,sha256=PwEnFh_jHJXr6fcM_QwEY3sSibVx8FgjdO37So19lqA,26361 +aiohttp/http.py,sha256=_B20NZc113uNtg0jabY-x4_3RrIpTsqmbRIwMcm-Bco,1800 +aiohttp/http_exceptions.py,sha256=eACQt7azwNbUi8aqXB5J2tIcc_CB4_4y4mLM9SZd4tM,2586 +aiohttp/http_parser.py,sha256=_8ESr_Qo22D7tsLtmzJHK2vysqgbI06WWiGmPm5fjWc,33092 +aiohttp/http_websocket.py,sha256=X6kzIgu0-wRLU9yQxP4iH-Hv_36uVjTCOmF2HgpZLlk,25299 +aiohttp/http_writer.py,sha256=Lia-FlcFvzvr0riJHZrvKFuzLzf2drWchEQ8vew5CJ0,5952 +aiohttp/locks.py,sha256=wRYFo1U82LwBBdqwU24JEPaoTAlKaaJd2FtfDKhkTb4,1136 +aiohttp/log.py,sha256=BbNKx9e3VMIm0xYjZI0IcBBoS7wjdeIeSaiJE7-qK2g,325 +aiohttp/multipart.py,sha256=gmqFziP4ou8ZuoAOibOjoW7OJOsURzI5gkxoLPARQy8,32313 +aiohttp/payload.py,sha256=rachrZ66vC90f7swPXINaatGpPcCSVkiCCVKhrCFfuw,13634 +aiohttp/payload_streamer.py,sha256=3WmZ77SQ4dc8aKU6i2ZAb8L7FPdesCSoqRonSVOd_kE,2112 +aiohttp/py.typed,sha256=sow9soTwP9T_gEAQSVh7Gb8855h04Nwmhs2We-JRgZM,7 +aiohttp/pytest_plugin.py,sha256=4-5LfdrnZIBP2wLp8CjE54eshOolFbBpOTufvp4tUcI,11772 +aiohttp/resolver.py,sha256=CASOnXp5oZh_1sCFWzFlD-5x3V49HAXbAJw-5RYjgms,5092 +aiohttp/streams.py,sha256=_OTvFQVA8-8GJ120Y95lH-hmLq1QaFNBFdaA49TECIc,20758 +aiohttp/tcp_helpers.py,sha256=BSadqVWaBpMFDRWnhaaR941N9MiDZ7bdTrxgCb0CW-M,961 +aiohttp/test_utils.py,sha256=MNQb4Zq6rKLLC3PABy5hIjONlsoxd-lc3OirNGHIJS4,21434 +aiohttp/tracing.py,sha256=gn_O9btTDB66nQ1wJWT3N2gEsO5kYFSIynnd8cp4YgA,15177 +aiohttp/typedefs.py,sha256=oLnG3fxcBEdu4kIzUi0Npcg5kjq01cRkK27VSgjNnmw,1766 +aiohttp/web.py,sha256=bAhkE0oeP6eI06ohkBoPu4ZLchctpEz23cVym_JECSg,18081 +aiohttp/web_app.py,sha256=QkVmy8pR_oaJ3od2fYfSfjzfZ8oGEPg9FPW_d0r2THo,17170 +aiohttp/web_exceptions.py,sha256=T_ghTJB_hnPkoWa3qyeY_GtVbehYQwPCpcCRb-072N0,10098 +aiohttp/web_fileresponse.py,sha256=F_xRvYFL2ox4oVNW3WSjwQ6LmVpkkYM8MPxsqiNsfUg,10784 +aiohttp/web_log.py,sha256=OH-C5shv59-nXchWX8owfLfToMxVdtj0PuK3uGIGEJQ,7557 +aiohttp/web_middlewares.py,sha256=nnllFgxX9GjvkG3YW43jPDH7C03iCfyMBxhYw-OkTI0,4137 +aiohttp/web_protocol.py,sha256=EFr0sy29rW7ffRz-tlRlBnHogmlyt6YvaJP6X1Sg3i8,22399 +aiohttp/web_request.py,sha256=t0RvF_yOJG6uq9-nZjmwXjfqc9Mvgpc3sXUxC67uGvw,28187 +aiohttp/web_response.py,sha256=7WTmyeXY2DrWAhr9HWuxY1SecgxiO_QwRql86PSUS-U,27471 +aiohttp/web_routedef.py,sha256=EFk3v1dcFnLimTT5z0JSBO3PShF0w9sIzfK9iJd-LNs,6152 +aiohttp/web_runner.py,sha256=EzxH4v1lntydU3W-c6iLgDu5LI7kAyD7sAmkz6W5-9g,11157 +aiohttp/web_server.py,sha256=EA1YUxv_4szhpaED1O_VVCUFHNhPUJhl2Cq7W1BK72s,2050 +aiohttp/web_urldispatcher.py,sha256=IAvlOBqCPLjasMnYtCwSqbhj-j1JTQRRHFnNvMFd4d4,39483 +aiohttp/web_ws.py,sha256=8Qmp_zH-F7t9V4NLRFwfoTBr4oWuo3cZrnYT-i-zBI0,17144 +aiohttp/worker.py,sha256=Cbx1KyVligvWa6kje0hSXhdjgJ1AORLN1qu8qJ0LzSQ,8763 diff --git a/venv/lib/python3.8/site-packages/aiohttp-3.8.3.dist-info/REQUESTED b/venv/lib/python3.8/site-packages/aiohttp-3.8.3.dist-info/REQUESTED new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.8/site-packages/aiohttp-3.8.3.dist-info/WHEEL b/venv/lib/python3.8/site-packages/aiohttp-3.8.3.dist-info/WHEEL new file mode 120000 index 0000000..8b6429d --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp-3.8.3.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fa/28/c6/0ee00b94fc66dc76e12a7b69b344331ec8be0cf957aa07ab6134c99051 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp-3.8.3.dist-info/direct_url.json b/venv/lib/python3.8/site-packages/aiohttp-3.8.3.dist-info/direct_url.json new file mode 100644 index 0000000..95a7fe2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp-3.8.3.dist-info/direct_url.json @@ -0,0 +1 @@ +{"archive_info": {"hash": "sha256=87f44875f2804bc0511a69ce44a9595d5944837a62caecc8490bbdb0e18b1342"}, "url": "https://files.pythonhosted.org/packages/af/d6/248ad502c6049011e7851e1474dd0a58175895388bed15f7f67dcb9187d9/aiohttp-3.8.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"} \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp-3.8.3.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/aiohttp-3.8.3.dist-info/top_level.txt new file mode 120000 index 0000000..f24d800 --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp-3.8.3.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8a/ff/89/21a69c99397e852868dd09a985c2a76d1458c75b2de3bca3cffd7bf11a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/.hash/_cparser.pxd.hash b/venv/lib/python3.8/site-packages/aiohttp/.hash/_cparser.pxd.hash new file mode 120000 index 0000000..7d05d43 --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/.hash/_cparser.pxd.hash @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1a/81/72/f8a02bb4edee9e13b922ea2c32773ec30731ef2a1f559a768098bf9ff6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/.hash/_find_header.pxd.hash b/venv/lib/python3.8/site-packages/aiohttp/.hash/_find_header.pxd.hash new file mode 120000 index 0000000..c923075 --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/.hash/_find_header.pxd.hash @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fe/66/e9/0fabccf825422aadee954bec380cf959da3cf30ac3cdfa4eb0c41a30d0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/.hash/_helpers.pyi.hash b/venv/lib/python3.8/site-packages/aiohttp/.hash/_helpers.pyi.hash new file mode 120000 index 0000000..6ba80e4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/.hash/_helpers.pyi.hash @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/13/0e/01/6437362ea170b338196541c7ac9bf0e4ff0706127bd349f536d839da11 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/.hash/_helpers.pyx.hash b/venv/lib/python3.8/site-packages/aiohttp/.hash/_helpers.pyx.hash new file mode 120000 index 0000000..a1c4567 --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/.hash/_helpers.pyx.hash @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e4/94/3a/0653011381e745a0867642bdff0a4bdd9496a54d60c8b62f6b45b0c767 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/.hash/_http_parser.pyx.hash b/venv/lib/python3.8/site-packages/aiohttp/.hash/_http_parser.pyx.hash new file mode 120000 index 0000000..512a4c3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/.hash/_http_parser.pyx.hash @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a4/41/7e/253cddd5d5581307eecd4893b69f1a7a4beb8613b08858b8bc42d672c3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/.hash/_http_writer.pyx.hash b/venv/lib/python3.8/site-packages/aiohttp/.hash/_http_writer.pyx.hash new file mode 120000 index 0000000..a62a05f --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/.hash/_http_writer.pyx.hash @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/dd/08/37/4f70fe51def77a5ccf1c1b9f2b4c84bbdb4fe63b2eea0f9a3ca418f601 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/.hash/_websocket.pyx.hash b/venv/lib/python3.8/site-packages/aiohttp/.hash/_websocket.pyx.hash new file mode 120000 index 0000000..cfb0f2b --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/.hash/_websocket.pyx.hash @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/33/de/df/f98b62fb8be713818d4c3d6cfc3ccab3e7c6ff0c378e57ba114be2c671 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/.hash/hdrs.py.hash b/venv/lib/python3.8/site-packages/aiohttp/.hash/hdrs.py.hash new file mode 120000 index 0000000..f8dccee --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/.hash/hdrs.py.hash @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2a/94/da/0d37167e242b5b640f0398258087f0ea8e490b586c01864778532e0672 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/__init__.py b/venv/lib/python3.8/site-packages/aiohttp/__init__.py new file mode 120000 index 0000000..2621192 --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f2/4e/69/20aa18e09209226635cfdb128e118d6d9cd198f6b38c5dd371bbc3208c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..c82ea0d Binary files /dev/null and b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/aiohttp/__pycache__/abc.cpython-38.pyc b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/abc.cpython-38.pyc new file mode 100644 index 0000000..8ff6fa7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/abc.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/aiohttp/__pycache__/base_protocol.cpython-38.pyc b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/base_protocol.cpython-38.pyc new file mode 100644 index 0000000..e85d829 Binary files /dev/null and b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/base_protocol.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/aiohttp/__pycache__/client.cpython-38.pyc b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/client.cpython-38.pyc new file mode 100644 index 0000000..3f2e26e Binary files /dev/null and b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/client.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/aiohttp/__pycache__/client_exceptions.cpython-38.pyc b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/client_exceptions.cpython-38.pyc new file mode 100644 index 0000000..33230d7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/client_exceptions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/aiohttp/__pycache__/client_proto.cpython-38.pyc b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/client_proto.cpython-38.pyc new file mode 100644 index 0000000..03481ce Binary files /dev/null and b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/client_proto.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/aiohttp/__pycache__/client_reqrep.cpython-38.pyc b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/client_reqrep.cpython-38.pyc new file mode 100644 index 0000000..e970a5d Binary files /dev/null and b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/client_reqrep.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/aiohttp/__pycache__/client_ws.cpython-38.pyc b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/client_ws.cpython-38.pyc new file mode 100644 index 0000000..4a0159b Binary files /dev/null and b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/client_ws.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/aiohttp/__pycache__/connector.cpython-38.pyc b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/connector.cpython-38.pyc new file mode 100644 index 0000000..7c22045 Binary files /dev/null and b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/connector.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/aiohttp/__pycache__/cookiejar.cpython-38.pyc b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/cookiejar.cpython-38.pyc new file mode 100644 index 0000000..262a3f0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/cookiejar.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/aiohttp/__pycache__/formdata.cpython-38.pyc b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/formdata.cpython-38.pyc new file mode 100644 index 0000000..c0acff9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/formdata.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/aiohttp/__pycache__/hdrs.cpython-38.pyc b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/hdrs.cpython-38.pyc new file mode 100644 index 0000000..1596258 Binary files /dev/null and b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/hdrs.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/aiohttp/__pycache__/helpers.cpython-38.pyc b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/helpers.cpython-38.pyc new file mode 100644 index 0000000..f960058 Binary files /dev/null and b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/helpers.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/aiohttp/__pycache__/http.cpython-38.pyc b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/http.cpython-38.pyc new file mode 100644 index 0000000..0bfda46 Binary files /dev/null and b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/http.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/aiohttp/__pycache__/http_exceptions.cpython-38.pyc b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/http_exceptions.cpython-38.pyc new file mode 100644 index 0000000..352cc76 Binary files /dev/null and b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/http_exceptions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/aiohttp/__pycache__/http_parser.cpython-38.pyc b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/http_parser.cpython-38.pyc new file mode 100644 index 0000000..a83fc23 Binary files /dev/null and b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/http_parser.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/aiohttp/__pycache__/http_websocket.cpython-38.pyc b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/http_websocket.cpython-38.pyc new file mode 100644 index 0000000..424509f Binary files /dev/null and b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/http_websocket.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/aiohttp/__pycache__/http_writer.cpython-38.pyc b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/http_writer.cpython-38.pyc new file mode 100644 index 0000000..af03651 Binary files /dev/null and b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/http_writer.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/aiohttp/__pycache__/locks.cpython-38.pyc b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/locks.cpython-38.pyc new file mode 100644 index 0000000..1cc051e Binary files /dev/null and b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/locks.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/aiohttp/__pycache__/log.cpython-38.pyc b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/log.cpython-38.pyc new file mode 100644 index 0000000..5522b42 Binary files /dev/null and b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/log.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/aiohttp/__pycache__/multipart.cpython-38.pyc b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/multipart.cpython-38.pyc new file mode 100644 index 0000000..3e7bb0f Binary files /dev/null and b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/multipart.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/aiohttp/__pycache__/payload.cpython-38.pyc b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/payload.cpython-38.pyc new file mode 100644 index 0000000..40f4aaf Binary files /dev/null and b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/payload.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/aiohttp/__pycache__/payload_streamer.cpython-38.pyc b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/payload_streamer.cpython-38.pyc new file mode 100644 index 0000000..2a0315f Binary files /dev/null and b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/payload_streamer.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/aiohttp/__pycache__/pytest_plugin.cpython-38.pyc b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/pytest_plugin.cpython-38.pyc new file mode 100644 index 0000000..c982789 Binary files /dev/null and b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/pytest_plugin.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/aiohttp/__pycache__/resolver.cpython-38.pyc b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/resolver.cpython-38.pyc new file mode 100644 index 0000000..034b721 Binary files /dev/null and b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/resolver.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/aiohttp/__pycache__/streams.cpython-38.pyc b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/streams.cpython-38.pyc new file mode 100644 index 0000000..2faf31e Binary files /dev/null and b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/streams.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/aiohttp/__pycache__/tcp_helpers.cpython-38.pyc b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/tcp_helpers.cpython-38.pyc new file mode 100644 index 0000000..3d4b6be Binary files /dev/null and b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/tcp_helpers.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/aiohttp/__pycache__/test_utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/test_utils.cpython-38.pyc new file mode 100644 index 0000000..9a54c72 Binary files /dev/null and b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/test_utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/aiohttp/__pycache__/tracing.cpython-38.pyc b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/tracing.cpython-38.pyc new file mode 100644 index 0000000..5e550d8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/tracing.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/aiohttp/__pycache__/typedefs.cpython-38.pyc b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/typedefs.cpython-38.pyc new file mode 100644 index 0000000..23b7eb9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/typedefs.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/aiohttp/__pycache__/web.cpython-38.pyc b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/web.cpython-38.pyc new file mode 100644 index 0000000..a2a0061 Binary files /dev/null and b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/web.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/aiohttp/__pycache__/web_app.cpython-38.pyc b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/web_app.cpython-38.pyc new file mode 100644 index 0000000..ad131d2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/web_app.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/aiohttp/__pycache__/web_exceptions.cpython-38.pyc b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/web_exceptions.cpython-38.pyc new file mode 100644 index 0000000..2d7a949 Binary files /dev/null and b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/web_exceptions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/aiohttp/__pycache__/web_fileresponse.cpython-38.pyc b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/web_fileresponse.cpython-38.pyc new file mode 100644 index 0000000..555e298 Binary files /dev/null and b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/web_fileresponse.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/aiohttp/__pycache__/web_log.cpython-38.pyc b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/web_log.cpython-38.pyc new file mode 100644 index 0000000..b15e041 Binary files /dev/null and b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/web_log.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/aiohttp/__pycache__/web_middlewares.cpython-38.pyc b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/web_middlewares.cpython-38.pyc new file mode 100644 index 0000000..079c175 Binary files /dev/null and b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/web_middlewares.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/aiohttp/__pycache__/web_protocol.cpython-38.pyc b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/web_protocol.cpython-38.pyc new file mode 100644 index 0000000..be2d1ea Binary files /dev/null and b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/web_protocol.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/aiohttp/__pycache__/web_request.cpython-38.pyc b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/web_request.cpython-38.pyc new file mode 100644 index 0000000..1cb54b3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/web_request.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/aiohttp/__pycache__/web_response.cpython-38.pyc b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/web_response.cpython-38.pyc new file mode 100644 index 0000000..1f66c93 Binary files /dev/null and b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/web_response.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/aiohttp/__pycache__/web_routedef.cpython-38.pyc b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/web_routedef.cpython-38.pyc new file mode 100644 index 0000000..6718d62 Binary files /dev/null and b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/web_routedef.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/aiohttp/__pycache__/web_runner.cpython-38.pyc b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/web_runner.cpython-38.pyc new file mode 100644 index 0000000..2b0472c Binary files /dev/null and b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/web_runner.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/aiohttp/__pycache__/web_server.cpython-38.pyc b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/web_server.cpython-38.pyc new file mode 100644 index 0000000..7a6214a Binary files /dev/null and b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/web_server.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/aiohttp/__pycache__/web_urldispatcher.cpython-38.pyc b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/web_urldispatcher.cpython-38.pyc new file mode 100644 index 0000000..ec25f1b Binary files /dev/null and b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/web_urldispatcher.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/aiohttp/__pycache__/web_ws.cpython-38.pyc b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/web_ws.cpython-38.pyc new file mode 100644 index 0000000..f2df5b8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/web_ws.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/aiohttp/__pycache__/worker.cpython-38.pyc b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/worker.cpython-38.pyc new file mode 100644 index 0000000..50eaad3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/aiohttp/__pycache__/worker.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/aiohttp/_cparser.pxd b/venv/lib/python3.8/site-packages/aiohttp/_cparser.pxd new file mode 120000 index 0000000..dbe26bd --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/_cparser.pxd @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e6/d1/34/d56d5f516ab2b5c3b295d0d440a3bef911f4384d506204018895a1f833 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/_find_header.pxd b/venv/lib/python3.8/site-packages/aiohttp/_find_header.pxd new file mode 120000 index 0000000..43840a8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/_find_header.pxd @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d0/67/f0/1423cddb3c442933b5fcc039b18ab651fcec1bc91c577693aafc25cf78 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/_headers.pxi b/venv/lib/python3.8/site-packages/aiohttp/_headers.pxi new file mode 120000 index 0000000..990edcf --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/_headers.pxi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9f/bd/35/936f1d54f8f0467c798fa2e92612d37e3eddaaedaf26dedfd0eeb43b28 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/_helpers.cpython-38-x86_64-linux-gnu.so b/venv/lib/python3.8/site-packages/aiohttp/_helpers.cpython-38-x86_64-linux-gnu.so new file mode 120000 index 0000000..5a78a88 --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/_helpers.cpython-38-x86_64-linux-gnu.so @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3f/66/e2/d7568fd093b8e0f49fbbc31f41b45ca6e8e714c2e5838a89c4e29d4392 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/_helpers.pyi b/venv/lib/python3.8/site-packages/aiohttp/_helpers.pyi new file mode 120000 index 0000000..2387471 --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/_helpers.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/66/82/a2/2524b9d4fc442e123672622be7bdfb6238d9709b7b15b2113b7ca6d52b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/_helpers.pyx b/venv/lib/python3.8/site-packages/aiohttp/_helpers.pyx new file mode 120000 index 0000000..2694576 --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/_helpers.pyx @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5d/e2/db/35fb795ffe227e2f1007c8ba4f2ad1b9aca28cc48edc80c779203cf6e3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/_http_parser.cpython-38-x86_64-linux-gnu.so b/venv/lib/python3.8/site-packages/aiohttp/_http_parser.cpython-38-x86_64-linux-gnu.so new file mode 120000 index 0000000..d5a96f6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/_http_parser.cpython-38-x86_64-linux-gnu.so @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1f/b1/d5/148825b06efb4c0a18f2b88e357219073f6026d4f11cc87195731ea4ef \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/_http_parser.pyx b/venv/lib/python3.8/site-packages/aiohttp/_http_parser.pyx new file mode 120000 index 0000000..9e638ef --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/_http_parser.pyx @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d6/ed/fc/fc44b0e55812a9a8f1d669c674ee87aa4d28bfd3f1785ade1eae24b683 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/_http_writer.cpython-38-x86_64-linux-gnu.so b/venv/lib/python3.8/site-packages/aiohttp/_http_writer.cpython-38-x86_64-linux-gnu.so new file mode 120000 index 0000000..e35c0ac --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/_http_writer.cpython-38-x86_64-linux-gnu.so @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d4/2a/f0/01feae901f9b9dcda0ae57b0e8fe7daf39daa6cd54bd7376fd0b0b8396 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/_http_writer.pyx b/venv/lib/python3.8/site-packages/aiohttp/_http_writer.pyx new file mode 120000 index 0000000..d804b12 --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/_http_writer.pyx @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/68/81/c0/a7c838655e646c645d99971efaf5e310bc3633a7c62b226e39d81842ac \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/_websocket.cpython-38-x86_64-linux-gnu.so b/venv/lib/python3.8/site-packages/aiohttp/_websocket.cpython-38-x86_64-linux-gnu.so new file mode 120000 index 0000000..a1d278a --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/_websocket.cpython-38-x86_64-linux-gnu.so @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5a/19/1c/91b70772a0bd3dd48c43f1cb9845021f768f9c6bf476b1b5ecf6b504d9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/_websocket.pyx b/venv/lib/python3.8/site-packages/aiohttp/_websocket.pyx new file mode 120000 index 0000000..1c0c7fb --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/_websocket.pyx @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d5/7b/8e/48d0c26f20ebcc5e6e300da2b2a6aeb12b3c9768d64cb0e53432ccf48a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/abc.py b/venv/lib/python3.8/site-packages/aiohttp/abc.py new file mode 120000 index 0000000..49bacfe --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/abc.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d0/58/47/b5b6f75bbc1136d24848008dd6d78ff0b678f79e77bf95e8879ccd0054 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/base_protocol.py b/venv/lib/python3.8/site-packages/aiohttp/base_protocol.py new file mode 120000 index 0000000..256fbf9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/base_protocol.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5c/1a/ba/61c2e5ee7c0a24f20129fd9bd44a1b134bfb1017990280c90a438ed9ea \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/client.py b/venv/lib/python3.8/site-packages/aiohttp/client.py new file mode 120000 index 0000000..f642931 --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/client.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e5/d4/ca/9daab366f6c48dde0ceb204e8430d1d6e12b0cabbfc48df11a5cf3623b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/client_exceptions.py b/venv/lib/python3.8/site-packages/aiohttp/client_exceptions.py new file mode 120000 index 0000000..78862f5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/client_exceptions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b6/26/94/21bdb1cb7b3e3be2933d52fa2ff3f4ae91904f4ad5d5dba3c308092a82 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/client_proto.py b/venv/lib/python3.8/site-packages/aiohttp/client_proto.py new file mode 120000 index 0000000..761798f --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/client_proto.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/73/84/c0/2bc09577272e91e9c2263ecbb654374848f4e22949dc37e637790f81e1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/client_reqrep.py b/venv/lib/python3.8/site-packages/aiohttp/client_reqrep.py new file mode 120000 index 0000000..d89ca58 --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/client_reqrep.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/50/ba/ab/728e78e1942062bba3d66143e8577769fd9f399589aa7d3b47cac1e49f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/client_ws.py b/venv/lib/python3.8/site-packages/aiohttp/client_ws.py new file mode 120000 index 0000000..3f37cab --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/client_ws.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/49/cd/2e/dd2faf64c69db443ba2696cb855570eca82d96c819587c1a4988e43742 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/connector.py b/venv/lib/python3.8/site-packages/aiohttp/connector.py new file mode 120000 index 0000000..b749f50 --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/connector.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d0/43/f1/598cc817752e75114befb401562728e447d2320f663e8cbbe66d5a061c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/cookiejar.py b/venv/lib/python3.8/site-packages/aiohttp/cookiejar.py new file mode 120000 index 0000000..0e8a0ee --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/cookiejar.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e9/8f/05/dc7d7dabcd56ca95fb126591e1e42f4dcd0f8fc41776fdb4c4cf015251 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/formdata.py b/venv/lib/python3.8/site-packages/aiohttp/formdata.py new file mode 120000 index 0000000..be6c42f --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/formdata.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ab/68/29/7a233d345b25fde4855711d9ed07b3e916ccf3f06e8c444c928a10931d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/hdrs.py b/venv/lib/python3.8/site-packages/aiohttp/hdrs.py new file mode 120000 index 0000000..ec125ab --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/hdrs.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a3/03/51/c34760a1d7835b2a1b0552e463cf1d2db90da0cdb473313dc66e34a031 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/helpers.py b/venv/lib/python3.8/site-packages/aiohttp/helpers.py new file mode 120000 index 0000000..a199810 --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/helpers.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3f/01/27/161fe31c95ebe9f70cfd0c04637b1289b571f0582374edfb4a8d7d96a0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/http.py b/venv/lib/python3.8/site-packages/aiohttp/http.py new file mode 120000 index 0000000..537698a --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/http.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fc/1d/b4/359735d77b8db60d2369b63ec78ff746b2294ecaa66d123031c9be05ca \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/http_exceptions.py b/venv/lib/python3.8/site-packages/aiohttp/http_exceptions.py new file mode 120000 index 0000000..93edca6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/http_exceptions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/78/00/90/b7b6b3c0d6d48bc6aa5c1e49dad21c73f081e3fe32e262ccf5265de2d3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/http_parser.py b/venv/lib/python3.8/site-packages/aiohttp/http_parser.py new file mode 120000 index 0000000..38a1590 --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/http_parser.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ff/c1/12/aff428db60fbb6c2ed9b32472b6bf2b2a81b234e965a21a63e6e5f8d67 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/http_websocket.py b/venv/lib/python3.8/site-packages/aiohttp/http_websocket.py new file mode 120000 index 0000000..6d0a0d3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/http_websocket.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5f/a9/33/220bb4fb044b53dc90c4fe221fe1efff7eae5634c23a61761e0a592e59 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/http_writer.py b/venv/lib/python3.8/site-packages/aiohttp/http_writer.py new file mode 120000 index 0000000..a1be64b --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/http_writer.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2e/26/be/165705bf3bebd2b8891d9aef285bb32f37f676b59c84443cbdec39089d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/locks.py b/venv/lib/python3.8/site-packages/aiohttp/locks.py new file mode 120000 index 0000000..29427f9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/locks.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c1/16/05/a3553cd8bc0105dab0536e0910f6a84c094a69a25dd85b5f0ca8644dbe \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/log.py b/venv/lib/python3.8/site-packages/aiohttp/log.py new file mode 120000 index 0000000..87eb248 --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/log.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/05/b3/4a/c7d7b754c226d31623648d087010684bbc2375e21e49a88913bfaa2b68 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/multipart.py b/venv/lib/python3.8/site-packages/aiohttp/multipart.py new file mode 120000 index 0000000..7fbf633 --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/multipart.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/82/6a/85/ce23f8a2ef19ba800e89b3a3a16ece24eb14473239824c682cf011432f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/payload.py b/venv/lib/python3.8/site-packages/aiohttp/payload.py new file mode 120000 index 0000000..c700ff7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/payload.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ad/a7/21/ad9ebabc2f747fbb303d720d69ab46a4f70249592208254a86b0857eec \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/payload_streamer.py b/venv/lib/python3.8/site-packages/aiohttp/payload_streamer.py new file mode 120000 index 0000000..db64b28 --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/payload_streamer.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/dd/69/99/efb490e1d73c68a53a8b66406fc2fb14f75eb024a8a91a2749539dfe41 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/py.typed b/venv/lib/python3.8/site-packages/aiohttp/py.typed new file mode 120000 index 0000000..a3f4481 --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/py.typed @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b2/8c/3d/b284f03fd4ff80401049587b19bf3ce79874e0dc2686cd967be2518193 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/pytest_plugin.py b/venv/lib/python3.8/site-packages/aiohttp/pytest_plugin.py new file mode 120000 index 0000000..3657629 --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/pytest_plugin.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/ee/4b/7ddae764804fdb02e9f028c4e787ac84ea2515b069393b9fbe9e2d51c2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/resolver.py b/venv/lib/python3.8/site-packages/aiohttp/resolver.py new file mode 120000 index 0000000..998955b --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/resolver.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/08/04/8e/9d7a79a1987fd6c0855b31650fee71dd5e3d1c05db009c3ee51623826b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/streams.py b/venv/lib/python3.8/site-packages/aiohttp/streams.py new file mode 120000 index 0000000..3ffc437 --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/streams.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fc/e4/ef/150540f3ef06275db463de651fe8662ead5068534115d680e3d4c40887 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/tcp_helpers.py b/venv/lib/python3.8/site-packages/aiohttp/tcp_helpers.py new file mode 120000 index 0000000..3176869 --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/tcp_helpers.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/05/26/9d/a9559a0693050d15a785a691f78d4df4c88367b6dd4ebc6009bd025be3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/test_utils.py b/venv/lib/python3.8/site-packages/aiohttp/test_utils.py new file mode 120000 index 0000000..650babc --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/test_utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/30/d4/1b/e19abaaca2cb0b73c0072e6122338d96ca3177e95cdce8ab3461c8252e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/tracing.py b/venv/lib/python3.8/site-packages/aiohttp/tracing.py new file mode 120000 index 0000000..d7bf53e --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/tracing.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/82/7f/ce/f5bb530c1eba9d0d702564f7376804b0ee64605488ca79ddf1ca786200 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/typedefs.py b/venv/lib/python3.8/site-packages/aiohttp/typedefs.py new file mode 120000 index 0000000..799f8ec --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/typedefs.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a0/b9/c6/ddfc5c04476ee24233522d0da5c839923ab4d5c4642b6ed54a08cd9e6c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/web.py b/venv/lib/python3.8/site-packages/aiohttp/web.py new file mode 120000 index 0000000..d9f3277 --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/web.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6c/08/64/134a1e3fa788d3aa21901a0fbb864b72172da44cf6ddc5729bf2440928 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/web_app.py b/venv/lib/python3.8/site-packages/aiohttp/web_app.py new file mode 120000 index 0000000..964dce9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/web_app.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/42/45/66/cbca51fe8689de87767d87d27e3cdf67ca0610f83d14f5bf774af64c7a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/web_exceptions.py b/venv/lib/python3.8/site-packages/aiohttp/web_exceptions.py new file mode 120000 index 0000000..8550760 --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/web_exceptions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4f/f8/21/4c907f8673e4a166b7ab2798fc6b556de8584303c2a5c0916fed3bd8dd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/web_fileresponse.py b/venv/lib/python3.8/site-packages/aiohttp/web_fileresponse.py new file mode 120000 index 0000000..c0ba72e --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/web_fileresponse.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/17/fc/51/bd814bda8c78a15356dd64a3c10e8b995a6491833c30fc6caa236c7d48 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/web_log.py b/venv/lib/python3.8/site-packages/aiohttp/web_log.py new file mode 120000 index 0000000..38949d3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/web_log.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/38/7f/82/e6c86fe7dfa75dc8565fca307cb7d3a0cc5576d8f43ee2b7b862061094 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/web_middlewares.py b/venv/lib/python3.8/site-packages/aiohttp/web_middlewares.py new file mode 120000 index 0000000..7c1eccd --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/web_middlewares.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9e/79/65/160c57f468ef906dd85b8de33c31fb0b4de209fc8c071858c3e3a44c8d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/web_protocol.py b/venv/lib/python3.8/site-packages/aiohttp/web_protocol.py new file mode 120000 index 0000000..d1e01dd --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/web_protocol.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/10/5a/f4/b32dbdad6edf7d1cfeb654650671e8826972b7a62f6893fa5f54a0de2f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/web_request.py b/venv/lib/python3.8/site-packages/aiohttp/web_request.py new file mode 120000 index 0000000..f41a034 --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/web_request.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b7/44/6f/17fc8e246eaeabdfa76639b05e37ea73d32f829737b175310baeee1afc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/web_response.py b/venv/lib/python3.8/site-packages/aiohttp/web_response.py new file mode 120000 index 0000000..7175ac3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/web_response.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ed/64/e6/c9e5d8d83ad6021afd1d6bb163549e720c623bf43046a97ce8f4944be5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/web_routedef.py b/venv/lib/python3.8/site-packages/aiohttp/web_routedef.py new file mode 120000 index 0000000..3dbc74f --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/web_routedef.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/10/59/37/bf575c1672e29934f9cf425204edcf4a1174c3db08cdf2bd88977e2cdb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/web_runner.py b/venv/lib/python3.8/site-packages/aiohttp/web_runner.py new file mode 120000 index 0000000..46fca2e --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/web_runner.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/13/3c/47/e2fd659edc9d5375be73a88b803bb92c8ee40320fbb009a4cfa5b9fbd8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/web_server.py b/venv/lib/python3.8/site-packages/aiohttp/web_server.py new file mode 120000 index 0000000..d5a415f --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/web_server.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/10/0d/58/531bffe2cce1a5a103d4efd55425051cd84f509865d82abb5b504aef6b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/web_urldispatcher.py b/venv/lib/python3.8/site-packages/aiohttp/web_urldispatcher.py new file mode 120000 index 0000000..587f9a0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/web_urldispatcher.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/20/0b/e5/381a823cb8dab0c9d8b42c12a9b863fa3d494d04511c59cdbcc15de1de \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/web_ws.py b/venv/lib/python3.8/site-packages/aiohttp/web_ws.py new file mode 120000 index 0000000..7e6842e --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/web_ws.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f1/09/a9/ff31fe17bb7d57834b445c1fa1306be285aea37719ae7613fa2fb3048d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiohttp/worker.py b/venv/lib/python3.8/site-packages/aiohttp/worker.py new file mode 120000 index 0000000..deb68ce --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiohttp/worker.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/09/bc/75/2b25658a0bd66ba9237b48525e1763809d403912cdd6abbca89d0bcd24 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiosignal-1.2.0.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/aiosignal-1.2.0.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiosignal-1.2.0.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/aiosignal-1.2.0.dist-info/LICENSE b/venv/lib/python3.8/site-packages/aiosignal-1.2.0.dist-info/LICENSE new file mode 120000 index 0000000..59071a4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiosignal-1.2.0.dist-info/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6f/d5/24/3e92dd7f98ec69c7ac377728e74905709ff527a5bf98d6d0263c04f5b6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiosignal-1.2.0.dist-info/METADATA b/venv/lib/python3.8/site-packages/aiosignal-1.2.0.dist-info/METADATA new file mode 120000 index 0000000..8e322c3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiosignal-1.2.0.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fe/6a/4d/291b38ecbb23780bfb1efd0ba5ec5f1621f507be1e3ad2610c0f30ebe2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiosignal-1.2.0.dist-info/RECORD b/venv/lib/python3.8/site-packages/aiosignal-1.2.0.dist-info/RECORD new file mode 100644 index 0000000..212eb38 --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiosignal-1.2.0.dist-info/RECORD @@ -0,0 +1,12 @@ +aiosignal-1.2.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +aiosignal-1.2.0.dist-info/LICENSE,sha256=b9UkPpLdf5jsacesN3co50kFcJ_1J6W_mNbQJjwE9bY,11332 +aiosignal-1.2.0.dist-info/METADATA,sha256=_mpNKRs47LsjeAv7Hv0LpexfFiH1B74eOtJhDA8w6-I,5500 +aiosignal-1.2.0.dist-info/RECORD,, +aiosignal-1.2.0.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +aiosignal-1.2.0.dist-info/WHEEL,sha256=ewwEueio1C2XeHTvT17n8dZUJgOvyCWCt0WVNLClP9o,92 +aiosignal-1.2.0.dist-info/direct_url.json,sha256=HJKHnDucPL9GR6IrHuKgaZJGwLz8lLWRfg3YZ54KX3Y,251 +aiosignal-1.2.0.dist-info/top_level.txt,sha256=z45aNOKGDdrI1roqZY3BGXQ22kJFPHBmVdwtLYLtXC0,10 +aiosignal/__init__.py,sha256=MGQyLD_0xNqLqPpBqxPj0CHKQjCIY1UFUK5PtHvCWbU,867 +aiosignal/__init__.pyi,sha256=xeCddYSS8fZAkz8S4HuKSR2IDe3N7RW_LKcXDPPA1Xk,311 +aiosignal/__pycache__/__init__.cpython-38.pyc,, +aiosignal/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 diff --git a/venv/lib/python3.8/site-packages/aiosignal-1.2.0.dist-info/REQUESTED b/venv/lib/python3.8/site-packages/aiosignal-1.2.0.dist-info/REQUESTED new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.8/site-packages/aiosignal-1.2.0.dist-info/WHEEL b/venv/lib/python3.8/site-packages/aiosignal-1.2.0.dist-info/WHEEL new file mode 120000 index 0000000..e14c71b --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiosignal-1.2.0.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7b/0c/04/b9e8a8d42d977874ef4f5ee7f1d6542603afc82582b7459534b0a53fda \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiosignal-1.2.0.dist-info/direct_url.json b/venv/lib/python3.8/site-packages/aiosignal-1.2.0.dist-info/direct_url.json new file mode 100644 index 0000000..db2d5c9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiosignal-1.2.0.dist-info/direct_url.json @@ -0,0 +1 @@ +{"archive_info": {"hash": "sha256=26e62109036cd181df6e6ad646f91f0dcfd05fe16d0cb924138ff2ab75d64e3a"}, "url": "https://files.pythonhosted.org/packages/3b/87/fe94898f2d44a93a35d5aa74671ed28094d80753a1113d68b799fab6dc22/aiosignal-1.2.0-py3-none-any.whl"} \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiosignal-1.2.0.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/aiosignal-1.2.0.dist-info/top_level.txt new file mode 120000 index 0000000..c504aae --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiosignal-1.2.0.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cf/8e/5a/34e2860ddac8d6ba2a658dc1197436da42453c706655dc2d2d82ed5c2d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiosignal/__init__.py b/venv/lib/python3.8/site-packages/aiosignal/__init__.py new file mode 120000 index 0000000..da3facb --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiosignal/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/30/64/32/2c3ff4c4da8ba8fa41ab13e3d021ca42308863550550ae4fb47bc259b5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiosignal/__init__.pyi b/venv/lib/python3.8/site-packages/aiosignal/__init__.pyi new file mode 120000 index 0000000..8409183 --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiosignal/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c5/e0/9d/758492f1f640933f12e07b8a491d880dedcded15bf2ca7170cf3c0d579 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/aiosignal/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/aiosignal/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..b4e4ae0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/aiosignal/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/aiosignal/py.typed b/venv/lib/python3.8/site-packages/aiosignal/py.typed new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/aiosignal/py.typed @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/async_timeout-4.0.2.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/async_timeout-4.0.2.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/async_timeout-4.0.2.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/async_timeout-4.0.2.dist-info/LICENSE b/venv/lib/python3.8/site-packages/async_timeout-4.0.2.dist-info/LICENSE new file mode 120000 index 0000000..d05fead --- /dev/null +++ b/venv/lib/python3.8/site-packages/async_timeout-4.0.2.dist-info/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e1/8d/7b/b8f513e2c46bb585c94b585bd30720dd3ccb21ddb0786f72d16658f92c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/async_timeout-4.0.2.dist-info/METADATA b/venv/lib/python3.8/site-packages/async_timeout-4.0.2.dist-info/METADATA new file mode 120000 index 0000000..238b842 --- /dev/null +++ b/venv/lib/python3.8/site-packages/async_timeout-4.0.2.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/da/97/cc/c7106cb79bd0ed27cccb94c36835347118024906bbc1c0f9788f84c3ef \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/async_timeout-4.0.2.dist-info/RECORD b/venv/lib/python3.8/site-packages/async_timeout-4.0.2.dist-info/RECORD new file mode 100644 index 0000000..3babddb --- /dev/null +++ b/venv/lib/python3.8/site-packages/async_timeout-4.0.2.dist-info/RECORD @@ -0,0 +1,12 @@ +async_timeout-4.0.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +async_timeout-4.0.2.dist-info/LICENSE,sha256=4Y17uPUT4sRrtYXJS1hb0wcg3TzLId2weG9y0WZY-Sw,568 +async_timeout-4.0.2.dist-info/METADATA,sha256=2pfMxxBst5vQ7SfMy5TDaDU0cRgCSQa7wcD5eI-Ew-8,4193 +async_timeout-4.0.2.dist-info/RECORD,, +async_timeout-4.0.2.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +async_timeout-4.0.2.dist-info/WHEEL,sha256=ewwEueio1C2XeHTvT17n8dZUJgOvyCWCt0WVNLClP9o,92 +async_timeout-4.0.2.dist-info/direct_url.json,sha256=fchEz9IDpBGqOkwf5O27BGwXF_Fk32n7L53Vw_5vKj0,255 +async_timeout-4.0.2.dist-info/top_level.txt,sha256=9oM4e7Twq8iD_7_Q3Mz0E6GPIB6vJvRFo-UBwUQtBDU,14 +async_timeout-4.0.2.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1 +async_timeout/__init__.py,sha256=N-JUI_VExhHnO0emkF_-h08dl4HBgOje16N4Ci-W-go,7487 +async_timeout/__pycache__/__init__.cpython-38.pyc,, +async_timeout/py.typed,sha256=tyozzRT1fziXETDxokmuyt6jhOmtjUbnVNJdZcG7ik0,12 diff --git a/venv/lib/python3.8/site-packages/async_timeout-4.0.2.dist-info/REQUESTED b/venv/lib/python3.8/site-packages/async_timeout-4.0.2.dist-info/REQUESTED new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.8/site-packages/async_timeout-4.0.2.dist-info/WHEEL b/venv/lib/python3.8/site-packages/async_timeout-4.0.2.dist-info/WHEEL new file mode 120000 index 0000000..e14c71b --- /dev/null +++ b/venv/lib/python3.8/site-packages/async_timeout-4.0.2.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7b/0c/04/b9e8a8d42d977874ef4f5ee7f1d6542603afc82582b7459534b0a53fda \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/async_timeout-4.0.2.dist-info/direct_url.json b/venv/lib/python3.8/site-packages/async_timeout-4.0.2.dist-info/direct_url.json new file mode 100644 index 0000000..e462143 --- /dev/null +++ b/venv/lib/python3.8/site-packages/async_timeout-4.0.2.dist-info/direct_url.json @@ -0,0 +1 @@ +{"archive_info": {"hash": "sha256=8ca1e4fcf50d07413d66d1a5e416e42cfdf5851c981d679a09851a6853383b3c"}, "url": "https://files.pythonhosted.org/packages/d6/c1/8991e7c5385b897b8c020cdaad718c5b087a6626d1d11a23e1ea87e325a7/async_timeout-4.0.2-py3-none-any.whl"} \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/async_timeout-4.0.2.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/async_timeout-4.0.2.dist-info/top_level.txt new file mode 120000 index 0000000..83c3f15 --- /dev/null +++ b/venv/lib/python3.8/site-packages/async_timeout-4.0.2.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f6/83/38/7bb4f0abc883ffbfd0dcccf413a18f201eaf26f445a3e501c1442d0435 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/async_timeout-4.0.2.dist-info/zip-safe b/venv/lib/python3.8/site-packages/async_timeout-4.0.2.dist-info/zip-safe new file mode 120000 index 0000000..e11f061 --- /dev/null +++ b/venv/lib/python3.8/site-packages/async_timeout-4.0.2.dist-info/zip-safe @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/01/ba/47/19c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/async_timeout/__init__.py b/venv/lib/python3.8/site-packages/async_timeout/__init__.py new file mode 120000 index 0000000..6e7cc21 --- /dev/null +++ b/venv/lib/python3.8/site-packages/async_timeout/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/37/e2/54/23f544c611e73b47a6905ffe874f1d9781c180e8ded7a3780a2f96fa0a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/async_timeout/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/async_timeout/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..bcb2aad Binary files /dev/null and b/venv/lib/python3.8/site-packages/async_timeout/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/async_timeout/py.typed b/venv/lib/python3.8/site-packages/async_timeout/py.typed new file mode 120000 index 0000000..e0b8f5a --- /dev/null +++ b/venv/lib/python3.8/site-packages/async_timeout/py.typed @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b7/2a/33/cd14f57f38971130f1a249aecadea384e9ad8d46e754d25d65c1bb8a4d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/attr/__init__.py b/venv/lib/python3.8/site-packages/attr/__init__.py new file mode 120000 index 0000000..d5d6147 --- /dev/null +++ b/venv/lib/python3.8/site-packages/attr/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/29/98/e3/f3cc4277fb47f96e7d1d1d44bc78980148b865dd5dccec71f0fefb8de2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/attr/__init__.pyi b/venv/lib/python3.8/site-packages/attr/__init__.pyi new file mode 120000 index 0000000..4265b0c --- /dev/null +++ b/venv/lib/python3.8/site-packages/attr/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b7/ed/6b/f88d559f2c45aea89cfff431224d4751cdda839dcbd9bf25bf4c43653c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/attr/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/attr/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..c659529 Binary files /dev/null and b/venv/lib/python3.8/site-packages/attr/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/attr/__pycache__/_cmp.cpython-38.pyc b/venv/lib/python3.8/site-packages/attr/__pycache__/_cmp.cpython-38.pyc new file mode 100644 index 0000000..15b4223 Binary files /dev/null and b/venv/lib/python3.8/site-packages/attr/__pycache__/_cmp.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/attr/__pycache__/_compat.cpython-38.pyc b/venv/lib/python3.8/site-packages/attr/__pycache__/_compat.cpython-38.pyc new file mode 100644 index 0000000..61e16d3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/attr/__pycache__/_compat.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/attr/__pycache__/_config.cpython-38.pyc b/venv/lib/python3.8/site-packages/attr/__pycache__/_config.cpython-38.pyc new file mode 100644 index 0000000..eea44d5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/attr/__pycache__/_config.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/attr/__pycache__/_funcs.cpython-38.pyc b/venv/lib/python3.8/site-packages/attr/__pycache__/_funcs.cpython-38.pyc new file mode 100644 index 0000000..e234802 Binary files /dev/null and b/venv/lib/python3.8/site-packages/attr/__pycache__/_funcs.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/attr/__pycache__/_make.cpython-38.pyc b/venv/lib/python3.8/site-packages/attr/__pycache__/_make.cpython-38.pyc new file mode 100644 index 0000000..e8b3165 Binary files /dev/null and b/venv/lib/python3.8/site-packages/attr/__pycache__/_make.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/attr/__pycache__/_next_gen.cpython-38.pyc b/venv/lib/python3.8/site-packages/attr/__pycache__/_next_gen.cpython-38.pyc new file mode 100644 index 0000000..e0f44b6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/attr/__pycache__/_next_gen.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/attr/__pycache__/_version_info.cpython-38.pyc b/venv/lib/python3.8/site-packages/attr/__pycache__/_version_info.cpython-38.pyc new file mode 100644 index 0000000..9b7a445 Binary files /dev/null and b/venv/lib/python3.8/site-packages/attr/__pycache__/_version_info.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/attr/__pycache__/converters.cpython-38.pyc b/venv/lib/python3.8/site-packages/attr/__pycache__/converters.cpython-38.pyc new file mode 100644 index 0000000..f3d1b94 Binary files /dev/null and b/venv/lib/python3.8/site-packages/attr/__pycache__/converters.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/attr/__pycache__/exceptions.cpython-38.pyc b/venv/lib/python3.8/site-packages/attr/__pycache__/exceptions.cpython-38.pyc new file mode 100644 index 0000000..34250bd Binary files /dev/null and b/venv/lib/python3.8/site-packages/attr/__pycache__/exceptions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/attr/__pycache__/filters.cpython-38.pyc b/venv/lib/python3.8/site-packages/attr/__pycache__/filters.cpython-38.pyc new file mode 100644 index 0000000..4a9c7b3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/attr/__pycache__/filters.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/attr/__pycache__/setters.cpython-38.pyc b/venv/lib/python3.8/site-packages/attr/__pycache__/setters.cpython-38.pyc new file mode 100644 index 0000000..083d12d Binary files /dev/null and b/venv/lib/python3.8/site-packages/attr/__pycache__/setters.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/attr/__pycache__/validators.cpython-38.pyc b/venv/lib/python3.8/site-packages/attr/__pycache__/validators.cpython-38.pyc new file mode 100644 index 0000000..c4cd0b9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/attr/__pycache__/validators.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/attr/_cmp.py b/venv/lib/python3.8/site-packages/attr/_cmp.py new file mode 120000 index 0000000..0214f18 --- /dev/null +++ b/venv/lib/python3.8/site-packages/attr/_cmp.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/32/6a/a3/fbac3bd60fefc744d32cb914e296e6bf6f2acff1720467146f51d7f591 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/attr/_cmp.pyi b/venv/lib/python3.8/site-packages/attr/_cmp.pyi new file mode 120000 index 0000000..95fd4ba --- /dev/null +++ b/venv/lib/python3.8/site-packages/attr/_cmp.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/71/29/55/bc81f802cd8d9432282e094f11b4ab04c595553a701315430c11faa67f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/attr/_compat.py b/venv/lib/python3.8/site-packages/attr/_compat.py new file mode 120000 index 0000000..b33ba45 --- /dev/null +++ b/venv/lib/python3.8/site-packages/attr/_compat.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/42/bf/64/64ebbde4e83b8e83da4225e83dbe787a92aac4d537f57bb4bb84151992 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/attr/_config.py b/venv/lib/python3.8/site-packages/attr/_config.py new file mode 120000 index 0000000..4803c0d --- /dev/null +++ b/venv/lib/python3.8/site-packages/attr/_config.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e5/6f/25/81178fb88396bb566ea85d7cf7d7b60a65c673de7e8a9c13a45d5c114e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/attr/_funcs.py b/venv/lib/python3.8/site-packages/attr/_funcs.py new file mode 120000 index 0000000..cd151ee --- /dev/null +++ b/venv/lib/python3.8/site-packages/attr/_funcs.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5d/31/4a/66d779cf1b14bd6a1c070ed502cc13c47fa71479341fc809d89424c43e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/attr/_make.py b/venv/lib/python3.8/site-packages/attr/_make.py new file mode 120000 index 0000000..32eb314 --- /dev/null +++ b/venv/lib/python3.8/site-packages/attr/_make.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4a/bc/5b/85bf24075ed3ea73fd7bf76071763bdb375af717cbe6e273bdae8b1316 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/attr/_next_gen.py b/venv/lib/python3.8/site-packages/attr/_next_gen.py new file mode 120000 index 0000000..3e8162f --- /dev/null +++ b/venv/lib/python3.8/site-packages/attr/_next_gen.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/37/41/9b/e567411df71f421714b0b01cff6658ce5d09b405f534e1ee0e0be479c1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/attr/_version_info.py b/venv/lib/python3.8/site-packages/attr/_version_info.py new file mode 120000 index 0000000..e43f257 --- /dev/null +++ b/venv/lib/python3.8/site-packages/attr/_version_info.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7b/14/aa/6f76f913e7cc4ac819025130f5770ba448286cf391099a5c68482500ce \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/attr/_version_info.pyi b/venv/lib/python3.8/site-packages/attr/_version_info.pyi new file mode 120000 index 0000000..3602b5f --- /dev/null +++ b/venv/lib/python3.8/site-packages/attr/_version_info.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c7/f3/37/2f75ae07baff50b5c05a3c7de7db9d290e072c1f25fa1b1cd450c636f9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/attr/converters.py b/venv/lib/python3.8/site-packages/attr/converters.py new file mode 120000 index 0000000..c15e415 --- /dev/null +++ b/venv/lib/python3.8/site-packages/attr/converters.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4d/60/9f/98203193cb36b604d2627c90bfd3110cf7f5a64f118f5e8a3bf5ea7b57 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/attr/converters.pyi b/venv/lib/python3.8/site-packages/attr/converters.pyi new file mode 120000 index 0000000..2e6f6b7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/attr/converters.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/31/0a/3b/884ccf355a05a4aa83df4b15c2056974da08792085da7b17be8c4b67e6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/attr/exceptions.py b/venv/lib/python3.8/site-packages/attr/exceptions.py new file mode 120000 index 0000000..1f11a61 --- /dev/null +++ b/venv/lib/python3.8/site-packages/attr/exceptions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/64/61/0c/2efd020d8d533ad8f8f4e17ce26c9e8ce9fe2c209700a18829a94a9155 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/attr/exceptions.pyi b/venv/lib/python3.8/site-packages/attr/exceptions.pyi new file mode 120000 index 0000000..7c64925 --- /dev/null +++ b/venv/lib/python3.8/site-packages/attr/exceptions.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cd/9a/bc/6c2527280cbd983b41130e366613e1014207a1329e7434089c90fcf373 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/attr/filters.py b/venv/lib/python3.8/site-packages/attr/filters.py new file mode 120000 index 0000000..ed8a466 --- /dev/null +++ b/venv/lib/python3.8/site-packages/attr/filters.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/69/97/a9/e7887cfb86585799666770f1da6a9e407e1c331eadb82982ca52cd6c45 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/attr/filters.pyi b/venv/lib/python3.8/site-packages/attr/filters.pyi new file mode 120000 index 0000000..056fadb --- /dev/null +++ b/venv/lib/python3.8/site-packages/attr/filters.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fd/29/bc/d231b24844d7fc2973764a27e4d1d58d059197763796240a657d5ccd77 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/attr/py.typed b/venv/lib/python3.8/site-packages/attr/py.typed new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/attr/py.typed @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/attr/setters.py b/venv/lib/python3.8/site-packages/attr/setters.py new file mode 120000 index 0000000..25041d2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/attr/setters.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a5/b0/99/43ea44e99c630ea65f59652150579f5eda5e908538a92fd80cc2cf439d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/attr/setters.pyi b/venv/lib/python3.8/site-packages/attr/setters.pyi new file mode 120000 index 0000000..23e22c6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/attr/setters.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ed/d3/35/d2baa94150d6d32fa22549eaf2b69b74ee56c7649ba392f035ad085e5d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/attr/validators.py b/venv/lib/python3.8/site-packages/attr/validators.py new file mode 120000 index 0000000..8883324 --- /dev/null +++ b/venv/lib/python3.8/site-packages/attr/validators.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/72/93/87/30d4add360296d342d400c014cc79666aa74bbfb31f9edf11fe8d3c91e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/attr/validators.pyi b/venv/lib/python3.8/site-packages/attr/validators.pyi new file mode 120000 index 0000000..f55f1f3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/attr/validators.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ea/78/1b/be75a715291b7f927674af3aa6adb1a44b6bc3359329f278694bd22259 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/attrs-22.1.0.dist-info/AUTHORS.rst b/venv/lib/python3.8/site-packages/attrs-22.1.0.dist-info/AUTHORS.rst new file mode 120000 index 0000000..3b8d8d6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/attrs-22.1.0.dist-info/AUTHORS.rst @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8d/ab/b9/a7b24c3db0497820a91815ac463f33a71515021a72a0714945f8ccf3cf \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/attrs-22.1.0.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/attrs-22.1.0.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/attrs-22.1.0.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/attrs-22.1.0.dist-info/LICENSE b/venv/lib/python3.8/site-packages/attrs-22.1.0.dist-info/LICENSE new file mode 120000 index 0000000..9aa350a --- /dev/null +++ b/venv/lib/python3.8/site-packages/attrs-22.1.0.dist-info/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/88/21/15/c95dfc2af1eeb6714f8ec6d5cbcabf667caff8729f42420da63f714e9f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/attrs-22.1.0.dist-info/METADATA b/venv/lib/python3.8/site-packages/attrs-22.1.0.dist-info/METADATA new file mode 120000 index 0000000..9e8543b --- /dev/null +++ b/venv/lib/python3.8/site-packages/attrs-22.1.0.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bf/04/8c/2bf05b120547ae0156a63de25b43c849330f1f38baaa16a6f6383b2ed0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/attrs-22.1.0.dist-info/RECORD b/venv/lib/python3.8/site-packages/attrs-22.1.0.dist-info/RECORD new file mode 100644 index 0000000..6f3ac14 --- /dev/null +++ b/venv/lib/python3.8/site-packages/attrs-22.1.0.dist-info/RECORD @@ -0,0 +1,58 @@ +attr/__init__.py,sha256=KZjj88xCd_tH-W59HR1EvHiYAUi4Zd1dzOxx8P77jeI,1602 +attr/__init__.pyi,sha256=t-1r-I1VnyxFrqic__QxIk1HUc3ag53L2b8lv0xDZTw,15137 +attr/__pycache__/__init__.cpython-38.pyc,, +attr/__pycache__/_cmp.cpython-38.pyc,, +attr/__pycache__/_compat.cpython-38.pyc,, +attr/__pycache__/_config.cpython-38.pyc,, +attr/__pycache__/_funcs.cpython-38.pyc,, +attr/__pycache__/_make.cpython-38.pyc,, +attr/__pycache__/_next_gen.cpython-38.pyc,, +attr/__pycache__/_version_info.cpython-38.pyc,, +attr/__pycache__/converters.cpython-38.pyc,, +attr/__pycache__/exceptions.cpython-38.pyc,, +attr/__pycache__/filters.cpython-38.pyc,, +attr/__pycache__/setters.cpython-38.pyc,, +attr/__pycache__/validators.cpython-38.pyc,, +attr/_cmp.py,sha256=Mmqj-6w71g_vx0TTLLkU4pbmv28qz_FyBGcUb1HX9ZE,4102 +attr/_cmp.pyi,sha256=cSlVvIH4As2NlDIoLglPEbSrBMWVVTpwExVDDBH6pn8,357 +attr/_compat.py,sha256=Qr9kZOu95Og7joPaQiXoPb54epKqxNU39Xu0u4QVGZI,5568 +attr/_config.py,sha256=5W8lgRePuIOWu1ZuqF1899e2CmXGc95-ipwTpF1cEU4,826 +attr/_funcs.py,sha256=XTFKZtd5zxsUvWocBw7VAswTxH-nFHk0H8gJ2JQkxD4,14645 +attr/_make.py,sha256=Srxbhb8kB17T6nP9e_dgcXY72zda9xfL5uJzva6LExY,97569 +attr/_next_gen.py,sha256=N0Gb5WdBHfcfQhcUsLAc_2ZYzl0JtAX1NOHuDgvkecE,5882 +attr/_version_info.py,sha256=exSqb3b5E-fMSsgZAlEw9XcLpEgobPORCZpcaEglAM4,2121 +attr/_version_info.pyi,sha256=x_M3L3WuB7r_ULXAWjx959udKQ4HLB8l-hsc1FDGNvk,209 +attr/converters.py,sha256=TWCfmCAxk8s2tgTSYnyQv9MRDPf1pk8Rj16KO_Xqe1c,3610 +attr/converters.pyi,sha256=MQo7iEzPNVoFpKqD30sVwgVpdNoIeSCF2nsXvoxLZ-Y,416 +attr/exceptions.py,sha256=ZGEMLv0CDY1TOtj49OF84myejOn-LCCXAKGIKalKkVU,1915 +attr/exceptions.pyi,sha256=zZq8bCUnKAy9mDtBEw42ZhPhAUIHoTKedDQInJD883M,539 +attr/filters.py,sha256=aZep54h8-4ZYV5lmZ3Dx2mqeQH4cMx6tuCmCylLNbEU,1038 +attr/filters.pyi,sha256=_Sm80jGySETX_Clzdkon5NHVjQWRl3Y3liQKZX1czXc,215 +attr/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +attr/setters.py,sha256=pbCZQ-pE6ZxjDqZfWWUhUFefXtpekIU4qS_YDMLPQ50,1400 +attr/setters.pyi,sha256=7dM10rqpQVDW0y-iJUnq8rabdO5Wx2Sbo5LwNa0IXl0,573 +attr/validators.py,sha256=cpOHMNSt02ApbTQtQAwBTMeWZqp0u_sx-e3xH-jTyR4,16793 +attr/validators.pyi,sha256=6ngbvnWnFSkbf5J2dK86pq2xpEtrwzWTKfJ4aUvSIlk,2355 +attrs-22.1.0.dist-info/AUTHORS.rst,sha256=jau5p7JMPbBJeCCpGBWsRj8zpxUVAhpyoHFJRfjM888,743 +attrs-22.1.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +attrs-22.1.0.dist-info/LICENSE,sha256=iCEVyV38KvHutnFPjsbVy8q_Znyv-HKfQkINpj9xTp8,1109 +attrs-22.1.0.dist-info/METADATA,sha256=vwSMK_BbEgVHrgFWpj3iW0PISTMPHzi6qham9jg7LtA,11015 +attrs-22.1.0.dist-info/RECORD,, +attrs-22.1.0.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +attrs-22.1.0.dist-info/WHEEL,sha256=z9j0xAa_JmUKMpmz72K0ZGALSM_n-wQVmGbleXx2VHg,110 +attrs-22.1.0.dist-info/direct_url.json,sha256=teRw1NijAiOv3snAnhIsnPKXmp_ghC3u4Xmru-5haxo,252 +attrs-22.1.0.dist-info/top_level.txt,sha256=AGbmKnOtYpdkLRsDRQVSBIwfL32pAQ6BSo1mt-BxI7M,11 +attrs/__init__.py,sha256=CeyxLGVViAEKKsLOLaif8vF3vs1a28vsrRVLv7eMEgM,1109 +attrs/__init__.pyi,sha256=vuFxNbulP9Q7hfpO6Lb5A-_0mbEJOiwYyefjzXMqVfs,2100 +attrs/__pycache__/__init__.cpython-38.pyc,, +attrs/__pycache__/converters.cpython-38.pyc,, +attrs/__pycache__/exceptions.cpython-38.pyc,, +attrs/__pycache__/filters.cpython-38.pyc,, +attrs/__pycache__/setters.cpython-38.pyc,, +attrs/__pycache__/validators.cpython-38.pyc,, +attrs/converters.py,sha256=fCBEdlYWcmI3sCnpUk2pz22GYtXzqTkp6NeOpdI64PY,70 +attrs/exceptions.py,sha256=SlDli6AY77f6ny-H7oy98OkQjsrw-D_supEuErIVYkE,70 +attrs/filters.py,sha256=dc_dNey29kH6KLU1mT2Dakq7tZ3kBfzEGwzOmDzw1F8,67 +attrs/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +attrs/setters.py,sha256=oKw51C72Hh45wTwYvDHJP9kbicxiMhMR4Y5GvdpKdHQ,67 +attrs/validators.py,sha256=4ag1SyVD2Hm3PYKiNG_NOtR_e7f81Hr6GiNl4YvXo4Q,70 diff --git a/venv/lib/python3.8/site-packages/attrs-22.1.0.dist-info/REQUESTED b/venv/lib/python3.8/site-packages/attrs-22.1.0.dist-info/REQUESTED new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.8/site-packages/attrs-22.1.0.dist-info/WHEEL b/venv/lib/python3.8/site-packages/attrs-22.1.0.dist-info/WHEEL new file mode 120000 index 0000000..ae483c4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/attrs-22.1.0.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cf/d8/f4/c406bf26650a3299b3ef62b464600b48cfe7fb04159866e5797c765478 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/attrs-22.1.0.dist-info/direct_url.json b/venv/lib/python3.8/site-packages/attrs-22.1.0.dist-info/direct_url.json new file mode 100644 index 0000000..497c63f --- /dev/null +++ b/venv/lib/python3.8/site-packages/attrs-22.1.0.dist-info/direct_url.json @@ -0,0 +1 @@ +{"archive_info": {"hash": "sha256=86efa402f67bf2df34f51a335487cf46b1ec130d02b8d39fd248abfd30da551c"}, "url": "https://files.pythonhosted.org/packages/f2/bc/d817287d1aa01878af07c19505fafd1165cd6a119e9d0821ca1d1c20312d/attrs-22.1.0-py2.py3-none-any.whl"} \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/attrs-22.1.0.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/attrs-22.1.0.dist-info/top_level.txt new file mode 120000 index 0000000..c240805 --- /dev/null +++ b/venv/lib/python3.8/site-packages/attrs-22.1.0.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/00/66/e6/2a73ad6297642d1b03450552048c1f2f7da9010e814a8d66b7e07123b3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/attrs/__init__.py b/venv/lib/python3.8/site-packages/attrs/__init__.py new file mode 120000 index 0000000..009162e --- /dev/null +++ b/venv/lib/python3.8/site-packages/attrs/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/09/ec/b1/2c655588010a2ac2ce2da89ff2f177becd5adbcbecad154bbfb78c1203 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/attrs/__init__.pyi b/venv/lib/python3.8/site-packages/attrs/__init__.pyi new file mode 120000 index 0000000..bc00978 --- /dev/null +++ b/venv/lib/python3.8/site-packages/attrs/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/be/e1/71/35bba53fd43b85fa4ee8b6f903eff499b1093a2c18c9e7e3cd732a55fb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/attrs/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/attrs/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..4b817cd Binary files /dev/null and b/venv/lib/python3.8/site-packages/attrs/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/attrs/__pycache__/converters.cpython-38.pyc b/venv/lib/python3.8/site-packages/attrs/__pycache__/converters.cpython-38.pyc new file mode 100644 index 0000000..42c6d62 Binary files /dev/null and b/venv/lib/python3.8/site-packages/attrs/__pycache__/converters.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/attrs/__pycache__/exceptions.cpython-38.pyc b/venv/lib/python3.8/site-packages/attrs/__pycache__/exceptions.cpython-38.pyc new file mode 100644 index 0000000..fa11539 Binary files /dev/null and b/venv/lib/python3.8/site-packages/attrs/__pycache__/exceptions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/attrs/__pycache__/filters.cpython-38.pyc b/venv/lib/python3.8/site-packages/attrs/__pycache__/filters.cpython-38.pyc new file mode 100644 index 0000000..f9740f2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/attrs/__pycache__/filters.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/attrs/__pycache__/setters.cpython-38.pyc b/venv/lib/python3.8/site-packages/attrs/__pycache__/setters.cpython-38.pyc new file mode 100644 index 0000000..8679784 Binary files /dev/null and b/venv/lib/python3.8/site-packages/attrs/__pycache__/setters.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/attrs/__pycache__/validators.cpython-38.pyc b/venv/lib/python3.8/site-packages/attrs/__pycache__/validators.cpython-38.pyc new file mode 100644 index 0000000..08c3760 Binary files /dev/null and b/venv/lib/python3.8/site-packages/attrs/__pycache__/validators.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/attrs/converters.py b/venv/lib/python3.8/site-packages/attrs/converters.py new file mode 120000 index 0000000..873dcf9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/attrs/converters.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7c/20/44/765616726237b029e9524da9cf6d8662d5f3a93929e8d78ea5d23ae0f6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/attrs/exceptions.py b/venv/lib/python3.8/site-packages/attrs/exceptions.py new file mode 120000 index 0000000..a43009f --- /dev/null +++ b/venv/lib/python3.8/site-packages/attrs/exceptions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4a/50/e5/8ba018efb7fa9f2f87ee8cbdf0e9108ecaf0f83fecba912e12b2156241 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/attrs/filters.py b/venv/lib/python3.8/site-packages/attrs/filters.py new file mode 120000 index 0000000..1a75b11 --- /dev/null +++ b/venv/lib/python3.8/site-packages/attrs/filters.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/75/cf/dd/35ecb6f641fa28b535993d836a4abbb59de405fcc41b0cce983cf0d45f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/attrs/py.typed b/venv/lib/python3.8/site-packages/attrs/py.typed new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/attrs/py.typed @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/attrs/setters.py b/venv/lib/python3.8/site-packages/attrs/setters.py new file mode 120000 index 0000000..18b258a --- /dev/null +++ b/venv/lib/python3.8/site-packages/attrs/setters.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a0/ac/39/d42ef61e1e39c13c18bc31c93fd91b89cc62321311e18e46bdda4a7474 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/attrs/validators.py b/venv/lib/python3.8/site-packages/attrs/validators.py new file mode 120000 index 0000000..dfc3029 --- /dev/null +++ b/venv/lib/python3.8/site-packages/attrs/validators.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e1/a8/35/4b2543d879b73d82a2346fcd3ad47f7bb7fcd47afa1a2365e18bd7a384 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cachecontrol/__init__.py b/venv/lib/python3.8/site-packages/cachecontrol/__init__.py new file mode 120000 index 0000000..92fcea0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cachecontrol/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/86/bc/65/bf7abbba9b1fc8cc3c937810f6f6a005ac75a581d2186a98959d199343 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cachecontrol/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/cachecontrol/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..3a9d3e4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cachecontrol/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cachecontrol/__pycache__/_cmd.cpython-38.pyc b/venv/lib/python3.8/site-packages/cachecontrol/__pycache__/_cmd.cpython-38.pyc new file mode 100644 index 0000000..6de1b15 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cachecontrol/__pycache__/_cmd.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cachecontrol/__pycache__/adapter.cpython-38.pyc b/venv/lib/python3.8/site-packages/cachecontrol/__pycache__/adapter.cpython-38.pyc new file mode 100644 index 0000000..dc134f0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cachecontrol/__pycache__/adapter.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cachecontrol/__pycache__/cache.cpython-38.pyc b/venv/lib/python3.8/site-packages/cachecontrol/__pycache__/cache.cpython-38.pyc new file mode 100644 index 0000000..a05be4a Binary files /dev/null and b/venv/lib/python3.8/site-packages/cachecontrol/__pycache__/cache.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cachecontrol/__pycache__/compat.cpython-38.pyc b/venv/lib/python3.8/site-packages/cachecontrol/__pycache__/compat.cpython-38.pyc new file mode 100644 index 0000000..bf6bb34 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cachecontrol/__pycache__/compat.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cachecontrol/__pycache__/controller.cpython-38.pyc b/venv/lib/python3.8/site-packages/cachecontrol/__pycache__/controller.cpython-38.pyc new file mode 100644 index 0000000..50475ed Binary files /dev/null and b/venv/lib/python3.8/site-packages/cachecontrol/__pycache__/controller.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cachecontrol/__pycache__/filewrapper.cpython-38.pyc b/venv/lib/python3.8/site-packages/cachecontrol/__pycache__/filewrapper.cpython-38.pyc new file mode 100644 index 0000000..3df0d02 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cachecontrol/__pycache__/filewrapper.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cachecontrol/__pycache__/heuristics.cpython-38.pyc b/venv/lib/python3.8/site-packages/cachecontrol/__pycache__/heuristics.cpython-38.pyc new file mode 100644 index 0000000..92e2f50 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cachecontrol/__pycache__/heuristics.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cachecontrol/__pycache__/serialize.cpython-38.pyc b/venv/lib/python3.8/site-packages/cachecontrol/__pycache__/serialize.cpython-38.pyc new file mode 100644 index 0000000..e2be140 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cachecontrol/__pycache__/serialize.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cachecontrol/__pycache__/wrapper.cpython-38.pyc b/venv/lib/python3.8/site-packages/cachecontrol/__pycache__/wrapper.cpython-38.pyc new file mode 100644 index 0000000..6a09998 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cachecontrol/__pycache__/wrapper.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cachecontrol/_cmd.py b/venv/lib/python3.8/site-packages/cachecontrol/_cmd.py new file mode 120000 index 0000000..07356ad --- /dev/null +++ b/venv/lib/python3.8/site-packages/cachecontrol/_cmd.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1e/31/49/74680f38bb2f4bfe5ef01bea62bc1e5c98f5811edd4aca820755f6e2ec \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cachecontrol/adapter.py b/venv/lib/python3.8/site-packages/cachecontrol/adapter.py new file mode 120000 index 0000000..44020a5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cachecontrol/adapter.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/76/ef/02/b072adb4058bf7ea56992bf23435731eb1fea9f8923a0a3a7dc6a733ed \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cachecontrol/cache.py b/venv/lib/python3.8/site-packages/cachecontrol/cache.py new file mode 120000 index 0000000..21f91f6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cachecontrol/cache.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4e/dc/b8/e5f3a31f8d1f0a89531a4a8a42f41099b62c32993e9c2c9f2dcbf6bc6e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cachecontrol/caches/__init__.py b/venv/lib/python3.8/site-packages/cachecontrol/caches/__init__.py new file mode 120000 index 0000000..a358aa3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cachecontrol/caches/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/87/ed/5c/5263b3ea684bb234e33ab27c88f7a3a4674b0b21b89734dfb5f199bcb8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cachecontrol/caches/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/cachecontrol/caches/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..c12ac83 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cachecontrol/caches/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cachecontrol/caches/__pycache__/file_cache.cpython-38.pyc b/venv/lib/python3.8/site-packages/cachecontrol/caches/__pycache__/file_cache.cpython-38.pyc new file mode 100644 index 0000000..2e09dcd Binary files /dev/null and b/venv/lib/python3.8/site-packages/cachecontrol/caches/__pycache__/file_cache.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cachecontrol/caches/__pycache__/redis_cache.cpython-38.pyc b/venv/lib/python3.8/site-packages/cachecontrol/caches/__pycache__/redis_cache.cpython-38.pyc new file mode 100644 index 0000000..1379ad4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cachecontrol/caches/__pycache__/redis_cache.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cachecontrol/caches/file_cache.py b/venv/lib/python3.8/site-packages/cachecontrol/caches/file_cache.py new file mode 120000 index 0000000..f8f1f99 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cachecontrol/caches/file_cache.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1a/97/b1/704dbd2e863831a6703d44dc50165a0dd72c8eac8bc591739e4f076ebe \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cachecontrol/caches/redis_cache.py b/venv/lib/python3.8/site-packages/cachecontrol/caches/redis_cache.py new file mode 120000 index 0000000..06edcf2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cachecontrol/caches/redis_cache.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6c/62/80/53420e709505994fdb941237c3acca8f52f82327c33e62cdcb38e9ff2e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cachecontrol/compat.py b/venv/lib/python3.8/site-packages/cachecontrol/compat.py new file mode 120000 index 0000000..9c1beff --- /dev/null +++ b/venv/lib/python3.8/site-packages/cachecontrol/compat.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/24/e5/4a/c8889ba7c9cdab78c06efee75c1b0d3ad5c754428f879bbcaf6a8b195a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cachecontrol/controller.py b/venv/lib/python3.8/site-packages/cachecontrol/controller.py new file mode 120000 index 0000000..a6fdeb4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cachecontrol/controller.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ea/3c/93/e23e0b16c22f7c3792143eb128ad794423889f013636bf1483b202b70c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cachecontrol/filewrapper.py b/venv/lib/python3.8/site-packages/cachecontrol/filewrapper.py new file mode 120000 index 0000000..ee756c2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cachecontrol/filewrapper.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5f/80/40/40e3b6e8634e47b9c7fdf853cc07deb9cb76ac141cc7fd79332141a5cb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cachecontrol/heuristics.py b/venv/lib/python3.8/site-packages/cachecontrol/heuristics.py new file mode 120000 index 0000000..e95f4be --- /dev/null +++ b/venv/lib/python3.8/site-packages/cachecontrol/heuristics.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f2/40/32/b992d20b2108810afabdb5307e1a6a83da30b3898cd0857a0d66b37af2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cachecontrol/serialize.py b/venv/lib/python3.8/site-packages/cachecontrol/serialize.py new file mode 120000 index 0000000..2253e82 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cachecontrol/serialize.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a9/b3/15/6e75120ee4119495939faf822ab5d84a16949fd7528a0b6fb40688df10 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cachecontrol/wrapper.py b/venv/lib/python3.8/site-packages/cachecontrol/wrapper.py new file mode 120000 index 0000000..e85b455 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cachecontrol/wrapper.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5f/7f/8a/319db41e8dd5b6ac95697725a5e429173a24479344f2d6527ef295681f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cachy-0.3.0.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/cachy-0.3.0.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/cachy-0.3.0.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/cachy-0.3.0.dist-info/LICENSE b/venv/lib/python3.8/site-packages/cachy-0.3.0.dist-info/LICENSE new file mode 120000 index 0000000..5ea6000 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cachy-0.3.0.dist-info/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/79/d7/6b/bec3899d16482163a365c7f65e87a729993a1d65f960f4181e2ecb81a0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cachy-0.3.0.dist-info/METADATA b/venv/lib/python3.8/site-packages/cachy-0.3.0.dist-info/METADATA new file mode 120000 index 0000000..55be8fc --- /dev/null +++ b/venv/lib/python3.8/site-packages/cachy-0.3.0.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/28/af/5d/83ece7150ca095d946b367a9b1f211bb7edf32055a4023ba562e538c6b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cachy-0.3.0.dist-info/RECORD b/venv/lib/python3.8/site-packages/cachy-0.3.0.dist-info/RECORD new file mode 100644 index 0000000..b3fa65d --- /dev/null +++ b/venv/lib/python3.8/site-packages/cachy-0.3.0.dist-info/RECORD @@ -0,0 +1,53 @@ +cachy-0.3.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +cachy-0.3.0.dist-info/LICENSE,sha256=eddrvsOJnRZIIWOjZcf2XoenKZk6HWX5YPQYHi7LgaA,1062 +cachy-0.3.0.dist-info/METADATA,sha256=KK9dg-znFQygldlGs2epsfIRu37fMgVaQCO6Vi5TjGs,1472 +cachy-0.3.0.dist-info/RECORD,, +cachy-0.3.0.dist-info/WHEEL,sha256=k_UtF7DeTKrUqc0FULNabrogAWgCy8zJZKQiwD2AkC4,89 +cachy/__init__.py,sha256=y41ImV85TJlxPUkY7wNYgAhG2VQEo5_g_03WbczZ5_E,124 +cachy/__pycache__/__init__.cpython-38.pyc,, +cachy/__pycache__/cache_manager.cpython-38.pyc,, +cachy/__pycache__/helpers.cpython-38.pyc,, +cachy/__pycache__/redis_tagged_cache.cpython-38.pyc,, +cachy/__pycache__/repository.cpython-38.pyc,, +cachy/__pycache__/tag_set.cpython-38.pyc,, +cachy/__pycache__/tagged_cache.cpython-38.pyc,, +cachy/__pycache__/utils.cpython-38.pyc,, +cachy/cache_manager.py,sha256=-eL3UqPRy6uTGqyYzZmqGkYt8PrxhIx9ziu8uZIWIWQ,7339 +cachy/contracts/__init__.py,sha256=O9CT1B2F-cVB8elT0EoCJbgkcffjvlmqteqavs4giDg,25 +cachy/contracts/__pycache__/__init__.cpython-38.pyc,, +cachy/contracts/__pycache__/factory.cpython-38.pyc,, +cachy/contracts/__pycache__/repository.cpython-38.pyc,, +cachy/contracts/__pycache__/store.cpython-38.pyc,, +cachy/contracts/__pycache__/taggable_store.cpython-38.pyc,, +cachy/contracts/factory.py,sha256=F6USJ2ooGjTOFNS8gqmKxg8LHK3SZ2RgcbBxQI1QYsE,323 +cachy/contracts/repository.py,sha256=-3eqnXR8j5MiRIPlOYpec1X9DuIYNFbf_pn86XO8oDM,2942 +cachy/contracts/store.py,sha256=oxQWQEwiHIDOQj1b7CGnztrQdeFFHG5iAEVluZ-bAh8,2594 +cachy/contracts/taggable_store.py,sha256=ObQILbeu_CLBKV17r1dn3IJWjoPi4WiNboFKW7JW6RA,497 +cachy/helpers.py,sha256=pDSGH7MD2ARvumlPl6KhycFHIP_QQk5KsWRA6Vfs08U,101 +cachy/redis_tagged_cache.py,sha256=FZ8mmAd0y-QmXc7DCA0W-oJkUT7HgX-xX82QOosJV-E,2171 +cachy/repository.py,sha256=ZZHdMXeUrxvT2PJSmL9hTqeUr7fUkq527UvrZ3aQMyg,8250 +cachy/serializers/__init__.py,sha256=RuQDghzeLKWxWs8YKju6dOp75AsTcookQqOjYj9nfjs,202 +cachy/serializers/__pycache__/__init__.cpython-38.pyc,, +cachy/serializers/__pycache__/json_serializer.cpython-38.pyc,, +cachy/serializers/__pycache__/msgpack_serializer.cpython-38.pyc,, +cachy/serializers/__pycache__/pickle_serializer.cpython-38.pyc,, +cachy/serializers/__pycache__/serializer.cpython-38.pyc,, +cachy/serializers/json_serializer.py,sha256=UNjSMa0auB9cVI-Ru6NB5dtvXKqSQ1Ne66fllOLwxT0,683 +cachy/serializers/msgpack_serializer.py,sha256=UX31MOUri5KwgECKOczoTaWAeJfvVeVQujKXz560xyI,814 +cachy/serializers/pickle_serializer.py,sha256=Hc-OOLQnLfOCvYGdRO3umd2z38MNjz7IUBPLI0Ksecc,848 +cachy/serializers/serializer.py,sha256=d_1G10DNG0Myq4tO43T1RmESyZjRRiHubhKsI21D4no,513 +cachy/stores/__init__.py,sha256=9kcnXzYQl9SU9EOYfMeTZH5bT7H1y2mPZkHYuIahZDk,207 +cachy/stores/__pycache__/__init__.cpython-38.pyc,, +cachy/stores/__pycache__/dict_store.cpython-38.pyc,, +cachy/stores/__pycache__/file_store.cpython-38.pyc,, +cachy/stores/__pycache__/memcached_store.cpython-38.pyc,, +cachy/stores/__pycache__/null_store.cpython-38.pyc,, +cachy/stores/__pycache__/redis_store.cpython-38.pyc,, +cachy/stores/dict_store.py,sha256=Y8QN_yg3yzq6QxaX24Sg62lRLt0qODTV-XdVuosaNpw,3700 +cachy/stores/file_store.py,sha256=5RakbtGquztkcPBtYGg7GQ64R0lG9638zFgwbZ2TcvQ,5806 +cachy/stores/memcached_store.py,sha256=hZ1bMNDqj49eRKN3rCpO80j4XVfm1jbddyFRWIXGXRA,2984 +cachy/stores/null_store.py,sha256=2kYMfN4G9TlrAH7YMx60TT3BmNwfEA2z1AezMJcL_gk,2026 +cachy/stores/redis_store.py,sha256=0qHMDEDXxo0BIwPa1kjrSCJaeFTTipabo4yQTTSzivs,3318 +cachy/tag_set.py,sha256=R7kJUapYsd5zsnQ4MoWL9E9XgCuhUGdHXwcccpJEtwM,1665 +cachy/tagged_cache.py,sha256=A7yl7jVdMyITIM8P3aL-X_OAuEmHQP8XPz2jNMdtbzM,5835 +cachy/utils.py,sha256=w2JpCwjLDE-GpdUyuRnkQA4hXyj-cml9etZ4ReuSQGQ,1309 diff --git a/venv/lib/python3.8/site-packages/cachy-0.3.0.dist-info/WHEEL b/venv/lib/python3.8/site-packages/cachy-0.3.0.dist-info/WHEEL new file mode 120000 index 0000000..3817540 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cachy-0.3.0.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/93/f5/2d/17b0de4caad4a9cd0550b35a6eba20016802cbccc964a422c03d80902e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cachy/__init__.py b/venv/lib/python3.8/site-packages/cachy/__init__.py new file mode 120000 index 0000000..64358bd --- /dev/null +++ b/venv/lib/python3.8/site-packages/cachy/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cb/8d/48/995f394c99713d4918ef0358800846d95404a39fe0ff4dd66dccd9e7f1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cachy/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/cachy/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..4dafefe Binary files /dev/null and b/venv/lib/python3.8/site-packages/cachy/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cachy/__pycache__/cache_manager.cpython-38.pyc b/venv/lib/python3.8/site-packages/cachy/__pycache__/cache_manager.cpython-38.pyc new file mode 100644 index 0000000..5189d6b Binary files /dev/null and b/venv/lib/python3.8/site-packages/cachy/__pycache__/cache_manager.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cachy/__pycache__/helpers.cpython-38.pyc b/venv/lib/python3.8/site-packages/cachy/__pycache__/helpers.cpython-38.pyc new file mode 100644 index 0000000..44494d5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cachy/__pycache__/helpers.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cachy/__pycache__/redis_tagged_cache.cpython-38.pyc b/venv/lib/python3.8/site-packages/cachy/__pycache__/redis_tagged_cache.cpython-38.pyc new file mode 100644 index 0000000..eeec49a Binary files /dev/null and b/venv/lib/python3.8/site-packages/cachy/__pycache__/redis_tagged_cache.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cachy/__pycache__/repository.cpython-38.pyc b/venv/lib/python3.8/site-packages/cachy/__pycache__/repository.cpython-38.pyc new file mode 100644 index 0000000..c8afca3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cachy/__pycache__/repository.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cachy/__pycache__/tag_set.cpython-38.pyc b/venv/lib/python3.8/site-packages/cachy/__pycache__/tag_set.cpython-38.pyc new file mode 100644 index 0000000..8391524 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cachy/__pycache__/tag_set.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cachy/__pycache__/tagged_cache.cpython-38.pyc b/venv/lib/python3.8/site-packages/cachy/__pycache__/tagged_cache.cpython-38.pyc new file mode 100644 index 0000000..acac125 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cachy/__pycache__/tagged_cache.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cachy/__pycache__/utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/cachy/__pycache__/utils.cpython-38.pyc new file mode 100644 index 0000000..3d5de10 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cachy/__pycache__/utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cachy/cache_manager.py b/venv/lib/python3.8/site-packages/cachy/cache_manager.py new file mode 120000 index 0000000..9793e27 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cachy/cache_manager.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f9/e2/f7/52a3d1cbab931aac98cd99aa1a462df0faf1848c7dce2bbcb992162164 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cachy/contracts/__init__.py b/venv/lib/python3.8/site-packages/cachy/contracts/__init__.py new file mode 120000 index 0000000..78d3bb4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cachy/contracts/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3b/d0/93/d41d85f9c541f1e953d04a0225b82471f7e3be59aab5ea9abece208838 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cachy/contracts/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/cachy/contracts/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..ac87822 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cachy/contracts/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cachy/contracts/__pycache__/factory.cpython-38.pyc b/venv/lib/python3.8/site-packages/cachy/contracts/__pycache__/factory.cpython-38.pyc new file mode 100644 index 0000000..405396b Binary files /dev/null and b/venv/lib/python3.8/site-packages/cachy/contracts/__pycache__/factory.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cachy/contracts/__pycache__/repository.cpython-38.pyc b/venv/lib/python3.8/site-packages/cachy/contracts/__pycache__/repository.cpython-38.pyc new file mode 100644 index 0000000..72b4c97 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cachy/contracts/__pycache__/repository.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cachy/contracts/__pycache__/store.cpython-38.pyc b/venv/lib/python3.8/site-packages/cachy/contracts/__pycache__/store.cpython-38.pyc new file mode 100644 index 0000000..8f19188 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cachy/contracts/__pycache__/store.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cachy/contracts/__pycache__/taggable_store.cpython-38.pyc b/venv/lib/python3.8/site-packages/cachy/contracts/__pycache__/taggable_store.cpython-38.pyc new file mode 100644 index 0000000..9eedd9a Binary files /dev/null and b/venv/lib/python3.8/site-packages/cachy/contracts/__pycache__/taggable_store.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cachy/contracts/factory.py b/venv/lib/python3.8/site-packages/cachy/contracts/factory.py new file mode 120000 index 0000000..6def921 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cachy/contracts/factory.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/17/a5/12/276a281a34ce14d4bc82a98ac60f0b1cadd267646071b071408d5062c1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cachy/contracts/repository.py b/venv/lib/python3.8/site-packages/cachy/contracts/repository.py new file mode 120000 index 0000000..9e19ec9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cachy/contracts/repository.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fb/77/aa/9d747c8f93224483e5398a5e7355fd0ee2183456dffe99fce973bca033 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cachy/contracts/store.py b/venv/lib/python3.8/site-packages/cachy/contracts/store.py new file mode 120000 index 0000000..37700f4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cachy/contracts/store.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a3/14/16/404c221c80ce423d5bec21a7cedad075e1451c6e62004565b99f9b021f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cachy/contracts/taggable_store.py b/venv/lib/python3.8/site-packages/cachy/contracts/taggable_store.py new file mode 120000 index 0000000..6455631 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cachy/contracts/taggable_store.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/39/b4/08/2db7aefc22c1295d7baf5767dc82568e83e2e1688d6e814a5bb256e910 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cachy/helpers.py b/venv/lib/python3.8/site-packages/cachy/helpers.py new file mode 120000 index 0000000..3c52015 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cachy/helpers.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a4/34/86/1fb303d8046fba694f97a2a1c9c14720ffd0424e4ab16440e957ecd3c5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cachy/redis_tagged_cache.py b/venv/lib/python3.8/site-packages/cachy/redis_tagged_cache.py new file mode 120000 index 0000000..2d3dbed --- /dev/null +++ b/venv/lib/python3.8/site-packages/cachy/redis_tagged_cache.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/15/9f/26/980774cbe4265dcec3080d16fa8264513ec7817fb15fcd903a8b0957e1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cachy/repository.py b/venv/lib/python3.8/site-packages/cachy/repository.py new file mode 120000 index 0000000..f4ee20b --- /dev/null +++ b/venv/lib/python3.8/site-packages/cachy/repository.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/65/91/dd/317794af1bd3d8f25298bf614ea794afb7d492ae76ed4beb6776903328 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cachy/serializers/__init__.py b/venv/lib/python3.8/site-packages/cachy/serializers/__init__.py new file mode 120000 index 0000000..961f7cb --- /dev/null +++ b/venv/lib/python3.8/site-packages/cachy/serializers/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/46/e4/03/821cde2ca5b15acf182a3bba74ea7be40b13728a2442a3a3623f677e3b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cachy/serializers/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/cachy/serializers/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..dd61976 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cachy/serializers/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cachy/serializers/__pycache__/json_serializer.cpython-38.pyc b/venv/lib/python3.8/site-packages/cachy/serializers/__pycache__/json_serializer.cpython-38.pyc new file mode 100644 index 0000000..b8dafb3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cachy/serializers/__pycache__/json_serializer.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cachy/serializers/__pycache__/msgpack_serializer.cpython-38.pyc b/venv/lib/python3.8/site-packages/cachy/serializers/__pycache__/msgpack_serializer.cpython-38.pyc new file mode 100644 index 0000000..74bb5e9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cachy/serializers/__pycache__/msgpack_serializer.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cachy/serializers/__pycache__/pickle_serializer.cpython-38.pyc b/venv/lib/python3.8/site-packages/cachy/serializers/__pycache__/pickle_serializer.cpython-38.pyc new file mode 100644 index 0000000..6c799ff Binary files /dev/null and b/venv/lib/python3.8/site-packages/cachy/serializers/__pycache__/pickle_serializer.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cachy/serializers/__pycache__/serializer.cpython-38.pyc b/venv/lib/python3.8/site-packages/cachy/serializers/__pycache__/serializer.cpython-38.pyc new file mode 100644 index 0000000..e0eee82 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cachy/serializers/__pycache__/serializer.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cachy/serializers/json_serializer.py b/venv/lib/python3.8/site-packages/cachy/serializers/json_serializer.py new file mode 120000 index 0000000..f8d32a9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cachy/serializers/json_serializer.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/50/d8/d2/31ad1ab81f5c548f91bba341e5db6f5caa9243535eeba7e594e2f0c53d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cachy/serializers/msgpack_serializer.py b/venv/lib/python3.8/site-packages/cachy/serializers/msgpack_serializer.py new file mode 120000 index 0000000..ce19843 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cachy/serializers/msgpack_serializer.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/51/7d/f5/30e52b8b92b080408a39cce84da5807897ef55e550ba3297cf9eb4c722 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cachy/serializers/pickle_serializer.py b/venv/lib/python3.8/site-packages/cachy/serializers/pickle_serializer.py new file mode 120000 index 0000000..e0c045a --- /dev/null +++ b/venv/lib/python3.8/site-packages/cachy/serializers/pickle_serializer.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1d/cf/8e/38b4272df382bd819d44edee99ddb3dfc30d8f3ec85013cb2342ac79c7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cachy/serializers/serializer.py b/venv/lib/python3.8/site-packages/cachy/serializers/serializer.py new file mode 120000 index 0000000..019c7da --- /dev/null +++ b/venv/lib/python3.8/site-packages/cachy/serializers/serializer.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/77/fd/46/d740cd1b4332ab8b4ee374f5466112c998d14621ee6e12ac236d43e27a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cachy/stores/__init__.py b/venv/lib/python3.8/site-packages/cachy/stores/__init__.py new file mode 120000 index 0000000..669b15d --- /dev/null +++ b/venv/lib/python3.8/site-packages/cachy/stores/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f6/47/27/5f361097d494f443987cc793647e5b4fb1f5cb698f6641d8b886a16439 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cachy/stores/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/cachy/stores/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..0898e1d Binary files /dev/null and b/venv/lib/python3.8/site-packages/cachy/stores/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cachy/stores/__pycache__/dict_store.cpython-38.pyc b/venv/lib/python3.8/site-packages/cachy/stores/__pycache__/dict_store.cpython-38.pyc new file mode 100644 index 0000000..e0d42e3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cachy/stores/__pycache__/dict_store.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cachy/stores/__pycache__/file_store.cpython-38.pyc b/venv/lib/python3.8/site-packages/cachy/stores/__pycache__/file_store.cpython-38.pyc new file mode 100644 index 0000000..1320629 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cachy/stores/__pycache__/file_store.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cachy/stores/__pycache__/memcached_store.cpython-38.pyc b/venv/lib/python3.8/site-packages/cachy/stores/__pycache__/memcached_store.cpython-38.pyc new file mode 100644 index 0000000..6db9e55 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cachy/stores/__pycache__/memcached_store.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cachy/stores/__pycache__/null_store.cpython-38.pyc b/venv/lib/python3.8/site-packages/cachy/stores/__pycache__/null_store.cpython-38.pyc new file mode 100644 index 0000000..0046b04 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cachy/stores/__pycache__/null_store.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cachy/stores/__pycache__/redis_store.cpython-38.pyc b/venv/lib/python3.8/site-packages/cachy/stores/__pycache__/redis_store.cpython-38.pyc new file mode 100644 index 0000000..6df63da Binary files /dev/null and b/venv/lib/python3.8/site-packages/cachy/stores/__pycache__/redis_store.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cachy/stores/dict_store.py b/venv/lib/python3.8/site-packages/cachy/stores/dict_store.py new file mode 120000 index 0000000..3a04837 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cachy/stores/dict_store.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/63/c4/0d/ff2837cb3aba431697db84a0eb69512edd2a3834d5f97755ba8b1a369c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cachy/stores/file_store.py b/venv/lib/python3.8/site-packages/cachy/stores/file_store.py new file mode 120000 index 0000000..dad67a2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cachy/stores/file_store.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e5/16/a4/6ed1aabb3b6470f06d60683b190eb8474946f7adfccc58306d9d9372f4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cachy/stores/memcached_store.py b/venv/lib/python3.8/site-packages/cachy/stores/memcached_store.py new file mode 120000 index 0000000..8cb18bf --- /dev/null +++ b/venv/lib/python3.8/site-packages/cachy/stores/memcached_store.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/85/9d/5b/30d0ea8f8f5e44a377ac2a4ef348f85d57e6d636dd7721515885c65d10 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cachy/stores/null_store.py b/venv/lib/python3.8/site-packages/cachy/stores/null_store.py new file mode 120000 index 0000000..338e0e4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cachy/stores/null_store.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/da/46/0c/7cde06f5396b007ed8331eb44d3dc198dc1f100db3d407b330970bfe09 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cachy/stores/redis_store.py b/venv/lib/python3.8/site-packages/cachy/stores/redis_store.py new file mode 120000 index 0000000..793346b --- /dev/null +++ b/venv/lib/python3.8/site-packages/cachy/stores/redis_store.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d2/a1/cc/0c40d7c68d012303dad648eb48225a7854d38a969ba38c904d34b38afb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cachy/tag_set.py b/venv/lib/python3.8/site-packages/cachy/tag_set.py new file mode 120000 index 0000000..2df4d61 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cachy/tag_set.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/47/b9/09/51aa58b1de73b2743832858bf44f57802ba15067475f071c729244b703 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cachy/tagged_cache.py b/venv/lib/python3.8/site-packages/cachy/tagged_cache.py new file mode 120000 index 0000000..a84950e --- /dev/null +++ b/venv/lib/python3.8/site-packages/cachy/tagged_cache.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/03/bc/a5/ee355d33221320cf0fdda2fe5ff380b8498740ff173f3da334c76d6f33 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cachy/utils.py b/venv/lib/python3.8/site-packages/cachy/utils.py new file mode 120000 index 0000000..2405b60 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cachy/utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c3/62/69/0b08cb0c4f86a5d532b919e4400e215f28fe72697d7ad67845eb924064 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/certifi-2022.9.24.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/certifi-2022.9.24.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/certifi-2022.9.24.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/certifi-2022.9.24.dist-info/LICENSE b/venv/lib/python3.8/site-packages/certifi-2022.9.24.dist-info/LICENSE new file mode 120000 index 0000000..41b48c4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/certifi-2022.9.24.dist-info/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a0/2f/6c/638f9fb84d06f7764c3ab085d8af7eda5b93c166da54312479077c6fb0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/certifi-2022.9.24.dist-info/METADATA b/venv/lib/python3.8/site-packages/certifi-2022.9.24.dist-info/METADATA new file mode 120000 index 0000000..c797484 --- /dev/null +++ b/venv/lib/python3.8/site-packages/certifi-2022.9.24.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/df/73/40/3a692a29309bdaed58b3c66d87b0015977c4b8b829fb980ba75c8affb0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/certifi-2022.9.24.dist-info/RECORD b/venv/lib/python3.8/site-packages/certifi-2022.9.24.dist-info/RECORD new file mode 100644 index 0000000..d11709c --- /dev/null +++ b/venv/lib/python3.8/site-packages/certifi-2022.9.24.dist-info/RECORD @@ -0,0 +1,14 @@ +certifi-2022.9.24.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +certifi-2022.9.24.dist-info/LICENSE,sha256=oC9sY4-fuE0G93ZMOrCF2K9-2luTwWbaVDEkeQd8b7A,1052 +certifi-2022.9.24.dist-info/METADATA,sha256=33NAOmkqKTCb2u1Ys8Zth7ABWXfEuLgp-5gLp1yK_7A,2911 +certifi-2022.9.24.dist-info/RECORD,, +certifi-2022.9.24.dist-info/WHEEL,sha256=ewwEueio1C2XeHTvT17n8dZUJgOvyCWCt0WVNLClP9o,92 +certifi-2022.9.24.dist-info/top_level.txt,sha256=KMu4vUCfsjLrkPbSNdgdekS-pVJzBAJFO__nI8NF6-U,8 +certifi/__init__.py,sha256=luDjIGxDSrQ9O0zthdz5Lnt069Z_7eR1GIEefEaf-Ys,94 +certifi/__main__.py,sha256=xBBoj905TUWBLRGANOcf7oi6e-3dMP4cEoG9OyMs11g,243 +certifi/__pycache__/__init__.cpython-38.pyc,, +certifi/__pycache__/__main__.cpython-38.pyc,, +certifi/__pycache__/core.cpython-38.pyc,, +certifi/cacert.pem,sha256=3l8CcWt_qL42030rGieD3SLufICFX0bYtGhDl_EXVPI,286370 +certifi/core.py,sha256=lhewz0zFb2b4ULsQurElmloYwQoecjWzPqY67P8T7iM,4219 +certifi/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 diff --git a/venv/lib/python3.8/site-packages/certifi-2022.9.24.dist-info/WHEEL b/venv/lib/python3.8/site-packages/certifi-2022.9.24.dist-info/WHEEL new file mode 120000 index 0000000..e14c71b --- /dev/null +++ b/venv/lib/python3.8/site-packages/certifi-2022.9.24.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7b/0c/04/b9e8a8d42d977874ef4f5ee7f1d6542603afc82582b7459534b0a53fda \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/certifi-2022.9.24.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/certifi-2022.9.24.dist-info/top_level.txt new file mode 120000 index 0000000..78b421f --- /dev/null +++ b/venv/lib/python3.8/site-packages/certifi-2022.9.24.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/28/cb/b8/bd409fb232eb90f6d235d81d7a44bea552730402453bffe723c345ebe5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/certifi/__init__.py b/venv/lib/python3.8/site-packages/certifi/__init__.py new file mode 120000 index 0000000..f07b857 --- /dev/null +++ b/venv/lib/python3.8/site-packages/certifi/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/96/e0/e3/206c434ab43d3b4ced85dcf92e7b74ebd67fede47518811e7c469ff98b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/certifi/__main__.py b/venv/lib/python3.8/site-packages/certifi/__main__.py new file mode 120000 index 0000000..1142611 --- /dev/null +++ b/venv/lib/python3.8/site-packages/certifi/__main__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c4/10/68/8fdd394d45812d118034e71fee88ba7beddd30fe1c1281bd3b232cd758 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/certifi/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/certifi/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..80f19d2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/certifi/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/certifi/__pycache__/__main__.cpython-38.pyc b/venv/lib/python3.8/site-packages/certifi/__pycache__/__main__.cpython-38.pyc new file mode 100644 index 0000000..d5cdd52 Binary files /dev/null and b/venv/lib/python3.8/site-packages/certifi/__pycache__/__main__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/certifi/__pycache__/core.cpython-38.pyc b/venv/lib/python3.8/site-packages/certifi/__pycache__/core.cpython-38.pyc new file mode 100644 index 0000000..b5206c1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/certifi/__pycache__/core.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/certifi/cacert.pem b/venv/lib/python3.8/site-packages/certifi/cacert.pem new file mode 120000 index 0000000..2a9cbdd --- /dev/null +++ b/venv/lib/python3.8/site-packages/certifi/cacert.pem @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/de/5f/02/716b7fa8be36d37d2b1a2783dd22ee7c80855f46d8b4684397f11754f2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/certifi/core.py b/venv/lib/python3.8/site-packages/certifi/core.py new file mode 120000 index 0000000..02d0c1d --- /dev/null +++ b/venv/lib/python3.8/site-packages/certifi/core.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/96/17/b0/cf4cc56f66f850bb10bab1259a5a18c10a1e7235b33ea63aecff13ee23 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/certifi/py.typed b/venv/lib/python3.8/site-packages/certifi/py.typed new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/certifi/py.typed @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cffi-1.15.1.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/cffi-1.15.1.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/cffi-1.15.1.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/cffi-1.15.1.dist-info/LICENSE b/venv/lib/python3.8/site-packages/cffi-1.15.1.dist-info/LICENSE new file mode 120000 index 0000000..d7ad043 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cffi-1.15.1.dist-info/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/04/b8/0f/5b077bbed68808cfebadeb5e3523f2a8c9a96495c587bd96df1eac2a33 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cffi-1.15.1.dist-info/METADATA b/venv/lib/python3.8/site-packages/cffi-1.15.1.dist-info/METADATA new file mode 120000 index 0000000..1f95c99 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cffi-1.15.1.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/28/fe/06/dd699abd18031b00f66fc63f783b0cd58795e9c91c1ba025cf7f83f156 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cffi-1.15.1.dist-info/RECORD b/venv/lib/python3.8/site-packages/cffi-1.15.1.dist-info/RECORD new file mode 100644 index 0000000..9ccedf7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cffi-1.15.1.dist-info/RECORD @@ -0,0 +1,44 @@ +_cffi_backend.cpython-38-x86_64-linux-gnu.so,sha256=Vexo81KP_uf8fqK4h5zftvakKuYQ_nFkS0sSlsOXee8,994936 +cffi-1.15.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +cffi-1.15.1.dist-info/LICENSE,sha256=BLgPWwd7vtaICM_rreteNSPyqMmpZJXFh72W3x6sKjM,1294 +cffi-1.15.1.dist-info/METADATA,sha256=KP4G3WmavRgDGwD2b8Y_eDsM1YeV6ckcG6Alz3-D8VY,1144 +cffi-1.15.1.dist-info/RECORD,, +cffi-1.15.1.dist-info/WHEEL,sha256=-ijGDuALlPxm3HbhKntps0QzHsi-DPlXqgerYTTJkFE,148 +cffi-1.15.1.dist-info/entry_points.txt,sha256=y6jTxnyeuLnL-XJcDv8uML3n6wyYiGRg8MTp_QGJ9Ho,75 +cffi-1.15.1.dist-info/top_level.txt,sha256=rE7WR3rZfNKxWI9-jn6hsHCAl7MDkB-FmuQbxWjFehQ,19 +cffi/__init__.py,sha256=6xB_tafGvhhM5Xvj0Ova3oPC2SEhVlLTEObVLnazeiM,513 +cffi/__pycache__/__init__.cpython-38.pyc,, +cffi/__pycache__/api.cpython-38.pyc,, +cffi/__pycache__/backend_ctypes.cpython-38.pyc,, +cffi/__pycache__/cffi_opcode.cpython-38.pyc,, +cffi/__pycache__/commontypes.cpython-38.pyc,, +cffi/__pycache__/cparser.cpython-38.pyc,, +cffi/__pycache__/error.cpython-38.pyc,, +cffi/__pycache__/ffiplatform.cpython-38.pyc,, +cffi/__pycache__/lock.cpython-38.pyc,, +cffi/__pycache__/model.cpython-38.pyc,, +cffi/__pycache__/pkgconfig.cpython-38.pyc,, +cffi/__pycache__/recompiler.cpython-38.pyc,, +cffi/__pycache__/setuptools_ext.cpython-38.pyc,, +cffi/__pycache__/vengine_cpy.cpython-38.pyc,, +cffi/__pycache__/vengine_gen.cpython-38.pyc,, +cffi/__pycache__/verifier.cpython-38.pyc,, +cffi/_cffi_errors.h,sha256=zQXt7uR_m8gUW-fI2hJg0KoSkJFwXv8RGUkEDZ177dQ,3908 +cffi/_cffi_include.h,sha256=tKnA1rdSoPHp23FnDL1mDGwFo-Uj6fXfA6vA6kcoEUc,14800 +cffi/_embedding.h,sha256=9tnjF44QRobR8z0FGqAmAZY-wMSBOae1SUPqHccowqc,17680 +cffi/api.py,sha256=yxJalIePbr1mz_WxAHokSwyP5CVYde44m-nolHnbJNo,42064 +cffi/backend_ctypes.py,sha256=h5ZIzLc6BFVXnGyc9xPqZWUS7qGy7yFSDqXe68Sa8z4,42454 +cffi/cffi_opcode.py,sha256=v9RdD_ovA8rCtqsC95Ivki5V667rAOhGgs3fb2q9xpM,5724 +cffi/commontypes.py,sha256=QS4uxCDI7JhtTyjh1hlnCA-gynmaszWxJaRRLGkJa1A,2689 +cffi/cparser.py,sha256=rO_1pELRw1gI1DE1m4gi2ik5JMfpxouAACLXpRPlVEA,44231 +cffi/error.py,sha256=v6xTiS4U0kvDcy4h_BDRo5v39ZQuj-IMRYLv5ETddZs,877 +cffi/ffiplatform.py,sha256=HMXqR8ks2wtdsNxGaWpQ_PyqIvtiuos_vf1qKCy-cwg,4046 +cffi/lock.py,sha256=l9TTdwMIMpi6jDkJGnQgE9cvTIR7CAntIJr8EGHt3pY,747 +cffi/model.py,sha256=_GH_UF1Rn9vC4AvmgJm6qj7RUXXG3eqKPc8bPxxyBKE,21768 +cffi/parse_c_type.h,sha256=OdwQfwM9ktq6vlCB43exFQmxDBtj2MBNdK8LYl15tjw,5976 +cffi/pkgconfig.py,sha256=LP1w7vmWvmKwyqLaU1Z243FOWGNQMrgMUZrvgFuOlco,4374 +cffi/recompiler.py,sha256=YgVYTh2CrXIobo-vMk7_K9mwAXdd_LqB4-IbYABQ488,64598 +cffi/setuptools_ext.py,sha256=RUR17N5f8gpiQBBlXL34P9FtOu1mhHIaAf3WJlg5S4I,8931 +cffi/vengine_cpy.py,sha256=YglN8YS-UaHEv2k2cxgotNWE87dHX20-68EyKoiKUYA,43320 +cffi/vengine_gen.py,sha256=5dX7s1DU6pTBOMI6oTVn_8Bnmru_lj932B6b4v29Hlg,26684 +cffi/verifier.py,sha256=ESwuXWXtXrKEagCKveLRDjFzLNCyaKdqAgAlKREcyhY,11253 diff --git a/venv/lib/python3.8/site-packages/cffi-1.15.1.dist-info/WHEEL b/venv/lib/python3.8/site-packages/cffi-1.15.1.dist-info/WHEEL new file mode 120000 index 0000000..8b6429d --- /dev/null +++ b/venv/lib/python3.8/site-packages/cffi-1.15.1.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fa/28/c6/0ee00b94fc66dc76e12a7b69b344331ec8be0cf957aa07ab6134c99051 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cffi-1.15.1.dist-info/entry_points.txt b/venv/lib/python3.8/site-packages/cffi-1.15.1.dist-info/entry_points.txt new file mode 120000 index 0000000..64ee1c3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cffi-1.15.1.dist-info/entry_points.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cb/a8/d3/c67c9eb8b9cbf9725c0eff2e30bde7eb0c98886460f0c4e9fd0189f47a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cffi-1.15.1.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/cffi-1.15.1.dist-info/top_level.txt new file mode 120000 index 0000000..5d56cc3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cffi-1.15.1.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ac/4e/d6/477ad97cd2b1588f7e8e7ea1b0708097b303901f859ae41bc568c57a14 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cffi/__init__.py b/venv/lib/python3.8/site-packages/cffi/__init__.py new file mode 120000 index 0000000..a8151e6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cffi/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/eb/10/7f/b5a7c6be184ce57be3d0ebdade83c2d921215652d310e6d52e76b37a23 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cffi/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/cffi/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..417231e Binary files /dev/null and b/venv/lib/python3.8/site-packages/cffi/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cffi/__pycache__/api.cpython-38.pyc b/venv/lib/python3.8/site-packages/cffi/__pycache__/api.cpython-38.pyc new file mode 100644 index 0000000..ea444e6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cffi/__pycache__/api.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cffi/__pycache__/backend_ctypes.cpython-38.pyc b/venv/lib/python3.8/site-packages/cffi/__pycache__/backend_ctypes.cpython-38.pyc new file mode 100644 index 0000000..674e2e0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cffi/__pycache__/backend_ctypes.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cffi/__pycache__/cffi_opcode.cpython-38.pyc b/venv/lib/python3.8/site-packages/cffi/__pycache__/cffi_opcode.cpython-38.pyc new file mode 100644 index 0000000..4e7e7f9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cffi/__pycache__/cffi_opcode.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cffi/__pycache__/commontypes.cpython-38.pyc b/venv/lib/python3.8/site-packages/cffi/__pycache__/commontypes.cpython-38.pyc new file mode 100644 index 0000000..15d4889 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cffi/__pycache__/commontypes.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cffi/__pycache__/cparser.cpython-38.pyc b/venv/lib/python3.8/site-packages/cffi/__pycache__/cparser.cpython-38.pyc new file mode 100644 index 0000000..cf0f688 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cffi/__pycache__/cparser.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cffi/__pycache__/error.cpython-38.pyc b/venv/lib/python3.8/site-packages/cffi/__pycache__/error.cpython-38.pyc new file mode 100644 index 0000000..21205a5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cffi/__pycache__/error.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cffi/__pycache__/ffiplatform.cpython-38.pyc b/venv/lib/python3.8/site-packages/cffi/__pycache__/ffiplatform.cpython-38.pyc new file mode 100644 index 0000000..be99a51 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cffi/__pycache__/ffiplatform.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cffi/__pycache__/lock.cpython-38.pyc b/venv/lib/python3.8/site-packages/cffi/__pycache__/lock.cpython-38.pyc new file mode 100644 index 0000000..cf6dc79 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cffi/__pycache__/lock.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cffi/__pycache__/model.cpython-38.pyc b/venv/lib/python3.8/site-packages/cffi/__pycache__/model.cpython-38.pyc new file mode 100644 index 0000000..6e2abb6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cffi/__pycache__/model.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cffi/__pycache__/pkgconfig.cpython-38.pyc b/venv/lib/python3.8/site-packages/cffi/__pycache__/pkgconfig.cpython-38.pyc new file mode 100644 index 0000000..23a8f13 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cffi/__pycache__/pkgconfig.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cffi/__pycache__/recompiler.cpython-38.pyc b/venv/lib/python3.8/site-packages/cffi/__pycache__/recompiler.cpython-38.pyc new file mode 100644 index 0000000..d41cc13 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cffi/__pycache__/recompiler.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cffi/__pycache__/setuptools_ext.cpython-38.pyc b/venv/lib/python3.8/site-packages/cffi/__pycache__/setuptools_ext.cpython-38.pyc new file mode 100644 index 0000000..47f13bb Binary files /dev/null and b/venv/lib/python3.8/site-packages/cffi/__pycache__/setuptools_ext.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cffi/__pycache__/vengine_cpy.cpython-38.pyc b/venv/lib/python3.8/site-packages/cffi/__pycache__/vengine_cpy.cpython-38.pyc new file mode 100644 index 0000000..67f2a95 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cffi/__pycache__/vengine_cpy.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cffi/__pycache__/vengine_gen.cpython-38.pyc b/venv/lib/python3.8/site-packages/cffi/__pycache__/vengine_gen.cpython-38.pyc new file mode 100644 index 0000000..2519621 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cffi/__pycache__/vengine_gen.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cffi/__pycache__/verifier.cpython-38.pyc b/venv/lib/python3.8/site-packages/cffi/__pycache__/verifier.cpython-38.pyc new file mode 100644 index 0000000..148f544 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cffi/__pycache__/verifier.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cffi/_cffi_errors.h b/venv/lib/python3.8/site-packages/cffi/_cffi_errors.h new file mode 120000 index 0000000..56f0bcf --- /dev/null +++ b/venv/lib/python3.8/site-packages/cffi/_cffi_errors.h @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cd/05/ed/eee47f9bc8145be7c8da1260d0aa129091705eff111949040d9d7bedd4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cffi/_cffi_include.h b/venv/lib/python3.8/site-packages/cffi/_cffi_include.h new file mode 120000 index 0000000..b6c53a6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cffi/_cffi_include.h @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b4/a9/c0/d6b752a0f1e9db71670cbd660c6c05a3e523e9f5df03abc0ea47281147 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cffi/_embedding.h b/venv/lib/python3.8/site-packages/cffi/_embedding.h new file mode 120000 index 0000000..a7d7ac9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cffi/_embedding.h @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f6/d9/e3/178e104686d1f33d051aa02601963ec0c48139a7b54943ea1dc728c2a7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cffi/api.py b/venv/lib/python3.8/site-packages/cffi/api.py new file mode 120000 index 0000000..a8018fe --- /dev/null +++ b/venv/lib/python3.8/site-packages/cffi/api.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cb/12/5a/94878f6ebd66cff5b1007a244b0c8fe4255875ee389be9e89479db24da \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cffi/backend_ctypes.py b/venv/lib/python3.8/site-packages/cffi/backend_ctypes.py new file mode 120000 index 0000000..b8261ad --- /dev/null +++ b/venv/lib/python3.8/site-packages/cffi/backend_ctypes.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/87/96/48/ccb73a0455579c6c9cf713ea656512eea1b2ef21520ea5deebc49af33e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cffi/cffi_opcode.py b/venv/lib/python3.8/site-packages/cffi/cffi_opcode.py new file mode 120000 index 0000000..520a84b --- /dev/null +++ b/venv/lib/python3.8/site-packages/cffi/cffi_opcode.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bf/d4/5d/0ffa2f03cac2b6ab02f7922f922e55ebaeeb00e84682cddf6f6abdc693 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cffi/commontypes.py b/venv/lib/python3.8/site-packages/cffi/commontypes.py new file mode 120000 index 0000000..3d94af4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cffi/commontypes.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/41/2e/2e/c420c8ec986d4f28e1d61967080fa0ca799ab335b125a4512c69096b50 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cffi/cparser.py b/venv/lib/python3.8/site-packages/cffi/cparser.py new file mode 120000 index 0000000..4ed09b8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cffi/cparser.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ac/ef/f5/a442d1c35808d431359b8822da293924c7e9c68b800022d7a513e55440 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cffi/error.py b/venv/lib/python3.8/site-packages/cffi/error.py new file mode 120000 index 0000000..c7e23c5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cffi/error.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bf/ac/53/892e14d24bc3732e21fc10d1a39bf7f5942e8fe20c4582efe444dd759b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cffi/ffiplatform.py b/venv/lib/python3.8/site-packages/cffi/ffiplatform.py new file mode 120000 index 0000000..5f522b8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cffi/ffiplatform.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1c/c5/ea/47c92cdb0b5db0dc46696a50fcfcaa22fb62ba8b3fbdfd6a282cbe7308 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cffi/lock.py b/venv/lib/python3.8/site-packages/cffi/lock.py new file mode 120000 index 0000000..63f805d --- /dev/null +++ b/venv/lib/python3.8/site-packages/cffi/lock.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/97/d4/d3/7703083298ba8c39091a742013d72f4c847b0809ed209afc1061edde96 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cffi/model.py b/venv/lib/python3.8/site-packages/cffi/model.py new file mode 120000 index 0000000..6496071 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cffi/model.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fc/61/ff/505d519fdbc2e00be68099baaa3ed15175c6ddea8a3dcf1b3f1c7204a1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cffi/parse_c_type.h b/venv/lib/python3.8/site-packages/cffi/parse_c_type.h new file mode 120000 index 0000000..c4fdda0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cffi/parse_c_type.h @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/39/dc/10/7f033d92dababe5081e377b11509b10c1b63d8c04d74af0b625d79b63c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cffi/pkgconfig.py b/venv/lib/python3.8/site-packages/cffi/pkgconfig.py new file mode 120000 index 0000000..d6f4fae --- /dev/null +++ b/venv/lib/python3.8/site-packages/cffi/pkgconfig.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2c/fd/70/eef996be62b0caa2da535676e3714e58635032b80c519aef805b8e95ca \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cffi/recompiler.py b/venv/lib/python3.8/site-packages/cffi/recompiler.py new file mode 120000 index 0000000..d714958 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cffi/recompiler.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/62/05/58/4e1d82ad72286e8faf324eff2bd9b001775dfcba81e3e21b600050e3cf \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cffi/setuptools_ext.py b/venv/lib/python3.8/site-packages/cffi/setuptools_ext.py new file mode 120000 index 0000000..47acf7f --- /dev/null +++ b/venv/lib/python3.8/site-packages/cffi/setuptools_ext.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/45/44/75/ecde5ff20a624010655cbdf83fd16d3aed6684721a01fdd62658394b82 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cffi/vengine_cpy.py b/venv/lib/python3.8/site-packages/cffi/vengine_cpy.py new file mode 120000 index 0000000..63f3395 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cffi/vengine_cpy.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/62/09/4d/f184be51a1c4bf6936731828b4d584f3b7475f6d3eebc1322a888a5180 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cffi/vengine_gen.py b/venv/lib/python3.8/site-packages/cffi/vengine_gen.py new file mode 120000 index 0000000..602378a --- /dev/null +++ b/venv/lib/python3.8/site-packages/cffi/vengine_gen.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e5/d5/fb/b350d4ea94c138c23aa13567ffc0679abbbf963f77d81e9be2fdbd1e58 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cffi/verifier.py b/venv/lib/python3.8/site-packages/cffi/verifier.py new file mode 120000 index 0000000..73a8775 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cffi/verifier.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/11/2c/2e/5d65ed5eb2846a008abde2d10e31732cd0b268a76a02002529111cca16 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/charset_normalizer-2.1.1.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/charset_normalizer-2.1.1.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/charset_normalizer-2.1.1.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/charset_normalizer-2.1.1.dist-info/LICENSE b/venv/lib/python3.8/site-packages/charset_normalizer-2.1.1.dist-info/LICENSE new file mode 120000 index 0000000..e071049 --- /dev/null +++ b/venv/lib/python3.8/site-packages/charset_normalizer-2.1.1.dist-info/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/eb/31/a0/c5a4fb09b8a4e32055d25c1e5f9c358a2752fef3cd720213d1ccfee241 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/charset_normalizer-2.1.1.dist-info/METADATA b/venv/lib/python3.8/site-packages/charset_normalizer-2.1.1.dist-info/METADATA new file mode 120000 index 0000000..9216382 --- /dev/null +++ b/venv/lib/python3.8/site-packages/charset_normalizer-2.1.1.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0b/df/65/d7683877513dfd4896fa6a8f096c7bbf633f958196c72d464ce8d74ac0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/charset_normalizer-2.1.1.dist-info/RECORD b/venv/lib/python3.8/site-packages/charset_normalizer-2.1.1.dist-info/RECORD new file mode 100644 index 0000000..34558bb --- /dev/null +++ b/venv/lib/python3.8/site-packages/charset_normalizer-2.1.1.dist-info/RECORD @@ -0,0 +1,33 @@ +../../../bin/normalizer,sha256=dbGhdDNurqKVceVJ8hBPqZi-qfTvsVKpUN6CX3Gebls,248 +charset_normalizer-2.1.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +charset_normalizer-2.1.1.dist-info/LICENSE,sha256=6zGgxaT7Cbik4yBV0lweX5w1iidS_vPNcgIT0cz-4kE,1070 +charset_normalizer-2.1.1.dist-info/METADATA,sha256=C99l12g4d1E9_UiW-mqPCWx7v2M_lYGWxy1GTOjXSsA,11942 +charset_normalizer-2.1.1.dist-info/RECORD,, +charset_normalizer-2.1.1.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92 +charset_normalizer-2.1.1.dist-info/entry_points.txt,sha256=uYo8aIGLWv8YgWfSna5HnfY_En4pkF1w4bgawNAXzP0,76 +charset_normalizer-2.1.1.dist-info/top_level.txt,sha256=7ASyzePr8_xuZWJsnqJjIBtyV8vhEo0wBCv1MPRRi3Q,19 +charset_normalizer/__init__.py,sha256=jGhhf1IcOgCpZsr593E9fPvjWKnflVqHe_LwkOJjInU,1790 +charset_normalizer/__pycache__/__init__.cpython-38.pyc,, +charset_normalizer/__pycache__/api.cpython-38.pyc,, +charset_normalizer/__pycache__/cd.cpython-38.pyc,, +charset_normalizer/__pycache__/constant.cpython-38.pyc,, +charset_normalizer/__pycache__/legacy.cpython-38.pyc,, +charset_normalizer/__pycache__/md.cpython-38.pyc,, +charset_normalizer/__pycache__/models.cpython-38.pyc,, +charset_normalizer/__pycache__/utils.cpython-38.pyc,, +charset_normalizer/__pycache__/version.cpython-38.pyc,, +charset_normalizer/api.py,sha256=euVPmjAMbjpqhEHPjfKtyy1mK52U0TOUBUQgM_Qy6eE,19191 +charset_normalizer/assets/__init__.py,sha256=r7aakPaRIc2FFG2mw2V8NOTvkl25_euKZ3wPf5SAVa4,15222 +charset_normalizer/assets/__pycache__/__init__.cpython-38.pyc,, +charset_normalizer/cd.py,sha256=Pxdkbn4cy0iZF42KTb1FiWIqqKobuz_fDjGwc6JMNBc,10811 +charset_normalizer/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +charset_normalizer/cli/__pycache__/__init__.cpython-38.pyc,, +charset_normalizer/cli/__pycache__/normalizer.cpython-38.pyc,, +charset_normalizer/cli/normalizer.py,sha256=FmD1RXeMpRBg_mjR0MaJhNUpM2qZ8wz2neAE7AayBeg,9521 +charset_normalizer/constant.py,sha256=NgU-pY8JH2a9lkVT8oKwAFmIUYNKOuSBwZgF9MrlNCM,19157 +charset_normalizer/legacy.py,sha256=XKeZOts_HdYQU_Jb3C9ZfOjY2CiUL132k9_nXer8gig,3384 +charset_normalizer/md.py,sha256=pZP8IVpSC82D8INA9Tf_y0ijJSRI-UIncZvLdfTWEd4,17642 +charset_normalizer/models.py,sha256=i68YdlSLTEI3EEBVXq8TLNAbyyjrLC2OWszc-OBAk9I,13167 +charset_normalizer/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +charset_normalizer/utils.py,sha256=ykOznhcAeH-ODLBWJuI7t1nbwa1SAfN_bDYTCJGyh4U,11771 +charset_normalizer/version.py,sha256=_eh2MA3qS__IajlePQxKBmlw6zaBDvPYlLdEgxgIojw,79 diff --git a/venv/lib/python3.8/site-packages/charset_normalizer-2.1.1.dist-info/WHEEL b/venv/lib/python3.8/site-packages/charset_normalizer-2.1.1.dist-info/WHEEL new file mode 120000 index 0000000..7e89bc1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/charset_normalizer-2.1.1.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1b/5e/87/e00dc87a84269cead8578b9e6462928e18a95f1f3373c9eef451a5bcc0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/charset_normalizer-2.1.1.dist-info/entry_points.txt b/venv/lib/python3.8/site-packages/charset_normalizer-2.1.1.dist-info/entry_points.txt new file mode 120000 index 0000000..3947f86 --- /dev/null +++ b/venv/lib/python3.8/site-packages/charset_normalizer-2.1.1.dist-info/entry_points.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b9/8a/3c/68818b5aff188167d29dae479df63f127e29905d70e1b81ac0d017ccfd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/charset_normalizer-2.1.1.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/charset_normalizer-2.1.1.dist-info/top_level.txt new file mode 120000 index 0000000..11d4208 --- /dev/null +++ b/venv/lib/python3.8/site-packages/charset_normalizer-2.1.1.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ec/04/b2/cde3ebf3fc6e65626c9ea263201b7257cbe1128d30042bf530f4518b74 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/charset_normalizer/__init__.py b/venv/lib/python3.8/site-packages/charset_normalizer/__init__.py new file mode 120000 index 0000000..2a5cd74 --- /dev/null +++ b/venv/lib/python3.8/site-packages/charset_normalizer/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8c/68/61/7f521c3a00a966caf9f7713d7cfbe358a9df955a877bf2f090e2632275 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/charset_normalizer/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/charset_normalizer/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..0d1c12d Binary files /dev/null and b/venv/lib/python3.8/site-packages/charset_normalizer/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/charset_normalizer/__pycache__/api.cpython-38.pyc b/venv/lib/python3.8/site-packages/charset_normalizer/__pycache__/api.cpython-38.pyc new file mode 100644 index 0000000..596685f Binary files /dev/null and b/venv/lib/python3.8/site-packages/charset_normalizer/__pycache__/api.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/charset_normalizer/__pycache__/cd.cpython-38.pyc b/venv/lib/python3.8/site-packages/charset_normalizer/__pycache__/cd.cpython-38.pyc new file mode 100644 index 0000000..5e45515 Binary files /dev/null and b/venv/lib/python3.8/site-packages/charset_normalizer/__pycache__/cd.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/charset_normalizer/__pycache__/constant.cpython-38.pyc b/venv/lib/python3.8/site-packages/charset_normalizer/__pycache__/constant.cpython-38.pyc new file mode 100644 index 0000000..4dd95b9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/charset_normalizer/__pycache__/constant.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/charset_normalizer/__pycache__/legacy.cpython-38.pyc b/venv/lib/python3.8/site-packages/charset_normalizer/__pycache__/legacy.cpython-38.pyc new file mode 100644 index 0000000..6d80854 Binary files /dev/null and b/venv/lib/python3.8/site-packages/charset_normalizer/__pycache__/legacy.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/charset_normalizer/__pycache__/md.cpython-38.pyc b/venv/lib/python3.8/site-packages/charset_normalizer/__pycache__/md.cpython-38.pyc new file mode 100644 index 0000000..554eb56 Binary files /dev/null and b/venv/lib/python3.8/site-packages/charset_normalizer/__pycache__/md.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/charset_normalizer/__pycache__/models.cpython-38.pyc b/venv/lib/python3.8/site-packages/charset_normalizer/__pycache__/models.cpython-38.pyc new file mode 100644 index 0000000..11314d5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/charset_normalizer/__pycache__/models.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/charset_normalizer/__pycache__/utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/charset_normalizer/__pycache__/utils.cpython-38.pyc new file mode 100644 index 0000000..65cd383 Binary files /dev/null and b/venv/lib/python3.8/site-packages/charset_normalizer/__pycache__/utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/charset_normalizer/__pycache__/version.cpython-38.pyc b/venv/lib/python3.8/site-packages/charset_normalizer/__pycache__/version.cpython-38.pyc new file mode 100644 index 0000000..2243482 Binary files /dev/null and b/venv/lib/python3.8/site-packages/charset_normalizer/__pycache__/version.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/charset_normalizer/api.py b/venv/lib/python3.8/site-packages/charset_normalizer/api.py new file mode 120000 index 0000000..9b76b17 --- /dev/null +++ b/venv/lib/python3.8/site-packages/charset_normalizer/api.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7a/e5/4f/9a300c6e3a6a8441cf8df2adcb2d662b9d94d1339405442033f432e9e1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/charset_normalizer/assets/__init__.py b/venv/lib/python3.8/site-packages/charset_normalizer/assets/__init__.py new file mode 120000 index 0000000..6440deb --- /dev/null +++ b/venv/lib/python3.8/site-packages/charset_normalizer/assets/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/af/b6/9a/90f69121cd85146da6c3657c34e4ef925db9fdeb8a677c0f7f948055ae \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/charset_normalizer/assets/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/charset_normalizer/assets/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..fa375de Binary files /dev/null and b/venv/lib/python3.8/site-packages/charset_normalizer/assets/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/charset_normalizer/cd.py b/venv/lib/python3.8/site-packages/charset_normalizer/cd.py new file mode 120000 index 0000000..cd9e517 --- /dev/null +++ b/venv/lib/python3.8/site-packages/charset_normalizer/cd.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3f/17/64/6e7e1ccb4899178d8a4dbd4589622aa8aa1bbb3fdf0e31b073a24c3417 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/charset_normalizer/cli/__init__.py b/venv/lib/python3.8/site-packages/charset_normalizer/cli/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/charset_normalizer/cli/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/charset_normalizer/cli/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/charset_normalizer/cli/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..97f2107 Binary files /dev/null and b/venv/lib/python3.8/site-packages/charset_normalizer/cli/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/charset_normalizer/cli/__pycache__/normalizer.cpython-38.pyc b/venv/lib/python3.8/site-packages/charset_normalizer/cli/__pycache__/normalizer.cpython-38.pyc new file mode 100644 index 0000000..c4d2be7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/charset_normalizer/cli/__pycache__/normalizer.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/charset_normalizer/cli/normalizer.py b/venv/lib/python3.8/site-packages/charset_normalizer/cli/normalizer.py new file mode 120000 index 0000000..5421a2f --- /dev/null +++ b/venv/lib/python3.8/site-packages/charset_normalizer/cli/normalizer.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/16/60/f5/45778ca51060fe68d1d0c68984d529336a99f30cf69de004ec06b205e8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/charset_normalizer/constant.py b/venv/lib/python3.8/site-packages/charset_normalizer/constant.py new file mode 120000 index 0000000..9e8f7d6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/charset_normalizer/constant.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/36/05/3e/a58f091f66bd964553f282b000598851834a3ae481c19805f4cae53423 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/charset_normalizer/legacy.py b/venv/lib/python3.8/site-packages/charset_normalizer/legacy.py new file mode 120000 index 0000000..d641639 --- /dev/null +++ b/venv/lib/python3.8/site-packages/charset_normalizer/legacy.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5c/a7/99/3adb3f1dd61053f25bdc2f597ce8d8d828942f5df693dfe75deafc8228 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/charset_normalizer/md.py b/venv/lib/python3.8/site-packages/charset_normalizer/md.py new file mode 120000 index 0000000..fc60e7d --- /dev/null +++ b/venv/lib/python3.8/site-packages/charset_normalizer/md.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a5/93/fc/215a520bcd83f08340f537ffcb48a3252448f94227719bcb75f4d611de \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/charset_normalizer/models.py b/venv/lib/python3.8/site-packages/charset_normalizer/models.py new file mode 120000 index 0000000..d8a429b --- /dev/null +++ b/venv/lib/python3.8/site-packages/charset_normalizer/models.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8b/af/18/76548b4c42371040555eaf132cd01bcb28eb2c2d8e5accdcf8e04093d2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/charset_normalizer/py.typed b/venv/lib/python3.8/site-packages/charset_normalizer/py.typed new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/charset_normalizer/py.typed @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/charset_normalizer/utils.py b/venv/lib/python3.8/site-packages/charset_normalizer/utils.py new file mode 120000 index 0000000..a3e2c6d --- /dev/null +++ b/venv/lib/python3.8/site-packages/charset_normalizer/utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ca/43/b3/9e1700787f8e0cb05626e23bb759dbc1ad5201f37f6c36130891b28785 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/charset_normalizer/version.py b/venv/lib/python3.8/site-packages/charset_normalizer/version.py new file mode 120000 index 0000000..48311c2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/charset_normalizer/version.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fd/e8/76/300dea4bffc86a395e3d0c4a066970eb36810ef3d894b744831808a23c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cleo-0.8.1.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/cleo-0.8.1.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/cleo-0.8.1.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/cleo-0.8.1.dist-info/LICENSE b/venv/lib/python3.8/site-packages/cleo-0.8.1.dist-info/LICENSE new file mode 120000 index 0000000..92971f1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cleo-0.8.1.dist-info/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/21/7e/27/cc3c5c144d93e8306f08aaaa16f4e6067057813aca3a9147caa77192cd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cleo-0.8.1.dist-info/METADATA b/venv/lib/python3.8/site-packages/cleo-0.8.1.dist-info/METADATA new file mode 120000 index 0000000..8ba35bd --- /dev/null +++ b/venv/lib/python3.8/site-packages/cleo-0.8.1.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/84/11/8d/a822ecdc106ae37473c2d2473404b09ec9d8b5e40d0940defd3e969b2b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cleo-0.8.1.dist-info/RECORD b/venv/lib/python3.8/site-packages/cleo-0.8.1.dist-info/RECORD new file mode 100644 index 0000000..30937d2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cleo-0.8.1.dist-info/RECORD @@ -0,0 +1,45 @@ +cleo-0.8.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +cleo-0.8.1.dist-info/LICENSE,sha256=IX4nzDxcFE2T6DBvCKqqFvTmBnBXgTrKOpFHyqdxks0,1080 +cleo-0.8.1.dist-info/METADATA,sha256=hBGNqCLs3BBq43RzwtJHNASwnsnYteQNCUDe_T6Wmys,15868 +cleo-0.8.1.dist-info/RECORD,, +cleo-0.8.1.dist-info/WHEEL,sha256=k_UtF7DeTKrUqc0FULNabrogAWgCy8zJZKQiwD2AkC4,89 +cleo/__init__.py,sha256=l84Awpa2hgbMdqSaD4_UX1l8CRX6PB1HVRsPX1_zWYo,217 +cleo/__pycache__/__init__.cpython-38.pyc,, +cleo/__pycache__/_compat.cpython-38.pyc,, +cleo/__pycache__/application.cpython-38.pyc,, +cleo/__pycache__/helpers.cpython-38.pyc,, +cleo/__pycache__/parser.cpython-38.pyc,, +cleo/_compat.py,sha256=KZPI2l7zHDeTS_0HSQEql2BAAKOtr9McAd1TStCkKQg,1191 +cleo/application.py,sha256=Oz1dk-NJSdaYporFNdWtNB4YSuD6Ms4o-mmkRXzSl1M,1574 +cleo/commands/__init__.py,sha256=WtpAApQZMr9jEIsVyQX26TxdAA0JcssQuOTI7_igRZc,136 +cleo/commands/__pycache__/__init__.cpython-38.pyc,, +cleo/commands/__pycache__/base_command.cpython-38.pyc,, +cleo/commands/__pycache__/command.cpython-38.pyc,, +cleo/commands/__pycache__/completions_command.cpython-38.pyc,, +cleo/commands/base_command.py,sha256=tQ-fGQSJd0vjMPsbOOock89cLyY9rkwkhVg04VY-gJk,2211 +cleo/commands/command.py,sha256=UeF7cmrkwjMIHJ0pDDXE48mJaD2rP_nRFfye8cnPij0,9016 +cleo/commands/completions/__init__.py,sha256=lVL4VPz3c4kWCgjPtL4uuQLNmgwK92q1ffAsv5El02k,25 +cleo/commands/completions/__pycache__/__init__.cpython-38.pyc,, +cleo/commands/completions/__pycache__/templates.cpython-38.pyc,, +cleo/commands/completions/templates.py,sha256=n1W_i8qWGgr_sJAPzfPtolVMXgPub2rGtRce_1-bH9E,2306 +cleo/commands/completions_command.py,sha256=0EbcIu9FCcAaPRdehevatCj_qtHqDZSDL_6LGC99I24,14440 +cleo/config/__init__.py,sha256=tm7gcrb57dBixHeufARDA-khrPRZS2SM4djAYMH7vp8,51 +cleo/config/__pycache__/__init__.cpython-38.pyc,, +cleo/config/__pycache__/application_config.cpython-38.pyc,, +cleo/config/application_config.py,sha256=d-qk3W3tm_7GkYbU0UvlRK9hdaTPMm_A7QaVWmi0nQE,374 +cleo/helpers.py,sha256=LSrdQ9TPxLDutP2HOm8PiKS6_CdUVeghCt4RlVSDF9k,1084 +cleo/io/__init__.py,sha256=2kvw7SgHQZpTIilRT6yb__i81CeA7q5MyKb8gktQ_Rs,72 +cleo/io/__pycache__/__init__.cpython-38.pyc,, +cleo/io/__pycache__/buffered_io.cpython-38.pyc,, +cleo/io/__pycache__/console_io.cpython-38.pyc,, +cleo/io/__pycache__/io_mixin.cpython-38.pyc,, +cleo/io/buffered_io.py,sha256=3QBw4jilZEl5GulQVNra-qIbhtJYOaf1MO14CX_tAXM,306 +cleo/io/console_io.py,sha256=jJyEfPipQYoVW8OY01O_7qTBVNpkA5mBztUJIeouaHI,291 +cleo/io/io_mixin.py,sha256=riCrpNS_rt-FP2Z1Z_oMsayX5Ac4b6BJlNq7r-wqJ_Q,3259 +cleo/parser.py,sha256=e3-WY6V0lxub7wNmT3c0tf5NB3h4ym6w0LA7eI2oJvk,5355 +cleo/testers/__init__.py,sha256=4dtttYeCtN_QavajNxI8eGOv81uQE9r7RB0GgBjaw-s,173 +cleo/testers/__pycache__/__init__.cpython-38.pyc,, +cleo/testers/__pycache__/application_tester.cpython-38.pyc,, +cleo/testers/__pycache__/command_tester.cpython-38.pyc,, +cleo/testers/application_tester.py,sha256=ARy1YZLSisQljCNNzspGQm_yi8DByvIfKT_HaUdDAOY,1456 +cleo/testers/command_tester.py,sha256=MnyciPDRVzLMruQo3Fm1AmOPK_tb2syBQqI5TA1rQ5E,1918 diff --git a/venv/lib/python3.8/site-packages/cleo-0.8.1.dist-info/WHEEL b/venv/lib/python3.8/site-packages/cleo-0.8.1.dist-info/WHEEL new file mode 120000 index 0000000..3817540 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cleo-0.8.1.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/93/f5/2d/17b0de4caad4a9cd0550b35a6eba20016802cbccc964a422c03d80902e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cleo/__init__.py b/venv/lib/python3.8/site-packages/cleo/__init__.py new file mode 120000 index 0000000..bf76e82 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cleo/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/97/ce/00/c296b68606cc76a49a0f8fd45f597c0915fa3c1d47551b0f5f5ff3598a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cleo/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/cleo/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..e72034b Binary files /dev/null and b/venv/lib/python3.8/site-packages/cleo/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cleo/__pycache__/_compat.cpython-38.pyc b/venv/lib/python3.8/site-packages/cleo/__pycache__/_compat.cpython-38.pyc new file mode 100644 index 0000000..77d6910 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cleo/__pycache__/_compat.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cleo/__pycache__/application.cpython-38.pyc b/venv/lib/python3.8/site-packages/cleo/__pycache__/application.cpython-38.pyc new file mode 100644 index 0000000..163f6df Binary files /dev/null and b/venv/lib/python3.8/site-packages/cleo/__pycache__/application.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cleo/__pycache__/helpers.cpython-38.pyc b/venv/lib/python3.8/site-packages/cleo/__pycache__/helpers.cpython-38.pyc new file mode 100644 index 0000000..e3307dc Binary files /dev/null and b/venv/lib/python3.8/site-packages/cleo/__pycache__/helpers.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cleo/__pycache__/parser.cpython-38.pyc b/venv/lib/python3.8/site-packages/cleo/__pycache__/parser.cpython-38.pyc new file mode 100644 index 0000000..85480a3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cleo/__pycache__/parser.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cleo/_compat.py b/venv/lib/python3.8/site-packages/cleo/_compat.py new file mode 120000 index 0000000..efd70f6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cleo/_compat.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/29/93/c8/da5ef31c37934bfd0749012a97604000a3adafd31c01dd534ad0a42908 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cleo/application.py b/venv/lib/python3.8/site-packages/cleo/application.py new file mode 120000 index 0000000..8561297 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cleo/application.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3b/3d/5d/93e34949d698a68ac535d5ad341e184ae0fa32ce28fa69a4457cd29753 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cleo/commands/__init__.py b/venv/lib/python3.8/site-packages/cleo/commands/__init__.py new file mode 120000 index 0000000..721f547 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cleo/commands/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5a/da/40/02941932bf63108b15c905f6e93c5d000d0972cb10b8e4c8eff8a04597 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cleo/commands/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/cleo/commands/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..bb09b87 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cleo/commands/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cleo/commands/__pycache__/base_command.cpython-38.pyc b/venv/lib/python3.8/site-packages/cleo/commands/__pycache__/base_command.cpython-38.pyc new file mode 100644 index 0000000..d140c5d Binary files /dev/null and b/venv/lib/python3.8/site-packages/cleo/commands/__pycache__/base_command.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cleo/commands/__pycache__/command.cpython-38.pyc b/venv/lib/python3.8/site-packages/cleo/commands/__pycache__/command.cpython-38.pyc new file mode 100644 index 0000000..708f19f Binary files /dev/null and b/venv/lib/python3.8/site-packages/cleo/commands/__pycache__/command.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cleo/commands/__pycache__/completions_command.cpython-38.pyc b/venv/lib/python3.8/site-packages/cleo/commands/__pycache__/completions_command.cpython-38.pyc new file mode 100644 index 0000000..6f0eef7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cleo/commands/__pycache__/completions_command.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cleo/commands/base_command.py b/venv/lib/python3.8/site-packages/cleo/commands/base_command.py new file mode 120000 index 0000000..6f86723 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cleo/commands/base_command.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b5/0f/9f/190489774be330fb1b38ea1c93cf5c2f263dae4c24855834e1563e8099 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cleo/commands/command.py b/venv/lib/python3.8/site-packages/cleo/commands/command.py new file mode 120000 index 0000000..9917d6e --- /dev/null +++ b/venv/lib/python3.8/site-packages/cleo/commands/command.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/51/e1/7b/726ae4c233081c9d290c35c4e3c989683dab3ff9d115fc9ef1c9cf8a3d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cleo/commands/completions/__init__.py b/venv/lib/python3.8/site-packages/cleo/commands/completions/__init__.py new file mode 120000 index 0000000..a250203 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cleo/commands/completions/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/95/52/f8/54fcf77389160a08cfb4be2eb902cd9a0c0af76ab57df02cbf9125d369 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cleo/commands/completions/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/cleo/commands/completions/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..dafd045 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cleo/commands/completions/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cleo/commands/completions/__pycache__/templates.cpython-38.pyc b/venv/lib/python3.8/site-packages/cleo/commands/completions/__pycache__/templates.cpython-38.pyc new file mode 100644 index 0000000..ffbec8b Binary files /dev/null and b/venv/lib/python3.8/site-packages/cleo/commands/completions/__pycache__/templates.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cleo/commands/completions/templates.py b/venv/lib/python3.8/site-packages/cleo/commands/completions/templates.py new file mode 120000 index 0000000..4f2694b --- /dev/null +++ b/venv/lib/python3.8/site-packages/cleo/commands/completions/templates.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9f/55/bf/8bca961a0affb0900fcdf3eda2554c5e03ee6f6ac6b5171eff5f9b1fd1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cleo/commands/completions_command.py b/venv/lib/python3.8/site-packages/cleo/commands/completions_command.py new file mode 120000 index 0000000..3ba8d75 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cleo/commands/completions_command.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d0/46/dc/22ef4509c01a3d175e85ebdab428ffaad1ea0d94832ffe8b182f7d236e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cleo/config/__init__.py b/venv/lib/python3.8/site-packages/cleo/config/__init__.py new file mode 120000 index 0000000..9d5a5d2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cleo/config/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b6/6e/e0/72b6f9edd062c477ae7c044303e921acf4594b648ce1d8c060c1fbbe9f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cleo/config/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/cleo/config/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..822cde9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cleo/config/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cleo/config/__pycache__/application_config.cpython-38.pyc b/venv/lib/python3.8/site-packages/cleo/config/__pycache__/application_config.cpython-38.pyc new file mode 100644 index 0000000..1aeb772 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cleo/config/__pycache__/application_config.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cleo/config/application_config.py b/venv/lib/python3.8/site-packages/cleo/config/application_config.py new file mode 120000 index 0000000..435cd9f --- /dev/null +++ b/venv/lib/python3.8/site-packages/cleo/config/application_config.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/77/ea/a4/dd6ded9bfec69186d4d14be544af6175a4cf326fc0ed06955a68b49d01 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cleo/helpers.py b/venv/lib/python3.8/site-packages/cleo/helpers.py new file mode 120000 index 0000000..9ca76d4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cleo/helpers.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2d/2a/dd/43d4cfc4b0eeb4fd873a6f0f88a4bafc275455e8210ade1195548317d9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cleo/io/__init__.py b/venv/lib/python3.8/site-packages/cleo/io/__init__.py new file mode 120000 index 0000000..1a4ec7e --- /dev/null +++ b/venv/lib/python3.8/site-packages/cleo/io/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/da/4b/f0/ed2807419a532229514fac9bfff8bcd42780eeae4cc8a6fc824b50fd1b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cleo/io/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/cleo/io/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..cd1a397 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cleo/io/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cleo/io/__pycache__/buffered_io.cpython-38.pyc b/venv/lib/python3.8/site-packages/cleo/io/__pycache__/buffered_io.cpython-38.pyc new file mode 100644 index 0000000..4885724 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cleo/io/__pycache__/buffered_io.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cleo/io/__pycache__/console_io.cpython-38.pyc b/venv/lib/python3.8/site-packages/cleo/io/__pycache__/console_io.cpython-38.pyc new file mode 100644 index 0000000..4a34abc Binary files /dev/null and b/venv/lib/python3.8/site-packages/cleo/io/__pycache__/console_io.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cleo/io/__pycache__/io_mixin.cpython-38.pyc b/venv/lib/python3.8/site-packages/cleo/io/__pycache__/io_mixin.cpython-38.pyc new file mode 100644 index 0000000..6e0b62a Binary files /dev/null and b/venv/lib/python3.8/site-packages/cleo/io/__pycache__/io_mixin.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cleo/io/buffered_io.py b/venv/lib/python3.8/site-packages/cleo/io/buffered_io.py new file mode 120000 index 0000000..1602fa9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cleo/io/buffered_io.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/dd/00/70/e238a56449791ae95054dadafaa21b86d25839a7f530ed78097fed0173 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cleo/io/console_io.py b/venv/lib/python3.8/site-packages/cleo/io/console_io.py new file mode 120000 index 0000000..725354b --- /dev/null +++ b/venv/lib/python3.8/site-packages/cleo/io/console_io.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8c/9c/84/7cf8a9418a155bc398d353bfeea4c154da64039981ced50921ea2e6872 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cleo/io/io_mixin.py b/venv/lib/python3.8/site-packages/cleo/io/io_mixin.py new file mode 120000 index 0000000..4ac63a0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cleo/io/io_mixin.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ae/20/ab/a4d4bfaedf853f667567fa0cb1ac97e407386fa04994dabbafec2a27f4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cleo/parser.py b/venv/lib/python3.8/site-packages/cleo/parser.py new file mode 120000 index 0000000..8fea4be --- /dev/null +++ b/venv/lib/python3.8/site-packages/cleo/parser.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7b/7f/96/63a574971b9bef03664f7734b5fe4d077878ca6eb0d0b03b788da826f9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cleo/testers/__init__.py b/venv/lib/python3.8/site-packages/cleo/testers/__init__.py new file mode 120000 index 0000000..cfb803f --- /dev/null +++ b/venv/lib/python3.8/site-packages/cleo/testers/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e1/db/6d/b58782b4dfd06af6a337123c7863aff35b9013dafb441d068018dac3eb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cleo/testers/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/cleo/testers/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..3b6c137 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cleo/testers/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cleo/testers/__pycache__/application_tester.cpython-38.pyc b/venv/lib/python3.8/site-packages/cleo/testers/__pycache__/application_tester.cpython-38.pyc new file mode 100644 index 0000000..0389122 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cleo/testers/__pycache__/application_tester.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cleo/testers/__pycache__/command_tester.cpython-38.pyc b/venv/lib/python3.8/site-packages/cleo/testers/__pycache__/command_tester.cpython-38.pyc new file mode 100644 index 0000000..dad0031 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cleo/testers/__pycache__/command_tester.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cleo/testers/application_tester.py b/venv/lib/python3.8/site-packages/cleo/testers/application_tester.py new file mode 120000 index 0000000..b549fd3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cleo/testers/application_tester.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/01/1c/b5/6192d28ac4258c234dceca46426ff28bc0c1caf21f293fc769474300e6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cleo/testers/command_tester.py b/venv/lib/python3.8/site-packages/cleo/testers/command_tester.py new file mode 120000 index 0000000..6e42d25 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cleo/testers/command_tester.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/32/7c/9c/88f0d15732ccaee428dc59b502638f2bfb5bdacc8142a2394c0d6b4391 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/click-8.1.3.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/click-8.1.3.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/click-8.1.3.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/click-8.1.3.dist-info/LICENSE.rst b/venv/lib/python3.8/site-packages/click-8.1.3.dist-info/LICENSE.rst new file mode 120000 index 0000000..52412e9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/click-8.1.3.dist-info/LICENSE.rst @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9a/8a/d1/06a394e853bfe21f42f4e72d592819a22805d991b5f3275029292b658d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/click-8.1.3.dist-info/METADATA b/venv/lib/python3.8/site-packages/click-8.1.3.dist-info/METADATA new file mode 120000 index 0000000..8db0d8c --- /dev/null +++ b/venv/lib/python3.8/site-packages/click-8.1.3.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b4/52/48/5f994e8f1edce4b8d96dd4cf1550c94a0caff45ef85d8d1708fa7f8277 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/click-8.1.3.dist-info/RECORD b/venv/lib/python3.8/site-packages/click-8.1.3.dist-info/RECORD new file mode 100644 index 0000000..b17e45f --- /dev/null +++ b/venv/lib/python3.8/site-packages/click-8.1.3.dist-info/RECORD @@ -0,0 +1,41 @@ +click-8.1.3.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +click-8.1.3.dist-info/LICENSE.rst,sha256=morRBqOU6FO_4h9C9OctWSgZoigF2ZG18ydQKSkrZY0,1475 +click-8.1.3.dist-info/METADATA,sha256=tFJIX5lOjx7c5LjZbdTPFVDJSgyv9F74XY0XCPp_gnc,3247 +click-8.1.3.dist-info/RECORD,, +click-8.1.3.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +click-8.1.3.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92 +click-8.1.3.dist-info/direct_url.json,sha256=z89abGMNM2FbtPWoC_nSsRwnExzkTjRZTvLd28vXEi8,247 +click-8.1.3.dist-info/top_level.txt,sha256=J1ZQogalYS4pphY_lPECoNMfw0HzTSrZglC4Yfwo4xA,6 +click/__init__.py,sha256=rQBLutqg-z6m8nOzivIfigDn_emijB_dKv9BZ2FNi5s,3138 +click/__pycache__/__init__.cpython-38.pyc,, +click/__pycache__/_compat.cpython-38.pyc,, +click/__pycache__/_termui_impl.cpython-38.pyc,, +click/__pycache__/_textwrap.cpython-38.pyc,, +click/__pycache__/_winconsole.cpython-38.pyc,, +click/__pycache__/core.cpython-38.pyc,, +click/__pycache__/decorators.cpython-38.pyc,, +click/__pycache__/exceptions.cpython-38.pyc,, +click/__pycache__/formatting.cpython-38.pyc,, +click/__pycache__/globals.cpython-38.pyc,, +click/__pycache__/parser.cpython-38.pyc,, +click/__pycache__/shell_completion.cpython-38.pyc,, +click/__pycache__/termui.cpython-38.pyc,, +click/__pycache__/testing.cpython-38.pyc,, +click/__pycache__/types.cpython-38.pyc,, +click/__pycache__/utils.cpython-38.pyc,, +click/_compat.py,sha256=JIHLYs7Jzz4KT9t-ds4o4jBzLjnwCiJQKqur-5iwCKI,18810 +click/_termui_impl.py,sha256=qK6Cfy4mRFxvxE8dya8RBhLpSC8HjF-lvBc6aNrPdwg,23451 +click/_textwrap.py,sha256=10fQ64OcBUMuK7mFvh8363_uoOxPlRItZBmKzRJDgoY,1353 +click/_winconsole.py,sha256=5ju3jQkcZD0W27WEMGqmEP4y_crUVzPCqsX_FYb7BO0,7860 +click/core.py,sha256=mz87bYEKzIoNYEa56BFAiOJnvt1Y0L-i7wD4_ZecieE,112782 +click/decorators.py,sha256=yo3zvzgUm5q7h5CXjyV6q3h_PJAiUaem178zXwdWUFI,16350 +click/exceptions.py,sha256=7gDaLGuFZBeCNwY9ERMsF2-Z3R9Fvq09Zc6IZSKjseo,9167 +click/formatting.py,sha256=Frf0-5W33-loyY_i9qrwXR8-STnW3m5gvyxLVUdyxyk,9706 +click/globals.py,sha256=TP-qM88STzc7f127h35TD_v920FgfOD2EwzqA0oE8XU,1961 +click/parser.py,sha256=cAEt1uQR8gq3-S9ysqbVU-fdAZNvilxw4ReJ_T1OQMk,19044 +click/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +click/shell_completion.py,sha256=qOp_BeC9esEOSZKyu5G7RIxEUaLsXUX-mTb7hB1r4QY,18018 +click/termui.py,sha256=ACBQVOvFCTSqtD5VREeCAdRtlHd-Imla-Lte4wSfMjA,28355 +click/testing.py,sha256=ptpMYgRY7dVfE3UDgkgwayu9ePw98sQI3D7zZXiCpj4,16063 +click/types.py,sha256=rEb1aZSQKq3ciCMmjpG2Uva9vk498XRL7ThrcK2GRss,35805 +click/utils.py,sha256=33D6E7poH_nrKB-xr-UyDEXnxOcCiQqxuRLtrqeVv6o,18682 diff --git a/venv/lib/python3.8/site-packages/click-8.1.3.dist-info/REQUESTED b/venv/lib/python3.8/site-packages/click-8.1.3.dist-info/REQUESTED new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.8/site-packages/click-8.1.3.dist-info/WHEEL b/venv/lib/python3.8/site-packages/click-8.1.3.dist-info/WHEEL new file mode 120000 index 0000000..7e89bc1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/click-8.1.3.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1b/5e/87/e00dc87a84269cead8578b9e6462928e18a95f1f3373c9eef451a5bcc0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/click-8.1.3.dist-info/direct_url.json b/venv/lib/python3.8/site-packages/click-8.1.3.dist-info/direct_url.json new file mode 100644 index 0000000..b31e802 --- /dev/null +++ b/venv/lib/python3.8/site-packages/click-8.1.3.dist-info/direct_url.json @@ -0,0 +1 @@ +{"archive_info": {"hash": "sha256=bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48"}, "url": "https://files.pythonhosted.org/packages/c2/f1/df59e28c642d583f7dacffb1e0965d0e00b218e0186d7858ac5233dce840/click-8.1.3-py3-none-any.whl"} \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/click-8.1.3.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/click-8.1.3.dist-info/top_level.txt new file mode 120000 index 0000000..0a3c828 --- /dev/null +++ b/venv/lib/python3.8/site-packages/click-8.1.3.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/27/56/50/a206a5612e29a6163f94f102a0d31fc341f34d2ad98250b861fc28e310 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/click/__init__.py b/venv/lib/python3.8/site-packages/click/__init__.py new file mode 120000 index 0000000..370438a --- /dev/null +++ b/venv/lib/python3.8/site-packages/click/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ad/00/4b/badaa0fb3ea6f273b38af21f8a00e7fde9a28c1fdd2aff4167614d8b9b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/click/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/click/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..bcef436 Binary files /dev/null and b/venv/lib/python3.8/site-packages/click/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/click/__pycache__/_compat.cpython-38.pyc b/venv/lib/python3.8/site-packages/click/__pycache__/_compat.cpython-38.pyc new file mode 100644 index 0000000..0a33ddc Binary files /dev/null and b/venv/lib/python3.8/site-packages/click/__pycache__/_compat.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/click/__pycache__/_termui_impl.cpython-38.pyc b/venv/lib/python3.8/site-packages/click/__pycache__/_termui_impl.cpython-38.pyc new file mode 100644 index 0000000..eda37ee Binary files /dev/null and b/venv/lib/python3.8/site-packages/click/__pycache__/_termui_impl.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/click/__pycache__/_textwrap.cpython-38.pyc b/venv/lib/python3.8/site-packages/click/__pycache__/_textwrap.cpython-38.pyc new file mode 100644 index 0000000..974d82b Binary files /dev/null and b/venv/lib/python3.8/site-packages/click/__pycache__/_textwrap.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/click/__pycache__/_winconsole.cpython-38.pyc b/venv/lib/python3.8/site-packages/click/__pycache__/_winconsole.cpython-38.pyc new file mode 100644 index 0000000..1487eb9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/click/__pycache__/_winconsole.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/click/__pycache__/core.cpython-38.pyc b/venv/lib/python3.8/site-packages/click/__pycache__/core.cpython-38.pyc new file mode 100644 index 0000000..71c091e Binary files /dev/null and b/venv/lib/python3.8/site-packages/click/__pycache__/core.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/click/__pycache__/decorators.cpython-38.pyc b/venv/lib/python3.8/site-packages/click/__pycache__/decorators.cpython-38.pyc new file mode 100644 index 0000000..93188a6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/click/__pycache__/decorators.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/click/__pycache__/exceptions.cpython-38.pyc b/venv/lib/python3.8/site-packages/click/__pycache__/exceptions.cpython-38.pyc new file mode 100644 index 0000000..83f9a28 Binary files /dev/null and b/venv/lib/python3.8/site-packages/click/__pycache__/exceptions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/click/__pycache__/formatting.cpython-38.pyc b/venv/lib/python3.8/site-packages/click/__pycache__/formatting.cpython-38.pyc new file mode 100644 index 0000000..c22438f Binary files /dev/null and b/venv/lib/python3.8/site-packages/click/__pycache__/formatting.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/click/__pycache__/globals.cpython-38.pyc b/venv/lib/python3.8/site-packages/click/__pycache__/globals.cpython-38.pyc new file mode 100644 index 0000000..cb75c27 Binary files /dev/null and b/venv/lib/python3.8/site-packages/click/__pycache__/globals.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/click/__pycache__/parser.cpython-38.pyc b/venv/lib/python3.8/site-packages/click/__pycache__/parser.cpython-38.pyc new file mode 100644 index 0000000..51c4802 Binary files /dev/null and b/venv/lib/python3.8/site-packages/click/__pycache__/parser.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/click/__pycache__/shell_completion.cpython-38.pyc b/venv/lib/python3.8/site-packages/click/__pycache__/shell_completion.cpython-38.pyc new file mode 100644 index 0000000..09cf101 Binary files /dev/null and b/venv/lib/python3.8/site-packages/click/__pycache__/shell_completion.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/click/__pycache__/termui.cpython-38.pyc b/venv/lib/python3.8/site-packages/click/__pycache__/termui.cpython-38.pyc new file mode 100644 index 0000000..b6e8aff Binary files /dev/null and b/venv/lib/python3.8/site-packages/click/__pycache__/termui.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/click/__pycache__/testing.cpython-38.pyc b/venv/lib/python3.8/site-packages/click/__pycache__/testing.cpython-38.pyc new file mode 100644 index 0000000..0343f96 Binary files /dev/null and b/venv/lib/python3.8/site-packages/click/__pycache__/testing.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/click/__pycache__/types.cpython-38.pyc b/venv/lib/python3.8/site-packages/click/__pycache__/types.cpython-38.pyc new file mode 100644 index 0000000..dbc2afd Binary files /dev/null and b/venv/lib/python3.8/site-packages/click/__pycache__/types.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/click/__pycache__/utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/click/__pycache__/utils.cpython-38.pyc new file mode 100644 index 0000000..f857368 Binary files /dev/null and b/venv/lib/python3.8/site-packages/click/__pycache__/utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/click/_compat.py b/venv/lib/python3.8/site-packages/click/_compat.py new file mode 120000 index 0000000..0a06ef7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/click/_compat.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/24/81/cb/62cec9cf3e0a4fdb7e76ce28e230732e39f00a22502aababfb98b008a2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/click/_termui_impl.py b/venv/lib/python3.8/site-packages/click/_termui_impl.py new file mode 120000 index 0000000..c8168cd --- /dev/null +++ b/venv/lib/python3.8/site-packages/click/_termui_impl.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a8/ae/82/7f2e26445c6fc44f1dc9af110612e9482f078c5fa5bc173a68dacf7708 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/click/_textwrap.py b/venv/lib/python3.8/site-packages/click/_textwrap.py new file mode 120000 index 0000000..eeb0063 --- /dev/null +++ b/venv/lib/python3.8/site-packages/click/_textwrap.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d7/47/d0/eb839c05432e2bb985be1f37eb7feea0ec4f95122d64198acd12438286 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/click/_winconsole.py b/venv/lib/python3.8/site-packages/click/_winconsole.py new file mode 120000 index 0000000..5d8a9db --- /dev/null +++ b/venv/lib/python3.8/site-packages/click/_winconsole.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e6/3b/b7/8d091c643d16dbb584306aa610fe32fdcad45733c2aac5ff1586fb04ed \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/click/core.py b/venv/lib/python3.8/site-packages/click/core.py new file mode 120000 index 0000000..0b9f5a0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/click/core.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9b/3f/3b/6d810acc8a0d6046b9e8114088e267bedd58d0bfa2ef00f8fd979c89e1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/click/decorators.py b/venv/lib/python3.8/site-packages/click/decorators.py new file mode 120000 index 0000000..012e3f3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/click/decorators.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ca/8d/f3/bf38149b9abb8790978f257aab787f3c902251a7a6d7bf335f07565052 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/click/exceptions.py b/venv/lib/python3.8/site-packages/click/exceptions.py new file mode 120000 index 0000000..8bad9bf --- /dev/null +++ b/venv/lib/python3.8/site-packages/click/exceptions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ee/00/da/2c6b8564178237063d11132c176f99dd1f45bead3d65ce886522a3b1ea \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/click/formatting.py b/venv/lib/python3.8/site-packages/click/formatting.py new file mode 120000 index 0000000..aca19d6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/click/formatting.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/16/b7/f4/fb95b7dfe968c98fe2f6aaf05d1f3e4939d6de6e60bf2c4b554772c729 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/click/globals.py b/venv/lib/python3.8/site-packages/click/globals.py new file mode 120000 index 0000000..836c679 --- /dev/null +++ b/venv/lib/python3.8/site-packages/click/globals.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4c/ff/aa/33cf124f373b7f5dbb877e530ffbfddb41607ce0f6130cea034a04f175 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/click/parser.py b/venv/lib/python3.8/site-packages/click/parser.py new file mode 120000 index 0000000..c635a77 --- /dev/null +++ b/venv/lib/python3.8/site-packages/click/parser.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/70/01/2d/d6e411f20ab7f92f72b2a6d553e7dd01936f8a5c70e11789fd3d4e40c9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/click/py.typed b/venv/lib/python3.8/site-packages/click/py.typed new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/click/py.typed @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/click/shell_completion.py b/venv/lib/python3.8/site-packages/click/shell_completion.py new file mode 120000 index 0000000..dbf66fd --- /dev/null +++ b/venv/lib/python3.8/site-packages/click/shell_completion.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a8/ea/7f/05e0bd7ac10e4992b2bb91bb448c4451a2ec5d45fe9936fb841d6be106 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/click/termui.py b/venv/lib/python3.8/site-packages/click/termui.py new file mode 120000 index 0000000..97800e3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/click/termui.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/00/20/50/54ebc50934aab43e5544478201d46d94777e22695af8bb5ee3049f3230 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/click/testing.py b/venv/lib/python3.8/site-packages/click/testing.py new file mode 120000 index 0000000..57d6339 --- /dev/null +++ b/venv/lib/python3.8/site-packages/click/testing.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a6/da/4c/620458edd55f1375038248306b2bbd78fc3df2c408dc3ef3657882a63e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/click/types.py b/venv/lib/python3.8/site-packages/click/types.py new file mode 120000 index 0000000..a44da12 --- /dev/null +++ b/venv/lib/python3.8/site-packages/click/types.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ac/46/f5/6994902aaddc8823268e91b652f6bdbe4e3df1744bed386b70ad8646cb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/click/utils.py b/venv/lib/python3.8/site-packages/click/utils.py new file mode 120000 index 0000000..44ef103 --- /dev/null +++ b/venv/lib/python3.8/site-packages/click/utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/df/70/fa/13ba681ff9eb281fb1afe5320c45e7c4e702890ab1b912edaea795bfaa \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit-0.6.2.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/clikit-0.6.2.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit-0.6.2.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/clikit-0.6.2.dist-info/LICENSE b/venv/lib/python3.8/site-packages/clikit-0.6.2.dist-info/LICENSE new file mode 120000 index 0000000..1cb34fe --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit-0.6.2.dist-info/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f2/f9/b4/60ba719da6626add264d3782f275a4ff7aab677beda08b330911e23adb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit-0.6.2.dist-info/METADATA b/venv/lib/python3.8/site-packages/clikit-0.6.2.dist-info/METADATA new file mode 120000 index 0000000..bc1c8a7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit-0.6.2.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/55/02/01/80bdc8a90831817c7ceda0b0243f1892d000d6adda4727f0b89af67ebe \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit-0.6.2.dist-info/RECORD b/venv/lib/python3.8/site-packages/clikit-0.6.2.dist-info/RECORD new file mode 100644 index 0000000..b2253f9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit-0.6.2.dist-info/RECORD @@ -0,0 +1,255 @@ +clikit-0.6.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +clikit-0.6.2.dist-info/LICENSE,sha256=8vm0YLpxnaZiat0mTTeC8nWk_3qrZ3vtoIszCRHiOts,1062 +clikit-0.6.2.dist-info/METADATA,sha256=VQIBgL3IqQgxgXx87aCwJD8YktAA1q3aRyfwuJr2fr4,1581 +clikit-0.6.2.dist-info/RECORD,, +clikit-0.6.2.dist-info/WHEEL,sha256=BcHwX75L5o9y8NN94BU-O_IP_7AP-vrh-M6RWGoded0,87 +clikit/__init__.py,sha256=672ya2xDu_gkHfPFkW8oh4YATmywus0kDO_H5-IvsCw,208 +clikit/__pycache__/__init__.cpython-38.pyc,, +clikit/__pycache__/console_application.cpython-38.pyc,, +clikit/adapter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +clikit/adapter/__pycache__/__init__.cpython-38.pyc,, +clikit/adapter/__pycache__/style_converter.cpython-38.pyc,, +clikit/adapter/style_converter.py,sha256=jdauKvcNCaSF_LatoaO942wU00Sh24aY-74hq4IEcR8,860 +clikit/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +clikit/api/__pycache__/__init__.cpython-38.pyc,, +clikit/api/__pycache__/exceptions.cpython-38.pyc,, +clikit/api/application/__init__.py,sha256=FoOc_AS7QiydMuCon44T4ZiOCyIEjr27cH5uT618-OE,37 +clikit/api/application/__pycache__/__init__.cpython-38.pyc,, +clikit/api/application/__pycache__/application.cpython-38.pyc,, +clikit/api/application/application.py,sha256=Tv2Me8HWf44ULl7kh59qctwvnr-rr1nP4fo-S5XbR68,1775 +clikit/api/args/__init__.py,sha256=sZQSI_WC4tcrpqsuxnEcAYeS1ZbcOTxWJYgI9sheTcs,89 +clikit/api/args/__pycache__/__init__.cpython-38.pyc,, +clikit/api/args/__pycache__/args.cpython-38.pyc,, +clikit/api/args/__pycache__/args_parser.cpython-38.pyc,, +clikit/api/args/__pycache__/exceptions.cpython-38.pyc,, +clikit/api/args/__pycache__/raw_args.cpython-38.pyc,, +clikit/api/args/args.py,sha256=3OQ5m6dWfShmQxbNqwgAJg9gsx20dASMd4S7C_IFP5Y,3837 +clikit/api/args/args_parser.py,sha256=chddl-5uf83oreakhusFWAFWZstuTgdTIbslWHY_Q1M,350 +clikit/api/args/exceptions.py,sha256=FSRjsZQJHf2EhDDLQZG3ehy7KnDVYnFjGgDNTvilZZA,1999 +clikit/api/args/format/__init__.py,sha256=GgBjypUc6-OOeOXxZcavu5l7Qu_OdlqKcusTGHZHIZE,225 +clikit/api/args/format/__pycache__/__init__.cpython-38.pyc,, +clikit/api/args/format/__pycache__/abstract_option.cpython-38.pyc,, +clikit/api/args/format/__pycache__/args_format.cpython-38.pyc,, +clikit/api/args/format/__pycache__/args_format_builder.cpython-38.pyc,, +clikit/api/args/format/__pycache__/argument.cpython-38.pyc,, +clikit/api/args/format/__pycache__/command_name.cpython-38.pyc,, +clikit/api/args/format/__pycache__/command_option.cpython-38.pyc,, +clikit/api/args/format/__pycache__/option.cpython-38.pyc,, +clikit/api/args/format/abstract_option.py,sha256=zzqZ7dhBy-ZQKPyM-ixf-1dkvhD2h34xXhuS2gRLsfc,4360 +clikit/api/args/format/args_format.py,sha256=da0dG9Q79t-_j-m_LoThPA7w5HIvjYs55Gvrn2lhQ2c,8371 +clikit/api/args/format/args_format_builder.py,sha256=VaJl79nHpdnqz6fm6eJmuCAJNtBkjDKN8bWBq89lKQw,11308 +clikit/api/args/format/argument.py,sha256=mMYpY--eJqd5CNQpHrLGPFzVohMVXcg7-CnQtu2RR_E,5222 +clikit/api/args/format/command_name.py,sha256=R5mHuudJ0sKy47qVBMpQhI2cBaDdqTvvATsWRgJQo14,828 +clikit/api/args/format/command_option.py,sha256=tBMRIm2eAVEpYDh_GPmyDbhKq9xpjvn7g8bpWWyrXqg,1792 +clikit/api/args/format/option.py,sha256=NbSSFjH6ujR0a16_AZf-mT3dcYnozGW5dANidoEiNDA,5312 +clikit/api/args/raw_args.py,sha256=lmtJHySybizLekRblhyfjApOGg50da2GlQc0Eh02yHc,812 +clikit/api/command/__init__.py,sha256=0791MZSWZM0hNoIp54JgGEolyRxZVvbrshEmrGneAbo,79 +clikit/api/command/__pycache__/__init__.cpython-38.pyc,, +clikit/api/command/__pycache__/command.cpython-38.pyc,, +clikit/api/command/__pycache__/command_collection.cpython-38.pyc,, +clikit/api/command/__pycache__/exceptions.cpython-38.pyc,, +clikit/api/command/command.py,sha256=n4CyIcKpA02tL-u_hagjN5NQy3tbGHGiJLGu_VLxNag,5500 +clikit/api/command/command_collection.py,sha256=DgOihRbOFw9YxAo0DJlKXLdic_J2160eqCRCK1HJ5Fw,1930 +clikit/api/command/exceptions.py,sha256=cur-caKkWd7PkKgOjL725CwrO4lUGXOtE1zo1vx2ugY,683 +clikit/api/config/__init__.py,sha256=eyPIKClyLxlsbmAGfRAmUT1ZnnqNmiXNYd8mMMtZn30,92 +clikit/api/config/__pycache__/__init__.cpython-38.pyc,, +clikit/api/config/__pycache__/application_config.cpython-38.pyc,, +clikit/api/config/__pycache__/command_config.cpython-38.pyc,, +clikit/api/config/__pycache__/config.cpython-38.pyc,, +clikit/api/config/application_config.py,sha256=N_LDUeYWbBv_GNNuv1W4GovBGUGCQvT-jWNbr0TUr2E,7640 +clikit/api/config/command_config.py,sha256=9hO6llUVX0x2z13EkAJB06XJruZBzbiEA9CJo8K7kaA,7280 +clikit/api/config/config.py,sha256=2ifrvAYJ7XnUj2-hmP8azD8tjGvooPnRHadZymBzHJk,4101 +clikit/api/event/__init__.py,sha256=iK44q99DJj6jI3-FSTbg87ZKSDQKpxuZfjhDazzElHk,315 +clikit/api/event/__pycache__/__init__.cpython-38.pyc,, +clikit/api/event/__pycache__/config_event.cpython-38.pyc,, +clikit/api/event/__pycache__/console_events.cpython-38.pyc,, +clikit/api/event/__pycache__/event.cpython-38.pyc,, +clikit/api/event/__pycache__/event_dispatcher.cpython-38.pyc,, +clikit/api/event/__pycache__/pre_handle_event.cpython-38.pyc,, +clikit/api/event/__pycache__/pre_resolve_event.cpython-38.pyc,, +clikit/api/event/config_event.py,sha256=gQVVvrRueYvV0z3OQCNR7Fhi84MgjjBVW0zn6Ha7UVI,384 +clikit/api/event/console_events.py,sha256=RHK8n_BGZZ3toZBrqgaEGk1Wg-dLz760h17dg1uO7bc,74 +clikit/api/event/event.py,sha256=pJPgJesyg5JX8PPA2-zi5kHUk3AbDXXgCyIYBuGtJmo,328 +clikit/api/event/event_dispatcher.py,sha256=RZvQ1BiYj4l3cb5H0crn6YRT5_T_oOO8cXq0qEIbusg,3055 +clikit/api/event/pre_handle_event.py,sha256=EoFIuh1I_R0T5vF7je0dDVG9pU5PYNhNZjHsAOPdcEU,1166 +clikit/api/event/pre_resolve_event.py,sha256=vs6LUs0Yq1pJKCcqjw7X2xcf6gip75BQXpKtMYwu_u8,1049 +clikit/api/exceptions.py,sha256=vWBJqhYXNFBgg4rIIKN07hPiA42HmvqUSz1j9s1N6oA,97 +clikit/api/formatter/__init__.py,sha256=qyU1_SK11VRjYiwty4WTK9g5XtftpTHMPG7YUOsmW_8,90 +clikit/api/formatter/__pycache__/__init__.cpython-38.pyc,, +clikit/api/formatter/__pycache__/formatter.cpython-38.pyc,, +clikit/api/formatter/__pycache__/style.cpython-38.pyc,, +clikit/api/formatter/__pycache__/style_set.cpython-38.pyc,, +clikit/api/formatter/formatter.py,sha256=mWprIFsHO6DYF0vrA8H7FACr-GnEruTLsY-Y1W8Czgs,665 +clikit/api/formatter/style.py,sha256=lmvl2iEc26IWQO-bhS5JJT-Gemt1mkMG_xfQD2mcvC0,2810 +clikit/api/formatter/style_set.py,sha256=9MJO-uadkgbUkMtxyynlUpvh9-9DezEuEU0CN2ig-no,981 +clikit/api/io/__init__.py,sha256=wFO8kFY6aNF0NycVG4AYe5J_A5LtFv8O6ivFQJJk-SU,187 +clikit/api/io/__pycache__/__init__.cpython-38.pyc,, +clikit/api/io/__pycache__/flags.cpython-38.pyc,, +clikit/api/io/__pycache__/input.cpython-38.pyc,, +clikit/api/io/__pycache__/input_stream.cpython-38.pyc,, +clikit/api/io/__pycache__/io.cpython-38.pyc,, +clikit/api/io/__pycache__/io_exception.cpython-38.pyc,, +clikit/api/io/__pycache__/output.cpython-38.pyc,, +clikit/api/io/__pycache__/output_stream.cpython-38.pyc,, +clikit/api/io/__pycache__/section_output.cpython-38.pyc,, +clikit/api/io/flags.py,sha256=BxVtAqib2JKrxa8enKb7jgPHrbowS3Jh1wpmM1Uxwe8,254 +clikit/api/io/input.py,sha256=TmKlYFDII96sH3oM_7JAYn6x7i4Mq8imRrOItVcmzLM,1867 +clikit/api/io/input_stream.py,sha256=vPrnCvz7DYubNqUCt6ggzUgSXa-PoGi8ifKKcaDest0,731 +clikit/api/io/io.py,sha256=_t1qM3sWJB6nky1s77fl7R8Zqq2vSEgI6HowdWJ9jH0,6991 +clikit/api/io/io_exception.py,sha256=23tAhDkTgMpZw3AVHAQtwDsLxrMcSEmFDqhAj0zaU1M,92 +clikit/api/io/output.py,sha256=wuqKMJ0nsga5Brx0i1rSsSwqttnkYNrbSRqX7fs7Gjw,6291 +clikit/api/io/output_stream.py,sha256=37S8vcrlh1GJgwWKN05w3N9Us1mvDj-uJuNfDeSD1U0,857 +clikit/api/io/section_output.py,sha256=sRj6HRSCHm6RrI_m4UEDImshBDO45EniRXbhQeekVBY,3088 +clikit/api/resolver/__init__.py,sha256=8Jatu87gG0XzW9Gc6u-W4TWbtsnDJvsTc_fitbIYJwA,92 +clikit/api/resolver/__pycache__/__init__.cpython-38.pyc,, +clikit/api/resolver/__pycache__/command_resolver.cpython-38.pyc,, +clikit/api/resolver/__pycache__/exceptions.cpython-38.pyc,, +clikit/api/resolver/__pycache__/resolved_command.cpython-38.pyc,, +clikit/api/resolver/command_resolver.py,sha256=tJzXF9CmCkYuHmeq3rCJ848gDcOZwE-eqCUGAKUV4lg,344 +clikit/api/resolver/exceptions.py,sha256=s5syhgaE4KsacyBfPj3wLCBIqSp4QdYfqT02btZ8o34,779 +clikit/api/resolver/resolved_command.py,sha256=mS0sHUQ-P9BMRv6eP-iCvfsdOeEVbqmCuB-FitsIpps,447 +clikit/args/__init__.py,sha256=YuDLMbpDBTRRX8RsDGFwqp9Qi83P0x_U2s9pAQQguRs,119 +clikit/args/__pycache__/__init__.cpython-38.pyc,, +clikit/args/__pycache__/argv_args.cpython-38.pyc,, +clikit/args/__pycache__/default_args_parser.cpython-38.pyc,, +clikit/args/__pycache__/string_args.cpython-38.pyc,, +clikit/args/__pycache__/token_parser.cpython-38.pyc,, +clikit/args/argv_args.py,sha256=7FiSchlyhz40VzsYK7uJsaSO4XD9x05chjDVLKAppwI,1262 +clikit/args/default_args_parser.py,sha256=B_F9Mn3G8RC6dPRPxKT2qlfsq7Vk0o-KVslXObl0oy8,11723 +clikit/args/inputs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +clikit/args/inputs/__pycache__/__init__.cpython-38.pyc,, +clikit/args/string_args.py,sha256=YSQnT9_KSKqnNwibwJ6VhDBFJ9VIbwBA88iMrIH2ScI,1067 +clikit/args/token_parser.py,sha256=8LW5qEck6mEwcwgfPBwwGTo1tfu88q5P7zNDFIrvRRQ,3031 +clikit/config/__init__.py,sha256=dxmVY0lZ0-Htf-Kkm7MnrFW541lkeeIBnQG10Q5y0LI,65 +clikit/config/__pycache__/__init__.cpython-38.pyc,, +clikit/config/__pycache__/default_application_config.cpython-38.pyc,, +clikit/config/default_application_config.py,sha256=lhKuZosg23WQ9V4H7nsNoVckCVXc18E13sxMAjqZK5w,5874 +clikit/console_application.py,sha256=quUwTfCWa402UgJLp3Lyn-6f4v8KUFyAhsdGIMecQbg,6000 +clikit/formatter/__init__.py,sha256=5goy4-OUK8L7uUmsrpkFLdQjlRAqktlYyzu1D5qYMmI,175 +clikit/formatter/__pycache__/__init__.cpython-38.pyc,, +clikit/formatter/__pycache__/ansi_formatter.cpython-38.pyc,, +clikit/formatter/__pycache__/default_style_set.cpython-38.pyc,, +clikit/formatter/__pycache__/null_formatter.cpython-38.pyc,, +clikit/formatter/__pycache__/plain_formatter.cpython-38.pyc,, +clikit/formatter/ansi_formatter.py,sha256=1PI5JSHWVXuTmFIM0LUaGtpYNAFbJ-_fuCAD4STLF-8,1868 +clikit/formatter/default_style_set.py,sha256=FByMJFRdM4sBTusTQUM3tm8AWD0c9jKSSS4EdFLGyZM,600 +clikit/formatter/null_formatter.py,sha256=S13YSVuwaoqpcWr-wnGg0DcvegSC7HJ-c-uVMSnUjbw,496 +clikit/formatter/plain_formatter.py,sha256=AFGtMvG_2bUpfKia7I8zxEKZzLd2nJlU0C5hcGldXCg,1533 +clikit/handler/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +clikit/handler/__pycache__/__init__.cpython-38.pyc,, +clikit/handler/__pycache__/callback_handler.cpython-38.pyc,, +clikit/handler/callback_handler.py,sha256=mkmYrJKbU9sEsQBXe5xV-V4o6EZUz-76vy2Z54M09lY,385 +clikit/handler/help/__init__.py,sha256=g6dt8GiW2Nw6S2KDpGB86L4H9fnvmQY4ha9IphC9AJU,47 +clikit/handler/help/__pycache__/__init__.cpython-38.pyc,, +clikit/handler/help/__pycache__/help_handler.cpython-38.pyc,, +clikit/handler/help/__pycache__/help_text_handler.cpython-38.pyc,, +clikit/handler/help/help_handler.py,sha256=oILYXTH4H8GQUyTCCdL27V1X9BVyYbsgduuXP_HrRps,238 +clikit/handler/help/help_text_handler.py,sha256=50fAdymanRcJG-QKuLK1Wu1pryYjB0zYTHgohrveHi0,862 +clikit/io/__init__.py,sha256=CFfM1isCq0Ox3jcgKy_ti36LjEIKb-WCqQLV4Ek5hP4,98 +clikit/io/__pycache__/__init__.cpython-38.pyc,, +clikit/io/__pycache__/buffered_io.cpython-38.pyc,, +clikit/io/__pycache__/console_io.cpython-38.pyc,, +clikit/io/__pycache__/null_io.cpython-38.pyc,, +clikit/io/buffered_io.py,sha256=ONUdINgS6TdAdUZm58kiQre89qrV4f0caQbYszLM-Oo,1662 +clikit/io/console_io.py,sha256=YLq0LiTZkJMCaNvY5zfFrHaUaNclCUovi2ru-I-LQig,1605 +clikit/io/input_stream/__init__.py,sha256=vn5CqtOFVFzTFufMZmqE9JR2DMQfv7kEUxJ3EIOKnSQ,204 +clikit/io/input_stream/__pycache__/__init__.cpython-38.pyc,, +clikit/io/input_stream/__pycache__/null_input_stream.cpython-38.pyc,, +clikit/io/input_stream/__pycache__/standard_input_stream.cpython-38.pyc,, +clikit/io/input_stream/__pycache__/stream_input_stream.cpython-38.pyc,, +clikit/io/input_stream/__pycache__/string_input_stream.cpython-38.pyc,, +clikit/io/input_stream/null_input_stream.py,sha256=oX5Q-RXznMBaIGYMIdWXJ_7MKUDlTK_iHCsrpwfWcec,717 +clikit/io/input_stream/standard_input_stream.py,sha256=Q1EusqAASNZBNkqj8KlQ4R-zEzjtZ6uhFokqv1BNhs4,289 +clikit/io/input_stream/stream_input_stream.py,sha256=HRwmNsi6rQ64jniCA4REkabKPfrN_PlB0cFyDxSOakM,1429 +clikit/io/input_stream/string_input_stream.py,sha256=1-5Zcb2d9LWFeERQlcFybNXhG8UFGtXtDoh1LzgIzcQ,879 +clikit/io/null_io.py,sha256=3EeBEC1kDgUeE6J2qa1bjHQplkqjwCTlgho1ZLvnZ9w,494 +clikit/io/output_stream/__init__.py,sha256=ZNqXJn6KLAB58ZPw24wHz0jOVgvfoluHa6WwwKBivBY,267 +clikit/io/output_stream/__pycache__/__init__.cpython-38.pyc,, +clikit/io/output_stream/__pycache__/buffered_output_stream.cpython-38.pyc,, +clikit/io/output_stream/__pycache__/error_output_stream.cpython-38.pyc,, +clikit/io/output_stream/__pycache__/null_output_stream.cpython-38.pyc,, +clikit/io/output_stream/__pycache__/standard_output_stream.cpython-38.pyc,, +clikit/io/output_stream/__pycache__/stream_output_stream.cpython-38.pyc,, +clikit/io/output_stream/buffered_output_stream.py,sha256=U9L9epHTfAj3Zxwsw0lEwKFoTBuSnMNuU_TDjSf_vZc,1315 +clikit/io/output_stream/error_output_stream.py,sha256=yyoW9GX3vKDawDQt5PnXyvrvY8_18nP5jKXYvsnnuiQ,287 +clikit/io/output_stream/null_output_stream.py,sha256=GF_2uHunXMQXvdZXSzTwzDHDAanNwGs8eivljK3EiMM,799 +clikit/io/output_stream/standard_output_stream.py,sha256=IzKfjNrH3yMokxQOwWNrpUynuNPbaFjlJqT0enNsU1w,296 +clikit/io/output_stream/stream_output_stream.py,sha256=3vig_hyp0dODsoQkzq4fojSG3wlmieWV_zamCn2TX-U,3314 +clikit/resolver/__init__.py,sha256=Px1AAiadk2G-y-zaZzxQQGOZn3EPTnVh7s9iDn4riyg,46 +clikit/resolver/__pycache__/__init__.cpython-38.pyc,, +clikit/resolver/__pycache__/default_resolver.cpython-38.pyc,, +clikit/resolver/__pycache__/help_resolver.cpython-38.pyc,, +clikit/resolver/__pycache__/resolve_result.cpython-38.pyc,, +clikit/resolver/default_resolver.py,sha256=qrRq3EuP3caXg5wcVz6rlzs-JWqMYeqsdXvPNF29nCU,5684 +clikit/resolver/help_resolver.py,sha256=_A78t21jZLsHYDFDict0-sgha_V_sBS9tzie8kBMHVc,1036 +clikit/resolver/resolve_result.py,sha256=DiSzIMeo01-rzfaZ1ARKk9HQuLm8CkKuYqSeoCDr28A,1394 +clikit/ui/__init__.py,sha256=60I_pzuR0mkk9uBc_oLK78uo1VLcSnqk55HU8muONag,66 +clikit/ui/__pycache__/__init__.cpython-38.pyc,, +clikit/ui/__pycache__/component.cpython-38.pyc,, +clikit/ui/__pycache__/rectangle.cpython-38.pyc,, +clikit/ui/alignment/__init__.py,sha256=z6aQyThJze0J1Pk0mNXCVlW8Ipk52n0rfviV4EHSA5w,44 +clikit/ui/alignment/__pycache__/__init__.cpython-38.pyc,, +clikit/ui/alignment/__pycache__/label_alignment.cpython-38.pyc,, +clikit/ui/alignment/label_alignment.py,sha256=W2Gnw2FNJHkrIeH2pcJYrPlI5FG2xnIRuYL5zNNCMEg,1212 +clikit/ui/component.py,sha256=6kXOcriR5JawgA4XRHaJ0Ue-Klj6MeI0V0GlK2JyBCM,229 +clikit/ui/components/__init__.py,sha256=tPsp8TeueoiQHeCPlw6ridPJ5WS5lLwk4iNhf3Zu58U,515 +clikit/ui/components/__pycache__/__init__.cpython-38.pyc,, +clikit/ui/components/__pycache__/border_util.cpython-38.pyc,, +clikit/ui/components/__pycache__/cell_wrapper.cpython-38.pyc,, +clikit/ui/components/__pycache__/choice_question.cpython-38.pyc,, +clikit/ui/components/__pycache__/confirmation_question.cpython-38.pyc,, +clikit/ui/components/__pycache__/empty_line.cpython-38.pyc,, +clikit/ui/components/__pycache__/exception_trace.cpython-38.pyc,, +clikit/ui/components/__pycache__/labeled_paragraph.cpython-38.pyc,, +clikit/ui/components/__pycache__/name_version.cpython-38.pyc,, +clikit/ui/components/__pycache__/paragraph.cpython-38.pyc,, +clikit/ui/components/__pycache__/progress_bar.cpython-38.pyc,, +clikit/ui/components/__pycache__/progress_indicator.cpython-38.pyc,, +clikit/ui/components/__pycache__/question.cpython-38.pyc,, +clikit/ui/components/__pycache__/table.cpython-38.pyc,, +clikit/ui/components/border_util.py,sha256=NqkT5mwJfg9jbxZ4I_IX9X26mMfGSIYWuRZ7RQPGTjI,4840 +clikit/ui/components/cell_wrapper.py,sha256=5OFhcsXYyHoTGDc4oNLhs9-hAzOcNBBDQxjlB4DKFlQ,7243 +clikit/ui/components/choice_question.py,sha256=J1-9YMPlOliKPiFieuvNQdB-XuCEbZao7089QtzaxXE,4148 +clikit/ui/components/confirmation_question.py,sha256=_GJtLWjxSyUvW7gKAbRO9pzjb4KTEjKbJb9dKeJyu9k,992 +clikit/ui/components/empty_line.py,sha256=jGEfFp12wpGRboEPr_BxEpust_vYEoK6kD3eseG9RY8,218 +clikit/ui/components/exception_trace.py,sha256=GUCWdyF9gAVm8yCxKZsiRmypAUG1ef0_bt_YBvE04To,15913 +clikit/ui/components/labeled_paragraph.py,sha256=gPO8eqKokwF2UN4zwC8l0QAKN3spdd631W6niboEJO8,1990 +clikit/ui/components/name_version.py,sha256=Wj1h0V5YlWDaLIgld5HOurBJMDObbK2lh-S4lA1MoH8,880 +clikit/ui/components/paragraph.py,sha256=XD4CFVWVtisRUQil8BrgScvJ6boqvDxH85m0AHTUsZs,688 +clikit/ui/components/progress_bar.py,sha256=C8xEIOrtvH2w38f1va1BKIj5Or--C_3bS7S7Kn3XWDc,12664 +clikit/ui/components/progress_indicator.py,sha256=FIJ78hbtirvAUZKmCchM0LQaNlPBdwxkBSMM6Cc9VLA,5470 +clikit/ui/components/question.py,sha256=zRZzdtkHrorbZ_34bJyov1nYhwkWMKREfiFrxut9MGo,7607 +clikit/ui/components/table.py,sha256=jn77Mj6Ur6YOmZltaBq772ou2slmRUqP-CvtZn0B5Rw,5232 +clikit/ui/help/__init__.py,sha256=PE4DRHjZpUNQ_oVZtDgYkkg4ryT3zJgPzpkVnFVR8Xg,84 +clikit/ui/help/__pycache__/__init__.cpython-38.pyc,, +clikit/ui/help/__pycache__/abstract_help.cpython-38.pyc,, +clikit/ui/help/__pycache__/application_help.cpython-38.pyc,, +clikit/ui/help/__pycache__/command_help.cpython-38.pyc,, +clikit/ui/help/abstract_help.py,sha256=61pjHbV0z-ajdRqi5bDXmeIoduhIuBY5Q92TghL8MzU,5482 +clikit/ui/help/application_help.py,sha256=gC4XiwLKuCZSZqvkVfHF11QUtCtlVSR3iyCFXHfRXxg,3437 +clikit/ui/help/command_help.py,sha256=XTcqms6r-6MJRxfpwZxQrBidb8wAgK8FFVU2nyUV1GU,6056 +clikit/ui/layout/__init__.py,sha256=FwOogbjZsOLTotD0PlxYNIZsuzki29Yxy21VtZm8Hks,38 +clikit/ui/layout/__pycache__/__init__.cpython-38.pyc,, +clikit/ui/layout/__pycache__/block_layout.cpython-38.pyc,, +clikit/ui/layout/block_layout.py,sha256=QC-w2bR5cSghF89GlzE6Mcw4UMwynS1ShiafwS6At9w,1262 +clikit/ui/rectangle.py,sha256=N9a9cGix0dlf-4jsGm66EgIjTctSnZXHNxv5c_yYniY,89 +clikit/ui/style/__init__.py,sha256=sWYW20D0opwjM8zyqxeIgXQFdlx6YU9yhjHiILPtLVw,69 +clikit/ui/style/__pycache__/__init__.cpython-38.pyc,, +clikit/ui/style/__pycache__/alignment.cpython-38.pyc,, +clikit/ui/style/__pycache__/border_style.cpython-38.pyc,, +clikit/ui/style/__pycache__/table_style.cpython-38.pyc,, +clikit/ui/style/alignment.py,sha256=-BWCOyYJ4fiL1P8PCpUVnZarp7iMCfpOj11nQ05Z5LY,110 +clikit/ui/style/border_style.py,sha256=TSwHfFMVfpJHkWJaKW0n8PzBDOHZRP8QZ3SlRRomXp4,2540 +clikit/ui/style/table_style.py,sha256=rwLbwkBUyKAenLt2jcv5gWEsVmNZJ4QMGfasRiH3FVg,2303 +clikit/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +clikit/utils/__pycache__/__init__.cpython-38.pyc,, +clikit/utils/__pycache__/_compat.cpython-38.pyc,, +clikit/utils/__pycache__/command.cpython-38.pyc,, +clikit/utils/__pycache__/string.cpython-38.pyc,, +clikit/utils/__pycache__/terminal.cpython-38.pyc,, +clikit/utils/__pycache__/time.cpython-38.pyc,, +clikit/utils/_compat.py,sha256=E2hkXMnWifngCqoOgd5V3NeP3qhQFytPfTkfZwQehP0,1814 +clikit/utils/command.py,sha256=KzWMqmV5KO4Up_e9duIOT7F9AqJB1QGOxxWfwboXxlA,1296 +clikit/utils/string.py,sha256=jaoiWhqO5vRax2jgyO6YvEBgHUIDH7NIhPGcjTvaCiI,2442 +clikit/utils/terminal.py,sha256=VhnUJBuIYtuBQiQGSTgTOLSBaXJ1anepxF0uh_AoElE,3696 +clikit/utils/time.py,sha256=fJrFL3pNwn1DUPF0ML_GuL9Fw27eHKt9szwA5EnEeQY,476 diff --git a/venv/lib/python3.8/site-packages/clikit-0.6.2.dist-info/WHEEL b/venv/lib/python3.8/site-packages/clikit-0.6.2.dist-info/WHEEL new file mode 120000 index 0000000..056e3c1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit-0.6.2.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/05/c1/f0/5fbe4be68f72f0d37de0153e3bf20fffb00ffafae1f8ce91586a1d79dd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/__init__.py b/venv/lib/python3.8/site-packages/clikit/__init__.py new file mode 120000 index 0000000..c59fedc --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/eb/bd/b2/6b6c43bbf8241df3c5916f288786004e6cb0bacd240cefc7e7e22fb02c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..cf07064 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/__pycache__/console_application.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/__pycache__/console_application.cpython-38.pyc new file mode 100644 index 0000000..c3d4de2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/__pycache__/console_application.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/adapter/__init__.py b/venv/lib/python3.8/site-packages/clikit/adapter/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/adapter/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/adapter/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/adapter/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..d8d7350 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/adapter/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/adapter/__pycache__/style_converter.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/adapter/__pycache__/style_converter.cpython-38.pyc new file mode 100644 index 0000000..35478a8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/adapter/__pycache__/style_converter.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/adapter/style_converter.py b/venv/lib/python3.8/site-packages/clikit/adapter/style_converter.py new file mode 120000 index 0000000..5dc2500 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/adapter/style_converter.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8d/d6/ae/2af70d09a485fcb6ada1a3bde36c14d344a1db8698fbbe21ab8204711f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/api/__init__.py b/venv/lib/python3.8/site-packages/clikit/api/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/api/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/api/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/api/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..4e8cbad Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/api/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/api/__pycache__/exceptions.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/api/__pycache__/exceptions.cpython-38.pyc new file mode 100644 index 0000000..1d7ef37 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/api/__pycache__/exceptions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/api/application/__init__.py b/venv/lib/python3.8/site-packages/clikit/api/application/__init__.py new file mode 120000 index 0000000..9c49375 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/api/application/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/16/83/9c/fc04bb422c9d32e0a89f8e13e1988e0b22048ebdbb707e6e4fad7cf8e1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/api/application/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/api/application/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..b764e71 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/api/application/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/api/application/__pycache__/application.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/api/application/__pycache__/application.cpython-38.pyc new file mode 100644 index 0000000..c15a0b1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/api/application/__pycache__/application.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/api/application/application.py b/venv/lib/python3.8/site-packages/clikit/api/application/application.py new file mode 120000 index 0000000..908cfff --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/api/application/application.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4e/fd/8c/7bc1d67f8e142e5ee4879f6a72dc2f9ebfabaf59cfe1fa3e4b95db47af \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/api/args/__init__.py b/venv/lib/python3.8/site-packages/clikit/api/args/__init__.py new file mode 120000 index 0000000..2a4dc39 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/api/args/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b1/94/12/23f582e2d72ba6ab2ec6711c018792d596dc393c56258808f6c85e4dcb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/api/args/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/api/args/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..3e26e15 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/api/args/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/api/args/__pycache__/args.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/api/args/__pycache__/args.cpython-38.pyc new file mode 100644 index 0000000..c9e36cc Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/api/args/__pycache__/args.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/api/args/__pycache__/args_parser.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/api/args/__pycache__/args_parser.cpython-38.pyc new file mode 100644 index 0000000..f9256ee Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/api/args/__pycache__/args_parser.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/api/args/__pycache__/exceptions.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/api/args/__pycache__/exceptions.cpython-38.pyc new file mode 100644 index 0000000..a9e1883 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/api/args/__pycache__/exceptions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/api/args/__pycache__/raw_args.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/api/args/__pycache__/raw_args.cpython-38.pyc new file mode 100644 index 0000000..18b381f Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/api/args/__pycache__/raw_args.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/api/args/args.py b/venv/lib/python3.8/site-packages/clikit/api/args/args.py new file mode 120000 index 0000000..eb2fe4e --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/api/args/args.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/dc/e4/39/9ba7567d28664316cdab0800260f60b31db474048c7784bb0bf2053f96 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/api/args/args_parser.py b/venv/lib/python3.8/site-packages/clikit/api/args/args_parser.py new file mode 120000 index 0000000..70a8fb3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/api/args/args_parser.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/72/17/5d/97ee6e7fcde8ade6a486eb0558015666cb6e4e075321bb2558763f4353 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/api/args/exceptions.py b/venv/lib/python3.8/site-packages/clikit/api/args/exceptions.py new file mode 120000 index 0000000..10304b9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/api/args/exceptions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/15/24/63/b194091dfd848430cb4191b77a1cbb2a70d56271631a00cd4ef8a56590 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/api/args/format/__init__.py b/venv/lib/python3.8/site-packages/clikit/api/args/format/__init__.py new file mode 120000 index 0000000..7f453e2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/api/args/format/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1a/00/63/ca951cebe38e78e5f165c6afbb997b42efce765a8a72eb131876472191 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/api/args/format/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/api/args/format/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..32b9efc Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/api/args/format/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/api/args/format/__pycache__/abstract_option.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/api/args/format/__pycache__/abstract_option.cpython-38.pyc new file mode 100644 index 0000000..7bf42cd Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/api/args/format/__pycache__/abstract_option.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/api/args/format/__pycache__/args_format.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/api/args/format/__pycache__/args_format.cpython-38.pyc new file mode 100644 index 0000000..bf840f7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/api/args/format/__pycache__/args_format.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/api/args/format/__pycache__/args_format_builder.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/api/args/format/__pycache__/args_format_builder.cpython-38.pyc new file mode 100644 index 0000000..3a98508 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/api/args/format/__pycache__/args_format_builder.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/api/args/format/__pycache__/argument.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/api/args/format/__pycache__/argument.cpython-38.pyc new file mode 100644 index 0000000..a08d7f3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/api/args/format/__pycache__/argument.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/api/args/format/__pycache__/command_name.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/api/args/format/__pycache__/command_name.cpython-38.pyc new file mode 100644 index 0000000..336522f Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/api/args/format/__pycache__/command_name.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/api/args/format/__pycache__/command_option.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/api/args/format/__pycache__/command_option.cpython-38.pyc new file mode 100644 index 0000000..4b278b0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/api/args/format/__pycache__/command_option.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/api/args/format/__pycache__/option.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/api/args/format/__pycache__/option.cpython-38.pyc new file mode 100644 index 0000000..7aa8ac5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/api/args/format/__pycache__/option.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/api/args/format/abstract_option.py b/venv/lib/python3.8/site-packages/clikit/api/args/format/abstract_option.py new file mode 120000 index 0000000..345497b --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/api/args/format/abstract_option.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cf/3a/99/edd841cbe65028fc8cfa2c5ffb5764be10f6877e315e1b92da044bb1f7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/api/args/format/args_format.py b/venv/lib/python3.8/site-packages/clikit/api/args/format/args_format.py new file mode 120000 index 0000000..f0a96b0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/api/args/format/args_format.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/75/ad/1d/1bd43bf6dfbf8fe9bf2e84e13c0ef0e4722f8d8b39e46beb9f69614367 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/api/args/format/args_format_builder.py b/venv/lib/python3.8/site-packages/clikit/api/args/format/args_format_builder.py new file mode 120000 index 0000000..82e36cd --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/api/args/format/args_format_builder.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/55/a2/65/efd9c7a5d9eacfa7e6e9e266b8200936d0648c328df1b581abcf65290c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/api/args/format/argument.py b/venv/lib/python3.8/site-packages/clikit/api/args/format/argument.py new file mode 120000 index 0000000..b88cd34 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/api/args/format/argument.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/98/c6/29/63ef9e26a77908d4291eb2c63c5cd5a213155dc83bf829d0b6ed9147f1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/api/args/format/command_name.py b/venv/lib/python3.8/site-packages/clikit/api/args/format/command_name.py new file mode 120000 index 0000000..5e0dbb0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/api/args/format/command_name.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/47/99/87/bae749d2c2b2e3ba9504ca50848d9c05a0dda93bef013b16460250a35e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/api/args/format/command_option.py b/venv/lib/python3.8/site-packages/clikit/api/args/format/command_option.py new file mode 120000 index 0000000..81893f2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/api/args/format/command_option.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b4/13/11/226d9e01512960387f18f9b20db84aabdc698ef9fb83c6e9596cab5ea8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/api/args/format/option.py b/venv/lib/python3.8/site-packages/clikit/api/args/format/option.py new file mode 120000 index 0000000..74d12cd --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/api/args/format/option.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/35/b4/92/1631faba34746b5ebf0197fe993ddd7189e8cc65b97403627681223430 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/api/args/raw_args.py b/venv/lib/python3.8/site-packages/clikit/api/args/raw_args.py new file mode 120000 index 0000000..2738d93 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/api/args/raw_args.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/96/6b/49/1f24b26e2ccb7a445b961c9f8c0a4e1a0e7475ad86950734121d36c877 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/api/command/__init__.py b/venv/lib/python3.8/site-packages/clikit/api/command/__init__.py new file mode 120000 index 0000000..da9f222 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/api/command/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d3/bf/75/31949664cd21368229e78260184a25c91c5956f6ebb21126ac69de01ba \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/api/command/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/api/command/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..f913477 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/api/command/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/api/command/__pycache__/command.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/api/command/__pycache__/command.cpython-38.pyc new file mode 100644 index 0000000..0604bc8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/api/command/__pycache__/command.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/api/command/__pycache__/command_collection.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/api/command/__pycache__/command_collection.cpython-38.pyc new file mode 100644 index 0000000..8c152f1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/api/command/__pycache__/command_collection.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/api/command/__pycache__/exceptions.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/api/command/__pycache__/exceptions.cpython-38.pyc new file mode 100644 index 0000000..929ff39 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/api/command/__pycache__/exceptions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/api/command/command.py b/venv/lib/python3.8/site-packages/clikit/api/command/command.py new file mode 120000 index 0000000..9c4e234 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/api/command/command.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9f/80/b2/21c2a9034dad2febbf85a823379350cb7b5b1871a224b1aefd52f135a8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/api/command/command_collection.py b/venv/lib/python3.8/site-packages/clikit/api/command/command_collection.py new file mode 120000 index 0000000..9cef867 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/api/command/command_collection.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0e/03/a2/8516ce170f58c40a340c994a5cb76273f276d7ad1ea824422b51c9e45c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/api/command/exceptions.py b/venv/lib/python3.8/site-packages/clikit/api/command/exceptions.py new file mode 120000 index 0000000..48229c3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/api/command/exceptions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/72/ea/fe/71a2a459decf90a80e8cbef6e42c2b3b89541973ad135ce8d6fc76ba06 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/api/config/__init__.py b/venv/lib/python3.8/site-packages/clikit/api/config/__init__.py new file mode 120000 index 0000000..75127bf --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/api/config/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7b/23/c8/2829722f196c6e60067d1026513d599e7a8d9a25cd61df2630cb599f7d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/api/config/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/api/config/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..187be99 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/api/config/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/api/config/__pycache__/application_config.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/api/config/__pycache__/application_config.cpython-38.pyc new file mode 100644 index 0000000..0398570 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/api/config/__pycache__/application_config.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/api/config/__pycache__/command_config.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/api/config/__pycache__/command_config.cpython-38.pyc new file mode 100644 index 0000000..d313d2a Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/api/config/__pycache__/command_config.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/api/config/__pycache__/config.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/api/config/__pycache__/config.cpython-38.pyc new file mode 100644 index 0000000..8384df1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/api/config/__pycache__/config.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/api/config/application_config.py b/venv/lib/python3.8/site-packages/clikit/api/config/application_config.py new file mode 120000 index 0000000..6de007e --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/api/config/application_config.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/37/f2/c3/51e6166c1bff18d36ebf55b81a8bc119418242f4fe8d635baf44d4af61 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/api/config/command_config.py b/venv/lib/python3.8/site-packages/clikit/api/config/command_config.py new file mode 120000 index 0000000..c250ef6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/api/config/command_config.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f6/13/ba/9655155f4c76cf5dc4900241d3a5c9aee641cdb88403d089a3c2bb91a0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/api/config/config.py b/venv/lib/python3.8/site-packages/clikit/api/config/config.py new file mode 120000 index 0000000..ed7e3c9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/api/config/config.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/da/27/eb/bc0609ed79d48f6fa198ff1acc3f2d8c6be8a0f9d11da759ca60731c99 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/api/event/__init__.py b/venv/lib/python3.8/site-packages/clikit/api/event/__init__.py new file mode 120000 index 0000000..310db16 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/api/event/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/88/ae/38/abdf43263ea3237f854936e0f3b64a48340aa71b997e38436b3cc49479 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/api/event/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/api/event/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..fbe5260 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/api/event/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/api/event/__pycache__/config_event.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/api/event/__pycache__/config_event.cpython-38.pyc new file mode 100644 index 0000000..c16b6b9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/api/event/__pycache__/config_event.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/api/event/__pycache__/console_events.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/api/event/__pycache__/console_events.cpython-38.pyc new file mode 100644 index 0000000..dde5016 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/api/event/__pycache__/console_events.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/api/event/__pycache__/event.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/api/event/__pycache__/event.cpython-38.pyc new file mode 100644 index 0000000..8d1c097 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/api/event/__pycache__/event.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/api/event/__pycache__/event_dispatcher.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/api/event/__pycache__/event_dispatcher.cpython-38.pyc new file mode 100644 index 0000000..705c3cd Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/api/event/__pycache__/event_dispatcher.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/api/event/__pycache__/pre_handle_event.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/api/event/__pycache__/pre_handle_event.cpython-38.pyc new file mode 100644 index 0000000..9e80097 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/api/event/__pycache__/pre_handle_event.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/api/event/__pycache__/pre_resolve_event.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/api/event/__pycache__/pre_resolve_event.cpython-38.pyc new file mode 100644 index 0000000..59f178b Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/api/event/__pycache__/pre_resolve_event.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/api/event/config_event.py b/venv/lib/python3.8/site-packages/clikit/api/event/config_event.py new file mode 120000 index 0000000..4f3e129 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/api/event/config_event.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/81/05/55/beb46e798bd5d33dce402351ec5862f383208e30555b4ce7e876bb5152 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/api/event/console_events.py b/venv/lib/python3.8/site-packages/clikit/api/event/console_events.py new file mode 120000 index 0000000..6271d9c --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/api/event/console_events.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/44/72/bc/9ff046659deda1906baa06841a4d5683e74bcfbeb4875edd835b8eedb7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/api/event/event.py b/venv/lib/python3.8/site-packages/clikit/api/event/event.py new file mode 120000 index 0000000..b9cde9d --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/api/event/event.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a4/93/e0/25eb32839257f0f3c0dbece2e641d493701b0d75e00b221806e1ad266a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/api/event/event_dispatcher.py b/venv/lib/python3.8/site-packages/clikit/api/event/event_dispatcher.py new file mode 120000 index 0000000..dd3eb78 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/api/event/event_dispatcher.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/45/9b/d0/d418988f897771be47d1cae7e98453e7f4ffa0e3bc717ab4a8421bbac8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/api/event/pre_handle_event.py b/venv/lib/python3.8/site-packages/clikit/api/event/pre_handle_event.py new file mode 120000 index 0000000..453d5d7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/api/event/pre_handle_event.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/12/81/48/ba1d48fd1d13e6f17b8ded1d0d51bda54e4f60d84d6631ec00e3dd7045 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/api/event/pre_resolve_event.py b/venv/lib/python3.8/site-packages/clikit/api/event/pre_resolve_event.py new file mode 120000 index 0000000..0e5f381 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/api/event/pre_resolve_event.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/be/ce/8b/52cd18ab5a4928272a8f0ed7db171fea08a9ef90505e92ad318c2efeef \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/api/exceptions.py b/venv/lib/python3.8/site-packages/clikit/api/exceptions.py new file mode 120000 index 0000000..d815e32 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/api/exceptions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bd/60/49/aa1617345060838ac820a374ee13e2038d879afa944b3d63f6cd4dea80 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/api/formatter/__init__.py b/venv/lib/python3.8/site-packages/clikit/api/formatter/__init__.py new file mode 120000 index 0000000..029659a --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/api/formatter/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ab/25/35/fd22b5d55463622c2dcb85932bd8395ed7eda531cc3c6ed850eb265bff \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/api/formatter/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/api/formatter/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..8a2d789 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/api/formatter/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/api/formatter/__pycache__/formatter.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/api/formatter/__pycache__/formatter.cpython-38.pyc new file mode 100644 index 0000000..22cc576 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/api/formatter/__pycache__/formatter.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/api/formatter/__pycache__/style.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/api/formatter/__pycache__/style.cpython-38.pyc new file mode 100644 index 0000000..aa92685 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/api/formatter/__pycache__/style.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/api/formatter/__pycache__/style_set.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/api/formatter/__pycache__/style_set.cpython-38.pyc new file mode 100644 index 0000000..e8e187e Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/api/formatter/__pycache__/style_set.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/api/formatter/formatter.py b/venv/lib/python3.8/site-packages/clikit/api/formatter/formatter.py new file mode 120000 index 0000000..320dc01 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/api/formatter/formatter.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/99/6a/6b/205b073ba0d8174beb03c1fb1400abf869c4aee4cbb18f98d56f02ce0b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/api/formatter/style.py b/venv/lib/python3.8/site-packages/clikit/api/formatter/style.py new file mode 120000 index 0000000..90462bd --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/api/formatter/style.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/96/6b/e5/da211cdba21640ef9b852e49253f867a6b759a4306ff17d00f699cbc2d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/api/formatter/style_set.py b/venv/lib/python3.8/site-packages/clikit/api/formatter/style_set.py new file mode 120000 index 0000000..e32ec23 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/api/formatter/style_set.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f4/c2/4e/fae69d9206d490cb71cb29e5529be1f7ef437b312e114d023768a0fa7a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/api/io/__init__.py b/venv/lib/python3.8/site-packages/clikit/api/io/__init__.py new file mode 120000 index 0000000..6c13b1f --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/api/io/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c0/53/bc/90563a68d1743727151b80187b927f0392ed16ff0eea2bc5409264f925 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/api/io/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/api/io/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..8d6183b Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/api/io/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/api/io/__pycache__/flags.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/api/io/__pycache__/flags.cpython-38.pyc new file mode 100644 index 0000000..20e0dc7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/api/io/__pycache__/flags.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/api/io/__pycache__/input.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/api/io/__pycache__/input.cpython-38.pyc new file mode 100644 index 0000000..58bea3a Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/api/io/__pycache__/input.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/api/io/__pycache__/input_stream.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/api/io/__pycache__/input_stream.cpython-38.pyc new file mode 100644 index 0000000..1754a32 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/api/io/__pycache__/input_stream.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/api/io/__pycache__/io.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/api/io/__pycache__/io.cpython-38.pyc new file mode 100644 index 0000000..cf2e680 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/api/io/__pycache__/io.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/api/io/__pycache__/io_exception.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/api/io/__pycache__/io_exception.cpython-38.pyc new file mode 100644 index 0000000..92aec2a Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/api/io/__pycache__/io_exception.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/api/io/__pycache__/output.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/api/io/__pycache__/output.cpython-38.pyc new file mode 100644 index 0000000..bdb217b Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/api/io/__pycache__/output.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/api/io/__pycache__/output_stream.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/api/io/__pycache__/output_stream.cpython-38.pyc new file mode 100644 index 0000000..695f9f5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/api/io/__pycache__/output_stream.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/api/io/__pycache__/section_output.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/api/io/__pycache__/section_output.cpython-38.pyc new file mode 100644 index 0000000..0479f43 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/api/io/__pycache__/section_output.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/api/io/flags.py b/venv/lib/python3.8/site-packages/clikit/api/io/flags.py new file mode 120000 index 0000000..178e08e --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/api/io/flags.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/07/15/6d/02a89bd892abc5af1e9ca6fb8e03c7adba304b7261d70a66335531c1ef \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/api/io/input.py b/venv/lib/python3.8/site-packages/clikit/api/io/input.py new file mode 120000 index 0000000..b20810d --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/api/io/input.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4e/62/a5/6050c823deac1f7a0cffb240627eb1ee2e0cabc8a646b388b55726ccb3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/api/io/input_stream.py b/venv/lib/python3.8/site-packages/clikit/api/io/input_stream.py new file mode 120000 index 0000000..5ea1e95 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/api/io/input_stream.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bc/fa/e7/0afcfb0d8b9b36a502b7a820cd48125daf8fa068bc89f28a71a0deb2dd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/api/io/io.py b/venv/lib/python3.8/site-packages/clikit/api/io/io.py new file mode 120000 index 0000000..7cab7fa --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/api/io/io.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fe/dd/6a/337b16241ea7932d6cefb7e5ed1f19aaadaf484808e87a3075627d8c7d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/api/io/io_exception.py b/venv/lib/python3.8/site-packages/clikit/api/io/io_exception.py new file mode 120000 index 0000000..5b63562 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/api/io/io_exception.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/db/7b/40/84391380ca59c370151c042dc03b0bc6b31c4849850ea8408f4cda5353 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/api/io/output.py b/venv/lib/python3.8/site-packages/clikit/api/io/output.py new file mode 120000 index 0000000..bb00774 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/api/io/output.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c2/ea/8a/309d27b206b906bc748b5ad2b12c2ab6d9e460dadb491a97edfb3b1a3c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/api/io/output_stream.py b/venv/lib/python3.8/site-packages/clikit/api/io/output_stream.py new file mode 120000 index 0000000..d37388e --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/api/io/output_stream.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/df/b4/bc/bdcae587518983058a374e70dcdf54b359af0e3fae26e35f0de483d54d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/api/io/section_output.py b/venv/lib/python3.8/site-packages/clikit/api/io/section_output.py new file mode 120000 index 0000000..9d75b0f --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/api/io/section_output.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b1/18/fa/1d14821e6e91ac8fe6e14103226b210433b8e449e24576e141e7a45416 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/api/resolver/__init__.py b/venv/lib/python3.8/site-packages/clikit/api/resolver/__init__.py new file mode 120000 index 0000000..cf310a9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/api/resolver/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f0/96/ad/bbcee01b45f35bd19ceaef96e1359bb6c9c326fb1373f7e2b5b2182700 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/api/resolver/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/api/resolver/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..d4a249f Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/api/resolver/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/api/resolver/__pycache__/command_resolver.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/api/resolver/__pycache__/command_resolver.cpython-38.pyc new file mode 100644 index 0000000..e4c07af Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/api/resolver/__pycache__/command_resolver.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/api/resolver/__pycache__/exceptions.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/api/resolver/__pycache__/exceptions.cpython-38.pyc new file mode 100644 index 0000000..1266701 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/api/resolver/__pycache__/exceptions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/api/resolver/__pycache__/resolved_command.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/api/resolver/__pycache__/resolved_command.cpython-38.pyc new file mode 100644 index 0000000..c40e29a Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/api/resolver/__pycache__/resolved_command.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/api/resolver/command_resolver.py b/venv/lib/python3.8/site-packages/clikit/api/resolver/command_resolver.py new file mode 120000 index 0000000..a407250 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/api/resolver/command_resolver.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b4/9c/d7/17d0a60a462e1e67aadeb089f38f200dc399c04f9ea8250600a515e258 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/api/resolver/exceptions.py b/venv/lib/python3.8/site-packages/clikit/api/resolver/exceptions.py new file mode 120000 index 0000000..9a08689 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/api/resolver/exceptions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b3/9b/32/860684e0ab1a73205f3e3df02c2048a92a7841d61fa93d366ed67ca37e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/api/resolver/resolved_command.py b/venv/lib/python3.8/site-packages/clikit/api/resolver/resolved_command.py new file mode 120000 index 0000000..8774802 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/api/resolver/resolved_command.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/99/2d/2c/1d443e3fd04c46fe9e3fe882bdfb1d39e1156ea982b81f858adb08a69b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/args/__init__.py b/venv/lib/python3.8/site-packages/clikit/args/__init__.py new file mode 120000 index 0000000..ebeb246 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/args/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/62/e0/cb/31ba430534515fc46c0c6170aa9f508bcdcfd31fd4dacf69010420b91b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/args/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/args/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..6022223 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/args/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/args/__pycache__/argv_args.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/args/__pycache__/argv_args.cpython-38.pyc new file mode 100644 index 0000000..429975a Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/args/__pycache__/argv_args.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/args/__pycache__/default_args_parser.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/args/__pycache__/default_args_parser.cpython-38.pyc new file mode 100644 index 0000000..680d4d1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/args/__pycache__/default_args_parser.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/args/__pycache__/string_args.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/args/__pycache__/string_args.cpython-38.pyc new file mode 100644 index 0000000..6e1e8f6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/args/__pycache__/string_args.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/args/__pycache__/token_parser.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/args/__pycache__/token_parser.cpython-38.pyc new file mode 100644 index 0000000..dff76a5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/args/__pycache__/token_parser.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/args/argv_args.py b/venv/lib/python3.8/site-packages/clikit/args/argv_args.py new file mode 120000 index 0000000..2081877 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/args/argv_args.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ec/58/92/721972873e34573b182bbb89b1a48ee170fdc74e5c8630d52ca029a702 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/args/default_args_parser.py b/venv/lib/python3.8/site-packages/clikit/args/default_args_parser.py new file mode 120000 index 0000000..e0cdedc --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/args/default_args_parser.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/07/f1/7d/327dc6f110ba74f44fc4a4f6aa57ecabb564d28f8a56c95739b974a32f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/args/inputs/__init__.py b/venv/lib/python3.8/site-packages/clikit/args/inputs/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/args/inputs/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/args/inputs/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/args/inputs/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..2e4e381 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/args/inputs/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/args/string_args.py b/venv/lib/python3.8/site-packages/clikit/args/string_args.py new file mode 120000 index 0000000..777fc17 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/args/string_args.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/61/24/27/4fdfca48aaa737089bc09e9584304527d5486f0040f3c88cac81f649c2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/args/token_parser.py b/venv/lib/python3.8/site-packages/clikit/args/token_parser.py new file mode 120000 index 0000000..3366ee4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/args/token_parser.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f0/b5/b9/a84724ea613073081f3c1c30193a35b5fbbcf2ae4fef3343148aef4514 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/config/__init__.py b/venv/lib/python3.8/site-packages/clikit/config/__init__.py new file mode 120000 index 0000000..79ff839 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/config/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/77/19/95/634959d3e1ed7fe2a49bb327ac55b9e3596479e2019d01b5d10e72d0b2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/config/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/config/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..861f55e Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/config/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/config/__pycache__/default_application_config.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/config/__pycache__/default_application_config.cpython-38.pyc new file mode 100644 index 0000000..bfc04ed Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/config/__pycache__/default_application_config.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/config/default_application_config.py b/venv/lib/python3.8/site-packages/clikit/config/default_application_config.py new file mode 120000 index 0000000..8f4b736 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/config/default_application_config.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/96/12/ae/668b20db7590f55e07ee7b0da157240955dcd7c135decc4c023a992b9c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/console_application.py b/venv/lib/python3.8/site-packages/clikit/console_application.py new file mode 120000 index 0000000..124984b --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/console_application.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/aa/e5/30/4df0966b8d3652024ba772f29fee9fe2ff0a505c8086c74620c79c41b8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/formatter/__init__.py b/venv/lib/python3.8/site-packages/clikit/formatter/__init__.py new file mode 120000 index 0000000..9c7a51c --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/formatter/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e6/0a/32/e3e3942bc2fbb949acae99052dd42395102a92d958cb3bb50f9a983262 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/formatter/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/formatter/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..e099e4b Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/formatter/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/formatter/__pycache__/ansi_formatter.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/formatter/__pycache__/ansi_formatter.cpython-38.pyc new file mode 100644 index 0000000..1c2d20e Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/formatter/__pycache__/ansi_formatter.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/formatter/__pycache__/default_style_set.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/formatter/__pycache__/default_style_set.cpython-38.pyc new file mode 100644 index 0000000..b96e775 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/formatter/__pycache__/default_style_set.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/formatter/__pycache__/null_formatter.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/formatter/__pycache__/null_formatter.cpython-38.pyc new file mode 100644 index 0000000..5e6fc1a Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/formatter/__pycache__/null_formatter.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/formatter/__pycache__/plain_formatter.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/formatter/__pycache__/plain_formatter.cpython-38.pyc new file mode 100644 index 0000000..b5c7d2c Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/formatter/__pycache__/plain_formatter.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/formatter/ansi_formatter.py b/venv/lib/python3.8/site-packages/clikit/formatter/ansi_formatter.py new file mode 120000 index 0000000..100aaab --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/formatter/ansi_formatter.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d4/f2/39/2521d6557b9398520cd0b51a1ada5834015b27efdfb82003e124cb17ef \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/formatter/default_style_set.py b/venv/lib/python3.8/site-packages/clikit/formatter/default_style_set.py new file mode 120000 index 0000000..ac88f03 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/formatter/default_style_set.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/14/1c/8c/24545d338b014eeb13414337b66f00583d1cf63292492e047452c6c993 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/formatter/null_formatter.py b/venv/lib/python3.8/site-packages/clikit/formatter/null_formatter.py new file mode 120000 index 0000000..879c387 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/formatter/null_formatter.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4b/5d/d8/495bb06a8aa9716afec271a0d0372f7a0482ec727e73eb953129d48dbc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/formatter/plain_formatter.py b/venv/lib/python3.8/site-packages/clikit/formatter/plain_formatter.py new file mode 120000 index 0000000..9d518d3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/formatter/plain_formatter.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/00/51/ad/32f1bfd9b5297ca89aec8f33c44299ccb7769c9954d02e6170695d5c28 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/handler/__init__.py b/venv/lib/python3.8/site-packages/clikit/handler/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/handler/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/handler/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/handler/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..73caf23 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/handler/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/handler/__pycache__/callback_handler.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/handler/__pycache__/callback_handler.cpython-38.pyc new file mode 100644 index 0000000..8153ecd Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/handler/__pycache__/callback_handler.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/handler/callback_handler.py b/venv/lib/python3.8/site-packages/clikit/handler/callback_handler.py new file mode 120000 index 0000000..fa58ec6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/handler/callback_handler.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9a/49/98/ac929b53db04b100577b9c55f95e28e84654cfeefabf2d99e78334f656 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/handler/help/__init__.py b/venv/lib/python3.8/site-packages/clikit/handler/help/__init__.py new file mode 120000 index 0000000..6ea4d87 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/handler/help/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/83/a7/6d/f06896d8dc3a4b6283a4607ce8be07f5f9ef99063885af48a610bd0095 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/handler/help/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/handler/help/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..ec7db0a Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/handler/help/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/handler/help/__pycache__/help_handler.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/handler/help/__pycache__/help_handler.cpython-38.pyc new file mode 100644 index 0000000..242c6df Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/handler/help/__pycache__/help_handler.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/handler/help/__pycache__/help_text_handler.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/handler/help/__pycache__/help_text_handler.cpython-38.pyc new file mode 100644 index 0000000..87149d4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/handler/help/__pycache__/help_text_handler.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/handler/help/help_handler.py b/venv/lib/python3.8/site-packages/clikit/handler/help/help_handler.py new file mode 120000 index 0000000..fb7ee61 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/handler/help/help_handler.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a0/82/d8/5d31f81fc1905324c209d2f6ed5d57f4157261bb2076eb973ff1eb469b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/handler/help/help_text_handler.py b/venv/lib/python3.8/site-packages/clikit/handler/help/help_text_handler.py new file mode 120000 index 0000000..f1f174e --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/handler/help/help_text_handler.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e7/47/c0/77299a9d17091be40ab8b2b55aed69af2623074cd84c782886bbde1e2d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/io/__init__.py b/venv/lib/python3.8/site-packages/clikit/io/__init__.py new file mode 120000 index 0000000..8ea32f6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/io/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/08/57/cc/d62b02ab43b1de37202b2fed8b7e8b8c420a6fe582a902d5e0493984fe \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/io/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/io/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..47c792a Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/io/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/io/__pycache__/buffered_io.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/io/__pycache__/buffered_io.cpython-38.pyc new file mode 100644 index 0000000..812c855 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/io/__pycache__/buffered_io.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/io/__pycache__/console_io.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/io/__pycache__/console_io.cpython-38.pyc new file mode 100644 index 0000000..49d94e7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/io/__pycache__/console_io.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/io/__pycache__/null_io.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/io/__pycache__/null_io.cpython-38.pyc new file mode 100644 index 0000000..025b16d Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/io/__pycache__/null_io.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/io/buffered_io.py b/venv/lib/python3.8/site-packages/clikit/io/buffered_io.py new file mode 120000 index 0000000..970dc51 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/io/buffered_io.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/38/d5/1d/20d812e93740754666e7c92242b7bcf6aad5e1fd1c6906d8b332ccf8ea \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/io/console_io.py b/venv/lib/python3.8/site-packages/clikit/io/console_io.py new file mode 120000 index 0000000..eacafa5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/io/console_io.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/60/ba/b4/2e24d990930268dbd8e737c5ac769468d725094a2f8b6aeef88f8b4228 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/io/input_stream/__init__.py b/venv/lib/python3.8/site-packages/clikit/io/input_stream/__init__.py new file mode 120000 index 0000000..858b3e1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/io/input_stream/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/be/7e/42/aad385545cd316e7cc666a84f494760cc41fbfb90453127710838a9d24 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/io/input_stream/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/io/input_stream/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..e07df95 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/io/input_stream/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/io/input_stream/__pycache__/null_input_stream.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/io/input_stream/__pycache__/null_input_stream.cpython-38.pyc new file mode 100644 index 0000000..4c7787c Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/io/input_stream/__pycache__/null_input_stream.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/io/input_stream/__pycache__/standard_input_stream.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/io/input_stream/__pycache__/standard_input_stream.cpython-38.pyc new file mode 100644 index 0000000..edc8559 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/io/input_stream/__pycache__/standard_input_stream.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/io/input_stream/__pycache__/stream_input_stream.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/io/input_stream/__pycache__/stream_input_stream.cpython-38.pyc new file mode 100644 index 0000000..a8e4953 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/io/input_stream/__pycache__/stream_input_stream.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/io/input_stream/__pycache__/string_input_stream.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/io/input_stream/__pycache__/string_input_stream.cpython-38.pyc new file mode 100644 index 0000000..13e35fa Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/io/input_stream/__pycache__/string_input_stream.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/io/input_stream/null_input_stream.py b/venv/lib/python3.8/site-packages/clikit/io/input_stream/null_input_stream.py new file mode 120000 index 0000000..028240e --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/io/input_stream/null_input_stream.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a1/7e/50/f915f39cc05a20660c21d59727fecc2940e54cafe21c2b2ba707d671e7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/io/input_stream/standard_input_stream.py b/venv/lib/python3.8/site-packages/clikit/io/input_stream/standard_input_stream.py new file mode 120000 index 0000000..f57ca71 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/io/input_stream/standard_input_stream.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/43/51/2e/b2a00048d641364aa3f0a950e11fb31338ed67aba116892abf504d86ce \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/io/input_stream/stream_input_stream.py b/venv/lib/python3.8/site-packages/clikit/io/input_stream/stream_input_stream.py new file mode 120000 index 0000000..3c205ed --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/io/input_stream/stream_input_stream.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1d/1c/26/36c8baad0eb88e788203844491a6ca3dfacdfcf941d1c1720f148e6a43 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/io/input_stream/string_input_stream.py b/venv/lib/python3.8/site-packages/clikit/io/input_stream/string_input_stream.py new file mode 120000 index 0000000..da56177 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/io/input_stream/string_input_stream.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d7/ee/59/71bd9df4b58578445095c1726cd5e11bc5051ad5ed0e88752f3808cdc4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/io/null_io.py b/venv/lib/python3.8/site-packages/clikit/io/null_io.py new file mode 120000 index 0000000..3e79a2a --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/io/null_io.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/dc/47/81/102d640e051e13a276a9ad5b8c7429964aa3c024e5821a3564bbe767dc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/io/output_stream/__init__.py b/venv/lib/python3.8/site-packages/clikit/io/output_stream/__init__.py new file mode 120000 index 0000000..51d2080 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/io/output_stream/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/64/da/97/267e8a2c0079f193f0db8c07cf48ce560bdfa25b876ba5b0c0a062bc16 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/io/output_stream/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/io/output_stream/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..06882dd Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/io/output_stream/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/io/output_stream/__pycache__/buffered_output_stream.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/io/output_stream/__pycache__/buffered_output_stream.cpython-38.pyc new file mode 100644 index 0000000..5fbf0bb Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/io/output_stream/__pycache__/buffered_output_stream.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/io/output_stream/__pycache__/error_output_stream.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/io/output_stream/__pycache__/error_output_stream.cpython-38.pyc new file mode 100644 index 0000000..c1559d2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/io/output_stream/__pycache__/error_output_stream.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/io/output_stream/__pycache__/null_output_stream.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/io/output_stream/__pycache__/null_output_stream.cpython-38.pyc new file mode 100644 index 0000000..39d0a01 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/io/output_stream/__pycache__/null_output_stream.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/io/output_stream/__pycache__/standard_output_stream.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/io/output_stream/__pycache__/standard_output_stream.cpython-38.pyc new file mode 100644 index 0000000..fc5c176 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/io/output_stream/__pycache__/standard_output_stream.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/io/output_stream/__pycache__/stream_output_stream.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/io/output_stream/__pycache__/stream_output_stream.cpython-38.pyc new file mode 100644 index 0000000..6ae6f73 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/io/output_stream/__pycache__/stream_output_stream.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/io/output_stream/buffered_output_stream.py b/venv/lib/python3.8/site-packages/clikit/io/output_stream/buffered_output_stream.py new file mode 120000 index 0000000..a3893d6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/io/output_stream/buffered_output_stream.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/53/d2/fd/7a91d37c08f7671c2cc34944c0a1684c1b929cc36e53f4c38d27ffbd97 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/io/output_stream/error_output_stream.py b/venv/lib/python3.8/site-packages/clikit/io/output_stream/error_output_stream.py new file mode 120000 index 0000000..ad74403 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/io/output_stream/error_output_stream.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cb/2a/16/f465f7bca0dac0342de4f9d7cafaef63cff5f273f98ca5d8bec9e7ba24 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/io/output_stream/null_output_stream.py b/venv/lib/python3.8/site-packages/clikit/io/output_stream/null_output_stream.py new file mode 120000 index 0000000..ad522c0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/io/output_stream/null_output_stream.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/18/5f/f6/b87ba75cc417bdd6574b34f0cc31c301a9cdc06b3c7a2be58cadc488c3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/io/output_stream/standard_output_stream.py b/venv/lib/python3.8/site-packages/clikit/io/output_stream/standard_output_stream.py new file mode 120000 index 0000000..289d82b --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/io/output_stream/standard_output_stream.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/23/32/9f/8cdac7df232893140ec1636ba54ca7b8d3db6858e526a4f47a736c535c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/io/output_stream/stream_output_stream.py b/venv/lib/python3.8/site-packages/clikit/io/output_stream/stream_output_stream.py new file mode 120000 index 0000000..fe40681 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/io/output_stream/stream_output_stream.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/de/f8/a0/fe1ca9d1d383b28424ceae1fa23486df096689e595ff36a60a7d935fe5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/resolver/__init__.py b/venv/lib/python3.8/site-packages/clikit/resolver/__init__.py new file mode 120000 index 0000000..f81df64 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/resolver/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3f/1d/40/02269d9361becbecda673c504063999f710f4e7561eecf620e7e2b8b28 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/resolver/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/resolver/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..a9b1c92 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/resolver/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/resolver/__pycache__/default_resolver.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/resolver/__pycache__/default_resolver.cpython-38.pyc new file mode 100644 index 0000000..545e85a Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/resolver/__pycache__/default_resolver.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/resolver/__pycache__/help_resolver.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/resolver/__pycache__/help_resolver.cpython-38.pyc new file mode 100644 index 0000000..faa0a57 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/resolver/__pycache__/help_resolver.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/resolver/__pycache__/resolve_result.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/resolver/__pycache__/resolve_result.cpython-38.pyc new file mode 100644 index 0000000..2899fcc Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/resolver/__pycache__/resolve_result.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/resolver/default_resolver.py b/venv/lib/python3.8/site-packages/clikit/resolver/default_resolver.py new file mode 120000 index 0000000..2bc62b8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/resolver/default_resolver.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/aa/b4/6a/dc4b8fddc697839c1c573eab973b3e256a8c61eaac757bcf345dbd9c25 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/resolver/help_resolver.py b/venv/lib/python3.8/site-packages/clikit/resolver/help_resolver.py new file mode 120000 index 0000000..ea0ad15 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/resolver/help_resolver.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fc/0e/fc/b76d6364bb0760314389cb74fac8216bf57fb014bdb7389ef2404c1d57 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/resolver/resolve_result.py b/venv/lib/python3.8/site-packages/clikit/resolver/resolve_result.py new file mode 120000 index 0000000..53dfbee --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/resolver/resolve_result.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0e/24/b3/20c7a8d35fabcdf699d4044a93d1d0b8b9bc0a42ae62a49ea020ebdbc0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/ui/__init__.py b/venv/lib/python3.8/site-packages/clikit/ui/__init__.py new file mode 120000 index 0000000..5f9225c --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/ui/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/eb/42/3f/a73b91d26924f6e05cfe82caefcba8d552dc4a7aa4e791d4f26b8e35a8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/ui/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/ui/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..4acd9db Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/ui/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/ui/__pycache__/component.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/ui/__pycache__/component.cpython-38.pyc new file mode 100644 index 0000000..bb275d0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/ui/__pycache__/component.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/ui/__pycache__/rectangle.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/ui/__pycache__/rectangle.cpython-38.pyc new file mode 100644 index 0000000..badb7ce Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/ui/__pycache__/rectangle.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/ui/alignment/__init__.py b/venv/lib/python3.8/site-packages/clikit/ui/alignment/__init__.py new file mode 120000 index 0000000..85a2d76 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/ui/alignment/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cf/a6/90/c93849cded09d4f93498d5c25655bc229939da7d2b7ef895e041d2039c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/ui/alignment/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/ui/alignment/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..4c7d16b Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/ui/alignment/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/ui/alignment/__pycache__/label_alignment.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/ui/alignment/__pycache__/label_alignment.cpython-38.pyc new file mode 100644 index 0000000..da483f1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/ui/alignment/__pycache__/label_alignment.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/ui/alignment/label_alignment.py b/venv/lib/python3.8/site-packages/clikit/ui/alignment/label_alignment.py new file mode 120000 index 0000000..8f542c6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/ui/alignment/label_alignment.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5b/61/a7/c3614d24792b21e1f6a5c258acf948e451b6c67211b982f9ccd3423048 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/ui/component.py b/venv/lib/python3.8/site-packages/clikit/ui/component.py new file mode 120000 index 0000000..3aae429 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/ui/component.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ea/45/ce/72b891e496b0800e17447689d147be2a58fa31e2345741a52b62720423 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/ui/components/__init__.py b/venv/lib/python3.8/site-packages/clikit/ui/components/__init__.py new file mode 120000 index 0000000..4dd6c05 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/ui/components/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b4/fb/29/f137ae7a88901de08f970eab89d3c9e564b994bc24e223617f766ee7c5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/ui/components/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/ui/components/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..ae88ea1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/ui/components/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/ui/components/__pycache__/border_util.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/ui/components/__pycache__/border_util.cpython-38.pyc new file mode 100644 index 0000000..4f6a6f7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/ui/components/__pycache__/border_util.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/ui/components/__pycache__/cell_wrapper.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/ui/components/__pycache__/cell_wrapper.cpython-38.pyc new file mode 100644 index 0000000..279733c Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/ui/components/__pycache__/cell_wrapper.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/ui/components/__pycache__/choice_question.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/ui/components/__pycache__/choice_question.cpython-38.pyc new file mode 100644 index 0000000..c294353 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/ui/components/__pycache__/choice_question.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/ui/components/__pycache__/confirmation_question.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/ui/components/__pycache__/confirmation_question.cpython-38.pyc new file mode 100644 index 0000000..aa01b3f Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/ui/components/__pycache__/confirmation_question.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/ui/components/__pycache__/empty_line.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/ui/components/__pycache__/empty_line.cpython-38.pyc new file mode 100644 index 0000000..5220af1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/ui/components/__pycache__/empty_line.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/ui/components/__pycache__/exception_trace.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/ui/components/__pycache__/exception_trace.cpython-38.pyc new file mode 100644 index 0000000..8cb135c Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/ui/components/__pycache__/exception_trace.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/ui/components/__pycache__/labeled_paragraph.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/ui/components/__pycache__/labeled_paragraph.cpython-38.pyc new file mode 100644 index 0000000..11ed505 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/ui/components/__pycache__/labeled_paragraph.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/ui/components/__pycache__/name_version.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/ui/components/__pycache__/name_version.cpython-38.pyc new file mode 100644 index 0000000..2c933f6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/ui/components/__pycache__/name_version.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/ui/components/__pycache__/paragraph.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/ui/components/__pycache__/paragraph.cpython-38.pyc new file mode 100644 index 0000000..9dd2b70 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/ui/components/__pycache__/paragraph.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/ui/components/__pycache__/progress_bar.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/ui/components/__pycache__/progress_bar.cpython-38.pyc new file mode 100644 index 0000000..f05b7b6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/ui/components/__pycache__/progress_bar.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/ui/components/__pycache__/progress_indicator.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/ui/components/__pycache__/progress_indicator.cpython-38.pyc new file mode 100644 index 0000000..dcb7712 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/ui/components/__pycache__/progress_indicator.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/ui/components/__pycache__/question.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/ui/components/__pycache__/question.cpython-38.pyc new file mode 100644 index 0000000..70ac8e9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/ui/components/__pycache__/question.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/ui/components/__pycache__/table.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/ui/components/__pycache__/table.cpython-38.pyc new file mode 100644 index 0000000..e5fca84 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/ui/components/__pycache__/table.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/ui/components/border_util.py b/venv/lib/python3.8/site-packages/clikit/ui/components/border_util.py new file mode 120000 index 0000000..1397f36 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/ui/components/border_util.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/36/a9/13/e66c097e0f636f167823f217f57dba98c7c6488616b9167b4503c64e32 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/ui/components/cell_wrapper.py b/venv/lib/python3.8/site-packages/clikit/ui/components/cell_wrapper.py new file mode 120000 index 0000000..8259458 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/ui/components/cell_wrapper.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e4/e1/61/72c5d8c87a13183738a0d2e1b3dfa103339c3410434318e50780ca1654 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/ui/components/choice_question.py b/venv/lib/python3.8/site-packages/clikit/ui/components/choice_question.py new file mode 120000 index 0000000..f3546d1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/ui/components/choice_question.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/27/5f/bd/60c3e53a588a3e21627aebcd41d07e5ee0846d96a8ef4f3d42dcdac571 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/ui/components/confirmation_question.py b/venv/lib/python3.8/site-packages/clikit/ui/components/confirmation_question.py new file mode 120000 index 0000000..b38ca62 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/ui/components/confirmation_question.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fc/62/6d/2d68f14b252f5bb80a01b44ef69ce36f829312329b25bf5d29e272bbd9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/ui/components/empty_line.py b/venv/lib/python3.8/site-packages/clikit/ui/components/empty_line.py new file mode 120000 index 0000000..bc98d4b --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/ui/components/empty_line.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8c/61/1f/169d76c291916e810faff071129bacb7fbd81282ba903ddeb1e1bd458f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/ui/components/exception_trace.py b/venv/lib/python3.8/site-packages/clikit/ui/components/exception_trace.py new file mode 120000 index 0000000..9740ceb --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/ui/components/exception_trace.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/19/40/96/77217d800566f320b1299b22466ca90141b579fd3f6edfd806f134e13a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/ui/components/labeled_paragraph.py b/venv/lib/python3.8/site-packages/clikit/ui/components/labeled_paragraph.py new file mode 120000 index 0000000..ca29eb9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/ui/components/labeled_paragraph.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/80/f3/bc/7aa2a893017650de33c02f25d1000a377b2975deb7d56ea789ba0424ef \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/ui/components/name_version.py b/venv/lib/python3.8/site-packages/clikit/ui/components/name_version.py new file mode 120000 index 0000000..75ece96 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/ui/components/name_version.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5a/3d/61/d15e589560da2c88257791cebab04930339b6cada587e4b8940d4ca07f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/ui/components/paragraph.py b/venv/lib/python3.8/site-packages/clikit/ui/components/paragraph.py new file mode 120000 index 0000000..0e47c09 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/ui/components/paragraph.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5c/3e/02/155595b62b115108a5f01ae049cbc9e9ba2abc3c47f399b40074d4b19b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/ui/components/progress_bar.py b/venv/lib/python3.8/site-packages/clikit/ui/components/progress_bar.py new file mode 120000 index 0000000..b94407c --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/ui/components/progress_bar.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0b/cc/44/20eaedbc7db0dfc7f5bdad412888f93abfbe0bfddb4bb4bb2a7dd75837 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/ui/components/progress_indicator.py b/venv/lib/python3.8/site-packages/clikit/ui/components/progress_indicator.py new file mode 120000 index 0000000..2469220 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/ui/components/progress_indicator.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/14/82/7b/f216ed8abbc05192a609c84cd0b41a3653c1770c6405230ce8273d54b0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/ui/components/question.py b/venv/lib/python3.8/site-packages/clikit/ui/components/question.py new file mode 120000 index 0000000..05f4533 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/ui/components/question.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cd/16/73/76d907ae8adb67fdf86c9ca8bf59d887091630a4447e216bc6eb7d306a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/ui/components/table.py b/venv/lib/python3.8/site-packages/clikit/ui/components/table.py new file mode 120000 index 0000000..58872e3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/ui/components/table.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8e/7e/fb/323e94afa60e99996d681abbef6a2edac966454a8ff82bed667d01e51c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/ui/help/__init__.py b/venv/lib/python3.8/site-packages/clikit/ui/help/__init__.py new file mode 120000 index 0000000..ac06eb4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/ui/help/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3c/4e/03/4478d9a54350fe8559b43818924838af24f7cc980fce99159c5551f178 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/ui/help/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/ui/help/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..638dd02 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/ui/help/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/ui/help/__pycache__/abstract_help.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/ui/help/__pycache__/abstract_help.cpython-38.pyc new file mode 100644 index 0000000..a383a49 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/ui/help/__pycache__/abstract_help.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/ui/help/__pycache__/application_help.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/ui/help/__pycache__/application_help.cpython-38.pyc new file mode 100644 index 0000000..0d3fc9e Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/ui/help/__pycache__/application_help.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/ui/help/__pycache__/command_help.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/ui/help/__pycache__/command_help.cpython-38.pyc new file mode 100644 index 0000000..f92d1b6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/ui/help/__pycache__/command_help.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/ui/help/abstract_help.py b/venv/lib/python3.8/site-packages/clikit/ui/help/abstract_help.py new file mode 120000 index 0000000..adedca4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/ui/help/abstract_help.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/eb/5a/63/1db574cfe6a3751aa2e5b0d799e22876e848b8163943dd938212fc3335 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/ui/help/application_help.py b/venv/lib/python3.8/site-packages/clikit/ui/help/application_help.py new file mode 120000 index 0000000..5ba8a04 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/ui/help/application_help.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/80/2e/17/8b02cab8265266abe455f1c5d75414b42b655524778b20855c77d15f18 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/ui/help/command_help.py b/venv/lib/python3.8/site-packages/clikit/ui/help/command_help.py new file mode 120000 index 0000000..20869d5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/ui/help/command_help.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5d/37/2a/9aceabfba3094717e9c19c50ac189d6fcc0080af051555369f2515d465 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/ui/layout/__init__.py b/venv/lib/python3.8/site-packages/clikit/ui/layout/__init__.py new file mode 120000 index 0000000..c50f575 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/ui/layout/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/17/03/a8/81b8d9b0e2d3a2d0f43e5c5834866cbb3922dbd631cb6d55b599bc1e4b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/ui/layout/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/ui/layout/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..f021e6b Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/ui/layout/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/ui/layout/__pycache__/block_layout.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/ui/layout/__pycache__/block_layout.cpython-38.pyc new file mode 100644 index 0000000..3e0ebf6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/ui/layout/__pycache__/block_layout.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/ui/layout/block_layout.py b/venv/lib/python3.8/site-packages/clikit/ui/layout/block_layout.py new file mode 120000 index 0000000..d5a76b2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/ui/layout/block_layout.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/40/2f/b0/d9b47971282117cf4697313a31cc3850cc329d2d5286269fc12e80b7dc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/ui/rectangle.py b/venv/lib/python3.8/site-packages/clikit/ui/rectangle.py new file mode 120000 index 0000000..0c26598 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/ui/rectangle.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/37/d6/bd/7068b1d1d95ffb88ec1a6eba1202234dcb529d95c7371bf973fc989e26 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/ui/style/__init__.py b/venv/lib/python3.8/site-packages/clikit/ui/style/__init__.py new file mode 120000 index 0000000..e656b13 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/ui/style/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b1/66/16/db40f4a29c2333ccf2ab1788817405765c7a614f728631e220b3ed2d5c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/ui/style/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/ui/style/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..0d3aee9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/ui/style/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/ui/style/__pycache__/alignment.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/ui/style/__pycache__/alignment.cpython-38.pyc new file mode 100644 index 0000000..6740c1f Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/ui/style/__pycache__/alignment.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/ui/style/__pycache__/border_style.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/ui/style/__pycache__/border_style.cpython-38.pyc new file mode 100644 index 0000000..722d124 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/ui/style/__pycache__/border_style.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/ui/style/__pycache__/table_style.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/ui/style/__pycache__/table_style.cpython-38.pyc new file mode 100644 index 0000000..e97c97e Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/ui/style/__pycache__/table_style.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/ui/style/alignment.py b/venv/lib/python3.8/site-packages/clikit/ui/style/alignment.py new file mode 120000 index 0000000..f1a3a04 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/ui/style/alignment.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f8/15/82/3b2609e1f88bd4ff0f0a95159d96aba7b88c09fa4e8f5d67434e59e4b6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/ui/style/border_style.py b/venv/lib/python3.8/site-packages/clikit/ui/style/border_style.py new file mode 120000 index 0000000..2b473b5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/ui/style/border_style.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4d/2c/07/7c53157e924791625a296d27f0fcc10ce1d944ff106774a5451a265e9e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/ui/style/table_style.py b/venv/lib/python3.8/site-packages/clikit/ui/style/table_style.py new file mode 120000 index 0000000..41c214a --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/ui/style/table_style.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/af/02/db/c24054c8a01e9cbb768dcbf981612c56635927840c19f6ac4621f71558 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/utils/__init__.py b/venv/lib/python3.8/site-packages/clikit/utils/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/utils/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/utils/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/utils/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..eb528fa Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/utils/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/utils/__pycache__/_compat.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/utils/__pycache__/_compat.cpython-38.pyc new file mode 100644 index 0000000..457a0c9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/utils/__pycache__/_compat.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/utils/__pycache__/command.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/utils/__pycache__/command.cpython-38.pyc new file mode 100644 index 0000000..3fd3ce1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/utils/__pycache__/command.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/utils/__pycache__/string.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/utils/__pycache__/string.cpython-38.pyc new file mode 100644 index 0000000..dc45e9d Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/utils/__pycache__/string.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/utils/__pycache__/terminal.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/utils/__pycache__/terminal.cpython-38.pyc new file mode 100644 index 0000000..4fe69c3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/utils/__pycache__/terminal.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/utils/__pycache__/time.cpython-38.pyc b/venv/lib/python3.8/site-packages/clikit/utils/__pycache__/time.cpython-38.pyc new file mode 100644 index 0000000..f7cb3b1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/clikit/utils/__pycache__/time.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/clikit/utils/_compat.py b/venv/lib/python3.8/site-packages/clikit/utils/_compat.py new file mode 120000 index 0000000..597bb55 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/utils/_compat.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/13/68/64/5cc9d689f9e00aaa0e81de55dcd78fdea850172b4f7d391f67041e84fd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/utils/command.py b/venv/lib/python3.8/site-packages/clikit/utils/command.py new file mode 120000 index 0000000..fa174b1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/utils/command.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2b/35/8c/aa657928ee14a7f7bd76e20e4fb17d02a241d5018ec7159fc1ba17c650 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/utils/string.py b/venv/lib/python3.8/site-packages/clikit/utils/string.py new file mode 120000 index 0000000..73c49db --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/utils/string.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8d/aa/22/5a1a8ee6f45ac768e0c8ee98bc40601d42031fb34884f19c8d3bda0a22 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/utils/terminal.py b/venv/lib/python3.8/site-packages/clikit/utils/terminal.py new file mode 120000 index 0000000..9849334 --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/utils/terminal.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/56/19/d4/241b8862db8142240649381338b4816972756a77a9c45d2e87f0281251 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/clikit/utils/time.py b/venv/lib/python3.8/site-packages/clikit/utils/time.py new file mode 120000 index 0000000..ad275ca --- /dev/null +++ b/venv/lib/python3.8/site-packages/clikit/utils/time.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7c/9a/c5/2f7a4dc27d4350f17430bfc6b8bf45c36ede1cab7db33c00e449c47906 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/crashtest-0.3.1.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/crashtest-0.3.1.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/crashtest-0.3.1.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/crashtest-0.3.1.dist-info/LICENSE b/venv/lib/python3.8/site-packages/crashtest-0.3.1.dist-info/LICENSE new file mode 120000 index 0000000..28a136c --- /dev/null +++ b/venv/lib/python3.8/site-packages/crashtest-0.3.1.dist-info/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f1/97/81/33782b90f4733bc308ddb19267c3fe04797c88d9ed3bc219032495a982 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/crashtest-0.3.1.dist-info/METADATA b/venv/lib/python3.8/site-packages/crashtest-0.3.1.dist-info/METADATA new file mode 120000 index 0000000..b38f72e --- /dev/null +++ b/venv/lib/python3.8/site-packages/crashtest-0.3.1.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3d/f3/06/5936fa9ffb64ac74106f72c7fef7e9e55b18bc9542325ff54a6cad7e58 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/crashtest-0.3.1.dist-info/RECORD b/venv/lib/python3.8/site-packages/crashtest-0.3.1.dist-info/RECORD new file mode 100644 index 0000000..83e9a41 --- /dev/null +++ b/venv/lib/python3.8/site-packages/crashtest-0.3.1.dist-info/RECORD @@ -0,0 +1,29 @@ +crashtest-0.3.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +crashtest-0.3.1.dist-info/LICENSE,sha256=8ZeBM3grkPRzO8MI3bGSZ8P-BHl8iNntO8IZAySVqYI,1062 +crashtest-0.3.1.dist-info/METADATA,sha256=PfMGWTb6n_tkrHQQb3LH_vfp5VsYvJVCMl_1Smytflg,748 +crashtest-0.3.1.dist-info/RECORD,, +crashtest-0.3.1.dist-info/WHEEL,sha256=jM75OLmO0bF2QZxXmlw3A-IE58epFjnoGYhyw7ywvsc,85 +crashtest/__init__.py,sha256=r4xAFihOf72W9TD-lpMi6ntWSTKTP2SlzKP1ytkjRbI,22 +crashtest/__pycache__/__init__.cpython-38.pyc,, +crashtest/__pycache__/frame.cpython-38.pyc,, +crashtest/__pycache__/frame_collection.cpython-38.pyc,, +crashtest/__pycache__/inspector.cpython-38.pyc,, +crashtest/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +crashtest/contracts/__pycache__/__init__.cpython-38.pyc,, +crashtest/contracts/__pycache__/base_solution.cpython-38.pyc,, +crashtest/contracts/__pycache__/has_solutions_for_exception.cpython-38.pyc,, +crashtest/contracts/__pycache__/provides_solution.cpython-38.pyc,, +crashtest/contracts/__pycache__/solution.cpython-38.pyc,, +crashtest/contracts/__pycache__/solution_provider_repository.cpython-38.pyc,, +crashtest/contracts/base_solution.py,sha256=XwGYk4seqED9tMmBhED3PdJHFT3qCIbi8i3tyUGqG4Q,517 +crashtest/contracts/has_solutions_for_exception.py,sha256=x6QLIK-n3e-yw4basppwwdwm3I6lzjCJ-_9mHbFbAbU,287 +crashtest/contracts/provides_solution.py,sha256=4KSZJkWAH5dzYDR2h5H6AaXqNXOVja-307BANcEALk0,143 +crashtest/contracts/solution.py,sha256=4Cnq1oTF2VUd0ZIm14SeQmv5rCA99BkwNTiSX-ZfjR0,322 +crashtest/contracts/solution_provider_repository.py,sha256=tZYxED5MRPJmQoVXto6yOhbah0lgwxc7lav9x3JvgzY,556 +crashtest/frame.py,sha256=nr5Mfglwws6iWaLiX5XFoBITWXqQvJDEidkMMpAovJY,2050 +crashtest/frame_collection.py,sha256=x9Kg2zMnNLoiMm4sXschkzpzmGP6dXjjTcuV3O8yh4s,2113 +crashtest/inspector.py,sha256=dPottVpq0KX0xErBqmCP2k_lH7wafP4EXcmXSxSDF7I,1279 +crashtest/solution_providers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +crashtest/solution_providers/__pycache__/__init__.cpython-38.pyc,, +crashtest/solution_providers/__pycache__/solution_provider_repository.cpython-38.pyc,, +crashtest/solution_providers/solution_provider_repository.py,sha256=vUonL8oKrC8yF9c_EorwY81lQQQKErQHkwLD6UXDwnc,2165 diff --git a/venv/lib/python3.8/site-packages/crashtest-0.3.1.dist-info/WHEEL b/venv/lib/python3.8/site-packages/crashtest-0.3.1.dist-info/WHEEL new file mode 120000 index 0000000..9613080 --- /dev/null +++ b/venv/lib/python3.8/site-packages/crashtest-0.3.1.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8c/ce/f9/38b98ed1b176419c579a5c3703e204e7c7a91639e8198872c3bcb0bec7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/crashtest/__init__.py b/venv/lib/python3.8/site-packages/crashtest/__init__.py new file mode 120000 index 0000000..ed84738 --- /dev/null +++ b/venv/lib/python3.8/site-packages/crashtest/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/af/8c/40/16284e7fbd96f530fe969322ea7b564932933f64a5cca3f5cad92345b2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/crashtest/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/crashtest/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..780c6ae Binary files /dev/null and b/venv/lib/python3.8/site-packages/crashtest/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/crashtest/__pycache__/frame.cpython-38.pyc b/venv/lib/python3.8/site-packages/crashtest/__pycache__/frame.cpython-38.pyc new file mode 100644 index 0000000..a3b25b7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/crashtest/__pycache__/frame.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/crashtest/__pycache__/frame_collection.cpython-38.pyc b/venv/lib/python3.8/site-packages/crashtest/__pycache__/frame_collection.cpython-38.pyc new file mode 100644 index 0000000..9b801bf Binary files /dev/null and b/venv/lib/python3.8/site-packages/crashtest/__pycache__/frame_collection.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/crashtest/__pycache__/inspector.cpython-38.pyc b/venv/lib/python3.8/site-packages/crashtest/__pycache__/inspector.cpython-38.pyc new file mode 100644 index 0000000..030af84 Binary files /dev/null and b/venv/lib/python3.8/site-packages/crashtest/__pycache__/inspector.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/crashtest/contracts/__init__.py b/venv/lib/python3.8/site-packages/crashtest/contracts/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/crashtest/contracts/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/crashtest/contracts/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/crashtest/contracts/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..4927afe Binary files /dev/null and b/venv/lib/python3.8/site-packages/crashtest/contracts/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/crashtest/contracts/__pycache__/base_solution.cpython-38.pyc b/venv/lib/python3.8/site-packages/crashtest/contracts/__pycache__/base_solution.cpython-38.pyc new file mode 100644 index 0000000..8693c22 Binary files /dev/null and b/venv/lib/python3.8/site-packages/crashtest/contracts/__pycache__/base_solution.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/crashtest/contracts/__pycache__/has_solutions_for_exception.cpython-38.pyc b/venv/lib/python3.8/site-packages/crashtest/contracts/__pycache__/has_solutions_for_exception.cpython-38.pyc new file mode 100644 index 0000000..52886a4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/crashtest/contracts/__pycache__/has_solutions_for_exception.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/crashtest/contracts/__pycache__/provides_solution.cpython-38.pyc b/venv/lib/python3.8/site-packages/crashtest/contracts/__pycache__/provides_solution.cpython-38.pyc new file mode 100644 index 0000000..ddd1697 Binary files /dev/null and b/venv/lib/python3.8/site-packages/crashtest/contracts/__pycache__/provides_solution.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/crashtest/contracts/__pycache__/solution.cpython-38.pyc b/venv/lib/python3.8/site-packages/crashtest/contracts/__pycache__/solution.cpython-38.pyc new file mode 100644 index 0000000..3450680 Binary files /dev/null and b/venv/lib/python3.8/site-packages/crashtest/contracts/__pycache__/solution.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/crashtest/contracts/__pycache__/solution_provider_repository.cpython-38.pyc b/venv/lib/python3.8/site-packages/crashtest/contracts/__pycache__/solution_provider_repository.cpython-38.pyc new file mode 100644 index 0000000..5af978c Binary files /dev/null and b/venv/lib/python3.8/site-packages/crashtest/contracts/__pycache__/solution_provider_repository.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/crashtest/contracts/base_solution.py b/venv/lib/python3.8/site-packages/crashtest/contracts/base_solution.py new file mode 120000 index 0000000..8f98a92 --- /dev/null +++ b/venv/lib/python3.8/site-packages/crashtest/contracts/base_solution.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5f/01/98/938b1ea840fdb4c9818440f73dd247153dea0886e2f22dedc941aa1b84 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/crashtest/contracts/has_solutions_for_exception.py b/venv/lib/python3.8/site-packages/crashtest/contracts/has_solutions_for_exception.py new file mode 120000 index 0000000..61b5e39 --- /dev/null +++ b/venv/lib/python3.8/site-packages/crashtest/contracts/has_solutions_for_exception.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c7/a4/0b/20afa7ddefb2c386dab29a70c1dc26dc8ea5ce3089fbff661db15b01b5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/crashtest/contracts/provides_solution.py b/venv/lib/python3.8/site-packages/crashtest/contracts/provides_solution.py new file mode 120000 index 0000000..77dc52f --- /dev/null +++ b/venv/lib/python3.8/site-packages/crashtest/contracts/provides_solution.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e0/a4/99/2645801f97736034768791fa01a5ea3573958dafb7d3b04035c1002e4d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/crashtest/contracts/solution.py b/venv/lib/python3.8/site-packages/crashtest/contracts/solution.py new file mode 120000 index 0000000..db2f721 --- /dev/null +++ b/venv/lib/python3.8/site-packages/crashtest/contracts/solution.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e0/29/ea/d684c5d9551dd19226d7849e426bf9ac203df419303538925fe65f8d1d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/crashtest/contracts/solution_provider_repository.py b/venv/lib/python3.8/site-packages/crashtest/contracts/solution_provider_repository.py new file mode 120000 index 0000000..05b00ca --- /dev/null +++ b/venv/lib/python3.8/site-packages/crashtest/contracts/solution_provider_repository.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b5/96/31/103e4c44f266428557b68eb23a16da874960c3173b95abfdc7726f8336 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/crashtest/frame.py b/venv/lib/python3.8/site-packages/crashtest/frame.py new file mode 120000 index 0000000..48b1b5f --- /dev/null +++ b/venv/lib/python3.8/site-packages/crashtest/frame.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9e/be/4c/7e0970c2cea259a2e25f95c5a01213597a90bc90c489d90c329028bc96 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/crashtest/frame_collection.py b/venv/lib/python3.8/site-packages/crashtest/frame_collection.py new file mode 120000 index 0000000..ada4555 --- /dev/null +++ b/venv/lib/python3.8/site-packages/crashtest/frame_collection.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c7/d2/a0/db332734ba22326e2c5ec721933a739863fa7578e34dcb95dcef32878b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/crashtest/inspector.py b/venv/lib/python3.8/site-packages/crashtest/inspector.py new file mode 120000 index 0000000..fe71ba8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/crashtest/inspector.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/74/fa/2d/b55a6ad0a5f4c44ac1aa608fda4fe51fbc1a7cfe045dc9974b148317b2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/crashtest/solution_providers/__init__.py b/venv/lib/python3.8/site-packages/crashtest/solution_providers/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/crashtest/solution_providers/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/crashtest/solution_providers/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/crashtest/solution_providers/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..ce67eae Binary files /dev/null and b/venv/lib/python3.8/site-packages/crashtest/solution_providers/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/crashtest/solution_providers/__pycache__/solution_provider_repository.cpython-38.pyc b/venv/lib/python3.8/site-packages/crashtest/solution_providers/__pycache__/solution_provider_repository.cpython-38.pyc new file mode 100644 index 0000000..8f7c35c Binary files /dev/null and b/venv/lib/python3.8/site-packages/crashtest/solution_providers/__pycache__/solution_provider_repository.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/crashtest/solution_providers/solution_provider_repository.py b/venv/lib/python3.8/site-packages/crashtest/solution_providers/solution_provider_repository.py new file mode 120000 index 0000000..618e1a1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/crashtest/solution_providers/solution_provider_repository.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bd/4a/27/2fca0aac2f3217d73f128af063cd6541040a12b4079302c3e945c3c277 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography-38.0.1.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/cryptography-38.0.1.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography-38.0.1.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/cryptography-38.0.1.dist-info/LICENSE b/venv/lib/python3.8/site-packages/cryptography-38.0.1.dist-info/LICENSE new file mode 120000 index 0000000..bf4a04c --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography-38.0.1.dist-info/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/43/da/d2/cc752ab721cd9a9f36ece70fb53ab7713551f2d3d8694d8e8c5a06d6e2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography-38.0.1.dist-info/LICENSE.APACHE b/venv/lib/python3.8/site-packages/cryptography-38.0.1.dist-info/LICENSE.APACHE new file mode 120000 index 0000000..db18be2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography-38.0.1.dist-info/LICENSE.APACHE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/aa/c7/3b/3148f6d1d7111dbca32099f68d26c644c6813ae1e4f05f6579aa2663fe \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography-38.0.1.dist-info/LICENSE.BSD b/venv/lib/python3.8/site-packages/cryptography-38.0.1.dist-info/LICENSE.BSD new file mode 120000 index 0000000..9f16920 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography-38.0.1.dist-info/LICENSE.BSD @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/60/2c/4c/7482de6479dd2e9793cda275e5e63d773dacd1eca689232ab7008fb4fb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography-38.0.1.dist-info/LICENSE.PSF b/venv/lib/python3.8/site-packages/cryptography-38.0.1.dist-info/LICENSE.PSF new file mode 120000 index 0000000..7d2cfab --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography-38.0.1.dist-info/LICENSE.PSF @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/69/3e/c0/a662b39f995a4f252b03a6222945470c1b6f12ca02918e4efe0df64b9f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography-38.0.1.dist-info/METADATA b/venv/lib/python3.8/site-packages/cryptography-38.0.1.dist-info/METADATA new file mode 120000 index 0000000..5ea4445 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography-38.0.1.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2a/30/9c/20a0ea9cb25ef337eeb685f1c7d76eaac5e96c203c8a3e8a0812bf8844 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography-38.0.1.dist-info/RECORD b/venv/lib/python3.8/site-packages/cryptography-38.0.1.dist-info/RECORD new file mode 100644 index 0000000..aec5607 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography-38.0.1.dist-info/RECORD @@ -0,0 +1,181 @@ +cryptography-38.0.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +cryptography-38.0.1.dist-info/LICENSE,sha256=Q9rSzHUqtyHNmp827OcPtTq3cTVR8tPYaU2OjFoG1uI,323 +cryptography-38.0.1.dist-info/LICENSE.APACHE,sha256=qsc7MUj20dcRHbyjIJn2jSbGRMaBOuHk8F9leaomY_4,11360 +cryptography-38.0.1.dist-info/LICENSE.BSD,sha256=YCxMdILeZHndLpeTzaJ15eY9dz2s0eymiSMqtwCPtPs,1532 +cryptography-38.0.1.dist-info/LICENSE.PSF,sha256=aT7ApmKzn5laTyUrA6YiKUVHDBtvEsoCkY5O_g32S58,2415 +cryptography-38.0.1.dist-info/METADATA,sha256=KjCcIKDqnLJe8zfutoXxx9duqsXpbCA8ij6KCBK_iEQ,5304 +cryptography-38.0.1.dist-info/RECORD,, +cryptography-38.0.1.dist-info/WHEEL,sha256=ZXaM-AC_dnzk1sUAdQV_bMrIMG6zI-GthFaEkNkWsgU,112 +cryptography-38.0.1.dist-info/top_level.txt,sha256=KNaT-Sn2K4uxNaEbe6mYdDn3qWDMlp4y-MtWfB73nJc,13 +cryptography/__about__.py,sha256=hXpJad7WGyr5LmnW6zSW-U6dA_4YyfSwaqiKlXLMGIE,417 +cryptography/__init__.py,sha256=j08JCN_u_m8eL-zxbXRxgsriW6Oe29oSSo_e2hyyasg,748 +cryptography/__pycache__/__about__.cpython-38.pyc,, +cryptography/__pycache__/__init__.cpython-38.pyc,, +cryptography/__pycache__/exceptions.cpython-38.pyc,, +cryptography/__pycache__/fernet.cpython-38.pyc,, +cryptography/__pycache__/utils.cpython-38.pyc,, +cryptography/exceptions.py,sha256=sN_VVTF_LuKMM6R-lIASFFuzAmz1uZ2Qbcdko9WyS64,1471 +cryptography/fernet.py,sha256=pRH_HKl1ESBUBTDYcfHTk_5w31WPaB5MW0RuDhr6xa0,6843 +cryptography/hazmat/__init__.py,sha256=OYlvgprzULzZlsf3yYTsd6VUVyQmpsbHjgJdNnsyRwE,418 +cryptography/hazmat/__pycache__/__init__.cpython-38.pyc,, +cryptography/hazmat/__pycache__/_oid.cpython-38.pyc,, +cryptography/hazmat/_oid.py,sha256=iM71y6BjXe7YElHGMU92gNvukXcrIiejdhzuQkshmuk,13635 +cryptography/hazmat/backends/__init__.py,sha256=bgrjB1SX2vXX-rmfG7A4PqGkq-isqQVXGaZtjWHAgj0,324 +cryptography/hazmat/backends/__pycache__/__init__.cpython-38.pyc,, +cryptography/hazmat/backends/openssl/__init__.py,sha256=7rpz1Z3eV9vZy_d2iLrwC8Oz0vEruDFrjJlc6W2ZDXA,271 +cryptography/hazmat/backends/openssl/__pycache__/__init__.cpython-38.pyc,, +cryptography/hazmat/backends/openssl/__pycache__/aead.cpython-38.pyc,, +cryptography/hazmat/backends/openssl/__pycache__/backend.cpython-38.pyc,, +cryptography/hazmat/backends/openssl/__pycache__/ciphers.cpython-38.pyc,, +cryptography/hazmat/backends/openssl/__pycache__/cmac.cpython-38.pyc,, +cryptography/hazmat/backends/openssl/__pycache__/decode_asn1.cpython-38.pyc,, +cryptography/hazmat/backends/openssl/__pycache__/dh.cpython-38.pyc,, +cryptography/hazmat/backends/openssl/__pycache__/dsa.cpython-38.pyc,, +cryptography/hazmat/backends/openssl/__pycache__/ec.cpython-38.pyc,, +cryptography/hazmat/backends/openssl/__pycache__/ed25519.cpython-38.pyc,, +cryptography/hazmat/backends/openssl/__pycache__/ed448.cpython-38.pyc,, +cryptography/hazmat/backends/openssl/__pycache__/hashes.cpython-38.pyc,, +cryptography/hazmat/backends/openssl/__pycache__/hmac.cpython-38.pyc,, +cryptography/hazmat/backends/openssl/__pycache__/poly1305.cpython-38.pyc,, +cryptography/hazmat/backends/openssl/__pycache__/rsa.cpython-38.pyc,, +cryptography/hazmat/backends/openssl/__pycache__/utils.cpython-38.pyc,, +cryptography/hazmat/backends/openssl/__pycache__/x25519.cpython-38.pyc,, +cryptography/hazmat/backends/openssl/__pycache__/x448.cpython-38.pyc,, +cryptography/hazmat/backends/openssl/__pycache__/x509.cpython-38.pyc,, +cryptography/hazmat/backends/openssl/aead.py,sha256=1GASyrJPO8a-mDPTT7VJZXPb_0zEdrkW-Wu_rxV-6RQ,8442 +cryptography/hazmat/backends/openssl/backend.py,sha256=pfjBjYH1mM0V7QdHksoyeI4gShFTKS9MkcNiAR5KnY8,101175 +cryptography/hazmat/backends/openssl/ciphers.py,sha256=n3rrPQZi1blJBKqIWeMG6-U6YTvEb8rXGQKn8i-kFog,10342 +cryptography/hazmat/backends/openssl/cmac.py,sha256=K5-S0H72KHZH-WPAcHL5jCtcNyoBZSMe7VmxGn8_VWA,3005 +cryptography/hazmat/backends/openssl/decode_asn1.py,sha256=nSqtgO5MJVf_UUkvw9tez10zhGnsGHq24OP1X2GKOe4,1113 +cryptography/hazmat/backends/openssl/dh.py,sha256=9fwPordToELTkeJ-c7TuO9NiE1vfUBejk2QEUZbvo4s,12230 +cryptography/hazmat/backends/openssl/dsa.py,sha256=awfP80ykAfb4C_I-aOo-PnGU1DF6uf8bnEi-jld18ec,8888 +cryptography/hazmat/backends/openssl/ec.py,sha256=kgxwW508FTXDwGG-7pSywBLlICZKKfo4bcTHnNpsvJY,11103 +cryptography/hazmat/backends/openssl/ed25519.py,sha256=irHT-jSbpTNMMHqw5T885uzAi3Syf3kaaHuTnKgQPSg,5920 +cryptography/hazmat/backends/openssl/ed448.py,sha256=K8HDEiXl98QGJ-4llT4SVZf5-xe8aCuci00DkZf0lhw,5874 +cryptography/hazmat/backends/openssl/hashes.py,sha256=3L5bkCOo2LbRSVNGLca_9rpCZ2zb8ISBrMLtts1BkEw,3241 +cryptography/hazmat/backends/openssl/hmac.py,sha256=9RX8bo9ywJievoodxjmqCXmD2iUWyH2jBmw78Hb-pOY,3095 +cryptography/hazmat/backends/openssl/poly1305.py,sha256=_qyGCXNaQVCFpa1qjb_9UtsI6lmnki_15Jbc5vihbeE,2514 +cryptography/hazmat/backends/openssl/rsa.py,sha256=R2qpvJbkHmx9AHJHRKvU7crYx7BBbpAgEg8bCfQRqLQ,21562 +cryptography/hazmat/backends/openssl/utils.py,sha256=7Ara81KkY0QCLPqW6kUG9dEsp52cZ3kOUJczwEpecJ0,1977 +cryptography/hazmat/backends/openssl/x25519.py,sha256=oA_ao4o27ki_OAx0UXNeI2ItZ84Xg_li7It1DxFlrZ0,4753 +cryptography/hazmat/backends/openssl/x448.py,sha256=a_zgqGUpGFvyKEoKRR1vgNdD_gk1gxGYpBp1a6x9HuE,4338 +cryptography/hazmat/backends/openssl/x509.py,sha256=WUoRC6UDM9FkOdn6xR5Mk-v_WCq7eJryenGN9ni8L-A,1452 +cryptography/hazmat/bindings/__init__.py,sha256=s9oKCQ2ycFdXoERdS1imafueSkBsL9kvbyfghaauZ9Y,180 +cryptography/hazmat/bindings/__pycache__/__init__.cpython-38.pyc,, +cryptography/hazmat/bindings/_openssl.abi3.so,sha256=iEgsxmtn1G-hR-bxZs4nAnm9zdJ0m7k4PuNER5WhVhQ,8626712 +cryptography/hazmat/bindings/_openssl.pyi,sha256=mpNJLuYLbCVrd5i33FBTmWwL_55Dw7JPkSLlSX9Q7oI,230 +cryptography/hazmat/bindings/_rust.abi3.so,sha256=HC98NN8PPG1AcS5j-BJf0q22abcZn-FwGHG-qt87piA,3585352 +cryptography/hazmat/bindings/_rust/__init__.pyi,sha256=GztNJPaJWej18fxbmSUvGy-3_g4je8sn6--jnPcaM9c,859 +cryptography/hazmat/bindings/_rust/asn1.pyi,sha256=9CyI-grOsLQB_hfnhJPoG9dNOdJ7Zg6B0iUpzCowh44,592 +cryptography/hazmat/bindings/_rust/ocsp.pyi,sha256=-rbDG2McEOyKdbLLCCZJLZpt6-Vw7y6RhttmqXl30Ds,949 +cryptography/hazmat/bindings/_rust/x509.pyi,sha256=jx2XffYsHNB_Cc-evLnlM3fluMuT3_L2bC_-ZR-mwek,1678 +cryptography/hazmat/bindings/openssl/__init__.py,sha256=s9oKCQ2ycFdXoERdS1imafueSkBsL9kvbyfghaauZ9Y,180 +cryptography/hazmat/bindings/openssl/__pycache__/__init__.cpython-38.pyc,, +cryptography/hazmat/bindings/openssl/__pycache__/_conditional.cpython-38.pyc,, +cryptography/hazmat/bindings/openssl/__pycache__/binding.cpython-38.pyc,, +cryptography/hazmat/bindings/openssl/_conditional.py,sha256=usiy9QHCkbs-grw5vpzUNvJLrGptCpevnvqcN_6kfsU,10667 +cryptography/hazmat/bindings/openssl/binding.py,sha256=ubeB3piiCcAHBoupGrf6QwtZ2zhZv7vY5qn7yWLw4S8,8023 +cryptography/hazmat/primitives/__init__.py,sha256=s9oKCQ2ycFdXoERdS1imafueSkBsL9kvbyfghaauZ9Y,180 +cryptography/hazmat/primitives/__pycache__/__init__.cpython-38.pyc,, +cryptography/hazmat/primitives/__pycache__/_asymmetric.cpython-38.pyc,, +cryptography/hazmat/primitives/__pycache__/_cipheralgorithm.cpython-38.pyc,, +cryptography/hazmat/primitives/__pycache__/_serialization.cpython-38.pyc,, +cryptography/hazmat/primitives/__pycache__/cmac.cpython-38.pyc,, +cryptography/hazmat/primitives/__pycache__/constant_time.cpython-38.pyc,, +cryptography/hazmat/primitives/__pycache__/hashes.cpython-38.pyc,, +cryptography/hazmat/primitives/__pycache__/hmac.cpython-38.pyc,, +cryptography/hazmat/primitives/__pycache__/keywrap.cpython-38.pyc,, +cryptography/hazmat/primitives/__pycache__/padding.cpython-38.pyc,, +cryptography/hazmat/primitives/__pycache__/poly1305.cpython-38.pyc,, +cryptography/hazmat/primitives/_asymmetric.py,sha256=nVJwmxkakirAXfFp410pC4kY_CinzN5FSJwhEn2IE34,485 +cryptography/hazmat/primitives/_cipheralgorithm.py,sha256=zd7N8rBYWaf8tPM7GDtZ9vUgarK_P0_PUNCFi3A0u0c,1016 +cryptography/hazmat/primitives/_serialization.py,sha256=HssBsIm3rNVPct1nZTACJzbymZc2WaZAWdkg1l5slD0,5196 +cryptography/hazmat/primitives/asymmetric/__init__.py,sha256=s9oKCQ2ycFdXoERdS1imafueSkBsL9kvbyfghaauZ9Y,180 +cryptography/hazmat/primitives/asymmetric/__pycache__/__init__.cpython-38.pyc,, +cryptography/hazmat/primitives/asymmetric/__pycache__/dh.cpython-38.pyc,, +cryptography/hazmat/primitives/asymmetric/__pycache__/dsa.cpython-38.pyc,, +cryptography/hazmat/primitives/asymmetric/__pycache__/ec.cpython-38.pyc,, +cryptography/hazmat/primitives/asymmetric/__pycache__/ed25519.cpython-38.pyc,, +cryptography/hazmat/primitives/asymmetric/__pycache__/ed448.cpython-38.pyc,, +cryptography/hazmat/primitives/asymmetric/__pycache__/padding.cpython-38.pyc,, +cryptography/hazmat/primitives/asymmetric/__pycache__/rsa.cpython-38.pyc,, +cryptography/hazmat/primitives/asymmetric/__pycache__/types.cpython-38.pyc,, +cryptography/hazmat/primitives/asymmetric/__pycache__/utils.cpython-38.pyc,, +cryptography/hazmat/primitives/asymmetric/__pycache__/x25519.cpython-38.pyc,, +cryptography/hazmat/primitives/asymmetric/__pycache__/x448.cpython-38.pyc,, +cryptography/hazmat/primitives/asymmetric/dh.py,sha256=pjjgKFcn2bCAaL_5zr0ygwXM8pHJFyAO6koJFkzhQb8,6604 +cryptography/hazmat/primitives/asymmetric/dsa.py,sha256=dIo6lYiHWRWUCxwejAi01w1-3jjmzEuJovqaVqDO3_g,7870 +cryptography/hazmat/primitives/asymmetric/ec.py,sha256=wX8wH9bD7g7-YxmINam_s9cPc9RUPrui2QdIKg6Q3Nc,14468 +cryptography/hazmat/primitives/asymmetric/ed25519.py,sha256=1qOl1UWV_-cXKHhwlFSyPBdhpx2HMDRukkI6eI5i8vM,2728 +cryptography/hazmat/primitives/asymmetric/ed448.py,sha256=oR-j4jGcWUnGxWi1GygHxVZbgkSOKHsR6y1E3Lf6wYM,2647 +cryptography/hazmat/primitives/asymmetric/padding.py,sha256=EkKuY9e6UFqSuQ0LvyKYKl_L19tOfNCTlHWEiKgHeUc,2690 +cryptography/hazmat/primitives/asymmetric/rsa.py,sha256=GiCIuBuJdpeew-yJ7mnTF4KFH_FUJaut1r-d6TRs31s,11322 +cryptography/hazmat/primitives/asymmetric/types.py,sha256=VidxjUWPOMB8q8vGiaXMhY715Zw8U9Vd4_rkqjOagRE,1814 +cryptography/hazmat/primitives/asymmetric/utils.py,sha256=5hD4KjfMbmozeFq08PLVunHr4FgeVzV1NkKalECM26s,756 +cryptography/hazmat/primitives/asymmetric/x25519.py,sha256=-nbaGlgT1sufO9Ic-urwKDql8Da0U3GL6hZJIMqHgVc,2588 +cryptography/hazmat/primitives/asymmetric/x448.py,sha256=V3lxb1VOiRTa3bzVUC3uZat2ogfExUOdktCIGUUMZ2Y,2556 +cryptography/hazmat/primitives/ciphers/__init__.py,sha256=Qp78Y3PDSRfwp7DDa3pezlLrED_QFhic_LvDw4LM9ZQ,646 +cryptography/hazmat/primitives/ciphers/__pycache__/__init__.cpython-38.pyc,, +cryptography/hazmat/primitives/ciphers/__pycache__/aead.cpython-38.pyc,, +cryptography/hazmat/primitives/ciphers/__pycache__/algorithms.cpython-38.pyc,, +cryptography/hazmat/primitives/ciphers/__pycache__/base.cpython-38.pyc,, +cryptography/hazmat/primitives/ciphers/__pycache__/modes.cpython-38.pyc,, +cryptography/hazmat/primitives/ciphers/aead.py,sha256=QnJD2doZ8XdpCIrDwqJBNgaw2eG9Tx4FWirIP159MAg,11488 +cryptography/hazmat/primitives/ciphers/algorithms.py,sha256=J1qeJK97fpSaX1E0ENsWvJG_qKGoOZvm57baBGOQofQ,5135 +cryptography/hazmat/primitives/ciphers/base.py,sha256=AiCYCzXbSZ9wQbXWMYc60IKmzqz5619YdaaF0zVr4rY,8251 +cryptography/hazmat/primitives/ciphers/modes.py,sha256=jRQocLF-I2BnZRKV66ZL9sSIHGhUN8YdvA3CXKXoxqg,8298 +cryptography/hazmat/primitives/cmac.py,sha256=ODkc7EonY1cRxyJ0SYOuwtiYQv6B0ZPxJQm3rXxfXd4,2037 +cryptography/hazmat/primitives/constant_time.py,sha256=6bkW00QjhKusdgsQbexXhMlGX0XRN59XNmxWS2W38NA,387 +cryptography/hazmat/primitives/hashes.py,sha256=cpaYjgkazlq7Xw0MVoR3cp17mD0TgyEvhZQbyoAWHzU,5996 +cryptography/hazmat/primitives/hmac.py,sha256=M_sa4smPIkO8ra17Xl_cM0daRhGCozUu_8gnHePEIb0,2131 +cryptography/hazmat/primitives/kdf/__init__.py,sha256=DcZhzfLG8d8IYBH771lGTVU5S87OQDpu3nrfOwZnsmA,715 +cryptography/hazmat/primitives/kdf/__pycache__/__init__.cpython-38.pyc,, +cryptography/hazmat/primitives/kdf/__pycache__/concatkdf.cpython-38.pyc,, +cryptography/hazmat/primitives/kdf/__pycache__/hkdf.cpython-38.pyc,, +cryptography/hazmat/primitives/kdf/__pycache__/kbkdf.cpython-38.pyc,, +cryptography/hazmat/primitives/kdf/__pycache__/pbkdf2.cpython-38.pyc,, +cryptography/hazmat/primitives/kdf/__pycache__/scrypt.cpython-38.pyc,, +cryptography/hazmat/primitives/kdf/__pycache__/x963kdf.cpython-38.pyc,, +cryptography/hazmat/primitives/kdf/concatkdf.py,sha256=5YXw8cLZCBYT6rVDGS5URQEeFiPW-ZRBRcPdZQIxTMA,3772 +cryptography/hazmat/primitives/kdf/hkdf.py,sha256=LlDQbCvlNzuLa_UJXrkG5fXGjAjor5Wunv2378TBmms,3031 +cryptography/hazmat/primitives/kdf/kbkdf.py,sha256=Ys2ITSbEw49V1v_DagQBd17owQr2A2iyPue4mot4Z_g,9196 +cryptography/hazmat/primitives/kdf/pbkdf2.py,sha256=wEMH4CJfPccCg9apQLXyWUWBrZLTpYLLnoZEnzvaHQo,2032 +cryptography/hazmat/primitives/kdf/scrypt.py,sha256=JvX_cD0o0Op5EcFNeZhr-vI5sYv_LdnJ6kNEbW3u5ow,2228 +cryptography/hazmat/primitives/kdf/x963kdf.py,sha256=JsdrJhw2IJVYkl8JIWUN66h7DrKZM2RoQ_tw_iKAvdI,2018 +cryptography/hazmat/primitives/keywrap.py,sha256=TWqyG9K7k-Ymq4kcIw7u3NIKUPVDtv6bimwxIJYTe20,5643 +cryptography/hazmat/primitives/padding.py,sha256=xruasOE5Cd8KEQ-yp9W6v9WKPvKH-GudHCPKQ7A8HfI,6207 +cryptography/hazmat/primitives/poly1305.py,sha256=QvxPMrqjgKJt0mOZSeZKk4NcxsNCd2kgfI-X1CmyUW4,1837 +cryptography/hazmat/primitives/serialization/__init__.py,sha256=f5dOLmDEvZROlG7HysPXY9DhvM9VXVRA2kwErJobzWw,1197 +cryptography/hazmat/primitives/serialization/__pycache__/__init__.cpython-38.pyc,, +cryptography/hazmat/primitives/serialization/__pycache__/base.cpython-38.pyc,, +cryptography/hazmat/primitives/serialization/__pycache__/pkcs12.cpython-38.pyc,, +cryptography/hazmat/primitives/serialization/__pycache__/pkcs7.cpython-38.pyc,, +cryptography/hazmat/primitives/serialization/__pycache__/ssh.cpython-38.pyc,, +cryptography/hazmat/primitives/serialization/base.py,sha256=yw8_yzIvruT6fmS-KrTmIXbAF00rItH48WXTPOSLdJ4,1761 +cryptography/hazmat/primitives/serialization/pkcs12.py,sha256=D0kpFOQdXdRGir1qg_mCchUpr1mlwhphGGl8OD7DR4Y,6725 +cryptography/hazmat/primitives/serialization/pkcs7.py,sha256=LnISP-1SEDXCpsoEbR0EfuIlWm8eJAgWupt0gvHyyIU,5870 +cryptography/hazmat/primitives/serialization/ssh.py,sha256=YWlhKV8uTil_LOLD9Hm5X5EZB1slviW1eg1AL4Jid1A,23935 +cryptography/hazmat/primitives/twofactor/__init__.py,sha256=ZHo4zwWidFP2RWFl8luiNuYkVMZPghzx54izPNSCtD4,222 +cryptography/hazmat/primitives/twofactor/__pycache__/__init__.cpython-38.pyc,, +cryptography/hazmat/primitives/twofactor/__pycache__/hotp.cpython-38.pyc,, +cryptography/hazmat/primitives/twofactor/__pycache__/totp.cpython-38.pyc,, +cryptography/hazmat/primitives/twofactor/hotp.py,sha256=v4wkTbdc1E53POx6pdNnEUBvANbmt4f6scQSsTgABeU,2989 +cryptography/hazmat/primitives/twofactor/totp.py,sha256=bIIxOI-LcLGNahB5kN7A_TwEyYMTsLjHd8eJc4b2cLg,1449 +cryptography/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +cryptography/utils.py,sha256=eZS8-xeVAaGoyJYI23fN8uo0wPqo0ahl8rxobLOw7Zk,5031 +cryptography/x509/__init__.py,sha256=yC0TbuvPmWL1U4rEY-0m46SayuxCfPVNFWjJJdi5lY0,7654 +cryptography/x509/__pycache__/__init__.cpython-38.pyc,, +cryptography/x509/__pycache__/base.cpython-38.pyc,, +cryptography/x509/__pycache__/certificate_transparency.cpython-38.pyc,, +cryptography/x509/__pycache__/extensions.cpython-38.pyc,, +cryptography/x509/__pycache__/general_name.cpython-38.pyc,, +cryptography/x509/__pycache__/name.cpython-38.pyc,, +cryptography/x509/__pycache__/ocsp.cpython-38.pyc,, +cryptography/x509/__pycache__/oid.cpython-38.pyc,, +cryptography/x509/base.py,sha256=_LXtW3M-PeFGPwhY3BYS3tU1Tt9Bof0IzWmtgR_Uf1E,33942 +cryptography/x509/certificate_transparency.py,sha256=ks_yQPK8cCSSFF6htSs_Fcujwys7tc9OAPWn2TsPLqY,2130 +cryptography/x509/extensions.py,sha256=6-O2XdVn3OtYnX-qMT265RczUIDw1Dd79r5MVKEfI3E,65316 +cryptography/x509/general_name.py,sha256=S_kJd4ZsNGrMfi2osfFJEWqPxy3oPCAWpLb91yhxzPs,7896 +cryptography/x509/name.py,sha256=SlgpPyg_zEE-ysK36SKJIOgKYH1AKwNZ7wT8mC1YfKc,14846 +cryptography/x509/ocsp.py,sha256=OQKsqW_Y4mWY53UT_JG79RJR19xt53Q-iQSSw4m0kZM,16691 +cryptography/x509/oid.py,sha256=CLIlQwzE3PQXMvkKep4JbzVUaRDl_stwcX_U6-s2cNw,794 diff --git a/venv/lib/python3.8/site-packages/cryptography-38.0.1.dist-info/WHEEL b/venv/lib/python3.8/site-packages/cryptography-38.0.1.dist-info/WHEEL new file mode 120000 index 0000000..bfced20 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography-38.0.1.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/65/76/8c/f800bf767ce4d6c50075057f6ccac8306eb323e1ad84568490d916b205 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography-38.0.1.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/cryptography-38.0.1.dist-info/top_level.txt new file mode 120000 index 0000000..087f10a --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography-38.0.1.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/28/d6/93/f929f62b8bb135a11b7ba9987439f7a960cc969e32f8cb567c1ef79c97 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/__about__.py b/venv/lib/python3.8/site-packages/cryptography/__about__.py new file mode 120000 index 0000000..92c10e2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/__about__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/85/7a/49/69ded61b2af92e69d6eb3496f94e9d03fe18c9f4b06aa88a9572cc1881 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/__init__.py b/venv/lib/python3.8/site-packages/cryptography/__init__.py new file mode 120000 index 0000000..7f821c9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8f/4f/09/08dfeefe6f1e2fecf16d747182cae25ba39edbda124a8fdeda1cb26ac8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/__pycache__/__about__.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/__pycache__/__about__.cpython-38.pyc new file mode 100644 index 0000000..efa2aea Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/__pycache__/__about__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..69ad648 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/__pycache__/exceptions.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/__pycache__/exceptions.cpython-38.pyc new file mode 100644 index 0000000..1ee516b Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/__pycache__/exceptions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/__pycache__/fernet.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/__pycache__/fernet.cpython-38.pyc new file mode 100644 index 0000000..1359b8e Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/__pycache__/fernet.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/__pycache__/utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/__pycache__/utils.cpython-38.pyc new file mode 100644 index 0000000..f4f5691 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/__pycache__/utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/exceptions.py b/venv/lib/python3.8/site-packages/cryptography/exceptions.py new file mode 120000 index 0000000..5dfd0c1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/exceptions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b0/df/d5/55317f2ee28c33a47e948012145bb3026cf5b99d906dc764a3d5b24bae \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/fernet.py b/venv/lib/python3.8/site-packages/cryptography/fernet.py new file mode 120000 index 0000000..698720a --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/fernet.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a5/11/ff/1ca9751120540530d871f1d393fe70df558f681e4c5b446e0e1afac5ad \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/__init__.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/__init__.py new file mode 120000 index 0000000..bd59ecb --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/39/89/6f/829af350bcd996c7f7c984ec77a554572426a6c6c78e025d367b324701 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..934d432 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/__pycache__/_oid.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/__pycache__/_oid.cpython-38.pyc new file mode 100644 index 0000000..ccbe5ab Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/__pycache__/_oid.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/_oid.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/_oid.py new file mode 120000 index 0000000..905ba5f --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/_oid.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/88/ce/f5/cba0635deed81251c6314f7680dbee91772b2227a3761cee424b219ae9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/__init__.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/__init__.py new file mode 120000 index 0000000..8934a3d --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6e/0a/e3/075497daf5d7fab99f1bb0383ea1a4abe8aca9055719a66d8d61c0823d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..a05763a Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__init__.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__init__.py new file mode 120000 index 0000000..85b3440 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ee/ba/73/d59dde57dbd9cbf77688baf00bc3b3d2f12bb8316b8c995ce96d990d70 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..7f7b281 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/aead.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/aead.cpython-38.pyc new file mode 100644 index 0000000..184b2bb Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/aead.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/backend.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/backend.cpython-38.pyc new file mode 100644 index 0000000..78c8902 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/backend.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/ciphers.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/ciphers.cpython-38.pyc new file mode 100644 index 0000000..648ee91 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/ciphers.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/cmac.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/cmac.cpython-38.pyc new file mode 100644 index 0000000..15330ce Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/cmac.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/decode_asn1.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/decode_asn1.cpython-38.pyc new file mode 100644 index 0000000..098ab40 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/decode_asn1.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/dh.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/dh.cpython-38.pyc new file mode 100644 index 0000000..ca23a26 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/dh.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/dsa.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/dsa.cpython-38.pyc new file mode 100644 index 0000000..2b320b4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/dsa.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/ec.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/ec.cpython-38.pyc new file mode 100644 index 0000000..aa6b31d Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/ec.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/ed25519.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/ed25519.cpython-38.pyc new file mode 100644 index 0000000..b489847 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/ed25519.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/ed448.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/ed448.cpython-38.pyc new file mode 100644 index 0000000..2bdacd4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/ed448.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/hashes.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/hashes.cpython-38.pyc new file mode 100644 index 0000000..f29974b Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/hashes.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/hmac.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/hmac.cpython-38.pyc new file mode 100644 index 0000000..316af7f Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/hmac.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/poly1305.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/poly1305.cpython-38.pyc new file mode 100644 index 0000000..2a4fc46 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/poly1305.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/rsa.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/rsa.cpython-38.pyc new file mode 100644 index 0000000..5b6452f Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/rsa.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/utils.cpython-38.pyc new file mode 100644 index 0000000..02f7b31 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/x25519.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/x25519.cpython-38.pyc new file mode 100644 index 0000000..b35033f Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/x25519.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/x448.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/x448.cpython-38.pyc new file mode 100644 index 0000000..f5f66a8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/x448.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/x509.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/x509.cpython-38.pyc new file mode 100644 index 0000000..afd6c1d Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/x509.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/aead.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/aead.py new file mode 120000 index 0000000..f5ca18d --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/aead.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d4/60/12/cab24f3bc6be9833d34fb5496573dbff4cc476b916f96bbfaf157ee914 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/backend.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/backend.py new file mode 120000 index 0000000..7272b2f --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/backend.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a5/f8/c1/8d81f598cd15ed074792ca32788e204a1153292f4c91c362011e4a9d8f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/ciphers.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/ciphers.py new file mode 120000 index 0000000..d153f82 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/ciphers.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9f/7a/eb/3d0662d5b94904aa8859e306ebe53a613bc46fcad71902a7f22fa41688 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/cmac.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/cmac.py new file mode 120000 index 0000000..6181f08 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/cmac.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2b/9f/92/d07ef6287647f963c07072f98c2b5c372a0165231eed59b11a7f3f5560 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/decode_asn1.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/decode_asn1.py new file mode 120000 index 0000000..d925227 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/decode_asn1.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9d/2a/ad/80ee4c2557ff51492fc3db5ecf5d338469ec187ab6e0e3f55f618a39ee \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/dh.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/dh.py new file mode 120000 index 0000000..f4d3629 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/dh.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f5/fc/0f/a2b753a042d391e27e73b4ee3bd362135bdf5017a39364045196efa38b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/dsa.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/dsa.py new file mode 120000 index 0000000..55369bb --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/dsa.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6b/07/cf/f34ca401f6f80bf23e68ea3e3e7194d4317ab9ff1b9c48be8e5775f1e7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/ec.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/ec.py new file mode 120000 index 0000000..2f9a0ea --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/ec.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/92/0c/70/5b9d3c1535c3c061beee94b2c012e520264a29fa386dc4c79cda6cbc96 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/ed25519.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/ed25519.py new file mode 120000 index 0000000..89110d4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/ed25519.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8a/b1/d3/fa349ba5334c307ab0e53f3ce6ecc08b74b27f791a687b939ca8103d28 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/ed448.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/ed448.py new file mode 120000 index 0000000..71de573 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/ed448.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2b/c1/c3/1225e5f7c40627ee25953e125597f9fb17bc682b9c8b4d039197f4961c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/hashes.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/hashes.py new file mode 120000 index 0000000..cd0de9b --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/hashes.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/dc/be/5b/9023a8d8b6d14953462dc6bff6ba42676cdbf08481acc2edb6cd41904c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/hmac.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/hmac.py new file mode 120000 index 0000000..5b9658e --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/hmac.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f5/15/fc/6e8f72c0989ebe8a1dc639aa097983da2516c87da3066c3bf076fea4e6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/poly1305.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/poly1305.py new file mode 120000 index 0000000..4a9ea14 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/poly1305.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fe/ac/86/09735a415085a5ad6a8dbffd52db08ea59a7922ff5e496dce6f8a16de1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/rsa.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/rsa.py new file mode 120000 index 0000000..b1711a6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/rsa.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/47/6a/a9/bc96e41e6c7d00724744abd4edcad8c7b0416e9020120f1b09f411a8b4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/utils.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/utils.py new file mode 120000 index 0000000..7e4922e --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ec/0a/da/f352a46344022cfa96ea4506f5d12ca79d9c67790e509733c04a5e709d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/x25519.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/x25519.py new file mode 120000 index 0000000..d0698ab --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/x25519.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a0/0f/da/a38a36ee48bf380c7451735e23622d67ce1783f962ec8b750f1165ad9d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/x448.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/x448.py new file mode 120000 index 0000000..28b7158 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/x448.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6b/fc/e0/a86529185bf2284a0a451d6f80d743fe0935831198a41a756bac7d1ee1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/x509.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/x509.py new file mode 120000 index 0000000..eddaef2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/x509.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/59/4a/11/0ba50333d16439d9fac51e4c93ebff582abb789af27a718df678bc2fe0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/__init__.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/__init__.py new file mode 120000 index 0000000..a9e9e5c --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b3/da/0a/090db2705757a0445d4b58a669fb9e4a406c2fd92f6f27e085a6ae67d6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..fbb4687 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/_openssl.abi3.so b/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/_openssl.abi3.so new file mode 120000 index 0000000..275e1ca --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/_openssl.abi3.so @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/88/48/2c/c66b67d46fa147e6f166ce270279bdcdd2749bb9383ee3444795a15614 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/_openssl.pyi b/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/_openssl.pyi new file mode 120000 index 0000000..f2a7dac --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/_openssl.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9a/93/49/2ee60b6c256b7798b7dc5053996c0bff9e43c3b24f9122e5497f50ee82 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/_rust.abi3.so b/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/_rust.abi3.so new file mode 120000 index 0000000..c9bb9c2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/_rust.abi3.so @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1c/2f/7c/34df0f3c6d40712e63f8125fd2adb669b7199fe1701871beaadf3ba620 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/_rust/__init__.pyi b/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/_rust/__init__.pyi new file mode 120000 index 0000000..1daee47 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/_rust/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1b/3b/4d/24f68959e8f5f1fc5b99252f1b2fb7fe0e237bcb27ebefa39cf71a33d7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/_rust/asn1.pyi b/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/_rust/asn1.pyi new file mode 120000 index 0000000..da7af85 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/_rust/asn1.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f4/2c/88/fa0aceb0b401fe17e78493e81bd74d39d27b660e81d22529cc2a30878e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/_rust/ocsp.pyi b/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/_rust/ocsp.pyi new file mode 120000 index 0000000..99b1464 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/_rust/ocsp.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fa/b6/c3/1b631c10ec8a75b2cb0826492d9a6debe570ef2e9186db66a97977d03b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/_rust/x509.pyi b/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/_rust/x509.pyi new file mode 120000 index 0000000..8d04745 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/_rust/x509.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8f/1d/97/7df62c1cd07f09cf9ebcb9e53377e5b8cb93dff2f66c2ffe651fa6c1e9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/openssl/__init__.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/openssl/__init__.py new file mode 120000 index 0000000..a9e9e5c --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/openssl/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b3/da/0a/090db2705757a0445d4b58a669fb9e4a406c2fd92f6f27e085a6ae67d6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/openssl/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/openssl/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..3c4c284 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/openssl/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/openssl/__pycache__/_conditional.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/openssl/__pycache__/_conditional.cpython-38.pyc new file mode 100644 index 0000000..0b857f6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/openssl/__pycache__/_conditional.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/openssl/__pycache__/binding.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/openssl/__pycache__/binding.cpython-38.pyc new file mode 100644 index 0000000..e580124 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/openssl/__pycache__/binding.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/openssl/_conditional.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/openssl/_conditional.py new file mode 120000 index 0000000..0870872 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/openssl/_conditional.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ba/c8/b2/f501c291bb3e82bc39be9cd436f24bac6a6d0a97af9efa9c37fea47ec5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/openssl/binding.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/openssl/binding.py new file mode 120000 index 0000000..d785326 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/openssl/binding.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b9/b7/81/de98a209c007068ba91ab7fa430b59db3859bfbbd8e6a9fbc962f0e12f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/__init__.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/__init__.py new file mode 120000 index 0000000..a9e9e5c --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b3/da/0a/090db2705757a0445d4b58a669fb9e4a406c2fd92f6f27e085a6ae67d6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..4949f13 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/__pycache__/_asymmetric.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/__pycache__/_asymmetric.cpython-38.pyc new file mode 100644 index 0000000..a3e351a Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/__pycache__/_asymmetric.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/__pycache__/_cipheralgorithm.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/__pycache__/_cipheralgorithm.cpython-38.pyc new file mode 100644 index 0000000..06af976 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/__pycache__/_cipheralgorithm.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/__pycache__/_serialization.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/__pycache__/_serialization.cpython-38.pyc new file mode 100644 index 0000000..7a25f76 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/__pycache__/_serialization.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/__pycache__/cmac.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/__pycache__/cmac.cpython-38.pyc new file mode 100644 index 0000000..c88c542 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/__pycache__/cmac.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/__pycache__/constant_time.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/__pycache__/constant_time.cpython-38.pyc new file mode 100644 index 0000000..97006cd Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/__pycache__/constant_time.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/__pycache__/hashes.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/__pycache__/hashes.cpython-38.pyc new file mode 100644 index 0000000..baef90b Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/__pycache__/hashes.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/__pycache__/hmac.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/__pycache__/hmac.cpython-38.pyc new file mode 100644 index 0000000..01b24ce Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/__pycache__/hmac.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/__pycache__/keywrap.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/__pycache__/keywrap.cpython-38.pyc new file mode 100644 index 0000000..5098a71 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/__pycache__/keywrap.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/__pycache__/padding.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/__pycache__/padding.cpython-38.pyc new file mode 100644 index 0000000..c33032f Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/__pycache__/padding.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/__pycache__/poly1305.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/__pycache__/poly1305.cpython-38.pyc new file mode 100644 index 0000000..2d8e5ee Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/__pycache__/poly1305.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/_asymmetric.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/_asymmetric.py new file mode 120000 index 0000000..c363122 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/_asymmetric.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9d/52/70/9b191a922ac05df169e35d290b8918fc28a7ccde45489c21127d88137e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/_cipheralgorithm.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/_cipheralgorithm.py new file mode 120000 index 0000000..2961a6b --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/_cipheralgorithm.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cd/de/cd/f2b05859a7fcb4f33b183b59f6f5206ab2bf3f4fcf50d0858b7034bb47 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/_serialization.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/_serialization.py new file mode 120000 index 0000000..3b5c66d --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/_serialization.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1e/cb/01/b089b7acd54f72dd676530022736f299973659a64059d920d65e6c943d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__init__.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__init__.py new file mode 120000 index 0000000..a9e9e5c --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b3/da/0a/090db2705757a0445d4b58a669fb9e4a406c2fd92f6f27e085a6ae67d6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..aa7dfbb Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__/dh.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__/dh.cpython-38.pyc new file mode 100644 index 0000000..16e5840 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__/dh.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__/dsa.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__/dsa.cpython-38.pyc new file mode 100644 index 0000000..7d3fb3a Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__/dsa.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__/ec.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__/ec.cpython-38.pyc new file mode 100644 index 0000000..f8ee106 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__/ec.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__/ed25519.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__/ed25519.cpython-38.pyc new file mode 100644 index 0000000..29a779a Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__/ed25519.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__/ed448.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__/ed448.cpython-38.pyc new file mode 100644 index 0000000..574cd6d Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__/ed448.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__/padding.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__/padding.cpython-38.pyc new file mode 100644 index 0000000..3bba3c7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__/padding.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__/rsa.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__/rsa.cpython-38.pyc new file mode 100644 index 0000000..fda4a5b Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__/rsa.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__/types.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__/types.cpython-38.pyc new file mode 100644 index 0000000..8abb8f9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__/types.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__/utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__/utils.cpython-38.pyc new file mode 100644 index 0000000..e1b7010 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__/utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__/x25519.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__/x25519.cpython-38.pyc new file mode 100644 index 0000000..3d1126d Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__/x25519.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__/x448.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__/x448.cpython-38.pyc new file mode 100644 index 0000000..c78806e Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__/x448.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/dh.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/dh.py new file mode 120000 index 0000000..8e19895 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/dh.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a6/38/e0/285727d9b08068bff9cebd328305ccf291c917200eea4a09164ce141bf \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/dsa.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/dsa.py new file mode 120000 index 0000000..b20a79b --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/dsa.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/74/8a/3a/9588875915940b1c1e8c08b4d70d7ede38e6cc4b89a2fa9a56a0cedff8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/ec.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/ec.py new file mode 120000 index 0000000..5214931 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/ec.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c1/7f/30/1fd6c3ee0efe63198835a9bfb3d70f73d4543ebba2d907482a0e90dcd7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py new file mode 120000 index 0000000..fee8d3f --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d6/a3/a5/d54595ffe7172878709454b23c1761a71d8730346e92423a788e62f2f3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/ed448.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/ed448.py new file mode 120000 index 0000000..6dec948 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/ed448.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a1/1f/a3/e2319c5949c6c568b51b2807c5565b82448e287b11eb2d44dcb7fac183 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/padding.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/padding.py new file mode 120000 index 0000000..efd3f39 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/padding.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/12/42/ae/63d7ba505a92b90d0bbf22982a5fcbd7db4e7cd09394758488a8077947 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/rsa.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/rsa.py new file mode 120000 index 0000000..ff6968f --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/rsa.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1a/20/88/b81b8976979ec3ec89ee69d31782851ff15425abadd6bf9de9346cdf5b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/types.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/types.py new file mode 120000 index 0000000..8f00ebd --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/types.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/56/27/71/8d458f38c07cabcbc689a5cc858ef5e59c3c53d55de3fae4aa339a8111 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/utils.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/utils.py new file mode 120000 index 0000000..5ab6684 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e6/10/f8/2a37cc6e6a33785ab4f0f2d5ba71ebe0581e57357536429a94408cdbab \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/x25519.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/x25519.py new file mode 120000 index 0000000..5d728a8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/x25519.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fa/76/da/1a5813d6cb9f3bd21cfaeaf0283aa5f036b453718bea164920ca878157 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/x448.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/x448.py new file mode 120000 index 0000000..336c844 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/x448.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/57/79/71/6f554e8914daddbcd5502dee65ab76a207c4c5439d92d08819450c6766 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/ciphers/__init__.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/ciphers/__init__.py new file mode 120000 index 0000000..c868938 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/ciphers/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/42/9e/fc/6373c34917f0a7b0c36b7a5ece52eb103fd016189cfcbbc3c382ccf594 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/ciphers/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/ciphers/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..432c3c0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/ciphers/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/ciphers/__pycache__/aead.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/ciphers/__pycache__/aead.cpython-38.pyc new file mode 100644 index 0000000..c618078 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/ciphers/__pycache__/aead.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/ciphers/__pycache__/algorithms.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/ciphers/__pycache__/algorithms.cpython-38.pyc new file mode 100644 index 0000000..4875684 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/ciphers/__pycache__/algorithms.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/ciphers/__pycache__/base.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/ciphers/__pycache__/base.cpython-38.pyc new file mode 100644 index 0000000..43e2351 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/ciphers/__pycache__/base.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/ciphers/__pycache__/modes.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/ciphers/__pycache__/modes.cpython-38.pyc new file mode 100644 index 0000000..f50aecb Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/ciphers/__pycache__/modes.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/ciphers/aead.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/ciphers/aead.py new file mode 120000 index 0000000..8edd082 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/ciphers/aead.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/42/72/43/d9da19f17769088ac3c2a2413606b0d9e1bd4f1e055a2ac83f5e7d3008 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/ciphers/algorithms.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/ciphers/algorithms.py new file mode 120000 index 0000000..f565e3e --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/ciphers/algorithms.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/27/5a/9e/24af7b7e949a5f513410db16bc91bfa8a1a8399be6e7b6da046390a1f4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/ciphers/base.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/ciphers/base.py new file mode 120000 index 0000000..1c40b64 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/ciphers/base.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/02/20/98/0b35db499f7041b5d631873ad082a6ceacf9eb5f5875a685d3356be2b6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/ciphers/modes.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/ciphers/modes.py new file mode 120000 index 0000000..21a5f12 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/ciphers/modes.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8d/14/28/70b17e236067651295eba64bf6c4881c685437c61dbc0dc25ca5e8c6a8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/cmac.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/cmac.py new file mode 120000 index 0000000..bb9764b --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/cmac.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/38/39/1c/ec4a27635711c722744983aec2d89842fe81d193f12509b7ad7c5f5dde \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/constant_time.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/constant_time.py new file mode 120000 index 0000000..d448583 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/constant_time.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e9/b9/16/d3442384abac760b106dec5784c9465f45d1379f57366c564b65b7f0d0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/hashes.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/hashes.py new file mode 120000 index 0000000..ae4121b --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/hashes.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/72/96/98/8e091ace5abb5f0d0c568477729d7b983d1383212f85941bca80161f35 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/hmac.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/hmac.py new file mode 120000 index 0000000..8b21084 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/hmac.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/33/fb/1a/e2c98f2243bcadad7b5e5fdc33475a461182a3352effc8271de3c421bd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/__init__.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/__init__.py new file mode 120000 index 0000000..29c8f71 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0d/c6/61/cdf2c6f1df086011fbef59464d55394bcece403a6ede7adf3b0667b260 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..176ada2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/__pycache__/concatkdf.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/__pycache__/concatkdf.cpython-38.pyc new file mode 100644 index 0000000..05c0e2e Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/__pycache__/concatkdf.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/__pycache__/hkdf.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/__pycache__/hkdf.cpython-38.pyc new file mode 100644 index 0000000..3588f40 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/__pycache__/hkdf.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/__pycache__/kbkdf.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/__pycache__/kbkdf.cpython-38.pyc new file mode 100644 index 0000000..a581524 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/__pycache__/kbkdf.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/__pycache__/pbkdf2.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/__pycache__/pbkdf2.cpython-38.pyc new file mode 100644 index 0000000..68768d2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/__pycache__/pbkdf2.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/__pycache__/scrypt.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/__pycache__/scrypt.cpython-38.pyc new file mode 100644 index 0000000..dfd50b4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/__pycache__/scrypt.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/__pycache__/x963kdf.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/__pycache__/x963kdf.cpython-38.pyc new file mode 100644 index 0000000..7561f4a Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/__pycache__/x963kdf.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/concatkdf.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/concatkdf.py new file mode 120000 index 0000000..283545f --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/concatkdf.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e5/85/f0/f1c2d9081613eab543192e5445011e1623d6f9944145c3dd6502314cc0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/hkdf.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/hkdf.py new file mode 120000 index 0000000..2f49e5a --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/hkdf.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2e/50/d0/6c2be5373b8b6bf5095eb906e5f5c68c08e8af95ae9efdb7efc4c19a6b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/kbkdf.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/kbkdf.py new file mode 120000 index 0000000..b431ddc --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/kbkdf.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/62/cd/88/4d26c4c38f55d6ffc36a0401775ee8c10af60368b23ee7b89a8b7867f8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/pbkdf2.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/pbkdf2.py new file mode 120000 index 0000000..cceeeed --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/pbkdf2.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c0/43/07/e0225f3dc70283d6a940b5f2594581ad92d3a582cb9e86449f3bda1d0a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/scrypt.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/scrypt.py new file mode 120000 index 0000000..4f8e0d8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/scrypt.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/26/f5/ff/703d28d0ea7911c14d79986bfaf239b18bff2dd9c9ea43446d6deee68c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/x963kdf.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/x963kdf.py new file mode 120000 index 0000000..25fc348 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/x963kdf.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/26/c7/6b/261c36209558925f0921650deba87b0eb29933646843fb70fe2280bdd2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/keywrap.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/keywrap.py new file mode 120000 index 0000000..48357f8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/keywrap.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4d/6a/b2/1bd2bb93e626ab891c230eeedcd20a50f543b6fe9b8a6c312096137b6d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/padding.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/padding.py new file mode 120000 index 0000000..83e374a --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/padding.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c6/bb/9a/b0e13909df0a110fb2a7d5babfd58a3ef287f86b9d1c23ca43b03c1df2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/poly1305.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/poly1305.py new file mode 120000 index 0000000..2807cb9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/poly1305.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/42/fc/4f/32baa380a26dd2639949e64a93835cc6c3427769207c8f97d429b2516e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/serialization/__init__.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/serialization/__init__.py new file mode 120000 index 0000000..d68fee7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/serialization/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7f/97/4e/2e60c4bd944e946ec7cac3d763d0e1bccf555d5440da4c04ac9a1bcd6c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/serialization/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/serialization/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..b76c02e Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/serialization/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/serialization/__pycache__/base.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/serialization/__pycache__/base.cpython-38.pyc new file mode 100644 index 0000000..004cb60 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/serialization/__pycache__/base.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/serialization/__pycache__/pkcs12.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/serialization/__pycache__/pkcs12.cpython-38.pyc new file mode 100644 index 0000000..ca80c29 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/serialization/__pycache__/pkcs12.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/serialization/__pycache__/pkcs7.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/serialization/__pycache__/pkcs7.cpython-38.pyc new file mode 100644 index 0000000..1492916 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/serialization/__pycache__/pkcs7.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/serialization/__pycache__/ssh.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/serialization/__pycache__/ssh.cpython-38.pyc new file mode 100644 index 0000000..9c8095c Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/serialization/__pycache__/ssh.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/serialization/base.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/serialization/base.py new file mode 120000 index 0000000..cc32d64 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/serialization/base.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cb/0f/3f/cb322faee4fa7e64be2ab4e62176c0174d2b22d1f8f165d33ce48b749e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/serialization/pkcs12.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/serialization/pkcs12.py new file mode 120000 index 0000000..339d85a --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/serialization/pkcs12.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0f/49/29/14e41d5dd4468abd6a83f982721529af59a5c21a6118697c383ec34786 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/serialization/pkcs7.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/serialization/pkcs7.py new file mode 120000 index 0000000..30635c3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/serialization/pkcs7.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2e/72/12/3fed521035c2a6ca046d1d047ee2255a6f1e240816ba9b7482f1f2c885 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/serialization/ssh.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/serialization/ssh.py new file mode 120000 index 0000000..e362c1a --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/serialization/ssh.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/61/69/61/295f2e4e297f2ce2c3f479b95f9119075b25be25b57a0d402f82627750 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/twofactor/__init__.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/twofactor/__init__.py new file mode 120000 index 0000000..6e6b4a6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/twofactor/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/64/7a/38/cf05a27453f6456165f25ba236e62454c64f821cf1e788b33cd482b43e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/twofactor/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/twofactor/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..7183185 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/twofactor/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/twofactor/__pycache__/hotp.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/twofactor/__pycache__/hotp.cpython-38.pyc new file mode 100644 index 0000000..90bcdcc Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/twofactor/__pycache__/hotp.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/twofactor/__pycache__/totp.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/twofactor/__pycache__/totp.cpython-38.pyc new file mode 100644 index 0000000..ad992dc Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/twofactor/__pycache__/totp.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/twofactor/hotp.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/twofactor/hotp.py new file mode 120000 index 0000000..c5b1447 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/twofactor/hotp.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bf/8c/24/4db75cd44e773cec7aa5d36711406f00d6e6b787fab1c412b1380005e5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/twofactor/totp.py b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/twofactor/totp.py new file mode 120000 index 0000000..020b0dc --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/twofactor/totp.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6c/82/31/388f8b70b18d6a107990dec0fd3c04c98313b0b8c777c7897386f670b8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/py.typed b/venv/lib/python3.8/site-packages/cryptography/py.typed new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/py.typed @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/utils.py b/venv/lib/python3.8/site-packages/cryptography/utils.py new file mode 120000 index 0000000..4981705 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/79/94/bc/fb179501a1a8c89608db77cdf2ea34c0faa8d1a865f2bc686cb3b0ed99 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/x509/__init__.py b/venv/lib/python3.8/site-packages/cryptography/x509/__init__.py new file mode 120000 index 0000000..4a7cd54 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/x509/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c8/2d/13/6eebcf9962f5538ac463ed26e3a49acaec427cf54d1568c925d8b9958d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/x509/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/x509/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..4604419 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/x509/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/x509/__pycache__/base.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/x509/__pycache__/base.cpython-38.pyc new file mode 100644 index 0000000..b0093a7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/x509/__pycache__/base.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/x509/__pycache__/certificate_transparency.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/x509/__pycache__/certificate_transparency.cpython-38.pyc new file mode 100644 index 0000000..d4638a0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/x509/__pycache__/certificate_transparency.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/x509/__pycache__/extensions.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/x509/__pycache__/extensions.cpython-38.pyc new file mode 100644 index 0000000..9ebc68b Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/x509/__pycache__/extensions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/x509/__pycache__/general_name.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/x509/__pycache__/general_name.cpython-38.pyc new file mode 100644 index 0000000..b5bacb5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/x509/__pycache__/general_name.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/x509/__pycache__/name.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/x509/__pycache__/name.cpython-38.pyc new file mode 100644 index 0000000..d4de7f1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/x509/__pycache__/name.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/x509/__pycache__/ocsp.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/x509/__pycache__/ocsp.cpython-38.pyc new file mode 100644 index 0000000..d669174 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/x509/__pycache__/ocsp.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/x509/__pycache__/oid.cpython-38.pyc b/venv/lib/python3.8/site-packages/cryptography/x509/__pycache__/oid.cpython-38.pyc new file mode 100644 index 0000000..12b61a0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/cryptography/x509/__pycache__/oid.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/cryptography/x509/base.py b/venv/lib/python3.8/site-packages/cryptography/x509/base.py new file mode 120000 index 0000000..4518d58 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/x509/base.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fc/b5/ed/5b733e3de1463f0858dc1612ded5354edf41a1fd08cd69ad811fd47f51 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/x509/certificate_transparency.py b/venv/lib/python3.8/site-packages/cryptography/x509/certificate_transparency.py new file mode 120000 index 0000000..6e4626b --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/x509/certificate_transparency.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/92/cf/f2/40f2bc702492145ea1b52b3f15cba3c32b3bb5cf4e00f5a7d93b0f2ea6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/x509/extensions.py b/venv/lib/python3.8/site-packages/cryptography/x509/extensions.py new file mode 120000 index 0000000..58a5069 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/x509/extensions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/eb/e3/b6/5dd567dceb589d7faa313dbae517335080f0d4377bf6be4c54a11f2371 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/x509/general_name.py b/venv/lib/python3.8/site-packages/cryptography/x509/general_name.py new file mode 120000 index 0000000..9527d7e --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/x509/general_name.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4b/f9/09/77866c346acc7e2da8b1f149116a8fc72de83c2016a4b6fdd72871ccfb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/x509/name.py b/venv/lib/python3.8/site-packages/cryptography/x509/name.py new file mode 120000 index 0000000..5e66697 --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/x509/name.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4a/58/29/3f283fcc413ecac2b7e9228920e80a607d402b0359ef04fc982d587ca7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/x509/ocsp.py b/venv/lib/python3.8/site-packages/cryptography/x509/ocsp.py new file mode 120000 index 0000000..558959b --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/x509/ocsp.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/39/02/ac/a96fd8e26598e77513fc91bbf51251d7dc6de7743e890492c389b49193 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/cryptography/x509/oid.py b/venv/lib/python3.8/site-packages/cryptography/x509/oid.py new file mode 120000 index 0000000..461a71c --- /dev/null +++ b/venv/lib/python3.8/site-packages/cryptography/x509/oid.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/08/b2/25/430cc4dcf41732f90a7a9e096f35546910e5fecb70717fd4ebeb3670dc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy-1.6.3.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/debugpy-1.6.3.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy-1.6.3.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/debugpy-1.6.3.dist-info/LICENSE b/venv/lib/python3.8/site-packages/debugpy-1.6.3.dist-info/LICENSE new file mode 120000 index 0000000..2099120 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy-1.6.3.dist-info/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/83/c3/ed/394e600067c17b7d1c09bd3ea20f0703b8c0716e6a9f414b99fcbdf810 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy-1.6.3.dist-info/METADATA b/venv/lib/python3.8/site-packages/debugpy-1.6.3.dist-info/METADATA new file mode 100644 index 0000000..af8a42e --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy-1.6.3.dist-info/METADATA @@ -0,0 +1,27 @@ +Metadata-Version: 2.1 +Name: debugpy +Version: 1.6.3 +Summary: An implementation of the Debug Adapter Protocol for Python +Home-page: https://aka.ms/debugpy +Author: Microsoft Corporation +Author-email: ptvshelp@microsoft.com +License: MIT +Project-URL: Source, https://github.com/microsoft/debugpy +Classifier: Development Status :: 5 - Production/Stable +Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: 3.8 +Classifier: Programming Language :: Python :: 3.9 +Classifier: Programming Language :: Python :: 3.10 +Classifier: Topic :: Software Development :: Debuggers +Classifier: Operating System :: Microsoft :: Windows +Classifier: Operating System :: MacOS +Classifier: Operating System :: POSIX +Classifier: License :: OSI Approved :: Eclipse Public License 2.0 (EPL-2.0) +Classifier: License :: OSI Approved :: MIT License +Requires-Python: >=3.7 +Description-Content-Type: text/markdown +License-File: LICENSE + +debugpy is an implementation of the Debug Adapter Protocol for Python. + +The source code and the issue tracker is [hosted on GitHub](https://github.com/microsoft/debugpy/). diff --git a/venv/lib/python3.8/site-packages/debugpy-1.6.3.dist-info/RECORD b/venv/lib/python3.8/site-packages/debugpy-1.6.3.dist-info/RECORD new file mode 100644 index 0000000..c105274 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy-1.6.3.dist-info/RECORD @@ -0,0 +1,528 @@ +debugpy-1.6.3.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +debugpy-1.6.3.dist-info/LICENSE,sha256=g8PtOU5gAGfBe30cCb0-og8HA7jAcW5qn0FLmfy9-BA,1176 +debugpy-1.6.3.dist-info/METADATA,sha256=8mzOzvqjSM1ibrwJ-9luaffAX4aCBYkN7ox0qmdn3fk,1117 +debugpy-1.6.3.dist-info/RECORD,, +debugpy-1.6.3.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +debugpy-1.6.3.dist-info/WHEEL,sha256=6jd4iL1PdoODmcsbX84z5njbeYqvNy0oPQMQT3l84Qo,217 +debugpy-1.6.3.dist-info/direct_url.json,sha256=3AAp5hgBZxXC5Y_UhUrVWqOyyZhG6RDdx2E3CnMJ6Q4,328 +debugpy-1.6.3.dist-info/top_level.txt,sha256=6Om6JTEaqkWnj-9-7kJOJr988sTO6iSuiK4N9X6RLpg,8 +debugpy/ThirdPartyNotices.txt,sha256=WzmT853BlHOtkEiV_xtk96iazYeVDKWB2tqKMtcm_jo,34345 +debugpy/__init__.py,sha256=B621TRbcw1Pr4LrqSZB8Qr0CW9QfpbpcEz2eaN16jns,1018 +debugpy/__main__.py,sha256=feuxCZgFCWXu9rVRgySgWvbrS_HECrm_BvaSG8VPdDc,1829 +debugpy/__pycache__/__init__.cpython-38.pyc,, +debugpy/__pycache__/__main__.cpython-38.pyc,, +debugpy/__pycache__/_version.cpython-38.pyc,, +debugpy/__pycache__/public_api.cpython-38.pyc,, +debugpy/_vendored/__init__.py,sha256=cQGcZObOjPcKFDQk06oWNgqBHh2rXDCv0JTNISv3_rg,3878 +debugpy/_vendored/__pycache__/__init__.cpython-38.pyc,, +debugpy/_vendored/__pycache__/_pydevd_packaging.cpython-38.pyc,, +debugpy/_vendored/__pycache__/_util.cpython-38.pyc,, +debugpy/_vendored/__pycache__/force_pydevd.cpython-38.pyc,, +debugpy/_vendored/_pydevd_packaging.py,sha256=cYo9maxM8jNPj-vdvCtweaYAPX210Pg8-NHS8ZU02Mg,1245 +debugpy/_vendored/_util.py,sha256=E5k-21l2RXQHxl0C5YF5ZmZr-Fzgd9eNl1c6UYYzjfg,1840 +debugpy/_vendored/force_pydevd.py,sha256=rnbdg90Pij22LXkG59FF9FCFcMYdRo4E7qyT5pzYkE0,2216 +debugpy/_vendored/pydevd/__pycache__/pydev_app_engine_debug_startup.cpython-38.pyc,, +debugpy/_vendored/pydevd/__pycache__/pydev_coverage.cpython-38.pyc,, +debugpy/_vendored/pydevd/__pycache__/pydev_pysrc.cpython-38.pyc,, +debugpy/_vendored/pydevd/__pycache__/pydev_run_in_console.cpython-38.pyc,, +debugpy/_vendored/pydevd/__pycache__/pydevconsole.cpython-38.pyc,, +debugpy/_vendored/pydevd/__pycache__/pydevd.cpython-38.pyc,, +debugpy/_vendored/pydevd/__pycache__/pydevd_file_utils.cpython-38.pyc,, +debugpy/_vendored/pydevd/__pycache__/pydevd_tracing.cpython-38.pyc,, +debugpy/_vendored/pydevd/__pycache__/setup_pydevd_cython.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydev_bundle/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/__init__.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/_pydev_calltip_util.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/_pydev_completer.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/_pydev_execfile.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/_pydev_filesystem_encoding.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/_pydev_getopt.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/_pydev_imports_tipper.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/_pydev_jy_imports_tipper.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/_pydev_log.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/_pydev_saved_modules.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/_pydev_sys_patch.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/_pydev_tipper_common.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_console_utils.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_import_hook.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_imports.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_ipython_console.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_ipython_console_011.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_is_thread_alive.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_localhost.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_log.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_monkey.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_monkey_qt.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_override.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_umd.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_versioncheck.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydev_bundle/_pydev_calltip_util.py,sha256=shNNj8qVCRge6yKmRDbCthzsG71MYtjc4KsaIr1glK0,4687 +debugpy/_vendored/pydevd/_pydev_bundle/_pydev_completer.py,sha256=Vk1jAIrXKT5-i49QqC0UL6wvCCSag8J-lu_NoIV-hAI,8544 +debugpy/_vendored/pydevd/_pydev_bundle/_pydev_execfile.py,sha256=Y1tsEGh18bIyF4gfIM84RDk8LUOpC4uYcB0uekv74O8,483 +debugpy/_vendored/pydevd/_pydev_bundle/_pydev_filesystem_encoding.py,sha256=VyYZXhesz-t_frcGmzm6b5K2ccv7yYRTXWcdbqxwpzM,1095 +debugpy/_vendored/pydevd/_pydev_bundle/_pydev_getopt.py,sha256=YYphxNwTDyaD73sWznWqc41Clw5vHF85-rIALwHqXB0,4458 +debugpy/_vendored/pydevd/_pydev_bundle/_pydev_imports_tipper.py,sha256=cuQ0YXVeBryJBAf3dU4CDcXVyIruYSAX0-vdMgneUpE,12350 +debugpy/_vendored/pydevd/_pydev_bundle/_pydev_jy_imports_tipper.py,sha256=2FIRkXu71bTvaAHQDTRsVVONFuyd5otTX1kM_RC7XJY,17063 +debugpy/_vendored/pydevd/_pydev_bundle/_pydev_log.py,sha256=RrRri4IPsTWYPNA-EvTWOSXKoflIFAHxcERQppngJVM,555 +debugpy/_vendored/pydevd/_pydev_bundle/_pydev_saved_modules.py,sha256=D93V9B1C3qA9PoL0dV5bosenu5ncVQR2b-RAoxpvWTc,4573 +debugpy/_vendored/pydevd/_pydev_bundle/_pydev_sys_patch.py,sha256=7w1l1AAwvglYAAqydScAvUzOulnv59RLVM7ODsio6Cw,2076 +debugpy/_vendored/pydevd/_pydev_bundle/_pydev_tipper_common.py,sha256=hEt5I9k_kxxaJWwinODOEzA_je5uJovcN4iUEYrwXg0,1227 +debugpy/_vendored/pydevd/_pydev_bundle/fsnotify/__init__.py,sha256=X_j7-4Z4v6o5aSI9UW92eUWITNeM-qkvXrQbEOUJn7A,12704 +debugpy/_vendored/pydevd/_pydev_bundle/fsnotify/__pycache__/__init__.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydev_bundle/pydev_console_utils.py,sha256=3jXJZ-tObnlWS5JnHhrI5eCBbtQnt-DcqYd1zsHgNZM,23769 +debugpy/_vendored/pydevd/_pydev_bundle/pydev_import_hook.py,sha256=85M_hwEqlMuazvG5Nk8WFn3SpjDIQ0aO5ahAA7lPBsk,1322 +debugpy/_vendored/pydevd/_pydev_bundle/pydev_imports.py,sha256=N6EMJg371s1SiA1wAFc_zBV9ZYbGBs0oFvTTvnW8q5Y,404 +debugpy/_vendored/pydevd/_pydev_bundle/pydev_ipython_console.py,sha256=P3tZYpjILr_jyITP39wXLwhQmmwfzVjcBEPOcG73BTc,3821 +debugpy/_vendored/pydevd/_pydev_bundle/pydev_ipython_console_011.py,sha256=P7WvuETdIVxIYZPdmd7c7vJ8DIZ0FCGVppGz9PIBcIE,21354 +debugpy/_vendored/pydevd/_pydev_bundle/pydev_is_thread_alive.py,sha256=bOvk_nVIxgZH6EuUb4pkWh5L9JVZAw_IlQJVH75tL9o,696 +debugpy/_vendored/pydevd/_pydev_bundle/pydev_localhost.py,sha256=7NTqaf3nAzfkbj1niqZ4xhgPzx9W9SDhgSkwqCazQIo,2070 +debugpy/_vendored/pydevd/_pydev_bundle/pydev_log.py,sha256=9tOvuX0B_KslHXy_Ae9X-InE6IW8p0JWdvimw-WNpuA,7359 +debugpy/_vendored/pydevd/_pydev_bundle/pydev_monkey.py,sha256=VnCoDN9nmCRxYoLllEataitG5gBJj997-wweL2AHriM,40358 +debugpy/_vendored/pydevd/_pydev_bundle/pydev_monkey_qt.py,sha256=7FLTYfeF9YCmzxxki7zcbGt3ieWUVwYG4SkCNGjsEvk,7306 +debugpy/_vendored/pydevd/_pydev_bundle/pydev_override.py,sha256=lL3tGSnQsziztbyePyrk9eu-xmgAWU2YQwxtv2t3to4,872 +debugpy/_vendored/pydevd/_pydev_bundle/pydev_umd.py,sha256=0kfbdk22O6_wAN9b2dGRNyhJVsv2P2VZs9dJHh6Fxl8,6279 +debugpy/_vendored/pydevd/_pydev_bundle/pydev_versioncheck.py,sha256=VpGp1SZeDMPimt--5dq7LDfB6mKyPGRcAsQUCwuFHuw,510 +debugpy/_vendored/pydevd/_pydev_runfiles/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +debugpy/_vendored/pydevd/_pydev_runfiles/__pycache__/__init__.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydev_runfiles/__pycache__/pydev_runfiles.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydev_runfiles/__pycache__/pydev_runfiles_coverage.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydev_runfiles/__pycache__/pydev_runfiles_nose.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydev_runfiles/__pycache__/pydev_runfiles_parallel.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydev_runfiles/__pycache__/pydev_runfiles_parallel_client.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydev_runfiles/__pycache__/pydev_runfiles_pytest2.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydev_runfiles/__pycache__/pydev_runfiles_unittest.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydev_runfiles/__pycache__/pydev_runfiles_xml_rpc.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles.py,sha256=oKip8qMSr9rwIFgxuRY9mKRxZbLSkpQM6hk0tUDfNlA,31550 +debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_coverage.py,sha256=sWjARGt1-4SZXYDNVML20bWd3IBG5stPgs7Q3Cm4ub8,3499 +debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_nose.py,sha256=wMCy67DodvPIwyADbrSkV3FGp1ZXyixJ4lWc0o_ugJU,7549 +debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_parallel.py,sha256=Qgn7uUlngUlvw21xCr9D_nj8oVNY_9MVPGzMYhsXKCs,9472 +debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_parallel_client.py,sha256=wwl8UBpGRSqTvw8VCdl2S7G0O-SyXtOmVFIPKz4oh9E,7722 +debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_pytest2.py,sha256=Fny0ZPakVcx5ed0tqrtrR9WNor542br0lavONh2XnTs,9845 +debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_unittest.py,sha256=U1jbD9cvqx2gpeKV-XuYc0AoETohg31Jv1oDTudlu4M,6685 +debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_xml_rpc.py,sha256=BznpLOP0enjZ4aZus2nQvQbcoj0ThH0JJu-qBbZeXKA,10594 +debugpy/_vendored/pydevd/_pydevd_bundle/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/__init__.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevconsole_code.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_additional_thread_info.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_additional_thread_info_regular.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_api.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_breakpoints.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_bytecode_utils.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_code_to_source.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_collect_bytecode_info.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_comm.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_comm_constants.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_command_line_handling.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_console.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_constants.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_custom_frames.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_cython_wrapper.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_daemon_thread.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_defaults.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_dont_trace.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_dont_trace_files.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_exec2.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_extension_api.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_extension_utils.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_filtering.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_frame.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_frame_utils.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_gevent_integration.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_import_class.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_io.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_json_debug_options.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_net_command.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_net_command_factory_json.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_net_command_factory_xml.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_plugin_utils.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_process_net_command.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_process_net_command_json.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_referrers.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_reload.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_resolver.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_runpy.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_safe_repr.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_save_locals.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_signature.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_source_mapping.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_stackless.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_suspended_frames.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_thread_lifecycle.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_timeout.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_trace_api.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_trace_dispatch.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_trace_dispatch_regular.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_traceproperty.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_utils.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_vars.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_vm_type.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_xml.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__main__pydevd_gen_debug_adapter_protocol.py,sha256=7rcDvKv4OweHbJJVUIrVNaq7nRzc2NnbRCWY_wqGeXg,23085 +debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__pycache__/__init__.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__pycache__/__main__pydevd_gen_debug_adapter_protocol.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__pycache__/pydevd_base_schema.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__pycache__/pydevd_schema.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__pycache__/pydevd_schema_log.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/debugProtocol.json,sha256=F6Myi84FtlbjechZbCpVsWRwB-Q_z5ixJn7vCJrYy3s,157930 +debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/debugProtocolCustom.json,sha256=NmKM_bN5s6ozUPXIFc_Q3w6unk6Zf1hb1pgyjvxv4QM,10616 +debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_base_schema.py,sha256=Ke2Ff_8SRKGSDamE0eZxx8vAYNx4Ka9oJqRmNX5DfQA,3998 +debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_schema.py,sha256=ViAsceebMsN4ZE8F3nwvcZN_0ABr8gkKdXEl_T5BFsM,763496 +debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_schema_log.py,sha256=aMICrBzLWCaynZy2TysEvz3_sdHXfrQlFBHJNKl7j7k,1255 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevconsole_code.py,sha256=m2z3GfCLJbbS0_V6_OSlOns21LruvVg1Zkdm2QYtS6Y,19014 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_additional_thread_info.py,sha256=FP57omz4K2irhuf5zlRStGoFLglsw9mcwSS-isJ1S8I,1166 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_additional_thread_info_regular.py,sha256=VnRPfq6xsWsKBmzjMvCoS98lgt7LPUTJ-hW1KKssAgo,6239 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_api.py,sha256=Gc8nxECOJFcv5LXOiwB_lzjAcaJThtfpKL4b2saEE2U,50385 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_breakpoints.py,sha256=UAgyAAIiwqLxe-NswVieGiCpuDl2dvb_VUxg4jkZQGw,6010 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_bytecode_utils.py,sha256=Ub1XpTtxqx14P84WriKaEI40Qa6PW4x70Gsc8UJA4ng,26277 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_code_to_source.py,sha256=B30xbup05xjZrYBjA0xP9w5H72lLW7qO6U0jgJlMd7Q,17622 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_collect_bytecode_info.py,sha256=uTy9k8X6fyhnkDToA1ULezuf6Fk71JBmqMAwX8kMyG0,37141 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_comm.py,sha256=ZnIv-4kbKEDPw8nQYLqwIpaeWjCA_xsPEDJXcPz-owA,74656 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_comm_constants.py,sha256=S2aiyPQnH-uUdP1hitV2P2dqM9G8t3Ix2CWd3xPF084,6084 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_command_line_handling.py,sha256=wtaFx9j28k-zghFcxaV2Jo0nYF7eqC5VpBYJ5bK0VQ4,5906 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/__pycache__/__init__.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/__pycache__/pydevd_concurrency_logger.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/__pycache__/pydevd_thread_wrappers.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/pydevd_concurrency_logger.py,sha256=nhYHTjhodOdBQ5ds2_kyyAF7kpqSvOjflPLacyx0SOw,16764 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/pydevd_thread_wrappers.py,sha256=Ky_yDpWcMfVTOAA0uwyEgAvPQZS7apJCrMM4OAo6BO4,2039 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_console.py,sha256=hIxX9k9ZNR7k9mi4Rtl-2ArzpTap3-hMrgUJgtFobmg,10179 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_constants.py,sha256=bmWgvvMCIb0jLY9Q_I6reIU4AFGZxH8H-qXLfpkQdTc,26450 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_custom_frames.py,sha256=g69QtSQ5MjMlxARXbY95U3Q5t9REt0WPRk4pbvELB5k,4399 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.c,sha256=7mGX5WNC-MEa5txmmi5KmxZmF_c7qGaRcGu-HeDbboI,2079167 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.cpython-38-x86_64-linux-gnu.so,sha256=TrdF7_lTLzk6PCDEO5SK7V9aMLT92JTKdlxUbR3IPfI,823216 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.pxd,sha256=OzA3y2aGOd7ego0_ParOpQ5mzxj0iy38cNEVy1yKDco,1242 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.pyx,sha256=KWGy90qFJueQByWOohvPbz9w-3AOD1k55F29vtbjCAE,91260 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython_wrapper.py,sha256=hVfzhgMunBeuVkGl9qVnE6uMFFSX4DdhxPl0K2-Tcd4,1600 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_daemon_thread.py,sha256=JYINrkA8Tz0K8VfMofsIy95ipQrBQrh03BKyFy3D1KA,7964 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_defaults.py,sha256=MPtBnGvKRn65IbEHftl0Y_KH0Yy_jXNjZuzEL8qEQmI,217 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_dont_trace.py,sha256=vOYpH4i6tWq-DX8oCtW2UNu1BrI7Px-UysiXjLPxjUs,3567 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_dont_trace_files.py,sha256=hHFDIIDFQ9EHi0lz5NSTJ4qGncT2XB2NhOg-rwWSeDU,5814 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_exec2.py,sha256=8q6dcEHDfJE6bdwNyrRFXa_vYOlTrHz3UVBtYzhnJJo,159 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_extension_api.py,sha256=uPT7-XMNe1snBXDzfuFH6fBGPe6xYuD5YEQI1uO-zvA,3288 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_extension_utils.py,sha256=DZYt56rfRm_4wjSXG7cUSFqgJBUKvYOnpHPxIWWpQR4,2369 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_filtering.py,sha256=BvCxrTJt8r5cD1yJzRRalTaQ4TcO6KVbakv-ccb1z0o,12701 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_frame.py,sha256=ukELUyYIb41yTsOnV7APIELijHOuTP7A7woFqSzXWps,63187 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_frame_utils.py,sha256=jrasuK7WUbIobkAsnQBcDUZip6hKgoI80MOpqNkYpLo,8923 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_gevent_integration.py,sha256=a69rG88Vw94l5INDMsr9cokCHlmKIAgp88igQlkFEtU,3896 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_import_class.py,sha256=XigIMYbVg6IsNY3shHca-R26vGG5wMTGygdyh38vaU8,1838 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_io.py,sha256=Kkk-SrYQK8-oNZRbuiDOebRlhx0r8VblBwQgy2ndASs,8117 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_json_debug_options.py,sha256=25PzL7lFcGiek3-XB7lbTHZZ4uma6D9WuR3t8lbVHR4,5945 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_net_command.py,sha256=wnKwGD2DcxSrTf_l5XsJPuUwgnnjzzdRoJPuHPyPFqg,4588 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_net_command_factory_json.py,sha256=mmguB2K3SOnHMXM85lDOBdhq7wejc-FnsVorVzvIRlw,21328 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_net_command_factory_xml.py,sha256=r_lxT5wgomSCUvGRsDEOlMwcC1jEwhgnirmTsFelfFg,22531 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_plugin_utils.py,sha256=5azIt1MGftKwB7Y5YTtvGPC9agQt7xM23zjvKqGjeig,2484 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_process_net_command.py,sha256=mMW0WX-hL_hsKD9L9XYr2LKrmWz2slRbMXba1iCYh8c,35106 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_process_net_command_json.py,sha256=tI_yJ4fRtxhhK3-uKtPzThQMOfq9a7Ecrmrt8KFd80k,55820 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_referrers.py,sha256=WVZbrenmO4WKVTMdBFEOfO7JjICIDURT-5EeCy-lu10,9756 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_reload.py,sha256=J4JylvGaK34_DhMNBpqD0YMWgUtWn9LkgShpxzQJ_iI,15773 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_resolver.py,sha256=CnO3Ps8XFNnFklnGQXDsihXnBdU_Lcq8qmsET3tAdsc,25500 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_runpy.py,sha256=EMN-0GQ242o41a9PG_SakVQfox7K-FK2jSV4yPbcdMs,13521 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_safe_repr.py,sha256=_Z3ZTjJQbfg1zDflyp8k8fQLdR3J5L3e4ctHEH55Y2g,14554 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_save_locals.py,sha256=o-e7Xy0UF0CmsUcp1NZ0w3oHhiPhuzNh-XB1Qx-yg6I,3020 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_signature.py,sha256=cwiP2JIzmHrnyzDOL4dZcKRPWMmcCqFZ-Knwl4x8Ieg,6883 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_source_mapping.py,sha256=K8hROuOdVJhXTZGFDi5RP40uHDWK4ZWbG0ix0gNX_oc,6428 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_stackless.py,sha256=P9H6T_jIeukGbhY6TJ-BhPRty3neqP0CiAf65XC-5pg,16909 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_suspended_frames.py,sha256=dIgMmo86Ra22UOdDaTwVqQm2EX6ISFYD1kxB500Kelg,20559 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_thread_lifecycle.py,sha256=I-U_-urNLaxavillhZFfWSEFdX7QMdgq0dMUtiOL29E,3408 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_timeout.py,sha256=V1-pX6yhik_aa1bk9ClkMsN5RaUXFGWRlHawtmTCSrA,8366 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_trace_api.py,sha256=nlf56i9hKz6DikH5Txc_fwZxqN1gSV60Qps0ODWzc4g,1397 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_trace_dispatch.py,sha256=bIDRhihoBHfcVU9jVlK2TuS-sEIoHEYejTkdHsSXagM,3265 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_trace_dispatch_regular.py,sha256=3Q_iAqFyoOd6qMcKg5Dvw8aFqqtRYQ7QJdffGGZmRAc,22202 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_traceproperty.py,sha256=oY3O9UJwf8EIUngMLsJnOQAiyeuOt9Y2SEgm6MsMJ6o,3279 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_utils.py,sha256=8jRq4rUk6GYohDzIMNCweH1wxQLoT2zA-2_-o5Ktw4o,17289 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_vars.py,sha256=q2oZGdLAG6zn7OZwLjHhiyT_SrI9Ht2TqoLCbMxFHgM,30786 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_vm_type.py,sha256=osPhgiDRcU66KFUQffURSEt1GxLsS5B-DuV1ThHR_sY,1578 +debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_xml.py,sha256=aqVmbpO9F4vH6tpUhaloXJ8uWyG4NJhwoRof2H3Y-XI,14443 +debugpy/_vendored/pydevd/_pydevd_frame_eval/.gitignore,sha256=EKhbR-PpYtbvIYhIYeDDdUKDcU_kZf4kBzDgARh1Fgg,87 +debugpy/_vendored/pydevd/_pydevd_frame_eval/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +debugpy/_vendored/pydevd/_pydevd_frame_eval/__pycache__/__init__.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_frame_eval/__pycache__/pydevd_frame_eval_cython_wrapper.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_frame_eval/__pycache__/pydevd_frame_eval_main.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_frame_eval/__pycache__/pydevd_frame_tracing.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_frame_eval/__pycache__/pydevd_modify_bytecode.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_eval_cython_wrapper.py,sha256=fsjgGg07ahVCdIMe38savTyAEgQtEzb7vVIldjgLhfE,1343 +debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_eval_main.py,sha256=XzgU2jey-apeQd9NCV40YXOkiwsGJdYdrUSv_mdNu8U,2105 +debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.c,sha256=4fh_u7VP3gA6Xsb_m46U5GoGBVUx3CXHnboAXGcboss,935795 +debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.cpython-38-x86_64-linux-gnu.so,sha256=JCtGtos5yRsfdNI_qslR9fozHCA51xTMVcwBSLjF8Jg,359872 +debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.pxd,sha256=0pKrUK3YwQtlJk7vvhZzqnDCJvB6JOb4V23Zl8UrqYI,5324 +debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.pyx,sha256=Bw14wOJlvGt6eDdhA5NbEcNAvIgM8hIux77p80LpiBM,31362 +debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.template.pyx,sha256=YOHqtbizcUtC_jMeBlNQ6FLQZn-CZ3fcoqChyHF4h4g,24550 +debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_tracing.py,sha256=HkS8B9I0YbUVsHxRDfc6kYstUTlKc41HqZyD-N5ifQA,4219 +debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_modify_bytecode.py,sha256=cTwAD7Y2HBwZGZWe-M6AnO-Fs5spFuHXIwue1R8RRIw,13545 +debugpy/_vendored/pydevd/_pydevd_frame_eval/release_mem.h,sha256=MbMCNJQXkcJZ8UU7xoH44MwqE3QRWZX5WCAz7zCju6Y,79 +debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/README.txt,sha256=jgSPsMO3Gc8ncNUe5RwdxdVB-YHyAioWMPXHcD6KbQE,700 +debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/__pycache__/__init__.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/__pycache__/pydevd_fix_code.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/COPYING,sha256=baWkm-Te2LLURwK7TL0zOkMSVjVCU_ezvObHBo298Tk,1074 +debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/METADATA,sha256=9XadDK6YTQ-FPowYI5DS4ieA7hRGnRP_fM5Z9ioPkEQ,2929 +debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/RECORD,sha256=2udHTtpgQXukzLaj7MVfrJhBa40hV7SjP8vyZ5vNqMU,2995 +debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/WHEEL,sha256=OqRkF0eY5GHssMorFjlbTIq072vpHpF60fIQA6lS9xA,92 +debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/direct_url.json,sha256=s58Rb4KXRlMKxk-mzpvr_tJRQ-Hx8-DHsU6NdohCnAg,93 +debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/top_level.txt,sha256=9BhdB7HqYZ-PvHNoWX6ilwLYWQqcgEOLwdb3aXm5Gys,9 +debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/__init__.py,sha256=9hCplBAGV2ZNbI6TkkkC-Zefk_SxbesAVwe2iXtdSPQ,4152 +debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/__pycache__/__init__.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/__pycache__/bytecode.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/__pycache__/cfg.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/__pycache__/concrete.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/__pycache__/flags.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/__pycache__/instr.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/__pycache__/peephole_opt.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/bytecode.py,sha256=UACCPg0CuM9RIzNMJLqvLlCzeMBNI1UZ-WAspzO7rQM,6983 +debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/cfg.py,sha256=_ngtd6LTdF74Q7eM0kv-jY70Y-1m2dYOVTdL3LABi6U,15391 +debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/concrete.py,sha256=0CoEZ5sxVK6BLytJ1KI2qZgSb9-UAMkXwa1GiPaC3ag,22299 +debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/flags.py,sha256=ipQqlQuvHn_zwjWkaPlf_-LPTjOTcayut3T-sAijYQU,6020 +debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/instr.py,sha256=z5zgc6dJLWlaOxpmiErmR3qoWK-pbsqFQ5DnZhYxp9w,11721 +debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/peephole_opt.py,sha256=O7q19q0sDiwN4zVkFGdmceThKK4bQYP_13DFIbH8o8M,15740 +debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__init__.py,sha256=qlpJ7nivOajEtN7mIjg_wpiQPBgjnkNypVy1KdbmlEw,4996 +debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__pycache__/__init__.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__pycache__/test_bytecode.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__pycache__/test_cfg.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__pycache__/test_code.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__pycache__/test_concrete.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__pycache__/test_flags.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__pycache__/test_instr.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__pycache__/test_misc.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__pycache__/test_peephole_opt.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__pycache__/util_annotation.cpython-38.pyc,, +debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_bytecode.py,sha256=oxR5LHyY7Mp8AnNd5gB9US1E2HLP1_ikKDZ9O1ybB9g,15909 +debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_cfg.py,sha256=rDlSsB9STCggvl79pv1q6uKUxElzat99z8_KcObcbb8,28547 +debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_code.py,sha256=5p98FDCpHG2GxUpoMnaw5S6SBakyeMqa5eX29nrOmuo,2425 +debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_concrete.py,sha256=HKFAg96iZKEjDMpaPwa2LrwERctdWUCTCcnvo-sKnEc,49634 +debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_flags.py,sha256=vBeWGBHWMvJ4yN7RdJKImSZurjuyeGQz7pHpeBBAKDI,6009 +debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_instr.py,sha256=hQ6EyqSddjJeUv4vhZFrEiy1xxMiqpyDuCK0xfKbgf8,11676 +debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_misc.py,sha256=z0K5O16SkAf81IljdDlKumS-x76HSrf5tnNGtsTLuIU,7149 +debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_peephole_opt.py,sha256=r6-xIPkRHhQlnTWXkt0sU0p0r1A80EgDKoFJTxE2J2A,32993 +debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/util_annotation.py,sha256=wKq6yPWrzkNlholl5Y10b3VjuCkoiYVgvcIjk_8jzf8,485 +debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/pydevd_fix_code.py,sha256=0IMNqViUb9NM5gPw9Nv9KUay99XkLoW4TnklupYkdDs,1801 +debugpy/_vendored/pydevd/pydev_app_engine_debug_startup.py,sha256=-gA1UJ8pRY3VE8bRc7JhWRmxlRanQ8QG3724O5ioeKA,691 +debugpy/_vendored/pydevd/pydev_coverage.py,sha256=qmd5XNE8Hwtem9m5eDtwbVIxi6U9XvtXIcur2xDP2Uk,3200 +debugpy/_vendored/pydevd/pydev_ipython/README,sha256=rvIWDUoNsPxITSg6EUu3L9DihmZUCwx68vQsqo_FSQg,538 +debugpy/_vendored/pydevd/pydev_ipython/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +debugpy/_vendored/pydevd/pydev_ipython/__pycache__/__init__.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydev_ipython/__pycache__/inputhook.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydev_ipython/__pycache__/inputhookglut.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydev_ipython/__pycache__/inputhookgtk.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydev_ipython/__pycache__/inputhookgtk3.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydev_ipython/__pycache__/inputhookpyglet.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydev_ipython/__pycache__/inputhookqt4.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydev_ipython/__pycache__/inputhookqt5.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydev_ipython/__pycache__/inputhooktk.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydev_ipython/__pycache__/inputhookwx.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydev_ipython/__pycache__/matplotlibtools.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydev_ipython/__pycache__/qt.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydev_ipython/__pycache__/qt_for_kernel.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydev_ipython/__pycache__/qt_loaders.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydev_ipython/__pycache__/version.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydev_ipython/inputhook.py,sha256=GjhfMC0wvhSGsDKTOTEOt0Gl6FleaS81yUn4AxGIlZY,19554 +debugpy/_vendored/pydevd/pydev_ipython/inputhookglut.py,sha256=J5QUoxuqZLwvb8nBjIkrmBr-pTULVLp86UsdmImhYY8,5675 +debugpy/_vendored/pydevd/pydev_ipython/inputhookgtk.py,sha256=LDLg0tDXbmv-YoODReQKtOu5Aa3ECBr9HUaNJV1UYk0,1107 +debugpy/_vendored/pydevd/pydev_ipython/inputhookgtk3.py,sha256=Sh382xr25ztKAQfChBNm4D-NC5UoY-Ho0LTIj3i4Wi8,1104 +debugpy/_vendored/pydevd/pydev_ipython/inputhookpyglet.py,sha256=8lVbOG3Lucf_bX97HLNHXbq-wekKs1BUh79rMmh_bYg,3255 +debugpy/_vendored/pydevd/pydev_ipython/inputhookqt4.py,sha256=DKOobEvH6bIkkvOF581Vj-rQXWSUU6f7cEc9fzXr3_g,7242 +debugpy/_vendored/pydevd/pydev_ipython/inputhookqt5.py,sha256=82p6mLMradWAyzHh9faHb_eQJRigIgaW74WRbNLaoFc,7289 +debugpy/_vendored/pydevd/pydev_ipython/inputhooktk.py,sha256=bW7hLVv2JOuP00TSeqIw9O3KKNVHtBBpE5bHASW-bSo,748 +debugpy/_vendored/pydevd/pydev_ipython/inputhookwx.py,sha256=h804ZBfWPLy5ITbQSkzwELkGO4BqZtZB2b9izZXcpQk,6517 +debugpy/_vendored/pydevd/pydev_ipython/matplotlibtools.py,sha256=bZSIYY09Cny96-NpxOdbmU0lueNEaCfIhJP87D-dbFc,5378 +debugpy/_vendored/pydevd/pydev_ipython/qt.py,sha256=Ley-7H_Fn40za6lJKmekC-r0uOTeOgnH6FIGUBaGqP8,785 +debugpy/_vendored/pydevd/pydev_ipython/qt_for_kernel.py,sha256=HF68WlXR08W6-4B3DjuF-5AbNEMLq-NXIVscoSUTEFc,3619 +debugpy/_vendored/pydevd/pydev_ipython/qt_loaders.py,sha256=ZxyWPGfCtdYbGrtJ49BkAWu7CEW6w38VjSnoeEzvWjM,8413 +debugpy/_vendored/pydevd/pydev_ipython/version.py,sha256=lLBSR8mtlF1eCzwwOejljchAyfSy0opD8b0w_QjR97Q,1227 +debugpy/_vendored/pydevd/pydev_pysrc.py,sha256=LKtwQyDYYry3lhL7YalgmehgWD82-NDpqQYYi1bTYj8,100 +debugpy/_vendored/pydevd/pydev_run_in_console.py,sha256=bnrvimUb2pj9Gtcu09qNmSQFGY-lAcu1Yz9M6IJsqGM,4709 +debugpy/_vendored/pydevd/pydev_sitecustomize/__not_in_default_pythonpath.txt,sha256=hnkTAuxSFW_Tilgw0Bt1RVLrfGRE3hYjAmTPm1k-sc8,21 +debugpy/_vendored/pydevd/pydev_sitecustomize/__pycache__/sitecustomize.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydev_sitecustomize/sitecustomize.py,sha256=kHFVCILQngtbNTgiaTu0icWDh7hRzqIpMlASeULI8Wo,9473 +debugpy/_vendored/pydevd/pydevconsole.py,sha256=Y4a1Kq3Y8qug4Y6PjFnM46RbMcpsy5OxdTIBTBHaY6M,21094 +debugpy/_vendored/pydevd/pydevd.py,sha256=YnQuNplOhJYzHPpxS7an8eRDNqYBvgPLLiguY_xirWA,144860 +debugpy/_vendored/pydevd/pydevd_attach_to_process/README.txt,sha256=JibLodU4lzwvGyI8TNbfYhu626MPpYN3z4YAw82zTPU,960 +debugpy/_vendored/pydevd/pydevd_attach_to_process/__pycache__/_always_live_program.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_attach_to_process/__pycache__/_check.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_attach_to_process/__pycache__/_test_attach_to_process.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_attach_to_process/__pycache__/_test_attach_to_process_linux.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_attach_to_process/__pycache__/add_code_to_python_process.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_attach_to_process/__pycache__/attach_pydevd.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_attach_to_process/__pycache__/attach_script.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_attach_to_process/_always_live_program.py,sha256=I8Cbq2TR04ferhN1DMds9agFTqF8RST6Pw6diDFHr6o,679 +debugpy/_vendored/pydevd/pydevd_attach_to_process/_check.py,sha256=9AE9SHJNK7bwNjIsaadqhfOM11tvgZm64KgDPFtLSDY,135 +debugpy/_vendored/pydevd/pydevd_attach_to_process/_test_attach_to_process.py,sha256=kM9LFgzX_qQofDb_X0hYMSb8Qfoga-exKBlng3__KZw,297 +debugpy/_vendored/pydevd/pydevd_attach_to_process/_test_attach_to_process_linux.py,sha256=ATL8WvNcGPi3wTHtTQL23UhKxnbtG9dwB3MTZEiC-2E,2523 +debugpy/_vendored/pydevd/pydevd_attach_to_process/add_code_to_python_process.py,sha256=-tJiQ4SRFwc5Qw6ZKdQzH2sCXwWp0PVzOFxyG7ZjFcg,22296 +debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_linux_amd64.so,sha256=IbEVxQj-FG3I-S68jUhVI0nhY__BfqEKrWL9kMx4yiI,22760 +debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_pydevd.py,sha256=EHK1vY0R36A-ZZen6qNZeuclG-EA2frLj1FGOoKLqno,2255 +debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_script.py,sha256=eyMzXuwxv8KYM4jFv3sKiRmlsx1nwxIfDd0V-B0JKhU,7834 +debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace.hpp,sha256=GCjlTIQW1wRoEpp1yCbeJiUaa9JDTbeOypJiZBRtxPE,8399 +debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace_310.hpp,sha256=mNr6LVLPDoCRyxLPTdYb0JWDXSfRn7xuAzPOzZWvoFs,4062 +debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace_311.hpp,sha256=_tpO9I0U0f2RqCYM8DIOPQJTLv8sL2NCxwKE2BnR0NE,4269 +debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace_common.hpp,sha256=r1ch6UgwF4rxW8ehiNnAvJE18VCoUl2TujP7nTCy0vQ,1870 +debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_settrace.hpp,sha256=41ivhinwfCQmmYUDpEjaEMxCVFx6u--k2sBRO-cGcq0,7763 +debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_utils.hpp,sha256=hxR-qpxpXQTupO-AgnasBq1j69ztvTdFUF8xWuiEdWA,3811 +debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_version.hpp,sha256=tn11Wl2u0aLBj7Z0mcrYSCSOH6JrZ4e9P3jXSCZxySo,2617 +debugpy/_vendored/pydevd/pydevd_attach_to_process/common/python.h,sha256=ueIyBiClInxfKMlgAVMuxTvmhESadiWeA4uSwZAROeo,21631 +debugpy/_vendored/pydevd/pydevd_attach_to_process/common/ref_utils.hpp,sha256=8wDFQk9XoAnK2EdM4J-RErKfBYZn93uG6Rw5OCbLsA0,1475 +debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/.gitignore,sha256=r3rDatBumb9cRDhx35hsdJp9URPUmjgkynAQViLIoR4,82 +debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/__pycache__/lldb_prepare.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/attach.cpp,sha256=xG8NmOwfuhXN93spuG_uEfe0tOn32hnljCqY5f1z354,3703 +debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/compile_linux.sh,sha256=YbBXAMwXBEE6-jh4cldqPV9USk6rN_fOmGdYOJZsHC8,442 +debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/compile_mac.sh,sha256=Pr6_ZbfvyRx-kmGNedRSI06ZtZZPRYwPj3VThRrolKs,232 +debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/compile_manylinux.cmd,sha256=W93C4jG-fGn27rd1Yes3neP2upJTO9qAdKZPf8cvSQE,633 +debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/lldb_prepare.py,sha256=eSmL1KLLOrG8r4RJyVOd3USUjsplWXdKSCCnnGyGVdo,1691 +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__init__.py,sha256=2VU5wHMC1RElLHJa5cwPVo6bK8sRDics9cFMtqx3mq4,7917 +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/__init__.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/breakpoint.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/compat.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/crash.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/debug.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/disasm.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/event.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/interactive.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/module.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/process.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/registry.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/search.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/sql.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/system.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/textio.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/thread.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/util.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/window.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/breakpoint.py,sha256=49N-AlYBS8S8ZC_lOXqQKq0ttdWOKjfmRpq8ESfNn84,168168 +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/compat.py,sha256=0KEHUJM9HVPJkzEa_f6cWb6LB7ickr7xOqKvuOVjjeA,5230 +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/crash.py,sha256=bAwe0hjMepdZkfIESfCJSxQJOnCxC7yp046nd6bJTI0,65394 +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/debug.py,sha256=TI59UyIasBZF6iln8OMxtQCkIv4t6hRXqYaED8bRTzg,58709 +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/disasm.py,sha256=e45vidMFkVl2s5nu2YJW4iE5Ng1KnWobNWBWnbaZskQ,24409 +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/event.py,sha256=QzHPCcGvEZ1LrL33ddVegMsb6BURRgVBSi2nV20aOTs,67241 +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/interactive.py,sha256=Nmm9hGyn5XnxFccS0vmLmHl25ReTXPxZSgIiWQCaPQg,83555 +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/module.py,sha256=aQOXcKztzBzIhBNuEbSvaNZ-xtDERviWynRzbSVpesw,70615 +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/process.py,sha256=ViXvPwwEz2_EKrG-myicFCrtUjirrOmCon36AjeUI78,183635 +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/registry.py,sha256=BmThLf5TaXsPEXzk16PqtZHIArZKpSK7f1srG8oFpJ4,21569 +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/search.py,sha256=NuUoyoU7lMZovibgZIjkTKtRsxWVuY3FRYfOJicM7-k,23798 +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/sql.py,sha256=vHnOHabuFHMq4JBu7qf9O6omUrSTOsOGxdxjg81fvuw,34997 +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/system.py,sha256=L5oZqyn68kkoDpFnOYJkaIdTjFle1_tBPwaTPfcKzvo,45884 +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/textio.py,sha256=osUFHqxoZBdGQLmfvPXEFikvNPY_JbiQub5N2_tgee0,62691 +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/thread.py,sha256=uEuXm8xSq4iwZNfwW6wXnrTvF4fpvkYTz--VQUYQ2mg,75478 +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/util.py,sha256=9GFD52PGOg0czJc0oUlpE8sTJVHZnmam84teq938xeg,36223 +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__init__.py,sha256=LjPLQ0pv6rcHQmb32jV12bGUw_CTsi0atfNuOvkg2nc,2845 +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/__init__.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/advapi32.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/context_amd64.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/context_i386.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/dbghelp.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/defines.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/gdi32.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/kernel32.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/ntdll.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/peb_teb.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/psapi.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/shell32.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/shlwapi.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/user32.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/version.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/wtsapi32.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/advapi32.py,sha256=2EFvqeuxUGiiDGTzkHMV4fEeDZvMxmrByD5hu9ClM8A,120809 +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/context_amd64.py,sha256=8eT1_GvmfpRI2HWWqdNDRJjA6TvpwVl8ZQcVvSZFCOY,25137 +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/context_i386.py,sha256=CLD5RAQi686FfCs0bszEgh_ZVFIj-YrUEt8HRvHE5HE,16108 +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/dbghelp.py,sha256=6mZA5sDvGrIfP76-Jv6bvIYON3cjTruYt29Cxu2QKdQ,46705 +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/defines.py,sha256=Verc00KnY3XSxI0KMpb81U4P6k6MUHCe-NgsxlG7Ie8,22799 +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/gdi32.py,sha256=5i8RpG43wEMAYbcBjEwJaemrVhrlFwGKhkL947CR-7E,16829 +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/kernel32.py,sha256=TeRsADg7eZN1dw7aGepbOIZobGmiKzddT-bKEZ97bQI,164818 +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/ntdll.py,sha256=7PSunl1ixZo5y-bol-w53iE4GhKEPYv7KRiI9_CiOms,22847 +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/peb_teb.py,sha256=KjCX0Yte_g7ty240hehVBbadxmhI2M--bVu0SfhKS9E,159230 +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/psapi.py,sha256=V5n9HSLn0fv5qwe83zMjGGBcTeJ2woJzS_hdjGQhps4,13762 +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/shell32.py,sha256=T2MAPhKCqGfg_JxYGZkWChzlDtDsRAeczsL8fGhSYDA,14007 +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/shlwapi.py,sha256=x7jV5_99GrZU0wlD-ePUeM09Uq_PJ7L1M9YwucIMUEw,25807 +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/user32.py,sha256=-YYdVrMVUZWpzMIBUbeLkNlhQ7VCBhvjWLdZtN9u0Vo,57177 +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/version.py,sha256=uBtrPoubwMv_1CLSf42kpPQOiOrinCtYJkxWqzOl09I,36813 +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/wtsapi32.py,sha256=P-4JIP38rtbQ-iHtdjSBst656mfBeFEBWPZyOrCD_c0,11164 +debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/window.py,sha256=E7zOrJKXXm2OnRp_Xvt868_BwEVdh_39etqDQgZYLjQ,24309 +debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/attach.cpp,sha256=qRJVdptEyvZtM70x0XmSkGhl3U28EYBZ9zCB2-GW3pE,27447 +debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/attach.h,sha256=rWBA3kdzfyHaE9X9Diub3cojoJlXjC3TKnLQv-nGCeA,1846 +debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/compile_windows.bat,sha256=Ya3dZjibeVnkN-M3XX5SH_mLGYKTcpJCZSQlSxL6a6A,2074 +debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/inject_dll.cpp,sha256=GQmZbpNBRMMW1WFcDFOlJaGLy1-oZ4qCCIyo5exPLBM,4792 +debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/py_win_helpers.hpp,sha256=45pO-c1ofub4nn0XY9kMsTm3s48_EPE-VWAhld3704I,2479 +debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/run_code_in_memory.hpp,sha256=zvDC9cVGZ6BXEsz_Im-QMIubdw6vX3BCIg2T11cVfvg,3355 +debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/run_code_on_dllmain.cpp,sha256=ApQza8ZJrfe2U4jTJPa8ItzvnHc7w2G6Yrfq4BT_56g,2516 +debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/stdafx.cpp,sha256=NO8qlc7sKU6oHA_AnXJSodHupZLizp3npBTc-EGpBj8,999 +debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/stdafx.h,sha256=l0tEIxxiv0XrIeiJ2zedTd4fYrdlxVTK8ECpBk881WM,1162 +debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/targetver.h,sha256=fqw-iPopG_V-pFRxf33lVFL0uvWfDUB2ky0bibFblK0,1013 +debugpy/_vendored/pydevd/pydevd_file_utils.py,sha256=YkKjY_2YRtaitEsDw3JbM6DSUWrTm2K3HJRA586lvjk,35201 +debugpy/_vendored/pydevd/pydevd_plugins/__init__.py,sha256=3rZDMhSmpCE3y-ipjPjQrUv2CIm5ohCCprSJUoMrcqQ,294 +debugpy/_vendored/pydevd/pydevd_plugins/__pycache__/__init__.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_plugins/__pycache__/django_debug.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_plugins/__pycache__/jinja2_debug.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_plugins/__pycache__/pydevd_line_validation.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_plugins/django_debug.py,sha256=VIBdRwe3Ia3m4LwdyCmnm93ybPXoOwXIE8HUCy9JMcw,22430 +debugpy/_vendored/pydevd/pydevd_plugins/extensions/README.md,sha256=cxu8F295snUVNgqE5xXKnZTpbqbR3LTmm60pgK0IOTs,1183 +debugpy/_vendored/pydevd/pydevd_plugins/extensions/__init__.py,sha256=rqtNsfDcKgQkcDt1wK2STXLrIH8Nv1NsWsQHe_mDZ30,227 +debugpy/_vendored/pydevd/pydevd_plugins/extensions/__pycache__/__init__.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/__init__.py,sha256=rqtNsfDcKgQkcDt1wK2STXLrIH8Nv1NsWsQHe_mDZ30,227 +debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/__pycache__/__init__.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/__pycache__/pydevd_helpers.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/__pycache__/pydevd_plugin_numpy_types.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/__pycache__/pydevd_plugin_pandas_types.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/__pycache__/pydevd_plugins_django_form_str.cpython-38.pyc,, +debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_helpers.py,sha256=0fFR63gGOCVNWHp-e8El6OPlBlljTJwCe1oEJWXPv5M,639 +debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_plugin_numpy_types.py,sha256=YKxpuCMgumbjcC94Gk91hy26obDMOlB5Z3CxmaR4960,2945 +debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_plugin_pandas_types.py,sha256=BHGHjYJwpQ0Gh1LG3bFSLh1FbRtWJVkVzYyCueLP870,5791 +debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_plugins_django_form_str.py,sha256=quqrRUKuKEPoT37MBla7wJCSuWHio1dI1cEK1G13qO0,538 +debugpy/_vendored/pydevd/pydevd_plugins/jinja2_debug.py,sha256=z6XdAlP0Wf9PyluABWF2GICHnTfKaN3gRKvmuh6uymU,19141 +debugpy/_vendored/pydevd/pydevd_plugins/pydevd_line_validation.py,sha256=Kl48sEmnu7cn8P4GTflgsqhfOh3UUNCp_qfyjN3B8FI,6286 +debugpy/_vendored/pydevd/pydevd_tracing.py,sha256=wTEwlotgDDexiPcbX3N8lmwSK5MFxNE13VEMH1iKaB8,14804 +debugpy/_vendored/pydevd/setup_pydevd_cython.py,sha256=KcRQ-SPbua2b0AZEiFExT0PiQiVce7FSLsdWoqBBvAI,10410 +debugpy/_version.py,sha256=vCF3BLaoX0eSt1WiEnA6qRVGUVkGYn58lj6F3XhwJbA,497 +debugpy/adapter/__init__.py,sha256=ewTjlS3VAb6lypFWfGZjY7j2wiW6ApS3KSPJrm0xsEk,346 +debugpy/adapter/__main__.py,sha256=tgLZr7jDZEfZ_x6bIel2p5Q2PRDHxpF-D4pYE_LrwgU,8069 +debugpy/adapter/__pycache__/__init__.cpython-38.pyc,, +debugpy/adapter/__pycache__/__main__.cpython-38.pyc,, +debugpy/adapter/__pycache__/clients.cpython-38.pyc,, +debugpy/adapter/__pycache__/components.cpython-38.pyc,, +debugpy/adapter/__pycache__/launchers.cpython-38.pyc,, +debugpy/adapter/__pycache__/servers.cpython-38.pyc,, +debugpy/adapter/__pycache__/sessions.cpython-38.pyc,, +debugpy/adapter/clients.py,sha256=QOVtBAp9mzdLmZEI7wZPKihNk-NCa_uBW62dh6oAPYs,28343 +debugpy/adapter/components.py,sha256=UGZg2cTDq4oHi3OrJ5bW2zdFe5MAw-lTZ9lkjRbAwgM,6081 +debugpy/adapter/launchers.py,sha256=tuMd0Hs6ZQpUzIZRwaYbuRsP1vhLihG7Qt04Svdwy4A,6864 +debugpy/adapter/servers.py,sha256=9FP5bv9WtTeMtL5J4J0asSbpC1uUjr9JAUtStoPAxp8,21324 +debugpy/adapter/sessions.py,sha256=Uy9DVFcqNu_5ehEb5G7hTE6QVLCy3MnxrGPUQduhTQw,10889 +debugpy/common/__init__.py,sha256=PEfe5T2vJWqSQ9n5iXi5rWfRdOyK7rSz_LND5at64qc,592 +debugpy/common/__pycache__/__init__.cpython-38.pyc,, +debugpy/common/__pycache__/json.cpython-38.pyc,, +debugpy/common/__pycache__/log.cpython-38.pyc,, +debugpy/common/__pycache__/messaging.cpython-38.pyc,, +debugpy/common/__pycache__/singleton.cpython-38.pyc,, +debugpy/common/__pycache__/sockets.cpython-38.pyc,, +debugpy/common/__pycache__/stacks.cpython-38.pyc,, +debugpy/common/__pycache__/timestamp.cpython-38.pyc,, +debugpy/common/__pycache__/util.cpython-38.pyc,, +debugpy/common/json.py,sha256=NoinXsMZHybYGNiSbq3_OWPJxtmYbDew6RkqF3zMyZ8,9674 +debugpy/common/log.py,sha256=Z7UhRcCLTbX44WMfQaVQDu1WEnMMVJZ6JHIRbL0vii0,10681 +debugpy/common/messaging.py,sha256=pZ3fxB7mNaCBh89rRTRcirGvmfxDocF1Nx-XFT-iHJs,56396 +debugpy/common/singleton.py,sha256=bSTqWB9bLp1SpP1W9-LH_OlU9Arbd7pqu4OcjYKDQ_0,7666 +debugpy/common/sockets.py,sha256=EwHRSTFvUn0oBkWFUM1KnP2nesTdCK1QIMQuykmVjL8,3636 +debugpy/common/stacks.py,sha256=czZjqyY_5ntvOSpelZlJkpH4Gqq9JyZY7tcUqz4sWXA,1526 +debugpy/common/timestamp.py,sha256=ZocK6sWz2JUD1hBAKj672ta8D3ze0Z3zJD_CWjeDq7A,410 +debugpy/common/util.py,sha256=CPWCyS757aIcGISxf_SbaGlewSCFOgou0raEKfCZ56I,4646 +debugpy/launcher/__init__.py,sha256=L7aoLf-CaGikoiEJokF5JmSL0Y7FWIn2EOJFV89KbbY,890 +debugpy/launcher/__main__.py,sha256=yLvc7PNl8YulPLINLZVBGY-38hClmkgec0LmkEQna_Q,3812 +debugpy/launcher/__pycache__/__init__.cpython-38.pyc,, +debugpy/launcher/__pycache__/__main__.cpython-38.pyc,, +debugpy/launcher/__pycache__/debuggee.cpython-38.pyc,, +debugpy/launcher/__pycache__/handlers.cpython-38.pyc,, +debugpy/launcher/__pycache__/output.cpython-38.pyc,, +debugpy/launcher/__pycache__/winapi.cpython-38.pyc,, +debugpy/launcher/debuggee.py,sha256=uUOkA8E-67FrrtOrarI_yEfDBsnn76opcNW1PmFxb9M,8574 +debugpy/launcher/handlers.py,sha256=vsMHp4SKqbR1ar27RW7t-SbApXdWPfhS7qLlgr_cw8g,5728 +debugpy/launcher/output.py,sha256=R8YWa7ccb9Sy_ighQqN9R5W1OdMNcnmizmTLYc6yTsg,3748 +debugpy/launcher/winapi.py,sha256=7ACn2Hxf8Kx5bBmxmuC-0A_hG60kEfrDtrZW_BnnjV4,3129 +debugpy/public_api.py,sha256=Om39_shVxVU1JnbZC-_sq4CPd3Fvpek4OcK-LnSPFyY,5887 +debugpy/server/__init__.py,sha256=mmPRoui4PkSeZxG3r5Gep6YB0MLMq_lIJru1pfGmKUY,323 +debugpy/server/__pycache__/__init__.cpython-38.pyc,, +debugpy/server/__pycache__/api.cpython-38.pyc,, +debugpy/server/__pycache__/attach_pid_injected.cpython-38.pyc,, +debugpy/server/__pycache__/cli.cpython-38.pyc,, +debugpy/server/api.py,sha256=oomBRxlPS8r8SedZdcCq7LSgyivnlCL-g5LVhaPX7bQ,10999 +debugpy/server/attach_pid_injected.py,sha256=mx8G8CDw5HGOPBM5XGkjkLka_LHVQJEuMJ4tUJHQqX8,2734 +debugpy/server/cli.py,sha256=-RTBelnNYN_IdnpqNLcU4ynZnf8RbOa0Ey-vLLjfk3Q,13289 diff --git a/venv/lib/python3.8/site-packages/debugpy-1.6.3.dist-info/REQUESTED b/venv/lib/python3.8/site-packages/debugpy-1.6.3.dist-info/REQUESTED new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.8/site-packages/debugpy-1.6.3.dist-info/WHEEL b/venv/lib/python3.8/site-packages/debugpy-1.6.3.dist-info/WHEEL new file mode 120000 index 0000000..ab72d5e --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy-1.6.3.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ea/37/78/88bd4f76838399cb1b5fce33e678db798aaf372d283d03104f797ce10a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy-1.6.3.dist-info/direct_url.json b/venv/lib/python3.8/site-packages/debugpy-1.6.3.dist-info/direct_url.json new file mode 100644 index 0000000..2c3cc6f --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy-1.6.3.dist-info/direct_url.json @@ -0,0 +1 @@ +{"archive_info": {"hash": "sha256=daadab4403427abd090eccb38d8901afd8b393e01fd243048fab3f1d7132abb4"}, "url": "https://files.pythonhosted.org/packages/d2/e3/d0531ee73216d553d717bf4ac51dff297f89054619fa69db61eef028a07f/debugpy-1.6.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl"} \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy-1.6.3.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/debugpy-1.6.3.dist-info/top_level.txt new file mode 120000 index 0000000..f66d5ea --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy-1.6.3.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e8/e9/ba/25311aaa45a78fef7eee424e26bf7cf2c4ceea24ae88ae0df57e912e98 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/ThirdPartyNotices.txt b/venv/lib/python3.8/site-packages/debugpy/ThirdPartyNotices.txt new file mode 120000 index 0000000..036cf0b --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/ThirdPartyNotices.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5b/39/93/f39dc19473ad904895ff1b64f7a89acd87950ca581dada8a32d726fe3a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/__init__.py b/venv/lib/python3.8/site-packages/debugpy/__init__.py new file mode 100644 index 0000000..975bec7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/__init__.py @@ -0,0 +1,38 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See LICENSE in the project root +# for license information. + +"""An implementation of the Debug Adapter Protocol (DAP) for Python. + +https://microsoft.github.io/debug-adapter-protocol/ +""" + +# debugpy stable public API consists solely of members of this module that are +# enumerated below. +__all__ = [ # noqa + "__version__", + "breakpoint", + "configure", + "connect", + "debug_this_thread", + "is_client_connected", + "listen", + "log_to", + "trace_this_thread", + "wait_for_client", +] + +import sys + +assert sys.version_info >= (3, 7), ( + "Python 3.6 and below is not supported by this version of debugpy; " + "use debugpy 1.5.1 or earlier." +) + + +# Actual definitions are in a separate file to work around parsing issues causing +# SyntaxError on Python 2 and preventing the above version check from executing. +from debugpy.public_api import * # noqa +from debugpy.public_api import __version__ + +del sys diff --git a/venv/lib/python3.8/site-packages/debugpy/__main__.py b/venv/lib/python3.8/site-packages/debugpy/__main__.py new file mode 100644 index 0000000..24c2b7f --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/__main__.py @@ -0,0 +1,39 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See LICENSE in the project root +# for license information. + +import sys + + +if __name__ == "__main__": + # debugpy can also be invoked directly rather than via -m. In this case, the first + # entry on sys.path is the one added automatically by Python for the directory + # containing this file. This means that import debugpy will not work, since we need + # the parent directory of debugpy/ to be in sys.path, rather than debugpy/ itself. + # + # The other issue is that many other absolute imports will break, because they + # will be resolved relative to debugpy/ - e.g. `import debugger` will then try + # to import debugpy/debugger.py. + # + # To fix both, we need to replace the automatically added entry such that it points + # at parent directory of debugpy/ instead of debugpy/ itself, import debugpy with that + # in sys.path, and then remove the first entry entry altogether, so that it doesn't + # affect any further imports we might do. For example, suppose the user did: + # + # python /foo/bar/debugpy ... + # + # At the beginning of this script, sys.path will contain "/foo/bar/debugpy" as the + # first entry. What we want is to replace it with "/foo/bar', then import debugpy + # with that in effect, and then remove the replaced entry before any more + # code runs. The imported debugpy module will remain in sys.modules, and thus all + # future imports of it or its submodules will resolve accordingly. + if "debugpy" not in sys.modules: + # Do not use dirname() to walk up - this can be a relative path, e.g. ".". + sys.path[0] = sys.path[0] + "/../" + import debugpy # noqa + + del sys.path[0] + + from debugpy.server import cli + + cli.main() diff --git a/venv/lib/python3.8/site-packages/debugpy/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..3ba7215 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/__pycache__/__main__.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/__pycache__/__main__.cpython-38.pyc new file mode 100644 index 0000000..09f4b09 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/__pycache__/__main__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/__pycache__/_version.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/__pycache__/_version.cpython-38.pyc new file mode 100644 index 0000000..7605dd1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/__pycache__/_version.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/__pycache__/public_api.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/__pycache__/public_api.cpython-38.pyc new file mode 100644 index 0000000..07d9706 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/__pycache__/public_api.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/__init__.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/__init__.py new file mode 100644 index 0000000..daf9f90 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/__init__.py @@ -0,0 +1,126 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See LICENSE in the project root +# for license information. + +import contextlib +from importlib import import_module +import os +import sys + +from . import _util + + +VENDORED_ROOT = os.path.dirname(os.path.abspath(__file__)) +# TODO: Move the "pydevd" git submodule to the debugpy/_vendored directory +# and then drop the following fallback. +if "pydevd" not in os.listdir(VENDORED_ROOT): + VENDORED_ROOT = os.path.dirname(VENDORED_ROOT) + + +def list_all(resolve=False): + """Return the list of vendored projects.""" + # TODO: Derive from os.listdir(VENDORED_ROOT)? + projects = ["pydevd"] + if not resolve: + return projects + return [project_root(name) for name in projects] + + +def project_root(project): + """Return the path the root dir of the vendored project. + + If "project" is an empty string then the path prefix for vendored + projects (e.g. "debugpy/_vendored/") will be returned. + """ + if not project: + project = "" + return os.path.join(VENDORED_ROOT, project) + + +def iter_project_files(project, relative=False, **kwargs): + """Yield (dirname, basename, filename) for all files in the project.""" + if relative: + with _util.cwd(VENDORED_ROOT): + for result in _util.iter_all_files(project, **kwargs): + yield result + else: + root = project_root(project) + for result in _util.iter_all_files(root, **kwargs): + yield result + + +def iter_packaging_files(project): + """Yield the filenames for all files in the project. + + The filenames are relative to "debugpy/_vendored". This is most + useful for the "package data" in a setup.py. + """ + # TODO: Use default filters? __pycache__ and .pyc? + prune_dir = None + exclude_file = None + try: + mod = import_module("._{}_packaging".format(project), __name__) + except ImportError: + pass + else: + prune_dir = getattr(mod, "prune_dir", prune_dir) + exclude_file = getattr(mod, "exclude_file", exclude_file) + results = iter_project_files( + project, relative=True, prune_dir=prune_dir, exclude_file=exclude_file + ) + for _, _, filename in results: + yield filename + + +def prefix_matcher(*prefixes): + """Return a module match func that matches any of the given prefixes.""" + assert prefixes + + def match(name, module): + for prefix in prefixes: + if name.startswith(prefix): + return True + else: + return False + + return match + + +def check_modules(project, match, root=None): + """Verify that only vendored modules have been imported.""" + if root is None: + root = project_root(project) + extensions = [] + unvendored = {} + for modname, mod in list(sys.modules.items()): + if not match(modname, mod): + continue + try: + filename = getattr(mod, "__file__", None) + except: # In theory it's possible that any error is raised when accessing __file__ + filename = None + if not filename: # extension module + extensions.append(modname) + elif not filename.startswith(root): + unvendored[modname] = filename + return unvendored, extensions + + +@contextlib.contextmanager +def vendored(project, root=None): + """A context manager under which the vendored project will be imported.""" + if root is None: + root = project_root(project) + # Add the vendored project directory, so that it gets tried first. + sys.path.insert(0, root) + try: + yield root + finally: + sys.path.remove(root) + + +def preimport(project, modules, **kwargs): + """Import each of the named modules out of the vendored project.""" + with vendored(project, **kwargs): + for name in modules: + import_module(name) diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..9730f27 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/__pycache__/_pydevd_packaging.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/__pycache__/_pydevd_packaging.cpython-38.pyc new file mode 100644 index 0000000..58b62f4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/__pycache__/_pydevd_packaging.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/__pycache__/_util.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/__pycache__/_util.cpython-38.pyc new file mode 100644 index 0000000..93fe8c7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/__pycache__/_util.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/__pycache__/force_pydevd.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/__pycache__/force_pydevd.cpython-38.pyc new file mode 100644 index 0000000..7e62e66 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/__pycache__/force_pydevd.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/_pydevd_packaging.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/_pydevd_packaging.py new file mode 100644 index 0000000..87cffd3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/_pydevd_packaging.py @@ -0,0 +1,48 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See LICENSE in the project root +# for license information. + +from . import VENDORED_ROOT +from ._util import cwd, iter_all_files + + +INCLUDES = [ + 'setup_pydevd_cython.py', +] + + +def iter_files(): + # From the root of pydevd repo, we want only scripts and + # subdirectories that constitute the package itself (not helper + # scripts, tests etc). But when walking down into those + # subdirectories, we want everything below. + + with cwd(VENDORED_ROOT): + return iter_all_files('pydevd', prune_dir, exclude_file) + + +def prune_dir(dirname, basename): + if basename == '__pycache__': + return True + elif dirname != 'pydevd': + return False + elif basename.startswith('pydev'): + return False + elif basename.startswith('_pydev'): + return False + return True + + +def exclude_file(dirname, basename): + if dirname == 'pydevd': + if basename in INCLUDES: + return False + elif not basename.endswith('.py'): + return True + elif 'pydev' not in basename: + return True + return False + + if basename.endswith('.pyc'): + return True + return False diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/_util.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/_util.py new file mode 100644 index 0000000..7eab574 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/_util.py @@ -0,0 +1,59 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See LICENSE in the project root +# for license information. + +import contextlib +import os + + +@contextlib.contextmanager +def cwd(dirname): + """A context manager for operating in a different directory.""" + orig = os.getcwd() + os.chdir(dirname) + try: + yield orig + finally: + os.chdir(orig) + + +def iter_all_files(root, prune_dir=None, exclude_file=None): + """Yield (dirname, basename, filename) for each file in the tree. + + This is an alternative to os.walk() that flattens out the tree and + with filtering. + """ + pending = [root] + while pending: + dirname = pending.pop(0) + for result in _iter_files(dirname, pending, prune_dir, exclude_file): + yield result + + +def iter_tree(root, prune_dir=None, exclude_file=None): + """Yield (dirname, files) for each directory in the tree. + + The list of files is actually a list of (basename, filename). + + This is an alternative to os.walk() with filtering.""" + pending = [root] + while pending: + dirname = pending.pop(0) + files = [] + for _, b, f in _iter_files(dirname, pending, prune_dir, exclude_file): + files.append((b, f)) + yield dirname, files + + +def _iter_files(dirname, subdirs, prune_dir, exclude_file): + for basename in os.listdir(dirname): + filename = os.path.join(dirname, basename) + if os.path.isdir(filename): + if prune_dir is not None and prune_dir(dirname, basename): + continue + subdirs.append(filename) + else: + # TODO: Use os.path.isfile() to narrow it down? + if exclude_file is not None and exclude_file(dirname, basename): + continue + yield dirname, basename, filename diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/force_pydevd.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/force_pydevd.py new file mode 100644 index 0000000..1b9dd5d --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/force_pydevd.py @@ -0,0 +1,62 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See LICENSE in the project root +# for license information. + +from importlib import import_module +import os +import warnings + +from . import check_modules, prefix_matcher, preimport, vendored + +# Ensure that pydevd is our vendored copy. +_unvendored, _ = check_modules('pydevd', + prefix_matcher('pydev', '_pydev')) +if _unvendored: + _unvendored = sorted(_unvendored.values()) + msg = 'incompatible copy of pydevd already imported' + # raise ImportError(msg) + warnings.warn(msg + ':\n {}'.format('\n '.join(_unvendored))) + +# If debugpy logging is enabled, enable it for pydevd as well +if "DEBUGPY_LOG_DIR" in os.environ: + os.environ[str("PYDEVD_DEBUG")] = str("True") + os.environ[str("PYDEVD_DEBUG_FILE")] = os.environ["DEBUGPY_LOG_DIR"] + str("/debugpy.pydevd.log") + +# Constants must be set before importing any other pydevd module +# # due to heavy use of "from" in them. +with vendored('pydevd'): + pydevd_constants = import_module('_pydevd_bundle.pydevd_constants') +# We limit representation size in our representation provider when needed. +pydevd_constants.MAXIMUM_VARIABLE_REPRESENTATION_SIZE = 2 ** 32 + +# Now make sure all the top-level modules and packages in pydevd are +# loaded. Any pydevd modules that aren't loaded at this point, will +# be loaded using their parent package's __path__ (i.e. one of the +# following). +preimport('pydevd', [ + '_pydev_bundle', + '_pydev_runfiles', + '_pydevd_bundle', + '_pydevd_frame_eval', + 'pydev_ipython', + 'pydevd_plugins', + 'pydevd', +]) + +# When pydevd is imported it sets the breakpoint behavior, but it needs to be +# overridden because by default pydevd will connect to the remote debugger using +# its own custom protocol rather than DAP. +import pydevd # noqa +import debugpy # noqa + + +def debugpy_breakpointhook(): + debugpy.breakpoint() + + +pydevd.install_breakpointhook(debugpy_breakpointhook) + +# Ensure that pydevd uses JSON protocol +from _pydevd_bundle import pydevd_constants +from _pydevd_bundle import pydevd_defaults +pydevd_defaults.PydevdCustomization.DEFAULT_PROTOCOL = pydevd_constants.HTTP_JSON_PROTOCOL diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/__pycache__/pydev_app_engine_debug_startup.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/__pycache__/pydev_app_engine_debug_startup.cpython-38.pyc new file mode 100644 index 0000000..4f7c5a7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/__pycache__/pydev_app_engine_debug_startup.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/__pycache__/pydev_coverage.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/__pycache__/pydev_coverage.cpython-38.pyc new file mode 100644 index 0000000..e98c62f Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/__pycache__/pydev_coverage.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/__pycache__/pydev_pysrc.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/__pycache__/pydev_pysrc.cpython-38.pyc new file mode 100644 index 0000000..93f387a Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/__pycache__/pydev_pysrc.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/__pycache__/pydev_run_in_console.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/__pycache__/pydev_run_in_console.cpython-38.pyc new file mode 100644 index 0000000..f8af010 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/__pycache__/pydev_run_in_console.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/__pycache__/pydevconsole.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/__pycache__/pydevconsole.cpython-38.pyc new file mode 100644 index 0000000..4bb4e4c Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/__pycache__/pydevconsole.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/__pycache__/pydevd.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/__pycache__/pydevd.cpython-38.pyc new file mode 100644 index 0000000..8140954 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/__pycache__/pydevd.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/__pycache__/pydevd_file_utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/__pycache__/pydevd_file_utils.cpython-38.pyc new file mode 100644 index 0000000..eafa387 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/__pycache__/pydevd_file_utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/__pycache__/pydevd_tracing.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/__pycache__/pydevd_tracing.cpython-38.pyc new file mode 100644 index 0000000..c3f4ef0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/__pycache__/pydevd_tracing.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/__pycache__/setup_pydevd_cython.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/__pycache__/setup_pydevd_cython.cpython-38.pyc new file mode 100644 index 0000000..da2e0ba Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/__pycache__/setup_pydevd_cython.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__init__.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..62245d4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/_pydev_calltip_util.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/_pydev_calltip_util.cpython-38.pyc new file mode 100644 index 0000000..19f03dd Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/_pydev_calltip_util.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/_pydev_completer.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/_pydev_completer.cpython-38.pyc new file mode 100644 index 0000000..3ccbb2d Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/_pydev_completer.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/_pydev_execfile.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/_pydev_execfile.cpython-38.pyc new file mode 100644 index 0000000..5598a76 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/_pydev_execfile.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/_pydev_filesystem_encoding.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/_pydev_filesystem_encoding.cpython-38.pyc new file mode 100644 index 0000000..d9ab4ef Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/_pydev_filesystem_encoding.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/_pydev_getopt.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/_pydev_getopt.cpython-38.pyc new file mode 100644 index 0000000..2127ada Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/_pydev_getopt.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/_pydev_imports_tipper.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/_pydev_imports_tipper.cpython-38.pyc new file mode 100644 index 0000000..1fdcb91 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/_pydev_imports_tipper.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/_pydev_jy_imports_tipper.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/_pydev_jy_imports_tipper.cpython-38.pyc new file mode 100644 index 0000000..cfa6eb9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/_pydev_jy_imports_tipper.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/_pydev_log.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/_pydev_log.cpython-38.pyc new file mode 100644 index 0000000..be17d0f Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/_pydev_log.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/_pydev_saved_modules.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/_pydev_saved_modules.cpython-38.pyc new file mode 100644 index 0000000..b0813a2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/_pydev_saved_modules.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/_pydev_sys_patch.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/_pydev_sys_patch.cpython-38.pyc new file mode 100644 index 0000000..debdeae Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/_pydev_sys_patch.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/_pydev_tipper_common.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/_pydev_tipper_common.cpython-38.pyc new file mode 100644 index 0000000..b3ce6e6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/_pydev_tipper_common.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_console_utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_console_utils.cpython-38.pyc new file mode 100644 index 0000000..19aee0a Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_console_utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_import_hook.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_import_hook.cpython-38.pyc new file mode 100644 index 0000000..35c2498 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_import_hook.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_imports.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_imports.cpython-38.pyc new file mode 100644 index 0000000..85eaa13 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_imports.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_ipython_console.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_ipython_console.cpython-38.pyc new file mode 100644 index 0000000..3b18689 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_ipython_console.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_ipython_console_011.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_ipython_console_011.cpython-38.pyc new file mode 100644 index 0000000..53ecb2f Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_ipython_console_011.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_is_thread_alive.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_is_thread_alive.cpython-38.pyc new file mode 100644 index 0000000..df1403c Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_is_thread_alive.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_localhost.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_localhost.cpython-38.pyc new file mode 100644 index 0000000..936a5ed Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_localhost.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_log.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_log.cpython-38.pyc new file mode 100644 index 0000000..59183a1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_log.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_monkey.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_monkey.cpython-38.pyc new file mode 100644 index 0000000..ee8c76f Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_monkey.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_monkey_qt.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_monkey_qt.cpython-38.pyc new file mode 100644 index 0000000..56ed67b Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_monkey_qt.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_override.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_override.cpython-38.pyc new file mode 100644 index 0000000..ca28aa9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_override.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_umd.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_umd.cpython-38.pyc new file mode 100644 index 0000000..0be2194 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_umd.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_versioncheck.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_versioncheck.cpython-38.pyc new file mode 100644 index 0000000..57af757 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/__pycache__/pydev_versioncheck.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_calltip_util.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_calltip_util.py new file mode 100644 index 0000000..aca108f --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_calltip_util.py @@ -0,0 +1,155 @@ +''' +License: Apache 2.0 +Author: Yuli Fitterman +''' +import types + +from _pydevd_bundle.pydevd_constants import IS_JYTHON + +try: + import inspect +except: + import traceback; + + traceback.print_exc() # Ok, no inspect available (search will not work) + +from _pydev_bundle._pydev_imports_tipper import signature_from_docstring + + +def is_bound_method(obj): + if isinstance(obj, types.MethodType): + return getattr(obj, '__self__', getattr(obj, 'im_self', None)) is not None + else: + return False + + +def get_class_name(instance): + return getattr(getattr(instance, "__class__", None), "__name__", None) + + +def get_bound_class_name(obj): + my_self = getattr(obj, '__self__', getattr(obj, 'im_self', None)) + if my_self is None: + return None + return get_class_name(my_self) + + +def get_description(obj): + try: + ob_call = obj.__call__ + except: + ob_call = None + + if isinstance(obj, type) or type(obj).__name__ == 'classobj': + fob = getattr(obj, '__init__', lambda: None) + if not isinstance(fob, (types.FunctionType, types.MethodType)): + fob = obj + elif is_bound_method(ob_call): + fob = ob_call + else: + fob = obj + + argspec = "" + fn_name = None + fn_class = None + if isinstance(fob, (types.FunctionType, types.MethodType)): + spec_info = inspect.getfullargspec(fob) + argspec = inspect.formatargspec(*spec_info) + fn_name = getattr(fob, '__name__', None) + if isinstance(obj, type) or type(obj).__name__ == 'classobj': + fn_name = "__init__" + fn_class = getattr(obj, "__name__", "UnknownClass") + elif is_bound_method(obj) or is_bound_method(ob_call): + fn_class = get_bound_class_name(obj) or "UnknownClass" + + else: + fn_name = getattr(fob, '__name__', None) + fn_self = getattr(fob, '__self__', None) + if fn_self is not None and not isinstance(fn_self, types.ModuleType): + fn_class = get_class_name(fn_self) + + doc_string = get_docstring(ob_call) if is_bound_method(ob_call) else get_docstring(obj) + return create_method_stub(fn_name, fn_class, argspec, doc_string) + + +def create_method_stub(fn_name, fn_class, argspec, doc_string): + if fn_name and argspec: + doc_string = "" if doc_string is None else doc_string + fn_stub = create_function_stub(fn_name, argspec, doc_string, indent=1 if fn_class else 0) + if fn_class: + expr = fn_class if fn_name == '__init__' else fn_class + '().' + fn_name + return create_class_stub(fn_class, fn_stub) + "\n" + expr + else: + expr = fn_name + return fn_stub + "\n" + expr + elif doc_string: + if fn_name: + restored_signature, _ = signature_from_docstring(doc_string, fn_name) + if restored_signature: + return create_method_stub(fn_name, fn_class, restored_signature, doc_string) + return create_function_stub('unknown', '(*args, **kwargs)', doc_string) + '\nunknown' + + else: + return '' + + +def get_docstring(obj): + if obj is not None: + try: + if IS_JYTHON: + # Jython + doc = obj.__doc__ + if doc is not None: + return doc + + from _pydev_bundle import _pydev_jy_imports_tipper + + is_method, infos = _pydev_jy_imports_tipper.ismethod(obj) + ret = '' + if is_method: + for info in infos: + ret += info.get_as_doc() + return ret + + else: + + doc = inspect.getdoc(obj) + if doc is not None: + return doc + except: + pass + else: + return '' + try: + # if no attempt succeeded, try to return repr()... + return repr(obj) + except: + try: + # otherwise the class + return str(obj.__class__) + except: + # if all fails, go to an empty string + return '' + + +def create_class_stub(class_name, contents): + return "class %s(object):\n%s" % (class_name, contents) + + +def create_function_stub(fn_name, fn_argspec, fn_docstring, indent=0): + + def shift_right(string, prefix): + return ''.join(prefix + line for line in string.splitlines(True)) + + fn_docstring = shift_right(inspect.cleandoc(fn_docstring), " " * (indent + 1)) + ret = ''' +def %s%s: + """%s""" + pass +''' % (fn_name, fn_argspec, fn_docstring) + ret = ret[1:] # remove first /n + ret = ret.replace('\t', " ") + if indent: + prefix = " " * indent + ret = shift_right(ret, prefix) + return ret diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_completer.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_completer.py new file mode 100644 index 0000000..ed0db4e --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_completer.py @@ -0,0 +1,267 @@ +from collections import namedtuple +from string import ascii_letters, digits + +from _pydevd_bundle import pydevd_xml +import pydevconsole + +import builtins as __builtin__ # Py3 + +try: + import java.lang # @UnusedImport + from _pydev_bundle import _pydev_jy_imports_tipper + _pydev_imports_tipper = _pydev_jy_imports_tipper +except ImportError: + IS_JYTHON = False + from _pydev_bundle import _pydev_imports_tipper + +dir2 = _pydev_imports_tipper.generate_imports_tip_for_module + + +#======================================================================================================================= +# _StartsWithFilter +#======================================================================================================================= +class _StartsWithFilter: + ''' + Used because we can't create a lambda that'll use an outer scope in jython 2.1 + ''' + + def __init__(self, start_with): + self.start_with = start_with.lower() + + def __call__(self, name): + return name.lower().startswith(self.start_with) + + +#======================================================================================================================= +# Completer +# +# This class was gotten from IPython.completer (dir2 was replaced with the completer already in pydev) +#======================================================================================================================= +class Completer: + + def __init__(self, namespace=None, global_namespace=None): + """Create a new completer for the command line. + + Completer([namespace,global_namespace]) -> completer instance. + + If unspecified, the default namespace where completions are performed + is __main__ (technically, __main__.__dict__). Namespaces should be + given as dictionaries. + + An optional second namespace can be given. This allows the completer + to handle cases where both the local and global scopes need to be + distinguished. + + Completer instances should be used as the completion mechanism of + readline via the set_completer() call: + + readline.set_completer(Completer(my_namespace).complete) + """ + + # Don't bind to namespace quite yet, but flag whether the user wants a + # specific namespace or to use __main__.__dict__. This will allow us + # to bind to __main__.__dict__ at completion time, not now. + if namespace is None: + self.use_main_ns = 1 + else: + self.use_main_ns = 0 + self.namespace = namespace + + # The global namespace, if given, can be bound directly + if global_namespace is None: + self.global_namespace = {} + else: + self.global_namespace = global_namespace + + def complete(self, text): + """Return the next possible completion for 'text'. + + This is called successively with state == 0, 1, 2, ... until it + returns None. The completion should begin with 'text'. + + """ + if self.use_main_ns: + # In pydev this option should never be used + raise RuntimeError('Namespace must be provided!') + self.namespace = __main__.__dict__ # @UndefinedVariable + + if "." in text: + return self.attr_matches(text) + else: + return self.global_matches(text) + + def global_matches(self, text): + """Compute matches when text is a simple name. + + Return a list of all keywords, built-in functions and names currently + defined in self.namespace or self.global_namespace that match. + + """ + + def get_item(obj, attr): + return obj[attr] + + a = {} + + for dict_with_comps in [__builtin__.__dict__, self.namespace, self.global_namespace]: # @UndefinedVariable + a.update(dict_with_comps) + + filter = _StartsWithFilter(text) + + return dir2(a, a.keys(), get_item, filter) + + def attr_matches(self, text): + """Compute matches when text contains a dot. + + Assuming the text is of the form NAME.NAME....[NAME], and is + evaluatable in self.namespace or self.global_namespace, it will be + evaluated and its attributes (as revealed by dir()) are used as + possible completions. (For class instances, class members are are + also considered.) + + WARNING: this can still invoke arbitrary C code, if an object + with a __getattr__ hook is evaluated. + + """ + import re + + # Another option, seems to work great. Catches things like ''. + m = re.match(r"(\S+(\.\w+)*)\.(\w*)$", text) # @UndefinedVariable + + if not m: + return [] + + expr, attr = m.group(1, 3) + try: + obj = eval(expr, self.namespace) + except: + try: + obj = eval(expr, self.global_namespace) + except: + return [] + + filter = _StartsWithFilter(attr) + + words = dir2(obj, filter=filter) + + return words + + +def generate_completions(frame, act_tok): + ''' + :return list(tuple(method_name, docstring, parameters, completion_type)) + + method_name: str + docstring: str + parameters: str -- i.e.: "(a, b)" + completion_type is an int + See: _pydev_bundle._pydev_imports_tipper for TYPE_ constants + ''' + if frame is None: + return [] + + # Not using frame.f_globals because of https://sourceforge.net/tracker2/?func=detail&aid=2541355&group_id=85796&atid=577329 + # (Names not resolved in generator expression in method) + # See message: http://mail.python.org/pipermail/python-list/2009-January/526522.html + updated_globals = {} + updated_globals.update(frame.f_globals) + updated_globals.update(frame.f_locals) # locals later because it has precedence over the actual globals + + if pydevconsole.IPYTHON: + completions = pydevconsole.get_completions(act_tok, act_tok, updated_globals, frame.f_locals) + else: + completer = Completer(updated_globals, None) + # list(tuple(name, descr, parameters, type)) + completions = completer.complete(act_tok) + + return completions + + +def generate_completions_as_xml(frame, act_tok): + completions = generate_completions(frame, act_tok) + return completions_to_xml(completions) + + +def completions_to_xml(completions): + valid_xml = pydevd_xml.make_valid_xml_value + quote = pydevd_xml.quote + msg = [""] + + for comp in completions: + msg.append('') + msg.append("") + + return ''.join(msg) + + +identifier_start = ascii_letters + '_' +identifier_part = ascii_letters + '_' + digits + +identifier_start = set(identifier_start) +identifier_part = set(identifier_part) + + +def isidentifier(s): + return s.isidentifier() + + +TokenAndQualifier = namedtuple('TokenAndQualifier', 'token, qualifier') + + +def extract_token_and_qualifier(text, line=0, column=0): + ''' + Extracts the token a qualifier from the text given the line/colum + (see test_extract_token_and_qualifier for examples). + + :param unicode text: + :param int line: 0-based + :param int column: 0-based + ''' + # Note: not using the tokenize module because text should be unicode and + # line/column refer to the unicode text (otherwise we'd have to know + # those ranges after converted to bytes). + if line < 0: + line = 0 + if column < 0: + column = 0 + + if isinstance(text, bytes): + text = text.decode('utf-8') + + lines = text.splitlines() + try: + text = lines[line] + except IndexError: + return TokenAndQualifier(u'', u'') + + if column >= len(text): + column = len(text) + + text = text[:column] + token = u'' + qualifier = u'' + + temp_token = [] + for i in range(column - 1, -1, -1): + c = text[i] + if c in identifier_part or isidentifier(c) or c == u'.': + temp_token.append(c) + else: + break + temp_token = u''.join(reversed(temp_token)) + if u'.' in temp_token: + temp_token = temp_token.split(u'.') + token = u'.'.join(temp_token[:-1]) + qualifier = temp_token[-1] + else: + qualifier = temp_token + + return TokenAndQualifier(token, qualifier) diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_execfile.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_execfile.py new file mode 100644 index 0000000..28ae403 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_execfile.py @@ -0,0 +1,14 @@ +# We must redefine it in Py3k if it's not already there +def execfile(file, glob=None, loc=None): + if glob is None: + import sys + glob = sys._getframe().f_back.f_globals + if loc is None: + loc = glob + + import tokenize + with tokenize.open(file) as stream: + contents = stream.read() + + # execute the script (note: it's important to compile first to have the filename set in debug mode) + exec(compile(contents + "\n", file, 'exec'), glob, loc) diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_filesystem_encoding.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_filesystem_encoding.py new file mode 120000 index 0000000..9e26cde --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_filesystem_encoding.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/57/26/19/5e17accfeb7f7eb7069b39ba6f92b671cbfbc984535d671d6eac70a733 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_getopt.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_getopt.py new file mode 120000 index 0000000..abbdfe5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_getopt.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/61/8a/61/c4dc130f2683ef7b16ce75aa738d42970e6f1c5f39fab2002f01ea5c1d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_imports_tipper.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_imports_tipper.py new file mode 100644 index 0000000..7f89c75 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_imports_tipper.py @@ -0,0 +1,373 @@ +import inspect +import os.path +import sys + +from _pydev_bundle._pydev_tipper_common import do_find +from _pydevd_bundle.pydevd_utils import hasattr_checked, dir_checked + +from inspect import getfullargspec + + +def getargspec(*args, **kwargs): + arg_spec = getfullargspec(*args, **kwargs) + return arg_spec.args, arg_spec.varargs, arg_spec.varkw, arg_spec.defaults, arg_spec.kwonlyargs or [], arg_spec.kwonlydefaults or {} + + +# completion types. +TYPE_IMPORT = '0' +TYPE_CLASS = '1' +TYPE_FUNCTION = '2' +TYPE_ATTR = '3' +TYPE_BUILTIN = '4' +TYPE_PARAM = '5' + + +def _imp(name, log=None): + try: + return __import__(name) + except: + if '.' in name: + sub = name[0:name.rfind('.')] + + if log is not None: + log.add_content('Unable to import', name, 'trying with', sub) + log.add_exception() + + return _imp(sub, log) + else: + s = 'Unable to import module: %s - sys.path: %s' % (str(name), sys.path) + if log is not None: + log.add_content(s) + log.add_exception() + + raise ImportError(s) + + +IS_IPY = False +if sys.platform == 'cli': + IS_IPY = True + _old_imp = _imp + + def _imp(name, log=None): + # We must add a reference in clr for .Net + import clr # @UnresolvedImport + initial_name = name + while '.' in name: + try: + clr.AddReference(name) + break # If it worked, that's OK. + except: + name = name[0:name.rfind('.')] + else: + try: + clr.AddReference(name) + except: + pass # That's OK (not dot net module). + + return _old_imp(initial_name, log) + + +def get_file(mod): + f = None + try: + f = inspect.getsourcefile(mod) or inspect.getfile(mod) + except: + try: + f = getattr(mod, '__file__', None) + except: + f = None + if f and f.lower(f[-4:]) in ['.pyc', '.pyo']: + filename = f[:-4] + '.py' + if os.path.exists(filename): + f = filename + + return f + + +def Find(name, log=None): + f = None + + mod = _imp(name, log) + parent = mod + foundAs = '' + + if inspect.ismodule(mod): + f = get_file(mod) + + components = name.split('.') + + old_comp = None + for comp in components[1:]: + try: + # this happens in the following case: + # we have mx.DateTime.mxDateTime.mxDateTime.pyd + # but after importing it, mx.DateTime.mxDateTime shadows access to mxDateTime.pyd + mod = getattr(mod, comp) + except AttributeError: + if old_comp != comp: + raise + + if inspect.ismodule(mod): + f = get_file(mod) + else: + if len(foundAs) > 0: + foundAs = foundAs + '.' + foundAs = foundAs + comp + + old_comp = comp + + return f, mod, parent, foundAs + + +def search_definition(data): + '''@return file, line, col + ''' + + data = data.replace('\n', '') + if data.endswith('.'): + data = data.rstrip('.') + f, mod, parent, foundAs = Find(data) + try: + return do_find(f, mod), foundAs + except: + return do_find(f, parent), foundAs + + +def generate_tip(data, log=None): + data = data.replace('\n', '') + if data.endswith('.'): + data = data.rstrip('.') + + f, mod, parent, foundAs = Find(data, log) + # print_ >> open('temp.txt', 'w'), f + tips = generate_imports_tip_for_module(mod) + return f, tips + + +def check_char(c): + if c == '-' or c == '.': + return '_' + return c + + +_SENTINEL = object() + + +def generate_imports_tip_for_module(obj_to_complete, dir_comps=None, getattr=getattr, filter=lambda name:True): + ''' + @param obj_to_complete: the object from where we should get the completions + @param dir_comps: if passed, we should not 'dir' the object and should just iterate those passed as kwonly_arg parameter + @param getattr: the way to get kwonly_arg given object from the obj_to_complete (used for the completer) + @param filter: kwonly_arg callable that receives the name and decides if it should be appended or not to the results + @return: list of tuples, so that each tuple represents kwonly_arg completion with: + name, doc, args, type (from the TYPE_* constants) + ''' + ret = [] + + if dir_comps is None: + dir_comps = dir_checked(obj_to_complete) + if hasattr_checked(obj_to_complete, '__dict__'): + dir_comps.append('__dict__') + if hasattr_checked(obj_to_complete, '__class__'): + dir_comps.append('__class__') + + get_complete_info = True + + if len(dir_comps) > 1000: + # ok, we don't want to let our users wait forever... + # no complete info for you... + + get_complete_info = False + + dontGetDocsOn = (float, int, str, tuple, list, dict) + dontGetattrOn = (dict, list, set, tuple) + for d in dir_comps: + + if d is None: + continue + + if not filter(d): + continue + + args = '' + + try: + try: + if isinstance(obj_to_complete, dontGetattrOn): + raise Exception('Since python 3.9, e.g. "dict[str]" will return' + " a dict that's only supposed to take strings. " + 'Interestingly, e.g. dict["val"] is also valid ' + 'and presumably represents a dict that only takes ' + 'keys that are "val". This breaks our check for ' + 'class attributes.') + obj = getattr(obj_to_complete.__class__, d) + except: + obj = getattr(obj_to_complete, d) + except: # just ignore and get it without additional info + ret.append((d, '', args, TYPE_BUILTIN)) + else: + + if get_complete_info: + try: + retType = TYPE_BUILTIN + + # check if we have to get docs + getDoc = True + for class_ in dontGetDocsOn: + + if isinstance(obj, class_): + getDoc = False + break + + doc = '' + if getDoc: + # no need to get this info... too many constants are defined and + # makes things much slower (passing all that through sockets takes quite some time) + try: + doc = inspect.getdoc(obj) + if doc is None: + doc = '' + except: # may happen on jython when checking java classes (so, just ignore it) + doc = '' + + if inspect.ismethod(obj) or inspect.isbuiltin(obj) or inspect.isfunction(obj) or inspect.isroutine(obj): + try: + args, vargs, kwargs, defaults, kwonly_args, kwonly_defaults = getargspec(obj) + + args = args[:] + + for kwonly_arg in kwonly_args: + default = kwonly_defaults.get(kwonly_arg, _SENTINEL) + if default is not _SENTINEL: + args.append('%s=%s' % (kwonly_arg, default)) + else: + args.append(str(kwonly_arg)) + + args = '(%s)' % (', '.join(args)) + except TypeError: + # ok, let's see if we can get the arguments from the doc + args, doc = signature_from_docstring(doc, getattr(obj, '__name__', None)) + + retType = TYPE_FUNCTION + + elif inspect.isclass(obj): + retType = TYPE_CLASS + + elif inspect.ismodule(obj): + retType = TYPE_IMPORT + + else: + retType = TYPE_ATTR + + # add token and doc to return - assure only strings. + ret.append((d, doc, args, retType)) + + except: # just ignore and get it without aditional info + ret.append((d, '', args, TYPE_BUILTIN)) + + else: # get_complete_info == False + if inspect.ismethod(obj) or inspect.isbuiltin(obj) or inspect.isfunction(obj) or inspect.isroutine(obj): + retType = TYPE_FUNCTION + + elif inspect.isclass(obj): + retType = TYPE_CLASS + + elif inspect.ismodule(obj): + retType = TYPE_IMPORT + + else: + retType = TYPE_ATTR + # ok, no complete info, let's try to do this as fast and clean as possible + # so, no docs for this kind of information, only the signatures + ret.append((d, '', str(args), retType)) + + return ret + + +def signature_from_docstring(doc, obj_name): + args = '()' + try: + found = False + if len(doc) > 0: + if IS_IPY: + # Handle case where we have the situation below + # sort(self, object cmp, object key) + # sort(self, object cmp, object key, bool reverse) + # sort(self) + # sort(self, object cmp) + + # Or: sort(self: list, cmp: object, key: object) + # sort(self: list, cmp: object, key: object, reverse: bool) + # sort(self: list) + # sort(self: list, cmp: object) + if obj_name: + name = obj_name + '(' + + # Fix issue where it was appearing sort(aa)sort(bb)sort(cc) in the same line. + lines = doc.splitlines() + if len(lines) == 1: + c = doc.count(name) + if c > 1: + doc = ('\n' + name).join(doc.split(name)) + + major = '' + for line in doc.splitlines(): + if line.startswith(name) and line.endswith(')'): + if len(line) > len(major): + major = line + if major: + args = major[major.index('('):] + found = True + + if not found: + i = doc.find('->') + if i < 0: + i = doc.find('--') + if i < 0: + i = doc.find('\n') + if i < 0: + i = doc.find('\r') + + if i > 0: + s = doc[0:i] + s = s.strip() + + # let's see if we have a docstring in the first line + if s[-1] == ')': + start = s.find('(') + if start >= 0: + end = s.find('[') + if end <= 0: + end = s.find(')') + if end <= 0: + end = len(s) + + args = s[start:end] + if not args[-1] == ')': + args = args + ')' + + # now, get rid of unwanted chars + l = len(args) - 1 + r = [] + for i in range(len(args)): + if i == 0 or i == l: + r.append(args[i]) + else: + r.append(check_char(args[i])) + + args = ''.join(r) + + if IS_IPY: + if args.startswith('(self:'): + i = args.find(',') + if i >= 0: + args = '(self' + args[i:] + else: + args = '(self)' + i = args.find(')') + if i > 0: + args = args[:i + 1] + + except: + pass + return args, doc diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_jy_imports_tipper.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_jy_imports_tipper.py new file mode 100644 index 0000000..a30c4d3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_jy_imports_tipper.py @@ -0,0 +1,492 @@ +import traceback +from io import StringIO +from java.lang import StringBuffer # @UnresolvedImport +from java.lang import String # @UnresolvedImport +import java.lang # @UnresolvedImport +import sys +from _pydev_bundle._pydev_tipper_common import do_find + +from org.python.core import PyReflectedFunction # @UnresolvedImport + +from org.python import core # @UnresolvedImport +from org.python.core import PyClass # @UnresolvedImport + +# completion types. +TYPE_IMPORT = '0' +TYPE_CLASS = '1' +TYPE_FUNCTION = '2' +TYPE_ATTR = '3' +TYPE_BUILTIN = '4' +TYPE_PARAM = '5' + + +def _imp(name): + try: + return __import__(name) + except: + if '.' in name: + sub = name[0:name.rfind('.')] + return _imp(sub) + else: + s = 'Unable to import module: %s - sys.path: %s' % (str(name), sys.path) + raise RuntimeError(s) + + +import java.util +_java_rt_file = getattr(java.util, '__file__', None) + + +def Find(name): + f = None + if name.startswith('__builtin__'): + if name == '__builtin__.str': + name = 'org.python.core.PyString' + elif name == '__builtin__.dict': + name = 'org.python.core.PyDictionary' + + mod = _imp(name) + parent = mod + foundAs = '' + + try: + f = getattr(mod, '__file__', None) + except: + f = None + + components = name.split('.') + old_comp = None + for comp in components[1:]: + try: + # this happens in the following case: + # we have mx.DateTime.mxDateTime.mxDateTime.pyd + # but after importing it, mx.DateTime.mxDateTime does shadows access to mxDateTime.pyd + mod = getattr(mod, comp) + except AttributeError: + if old_comp != comp: + raise + + if hasattr(mod, '__file__'): + f = mod.__file__ + else: + if len(foundAs) > 0: + foundAs = foundAs + '.' + foundAs = foundAs + comp + + old_comp = comp + + if f is None and name.startswith('java.lang'): + # Hack: java.lang.__file__ is None on Jython 2.7 (whereas it pointed to rt.jar on Jython 2.5). + f = _java_rt_file + + if f is not None: + if f.endswith('.pyc'): + f = f[:-1] + elif f.endswith('$py.class'): + f = f[:-len('$py.class')] + '.py' + return f, mod, parent, foundAs + + +def format_param_class_name(paramClassName): + if paramClassName.startswith(''): + paramClassName = paramClassName[len(' + paramClassName = paramClassName.split('\'')[1] + except: + paramClassName = repr(paramTypesClass) # just in case something else happens... it will at least be visible + # if the parameter equals [C, it means it it a char array, so, let's change it + + a = format_param_class_name(paramClassName) + # a = a.replace('[]','Array') + # a = a.replace('Object', 'obj') + # a = a.replace('String', 's') + # a = a.replace('Integer', 'i') + # a = a.replace('Char', 'c') + # a = a.replace('Double', 'd') + args.append(a) # so we don't leave invalid code + + info = Info(name, args=args, ret=ret) + # print_ info.basic_as_str() + infos.append(info) + + return 1, infos + except Exception: + s = StringIO() + traceback.print_exc(file=s) + return 1, [Info(str('ERROR'), doc=s.getvalue())] + + return 0, None + + +def ismodule(mod): + # java modules... do we have other way to know that? + if not hasattr(mod, 'getClass') and not hasattr(mod, '__class__') \ + and hasattr(mod, '__name__'): + return 1 + + return isinstance(mod, core.PyModule) + + +def dir_obj(obj): + ret = [] + found = java.util.HashMap() + original = obj + if hasattr(obj, '__class__'): + if obj.__class__ == java.lang.Class: + + # get info about superclasses + classes = [] + classes.append(obj) + try: + c = obj.getSuperclass() + except TypeError: + # may happen on jython when getting the java.lang.Class class + c = obj.getSuperclass(obj) + + while c != None: + classes.append(c) + c = c.getSuperclass() + + # get info about interfaces + interfs = [] + for obj in classes: + try: + interfs.extend(obj.getInterfaces()) + except TypeError: + interfs.extend(obj.getInterfaces(obj)) + classes.extend(interfs) + + # now is the time when we actually get info on the declared methods and fields + for obj in classes: + try: + declaredMethods = obj.getDeclaredMethods() + except TypeError: + declaredMethods = obj.getDeclaredMethods(obj) + + try: + declaredFields = obj.getDeclaredFields() + except TypeError: + declaredFields = obj.getDeclaredFields(obj) + + for i in range(len(declaredMethods)): + name = declaredMethods[i].getName() + ret.append(name) + found.put(name, 1) + + for i in range(len(declaredFields)): + name = declaredFields[i].getName() + ret.append(name) + found.put(name, 1) + + elif isclass(obj.__class__): + d = dir(obj.__class__) + for name in d: + ret.append(name) + found.put(name, 1) + + # this simple dir does not always get all the info, that's why we have the part before + # (e.g.: if we do a dir on String, some methods that are from other interfaces such as + # charAt don't appear) + d = dir(original) + for name in d: + if found.get(name) != 1: + ret.append(name) + + return ret + + +def format_arg(arg): + '''formats an argument to be shown + ''' + + s = str(arg) + dot = s.rfind('.') + if dot >= 0: + s = s[dot + 1:] + + s = s.replace(';', '') + s = s.replace('[]', 'Array') + if len(s) > 0: + c = s[0].lower() + s = c + s[1:] + + return s + + +def search_definition(data): + '''@return file, line, col + ''' + + data = data.replace('\n', '') + if data.endswith('.'): + data = data.rstrip('.') + f, mod, parent, foundAs = Find(data) + try: + return do_find(f, mod), foundAs + except: + return do_find(f, parent), foundAs + + +def generate_imports_tip_for_module(obj_to_complete, dir_comps=None, getattr=getattr, filter=lambda name:True): + ''' + @param obj_to_complete: the object from where we should get the completions + @param dir_comps: if passed, we should not 'dir' the object and should just iterate those passed as a parameter + @param getattr: the way to get a given object from the obj_to_complete (used for the completer) + @param filter: a callable that receives the name and decides if it should be appended or not to the results + @return: list of tuples, so that each tuple represents a completion with: + name, doc, args, type (from the TYPE_* constants) + ''' + ret = [] + + if dir_comps is None: + dir_comps = dir_obj(obj_to_complete) + + for d in dir_comps: + + if d is None: + continue + + if not filter(d): + continue + + args = '' + doc = '' + retType = TYPE_BUILTIN + + try: + obj = getattr(obj_to_complete, d) + except (AttributeError, java.lang.NoClassDefFoundError): + # jython has a bug in its custom classloader that prevents some things from working correctly, so, let's see if + # we can fix that... (maybe fixing it in jython itself would be a better idea, as this is clearly a bug) + # for that we need a custom classloader... we have references from it in the below places: + # + # http://mindprod.com/jgloss/classloader.html + # http://www.javaworld.com/javaworld/jw-03-2000/jw-03-classload-p2.html + # http://freshmeat.net/articles/view/1643/ + # + # note: this only happens when we add things to the sys.path at runtime, if they are added to the classpath + # before the run, everything goes fine. + # + # The code below ilustrates what I mean... + # + # import sys + # sys.path.insert(1, r"C:\bin\eclipse310\plugins\org.junit_3.8.1\junit.jar" ) + # + # import junit.framework + # print_ dir(junit.framework) #shows the TestCase class here + # + # import junit.framework.TestCase + # + # raises the error: + # Traceback (innermost last): + # File "", line 1, in ? + # ImportError: No module named TestCase + # + # whereas if we had added the jar to the classpath before, everything would be fine by now... + + ret.append((d, '', '', retType)) + # that's ok, private things cannot be gotten... + continue + else: + + isMet = ismethod(obj) + if isMet[0] and isMet[1]: + info = isMet[1][0] + try: + args, vargs, kwargs = info.args, info.varargs, info.kwargs + doc = info.get_as_doc() + r = '' + for a in (args): + if len(r) > 0: + r += ', ' + r += format_arg(a) + args = '(%s)' % (r) + except TypeError: + traceback.print_exc() + args = '()' + + retType = TYPE_FUNCTION + + elif isclass(obj): + retType = TYPE_CLASS + + elif ismodule(obj): + retType = TYPE_IMPORT + + # add token and doc to return - assure only strings. + ret.append((d, doc, args, retType)) + + return ret + + +if __name__ == "__main__": + sys.path.append(r'D:\dev_programs\eclipse_3\310\eclipse\plugins\org.junit_3.8.1\junit.jar') + sys.stdout.write('%s\n' % Find('junit.framework.TestCase')) diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_log.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_log.py new file mode 100644 index 0000000..7328d62 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_log.py @@ -0,0 +1,24 @@ +import traceback +import sys +from io import StringIO + + +class Log: + + def __init__(self): + self._contents = [] + + def add_content(self, *content): + self._contents.append(' '.join(content)) + + def add_exception(self): + s = StringIO() + exc_info = sys.exc_info() + traceback.print_exception(exc_info[0], exc_info[1], exc_info[2], limit=None, file=s) + self._contents.append(s.getvalue()) + + def get_contents(self): + return '\n'.join(self._contents) + + def clear_log(self): + del self._contents[:] diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_saved_modules.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_saved_modules.py new file mode 100644 index 0000000..bcf5f9b --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_saved_modules.py @@ -0,0 +1,110 @@ +import sys +import os + + +def find_in_pythonpath(module_name): + # Check all the occurrences where we could match the given module/package in the PYTHONPATH. + # + # This is a simplistic approach, but probably covers most of the cases we're interested in + # (i.e.: this may fail in more elaborate cases of import customization or .zip imports, but + # this should be rare in general). + found_at = [] + + parts = module_name.split('.') # split because we need to convert mod.name to mod/name + for path in sys.path: + target = os.path.join(path, *parts) + target_py = target + '.py' + if os.path.isdir(target): + found_at.append(target) + if os.path.exists(target_py): + found_at.append(target_py) + return found_at + + +class DebuggerInitializationError(Exception): + pass + + +class VerifyShadowedImport(object): + + def __init__(self, import_name): + self.import_name = import_name + + def __enter__(self): + return self + + def __exit__(self, exc_type, exc_val, exc_tb): + if exc_type is not None: + if exc_type == DebuggerInitializationError: + return False # It's already an error we generated. + + # We couldn't even import it... + found_at = find_in_pythonpath(self.import_name) + + if len(found_at) <= 1: + # It wasn't found anywhere or there was just 1 occurrence. + # Let's just return to show the original error. + return False + + # We found more than 1 occurrence of the same module in the PYTHONPATH + # (the user module and the standard library module). + # Let's notify the user as it seems that the module was shadowed. + msg = self._generate_shadowed_import_message(found_at) + raise DebuggerInitializationError(msg) + + def _generate_shadowed_import_message(self, found_at): + msg = '''It was not possible to initialize the debugger due to a module name conflict. + +i.e.: the module "%(import_name)s" could not be imported because it is shadowed by: +%(found_at)s +Please rename this file/folder so that the original module from the standard library can be imported.''' % { + 'import_name': self.import_name, 'found_at': found_at[0]} + + return msg + + def check(self, module, expected_attributes): + msg = '' + for expected_attribute in expected_attributes: + try: + getattr(module, expected_attribute) + except: + msg = self._generate_shadowed_import_message([module.__file__]) + break + + if msg: + raise DebuggerInitializationError(msg) + + +with VerifyShadowedImport('threading') as verify_shadowed: + import threading; verify_shadowed.check(threading, ['Thread', 'settrace', 'setprofile', 'Lock', 'RLock', 'current_thread']) + +with VerifyShadowedImport('time') as verify_shadowed: + import time; verify_shadowed.check(time, ['sleep', 'time', 'mktime']) + +with VerifyShadowedImport('socket') as verify_shadowed: + import socket; verify_shadowed.check(socket, ['socket', 'gethostname', 'getaddrinfo']) + +with VerifyShadowedImport('select') as verify_shadowed: + import select; verify_shadowed.check(select, ['select']) + +with VerifyShadowedImport('code') as verify_shadowed: + import code as _code; verify_shadowed.check(_code, ['compile_command', 'InteractiveInterpreter']) + +with VerifyShadowedImport('_thread') as verify_shadowed: + import _thread as thread; verify_shadowed.check(thread, ['start_new_thread', 'start_new', 'allocate_lock']) + +with VerifyShadowedImport('queue') as verify_shadowed: + import queue as _queue; verify_shadowed.check(_queue, ['Queue', 'LifoQueue', 'Empty', 'Full', 'deque']) + +with VerifyShadowedImport('xmlrpclib') as verify_shadowed: + import xmlrpc.client as xmlrpclib; verify_shadowed.check(xmlrpclib, ['ServerProxy', 'Marshaller', 'Server']) + +with VerifyShadowedImport('xmlrpc.server') as verify_shadowed: + import xmlrpc.server as xmlrpcserver; verify_shadowed.check(xmlrpcserver, ['SimpleXMLRPCServer']) + +with VerifyShadowedImport('http.server') as verify_shadowed: + import http.server as BaseHTTPServer; verify_shadowed.check(BaseHTTPServer, ['BaseHTTPRequestHandler']) + +# If set, this is a version of the threading.enumerate that doesn't have the patching to remove the pydevd threads. +# Note: as it can't be set during execution, don't import the name (import the module and access it through its name). +pydevd_saved_threading_enumerate = None diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_sys_patch.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_sys_patch.py new file mode 100644 index 0000000..f506750 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_sys_patch.py @@ -0,0 +1,73 @@ +import sys + + +def patch_sys_module(): + + def patched_exc_info(fun): + + def pydev_debugger_exc_info(): + type, value, traceback = fun() + if type == ImportError: + # we should not show frame added by plugin_import call + if traceback and hasattr(traceback, "tb_next"): + return type, value, traceback.tb_next + return type, value, traceback + + return pydev_debugger_exc_info + + system_exc_info = sys.exc_info + sys.exc_info = patched_exc_info(system_exc_info) + if not hasattr(sys, "system_exc_info"): + sys.system_exc_info = system_exc_info + + +def patched_reload(orig_reload): + + def pydev_debugger_reload(module): + orig_reload(module) + if module.__name__ == "sys": + # if sys module was reloaded we should patch it again + patch_sys_module() + + return pydev_debugger_reload + + +def patch_reload(): + import builtins # Py3 + + if hasattr(builtins, "reload"): + sys.builtin_orig_reload = builtins.reload + builtins.reload = patched_reload(sys.builtin_orig_reload) # @UndefinedVariable + try: + import imp + sys.imp_orig_reload = imp.reload + imp.reload = patched_reload(sys.imp_orig_reload) # @UndefinedVariable + except: + pass + else: + try: + import importlib + sys.importlib_orig_reload = importlib.reload # @UndefinedVariable + importlib.reload = patched_reload(sys.importlib_orig_reload) # @UndefinedVariable + except: + pass + + del builtins + + +def cancel_patches_in_sys_module(): + sys.exc_info = sys.system_exc_info # @UndefinedVariable + import builtins # Py3 + + if hasattr(sys, "builtin_orig_reload"): + builtins.reload = sys.builtin_orig_reload + + if hasattr(sys, "imp_orig_reload"): + import imp + imp.reload = sys.imp_orig_reload + + if hasattr(sys, "importlib_orig_reload"): + import importlib + importlib.reload = sys.importlib_orig_reload + + del builtins diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_tipper_common.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_tipper_common.py new file mode 100644 index 0000000..d97e95d --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_tipper_common.py @@ -0,0 +1,52 @@ +import inspect +import re + + +def do_find(f, mod): + import linecache + if inspect.ismodule(mod): + return f, 0, 0 + + lines = linecache.getlines(f) + + if inspect.isclass(mod): + name = mod.__name__ + pat = re.compile(r'^\s*class\s*' + name + r'\b') + for i in range(len(lines)): + if pat.match(lines[i]): + return f, i, 0 + + return f, 0, 0 + + if inspect.ismethod(mod): + mod = mod.im_func + + if inspect.isfunction(mod): + try: + mod = mod.func_code + except AttributeError: + mod = mod.__code__ # python 3k + + if inspect.istraceback(mod): + mod = mod.tb_frame + + if inspect.isframe(mod): + mod = mod.f_code + + if inspect.iscode(mod): + if not hasattr(mod, 'co_filename'): + return None, 0, 0 + + if not hasattr(mod, 'co_firstlineno'): + return mod.co_filename, 0, 0 + + lnum = mod.co_firstlineno + pat = re.compile(r'^(\s*def\s)|(.*(? 0: + if pat.match(lines[lnum]): + break + lnum -= 1 + + return f, lnum, 0 + + raise RuntimeError('Do not know about: ' + f + ' ' + str(mod)) diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/fsnotify/__init__.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/fsnotify/__init__.py new file mode 100644 index 0000000..fe6ed41 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/fsnotify/__init__.py @@ -0,0 +1,353 @@ +''' +Sample usage to track changes in a thread. + + import threading + import time + watcher = fsnotify.Watcher() + watcher.accepted_file_extensions = {'.py', '.pyw'} + + # Configure target values to compute throttling. + # Note: internal sleep times will be updated based on + # profiling the actual application runtime to match + # those values. + + watcher.target_time_for_single_scan = 2. + watcher.target_time_for_notification = 4. + + watcher.set_tracked_paths([target_dir]) + + def start_watching(): # Called from thread + for change_enum, change_path in watcher.iter_changes(): + if change_enum == fsnotify.Change.added: + print('Added: ', change_path) + elif change_enum == fsnotify.Change.modified: + print('Modified: ', change_path) + elif change_enum == fsnotify.Change.deleted: + print('Deleted: ', change_path) + + t = threading.Thread(target=start_watching) + t.daemon = True + t.start() + + try: + ... + finally: + watcher.dispose() + + +Note: changes are only reported for files (added/modified/deleted), not directories. +''' +import threading +import sys +from os.path import basename +from _pydev_bundle import pydev_log +from os import scandir + +try: + from enum import IntEnum +except: + + class IntEnum(object): + pass + +import time + +__author__ = 'Fabio Zadrozny' +__email__ = 'fabiofz@gmail.com' +__version__ = '0.1.5' # Version here and in setup.py + + +class Change(IntEnum): + added = 1 + modified = 2 + deleted = 3 + + +class _SingleVisitInfo(object): + + def __init__(self): + self.count = 0 + self.visited_dirs = set() + self.file_to_mtime = {} + self.last_sleep_time = time.time() + + +class _PathWatcher(object): + ''' + Helper to watch a single path. + ''' + + def __init__(self, root_path, accept_directory, accept_file, single_visit_info, max_recursion_level, sleep_time=.0): + ''' + :type root_path: str + :type accept_directory: Callback[str, bool] + :type accept_file: Callback[str, bool] + :type max_recursion_level: int + :type sleep_time: float + ''' + self.accept_directory = accept_directory + self.accept_file = accept_file + self._max_recursion_level = max_recursion_level + + self._root_path = root_path + + # Initial sleep value for throttling, it'll be auto-updated based on the + # Watcher.target_time_for_single_scan. + self.sleep_time = sleep_time + + self.sleep_at_elapsed = 1. / 30. + + # When created, do the initial snapshot right away! + old_file_to_mtime = {} + self._check(single_visit_info, lambda _change: None, old_file_to_mtime) + + def __eq__(self, o): + if isinstance(o, _PathWatcher): + return self._root_path == o._root_path + + return False + + def __ne__(self, o): + return not self == o + + def __hash__(self): + return hash(self._root_path) + + def _check_dir(self, dir_path, single_visit_info, append_change, old_file_to_mtime, level): + # This is the actual poll loop + if dir_path in single_visit_info.visited_dirs or level > self._max_recursion_level: + return + single_visit_info.visited_dirs.add(dir_path) + try: + if isinstance(dir_path, bytes): + try: + dir_path = dir_path.decode(sys.getfilesystemencoding()) + except UnicodeDecodeError: + try: + dir_path = dir_path.decode('utf-8') + except UnicodeDecodeError: + return # Ignore if we can't deal with the path. + + new_files = single_visit_info.file_to_mtime + + for entry in scandir(dir_path): + single_visit_info.count += 1 + + # Throttle if needed inside the loop + # to avoid consuming too much CPU. + if single_visit_info.count % 300 == 0: + if self.sleep_time > 0: + t = time.time() + diff = t - single_visit_info.last_sleep_time + if diff > self.sleep_at_elapsed: + time.sleep(self.sleep_time) + single_visit_info.last_sleep_time = time.time() + + if entry.is_dir(): + if self.accept_directory(entry.path): + self._check_dir(entry.path, single_visit_info, append_change, old_file_to_mtime, level + 1) + + elif self.accept_file(entry.path): + stat = entry.stat() + mtime = (stat.st_mtime_ns, stat.st_size) + path = entry.path + new_files[path] = mtime + + old_mtime = old_file_to_mtime.pop(path, None) + if not old_mtime: + append_change((Change.added, path)) + elif old_mtime != mtime: + append_change((Change.modified, path)) + + except OSError: + pass # Directory was removed in the meanwhile. + + def _check(self, single_visit_info, append_change, old_file_to_mtime): + self._check_dir(self._root_path, single_visit_info, append_change, old_file_to_mtime, 0) + + +class Watcher(object): + + # By default (if accept_directory is not specified), these will be the + # ignored directories. + ignored_dirs = {u'.git', u'__pycache__', u'.idea', u'node_modules', u'.metadata'} + + # By default (if accept_file is not specified), these will be the + # accepted files. + accepted_file_extensions = () + + # Set to the target value for doing full scan of all files (adds a sleep inside the poll loop + # which processes files to reach the target time). + # Lower values will consume more CPU + # Set to 0.0 to have no sleeps (which will result in a higher cpu load). + target_time_for_single_scan = 2.0 + + # Set the target value from the start of one scan to the start of another scan (adds a + # sleep after a full poll is done to reach the target time). + # Lower values will consume more CPU. + # Set to 0.0 to have a new scan start right away without any sleeps. + target_time_for_notification = 4.0 + + # Set to True to print the time for a single poll through all the paths. + print_poll_time = False + + # This is the maximum recursion level. + max_recursion_level = 10 + + def __init__(self, accept_directory=None, accept_file=None): + ''' + :param Callable[str, bool] accept_directory: + Callable that returns whether a directory should be watched. + Note: if passed it'll override the `ignored_dirs` + + :param Callable[str, bool] accept_file: + Callable that returns whether a file should be watched. + Note: if passed it'll override the `accepted_file_extensions`. + ''' + self._path_watchers = set() + self._disposed = threading.Event() + + if accept_directory is None: + accept_directory = lambda dir_path: basename(dir_path) not in self.ignored_dirs + if accept_file is None: + accept_file = lambda path_name: \ + not self.accepted_file_extensions or path_name.endswith(self.accepted_file_extensions) + self.accept_file = accept_file + self.accept_directory = accept_directory + self._single_visit_info = _SingleVisitInfo() + + @property + def accept_directory(self): + return self._accept_directory + + @accept_directory.setter + def accept_directory(self, accept_directory): + self._accept_directory = accept_directory + for path_watcher in self._path_watchers: + path_watcher.accept_directory = accept_directory + + @property + def accept_file(self): + return self._accept_file + + @accept_file.setter + def accept_file(self, accept_file): + self._accept_file = accept_file + for path_watcher in self._path_watchers: + path_watcher.accept_file = accept_file + + def dispose(self): + self._disposed.set() + + @property + def path_watchers(self): + return tuple(self._path_watchers) + + def set_tracked_paths(self, paths): + """ + Note: always resets all path trackers to track the passed paths. + """ + if not isinstance(paths, (list, tuple, set)): + paths = (paths,) + + # Sort by the path len so that the bigger paths come first (so, + # if there's any nesting we want the nested paths to be visited + # before the parent paths so that the max_recursion_level is correct). + paths = sorted(set(paths), key=lambda path:-len(path)) + path_watchers = set() + + self._single_visit_info = _SingleVisitInfo() + + initial_time = time.time() + for path in paths: + sleep_time = 0. # When collecting the first time, sleep_time should be 0! + path_watcher = _PathWatcher( + path, + self.accept_directory, + self.accept_file, + self._single_visit_info, + max_recursion_level=self.max_recursion_level, + sleep_time=sleep_time, + ) + + path_watchers.add(path_watcher) + + actual_time = (time.time() - initial_time) + + pydev_log.debug('Tracking the following paths for changes: %s', paths) + pydev_log.debug('Time to track: %.2fs', actual_time) + pydev_log.debug('Folders found: %s', len(self._single_visit_info.visited_dirs)) + pydev_log.debug('Files found: %s', len(self._single_visit_info.file_to_mtime)) + self._path_watchers = path_watchers + + def iter_changes(self): + ''' + Continuously provides changes (until dispose() is called). + + Changes provided are tuples with the Change enum and filesystem path. + + :rtype: Iterable[Tuple[Change, str]] + ''' + while not self._disposed.is_set(): + initial_time = time.time() + + old_visit_info = self._single_visit_info + old_file_to_mtime = old_visit_info.file_to_mtime + changes = [] + append_change = changes.append + + self._single_visit_info = single_visit_info = _SingleVisitInfo() + for path_watcher in self._path_watchers: + path_watcher._check(single_visit_info, append_change, old_file_to_mtime) + + # Note that we pop entries while visiting, so, what remained is what's deleted. + for entry in old_file_to_mtime: + append_change((Change.deleted, entry)) + + for change in changes: + yield change + + actual_time = (time.time() - initial_time) + if self.print_poll_time: + print('--- Total poll time: %.3fs' % actual_time) + + if actual_time > 0: + if self.target_time_for_single_scan <= 0.0: + for path_watcher in self._path_watchers: + path_watcher.sleep_time = 0.0 + else: + perc = self.target_time_for_single_scan / actual_time + + # Prevent from changing the values too much (go slowly into the right + # direction). + # (to prevent from cases where the user puts the machine on sleep and + # values become too skewed). + if perc > 2.: + perc = 2. + elif perc < 0.5: + perc = 0.5 + + for path_watcher in self._path_watchers: + if path_watcher.sleep_time <= 0.0: + path_watcher.sleep_time = 0.001 + new_sleep_time = path_watcher.sleep_time * perc + + # Prevent from changing the values too much (go slowly into the right + # direction). + # (to prevent from cases where the user puts the machine on sleep and + # values become too skewed). + diff_sleep_time = new_sleep_time - path_watcher.sleep_time + path_watcher.sleep_time += (diff_sleep_time / (3.0 * len(self._path_watchers))) + + if actual_time > 0: + self._disposed.wait(actual_time) + + if path_watcher.sleep_time < 0.001: + path_watcher.sleep_time = 0.001 + + # print('new sleep time: %s' % path_watcher.sleep_time) + + diff = self.target_time_for_notification - actual_time + if diff > 0.: + self._disposed.wait(diff) + diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/fsnotify/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/fsnotify/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..53d09b8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/fsnotify/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/pydev_console_utils.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/pydev_console_utils.py new file mode 100644 index 0000000..5c87ac8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/pydev_console_utils.py @@ -0,0 +1,639 @@ +import os +import sys +import traceback +from _pydev_bundle.pydev_imports import xmlrpclib, _queue, Exec +from _pydev_bundle._pydev_calltip_util import get_description +from _pydevd_bundle import pydevd_vars +from _pydevd_bundle import pydevd_xml +from _pydevd_bundle.pydevd_constants import (IS_JYTHON, NEXT_VALUE_SEPARATOR, get_global_debugger, + silence_warnings_decorator) +from contextlib import contextmanager +from _pydev_bundle import pydev_log +from _pydevd_bundle.pydevd_utils import interrupt_main_thread + +from io import StringIO + + +# ======================================================================================================================= +# BaseStdIn +# ======================================================================================================================= +class BaseStdIn: + + def __init__(self, original_stdin=sys.stdin, *args, **kwargs): + try: + self.encoding = sys.stdin.encoding + except: + # Not sure if it's available in all Python versions... + pass + self.original_stdin = original_stdin + + try: + self.errors = sys.stdin.errors # Who knew? sys streams have an errors attribute! + except: + # Not sure if it's available in all Python versions... + pass + + def readline(self, *args, **kwargs): + # sys.stderr.write('Cannot readline out of the console evaluation\n') -- don't show anything + # This could happen if the user had done input('enter number).<-- upon entering this, that message would appear, + # which is not something we want. + return '\n' + + def write(self, *args, **kwargs): + pass # not available StdIn (but it can be expected to be in the stream interface) + + def flush(self, *args, **kwargs): + pass # not available StdIn (but it can be expected to be in the stream interface) + + def read(self, *args, **kwargs): + # in the interactive interpreter, a read and a readline are the same. + return self.readline() + + def close(self, *args, **kwargs): + pass # expected in StdIn + + def __iter__(self): + # BaseStdIn would not be considered as Iterable in Python 3 without explicit `__iter__` implementation + return self.original_stdin.__iter__() + + def __getattr__(self, item): + # it's called if the attribute wasn't found + if hasattr(self.original_stdin, item): + return getattr(self.original_stdin, item) + raise AttributeError("%s has no attribute %s" % (self.original_stdin, item)) + + +# ======================================================================================================================= +# StdIn +# ======================================================================================================================= +class StdIn(BaseStdIn): + ''' + Object to be added to stdin (to emulate it as non-blocking while the next line arrives) + ''' + + def __init__(self, interpreter, host, client_port, original_stdin=sys.stdin): + BaseStdIn.__init__(self, original_stdin) + self.interpreter = interpreter + self.client_port = client_port + self.host = host + + def readline(self, *args, **kwargs): + # Ok, callback into the client to get the new input + try: + server = xmlrpclib.Server('http://%s:%s' % (self.host, self.client_port)) + requested_input = server.RequestInput() + if not requested_input: + return '\n' # Yes, a readline must return something (otherwise we can get an EOFError on the input() call). + else: + # readline should end with '\n' (not doing so makes IPython 5 remove the last *valid* character). + requested_input += '\n' + return requested_input + except KeyboardInterrupt: + raise # Let KeyboardInterrupt go through -- #PyDev-816: Interrupting infinite loop in the Interactive Console + except: + return '\n' + + def close(self, *args, **kwargs): + pass # expected in StdIn + + +#======================================================================================================================= +# DebugConsoleStdIn +#======================================================================================================================= +class DebugConsoleStdIn(BaseStdIn): + ''' + Object to be added to stdin (to emulate it as non-blocking while the next line arrives) + ''' + + def __init__(self, py_db, original_stdin): + ''' + :param py_db: + If None, get_global_debugger() is used. + ''' + BaseStdIn.__init__(self, original_stdin) + self._py_db = py_db + self._in_notification = 0 + + def __send_input_requested_message(self, is_started): + try: + py_db = self._py_db + if py_db is None: + py_db = get_global_debugger() + + if py_db is None: + return + + cmd = py_db.cmd_factory.make_input_requested_message(is_started) + py_db.writer.add_command(cmd) + except Exception: + pydev_log.exception() + + @contextmanager + def notify_input_requested(self): + self._in_notification += 1 + if self._in_notification == 1: + self.__send_input_requested_message(True) + try: + yield + finally: + self._in_notification -= 1 + if self._in_notification == 0: + self.__send_input_requested_message(False) + + def readline(self, *args, **kwargs): + with self.notify_input_requested(): + return self.original_stdin.readline(*args, **kwargs) + + def read(self, *args, **kwargs): + with self.notify_input_requested(): + return self.original_stdin.read(*args, **kwargs) + + +class CodeFragment: + + def __init__(self, text, is_single_line=True): + self.text = text + self.is_single_line = is_single_line + + def append(self, code_fragment): + self.text = self.text + "\n" + code_fragment.text + if not code_fragment.is_single_line: + self.is_single_line = False + + +# ======================================================================================================================= +# BaseInterpreterInterface +# ======================================================================================================================= +class BaseInterpreterInterface: + + def __init__(self, mainThread, connect_status_queue=None): + self.mainThread = mainThread + self.interruptable = False + self.exec_queue = _queue.Queue(0) + self.buffer = None + self.banner_shown = False + self.connect_status_queue = connect_status_queue + self.mpl_modules_for_patching = {} + self.init_mpl_modules_for_patching() + + def build_banner(self): + return 'print({0})\n'.format(repr(self.get_greeting_msg())) + + def get_greeting_msg(self): + return 'PyDev console: starting.\n' + + def init_mpl_modules_for_patching(self): + from pydev_ipython.matplotlibtools import activate_matplotlib, activate_pylab, activate_pyplot + self.mpl_modules_for_patching = { + "matplotlib": lambda: activate_matplotlib(self.enableGui), + "matplotlib.pyplot": activate_pyplot, + "pylab": activate_pylab + } + + def need_more_for_code(self, source): + # PyDev-502: PyDev 3.9 F2 doesn't support backslash continuations + + # Strangely even the IPython console is_complete said it was complete + # even with a continuation char at the end. + if source.endswith('\\'): + return True + + if hasattr(self.interpreter, 'is_complete'): + return not self.interpreter.is_complete(source) + try: + # At this point, it should always be single. + # If we don't do this, things as: + # + # for i in range(10): print(i) + # + # (in a single line) don't work. + # Note that it won't give an error and code will be None (so, it'll + # use execMultipleLines in the next call in this case). + symbol = 'single' + code = self.interpreter.compile(source, '', symbol) + except (OverflowError, SyntaxError, ValueError): + # Case 1 + return False + if code is None: + # Case 2 + return True + + # Case 3 + return False + + def need_more(self, code_fragment): + if self.buffer is None: + self.buffer = code_fragment + else: + self.buffer.append(code_fragment) + + return self.need_more_for_code(self.buffer.text) + + def create_std_in(self, debugger=None, original_std_in=None): + if debugger is None: + return StdIn(self, self.host, self.client_port, original_stdin=original_std_in) + else: + return DebugConsoleStdIn(py_db=debugger, original_stdin=original_std_in) + + def add_exec(self, code_fragment, debugger=None): + # In case sys.excepthook called, use original excepthook #PyDev-877: Debug console freezes with Python 3.5+ + # (showtraceback does it on python 3.5 onwards) + sys.excepthook = sys.__excepthook__ + try: + original_in = sys.stdin + try: + help = None + if 'pydoc' in sys.modules: + pydoc = sys.modules['pydoc'] # Don't import it if it still is not there. + + if hasattr(pydoc, 'help'): + # You never know how will the API be changed, so, let's code defensively here + help = pydoc.help + if not hasattr(help, 'input'): + help = None + except: + # Just ignore any error here + pass + + more = False + try: + sys.stdin = self.create_std_in(debugger, original_in) + try: + if help is not None: + # This will enable the help() function to work. + try: + try: + help.input = sys.stdin + except AttributeError: + help._input = sys.stdin + except: + help = None + if not self._input_error_printed: + self._input_error_printed = True + sys.stderr.write('\nError when trying to update pydoc.help.input\n') + sys.stderr.write('(help() may not work -- please report this as a bug in the pydev bugtracker).\n\n') + traceback.print_exc() + + try: + self.start_exec() + if hasattr(self, 'debugger'): + self.debugger.enable_tracing() + + more = self.do_add_exec(code_fragment) + + if hasattr(self, 'debugger'): + self.debugger.disable_tracing() + + self.finish_exec(more) + finally: + if help is not None: + try: + try: + help.input = original_in + except AttributeError: + help._input = original_in + except: + pass + + finally: + sys.stdin = original_in + except SystemExit: + raise + except: + traceback.print_exc() + finally: + sys.__excepthook__ = sys.excepthook + + return more + + def do_add_exec(self, codeFragment): + ''' + Subclasses should override. + + @return: more (True if more input is needed to complete the statement and False if the statement is complete). + ''' + raise NotImplementedError() + + def get_namespace(self): + ''' + Subclasses should override. + + @return: dict with namespace. + ''' + raise NotImplementedError() + + def __resolve_reference__(self, text): + """ + + :type text: str + """ + obj = None + if '.' not in text: + try: + obj = self.get_namespace()[text] + except KeyError: + pass + + if obj is None: + try: + obj = self.get_namespace()['__builtins__'][text] + except: + pass + + if obj is None: + try: + obj = getattr(self.get_namespace()['__builtins__'], text, None) + except: + pass + + else: + try: + last_dot = text.rindex('.') + parent_context = text[0:last_dot] + res = pydevd_vars.eval_in_context(parent_context, self.get_namespace(), self.get_namespace()) + obj = getattr(res, text[last_dot + 1:]) + except: + pass + return obj + + def getDescription(self, text): + try: + obj = self.__resolve_reference__(text) + if obj is None: + return '' + return get_description(obj) + except: + return '' + + def do_exec_code(self, code, is_single_line): + try: + code_fragment = CodeFragment(code, is_single_line) + more = self.need_more(code_fragment) + if not more: + code_fragment = self.buffer + self.buffer = None + self.exec_queue.put(code_fragment) + + return more + except: + traceback.print_exc() + return False + + def execLine(self, line): + return self.do_exec_code(line, True) + + def execMultipleLines(self, lines): + if IS_JYTHON: + more = False + for line in lines.split('\n'): + more = self.do_exec_code(line, True) + return more + else: + return self.do_exec_code(lines, False) + + def interrupt(self): + self.buffer = None # Also clear the buffer when it's interrupted. + try: + if self.interruptable: + # Fix for #PyDev-500: Console interrupt can't interrupt on sleep + interrupt_main_thread(self.mainThread) + + self.finish_exec(False) + return True + except: + traceback.print_exc() + return False + + def close(self): + sys.exit(0) + + def start_exec(self): + self.interruptable = True + + def get_server(self): + if getattr(self, 'host', None) is not None: + return xmlrpclib.Server('http://%s:%s' % (self.host, self.client_port)) + else: + return None + + server = property(get_server) + + def ShowConsole(self): + server = self.get_server() + if server is not None: + server.ShowConsole() + + def finish_exec(self, more): + self.interruptable = False + + server = self.get_server() + + if server is not None: + return server.NotifyFinished(more) + else: + return True + + def getFrame(self): + xml = StringIO() + hidden_ns = self.get_ipython_hidden_vars_dict() + xml.write("") + xml.write(pydevd_xml.frame_vars_to_xml(self.get_namespace(), hidden_ns)) + xml.write("") + + return xml.getvalue() + + @silence_warnings_decorator + def getVariable(self, attributes): + xml = StringIO() + xml.write("") + val_dict = pydevd_vars.resolve_compound_var_object_fields(self.get_namespace(), attributes) + if val_dict is None: + val_dict = {} + + for k, val in val_dict.items(): + val = val_dict[k] + evaluate_full_value = pydevd_xml.should_evaluate_full_value(val) + xml.write(pydevd_vars.var_to_xml(val, k, evaluate_full_value=evaluate_full_value)) + + xml.write("") + + return xml.getvalue() + + def getArray(self, attr, roffset, coffset, rows, cols, format): + name = attr.split("\t")[-1] + array = pydevd_vars.eval_in_context(name, self.get_namespace(), self.get_namespace()) + return pydevd_vars.table_like_struct_to_xml(array, name, roffset, coffset, rows, cols, format) + + def evaluate(self, expression): + xml = StringIO() + xml.write("") + result = pydevd_vars.eval_in_context(expression, self.get_namespace(), self.get_namespace()) + xml.write(pydevd_vars.var_to_xml(result, expression)) + xml.write("") + return xml.getvalue() + + @silence_warnings_decorator + def loadFullValue(self, seq, scope_attrs): + """ + Evaluate full value for async Console variables in a separate thread and send results to IDE side + :param seq: id of command + :param scope_attrs: a sequence of variables with their attributes separated by NEXT_VALUE_SEPARATOR + (i.e.: obj\tattr1\tattr2NEXT_VALUE_SEPARATORobj2\attr1\tattr2) + :return: + """ + frame_variables = self.get_namespace() + var_objects = [] + vars = scope_attrs.split(NEXT_VALUE_SEPARATOR) + for var_attrs in vars: + if '\t' in var_attrs: + name, attrs = var_attrs.split('\t', 1) + + else: + name = var_attrs + attrs = None + if name in frame_variables: + var_object = pydevd_vars.resolve_var_object(frame_variables[name], attrs) + var_objects.append((var_object, name)) + else: + var_object = pydevd_vars.eval_in_context(name, frame_variables, frame_variables) + var_objects.append((var_object, name)) + + from _pydevd_bundle.pydevd_comm import GetValueAsyncThreadConsole + py_db = getattr(self, 'debugger', None) + + if py_db is None: + py_db = get_global_debugger() + + if py_db is None: + from pydevd import PyDB + py_db = PyDB() + + t = GetValueAsyncThreadConsole(py_db, self.get_server(), seq, var_objects) + t.start() + + def changeVariable(self, attr, value): + + def do_change_variable(): + Exec('%s=%s' % (attr, value), self.get_namespace(), self.get_namespace()) + + # Important: it has to be really enabled in the main thread, so, schedule + # it to run in the main thread. + self.exec_queue.put(do_change_variable) + + def connectToDebugger(self, debuggerPort, debugger_options=None): + ''' + Used to show console with variables connection. + Mainly, monkey-patches things in the debugger structure so that the debugger protocol works. + ''' + + if debugger_options is None: + debugger_options = {} + env_key = "PYDEVD_EXTRA_ENVS" + if env_key in debugger_options: + for (env_name, value) in debugger_options[env_key].items(): + existing_value = os.environ.get(env_name, None) + if existing_value: + os.environ[env_name] = "%s%c%s" % (existing_value, os.path.pathsep, value) + else: + os.environ[env_name] = value + if env_name == "PYTHONPATH": + sys.path.append(value) + + del debugger_options[env_key] + + def do_connect_to_debugger(): + try: + # Try to import the packages needed to attach the debugger + import pydevd + from _pydev_bundle._pydev_saved_modules import threading + except: + # This happens on Jython embedded in host eclipse + traceback.print_exc() + sys.stderr.write('pydevd is not available, cannot connect\n') + + from _pydevd_bundle.pydevd_constants import set_thread_id + from _pydev_bundle import pydev_localhost + set_thread_id(threading.current_thread(), "console_main") + + VIRTUAL_FRAME_ID = "1" # matches PyStackFrameConsole.java + VIRTUAL_CONSOLE_ID = "console_main" # matches PyThreadConsole.java + f = FakeFrame() + f.f_back = None + f.f_globals = {} # As globals=locals here, let's simply let it empty (and save a bit of network traffic). + f.f_locals = self.get_namespace() + + self.debugger = pydevd.PyDB() + self.debugger.add_fake_frame(thread_id=VIRTUAL_CONSOLE_ID, frame_id=VIRTUAL_FRAME_ID, frame=f) + try: + pydevd.apply_debugger_options(debugger_options) + self.debugger.connect(pydev_localhost.get_localhost(), debuggerPort) + self.debugger.prepare_to_run() + self.debugger.disable_tracing() + except: + traceback.print_exc() + sys.stderr.write('Failed to connect to target debugger.\n') + + # Register to process commands when idle + self.debugrunning = False + try: + import pydevconsole + pydevconsole.set_debug_hook(self.debugger.process_internal_commands) + except: + traceback.print_exc() + sys.stderr.write('Version of Python does not support debuggable Interactive Console.\n') + + # Important: it has to be really enabled in the main thread, so, schedule + # it to run in the main thread. + self.exec_queue.put(do_connect_to_debugger) + + return ('connect complete',) + + def handshake(self): + if self.connect_status_queue is not None: + self.connect_status_queue.put(True) + return "PyCharm" + + def get_connect_status_queue(self): + return self.connect_status_queue + + def hello(self, input_str): + # Don't care what the input string is + return ("Hello eclipse",) + + def enableGui(self, guiname): + ''' Enable the GUI specified in guiname (see inputhook for list). + As with IPython, enabling multiple GUIs isn't an error, but + only the last one's main loop runs and it may not work + ''' + + def do_enable_gui(): + from _pydev_bundle.pydev_versioncheck import versionok_for_gui + if versionok_for_gui(): + try: + from pydev_ipython.inputhook import enable_gui + enable_gui(guiname) + except: + sys.stderr.write("Failed to enable GUI event loop integration for '%s'\n" % guiname) + traceback.print_exc() + elif guiname not in ['none', '', None]: + # Only print a warning if the guiname was going to do something + sys.stderr.write("PyDev console: Python version does not support GUI event loop integration for '%s'\n" % guiname) + # Return value does not matter, so return back what was sent + return guiname + + # Important: it has to be really enabled in the main thread, so, schedule + # it to run in the main thread. + self.exec_queue.put(do_enable_gui) + + def get_ipython_hidden_vars_dict(self): + return None + + +# ======================================================================================================================= +# FakeFrame +# ======================================================================================================================= +class FakeFrame: + ''' + Used to show console with variables connection. + A class to be used as a mock of a frame. + ''' diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/pydev_import_hook.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/pydev_import_hook.py new file mode 100644 index 0000000..519d8d7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/pydev_import_hook.py @@ -0,0 +1,40 @@ + +import sys +import traceback +from types import ModuleType +from _pydevd_bundle.pydevd_constants import DebugInfoHolder + +import builtins + + +class ImportHookManager(ModuleType): + + def __init__(self, name, system_import): + ModuleType.__init__(self, name) + self._system_import = system_import + self._modules_to_patch = {} + + def add_module_name(self, module_name, activate_function): + self._modules_to_patch[module_name] = activate_function + + def do_import(self, name, *args, **kwargs): + module = self._system_import(name, *args, **kwargs) + try: + activate_func = self._modules_to_patch.pop(name, None) + if activate_func: + activate_func() # call activate function + except: + if DebugInfoHolder.DEBUG_TRACE_LEVEL >= 2: + traceback.print_exc() + + # Restore normal system importer to reduce performance impact + # of calling this method every time an import statement is invoked + if not self._modules_to_patch: + builtins.__import__ = self._system_import + + return module + + +import_hook_manager = ImportHookManager(__name__ + '.import_hook', builtins.__import__) +builtins.__import__ = import_hook_manager.do_import +sys.modules[import_hook_manager.__name__] = import_hook_manager diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/pydev_imports.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/pydev_imports.py new file mode 100644 index 0000000..edc2429 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/pydev_imports.py @@ -0,0 +1,13 @@ +from _pydev_bundle._pydev_saved_modules import xmlrpclib +from _pydev_bundle._pydev_saved_modules import xmlrpcserver + +SimpleXMLRPCServer = xmlrpcserver.SimpleXMLRPCServer + +from _pydev_bundle._pydev_execfile import execfile + +from _pydev_bundle._pydev_saved_modules import _queue + +from _pydevd_bundle.pydevd_exec2 import Exec + +from urllib.parse import quote, quote_plus, unquote_plus # @UnresolvedImport + diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/pydev_ipython_console.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/pydev_ipython_console.py new file mode 100644 index 0000000..a1221f9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/pydev_ipython_console.py @@ -0,0 +1,97 @@ +import sys +from _pydev_bundle.pydev_console_utils import BaseInterpreterInterface + +import traceback + +# Uncomment to force PyDev standard shell. +# raise ImportError() + +from _pydev_bundle.pydev_ipython_console_011 import get_pydev_frontend + + +#======================================================================================================================= +# InterpreterInterface +#======================================================================================================================= +class InterpreterInterface(BaseInterpreterInterface): + ''' + The methods in this class should be registered in the xml-rpc server. + ''' + + def __init__(self, host, client_port, main_thread, show_banner=True, connect_status_queue=None): + BaseInterpreterInterface.__init__(self, main_thread, connect_status_queue) + self.client_port = client_port + self.host = host + self.interpreter = get_pydev_frontend(host, client_port) + self._input_error_printed = False + self.notification_succeeded = False + self.notification_tries = 0 + self.notification_max_tries = 3 + self.show_banner = show_banner + + self.notify_about_magic() + + def get_greeting_msg(self): + if self.show_banner: + self.interpreter.show_banner() + return self.interpreter.get_greeting_msg() + + def do_add_exec(self, code_fragment): + self.notify_about_magic() + if code_fragment.text.rstrip().endswith('??'): + print('IPython-->') + try: + res = bool(self.interpreter.add_exec(code_fragment.text)) + finally: + if code_fragment.text.rstrip().endswith('??'): + print('<--IPython') + + return res + + def get_namespace(self): + return self.interpreter.get_namespace() + + def getCompletions(self, text, act_tok): + return self.interpreter.getCompletions(text, act_tok) + + def close(self): + sys.exit(0) + + def notify_about_magic(self): + if not self.notification_succeeded: + self.notification_tries += 1 + if self.notification_tries > self.notification_max_tries: + return + completions = self.getCompletions("%", "%") + magic_commands = [x[0] for x in completions] + + server = self.get_server() + + if server is not None: + try: + server.NotifyAboutMagic(magic_commands, self.interpreter.is_automagic()) + self.notification_succeeded = True + except: + self.notification_succeeded = False + + def get_ipython_hidden_vars_dict(self): + try: + if hasattr(self.interpreter, 'ipython') and hasattr(self.interpreter.ipython, 'user_ns_hidden'): + user_ns_hidden = self.interpreter.ipython.user_ns_hidden + if isinstance(user_ns_hidden, dict): + # Since IPython 2 dict `user_ns_hidden` contains hidden variables and values + user_hidden_dict = user_ns_hidden.copy() + else: + # In IPython 1.x `user_ns_hidden` used to be a set with names of hidden variables + user_hidden_dict = dict([(key, val) for key, val in self.interpreter.ipython.user_ns.items() + if key in user_ns_hidden]) + + # while `_`, `__` and `___` were not initialized, they are not presented in `user_ns_hidden` + user_hidden_dict.setdefault('_', '') + user_hidden_dict.setdefault('__', '') + user_hidden_dict.setdefault('___', '') + + return user_hidden_dict + except: + # Getting IPython variables shouldn't break loading frame variables + traceback.print_exc() + diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/pydev_ipython_console_011.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/pydev_ipython_console_011.py new file mode 100644 index 0000000..eaf4738 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/pydev_ipython_console_011.py @@ -0,0 +1,516 @@ +# TODO that would make IPython integration better +# - show output other times then when enter was pressed +# - support proper exit to allow IPython to cleanup (e.g. temp files created with %edit) +# - support Ctrl-D (Ctrl-Z on Windows) +# - use IPython (numbered) prompts in PyDev +# - better integration of IPython and PyDev completions +# - some of the semantics on handling the code completion are not correct: +# eg: Start a line with % and then type c should give %cd as a completion by it doesn't +# however type %c and request completions and %cd is given as an option +# eg: Completing a magic when user typed it without the leading % causes the % to be inserted +# to the left of what should be the first colon. +"""Interface to TerminalInteractiveShell for PyDev Interactive Console frontend + for IPython 0.11 to 1.0+. +""" + +from __future__ import print_function + +import os +import sys +import codeop +import traceback + +from IPython.core.error import UsageError +from IPython.core.completer import IPCompleter +from IPython.core.interactiveshell import InteractiveShell, InteractiveShellABC +from IPython.core.usage import default_banner_parts +from IPython.utils.strdispatch import StrDispatch +import IPython.core.release as IPythonRelease +from IPython.terminal.interactiveshell import TerminalInteractiveShell +try: + from traitlets import CBool, Unicode +except ImportError: + from IPython.utils.traitlets import CBool, Unicode +from IPython.core import release + +from _pydev_bundle.pydev_imports import xmlrpclib + +default_pydev_banner_parts = default_banner_parts + +default_pydev_banner = ''.join(default_pydev_banner_parts) + + +def show_in_pager(self, strng, *args, **kwargs): + """ Run a string through pager """ + # On PyDev we just output the string, there are scroll bars in the console + # to handle "paging". This is the same behaviour as when TERM==dump (see + # page.py) + # for compatibility with mime-bundle form: + if isinstance(strng, dict): + strng = strng.get('text/plain', strng) + print(strng) + + +def create_editor_hook(pydev_host, pydev_client_port): + + def call_editor(filename, line=0, wait=True): + """ Open an editor in PyDev """ + if line is None: + line = 0 + + # Make sure to send an absolution path because unlike most editor hooks + # we don't launch a process. This is more like what happens in the zmqshell + filename = os.path.abspath(filename) + + # import sys + # sys.__stderr__.write('Calling editor at: %s:%s\n' % (pydev_host, pydev_client_port)) + + # Tell PyDev to open the editor + server = xmlrpclib.Server('http://%s:%s' % (pydev_host, pydev_client_port)) + server.IPythonEditor(filename, str(line)) + + if wait: + input("Press Enter when done editing:") + + return call_editor + + +class PyDevIPCompleter(IPCompleter): + + def __init__(self, *args, **kwargs): + """ Create a Completer that reuses the advanced completion support of PyDev + in addition to the completion support provided by IPython """ + IPCompleter.__init__(self, *args, **kwargs) + # Use PyDev for python matches, see getCompletions below + if self.python_matches in self.matchers: + # `self.python_matches` matches attributes or global python names + self.matchers.remove(self.python_matches) + + +class PyDevIPCompleter6(IPCompleter): + + def __init__(self, *args, **kwargs): + """ Create a Completer that reuses the advanced completion support of PyDev + in addition to the completion support provided by IPython """ + IPCompleter.__init__(self, *args, **kwargs) + + @property + def matchers(self): + """All active matcher routines for completion""" + # To remove python_matches we now have to override it as it's now a property in the superclass. + return [ + self.file_matches, + self.magic_matches, + self.python_func_kw_matches, + self.dict_key_matches, + ] + + @matchers.setter + def matchers(self, value): + # To stop the init in IPCompleter raising an AttributeError we now have to specify a setter as it's now a property in the superclass. + return + + +class PyDevTerminalInteractiveShell(TerminalInteractiveShell): + banner1 = Unicode(default_pydev_banner, config=True, + help="""The part of the banner to be printed before the profile""" + ) + + # TODO term_title: (can PyDev's title be changed???, see terminal.py for where to inject code, in particular set_term_title as used by %cd) + # for now, just disable term_title + term_title = CBool(False) + + # Note in version 0.11 there is no guard in the IPython code about displaying a + # warning, so with 0.11 you get: + # WARNING: Readline services not available or not loaded. + # WARNING: The auto-indent feature requires the readline library + # Disable readline, readline type code is all handled by PyDev (on Java side) + readline_use = CBool(False) + # autoindent has no meaning in PyDev (PyDev always handles that on the Java side), + # and attempting to enable it will print a warning in the absence of readline. + autoindent = CBool(False) + # Force console to not give warning about color scheme choice and default to NoColor. + # TODO It would be nice to enable colors in PyDev but: + # - The PyDev Console (Eclipse Console) does not support the full range of colors, so the + # effect isn't as nice anyway at the command line + # - If done, the color scheme should default to LightBG, but actually be dependent on + # any settings the user has (such as if a dark theme is in use, then Linux is probably + # a better theme). + colors_force = CBool(True) + colors = Unicode("NoColor") + # Since IPython 5 the terminal interface is not compatible with Emacs `inferior-shell` and + # the `simple_prompt` flag is needed + simple_prompt = CBool(True) + + # In the PyDev Console, GUI control is done via hookable XML-RPC server + @staticmethod + def enable_gui(gui=None, app=None): + """Switch amongst GUI input hooks by name. + """ + # Deferred import + from pydev_ipython.inputhook import enable_gui as real_enable_gui + try: + return real_enable_gui(gui, app) + except ValueError as e: + raise UsageError("%s" % e) + + #------------------------------------------------------------------------- + # Things related to hooks + #------------------------------------------------------------------------- + + def init_history(self): + # Disable history so that we don't have an additional thread for that + # (and we don't use the history anyways). + self.config.HistoryManager.enabled = False + super(PyDevTerminalInteractiveShell, self).init_history() + + def init_hooks(self): + super(PyDevTerminalInteractiveShell, self).init_hooks() + self.set_hook('show_in_pager', show_in_pager) + + #------------------------------------------------------------------------- + # Things related to exceptions + #------------------------------------------------------------------------- + + def showtraceback(self, exc_tuple=None, *args, **kwargs): + # IPython does a lot of clever stuff with Exceptions. However mostly + # it is related to IPython running in a terminal instead of an IDE. + # (e.g. it prints out snippets of code around the stack trace) + # PyDev does a lot of clever stuff too, so leave exception handling + # with default print_exc that PyDev can parse and do its clever stuff + # with (e.g. it puts links back to the original source code) + try: + if exc_tuple is None: + etype, value, tb = sys.exc_info() + else: + etype, value, tb = exc_tuple + except ValueError: + return + + if tb is not None: + traceback.print_exception(etype, value, tb) + + #------------------------------------------------------------------------- + # Things related to text completion + #------------------------------------------------------------------------- + + # The way to construct an IPCompleter changed in most versions, + # so we have a custom, per version implementation of the construction + + def _new_completer_100(self): + completer = PyDevIPCompleter(shell=self, + namespace=self.user_ns, + global_namespace=self.user_global_ns, + alias_table=self.alias_manager.alias_table, + use_readline=self.has_readline, + parent=self, + ) + return completer + + def _new_completer_234(self): + # correct for IPython versions 2.x, 3.x, 4.x + completer = PyDevIPCompleter(shell=self, + namespace=self.user_ns, + global_namespace=self.user_global_ns, + use_readline=self.has_readline, + parent=self, + ) + return completer + + def _new_completer_500(self): + completer = PyDevIPCompleter(shell=self, + namespace=self.user_ns, + global_namespace=self.user_global_ns, + use_readline=False, + parent=self + ) + return completer + + def _new_completer_600(self): + completer = PyDevIPCompleter6(shell=self, + namespace=self.user_ns, + global_namespace=self.user_global_ns, + use_readline=False, + parent=self + ) + return completer + + def add_completer_hooks(self): + from IPython.core.completerlib import module_completer, magic_run_completer, cd_completer + try: + from IPython.core.completerlib import reset_completer + except ImportError: + # reset_completer was added for rel-0.13 + reset_completer = None + self.configurables.append(self.Completer) + + # Add custom completers to the basic ones built into IPCompleter + sdisp = self.strdispatchers.get('complete_command', StrDispatch()) + self.strdispatchers['complete_command'] = sdisp + self.Completer.custom_completers = sdisp + + self.set_hook('complete_command', module_completer, str_key='import') + self.set_hook('complete_command', module_completer, str_key='from') + self.set_hook('complete_command', magic_run_completer, str_key='%run') + self.set_hook('complete_command', cd_completer, str_key='%cd') + if reset_completer: + self.set_hook('complete_command', reset_completer, str_key='%reset') + + def init_completer(self): + """Initialize the completion machinery. + + This creates a completer that provides the completions that are + IPython specific. We use this to supplement PyDev's core code + completions. + """ + # PyDev uses its own completer and custom hooks so that it uses + # most completions from PyDev's core completer which provides + # extra information. + # See getCompletions for where the two sets of results are merged + + if IPythonRelease._version_major >= 6: + self.Completer = self._new_completer_600() + elif IPythonRelease._version_major >= 5: + self.Completer = self._new_completer_500() + elif IPythonRelease._version_major >= 2: + self.Completer = self._new_completer_234() + elif IPythonRelease._version_major >= 1: + self.Completer = self._new_completer_100() + + if hasattr(self.Completer, 'use_jedi'): + self.Completer.use_jedi = False + + self.add_completer_hooks() + + if IPythonRelease._version_major <= 3: + # Only configure readline if we truly are using readline. IPython can + # do tab-completion over the network, in GUIs, etc, where readline + # itself may be absent + if self.has_readline: + self.set_readline_completer() + + #------------------------------------------------------------------------- + # Things related to aliases + #------------------------------------------------------------------------- + + def init_alias(self): + # InteractiveShell defines alias's we want, but TerminalInteractiveShell defines + # ones we don't. So don't use super and instead go right to InteractiveShell + InteractiveShell.init_alias(self) + + #------------------------------------------------------------------------- + # Things related to exiting + #------------------------------------------------------------------------- + def ask_exit(self): + """ Ask the shell to exit. Can be overiden and used as a callback. """ + # TODO PyDev's console does not have support from the Python side to exit + # the console. If user forces the exit (with sys.exit()) then the console + # simply reports errors. e.g.: + # >>> import sys + # >>> sys.exit() + # Failed to create input stream: Connection refused + # >>> + # Console already exited with value: 0 while waiting for an answer. + # Error stream: + # Output stream: + # >>> + # + # Alternatively if you use the non-IPython shell this is what happens + # >>> exit() + # :None + # >>> + # :None + # >>> + # + super(PyDevTerminalInteractiveShell, self).ask_exit() + print('To exit the PyDev Console, terminate the console within IDE.') + + #------------------------------------------------------------------------- + # Things related to magics + #------------------------------------------------------------------------- + + def init_magics(self): + super(PyDevTerminalInteractiveShell, self).init_magics() + # TODO Any additional magics for PyDev? + + +InteractiveShellABC.register(PyDevTerminalInteractiveShell) # @UndefinedVariable + + +#======================================================================================================================= +# _PyDevFrontEnd +#======================================================================================================================= +class _PyDevFrontEnd: + + version = release.__version__ + + def __init__(self): + # Create and initialize our IPython instance. + if hasattr(PyDevTerminalInteractiveShell, '_instance') and PyDevTerminalInteractiveShell._instance is not None: + self.ipython = PyDevTerminalInteractiveShell._instance + else: + self.ipython = PyDevTerminalInteractiveShell.instance() + + self._curr_exec_line = 0 + self._curr_exec_lines = [] + + def show_banner(self): + self.ipython.show_banner() + + def update(self, globals, locals): + ns = self.ipython.user_ns + + for key, value in list(ns.items()): + if key not in locals: + locals[key] = value + + self.ipython.user_global_ns.clear() + self.ipython.user_global_ns.update(globals) + self.ipython.user_ns = locals + + if hasattr(self.ipython, 'history_manager') and hasattr(self.ipython.history_manager, 'save_thread'): + self.ipython.history_manager.save_thread.pydev_do_not_trace = True # don't trace ipython history saving thread + + def complete(self, string): + try: + if string: + return self.ipython.complete(None, line=string, cursor_pos=string.__len__()) + else: + return self.ipython.complete(string, string, 0) + except: + # Silence completer exceptions + pass + + def is_complete(self, string): + # Based on IPython 0.10.1 + + if string in ('', '\n'): + # Prefiltering, eg through ipython0, may return an empty + # string although some operations have been accomplished. We + # thus want to consider an empty string as a complete + # statement. + return True + else: + try: + # Add line returns here, to make sure that the statement is + # complete (except if '\' was used). + # This should probably be done in a different place (like + # maybe 'prefilter_input' method? For now, this works. + clean_string = string.rstrip('\n') + if not clean_string.endswith('\\'): + clean_string += '\n\n' + + is_complete = codeop.compile_command( + clean_string, + "", + "exec" + ) + except Exception: + # XXX: Hack: return True so that the + # code gets executed and the error captured. + is_complete = True + return is_complete + + def getCompletions(self, text, act_tok): + # Get completions from IPython and from PyDev and merge the results + # IPython only gives context free list of completions, while PyDev + # gives detailed information about completions. + try: + TYPE_IPYTHON = '11' + TYPE_IPYTHON_MAGIC = '12' + _line, ipython_completions = self.complete(text) + + from _pydev_bundle._pydev_completer import Completer + completer = Completer(self.get_namespace(), None) + ret = completer.complete(act_tok) + append = ret.append + ip = self.ipython + pydev_completions = set([f[0] for f in ret]) + for ipython_completion in ipython_completions: + + # PyCharm was not expecting completions with '%'... + # Could be fixed in the backend, but it's probably better + # fixing it at PyCharm. + # if ipython_completion.startswith('%'): + # ipython_completion = ipython_completion[1:] + + if ipython_completion not in pydev_completions: + pydev_completions.add(ipython_completion) + inf = ip.object_inspect(ipython_completion) + if inf['type_name'] == 'Magic function': + pydev_type = TYPE_IPYTHON_MAGIC + else: + pydev_type = TYPE_IPYTHON + pydev_doc = inf['docstring'] + if pydev_doc is None: + pydev_doc = '' + append((ipython_completion, pydev_doc, '', pydev_type)) + return ret + except: + import traceback;traceback.print_exc() + return [] + + def get_namespace(self): + return self.ipython.user_ns + + def clear_buffer(self): + del self._curr_exec_lines[:] + + def add_exec(self, line): + if self._curr_exec_lines: + self._curr_exec_lines.append(line) + + buf = '\n'.join(self._curr_exec_lines) + + if self.is_complete(buf): + self._curr_exec_line += 1 + self.ipython.run_cell(buf) + del self._curr_exec_lines[:] + return False # execute complete (no more) + + return True # needs more + else: + + if not self.is_complete(line): + # Did not execute + self._curr_exec_lines.append(line) + return True # needs more + else: + self._curr_exec_line += 1 + self.ipython.run_cell(line, store_history=True) + # hist = self.ipython.history_manager.output_hist_reprs + # rep = hist.get(self._curr_exec_line, None) + # if rep is not None: + # print(rep) + return False # execute complete (no more) + + def is_automagic(self): + return self.ipython.automagic + + def get_greeting_msg(self): + return 'PyDev console: using IPython %s\n' % self.version + + +class _PyDevFrontEndContainer: + _instance = None + _last_host_port = None + + +def get_pydev_frontend(pydev_host, pydev_client_port): + if _PyDevFrontEndContainer._instance is None: + _PyDevFrontEndContainer._instance = _PyDevFrontEnd() + + if _PyDevFrontEndContainer._last_host_port != (pydev_host, pydev_client_port): + _PyDevFrontEndContainer._last_host_port = pydev_host, pydev_client_port + + # Back channel to PyDev to open editors (in the future other + # info may go back this way. This is the same channel that is + # used to get stdin, see StdIn in pydev_console_utils) + _PyDevFrontEndContainer._instance.ipython.hooks['editor'] = create_editor_hook(pydev_host, pydev_client_port) + + # Note: setting the callback directly because setting it with set_hook would actually create a chain instead + # of ovewriting at each new call). + # _PyDevFrontEndContainer._instance.ipython.set_hook('editor', create_editor_hook(pydev_host, pydev_client_port)) + + return _PyDevFrontEndContainer._instance + diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/pydev_is_thread_alive.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/pydev_is_thread_alive.py new file mode 100644 index 0000000..d949ba2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/pydev_is_thread_alive.py @@ -0,0 +1,23 @@ +from _pydev_bundle._pydev_saved_modules import threading + +# Hack for https://www.brainwy.com/tracker/PyDev/363 (i.e.: calling is_alive() can throw AssertionError under some +# circumstances). +# It is required to debug threads started by start_new_thread in Python 3.4 +_temp = threading.Thread() +if hasattr(_temp, '_is_stopped'): # Python 3.x has this + + def is_thread_alive(t): + return not t._is_stopped + +elif hasattr(_temp, '_Thread__stopped'): # Python 2.x has this + + def is_thread_alive(t): + return not t._Thread__stopped + +else: + + # Jython wraps a native java thread and thus only obeys the public API. + def is_thread_alive(t): + return t.is_alive() + +del _temp diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/pydev_localhost.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/pydev_localhost.py new file mode 100644 index 0000000..0d2838d --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/pydev_localhost.py @@ -0,0 +1,67 @@ +from _pydev_bundle._pydev_saved_modules import socket +import sys + +IS_JYTHON = sys.platform.find('java') != -1 + +_cache = None + + +def get_localhost(): + ''' + Should return 127.0.0.1 in ipv4 and ::1 in ipv6 + + localhost is not used because on windows vista/windows 7, there can be issues where the resolving doesn't work + properly and takes a lot of time (had this issue on the pyunit server). + + Using the IP directly solves the problem. + ''' + # TODO: Needs better investigation! + + global _cache + if _cache is None: + try: + for addr_info in socket.getaddrinfo("localhost", 80, 0, 0, socket.SOL_TCP): + config = addr_info[4] + if config[0] == '127.0.0.1': + _cache = '127.0.0.1' + return _cache + except: + # Ok, some versions of Python don't have getaddrinfo or SOL_TCP... Just consider it 127.0.0.1 in this case. + _cache = '127.0.0.1' + else: + _cache = 'localhost' + + return _cache + + +def get_socket_names(n_sockets, close=False): + socket_names = [] + sockets = [] + for _ in range(n_sockets): + if IS_JYTHON: + # Although the option which would be pure java *should* work for Jython, the socket being returned is still 0 + # (i.e.: it doesn't give the local port bound, only the original port, which was 0). + from java.net import ServerSocket + sock = ServerSocket(0) + socket_name = get_localhost(), sock.getLocalPort() + else: + sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) + sock.bind((get_localhost(), 0)) + socket_name = sock.getsockname() + + sockets.append(sock) + socket_names.append(socket_name) + + if close: + for s in sockets: + s.close() + return socket_names + + +def get_socket_name(close=False): + return get_socket_names(1, close)[0] + + +if __name__ == '__main__': + print(get_socket_name()) diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/pydev_log.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/pydev_log.py new file mode 100644 index 0000000..981b54b --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/pydev_log.py @@ -0,0 +1,228 @@ +from _pydevd_bundle.pydevd_constants import DebugInfoHolder, SHOW_COMPILE_CYTHON_COMMAND_LINE, NULL, LOG_TIME +from contextlib import contextmanager +import traceback +import os +import sys + + +class _LoggingGlobals(object): + + _warn_once_map = {} + _debug_stream_filename = None + _debug_stream = sys.stderr + _debug_stream_initialized = False + + +def initialize_debug_stream(reinitialize=False): + ''' + :param bool reinitialize: + Reinitialize is used to update the debug stream after a fork (thus, if it wasn't + initialized, we don't need to do anything). + ''' + if reinitialize: + if not _LoggingGlobals._debug_stream_initialized: + return + else: + if _LoggingGlobals._debug_stream_initialized: + return + + _LoggingGlobals._debug_stream_initialized = True + + # Note: we cannot initialize with sys.stderr because when forking we may end up logging things in 'os' calls. + _LoggingGlobals._debug_stream = NULL + _LoggingGlobals._debug_stream_filename = None + + if not DebugInfoHolder.PYDEVD_DEBUG_FILE: + _LoggingGlobals._debug_stream = sys.stderr + else: + # Add pid to the filename. + try: + dirname = os.path.dirname(DebugInfoHolder.PYDEVD_DEBUG_FILE) + basename = os.path.basename(DebugInfoHolder.PYDEVD_DEBUG_FILE) + try: + os.makedirs(dirname) + except: + pass # Ignore error if it already exists. + + name, ext = os.path.splitext(basename) + debug_file = os.path.join(dirname, name + '.' + str(os.getpid()) + ext) + _LoggingGlobals._debug_stream = open(debug_file, 'w') + _LoggingGlobals._debug_stream_filename = debug_file + except: + _LoggingGlobals._debug_stream = sys.stderr + # Don't fail when trying to setup logging, just show the exception. + traceback.print_exc() + + +def list_log_files(pydevd_debug_file): + log_files = [] + dirname = os.path.dirname(pydevd_debug_file) + basename = os.path.basename(pydevd_debug_file) + if os.path.isdir(dirname): + name, ext = os.path.splitext(basename) + for f in os.listdir(dirname): + if f.startswith(name) and f.endswith(ext): + log_files.append(os.path.join(dirname, f)) + return log_files + + +@contextmanager +def log_context(trace_level, stream): + ''' + To be used to temporarily change the logging settings. + ''' + original_trace_level = DebugInfoHolder.DEBUG_TRACE_LEVEL + original_debug_stream = _LoggingGlobals._debug_stream + original_pydevd_debug_file = DebugInfoHolder.PYDEVD_DEBUG_FILE + original_debug_stream_filename = _LoggingGlobals._debug_stream_filename + original_initialized = _LoggingGlobals._debug_stream_initialized + + DebugInfoHolder.DEBUG_TRACE_LEVEL = trace_level + _LoggingGlobals._debug_stream = stream + _LoggingGlobals._debug_stream_initialized = True + try: + yield + finally: + DebugInfoHolder.DEBUG_TRACE_LEVEL = original_trace_level + _LoggingGlobals._debug_stream = original_debug_stream + DebugInfoHolder.PYDEVD_DEBUG_FILE = original_pydevd_debug_file + _LoggingGlobals._debug_stream_filename = original_debug_stream_filename + _LoggingGlobals._debug_stream_initialized = original_initialized + + +import time +_last_log_time = time.time() + + +def _pydevd_log(level, msg, *args): + ''' + Levels are: + + 0 most serious warnings/errors (always printed) + 1 warnings/significant events + 2 informational trace + 3 verbose mode + ''' + if level <= DebugInfoHolder.DEBUG_TRACE_LEVEL: + # yes, we can have errors printing if the console of the program has been finished (and we're still trying to print something) + try: + try: + if args: + msg = msg % args + except: + msg = '%s - %s' % (msg, args) + + if LOG_TIME: + global _last_log_time + new_log_time = time.time() + time_diff = new_log_time - _last_log_time + _last_log_time = new_log_time + msg = '%.2fs - %s\n' % (time_diff, msg,) + else: + msg = '%s\n' % (msg,) + try: + try: + initialize_debug_stream() # Do it as late as possible + _LoggingGlobals._debug_stream.write(msg) + except TypeError: + if isinstance(msg, bytes): + # Depending on the StringIO flavor, it may only accept unicode. + msg = msg.decode('utf-8', 'replace') + _LoggingGlobals._debug_stream.write(msg) + except UnicodeEncodeError: + # When writing to the stream it's possible that the string can't be represented + # in the encoding expected (in this case, convert it to the stream encoding + # or ascii if we can't find one suitable using a suitable replace). + encoding = getattr(_LoggingGlobals._debug_stream, 'encoding', 'ascii') + msg = msg.encode(encoding, 'backslashreplace') + msg = msg.decode(encoding) + _LoggingGlobals._debug_stream.write(msg) + + _LoggingGlobals._debug_stream.flush() + except: + pass + return True + + +def _pydevd_log_exception(msg='', *args): + if msg or args: + _pydevd_log(0, msg, *args) + try: + initialize_debug_stream() # Do it as late as possible + traceback.print_exc(file=_LoggingGlobals._debug_stream) + _LoggingGlobals._debug_stream.flush() + except: + raise + + +def verbose(msg, *args): + if DebugInfoHolder.DEBUG_TRACE_LEVEL >= 3: + _pydevd_log(3, msg, *args) + + +def debug(msg, *args): + if DebugInfoHolder.DEBUG_TRACE_LEVEL >= 2: + _pydevd_log(2, msg, *args) + + +def info(msg, *args): + if DebugInfoHolder.DEBUG_TRACE_LEVEL >= 1: + _pydevd_log(1, msg, *args) + + +warn = info + + +def critical(msg, *args): + _pydevd_log(0, msg, *args) + + +def exception(msg='', *args): + try: + _pydevd_log_exception(msg, *args) + except: + pass # Should never fail (even at interpreter shutdown). + + +error = exception + + +def error_once(msg, *args): + try: + if args: + message = msg % args + else: + message = str(msg) + except: + message = '%s - %s' % (msg, args) + + if message not in _LoggingGlobals._warn_once_map: + _LoggingGlobals._warn_once_map[message] = True + critical(message) + + +def exception_once(msg, *args): + try: + if args: + message = msg % args + else: + message = str(msg) + except: + message = '%s - %s' % (msg, args) + + if message not in _LoggingGlobals._warn_once_map: + _LoggingGlobals._warn_once_map[message] = True + exception(message) + + +def debug_once(msg, *args): + if DebugInfoHolder.DEBUG_TRACE_LEVEL >= 3: + error_once(msg, *args) + + +def show_compile_cython_command_line(): + if SHOW_COMPILE_CYTHON_COMMAND_LINE: + dirname = os.path.dirname(os.path.dirname(__file__)) + error_once("warning: Debugger speedups using cython not found. Run '\"%s\" \"%s\" build_ext --inplace' to build.", + sys.executable, os.path.join(dirname, 'setup_pydevd_cython.py')) + diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/pydev_monkey.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/pydev_monkey.py new file mode 100644 index 0000000..150718f --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/pydev_monkey.py @@ -0,0 +1,1181 @@ +# License: EPL +import os +import re +import sys +from _pydev_bundle._pydev_saved_modules import threading +from _pydevd_bundle.pydevd_constants import get_global_debugger, IS_WINDOWS, IS_JYTHON, get_current_thread_id, \ + sorted_dict_repr +from _pydev_bundle import pydev_log +from contextlib import contextmanager +from _pydevd_bundle import pydevd_constants +from _pydevd_bundle.pydevd_defaults import PydevdCustomization +import ast + +try: + from pathlib import Path +except ImportError: + Path = None + +#=============================================================================== +# Things that are dependent on having the pydevd debugger +#=============================================================================== + +pydev_src_dir = os.path.dirname(os.path.dirname(__file__)) + +_arg_patch = threading.local() + + +@contextmanager +def skip_subprocess_arg_patch(): + _arg_patch.apply_arg_patching = False + try: + yield + finally: + _arg_patch.apply_arg_patching = True + + +def _get_apply_arg_patching(): + return getattr(_arg_patch, 'apply_arg_patching', True) + + +def _get_setup_updated_with_protocol_and_ppid(setup, is_exec=False): + if setup is None: + setup = {} + setup = setup.copy() + # Discard anything related to the protocol (we'll set the the protocol based on the one + # currently set). + setup.pop(pydevd_constants.ARGUMENT_HTTP_JSON_PROTOCOL, None) + setup.pop(pydevd_constants.ARGUMENT_JSON_PROTOCOL, None) + setup.pop(pydevd_constants.ARGUMENT_QUOTED_LINE_PROTOCOL, None) + + if not is_exec: + # i.e.: The ppid for the subprocess is the current pid. + # If it's an exec, keep it what it was. + setup[pydevd_constants.ARGUMENT_PPID] = os.getpid() + + protocol = pydevd_constants.get_protocol() + if protocol == pydevd_constants.HTTP_JSON_PROTOCOL: + setup[pydevd_constants.ARGUMENT_HTTP_JSON_PROTOCOL] = True + + elif protocol == pydevd_constants.JSON_PROTOCOL: + setup[pydevd_constants.ARGUMENT_JSON_PROTOCOL] = True + + elif protocol == pydevd_constants.QUOTED_LINE_PROTOCOL: + setup[pydevd_constants.ARGUMENT_QUOTED_LINE_PROTOCOL] = True + + elif protocol == pydevd_constants.HTTP_PROTOCOL: + setup[pydevd_constants.ARGUMENT_HTTP_PROTOCOL] = True + + else: + pydev_log.debug('Unexpected protocol: %s', protocol) + return setup + + +class _LastFutureImportFinder(ast.NodeVisitor): + + def __init__(self): + self.last_future_import_found = None + + def visit_ImportFrom(self, node): + if node.module == '__future__': + self.last_future_import_found = node + + +def _get_offset_from_line_col(code, line, col): + offset = 0 + for i, line_contents in enumerate(code.splitlines(True)): + if i == line: + offset += col + return offset + else: + offset += len(line_contents) + + return -1 + + +def _separate_future_imports(code): + ''' + :param code: + The code from where we want to get the __future__ imports (note that it's possible that + there's no such entry). + + :return tuple(str, str): + The return is a tuple(future_import, code). + + If the future import is not available a return such as ('', code) is given, otherwise, the + future import will end with a ';' (so that it can be put right before the pydevd attach + code). + ''' + try: + node = ast.parse(code, '', 'exec') + visitor = _LastFutureImportFinder() + visitor.visit(node) + + if visitor.last_future_import_found is None: + return '', code + + node = visitor.last_future_import_found + offset = -1 + if hasattr(node, 'end_lineno') and hasattr(node, 'end_col_offset'): + # Python 3.8 onwards has these (so, use when possible). + line, col = node.end_lineno, node.end_col_offset + offset = _get_offset_from_line_col(code, line - 1, col) # ast lines are 1-based, make it 0-based. + + else: + # end line/col not available, let's just find the offset and then search + # for the alias from there. + line, col = node.lineno, node.col_offset + offset = _get_offset_from_line_col(code, line - 1, col) # ast lines are 1-based, make it 0-based. + if offset >= 0 and node.names: + from_future_import_name = node.names[-1].name + i = code.find(from_future_import_name, offset) + if i < 0: + offset = -1 + else: + offset = i + len(from_future_import_name) + + if offset >= 0: + for i in range(offset, len(code)): + if code[i] in (' ', '\t', ';', ')', '\n'): + offset += 1 + else: + break + + future_import = code[:offset] + code_remainder = code[offset:] + + # Now, put '\n' lines back into the code remainder (we had to search for + # `\n)`, but in case we just got the `\n`, it should be at the remainder, + # not at the future import. + while future_import.endswith('\n'): + future_import = future_import[:-1] + code_remainder = '\n' + code_remainder + + if not future_import.endswith(';'): + future_import += ';' + return future_import, code_remainder + + # This shouldn't happen... + pydev_log.info('Unable to find line %s in code:\n%r', line, code) + return '', code + + except: + pydev_log.exception('Error getting from __future__ imports from: %r', code) + return '', code + + +def _get_python_c_args(host, port, code, args, setup): + setup = _get_setup_updated_with_protocol_and_ppid(setup) + + # i.e.: We want to make the repr sorted so that it works in tests. + setup_repr = setup if setup is None else (sorted_dict_repr(setup)) + + future_imports = '' + if '__future__' in code: + # If the code has a __future__ import, we need to be able to strip the __future__ + # imports from the code and add them to the start of our code snippet. + future_imports, code = _separate_future_imports(code) + + return ("%simport sys; sys.path.insert(0, r'%s'); import pydevd; pydevd.PydevdCustomization.DEFAULT_PROTOCOL=%r; " + "pydevd.settrace(host=%r, port=%s, suspend=False, trace_only_current_thread=False, patch_multiprocessing=True, access_token=%r, client_access_token=%r, __setup_holder__=%s); " + "%s" + ) % ( + future_imports, + pydev_src_dir, + pydevd_constants.get_protocol(), + host, + port, + setup.get('access-token'), + setup.get('client-access-token'), + setup_repr, + code) + + +def _get_host_port(): + import pydevd + host, port = pydevd.dispatch() + return host, port + + +def _is_managed_arg(arg): + pydevd_py = _get_str_type_compatible(arg, 'pydevd.py') + if arg.endswith(pydevd_py): + return True + return False + + +def _on_forked_process(setup_tracing=True): + pydevd_constants.after_fork() + pydev_log.initialize_debug_stream(reinitialize=True) + + if setup_tracing: + pydev_log.debug('pydevd on forked process: %s', os.getpid()) + + import pydevd + pydevd.threadingCurrentThread().__pydevd_main_thread = True + pydevd.settrace_forked(setup_tracing=setup_tracing) + + +def _on_set_trace_for_new_thread(global_debugger): + if global_debugger is not None: + global_debugger.enable_tracing() + + +def _get_str_type_compatible(s, args): + ''' + This method converts `args` to byte/unicode based on the `s' type. + ''' + if isinstance(args, (list, tuple)): + ret = [] + for arg in args: + if type(s) == type(arg): + ret.append(arg) + else: + if isinstance(s, bytes): + ret.append(arg.encode('utf-8')) + else: + ret.append(arg.decode('utf-8')) + return ret + else: + if type(s) == type(args): + return args + else: + if isinstance(s, bytes): + return args.encode('utf-8') + else: + return args.decode('utf-8') + + +#=============================================================================== +# Things related to monkey-patching +#=============================================================================== +def is_python(path): + single_quote, double_quote = _get_str_type_compatible(path, ["'", '"']) + + if path.endswith(single_quote) or path.endswith(double_quote): + path = path[1:len(path) - 1] + filename = os.path.basename(path).lower() + for name in _get_str_type_compatible(filename, ['python', 'jython', 'pypy']): + if filename.find(name) != -1: + return True + + return False + + +class InvalidTypeInArgsException(Exception): + pass + + +def remove_quotes_from_args(args): + if sys.platform == "win32": + new_args = [] + + for x in args: + if Path is not None and isinstance(x, Path): + x = str(x) + else: + if not isinstance(x, (bytes, str)): + raise InvalidTypeInArgsException(str(type(x))) + + double_quote, two_double_quotes = _get_str_type_compatible(x, ['"', '""']) + + if x != two_double_quotes: + if len(x) > 1 and x.startswith(double_quote) and x.endswith(double_quote): + x = x[1:-1] + + new_args.append(x) + return new_args + else: + new_args = [] + for x in args: + if Path is not None and isinstance(x, Path): + x = x.as_posix() + else: + if not isinstance(x, (bytes, str)): + raise InvalidTypeInArgsException(str(type(x))) + new_args.append(x) + + return new_args + + +def quote_arg_win32(arg): + fix_type = lambda x: _get_str_type_compatible(arg, x) + + # See if we need to quote at all - empty strings need quoting, as do strings + # with whitespace or quotes in them. Backslashes do not need quoting. + if arg and not set(arg).intersection(fix_type(' "\t\n\v')): + return arg + + # Per https://docs.microsoft.com/en-us/windows/desktop/api/shellapi/nf-shellapi-commandlinetoargvw, + # the standard way to interpret arguments in double quotes is as follows: + # + # 2N backslashes followed by a quotation mark produce N backslashes followed by + # begin/end quote. This does not become part of the parsed argument, but toggles + # the "in quotes" mode. + # + # 2N+1 backslashes followed by a quotation mark again produce N backslashes followed + # by a quotation mark literal ("). This does not toggle the "in quotes" mode. + # + # N backslashes not followed by a quotation mark simply produce N backslashes. + # + # This code needs to do the reverse transformation, thus: + # + # N backslashes followed by " produce 2N+1 backslashes followed by " + # + # N backslashes at the end (i.e. where the closing " goes) produce 2N backslashes. + # + # N backslashes in any other position remain as is. + + arg = re.sub(fix_type(r'(\\*)\"'), fix_type(r'\1\1\\"'), arg) + arg = re.sub(fix_type(r'(\\*)$'), fix_type(r'\1\1'), arg) + return fix_type('"') + arg + fix_type('"') + + +def quote_args(args): + if sys.platform == "win32": + return list(map(quote_arg_win32, args)) + else: + return args + + +def patch_args(args, is_exec=False): + ''' + :param list args: + Arguments to patch. + + :param bool is_exec: + If it's an exec, the current process will be replaced (this means we have + to keep the same ppid). + ''' + try: + pydev_log.debug("Patching args: %s", args) + original_args = args + try: + unquoted_args = remove_quotes_from_args(args) + except InvalidTypeInArgsException as e: + pydev_log.info('Unable to monkey-patch subprocess arguments because a type found in the args is invalid: %s', e) + return original_args + + # Internally we should reference original_args (if we want to return them) or unquoted_args + # to add to the list which will be then quoted in the end. + del args + + from pydevd import SetupHolder + if not unquoted_args: + return original_args + + if not is_python(unquoted_args[0]): + pydev_log.debug("Process is not python, returning.") + return original_args + + # Note: we create a copy as string to help with analyzing the arguments, but + # the final list should have items from the unquoted_args as they were initially. + args_as_str = _get_str_type_compatible('', unquoted_args) + + params_with_value_in_separate_arg = ( + '--check-hash-based-pycs', + '--jit' # pypy option + ) + + # All short switches may be combined together. The ones below require a value and the + # value itself may be embedded in the arg. + # + # i.e.: Python accepts things as: + # + # python -OQold -qmtest + # + # Which is the same as: + # + # python -O -Q old -q -m test + # + # or even: + # + # python -OQold "-vcimport sys;print(sys)" + # + # Which is the same as: + # + # python -O -Q old -v -c "import sys;print(sys)" + + params_with_combinable_arg = set(('W', 'X', 'Q', 'c', 'm')) + + module_name = None + before_module_flag = '' + module_name_i_start = -1 + module_name_i_end = -1 + + code = None + code_i = -1 + code_i_end = -1 + code_flag = '' + + filename = None + filename_i = -1 + + ignore_next = True # start ignoring the first (the first entry is the python executable) + for i, arg_as_str in enumerate(args_as_str): + if ignore_next: + ignore_next = False + continue + + if arg_as_str.startswith('-'): + if arg_as_str == '-': + # Contents will be read from the stdin. This is not currently handled. + pydev_log.debug('Unable to fix arguments to attach debugger on subprocess when reading from stdin ("python ... -").') + return original_args + + if arg_as_str.startswith(params_with_value_in_separate_arg): + if arg_as_str in params_with_value_in_separate_arg: + ignore_next = True + continue + + break_out = False + for j, c in enumerate(arg_as_str): + + # i.e.: Python supports -X faulthandler as well as -Xfaulthandler + # (in one case we have to ignore the next and in the other we don't + # have to ignore it). + if c in params_with_combinable_arg: + remainder = arg_as_str[j + 1:] + if not remainder: + ignore_next = True + + if c == 'm': + # i.e.: Something as + # python -qm test + # python -m test + # python -qmtest + before_module_flag = arg_as_str[:j] # before_module_flag would then be "-q" + if before_module_flag == '-': + before_module_flag = '' + module_name_i_start = i + if not remainder: + module_name = unquoted_args[i + 1] + module_name_i_end = i + 1 + else: + # i.e.: python -qmtest should provide 'test' as the module_name + module_name = unquoted_args[i][j + 1:] + module_name_i_end = module_name_i_start + break_out = True + break + + elif c == 'c': + # i.e.: Something as + # python -qc "import sys" + # python -c "import sys" + # python "-qcimport sys" + code_flag = arg_as_str[:j + 1] # code_flag would then be "-qc" + + if not remainder: + # arg_as_str is something as "-qc", "import sys" + code = unquoted_args[i + 1] + code_i_end = i + 2 + else: + # if arg_as_str is something as "-qcimport sys" + code = remainder # code would be "import sys" + code_i_end = i + 1 + code_i = i + break_out = True + break + + else: + break + + if break_out: + break + + else: + # It doesn't start with '-' and we didn't ignore this entry: + # this means that this is the file to be executed. + filename = unquoted_args[i] + + # Note that the filename is not validated here. + # There are cases where even a .exe is valid (xonsh.exe): + # https://github.com/microsoft/debugpy/issues/945 + # So, we should support whatever runpy.run_path + # supports in this case. + + filename_i = i + + if _is_managed_arg(filename): # no need to add pydevd twice + pydev_log.debug('Skipped monkey-patching as pydevd.py is in args already.') + return original_args + + break + else: + # We didn't find the filename (something is unexpected). + pydev_log.debug('Unable to fix arguments to attach debugger on subprocess (filename not found).') + return original_args + + if code_i != -1: + host, port = _get_host_port() + + if port is not None: + new_args = [] + new_args.extend(unquoted_args[:code_i]) + new_args.append(code_flag) + new_args.append(_get_python_c_args(host, port, code, unquoted_args, SetupHolder.setup)) + new_args.extend(unquoted_args[code_i_end:]) + + return quote_args(new_args) + + first_non_vm_index = max(filename_i, module_name_i_start) + if first_non_vm_index == -1: + pydev_log.debug('Unable to fix arguments to attach debugger on subprocess (could not resolve filename nor module name).') + return original_args + + # Original args should be something as: + # ['X:\\pysrc\\pydevd.py', '--multiprocess', '--print-in-debugger-startup', + # '--vm_type', 'python', '--client', '127.0.0.1', '--port', '56352', '--file', 'x:\\snippet1.py'] + from _pydevd_bundle.pydevd_command_line_handling import setup_to_argv + new_args = [] + new_args.extend(unquoted_args[:first_non_vm_index]) + if before_module_flag: + new_args.append(before_module_flag) + + add_module_at = len(new_args) + 1 + + new_args.extend(setup_to_argv( + _get_setup_updated_with_protocol_and_ppid(SetupHolder.setup, is_exec=is_exec), + skip_names=set(('module', 'cmd-line')) + )) + new_args.append('--file') + + if module_name is not None: + assert module_name_i_start != -1 + assert module_name_i_end != -1 + # Always after 'pydevd' (i.e.: pydevd "--module" --multiprocess ...) + new_args.insert(add_module_at, '--module') + new_args.append(module_name) + new_args.extend(unquoted_args[module_name_i_end + 1:]) + + elif filename is not None: + assert filename_i != -1 + new_args.append(filename) + new_args.extend(unquoted_args[filename_i + 1:]) + + else: + raise AssertionError('Internal error (unexpected condition)') + + return quote_args(new_args) + except: + pydev_log.exception('Error patching args (debugger not attached to subprocess).') + return original_args + + +def str_to_args_windows(args): + # See https://docs.microsoft.com/en-us/cpp/c-language/parsing-c-command-line-arguments. + # + # Implemetation ported from DebugPlugin.parseArgumentsWindows: + # https://github.com/eclipse/eclipse.platform.debug/blob/master/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugPlugin.java + + result = [] + + DEFAULT = 0 + ARG = 1 + IN_DOUBLE_QUOTE = 2 + + state = DEFAULT + backslashes = 0 + buf = '' + + args_len = len(args) + for i in range(args_len): + ch = args[i] + if (ch == '\\'): + backslashes += 1 + continue + elif (backslashes != 0): + if ch == '"': + while backslashes >= 2: + backslashes -= 2 + buf += '\\' + if (backslashes == 1): + if (state == DEFAULT): + state = ARG + + buf += '"' + backslashes = 0 + continue + # else fall through to switch + else: + # false alarm, treat passed backslashes literally... + if (state == DEFAULT): + state = ARG + + while backslashes > 0: + backslashes -= 1 + buf += '\\' + # fall through to switch + if ch in (' ', '\t'): + if (state == DEFAULT): + # skip + continue + elif (state == ARG): + state = DEFAULT + result.append(buf) + buf = '' + continue + + if state in (DEFAULT, ARG): + if ch == '"': + state = IN_DOUBLE_QUOTE + else: + state = ARG + buf += ch + + elif state == IN_DOUBLE_QUOTE: + if ch == '"': + if (i + 1 < args_len and args[i + 1] == '"'): + # Undocumented feature in Windows: + # Two consecutive double quotes inside a double-quoted argument are interpreted as + # a single double quote. + buf += '"' + i += 1 + else: + state = ARG + else: + buf += ch + + else: + raise RuntimeError('Illegal condition') + + if len(buf) > 0 or state != DEFAULT: + result.append(buf) + + return result + + +def patch_arg_str_win(arg_str): + args = str_to_args_windows(arg_str) + # Fix https://youtrack.jetbrains.com/issue/PY-9767 (args may be empty) + if not args or not is_python(args[0]): + return arg_str + arg_str = ' '.join(patch_args(args)) + pydev_log.debug("New args: %s", arg_str) + return arg_str + + +def monkey_patch_module(module, funcname, create_func): + if hasattr(module, funcname): + original_name = 'original_' + funcname + if not hasattr(module, original_name): + setattr(module, original_name, getattr(module, funcname)) + setattr(module, funcname, create_func(original_name)) + + +def monkey_patch_os(funcname, create_func): + monkey_patch_module(os, funcname, create_func) + + +def warn_multiproc(): + pass # TODO: Provide logging as messages to the IDE. + # pydev_log.error_once( + # "pydev debugger: New process is launching (breakpoints won't work in the new process).\n" + # "pydev debugger: To debug that process please enable 'Attach to subprocess automatically while debugging?' option in the debugger settings.\n") + # + + +def create_warn_multiproc(original_name): + + def new_warn_multiproc(*args, **kwargs): + import os + + warn_multiproc() + + return getattr(os, original_name)(*args, **kwargs) + + return new_warn_multiproc + + +def create_execl(original_name): + + def new_execl(path, *args): + """ + os.execl(path, arg0, arg1, ...) + os.execle(path, arg0, arg1, ..., env) + os.execlp(file, arg0, arg1, ...) + os.execlpe(file, arg0, arg1, ..., env) + """ + if _get_apply_arg_patching(): + args = patch_args(args, is_exec=True) + send_process_created_message() + send_process_about_to_be_replaced() + + return getattr(os, original_name)(path, *args) + + return new_execl + + +def create_execv(original_name): + + def new_execv(path, args): + """ + os.execv(path, args) + os.execvp(file, args) + """ + if _get_apply_arg_patching(): + args = patch_args(args, is_exec=True) + send_process_created_message() + send_process_about_to_be_replaced() + + return getattr(os, original_name)(path, args) + + return new_execv + + +def create_execve(original_name): + """ + os.execve(path, args, env) + os.execvpe(file, args, env) + """ + + def new_execve(path, args, env): + if _get_apply_arg_patching(): + args = patch_args(args, is_exec=True) + send_process_created_message() + send_process_about_to_be_replaced() + + return getattr(os, original_name)(path, args, env) + + return new_execve + + +def create_spawnl(original_name): + + def new_spawnl(mode, path, *args): + """ + os.spawnl(mode, path, arg0, arg1, ...) + os.spawnlp(mode, file, arg0, arg1, ...) + """ + if _get_apply_arg_patching(): + args = patch_args(args) + send_process_created_message() + + return getattr(os, original_name)(mode, path, *args) + + return new_spawnl + + +def create_spawnv(original_name): + + def new_spawnv(mode, path, args): + """ + os.spawnv(mode, path, args) + os.spawnvp(mode, file, args) + """ + if _get_apply_arg_patching(): + args = patch_args(args) + send_process_created_message() + + return getattr(os, original_name)(mode, path, args) + + return new_spawnv + + +def create_spawnve(original_name): + """ + os.spawnve(mode, path, args, env) + os.spawnvpe(mode, file, args, env) + """ + + def new_spawnve(mode, path, args, env): + if _get_apply_arg_patching(): + args = patch_args(args) + send_process_created_message() + + return getattr(os, original_name)(mode, path, args, env) + + return new_spawnve + + +def create_posix_spawn(original_name): + """ + os.posix_spawn(executable, args, env, **kwargs) + """ + + def new_posix_spawn(executable, args, env, **kwargs): + if _get_apply_arg_patching(): + args = patch_args(args) + send_process_created_message() + + return getattr(os, original_name)(executable, args, env, **kwargs) + + return new_posix_spawn + + +def create_fork_exec(original_name): + """ + _posixsubprocess.fork_exec(args, executable_list, close_fds, ... (13 more)) + """ + + def new_fork_exec(args, *other_args): + import _posixsubprocess # @UnresolvedImport + if _get_apply_arg_patching(): + args = patch_args(args) + send_process_created_message() + + return getattr(_posixsubprocess, original_name)(args, *other_args) + + return new_fork_exec + + +def create_warn_fork_exec(original_name): + """ + _posixsubprocess.fork_exec(args, executable_list, close_fds, ... (13 more)) + """ + + def new_warn_fork_exec(*args): + try: + import _posixsubprocess + warn_multiproc() + return getattr(_posixsubprocess, original_name)(*args) + except: + pass + + return new_warn_fork_exec + + +def create_CreateProcess(original_name): + """ + CreateProcess(*args, **kwargs) + """ + + def new_CreateProcess(app_name, cmd_line, *args): + try: + import _subprocess + except ImportError: + import _winapi as _subprocess + + if _get_apply_arg_patching(): + cmd_line = patch_arg_str_win(cmd_line) + send_process_created_message() + + return getattr(_subprocess, original_name)(app_name, cmd_line, *args) + + return new_CreateProcess + + +def create_CreateProcessWarnMultiproc(original_name): + """ + CreateProcess(*args, **kwargs) + """ + + def new_CreateProcess(*args): + try: + import _subprocess + except ImportError: + import _winapi as _subprocess + warn_multiproc() + return getattr(_subprocess, original_name)(*args) + + return new_CreateProcess + + +def create_fork(original_name): + + def new_fork(): + # A simple fork will result in a new python process + is_new_python_process = True + frame = sys._getframe() + + apply_arg_patch = _get_apply_arg_patching() + + is_subprocess_fork = False + while frame is not None: + if frame.f_code.co_name == '_execute_child' and 'subprocess' in frame.f_code.co_filename: + is_subprocess_fork = True + # If we're actually in subprocess.Popen creating a child, it may + # result in something which is not a Python process, (so, we + # don't want to connect with it in the forked version). + executable = frame.f_locals.get('executable') + if executable is not None: + is_new_python_process = False + if is_python(executable): + is_new_python_process = True + break + + frame = frame.f_back + frame = None # Just make sure we don't hold on to it. + + protocol = pydevd_constants.get_protocol() + + child_process = getattr(os, original_name)() # fork + if not child_process: + if is_new_python_process: + PydevdCustomization.DEFAULT_PROTOCOL = protocol + _on_forked_process(setup_tracing=apply_arg_patch and not is_subprocess_fork) + else: + if is_new_python_process: + send_process_created_message() + return child_process + + return new_fork + + +def send_process_created_message(): + py_db = get_global_debugger() + if py_db is not None: + py_db.send_process_created_message() + + +def send_process_about_to_be_replaced(): + py_db = get_global_debugger() + if py_db is not None: + py_db.send_process_about_to_be_replaced() + + +def patch_new_process_functions(): + # os.execl(path, arg0, arg1, ...) + # os.execle(path, arg0, arg1, ..., env) + # os.execlp(file, arg0, arg1, ...) + # os.execlpe(file, arg0, arg1, ..., env) + # os.execv(path, args) + # os.execve(path, args, env) + # os.execvp(file, args) + # os.execvpe(file, args, env) + monkey_patch_os('execl', create_execl) + monkey_patch_os('execle', create_execl) + monkey_patch_os('execlp', create_execl) + monkey_patch_os('execlpe', create_execl) + monkey_patch_os('execv', create_execv) + monkey_patch_os('execve', create_execve) + monkey_patch_os('execvp', create_execv) + monkey_patch_os('execvpe', create_execve) + + # os.spawnl(mode, path, ...) + # os.spawnle(mode, path, ..., env) + # os.spawnlp(mode, file, ...) + # os.spawnlpe(mode, file, ..., env) + # os.spawnv(mode, path, args) + # os.spawnve(mode, path, args, env) + # os.spawnvp(mode, file, args) + # os.spawnvpe(mode, file, args, env) + + monkey_patch_os('spawnl', create_spawnl) + monkey_patch_os('spawnle', create_spawnl) + monkey_patch_os('spawnlp', create_spawnl) + monkey_patch_os('spawnlpe', create_spawnl) + monkey_patch_os('spawnv', create_spawnv) + monkey_patch_os('spawnve', create_spawnve) + monkey_patch_os('spawnvp', create_spawnv) + monkey_patch_os('spawnvpe', create_spawnve) + monkey_patch_os('posix_spawn', create_posix_spawn) + + if not IS_JYTHON: + if not IS_WINDOWS: + monkey_patch_os('fork', create_fork) + try: + import _posixsubprocess + monkey_patch_module(_posixsubprocess, 'fork_exec', create_fork_exec) + except ImportError: + pass + else: + # Windows + try: + import _subprocess + except ImportError: + import _winapi as _subprocess + monkey_patch_module(_subprocess, 'CreateProcess', create_CreateProcess) + + +def patch_new_process_functions_with_warning(): + monkey_patch_os('execl', create_warn_multiproc) + monkey_patch_os('execle', create_warn_multiproc) + monkey_patch_os('execlp', create_warn_multiproc) + monkey_patch_os('execlpe', create_warn_multiproc) + monkey_patch_os('execv', create_warn_multiproc) + monkey_patch_os('execve', create_warn_multiproc) + monkey_patch_os('execvp', create_warn_multiproc) + monkey_patch_os('execvpe', create_warn_multiproc) + monkey_patch_os('spawnl', create_warn_multiproc) + monkey_patch_os('spawnle', create_warn_multiproc) + monkey_patch_os('spawnlp', create_warn_multiproc) + monkey_patch_os('spawnlpe', create_warn_multiproc) + monkey_patch_os('spawnv', create_warn_multiproc) + monkey_patch_os('spawnve', create_warn_multiproc) + monkey_patch_os('spawnvp', create_warn_multiproc) + monkey_patch_os('spawnvpe', create_warn_multiproc) + monkey_patch_os('posix_spawn', create_warn_multiproc) + + if not IS_JYTHON: + if not IS_WINDOWS: + monkey_patch_os('fork', create_warn_multiproc) + try: + import _posixsubprocess + monkey_patch_module(_posixsubprocess, 'fork_exec', create_warn_fork_exec) + except ImportError: + pass + else: + # Windows + try: + import _subprocess + except ImportError: + import _winapi as _subprocess + monkey_patch_module(_subprocess, 'CreateProcess', create_CreateProcessWarnMultiproc) + + +class _NewThreadStartupWithTrace: + + def __init__(self, original_func, args, kwargs): + self.original_func = original_func + self.args = args + self.kwargs = kwargs + + def __call__(self): + # We monkey-patch the thread creation so that this function is called in the new thread. At this point + # we notify of its creation and start tracing it. + py_db = get_global_debugger() + + thread_id = None + if py_db is not None: + # Note: if this is a thread from threading.py, we're too early in the boostrap process (because we mocked + # the start_new_thread internal machinery and thread._bootstrap has not finished), so, the code below needs + # to make sure that we use the current thread bound to the original function and not use + # threading.current_thread() unless we're sure it's a dummy thread. + t = getattr(self.original_func, '__self__', getattr(self.original_func, 'im_self', None)) + if not isinstance(t, threading.Thread): + # This is not a threading.Thread but a Dummy thread (so, get it as a dummy thread using + # currentThread). + t = threading.current_thread() + + if not getattr(t, 'is_pydev_daemon_thread', False): + thread_id = get_current_thread_id(t) + py_db.notify_thread_created(thread_id, t) + _on_set_trace_for_new_thread(py_db) + + if getattr(py_db, 'thread_analyser', None) is not None: + try: + from _pydevd_bundle.pydevd_concurrency_analyser.pydevd_concurrency_logger import log_new_thread + log_new_thread(py_db, t) + except: + sys.stderr.write("Failed to detect new thread for visualization") + try: + ret = self.original_func(*self.args, **self.kwargs) + finally: + if thread_id is not None: + if py_db is not None: + # At thread shutdown we only have pydevd-related code running (which shouldn't + # be tracked). + py_db.disable_tracing() + py_db.notify_thread_not_alive(thread_id) + + return ret + + +class _NewThreadStartupWithoutTrace: + + def __init__(self, original_func, args, kwargs): + self.original_func = original_func + self.args = args + self.kwargs = kwargs + + def __call__(self): + return self.original_func(*self.args, **self.kwargs) + + +_UseNewThreadStartup = _NewThreadStartupWithTrace + + +def _get_threading_modules_to_patch(): + threading_modules_to_patch = [] + + try: + import thread as _thread + except: + import _thread + threading_modules_to_patch.append(_thread) + threading_modules_to_patch.append(threading) + + return threading_modules_to_patch + + +threading_modules_to_patch = _get_threading_modules_to_patch() + + +def patch_thread_module(thread_module): + + if getattr(thread_module, '_original_start_new_thread', None) is None: + if thread_module is threading: + if not hasattr(thread_module, '_start_new_thread'): + return # Jython doesn't have it. + _original_start_new_thread = thread_module._original_start_new_thread = thread_module._start_new_thread + else: + _original_start_new_thread = thread_module._original_start_new_thread = thread_module.start_new_thread + else: + _original_start_new_thread = thread_module._original_start_new_thread + + class ClassWithPydevStartNewThread: + + def pydev_start_new_thread(self, function, args=(), kwargs={}): + ''' + We need to replace the original thread_module.start_new_thread with this function so that threads started + through it and not through the threading module are properly traced. + ''' + return _original_start_new_thread(_UseNewThreadStartup(function, args, kwargs), ()) + + # This is a hack for the situation where the thread_module.start_new_thread is declared inside a class, such as the one below + # class F(object): + # start_new_thread = thread_module.start_new_thread + # + # def start_it(self): + # self.start_new_thread(self.function, args, kwargs) + # So, if it's an already bound method, calling self.start_new_thread won't really receive a different 'self' -- it + # does work in the default case because in builtins self isn't passed either. + pydev_start_new_thread = ClassWithPydevStartNewThread().pydev_start_new_thread + + try: + # We need to replace the original thread_module.start_new_thread with this function so that threads started through + # it and not through the threading module are properly traced. + if thread_module is threading: + thread_module._start_new_thread = pydev_start_new_thread + else: + thread_module.start_new_thread = pydev_start_new_thread + thread_module.start_new = pydev_start_new_thread + except: + pass + + +def patch_thread_modules(): + for t in threading_modules_to_patch: + patch_thread_module(t) + + +def undo_patch_thread_modules(): + for t in threading_modules_to_patch: + try: + t.start_new_thread = t._original_start_new_thread + except: + pass + + try: + t.start_new = t._original_start_new_thread + except: + pass + + try: + t._start_new_thread = t._original_start_new_thread + except: + pass + + +def disable_trace_thread_modules(): + ''' + Can be used to temporarily stop tracing threads created with thread.start_new_thread. + ''' + global _UseNewThreadStartup + _UseNewThreadStartup = _NewThreadStartupWithoutTrace + + +def enable_trace_thread_modules(): + ''' + Can be used to start tracing threads created with thread.start_new_thread again. + ''' + global _UseNewThreadStartup + _UseNewThreadStartup = _NewThreadStartupWithTrace + + +def get_original_start_new_thread(threading_module): + try: + return threading_module._original_start_new_thread + except: + return threading_module.start_new_thread diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/pydev_monkey_qt.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/pydev_monkey_qt.py new file mode 100644 index 0000000..e348b84 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/pydev_monkey_qt.py @@ -0,0 +1,216 @@ +from __future__ import nested_scopes + +from _pydev_bundle._pydev_saved_modules import threading +import os +from _pydev_bundle import pydev_log + + +def set_trace_in_qt(): + from _pydevd_bundle.pydevd_comm import get_global_debugger + py_db = get_global_debugger() + if py_db is not None: + threading.current_thread() # Create the dummy thread for qt. + py_db.enable_tracing() + + +_patched_qt = False + + +def patch_qt(qt_support_mode): + ''' + This method patches qt (PySide2, PySide, PyQt4, PyQt5) so that we have hooks to set the tracing for QThread. + ''' + if not qt_support_mode: + return + + if qt_support_mode is True or qt_support_mode == 'True': + # do not break backward compatibility + qt_support_mode = 'auto' + + if qt_support_mode == 'auto': + qt_support_mode = os.getenv('PYDEVD_PYQT_MODE', 'auto') + + # Avoid patching more than once + global _patched_qt + if _patched_qt: + return + + pydev_log.debug('Qt support mode: %s', qt_support_mode) + + _patched_qt = True + + if qt_support_mode == 'auto': + + patch_qt_on_import = None + try: + import PySide2 # @UnresolvedImport @UnusedImport + qt_support_mode = 'pyside2' + except: + try: + import Pyside # @UnresolvedImport @UnusedImport + qt_support_mode = 'pyside' + except: + try: + import PyQt5 # @UnresolvedImport @UnusedImport + qt_support_mode = 'pyqt5' + except: + try: + import PyQt4 # @UnresolvedImport @UnusedImport + qt_support_mode = 'pyqt4' + except: + return + + if qt_support_mode == 'pyside2': + try: + import PySide2.QtCore # @UnresolvedImport + _internal_patch_qt(PySide2.QtCore, qt_support_mode) + except: + return + + elif qt_support_mode == 'pyside': + try: + import PySide.QtCore # @UnresolvedImport + _internal_patch_qt(PySide.QtCore, qt_support_mode) + except: + return + + elif qt_support_mode == 'pyqt5': + try: + import PyQt5.QtCore # @UnresolvedImport + _internal_patch_qt(PyQt5.QtCore) + except: + return + + elif qt_support_mode == 'pyqt4': + # Ok, we have an issue here: + # PyDev-452: Selecting PyQT API version using sip.setapi fails in debug mode + # http://pyqt.sourceforge.net/Docs/PyQt4/incompatible_apis.html + # Mostly, if the user uses a different API version (i.e.: v2 instead of v1), + # that has to be done before importing PyQt4 modules (PySide/PyQt5 don't have this issue + # as they only implements v2). + patch_qt_on_import = 'PyQt4' + + def get_qt_core_module(): + import PyQt4.QtCore # @UnresolvedImport + return PyQt4.QtCore + + _patch_import_to_patch_pyqt_on_import(patch_qt_on_import, get_qt_core_module) + + else: + raise ValueError('Unexpected qt support mode: %s' % (qt_support_mode,)) + + +def _patch_import_to_patch_pyqt_on_import(patch_qt_on_import, get_qt_core_module): + # I don't like this approach very much as we have to patch __import__, but I like even less + # asking the user to configure something in the client side... + # So, our approach is to patch PyQt4 right before the user tries to import it (at which + # point he should've set the sip api version properly already anyways). + + pydev_log.debug('Setting up Qt post-import monkeypatch.') + + dotted = patch_qt_on_import + '.' + original_import = __import__ + + from _pydev_bundle._pydev_sys_patch import patch_sys_module, patch_reload, cancel_patches_in_sys_module + + patch_sys_module() + patch_reload() + + def patched_import(name, *args, **kwargs): + if patch_qt_on_import == name or name.startswith(dotted): + builtins.__import__ = original_import + cancel_patches_in_sys_module() + _internal_patch_qt(get_qt_core_module()) # Patch it only when the user would import the qt module + return original_import(name, *args, **kwargs) + + import builtins # Py3 + + builtins.__import__ = patched_import + + +def _internal_patch_qt(QtCore, qt_support_mode='auto'): + pydev_log.debug('Patching Qt: %s', QtCore) + + _original_thread_init = QtCore.QThread.__init__ + _original_runnable_init = QtCore.QRunnable.__init__ + _original_QThread = QtCore.QThread + + class FuncWrapper: + + def __init__(self, original): + self._original = original + + def __call__(self, *args, **kwargs): + set_trace_in_qt() + return self._original(*args, **kwargs) + + class StartedSignalWrapper(QtCore.QObject): # Wrapper for the QThread.started signal + + try: + _signal = QtCore.Signal() # @UndefinedVariable + except: + _signal = QtCore.pyqtSignal() # @UndefinedVariable + + def __init__(self, thread, original_started): + QtCore.QObject.__init__(self) + self.thread = thread + self.original_started = original_started + if qt_support_mode in ('pyside', 'pyside2'): + self._signal = original_started + else: + self._signal.connect(self._on_call) + self.original_started.connect(self._signal) + + def connect(self, func, *args, **kwargs): + if qt_support_mode in ('pyside', 'pyside2'): + return self._signal.connect(FuncWrapper(func), *args, **kwargs) + else: + return self._signal.connect(func, *args, **kwargs) + + def disconnect(self, *args, **kwargs): + return self._signal.disconnect(*args, **kwargs) + + def emit(self, *args, **kwargs): + return self._signal.emit(*args, **kwargs) + + def _on_call(self, *args, **kwargs): + set_trace_in_qt() + + class ThreadWrapper(QtCore.QThread): # Wrapper for QThread + + def __init__(self, *args, **kwargs): + _original_thread_init(self, *args, **kwargs) + + # In PyQt5 the program hangs when we try to call original run method of QThread class. + # So we need to distinguish instances of QThread class and instances of QThread inheritors. + if self.__class__.run == _original_QThread.run: + self.run = self._exec_run + else: + self._original_run = self.run + self.run = self._new_run + self._original_started = self.started + self.started = StartedSignalWrapper(self, self.started) + + def _exec_run(self): + set_trace_in_qt() + self.exec_() + return None + + def _new_run(self): + set_trace_in_qt() + return self._original_run() + + class RunnableWrapper(QtCore.QRunnable): # Wrapper for QRunnable + + def __init__(self, *args, **kwargs): + _original_runnable_init(self, *args, **kwargs) + + self._original_run = self.run + self.run = self._new_run + + def _new_run(self): + set_trace_in_qt() + return self._original_run() + + QtCore.QThread = ThreadWrapper + QtCore.QRunnable = RunnableWrapper diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/pydev_override.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/pydev_override.py new file mode 120000 index 0000000..08eec60 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/pydev_override.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/94/bd/ed/1929d0b338b3b5bc9e3f2ae4f5ebbec66800594d98430c6dbf6b77b68e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/pydev_umd.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/pydev_umd.py new file mode 100644 index 0000000..134ce4c --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/pydev_umd.py @@ -0,0 +1,180 @@ +""" +The UserModuleDeleter and runfile methods are copied from +Spyder and carry their own license agreement. +http://code.google.com/p/spyderlib/source/browse/spyderlib/widgets/externalshell/sitecustomize.py + +Spyder License Agreement (MIT License) +-------------------------------------- + +Copyright (c) 2009-2012 Pierre Raybaut + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. +""" + +import sys +import os +from _pydev_bundle._pydev_execfile import execfile + + +# The following classes and functions are mainly intended to be used from +# an interactive Python session +class UserModuleDeleter: + """ + User Module Deleter (UMD) aims at deleting user modules + to force Python to deeply reload them during import + + pathlist [list]: ignore list in terms of module path + namelist [list]: ignore list in terms of module name + """ + + def __init__(self, namelist=None, pathlist=None): + if namelist is None: + namelist = [] + self.namelist = namelist + if pathlist is None: + pathlist = [] + self.pathlist = pathlist + try: + # ignore all files in org.python.pydev/pysrc + import pydev_pysrc, inspect + self.pathlist.append(os.path.dirname(pydev_pysrc.__file__)) + except: + pass + self.previous_modules = list(sys.modules.keys()) + + def is_module_ignored(self, modname, modpath): + for path in [sys.prefix] + self.pathlist: + if modpath.startswith(path): + return True + else: + return set(modname.split('.')) & set(self.namelist) + + def run(self, verbose=False): + """ + Del user modules to force Python to deeply reload them + + Do not del modules which are considered as system modules, i.e. + modules installed in subdirectories of Python interpreter's binary + Do not del C modules + """ + log = [] + modules_copy = dict(sys.modules) + for modname, module in modules_copy.items(): + if modname == 'aaaaa': + print(modname, module) + print(self.previous_modules) + if modname not in self.previous_modules: + modpath = getattr(module, '__file__', None) + if modpath is None: + # *module* is a C module that is statically linked into the + # interpreter. There is no way to know its path, so we + # choose to ignore it. + continue + if not self.is_module_ignored(modname, modpath): + log.append(modname) + del sys.modules[modname] + if verbose and log: + print("\x1b[4;33m%s\x1b[24m%s\x1b[0m" % ("UMD has deleted", + ": " + ", ".join(log))) + + +__umd__ = None + +_get_globals_callback = None + + +def _set_globals_function(get_globals): + global _get_globals_callback + _get_globals_callback = get_globals + + +def _get_globals(): + """Return current Python interpreter globals namespace""" + if _get_globals_callback is not None: + return _get_globals_callback() + else: + try: + from __main__ import __dict__ as namespace + except ImportError: + try: + # The import fails on IronPython + import __main__ + namespace = __main__.__dict__ + except: + namespace + shell = namespace.get('__ipythonshell__') + if shell is not None and hasattr(shell, 'user_ns'): + # IPython 0.12+ kernel + return shell.user_ns + else: + # Python interpreter + return namespace + return namespace + + +def runfile(filename, args=None, wdir=None, namespace=None): + """ + Run filename + args: command line arguments (string) + wdir: working directory + """ + try: + if hasattr(filename, 'decode'): + filename = filename.decode('utf-8') + except (UnicodeError, TypeError): + pass + global __umd__ + if os.environ.get("PYDEV_UMD_ENABLED", "").lower() == "true": + if __umd__ is None: + namelist = os.environ.get("PYDEV_UMD_NAMELIST", None) + if namelist is not None: + namelist = namelist.split(',') + __umd__ = UserModuleDeleter(namelist=namelist) + else: + verbose = os.environ.get("PYDEV_UMD_VERBOSE", "").lower() == "true" + __umd__.run(verbose=verbose) + if args is not None and not isinstance(args, (bytes, str)): + raise TypeError("expected a character buffer object") + if namespace is None: + namespace = _get_globals() + if '__file__' in namespace: + old_file = namespace['__file__'] + else: + old_file = None + namespace['__file__'] = filename + sys.argv = [filename] + if args is not None: + for arg in args.split(): + sys.argv.append(arg) + if wdir is not None: + try: + if hasattr(wdir, 'decode'): + wdir = wdir.decode('utf-8') + except (UnicodeError, TypeError): + pass + os.chdir(wdir) + execfile(filename, namespace) + sys.argv = [''] + if old_file is None: + del namespace['__file__'] + else: + namespace['__file__'] = old_file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/pydev_versioncheck.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/pydev_versioncheck.py new file mode 120000 index 0000000..7a702e5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/pydev_versioncheck.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/56/91/a9/d5265e0cc3e29adfbee5dabb2c37c1ea62b23c645c02c4140b0b851eec \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/__init__.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..d2be3b5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/__pycache__/pydev_runfiles.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/__pycache__/pydev_runfiles.cpython-38.pyc new file mode 100644 index 0000000..2b4aefd Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/__pycache__/pydev_runfiles.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/__pycache__/pydev_runfiles_coverage.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/__pycache__/pydev_runfiles_coverage.cpython-38.pyc new file mode 100644 index 0000000..f4a05f1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/__pycache__/pydev_runfiles_coverage.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/__pycache__/pydev_runfiles_nose.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/__pycache__/pydev_runfiles_nose.cpython-38.pyc new file mode 100644 index 0000000..2fdfcbb Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/__pycache__/pydev_runfiles_nose.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/__pycache__/pydev_runfiles_parallel.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/__pycache__/pydev_runfiles_parallel.cpython-38.pyc new file mode 100644 index 0000000..395cac7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/__pycache__/pydev_runfiles_parallel.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/__pycache__/pydev_runfiles_parallel_client.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/__pycache__/pydev_runfiles_parallel_client.cpython-38.pyc new file mode 100644 index 0000000..75743f5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/__pycache__/pydev_runfiles_parallel_client.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/__pycache__/pydev_runfiles_pytest2.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/__pycache__/pydev_runfiles_pytest2.cpython-38.pyc new file mode 100644 index 0000000..17517ad Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/__pycache__/pydev_runfiles_pytest2.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/__pycache__/pydev_runfiles_unittest.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/__pycache__/pydev_runfiles_unittest.cpython-38.pyc new file mode 100644 index 0000000..9e64fe0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/__pycache__/pydev_runfiles_unittest.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/__pycache__/pydev_runfiles_xml_rpc.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/__pycache__/pydev_runfiles_xml_rpc.cpython-38.pyc new file mode 100644 index 0000000..6b8a651 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/__pycache__/pydev_runfiles_xml_rpc.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles.py new file mode 100644 index 0000000..9c199e1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles.py @@ -0,0 +1,857 @@ +from __future__ import nested_scopes + +import fnmatch +import os.path +from _pydev_runfiles.pydev_runfiles_coverage import start_coverage_support +from _pydevd_bundle.pydevd_constants import * # @UnusedWildImport +import re +import time + + +#======================================================================================================================= +# Configuration +#======================================================================================================================= +class Configuration: + + def __init__( + self, + files_or_dirs='', + verbosity=2, + include_tests=None, + tests=None, + port=None, + files_to_tests=None, + jobs=1, + split_jobs='tests', + coverage_output_dir=None, + coverage_include=None, + coverage_output_file=None, + exclude_files=None, + exclude_tests=None, + include_files=None, + django=False, + ): + self.files_or_dirs = files_or_dirs + self.verbosity = verbosity + self.include_tests = include_tests + self.tests = tests + self.port = port + self.files_to_tests = files_to_tests + self.jobs = jobs + self.split_jobs = split_jobs + self.django = django + + if include_tests: + assert isinstance(include_tests, (list, tuple)) + + if exclude_files: + assert isinstance(exclude_files, (list, tuple)) + + if exclude_tests: + assert isinstance(exclude_tests, (list, tuple)) + + self.exclude_files = exclude_files + self.include_files = include_files + self.exclude_tests = exclude_tests + + self.coverage_output_dir = coverage_output_dir + self.coverage_include = coverage_include + self.coverage_output_file = coverage_output_file + + def __str__(self): + return '''Configuration + - files_or_dirs: %s + - verbosity: %s + - tests: %s + - port: %s + - files_to_tests: %s + - jobs: %s + - split_jobs: %s + + - include_files: %s + - include_tests: %s + + - exclude_files: %s + - exclude_tests: %s + + - coverage_output_dir: %s + - coverage_include_dir: %s + - coverage_output_file: %s + + - django: %s +''' % ( + self.files_or_dirs, + self.verbosity, + self.tests, + self.port, + self.files_to_tests, + self.jobs, + self.split_jobs, + + self.include_files, + self.include_tests, + + self.exclude_files, + self.exclude_tests, + + self.coverage_output_dir, + self.coverage_include, + self.coverage_output_file, + + self.django, + ) + + +#======================================================================================================================= +# parse_cmdline +#======================================================================================================================= +def parse_cmdline(argv=None): + """ + Parses command line and returns test directories, verbosity, test filter and test suites + + usage: + runfiles.py -v|--verbosity -t|--tests dirs|files + + Multiprocessing options: + jobs=number (with the number of jobs to be used to run the tests) + split_jobs='module'|'tests' + if == module, a given job will always receive all the tests from a module + if == tests, the tests will be split independently of their originating module (default) + + --exclude_files = comma-separated list of patterns with files to exclude (fnmatch style) + --include_files = comma-separated list of patterns with files to include (fnmatch style) + --exclude_tests = comma-separated list of patterns with test names to exclude (fnmatch style) + + Note: if --tests is given, --exclude_files, --include_files and --exclude_tests are ignored! + """ + if argv is None: + argv = sys.argv + + verbosity = 2 + include_tests = None + tests = None + port = None + jobs = 1 + split_jobs = 'tests' + files_to_tests = {} + coverage_output_dir = None + coverage_include = None + exclude_files = None + exclude_tests = None + include_files = None + django = False + + from _pydev_bundle._pydev_getopt import gnu_getopt + optlist, dirs = gnu_getopt( + argv[1:], "", + [ + "verbosity=", + "tests=", + + "port=", + "config_file=", + + "jobs=", + "split_jobs=", + + "include_tests=", + "include_files=", + + "exclude_files=", + "exclude_tests=", + + "coverage_output_dir=", + "coverage_include=", + + "django=" + ] + ) + + for opt, value in optlist: + if opt in ("-v", "--verbosity"): + verbosity = value + + elif opt in ("-p", "--port"): + port = int(value) + + elif opt in ("-j", "--jobs"): + jobs = int(value) + + elif opt in ("-s", "--split_jobs"): + split_jobs = value + if split_jobs not in ('module', 'tests'): + raise AssertionError('Expected split to be either "module" or "tests". Was :%s' % (split_jobs,)) + + elif opt in ("-d", "--coverage_output_dir",): + coverage_output_dir = value.strip() + + elif opt in ("-i", "--coverage_include",): + coverage_include = value.strip() + + elif opt in ("-I", "--include_tests"): + include_tests = value.split(',') + + elif opt in ("-E", "--exclude_files"): + exclude_files = value.split(',') + + elif opt in ("-F", "--include_files"): + include_files = value.split(',') + + elif opt in ("-e", "--exclude_tests"): + exclude_tests = value.split(',') + + elif opt in ("-t", "--tests"): + tests = value.split(',') + + elif opt in ("--django",): + django = value.strip() in ['true', 'True', '1'] + + elif opt in ("-c", "--config_file"): + config_file = value.strip() + if os.path.exists(config_file): + f = open(config_file, 'r') + try: + config_file_contents = f.read() + finally: + f.close() + + if config_file_contents: + config_file_contents = config_file_contents.strip() + + if config_file_contents: + for line in config_file_contents.splitlines(): + file_and_test = line.split('|') + if len(file_and_test) == 2: + file, test = file_and_test + if file in files_to_tests: + files_to_tests[file].append(test) + else: + files_to_tests[file] = [test] + + else: + sys.stderr.write('Could not find config file: %s\n' % (config_file,)) + + if type([]) != type(dirs): + dirs = [dirs] + + ret_dirs = [] + for d in dirs: + if '|' in d: + # paths may come from the ide separated by | + ret_dirs.extend(d.split('|')) + else: + ret_dirs.append(d) + + verbosity = int(verbosity) + + if tests: + if verbosity > 4: + sys.stdout.write('--tests provided. Ignoring --exclude_files, --exclude_tests and --include_files\n') + exclude_files = exclude_tests = include_files = None + + config = Configuration( + ret_dirs, + verbosity, + include_tests, + tests, + port, + files_to_tests, + jobs, + split_jobs, + coverage_output_dir, + coverage_include, + exclude_files=exclude_files, + exclude_tests=exclude_tests, + include_files=include_files, + django=django, + ) + + if verbosity > 5: + sys.stdout.write(str(config) + '\n') + return config + + +#======================================================================================================================= +# PydevTestRunner +#======================================================================================================================= +class PydevTestRunner(object): + """ finds and runs a file or directory of files as a unit test """ + + __py_extensions = ["*.py", "*.pyw"] + __exclude_files = ["__init__.*"] + + # Just to check that only this attributes will be written to this file + __slots__ = [ + 'verbosity', # Always used + + 'files_to_tests', # If this one is given, the ones below are not used + + 'files_or_dirs', # Files or directories received in the command line + 'include_tests', # The filter used to collect the tests + 'tests', # Strings with the tests to be run + + 'jobs', # Integer with the number of jobs that should be used to run the test cases + 'split_jobs', # String with 'tests' or 'module' (how should the jobs be split) + + 'configuration', + 'coverage', + ] + + def __init__(self, configuration): + self.verbosity = configuration.verbosity + + self.jobs = configuration.jobs + self.split_jobs = configuration.split_jobs + + files_to_tests = configuration.files_to_tests + if files_to_tests: + self.files_to_tests = files_to_tests + self.files_or_dirs = list(files_to_tests.keys()) + self.tests = None + else: + self.files_to_tests = {} + self.files_or_dirs = configuration.files_or_dirs + self.tests = configuration.tests + + self.configuration = configuration + self.__adjust_path() + + def __adjust_path(self): + """ add the current file or directory to the python path """ + path_to_append = None + for n in range(len(self.files_or_dirs)): + dir_name = self.__unixify(self.files_or_dirs[n]) + if os.path.isdir(dir_name): + if not dir_name.endswith("/"): + self.files_or_dirs[n] = dir_name + "/" + path_to_append = os.path.normpath(dir_name) + elif os.path.isfile(dir_name): + path_to_append = os.path.dirname(dir_name) + else: + if not os.path.exists(dir_name): + block_line = '*' * 120 + sys.stderr.write('\n%s\n* PyDev test runner error: %s does not exist.\n%s\n' % (block_line, dir_name, block_line)) + return + msg = ("unknown type. \n%s\nshould be file or a directory.\n" % (dir_name)) + raise RuntimeError(msg) + if path_to_append is not None: + # Add it as the last one (so, first things are resolved against the default dirs and + # if none resolves, then we try a relative import). + sys.path.append(path_to_append) + + def __is_valid_py_file(self, fname): + """ tests that a particular file contains the proper file extension + and is not in the list of files to exclude """ + is_valid_fname = 0 + for invalid_fname in self.__class__.__exclude_files: + is_valid_fname += int(not fnmatch.fnmatch(fname, invalid_fname)) + if_valid_ext = 0 + for ext in self.__class__.__py_extensions: + if_valid_ext += int(fnmatch.fnmatch(fname, ext)) + return is_valid_fname > 0 and if_valid_ext > 0 + + def __unixify(self, s): + """ stupid windows. converts the backslash to forwardslash for consistency """ + return os.path.normpath(s).replace(os.sep, "/") + + def __importify(self, s, dir=False): + """ turns directory separators into dots and removes the ".py*" extension + so the string can be used as import statement """ + if not dir: + dirname, fname = os.path.split(s) + + if fname.count('.') > 1: + # if there's a file named xxx.xx.py, it is not a valid module, so, let's not load it... + return + + imp_stmt_pieces = [dirname.replace("\\", "/").replace("/", "."), os.path.splitext(fname)[0]] + + if len(imp_stmt_pieces[0]) == 0: + imp_stmt_pieces = imp_stmt_pieces[1:] + + return ".".join(imp_stmt_pieces) + + else: # handle dir + return s.replace("\\", "/").replace("/", ".") + + def __add_files(self, pyfiles, root, files): + """ if files match, appends them to pyfiles. used by os.path.walk fcn """ + for fname in files: + if self.__is_valid_py_file(fname): + name_without_base_dir = self.__unixify(os.path.join(root, fname)) + pyfiles.append(name_without_base_dir) + + def find_import_files(self): + """ return a list of files to import """ + if self.files_to_tests: + pyfiles = self.files_to_tests.keys() + else: + pyfiles = [] + + for base_dir in self.files_or_dirs: + if os.path.isdir(base_dir): + for root, dirs, files in os.walk(base_dir): + # Note: handling directories that should be excluded from the search because + # they don't have __init__.py + exclude = {} + for d in dirs: + for init in ['__init__.py', '__init__.pyo', '__init__.pyc', '__init__.pyw', '__init__$py.class']: + if os.path.exists(os.path.join(root, d, init).replace('\\', '/')): + break + else: + exclude[d] = 1 + + if exclude: + new = [] + for d in dirs: + if d not in exclude: + new.append(d) + + dirs[:] = new + + self.__add_files(pyfiles, root, files) + + elif os.path.isfile(base_dir): + pyfiles.append(base_dir) + + if self.configuration.exclude_files or self.configuration.include_files: + ret = [] + for f in pyfiles: + add = True + basename = os.path.basename(f) + if self.configuration.include_files: + add = False + + for pat in self.configuration.include_files: + if fnmatch.fnmatchcase(basename, pat): + add = True + break + + if not add: + if self.verbosity > 3: + sys.stdout.write('Skipped file: %s (did not match any include_files pattern: %s)\n' % (f, self.configuration.include_files)) + + elif self.configuration.exclude_files: + for pat in self.configuration.exclude_files: + if fnmatch.fnmatchcase(basename, pat): + if self.verbosity > 3: + sys.stdout.write('Skipped file: %s (matched exclude_files pattern: %s)\n' % (f, pat)) + + elif self.verbosity > 2: + sys.stdout.write('Skipped file: %s\n' % (f,)) + + add = False + break + + if add: + if self.verbosity > 3: + sys.stdout.write('Adding file: %s for test discovery.\n' % (f,)) + ret.append(f) + + pyfiles = ret + + return pyfiles + + def __get_module_from_str(self, modname, print_exception, pyfile): + """ Import the module in the given import path. + * Returns the "final" module, so importing "coilib40.subject.visu" + returns the "visu" module, not the "coilib40" as returned by __import__ """ + try: + mod = __import__(modname) + for part in modname.split('.')[1:]: + mod = getattr(mod, part) + return mod + except: + if print_exception: + from _pydev_runfiles import pydev_runfiles_xml_rpc + from _pydevd_bundle import pydevd_io + buf_err = pydevd_io.start_redirect(keep_original_redirection=True, std='stderr') + buf_out = pydevd_io.start_redirect(keep_original_redirection=True, std='stdout') + try: + import traceback;traceback.print_exc() + sys.stderr.write('ERROR: Module: %s could not be imported (file: %s).\n' % (modname, pyfile)) + finally: + pydevd_io.end_redirect('stderr') + pydevd_io.end_redirect('stdout') + + pydev_runfiles_xml_rpc.notifyTest( + 'error', buf_out.getvalue(), buf_err.getvalue(), pyfile, modname, 0) + + return None + + def remove_duplicates_keeping_order(self, seq): + seen = set() + seen_add = seen.add + return [x for x in seq if not (x in seen or seen_add(x))] + + def find_modules_from_files(self, pyfiles): + """ returns a list of modules given a list of files """ + # let's make sure that the paths we want are in the pythonpath... + imports = [(s, self.__importify(s)) for s in pyfiles] + + sys_path = [os.path.normpath(path) for path in sys.path] + sys_path = self.remove_duplicates_keeping_order(sys_path) + + system_paths = [] + for s in sys_path: + system_paths.append(self.__importify(s, True)) + + ret = [] + for pyfile, imp in imports: + if imp is None: + continue # can happen if a file is not a valid module + choices = [] + for s in system_paths: + if imp.startswith(s): + add = imp[len(s) + 1:] + if add: + choices.append(add) + # sys.stdout.write(' ' + add + ' ') + + if not choices: + sys.stdout.write('PYTHONPATH not found for file: %s\n' % imp) + else: + for i, import_str in enumerate(choices): + print_exception = i == len(choices) - 1 + mod = self.__get_module_from_str(import_str, print_exception, pyfile) + if mod is not None: + ret.append((pyfile, mod, import_str)) + break + + return ret + + #=================================================================================================================== + # GetTestCaseNames + #=================================================================================================================== + class GetTestCaseNames: + """Yes, we need a class for that (cannot use outer context on jython 2.1)""" + + def __init__(self, accepted_classes, accepted_methods): + self.accepted_classes = accepted_classes + self.accepted_methods = accepted_methods + + def __call__(self, testCaseClass): + """Return a sorted sequence of method names found within testCaseClass""" + testFnNames = [] + className = testCaseClass.__name__ + + if className in self.accepted_classes: + for attrname in dir(testCaseClass): + # If a class is chosen, we select all the 'test' methods' + if attrname.startswith('test') and hasattr(getattr(testCaseClass, attrname), '__call__'): + testFnNames.append(attrname) + + else: + for attrname in dir(testCaseClass): + # If we have the class+method name, we must do a full check and have an exact match. + if className + '.' + attrname in self.accepted_methods: + if hasattr(getattr(testCaseClass, attrname), '__call__'): + testFnNames.append(attrname) + + # sorted() is not available in jython 2.1 + testFnNames.sort() + return testFnNames + + def _decorate_test_suite(self, suite, pyfile, module_name): + import unittest + if isinstance(suite, unittest.TestSuite): + add = False + suite.__pydev_pyfile__ = pyfile + suite.__pydev_module_name__ = module_name + + for t in suite._tests: + t.__pydev_pyfile__ = pyfile + t.__pydev_module_name__ = module_name + if self._decorate_test_suite(t, pyfile, module_name): + add = True + + return add + + elif isinstance(suite, unittest.TestCase): + return True + + else: + return False + + def find_tests_from_modules(self, file_and_modules_and_module_name): + """ returns the unittests given a list of modules """ + # Use our own suite! + from _pydev_runfiles import pydev_runfiles_unittest + import unittest + unittest.TestLoader.suiteClass = pydev_runfiles_unittest.PydevTestSuite + loader = unittest.TestLoader() + + ret = [] + if self.files_to_tests: + for pyfile, m, module_name in file_and_modules_and_module_name: + accepted_classes = {} + accepted_methods = {} + tests = self.files_to_tests[pyfile] + for t in tests: + accepted_methods[t] = t + + loader.getTestCaseNames = self.GetTestCaseNames(accepted_classes, accepted_methods) + + suite = loader.loadTestsFromModule(m) + if self._decorate_test_suite(suite, pyfile, module_name): + ret.append(suite) + return ret + + if self.tests: + accepted_classes = {} + accepted_methods = {} + + for t in self.tests: + splitted = t.split('.') + if len(splitted) == 1: + accepted_classes[t] = t + + elif len(splitted) == 2: + accepted_methods[t] = t + + loader.getTestCaseNames = self.GetTestCaseNames(accepted_classes, accepted_methods) + + for pyfile, m, module_name in file_and_modules_and_module_name: + suite = loader.loadTestsFromModule(m) + if self._decorate_test_suite(suite, pyfile, module_name): + ret.append(suite) + + return ret + + def filter_tests(self, test_objs, internal_call=False): + """ based on a filter name, only return those tests that have + the test case names that match """ + import unittest + if not internal_call: + if not self.configuration.include_tests and not self.tests and not self.configuration.exclude_tests: + # No need to filter if we have nothing to filter! + return test_objs + + if self.verbosity > 1: + if self.configuration.include_tests: + sys.stdout.write('Tests to include: %s\n' % (self.configuration.include_tests,)) + + if self.tests: + sys.stdout.write('Tests to run: %s\n' % (self.tests,)) + + if self.configuration.exclude_tests: + sys.stdout.write('Tests to exclude: %s\n' % (self.configuration.exclude_tests,)) + + test_suite = [] + for test_obj in test_objs: + + if isinstance(test_obj, unittest.TestSuite): + # Note: keep the suites as they are and just 'fix' the tests (so, don't use the iter_tests). + if test_obj._tests: + test_obj._tests = self.filter_tests(test_obj._tests, True) + if test_obj._tests: # Only add the suite if we still have tests there. + test_suite.append(test_obj) + + elif isinstance(test_obj, unittest.TestCase): + try: + testMethodName = test_obj._TestCase__testMethodName + except AttributeError: + # changed in python 2.5 + testMethodName = test_obj._testMethodName + + add = True + if self.configuration.exclude_tests: + for pat in self.configuration.exclude_tests: + if fnmatch.fnmatchcase(testMethodName, pat): + if self.verbosity > 3: + sys.stdout.write('Skipped test: %s (matched exclude_tests pattern: %s)\n' % (testMethodName, pat)) + + elif self.verbosity > 2: + sys.stdout.write('Skipped test: %s\n' % (testMethodName,)) + + add = False + break + + if add: + if self.__match_tests(self.tests, test_obj, testMethodName): + include = True + if self.configuration.include_tests: + include = False + for pat in self.configuration.include_tests: + if fnmatch.fnmatchcase(testMethodName, pat): + include = True + break + if include: + test_suite.append(test_obj) + else: + if self.verbosity > 3: + sys.stdout.write('Skipped test: %s (did not match any include_tests pattern %s)\n' % ( + testMethodName, self.configuration.include_tests,)) + return test_suite + + def iter_tests(self, test_objs): + # Note: not using yield because of Jython 2.1. + import unittest + tests = [] + for test_obj in test_objs: + if isinstance(test_obj, unittest.TestSuite): + tests.extend(self.iter_tests(test_obj._tests)) + + elif isinstance(test_obj, unittest.TestCase): + tests.append(test_obj) + return tests + + def list_test_names(self, test_objs): + names = [] + for tc in self.iter_tests(test_objs): + try: + testMethodName = tc._TestCase__testMethodName + except AttributeError: + # changed in python 2.5 + testMethodName = tc._testMethodName + names.append(testMethodName) + return names + + def __match_tests(self, tests, test_case, test_method_name): + if not tests: + return 1 + + for t in tests: + class_and_method = t.split('.') + if len(class_and_method) == 1: + # only class name + if class_and_method[0] == test_case.__class__.__name__: + return 1 + + elif len(class_and_method) == 2: + if class_and_method[0] == test_case.__class__.__name__ and class_and_method[1] == test_method_name: + return 1 + + return 0 + + def __match(self, filter_list, name): + """ returns whether a test name matches the test filter """ + if filter_list is None: + return 1 + for f in filter_list: + if re.match(f, name): + return 1 + return 0 + + def run_tests(self, handle_coverage=True): + """ runs all tests """ + sys.stdout.write("Finding files... ") + files = self.find_import_files() + if self.verbosity > 3: + sys.stdout.write('%s ... done.\n' % (self.files_or_dirs)) + else: + sys.stdout.write('done.\n') + sys.stdout.write("Importing test modules ... ") + + if handle_coverage: + coverage_files, coverage = start_coverage_support(self.configuration) + + file_and_modules_and_module_name = self.find_modules_from_files(files) + sys.stdout.write("done.\n") + + all_tests = self.find_tests_from_modules(file_and_modules_and_module_name) + all_tests = self.filter_tests(all_tests) + + from _pydev_runfiles import pydev_runfiles_unittest + test_suite = pydev_runfiles_unittest.PydevTestSuite(all_tests) + from _pydev_runfiles import pydev_runfiles_xml_rpc + pydev_runfiles_xml_rpc.notifyTestsCollected(test_suite.countTestCases()) + + start_time = time.time() + + def run_tests(): + executed_in_parallel = False + if self.jobs > 1: + from _pydev_runfiles import pydev_runfiles_parallel + + # What may happen is that the number of jobs needed is lower than the number of jobs requested + # (e.g.: 2 jobs were requested for running 1 test) -- in which case execute_tests_in_parallel will + # return False and won't run any tests. + executed_in_parallel = pydev_runfiles_parallel.execute_tests_in_parallel( + all_tests, self.jobs, self.split_jobs, self.verbosity, coverage_files, self.configuration.coverage_include) + + if not executed_in_parallel: + # If in coverage, we don't need to pass anything here (coverage is already enabled for this execution). + runner = pydev_runfiles_unittest.PydevTextTestRunner(stream=sys.stdout, descriptions=1, verbosity=self.verbosity) + sys.stdout.write('\n') + runner.run(test_suite) + + if self.configuration.django: + get_django_test_suite_runner()(run_tests).run_tests([]) + else: + run_tests() + + if handle_coverage: + coverage.stop() + coverage.save() + + total_time = 'Finished in: %.2f secs.' % (time.time() - start_time,) + pydev_runfiles_xml_rpc.notifyTestRunFinished(total_time) + + +DJANGO_TEST_SUITE_RUNNER = None + + +def get_django_test_suite_runner(): + global DJANGO_TEST_SUITE_RUNNER + if DJANGO_TEST_SUITE_RUNNER: + return DJANGO_TEST_SUITE_RUNNER + try: + # django >= 1.8 + import django + from django.test.runner import DiscoverRunner + + class MyDjangoTestSuiteRunner(DiscoverRunner): + + def __init__(self, on_run_suite): + django.setup() + DiscoverRunner.__init__(self) + self.on_run_suite = on_run_suite + + def build_suite(self, *args, **kwargs): + pass + + def suite_result(self, *args, **kwargs): + pass + + def run_suite(self, *args, **kwargs): + self.on_run_suite() + + except: + # django < 1.8 + try: + from django.test.simple import DjangoTestSuiteRunner + except: + + class DjangoTestSuiteRunner: + + def __init__(self): + pass + + def run_tests(self, *args, **kwargs): + raise AssertionError("Unable to run suite with django.test.runner.DiscoverRunner nor django.test.simple.DjangoTestSuiteRunner because it couldn't be imported.") + + class MyDjangoTestSuiteRunner(DjangoTestSuiteRunner): + + def __init__(self, on_run_suite): + DjangoTestSuiteRunner.__init__(self) + self.on_run_suite = on_run_suite + + def build_suite(self, *args, **kwargs): + pass + + def suite_result(self, *args, **kwargs): + pass + + def run_suite(self, *args, **kwargs): + self.on_run_suite() + + DJANGO_TEST_SUITE_RUNNER = MyDjangoTestSuiteRunner + return DJANGO_TEST_SUITE_RUNNER + + +#======================================================================================================================= +# main +#======================================================================================================================= +def main(configuration): + PydevTestRunner(configuration).run_tests() diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_coverage.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_coverage.py new file mode 120000 index 0000000..7e84f55 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_coverage.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b1/68/c0/446b75fb84995d80cd54c2f6d1b59ddc8046e6cb4f82ced0dc29b8b9bf \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_nose.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_nose.py new file mode 100644 index 0000000..20ea5b2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_nose.py @@ -0,0 +1,207 @@ +from nose.plugins.multiprocess import MultiProcessTestRunner # @UnresolvedImport +from nose.plugins.base import Plugin # @UnresolvedImport +import sys +from _pydev_runfiles import pydev_runfiles_xml_rpc +import time +from _pydev_runfiles.pydev_runfiles_coverage import start_coverage_support +from contextlib import contextmanager +from io import StringIO +import traceback + + +#======================================================================================================================= +# PydevPlugin +#======================================================================================================================= +class PydevPlugin(Plugin): + + def __init__(self, configuration): + self.configuration = configuration + Plugin.__init__(self) + + def begin(self): + # Called before any test is run (it's always called, with multiprocess or not) + self.start_time = time.time() + self.coverage_files, self.coverage = start_coverage_support(self.configuration) + + def finalize(self, result): + # Called after all tests are run (it's always called, with multiprocess or not) + self.coverage.stop() + self.coverage.save() + + pydev_runfiles_xml_rpc.notifyTestRunFinished('Finished in: %.2f secs.' % (time.time() - self.start_time,)) + + #=================================================================================================================== + # Methods below are not called with multiprocess (so, we monkey-patch MultiProcessTestRunner.consolidate + # so that they're called, but unfortunately we loose some info -- i.e.: the time for each test in this + # process). + #=================================================================================================================== + + class Sentinel(object): + pass + + @contextmanager + def _without_user_address(self, test): + # #PyDev-1095: Conflict between address in test and test.address() in PydevPlugin().report_cond() + user_test_instance = test.test + user_address = self.Sentinel + user_class_address = self.Sentinel + try: + if 'address' in user_test_instance.__dict__: + user_address = user_test_instance.__dict__.pop('address') + except: + # Just ignore anything here. + pass + try: + user_class_address = user_test_instance.__class__.address + del user_test_instance.__class__.address + except: + # Just ignore anything here. + pass + + try: + yield + finally: + if user_address is not self.Sentinel: + user_test_instance.__dict__['address'] = user_address + + if user_class_address is not self.Sentinel: + user_test_instance.__class__.address = user_class_address + + def _get_test_address(self, test): + try: + if hasattr(test, 'address'): + with self._without_user_address(test): + address = test.address() + + # test.address() is something as: + # ('D:\\workspaces\\temp\\test_workspace\\pytesting1\\src\\mod1\\hello.py', 'mod1.hello', 'TestCase.testMet1') + # + # and we must pass: location, test + # E.g.: ['D:\\src\\mod1\\hello.py', 'TestCase.testMet1'] + address = address[0], address[2] + else: + # multiprocess + try: + address = test[0], test[1] + except TypeError: + # It may be an error at setup, in which case it's not really a test, but a Context object. + f = test.context.__file__ + if f.endswith('.pyc'): + f = f[:-1] + elif f.endswith('$py.class'): + f = f[:-len('$py.class')] + '.py' + address = f, '?' + except: + sys.stderr.write("PyDev: Internal pydev error getting test address. Please report at the pydev bug tracker\n") + traceback.print_exc() + sys.stderr.write("\n\n\n") + address = '?', '?' + return address + + def report_cond(self, cond, test, captured_output, error=''): + ''' + @param cond: fail, error, ok + ''' + + address = self._get_test_address(test) + + error_contents = self.get_io_from_error(error) + try: + time_str = '%.2f' % (time.time() - test._pydev_start_time) + except: + time_str = '?' + + pydev_runfiles_xml_rpc.notifyTest(cond, captured_output, error_contents, address[0], address[1], time_str) + + def startTest(self, test): + test._pydev_start_time = time.time() + file, test = self._get_test_address(test) + pydev_runfiles_xml_rpc.notifyStartTest(file, test) + + def get_io_from_error(self, err): + if type(err) == type(()): + if len(err) != 3: + if len(err) == 2: + return err[1] # multiprocess + s = StringIO() + etype, value, tb = err + if isinstance(value, str): + return value + traceback.print_exception(etype, value, tb, file=s) + return s.getvalue() + return err + + def get_captured_output(self, test): + if hasattr(test, 'capturedOutput') and test.capturedOutput: + return test.capturedOutput + return '' + + def addError(self, test, err): + self.report_cond( + 'error', + test, + self.get_captured_output(test), + err, + ) + + def addFailure(self, test, err): + self.report_cond( + 'fail', + test, + self.get_captured_output(test), + err, + ) + + def addSuccess(self, test): + self.report_cond( + 'ok', + test, + self.get_captured_output(test), + '', + ) + + +PYDEV_NOSE_PLUGIN_SINGLETON = None + + +def start_pydev_nose_plugin_singleton(configuration): + global PYDEV_NOSE_PLUGIN_SINGLETON + PYDEV_NOSE_PLUGIN_SINGLETON = PydevPlugin(configuration) + return PYDEV_NOSE_PLUGIN_SINGLETON + + +original = MultiProcessTestRunner.consolidate + + +#======================================================================================================================= +# new_consolidate +#======================================================================================================================= +def new_consolidate(self, result, batch_result): + ''' + Used so that it can work with the multiprocess plugin. + Monkeypatched because nose seems a bit unsupported at this time (ideally + the plugin would have this support by default). + ''' + ret = original(self, result, batch_result) + + parent_frame = sys._getframe().f_back + # addr is something as D:\pytesting1\src\mod1\hello.py:TestCase.testMet4 + # so, convert it to what report_cond expects + addr = parent_frame.f_locals['addr'] + i = addr.rindex(':') + addr = [addr[:i], addr[i + 1:]] + + output, testsRun, failures, errors, errorClasses = batch_result + if failures or errors: + for failure in failures: + PYDEV_NOSE_PLUGIN_SINGLETON.report_cond('fail', addr, output, failure) + + for error in errors: + PYDEV_NOSE_PLUGIN_SINGLETON.report_cond('error', addr, output, error) + else: + PYDEV_NOSE_PLUGIN_SINGLETON.report_cond('ok', addr, output) + + return ret + + +MultiProcessTestRunner.consolidate = new_consolidate diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_parallel.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_parallel.py new file mode 100644 index 0000000..b34c45e --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_parallel.py @@ -0,0 +1,267 @@ +import unittest +from _pydev_bundle._pydev_saved_modules import thread +import queue as Queue +from _pydev_runfiles import pydev_runfiles_xml_rpc +import time +import os +import threading +import sys + + +#======================================================================================================================= +# flatten_test_suite +#======================================================================================================================= +def flatten_test_suite(test_suite, ret): + if isinstance(test_suite, unittest.TestSuite): + for t in test_suite._tests: + flatten_test_suite(t, ret) + + elif isinstance(test_suite, unittest.TestCase): + ret.append(test_suite) + + +#======================================================================================================================= +# execute_tests_in_parallel +#======================================================================================================================= +def execute_tests_in_parallel(tests, jobs, split, verbosity, coverage_files, coverage_include): + ''' + @param tests: list(PydevTestSuite) + A list with the suites to be run + + @param split: str + Either 'module' or the number of tests that should be run in each batch + + @param coverage_files: list(file) + A list with the files that should be used for giving coverage information (if empty, coverage information + should not be gathered). + + @param coverage_include: str + The pattern that should be included in the coverage. + + @return: bool + Returns True if the tests were actually executed in parallel. If the tests were not executed because only 1 + should be used (e.g.: 2 jobs were requested for running 1 test), False will be returned and no tests will be + run. + + It may also return False if in debug mode (in which case, multi-processes are not accepted) + ''' + try: + from _pydevd_bundle.pydevd_comm import get_global_debugger + if get_global_debugger() is not None: + return False + except: + pass # Ignore any error here. + + # This queue will receive the tests to be run. Each entry in a queue is a list with the tests to be run together When + # split == 'tests', each list will have a single element, when split == 'module', each list will have all the tests + # from a given module. + tests_queue = [] + + queue_elements = [] + if split == 'module': + module_to_tests = {} + for test in tests: + lst = [] + flatten_test_suite(test, lst) + for test in lst: + key = (test.__pydev_pyfile__, test.__pydev_module_name__) + module_to_tests.setdefault(key, []).append(test) + + for key, tests in module_to_tests.items(): + queue_elements.append(tests) + + if len(queue_elements) < jobs: + # Don't create jobs we will never use. + jobs = len(queue_elements) + + elif split == 'tests': + for test in tests: + lst = [] + flatten_test_suite(test, lst) + for test in lst: + queue_elements.append([test]) + + if len(queue_elements) < jobs: + # Don't create jobs we will never use. + jobs = len(queue_elements) + + else: + raise AssertionError('Do not know how to handle: %s' % (split,)) + + for test_cases in queue_elements: + test_queue_elements = [] + for test_case in test_cases: + try: + test_name = test_case.__class__.__name__ + "." + test_case._testMethodName + except AttributeError: + # Support for jython 2.1 (__testMethodName is pseudo-private in the test case) + test_name = test_case.__class__.__name__ + "." + test_case._TestCase__testMethodName + + test_queue_elements.append(test_case.__pydev_pyfile__ + '|' + test_name) + + tests_queue.append(test_queue_elements) + + if jobs < 2: + return False + + sys.stdout.write('Running tests in parallel with: %s jobs.\n' % (jobs,)) + + queue = Queue.Queue() + for item in tests_queue: + queue.put(item, block=False) + + providers = [] + clients = [] + for i in range(jobs): + test_cases_provider = CommunicationThread(queue) + providers.append(test_cases_provider) + + test_cases_provider.start() + port = test_cases_provider.port + + if coverage_files: + clients.append(ClientThread(i, port, verbosity, coverage_files.pop(0), coverage_include)) + else: + clients.append(ClientThread(i, port, verbosity)) + + for client in clients: + client.start() + + client_alive = True + while client_alive: + client_alive = False + for client in clients: + # Wait for all the clients to exit. + if not client.finished: + client_alive = True + time.sleep(.2) + break + + for provider in providers: + provider.shutdown() + + return True + + +#======================================================================================================================= +# CommunicationThread +#======================================================================================================================= +class CommunicationThread(threading.Thread): + + def __init__(self, tests_queue): + threading.Thread.__init__(self) + self.daemon = True + self.queue = tests_queue + self.finished = False + from _pydev_bundle.pydev_imports import SimpleXMLRPCServer + from _pydev_bundle import pydev_localhost + + # Create server + server = SimpleXMLRPCServer((pydev_localhost.get_localhost(), 0), logRequests=False) + server.register_function(self.GetTestsToRun) + server.register_function(self.notifyStartTest) + server.register_function(self.notifyTest) + server.register_function(self.notifyCommands) + self.port = server.socket.getsockname()[1] + self.server = server + + def GetTestsToRun(self, job_id): + ''' + @param job_id: + + @return: list(str) + Each entry is a string in the format: filename|Test.testName + ''' + try: + ret = self.queue.get(block=False) + return ret + except: # Any exception getting from the queue (empty or not) means we finished our work on providing the tests. + self.finished = True + return [] + + def notifyCommands(self, job_id, commands): + # Batch notification. + for command in commands: + getattr(self, command[0])(job_id, *command[1], **command[2]) + + return True + + def notifyStartTest(self, job_id, *args, **kwargs): + pydev_runfiles_xml_rpc.notifyStartTest(*args, **kwargs) + return True + + def notifyTest(self, job_id, *args, **kwargs): + pydev_runfiles_xml_rpc.notifyTest(*args, **kwargs) + return True + + def shutdown(self): + if hasattr(self.server, 'shutdown'): + self.server.shutdown() + else: + self._shutdown = True + + def run(self): + if hasattr(self.server, 'shutdown'): + self.server.serve_forever() + else: + self._shutdown = False + while not self._shutdown: + self.server.handle_request() + + +#======================================================================================================================= +# Client +#======================================================================================================================= +class ClientThread(threading.Thread): + + def __init__(self, job_id, port, verbosity, coverage_output_file=None, coverage_include=None): + threading.Thread.__init__(self) + self.daemon = True + self.port = port + self.job_id = job_id + self.verbosity = verbosity + self.finished = False + self.coverage_output_file = coverage_output_file + self.coverage_include = coverage_include + + def _reader_thread(self, pipe, target): + while True: + target.write(pipe.read(1)) + + def run(self): + try: + from _pydev_runfiles import pydev_runfiles_parallel_client + # TODO: Support Jython: + # + # For jython, instead of using sys.executable, we should use: + # r'D:\bin\jdk_1_5_09\bin\java.exe', + # '-classpath', + # 'D:/bin/jython-2.2.1/jython.jar', + # 'org.python.util.jython', + + args = [ + sys.executable, + pydev_runfiles_parallel_client.__file__, + str(self.job_id), + str(self.port), + str(self.verbosity), + ] + + if self.coverage_output_file and self.coverage_include: + args.append(self.coverage_output_file) + args.append(self.coverage_include) + + import subprocess + if False: + proc = subprocess.Popen(args, env=os.environ, shell=False, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + + thread.start_new_thread(self._reader_thread, (proc.stdout, sys.stdout)) + + thread.start_new_thread(target=self._reader_thread, args=(proc.stderr, sys.stderr)) + else: + proc = subprocess.Popen(args, env=os.environ, shell=False) + proc.wait() + + finally: + self.finished = True + diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_parallel_client.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_parallel_client.py new file mode 120000 index 0000000..7ea5de0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_parallel_client.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c3/09/7c/501a46452a93bf0f1509d9764bb1b43be4b25ed3a654520f2b3e2887d1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_pytest2.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_pytest2.py new file mode 100644 index 0000000..793097d --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_pytest2.py @@ -0,0 +1,306 @@ +from _pydev_runfiles import pydev_runfiles_xml_rpc +import pickle +import zlib +import base64 +import os +from pydevd_file_utils import canonical_normalized_path +import pytest +import sys +import time +from pathlib import Path + +#========================================================================= +# Load filters with tests we should skip +#========================================================================= +py_test_accept_filter = None + + +def _load_filters(): + global py_test_accept_filter + if py_test_accept_filter is None: + py_test_accept_filter = os.environ.get('PYDEV_PYTEST_SKIP') + if py_test_accept_filter: + py_test_accept_filter = pickle.loads( + zlib.decompress(base64.b64decode(py_test_accept_filter))) + + # Newer versions of pytest resolve symlinks, so, we + # may need to filter with a resolved path too. + new_dct = {} + for filename, value in py_test_accept_filter.items(): + new_dct[canonical_normalized_path(str(Path(filename).resolve()))] = value + + py_test_accept_filter.update(new_dct) + + else: + py_test_accept_filter = {} + + +def is_in_xdist_node(): + main_pid = os.environ.get('PYDEV_MAIN_PID') + if main_pid and main_pid != str(os.getpid()): + return True + return False + + +connected = False + + +def connect_to_server_for_communication_to_xml_rpc_on_xdist(): + global connected + if connected: + return + connected = True + if is_in_xdist_node(): + port = os.environ.get('PYDEV_PYTEST_SERVER') + if not port: + sys.stderr.write( + 'Error: no PYDEV_PYTEST_SERVER environment variable defined.\n') + else: + pydev_runfiles_xml_rpc.initialize_server(int(port), daemon=True) + + +PY2 = sys.version_info[0] <= 2 +PY3 = not PY2 + + +class State: + start_time = time.time() + buf_err = None + buf_out = None + + +def start_redirect(): + if State.buf_out is not None: + return + from _pydevd_bundle import pydevd_io + State.buf_err = pydevd_io.start_redirect(keep_original_redirection=True, std='stderr') + State.buf_out = pydevd_io.start_redirect(keep_original_redirection=True, std='stdout') + + +def get_curr_output(): + buf_out = State.buf_out + buf_err = State.buf_err + return buf_out.getvalue() if buf_out is not None else '', buf_err.getvalue() if buf_err is not None else '' + + +def pytest_unconfigure(): + if is_in_xdist_node(): + return + # Only report that it finished when on the main node (we don't want to report + # the finish on each separate node). + pydev_runfiles_xml_rpc.notifyTestRunFinished( + 'Finished in: %.2f secs.' % (time.time() - State.start_time,)) + + +def pytest_collection_modifyitems(session, config, items): + # A note: in xdist, this is not called on the main process, only in the + # secondary nodes, so, we'll actually make the filter and report it multiple + # times. + connect_to_server_for_communication_to_xml_rpc_on_xdist() + + _load_filters() + if not py_test_accept_filter: + pydev_runfiles_xml_rpc.notifyTestsCollected(len(items)) + return # Keep on going (nothing to filter) + + new_items = [] + for item in items: + f = canonical_normalized_path(str(item.parent.fspath)) + name = item.name + + if f not in py_test_accept_filter: + # print('Skip file: %s' % (f,)) + continue # Skip the file + + i = name.find('[') + name_without_parametrize = None + if i > 0: + name_without_parametrize = name[:i] + + accept_tests = py_test_accept_filter[f] + + if item.cls is not None: + class_name = item.cls.__name__ + else: + class_name = None + for test in accept_tests: + if test == name: + # Direct match of the test (just go on with the default + # loading) + new_items.append(item) + break + + if name_without_parametrize is not None and test == name_without_parametrize: + # This happens when parameterizing pytest tests on older versions + # of pytest where the test name doesn't include the fixture name + # in it. + new_items.append(item) + break + + if class_name is not None: + if test == class_name + '.' + name: + new_items.append(item) + break + + if name_without_parametrize is not None and test == class_name + '.' + name_without_parametrize: + new_items.append(item) + break + + if class_name == test: + new_items.append(item) + break + else: + pass + # print('Skip test: %s.%s. Accept: %s' % (class_name, name, accept_tests)) + + # Modify the original list + items[:] = new_items + pydev_runfiles_xml_rpc.notifyTestsCollected(len(items)) + + +try: + """ + pytest > 5.4 uses own version of TerminalWriter based on py.io.TerminalWriter + and assumes there is a specific method TerminalWriter._write_source + so try load pytest version first or fallback to default one + """ + from _pytest._io import TerminalWriter +except ImportError: + from py.io import TerminalWriter + + +def _get_error_contents_from_report(report): + if report.longrepr is not None: + try: + tw = TerminalWriter(stringio=True) + stringio = tw.stringio + except TypeError: + import io + stringio = io.StringIO() + tw = TerminalWriter(file=stringio) + tw.hasmarkup = False + report.toterminal(tw) + exc = stringio.getvalue() + s = exc.strip() + if s: + return s + + return '' + + +def pytest_collectreport(report): + error_contents = _get_error_contents_from_report(report) + if error_contents: + report_test('fail', '', '', '', error_contents, 0.0) + + +def append_strings(s1, s2): + if s1.__class__ == s2.__class__: + return s1 + s2 + + # Prefer str + if isinstance(s1, bytes): + s1 = s1.decode('utf-8', 'replace') + + if isinstance(s2, bytes): + s2 = s2.decode('utf-8', 'replace') + + return s1 + s2 + + +def pytest_runtest_logreport(report): + if is_in_xdist_node(): + # When running with xdist, we don't want the report to be called from the node, only + # from the main process. + return + report_duration = report.duration + report_when = report.when + report_outcome = report.outcome + + if hasattr(report, 'wasxfail'): + if report_outcome != 'skipped': + report_outcome = 'passed' + + if report_outcome == 'passed': + # passed on setup/teardown: no need to report if in setup or teardown + # (only on the actual test if it passed). + if report_when in ('setup', 'teardown'): + return + + status = 'ok' + + elif report_outcome == 'skipped': + status = 'skip' + + else: + # It has only passed, skipped and failed (no error), so, let's consider + # error if not on call. + if report_when in ('setup', 'teardown'): + status = 'error' + + else: + # any error in the call (not in setup or teardown) is considered a + # regular failure. + status = 'fail' + + # This will work if pytest is not capturing it, if it is, nothing will + # come from here... + captured_output, error_contents = getattr(report, 'pydev_captured_output', ''), getattr(report, 'pydev_error_contents', '') + for type_section, value in report.sections: + if value: + if type_section in ('err', 'stderr', 'Captured stderr call'): + error_contents = append_strings(error_contents, value) + else: + captured_output = append_strings(error_contents, value) + + filename = getattr(report, 'pydev_fspath_strpath', '') + test = report.location[2] + + if report_outcome != 'skipped': + # On skipped, we'll have a traceback for the skip, which is not what we + # want. + exc = _get_error_contents_from_report(report) + if exc: + if error_contents: + error_contents = append_strings(error_contents, '----------------------------- Exceptions -----------------------------\n') + error_contents = append_strings(error_contents, exc) + + report_test(status, filename, test, captured_output, error_contents, report_duration) + + +def report_test(status, filename, test, captured_output, error_contents, duration): + ''' + @param filename: 'D:\\src\\mod1\\hello.py' + @param test: 'TestCase.testMet1' + @param status: fail, error, ok + ''' + time_str = '%.2f' % (duration,) + pydev_runfiles_xml_rpc.notifyTest( + status, captured_output, error_contents, filename, test, time_str) + + +if not hasattr(pytest, 'hookimpl'): + raise AssertionError('Please upgrade pytest (the current version of pytest: %s is unsupported)' % (pytest.__version__,)) + + +@pytest.hookimpl(hookwrapper=True) +def pytest_runtest_makereport(item, call): + outcome = yield + report = outcome.get_result() + report.pydev_fspath_strpath = item.fspath.strpath + report.pydev_captured_output, report.pydev_error_contents = get_curr_output() + + +@pytest.mark.tryfirst +def pytest_runtest_setup(item): + ''' + Note: with xdist will be on a secondary process. + ''' + # We have our own redirection: if xdist does its redirection, we'll have + # nothing in our contents (which is OK), but if it does, we'll get nothing + # from pytest but will get our own here. + start_redirect() + filename = item.fspath.strpath + test = item.location[2] + + pydev_runfiles_xml_rpc.notifyStartTest(filename, test) diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_unittest.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_unittest.py new file mode 100644 index 0000000..fff1ef9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_unittest.py @@ -0,0 +1,150 @@ +import unittest as python_unittest +from _pydev_runfiles import pydev_runfiles_xml_rpc +import time +from _pydevd_bundle import pydevd_io +import traceback +from _pydevd_bundle.pydevd_constants import * # @UnusedWildImport +from io import StringIO + + +#======================================================================================================================= +# PydevTextTestRunner +#======================================================================================================================= +class PydevTextTestRunner(python_unittest.TextTestRunner): + + def _makeResult(self): + return PydevTestResult(self.stream, self.descriptions, self.verbosity) + + +_PythonTextTestResult = python_unittest.TextTestRunner()._makeResult().__class__ + + +#======================================================================================================================= +# PydevTestResult +#======================================================================================================================= +class PydevTestResult(_PythonTextTestResult): + + def addSubTest(self, test, subtest, err): + """Called at the end of a subtest. + 'err' is None if the subtest ended successfully, otherwise it's a + tuple of values as returned by sys.exc_info(). + """ + _PythonTextTestResult.addSubTest(self, test, subtest, err) + if err is not None: + subdesc = subtest._subDescription() + error = (test, self._exc_info_to_string(err, test)) + self._reportErrors([error], [], '', '%s %s' % (self.get_test_name(test), subdesc)) + + def startTest(self, test): + _PythonTextTestResult.startTest(self, test) + self.buf = pydevd_io.start_redirect(keep_original_redirection=True, std='both') + self.start_time = time.time() + self._current_errors_stack = [] + self._current_failures_stack = [] + + try: + test_name = test.__class__.__name__ + "." + test._testMethodName + except AttributeError: + # Support for jython 2.1 (__testMethodName is pseudo-private in the test case) + test_name = test.__class__.__name__ + "." + test._TestCase__testMethodName + + pydev_runfiles_xml_rpc.notifyStartTest( + test.__pydev_pyfile__, test_name) + + def get_test_name(self, test): + try: + try: + test_name = test.__class__.__name__ + "." + test._testMethodName + except AttributeError: + # Support for jython 2.1 (__testMethodName is pseudo-private in the test case) + try: + test_name = test.__class__.__name__ + "." + test._TestCase__testMethodName + # Support for class/module exceptions (test is instance of _ErrorHolder) + except: + test_name = test.description.split()[1][1:-1] + ' <' + test.description.split()[0] + '>' + except: + traceback.print_exc() + return '' + return test_name + + def stopTest(self, test): + end_time = time.time() + pydevd_io.end_redirect(std='both') + + _PythonTextTestResult.stopTest(self, test) + + captured_output = self.buf.getvalue() + del self.buf + error_contents = '' + test_name = self.get_test_name(test) + + diff_time = '%.2f' % (end_time - self.start_time) + + skipped = False + outcome = getattr(test, '_outcome', None) + if outcome is not None: + skipped = bool(getattr(outcome, 'skipped', None)) + + if skipped: + pydev_runfiles_xml_rpc.notifyTest( + 'skip', captured_output, error_contents, test.__pydev_pyfile__, test_name, diff_time) + elif not self._current_errors_stack and not self._current_failures_stack: + pydev_runfiles_xml_rpc.notifyTest( + 'ok', captured_output, error_contents, test.__pydev_pyfile__, test_name, diff_time) + else: + self._reportErrors(self._current_errors_stack, self._current_failures_stack, captured_output, test_name) + + def _reportErrors(self, errors, failures, captured_output, test_name, diff_time=''): + error_contents = [] + for test, s in errors + failures: + if type(s) == type((1,)): # If it's a tuple (for jython 2.1) + sio = StringIO() + traceback.print_exception(s[0], s[1], s[2], file=sio) + s = sio.getvalue() + error_contents.append(s) + + sep = '\n' + self.separator1 + error_contents = sep.join(error_contents) + + if errors and not failures: + try: + pydev_runfiles_xml_rpc.notifyTest( + 'error', captured_output, error_contents, test.__pydev_pyfile__, test_name, diff_time) + except: + file_start = error_contents.find('File "') + file_end = error_contents.find('", ', file_start) + if file_start != -1 and file_end != -1: + file = error_contents[file_start + 6:file_end] + else: + file = '' + pydev_runfiles_xml_rpc.notifyTest( + 'error', captured_output, error_contents, file, test_name, diff_time) + + elif failures and not errors: + pydev_runfiles_xml_rpc.notifyTest( + 'fail', captured_output, error_contents, test.__pydev_pyfile__, test_name, diff_time) + + else: # Ok, we got both, errors and failures. Let's mark it as an error in the end. + pydev_runfiles_xml_rpc.notifyTest( + 'error', captured_output, error_contents, test.__pydev_pyfile__, test_name, diff_time) + + def addError(self, test, err): + _PythonTextTestResult.addError(self, test, err) + # Support for class/module exceptions (test is instance of _ErrorHolder) + if not hasattr(self, '_current_errors_stack') or test.__class__.__name__ == '_ErrorHolder': + # Not in start...end, so, report error now (i.e.: django pre/post-setup) + self._reportErrors([self.errors[-1]], [], '', self.get_test_name(test)) + else: + self._current_errors_stack.append(self.errors[-1]) + + def addFailure(self, test, err): + _PythonTextTestResult.addFailure(self, test, err) + if not hasattr(self, '_current_failures_stack'): + # Not in start...end, so, report error now (i.e.: django pre/post-setup) + self._reportErrors([], [self.failures[-1]], '', self.get_test_name(test)) + else: + self._current_failures_stack.append(self.failures[-1]) + + +class PydevTestSuite(python_unittest.TestSuite): + pass diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_xml_rpc.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_xml_rpc.py new file mode 100644 index 0000000..b4d6b5c --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_xml_rpc.py @@ -0,0 +1,257 @@ +import sys +import threading +import traceback +import warnings + +from _pydev_bundle._pydev_filesystem_encoding import getfilesystemencoding +from _pydev_bundle.pydev_imports import xmlrpclib, _queue +from _pydevd_bundle.pydevd_constants import Null + +Queue = _queue.Queue + +# This may happen in IronPython (in Python it shouldn't happen as there are +# 'fast' replacements that are used in xmlrpclib.py) +warnings.filterwarnings( + 'ignore', 'The xmllib module is obsolete.*', DeprecationWarning) + +file_system_encoding = getfilesystemencoding() + + +#======================================================================================================================= +# _ServerHolder +#======================================================================================================================= +class _ServerHolder: + ''' + Helper so that we don't have to use a global here. + ''' + SERVER = None + + +#======================================================================================================================= +# set_server +#======================================================================================================================= +def set_server(server): + _ServerHolder.SERVER = server + + +#======================================================================================================================= +# ParallelNotification +#======================================================================================================================= +class ParallelNotification(object): + + def __init__(self, method, args): + self.method = method + self.args = args + + def to_tuple(self): + return self.method, self.args + + +#======================================================================================================================= +# KillServer +#======================================================================================================================= +class KillServer(object): + pass + + +#======================================================================================================================= +# ServerFacade +#======================================================================================================================= +class ServerFacade(object): + + def __init__(self, notifications_queue): + self.notifications_queue = notifications_queue + + def notifyTestsCollected(self, *args): + self.notifications_queue.put_nowait(ParallelNotification('notifyTestsCollected', args)) + + def notifyConnected(self, *args): + self.notifications_queue.put_nowait(ParallelNotification('notifyConnected', args)) + + def notifyTestRunFinished(self, *args): + self.notifications_queue.put_nowait(ParallelNotification('notifyTestRunFinished', args)) + + def notifyStartTest(self, *args): + self.notifications_queue.put_nowait(ParallelNotification('notifyStartTest', args)) + + def notifyTest(self, *args): + new_args = [] + for arg in args: + new_args.append(_encode_if_needed(arg)) + args = tuple(new_args) + self.notifications_queue.put_nowait(ParallelNotification('notifyTest', args)) + + +#======================================================================================================================= +# ServerComm +#======================================================================================================================= +class ServerComm(threading.Thread): + + def __init__(self, notifications_queue, port, daemon=False): + threading.Thread.__init__(self) + self.setDaemon(daemon) # If False, wait for all the notifications to be passed before exiting! + self.finished = False + self.notifications_queue = notifications_queue + + from _pydev_bundle import pydev_localhost + + # It is necessary to specify an encoding, that matches + # the encoding of all bytes-strings passed into an + # XMLRPC call: "All 8-bit strings in the data structure are assumed to use the + # packet encoding. Unicode strings are automatically converted, + # where necessary." + # Byte strings most likely come from file names. + encoding = file_system_encoding + if encoding == "mbcs": + # Windos symbolic name for the system encoding CP_ACP. + # We need to convert it into a encoding that is recognized by Java. + # Unfortunately this is not always possible. You could use + # GetCPInfoEx and get a name similar to "windows-1251". Then + # you need a table to translate on a best effort basis. Much to complicated. + # ISO-8859-1 is good enough. + encoding = "ISO-8859-1" + + self.server = xmlrpclib.Server('http://%s:%s' % (pydev_localhost.get_localhost(), port), + encoding=encoding) + + def run(self): + while True: + kill_found = False + commands = [] + command = self.notifications_queue.get(block=True) + if isinstance(command, KillServer): + kill_found = True + else: + assert isinstance(command, ParallelNotification) + commands.append(command.to_tuple()) + + try: + while True: + command = self.notifications_queue.get(block=False) # No block to create a batch. + if isinstance(command, KillServer): + kill_found = True + else: + assert isinstance(command, ParallelNotification) + commands.append(command.to_tuple()) + except: + pass # That's OK, we're getting it until it becomes empty so that we notify multiple at once. + + if commands: + try: + self.server.notifyCommands(commands) + except: + traceback.print_exc() + + if kill_found: + self.finished = True + return + + +#======================================================================================================================= +# initialize_server +#======================================================================================================================= +def initialize_server(port, daemon=False): + if _ServerHolder.SERVER is None: + if port is not None: + notifications_queue = Queue() + _ServerHolder.SERVER = ServerFacade(notifications_queue) + _ServerHolder.SERVER_COMM = ServerComm(notifications_queue, port, daemon) + _ServerHolder.SERVER_COMM.start() + else: + # Create a null server, so that we keep the interface even without any connection. + _ServerHolder.SERVER = Null() + _ServerHolder.SERVER_COMM = Null() + + try: + _ServerHolder.SERVER.notifyConnected() + except: + traceback.print_exc() + + +#======================================================================================================================= +# notifyTest +#======================================================================================================================= +def notifyTestsCollected(tests_count): + assert tests_count is not None + try: + _ServerHolder.SERVER.notifyTestsCollected(tests_count) + except: + traceback.print_exc() + + +#======================================================================================================================= +# notifyStartTest +#======================================================================================================================= +def notifyStartTest(file, test): + ''' + @param file: the tests file (c:/temp/test.py) + @param test: the test ran (i.e.: TestCase.test1) + ''' + assert file is not None + if test is None: + test = '' # Could happen if we have an import error importing module. + + try: + _ServerHolder.SERVER.notifyStartTest(file, test) + except: + traceback.print_exc() + + +def _encode_if_needed(obj): + # In the java side we expect strings to be ISO-8859-1 (org.python.pydev.debug.pyunit.PyUnitServer.initializeDispatches().new Dispatch() {...}.getAsStr(Object)) + if isinstance(obj, str): # Unicode in py3 + return xmlrpclib.Binary(obj.encode('ISO-8859-1', 'xmlcharrefreplace')) + + elif isinstance(obj, bytes): + try: + return xmlrpclib.Binary(obj.decode(sys.stdin.encoding).encode('ISO-8859-1', 'xmlcharrefreplace')) + except: + return xmlrpclib.Binary(obj) # bytes already + + return obj + + +#======================================================================================================================= +# notifyTest +#======================================================================================================================= +def notifyTest(cond, captured_output, error_contents, file, test, time): + ''' + @param cond: ok, fail, error + @param captured_output: output captured from stdout + @param captured_output: output captured from stderr + @param file: the tests file (c:/temp/test.py) + @param test: the test ran (i.e.: TestCase.test1) + @param time: float with the number of seconds elapsed + ''' + assert cond is not None + assert captured_output is not None + assert error_contents is not None + assert file is not None + if test is None: + test = '' # Could happen if we have an import error importing module. + assert time is not None + try: + captured_output = _encode_if_needed(captured_output) + error_contents = _encode_if_needed(error_contents) + + _ServerHolder.SERVER.notifyTest(cond, captured_output, error_contents, file, test, time) + except: + traceback.print_exc() + + +#======================================================================================================================= +# notifyTestRunFinished +#======================================================================================================================= +def notifyTestRunFinished(total_time): + assert total_time is not None + try: + _ServerHolder.SERVER.notifyTestRunFinished(total_time) + except: + traceback.print_exc() + + +#======================================================================================================================= +# force_server_kill +#======================================================================================================================= +def force_server_kill(): + _ServerHolder.SERVER_COMM.notifications_queue.put_nowait(KillServer()) diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__init__.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..94c643c Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevconsole_code.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevconsole_code.cpython-38.pyc new file mode 100644 index 0000000..35738b5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevconsole_code.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_additional_thread_info.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_additional_thread_info.cpython-38.pyc new file mode 100644 index 0000000..b111b88 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_additional_thread_info.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_additional_thread_info_regular.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_additional_thread_info_regular.cpython-38.pyc new file mode 100644 index 0000000..39877e1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_additional_thread_info_regular.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_api.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_api.cpython-38.pyc new file mode 100644 index 0000000..6e2613b Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_api.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_breakpoints.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_breakpoints.cpython-38.pyc new file mode 100644 index 0000000..b4262a8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_breakpoints.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_bytecode_utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_bytecode_utils.cpython-38.pyc new file mode 100644 index 0000000..c246f0c Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_bytecode_utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_code_to_source.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_code_to_source.cpython-38.pyc new file mode 100644 index 0000000..3281951 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_code_to_source.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_collect_bytecode_info.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_collect_bytecode_info.cpython-38.pyc new file mode 100644 index 0000000..2d20460 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_collect_bytecode_info.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_comm.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_comm.cpython-38.pyc new file mode 100644 index 0000000..6e5a06e Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_comm.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_comm_constants.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_comm_constants.cpython-38.pyc new file mode 100644 index 0000000..4c4bb9e Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_comm_constants.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_command_line_handling.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_command_line_handling.cpython-38.pyc new file mode 100644 index 0000000..abb1f53 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_command_line_handling.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_console.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_console.cpython-38.pyc new file mode 100644 index 0000000..ffa7f60 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_console.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_constants.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_constants.cpython-38.pyc new file mode 100644 index 0000000..0313578 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_constants.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_custom_frames.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_custom_frames.cpython-38.pyc new file mode 100644 index 0000000..af7073e Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_custom_frames.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_cython_wrapper.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_cython_wrapper.cpython-38.pyc new file mode 100644 index 0000000..9cec5b9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_cython_wrapper.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_daemon_thread.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_daemon_thread.cpython-38.pyc new file mode 100644 index 0000000..383b9da Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_daemon_thread.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_defaults.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_defaults.cpython-38.pyc new file mode 100644 index 0000000..d972648 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_defaults.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_dont_trace.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_dont_trace.cpython-38.pyc new file mode 100644 index 0000000..7300f87 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_dont_trace.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_dont_trace_files.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_dont_trace_files.cpython-38.pyc new file mode 100644 index 0000000..5bff4c9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_dont_trace_files.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_exec2.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_exec2.cpython-38.pyc new file mode 100644 index 0000000..c11edd8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_exec2.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_extension_api.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_extension_api.cpython-38.pyc new file mode 100644 index 0000000..aecde27 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_extension_api.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_extension_utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_extension_utils.cpython-38.pyc new file mode 100644 index 0000000..3497d97 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_extension_utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_filtering.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_filtering.cpython-38.pyc new file mode 100644 index 0000000..777ea51 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_filtering.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_frame.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_frame.cpython-38.pyc new file mode 100644 index 0000000..5ff243f Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_frame.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_frame_utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_frame_utils.cpython-38.pyc new file mode 100644 index 0000000..49bb235 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_frame_utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_gevent_integration.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_gevent_integration.cpython-38.pyc new file mode 100644 index 0000000..6454fb0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_gevent_integration.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_import_class.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_import_class.cpython-38.pyc new file mode 100644 index 0000000..6ddf9c2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_import_class.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_io.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_io.cpython-38.pyc new file mode 100644 index 0000000..0a8b408 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_io.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_json_debug_options.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_json_debug_options.cpython-38.pyc new file mode 100644 index 0000000..b0993bc Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_json_debug_options.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_net_command.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_net_command.cpython-38.pyc new file mode 100644 index 0000000..9f791ac Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_net_command.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_net_command_factory_json.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_net_command_factory_json.cpython-38.pyc new file mode 100644 index 0000000..f74cdec Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_net_command_factory_json.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_net_command_factory_xml.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_net_command_factory_xml.cpython-38.pyc new file mode 100644 index 0000000..374b4d6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_net_command_factory_xml.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_plugin_utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_plugin_utils.cpython-38.pyc new file mode 100644 index 0000000..376fe92 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_plugin_utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_process_net_command.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_process_net_command.cpython-38.pyc new file mode 100644 index 0000000..3436524 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_process_net_command.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_process_net_command_json.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_process_net_command_json.cpython-38.pyc new file mode 100644 index 0000000..f28cbab Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_process_net_command_json.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_referrers.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_referrers.cpython-38.pyc new file mode 100644 index 0000000..c611f7e Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_referrers.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_reload.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_reload.cpython-38.pyc new file mode 100644 index 0000000..9d8bcc4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_reload.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_resolver.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_resolver.cpython-38.pyc new file mode 100644 index 0000000..4c5f17e Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_resolver.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_runpy.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_runpy.cpython-38.pyc new file mode 100644 index 0000000..9a50312 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_runpy.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_safe_repr.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_safe_repr.cpython-38.pyc new file mode 100644 index 0000000..fbdc173 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_safe_repr.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_save_locals.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_save_locals.cpython-38.pyc new file mode 100644 index 0000000..25575d0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_save_locals.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_signature.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_signature.cpython-38.pyc new file mode 100644 index 0000000..1d44541 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_signature.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_source_mapping.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_source_mapping.cpython-38.pyc new file mode 100644 index 0000000..9699d75 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_source_mapping.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_stackless.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_stackless.cpython-38.pyc new file mode 100644 index 0000000..7ed2b3a Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_stackless.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_suspended_frames.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_suspended_frames.cpython-38.pyc new file mode 100644 index 0000000..aedf218 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_suspended_frames.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_thread_lifecycle.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_thread_lifecycle.cpython-38.pyc new file mode 100644 index 0000000..ddc4317 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_thread_lifecycle.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_timeout.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_timeout.cpython-38.pyc new file mode 100644 index 0000000..9a2f9a0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_timeout.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_trace_api.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_trace_api.cpython-38.pyc new file mode 100644 index 0000000..c2ec58d Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_trace_api.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_trace_dispatch.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_trace_dispatch.cpython-38.pyc new file mode 100644 index 0000000..4a98a91 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_trace_dispatch.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_trace_dispatch_regular.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_trace_dispatch_regular.cpython-38.pyc new file mode 100644 index 0000000..ff3b761 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_trace_dispatch_regular.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_traceproperty.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_traceproperty.cpython-38.pyc new file mode 100644 index 0000000..1ea4405 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_traceproperty.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_utils.cpython-38.pyc new file mode 100644 index 0000000..544b7bc Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_vars.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_vars.cpython-38.pyc new file mode 100644 index 0000000..3090082 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_vars.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_vm_type.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_vm_type.cpython-38.pyc new file mode 100644 index 0000000..fed5068 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_vm_type.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_xml.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_xml.cpython-38.pyc new file mode 100644 index 0000000..c13ec6d Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/__pycache__/pydevd_xml.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__init__.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__main__pydevd_gen_debug_adapter_protocol.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__main__pydevd_gen_debug_adapter_protocol.py new file mode 120000 index 0000000..5188225 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__main__pydevd_gen_debug_adapter_protocol.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ee/b7/03/bcabf83b07876c9255508ad535aabb9d1cdcd8d9db442598ff0a867978 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..a7c3542 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__pycache__/__main__pydevd_gen_debug_adapter_protocol.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__pycache__/__main__pydevd_gen_debug_adapter_protocol.cpython-38.pyc new file mode 100644 index 0000000..aac37ba Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__pycache__/__main__pydevd_gen_debug_adapter_protocol.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__pycache__/pydevd_base_schema.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__pycache__/pydevd_base_schema.cpython-38.pyc new file mode 100644 index 0000000..01ebb58 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__pycache__/pydevd_base_schema.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__pycache__/pydevd_schema.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__pycache__/pydevd_schema.cpython-38.pyc new file mode 100644 index 0000000..c2da410 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__pycache__/pydevd_schema.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__pycache__/pydevd_schema_log.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__pycache__/pydevd_schema_log.cpython-38.pyc new file mode 100644 index 0000000..0ddb2fb Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__pycache__/pydevd_schema_log.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/debugProtocol.json b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/debugProtocol.json new file mode 100644 index 0000000..8bbe944 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/debugProtocol.json @@ -0,0 +1,4084 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Debug Adapter Protocol", + "description": "The Debug Adapter Protocol defines the protocol used between an editor or IDE and a debugger or runtime.", + "type": "object", + + + "definitions": { + + "ProtocolMessage": { + "type": "object", + "title": "Base Protocol", + "description": "Base class of requests, responses, and events.", + "properties": { + "seq": { + "type": "integer", + "description": "Sequence number (also known as message ID). For protocol messages of type 'request' this ID can be used to cancel the request." + }, + "type": { + "type": "string", + "description": "Message type.", + "_enum": [ "request", "response", "event" ] + } + }, + "required": [ "seq", "type" ] + }, + + "Request": { + "allOf": [ { "$ref": "#/definitions/ProtocolMessage" }, { + "type": "object", + "description": "A client or debug adapter initiated request.", + "properties": { + "type": { + "type": "string", + "enum": [ "request" ] + }, + "command": { + "type": "string", + "description": "The command to execute." + }, + "arguments": { + "type": [ "array", "boolean", "integer", "null", "number" , "object", "string" ], + "description": "Object containing arguments for the command." + } + }, + "required": [ "type", "command" ] + }] + }, + + "Event": { + "allOf": [ { "$ref": "#/definitions/ProtocolMessage" }, { + "type": "object", + "description": "A debug adapter initiated event.", + "properties": { + "type": { + "type": "string", + "enum": [ "event" ] + }, + "event": { + "type": "string", + "description": "Type of event." + }, + "body": { + "type": [ "array", "boolean", "integer", "null", "number" , "object", "string" ], + "description": "Event-specific information." + } + }, + "required": [ "type", "event" ] + }] + }, + + "Response": { + "allOf": [ { "$ref": "#/definitions/ProtocolMessage" }, { + "type": "object", + "description": "Response for a request.", + "properties": { + "type": { + "type": "string", + "enum": [ "response" ] + }, + "request_seq": { + "type": "integer", + "description": "Sequence number of the corresponding request." + }, + "success": { + "type": "boolean", + "description": "Outcome of the request.\nIf true, the request was successful and the 'body' attribute may contain the result of the request.\nIf the value is false, the attribute 'message' contains the error in short form and the 'body' may contain additional information (see 'ErrorResponse.body.error')." + }, + "command": { + "type": "string", + "description": "The command requested." + }, + "message": { + "type": "string", + "description": "Contains the raw error in short form if 'success' is false.\nThis raw error might be interpreted by the frontend and is not shown in the UI.\nSome predefined values exist.", + "_enum": [ "cancelled" ], + "enumDescriptions": [ + "request was cancelled." + ] + }, + "body": { + "type": [ "array", "boolean", "integer", "null", "number" , "object", "string" ], + "description": "Contains request result if success is true and optional error details if success is false." + } + }, + "required": [ "type", "request_seq", "success", "command" ] + }] + }, + + "ErrorResponse": { + "allOf": [ { "$ref": "#/definitions/Response" }, { + "type": "object", + "description": "On error (whenever 'success' is false), the body can provide more details.", + "properties": { + "body": { + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/Message", + "description": "An optional, structured error message." + } + } + } + }, + "required": [ "body" ] + }] + }, + + "CancelRequest": { + "allOf": [ { "$ref": "#/definitions/Request" }, { + "type": "object", + "description": "The 'cancel' request is used by the frontend in two situations:\n- to indicate that it is no longer interested in the result produced by a specific request issued earlier\n- to cancel a progress sequence. Clients should only call this request if the capability 'supportsCancelRequest' is true.\nThis request has a hint characteristic: a debug adapter can only be expected to make a 'best effort' in honouring this request but there are no guarantees.\nThe 'cancel' request may return an error if it could not cancel an operation but a frontend should refrain from presenting this error to end users.\nA frontend client should only call this request if the capability 'supportsCancelRequest' is true.\nThe request that got canceled still needs to send a response back. This can either be a normal result ('success' attribute true)\nor an error response ('success' attribute false and the 'message' set to 'cancelled').\nReturning partial results from a cancelled request is possible but please note that a frontend client has no generic way for detecting that a response is partial or not.\n The progress that got cancelled still needs to send a 'progressEnd' event back.\n A client should not assume that progress just got cancelled after sending the 'cancel' request.", + "properties": { + "command": { + "type": "string", + "enum": [ "cancel" ] + }, + "arguments": { + "$ref": "#/definitions/CancelArguments" + } + }, + "required": [ "command" ] + }] + }, + "CancelArguments": { + "type": "object", + "description": "Arguments for 'cancel' request.", + "properties": { + "requestId": { + "type": "integer", + "description": "The ID (attribute 'seq') of the request to cancel. If missing no request is cancelled.\nBoth a 'requestId' and a 'progressId' can be specified in one request." + }, + "progressId": { + "type": "string", + "description": "The ID (attribute 'progressId') of the progress to cancel. If missing no progress is cancelled.\nBoth a 'requestId' and a 'progressId' can be specified in one request." + } + } + }, + "CancelResponse": { + "allOf": [ { "$ref": "#/definitions/Response" }, { + "type": "object", + "description": "Response to 'cancel' request. This is just an acknowledgement, so no body field is required." + }] + }, + + "InitializedEvent": { + "allOf": [ { "$ref": "#/definitions/Event" }, { + "type": "object", + "title": "Events", + "description": "This event indicates that the debug adapter is ready to accept configuration requests (e.g. SetBreakpointsRequest, SetExceptionBreakpointsRequest).\nA debug adapter is expected to send this event when it is ready to accept configuration requests (but not before the 'initialize' request has finished).\nThe sequence of events/requests is as follows:\n- adapters sends 'initialized' event (after the 'initialize' request has returned)\n- frontend sends zero or more 'setBreakpoints' requests\n- frontend sends one 'setFunctionBreakpoints' request (if capability 'supportsFunctionBreakpoints' is true)\n- frontend sends a 'setExceptionBreakpoints' request if one or more 'exceptionBreakpointFilters' have been defined (or if 'supportsConfigurationDoneRequest' is not defined or false)\n- frontend sends other future configuration requests\n- frontend sends one 'configurationDone' request to indicate the end of the configuration.", + "properties": { + "event": { + "type": "string", + "enum": [ "initialized" ] + } + }, + "required": [ "event" ] + }] + }, + + "StoppedEvent": { + "allOf": [ { "$ref": "#/definitions/Event" }, { + "type": "object", + "description": "The event indicates that the execution of the debuggee has stopped due to some condition.\nThis can be caused by a break point previously set, a stepping request has completed, by executing a debugger statement etc.", + "properties": { + "event": { + "type": "string", + "enum": [ "stopped" ] + }, + "body": { + "type": "object", + "properties": { + "reason": { + "type": "string", + "description": "The reason for the event.\nFor backward compatibility this string is shown in the UI if the 'description' attribute is missing (but it must not be translated).", + "_enum": [ "step", "breakpoint", "exception", "pause", "entry", "goto", "function breakpoint", "data breakpoint", "instruction breakpoint" ] + }, + "description": { + "type": "string", + "description": "The full reason for the event, e.g. 'Paused on exception'. This string is shown in the UI as is and must be translated." + }, + "threadId": { + "type": "integer", + "description": "The thread which was stopped." + }, + "preserveFocusHint": { + "type": "boolean", + "description": "A value of true hints to the frontend that this event should not change the focus." + }, + "text": { + "type": "string", + "description": "Additional information. E.g. if reason is 'exception', text contains the exception name. This string is shown in the UI." + }, + "allThreadsStopped": { + "type": "boolean", + "description": "If 'allThreadsStopped' is true, a debug adapter can announce that all threads have stopped.\n- The client should use this information to enable that all threads can be expanded to access their stacktraces.\n- If the attribute is missing or false, only the thread with the given threadId can be expanded." + }, + "hitBreakpointIds": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "Ids of the breakpoints that triggered the event. In most cases there will be only a single breakpoint but here are some examples for multiple breakpoints:\n- Different types of breakpoints map to the same location.\n- Multiple source breakpoints get collapsed to the same instruction by the compiler/runtime.\n- Multiple function breakpoints with different function names map to the same location." + } + }, + "required": [ "reason" ] + } + }, + "required": [ "event", "body" ] + }] + }, + + "ContinuedEvent": { + "allOf": [ { "$ref": "#/definitions/Event" }, { + "type": "object", + "description": "The event indicates that the execution of the debuggee has continued.\nPlease note: a debug adapter is not expected to send this event in response to a request that implies that execution continues, e.g. 'launch' or 'continue'.\nIt is only necessary to send a 'continued' event if there was no previous request that implied this.", + "properties": { + "event": { + "type": "string", + "enum": [ "continued" ] + }, + "body": { + "type": "object", + "properties": { + "threadId": { + "type": "integer", + "description": "The thread which was continued." + }, + "allThreadsContinued": { + "type": "boolean", + "description": "If 'allThreadsContinued' is true, a debug adapter can announce that all threads have continued." + } + }, + "required": [ "threadId" ] + } + }, + "required": [ "event", "body" ] + }] + }, + + "ExitedEvent": { + "allOf": [ { "$ref": "#/definitions/Event" }, { + "type": "object", + "description": "The event indicates that the debuggee has exited and returns its exit code.", + "properties": { + "event": { + "type": "string", + "enum": [ "exited" ] + }, + "body": { + "type": "object", + "properties": { + "exitCode": { + "type": "integer", + "description": "The exit code returned from the debuggee." + } + }, + "required": [ "exitCode" ] + } + }, + "required": [ "event", "body" ] + }] + }, + + "TerminatedEvent": { + "allOf": [ { "$ref": "#/definitions/Event" }, { + "type": "object", + "description": "The event indicates that debugging of the debuggee has terminated. This does **not** mean that the debuggee itself has exited.", + "properties": { + "event": { + "type": "string", + "enum": [ "terminated" ] + }, + "body": { + "type": "object", + "properties": { + "restart": { + "type": [ "array", "boolean", "integer", "null", "number", "object", "string" ], + "description": "A debug adapter may set 'restart' to true (or to an arbitrary object) to request that the front end restarts the session.\nThe value is not interpreted by the client and passed unmodified as an attribute '__restart' to the 'launch' and 'attach' requests." + } + } + } + }, + "required": [ "event" ] + }] + }, + + "ThreadEvent": { + "allOf": [ { "$ref": "#/definitions/Event" }, { + "type": "object", + "description": "The event indicates that a thread has started or exited.", + "properties": { + "event": { + "type": "string", + "enum": [ "thread" ] + }, + "body": { + "type": "object", + "properties": { + "reason": { + "type": "string", + "description": "The reason for the event.", + "_enum": [ "started", "exited" ] + }, + "threadId": { + "type": "integer", + "description": "The identifier of the thread." + } + }, + "required": ["reason", "threadId"] + } + }, + "required": [ "event", "body" ] + }] + }, + + "OutputEvent": { + "allOf": [ { "$ref": "#/definitions/Event" }, { + "type": "object", + "description": "The event indicates that the target has produced some output.", + "properties": { + "event": { + "type": "string", + "enum": [ "output" ] + }, + "body": { + "type": "object", + "properties": { + "category": { + "type": "string", + "description": "The output category. If not specified or if the category is not understand by the client, 'console' is assumed.", + "_enum": [ "console", "important", "stdout", "stderr", "telemetry" ], + "enumDescriptions": [ + "Show the output in the client's default message UI, e.g. a 'debug console'. This category should only be used for informational output from the debugger (as opposed to the debuggee).", + "A hint for the client to show the ouput in the client's UI for important and highly visible information, e.g. as a popup notification. This category should only be used for important messages from the debugger (as opposed to the debuggee). Since this category value is a hint, clients might ignore the hint and assume the 'console' category.", + "Show the output as normal program output from the debuggee.", + "Show the output as error program output from the debuggee.", + "Send the output to telemetry instead of showing it to the user." + ] + }, + "output": { + "type": "string", + "description": "The output to report." + }, + "group": { + "type": "string", + "description": "Support for keeping an output log organized by grouping related messages.", + "enum": [ "start", "startCollapsed", "end" ], + "enumDescriptions": [ + "Start a new group in expanded mode. Subsequent output events are members of the group and should be shown indented.\nThe 'output' attribute becomes the name of the group and is not indented.", + "Start a new group in collapsed mode. Subsequent output events are members of the group and should be shown indented (as soon as the group is expanded).\nThe 'output' attribute becomes the name of the group and is not indented.", + "End the current group and decreases the indentation of subsequent output events.\nA non empty 'output' attribute is shown as the unindented end of the group." + ] + }, + "variablesReference": { + "type": "integer", + "description": "If an attribute 'variablesReference' exists and its value is > 0, the output contains objects which can be retrieved by passing 'variablesReference' to the 'variables' request. The value should be less than or equal to 2147483647 (2^31-1)." + }, + "source": { + "$ref": "#/definitions/Source", + "description": "An optional source location where the output was produced." + }, + "line": { + "type": "integer", + "description": "An optional source location line where the output was produced." + }, + "column": { + "type": "integer", + "description": "An optional source location column where the output was produced." + }, + "data": { + "type": [ "array", "boolean", "integer", "null", "number" , "object", "string" ], + "description": "Optional data to report. For the 'telemetry' category the data will be sent to telemetry, for the other categories the data is shown in JSON format." + } + }, + "required": ["output"] + } + }, + "required": [ "event", "body" ] + }] + }, + + "BreakpointEvent": { + "allOf": [ { "$ref": "#/definitions/Event" }, { + "type": "object", + "description": "The event indicates that some information about a breakpoint has changed.", + "properties": { + "event": { + "type": "string", + "enum": [ "breakpoint" ] + }, + "body": { + "type": "object", + "properties": { + "reason": { + "type": "string", + "description": "The reason for the event.", + "_enum": [ "changed", "new", "removed" ] + }, + "breakpoint": { + "$ref": "#/definitions/Breakpoint", + "description": "The 'id' attribute is used to find the target breakpoint and the other attributes are used as the new values." + } + }, + "required": [ "reason", "breakpoint" ] + } + }, + "required": [ "event", "body" ] + }] + }, + + "ModuleEvent": { + "allOf": [ { "$ref": "#/definitions/Event" }, { + "type": "object", + "description": "The event indicates that some information about a module has changed.", + "properties": { + "event": { + "type": "string", + "enum": [ "module" ] + }, + "body": { + "type": "object", + "properties": { + "reason": { + "type": "string", + "description": "The reason for the event.", + "enum": [ "new", "changed", "removed" ] + }, + "module": { + "$ref": "#/definitions/Module", + "description": "The new, changed, or removed module. In case of 'removed' only the module id is used." + } + }, + "required": [ "reason", "module" ] + } + }, + "required": [ "event", "body" ] + }] + }, + + "LoadedSourceEvent": { + "allOf": [ { "$ref": "#/definitions/Event" }, { + "type": "object", + "description": "The event indicates that some source has been added, changed, or removed from the set of all loaded sources.", + "properties": { + "event": { + "type": "string", + "enum": [ "loadedSource" ] + }, + "body": { + "type": "object", + "properties": { + "reason": { + "type": "string", + "description": "The reason for the event.", + "enum": [ "new", "changed", "removed" ] + }, + "source": { + "$ref": "#/definitions/Source", + "description": "The new, changed, or removed source." + } + }, + "required": [ "reason", "source" ] + } + }, + "required": [ "event", "body" ] + }] + }, + + "ProcessEvent": { + "allOf": [ + { "$ref": "#/definitions/Event" }, + { + "type": "object", + "description": "The event indicates that the debugger has begun debugging a new process. Either one that it has launched, or one that it has attached to.", + "properties": { + "event": { + "type": "string", + "enum": [ "process" ] + }, + "body": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The logical name of the process. This is usually the full path to process's executable file. Example: /home/example/myproj/program.js." + }, + "systemProcessId": { + "type": "integer", + "description": "The system process id of the debugged process. This property will be missing for non-system processes." + }, + "isLocalProcess": { + "type": "boolean", + "description": "If true, the process is running on the same computer as the debug adapter." + }, + "startMethod": { + "type": "string", + "enum": [ "launch", "attach", "attachForSuspendedLaunch" ], + "description": "Describes how the debug engine started debugging this process.", + "enumDescriptions": [ + "Process was launched under the debugger.", + "Debugger attached to an existing process.", + "A project launcher component has launched a new process in a suspended state and then asked the debugger to attach." + ] + }, + "pointerSize": { + "type": "integer", + "description": "The size of a pointer or address for this process, in bits. This value may be used by clients when formatting addresses for display." + } + }, + "required": [ "name" ] + } + }, + "required": [ "event", "body" ] + } + ] + }, + + "CapabilitiesEvent": { + "allOf": [ { "$ref": "#/definitions/Event" }, { + "type": "object", + "description": "The event indicates that one or more capabilities have changed.\nSince the capabilities are dependent on the frontend and its UI, it might not be possible to change that at random times (or too late).\nConsequently this event has a hint characteristic: a frontend can only be expected to make a 'best effort' in honouring individual capabilities but there are no guarantees.\nOnly changed capabilities need to be included, all other capabilities keep their values.", + "properties": { + "event": { + "type": "string", + "enum": [ "capabilities" ] + }, + "body": { + "type": "object", + "properties": { + "capabilities": { + "$ref": "#/definitions/Capabilities", + "description": "The set of updated capabilities." + } + }, + "required": [ "capabilities" ] + } + }, + "required": [ "event", "body" ] + }] + }, + + "ProgressStartEvent": { + "allOf": [ { "$ref": "#/definitions/Event" }, { + "type": "object", + "description": "The event signals that a long running operation is about to start and\nprovides additional information for the client to set up a corresponding progress and cancellation UI.\nThe client is free to delay the showing of the UI in order to reduce flicker.\nThis event should only be sent if the client has passed the value true for the 'supportsProgressReporting' capability of the 'initialize' request.", + "properties": { + "event": { + "type": "string", + "enum": [ "progressStart" ] + }, + "body": { + "type": "object", + "properties": { + "progressId": { + "type": "string", + "description": "An ID that must be used in subsequent 'progressUpdate' and 'progressEnd' events to make them refer to the same progress reporting.\nIDs must be unique within a debug session." + }, + "title": { + "type": "string", + "description": "Mandatory (short) title of the progress reporting. Shown in the UI to describe the long running operation." + }, + "requestId": { + "type": "integer", + "description": "The request ID that this progress report is related to. If specified a debug adapter is expected to emit\nprogress events for the long running request until the request has been either completed or cancelled.\nIf the request ID is omitted, the progress report is assumed to be related to some general activity of the debug adapter." + }, + "cancellable": { + "type": "boolean", + "description": "If true, the request that reports progress may be canceled with a 'cancel' request.\nSo this property basically controls whether the client should use UX that supports cancellation.\nClients that don't support cancellation are allowed to ignore the setting." + }, + "message": { + "type": "string", + "description": "Optional, more detailed progress message." + }, + "percentage": { + "type": "number", + "description": "Optional progress percentage to display (value range: 0 to 100). If omitted no percentage will be shown." + } + }, + "required": [ "progressId", "title" ] + } + }, + "required": [ "event", "body" ] + }] + }, + + "ProgressUpdateEvent": { + "allOf": [ { "$ref": "#/definitions/Event" }, { + "type": "object", + "description": "The event signals that the progress reporting needs to updated with a new message and/or percentage.\nThe client does not have to update the UI immediately, but the clients needs to keep track of the message and/or percentage values.\nThis event should only be sent if the client has passed the value true for the 'supportsProgressReporting' capability of the 'initialize' request.", + "properties": { + "event": { + "type": "string", + "enum": [ "progressUpdate" ] + }, + "body": { + "type": "object", + "properties": { + "progressId": { + "type": "string", + "description": "The ID that was introduced in the initial 'progressStart' event." + }, + "message": { + "type": "string", + "description": "Optional, more detailed progress message. If omitted, the previous message (if any) is used." + }, + "percentage": { + "type": "number", + "description": "Optional progress percentage to display (value range: 0 to 100). If omitted no percentage will be shown." + } + }, + "required": [ "progressId" ] + } + }, + "required": [ "event", "body" ] + }] + }, + + "ProgressEndEvent": { + "allOf": [ { "$ref": "#/definitions/Event" }, { + "type": "object", + "description": "The event signals the end of the progress reporting with an optional final message.\nThis event should only be sent if the client has passed the value true for the 'supportsProgressReporting' capability of the 'initialize' request.", + "properties": { + "event": { + "type": "string", + "enum": [ "progressEnd" ] + }, + "body": { + "type": "object", + "properties": { + "progressId": { + "type": "string", + "description": "The ID that was introduced in the initial 'ProgressStartEvent'." + }, + "message": { + "type": "string", + "description": "Optional, more detailed progress message. If omitted, the previous message (if any) is used." + } + }, + "required": [ "progressId" ] + } + }, + "required": [ "event", "body" ] + }] + }, + + "InvalidatedEvent": { + "allOf": [ { "$ref": "#/definitions/Event" }, { + "type": "object", + "description": "This event signals that some state in the debug adapter has changed and requires that the client needs to re-render the data snapshot previously requested.\nDebug adapters do not have to emit this event for runtime changes like stopped or thread events because in that case the client refetches the new state anyway. But the event can be used for example to refresh the UI after rendering formatting has changed in the debug adapter.\nThis event should only be sent if the debug adapter has received a value true for the 'supportsInvalidatedEvent' capability of the 'initialize' request.", + "properties": { + "event": { + "type": "string", + "enum": [ "invalidated" ] + }, + "body": { + "type": "object", + "properties": { + "areas": { + "type": "array", + "description": "Optional set of logical areas that got invalidated. This property has a hint characteristic: a client can only be expected to make a 'best effort' in honouring the areas but there are no guarantees. If this property is missing, empty, or if values are not understand the client should assume a single value 'all'.", + "items": { + "$ref": "#/definitions/InvalidatedAreas" + } + }, + "threadId": { + "type": "integer", + "description": "If specified, the client only needs to refetch data related to this thread." + }, + "stackFrameId": { + "type": "integer", + "description": "If specified, the client only needs to refetch data related to this stack frame (and the 'threadId' is ignored)." + } + } + } + }, + "required": [ "event", "body" ] + }] + }, + + "MemoryEvent": { + "allOf": [ { "$ref": "#/definitions/Event" }, { + "type": "object", + "description": "This event indicates that some memory range has been updated. It should only be sent if the debug adapter has received a value true for the `supportsMemoryEvent` capability of the `initialize` request.\nClients typically react to the event by re-issuing a `readMemory` request if they show the memory identified by the `memoryReference` and if the updated memory range overlaps the displayed range. Clients should not make assumptions how individual memory references relate to each other, so they should not assume that they are part of a single continuous address range and might overlap.\nDebug adapters can use this event to indicate that the contents of a memory range has changed due to some other DAP request like `setVariable` or `setExpression`. Debug adapters are not expected to emit this event for each and every memory change of a running program, because that information is typically not available from debuggers and it would flood clients with too many events.", + "properties": { + "event": { + "type": "string", + "enum": [ "memory" ] + }, + "body": { + "type": "object", + "properties": { + "memoryReference": { + "type": "string", + "description": "Memory reference of a memory range that has been updated." + }, + "offset": { + "type": "integer", + "description": "Starting offset in bytes where memory has been updated. Can be negative." + }, + "count": { + "type": "integer", + "description": "Number of bytes updated." + } + }, + "required": [ "memoryReference", "offset", "count" ] + } + }, + "required": [ "event", "body" ] + }] + }, + + "RunInTerminalRequest": { + "allOf": [ { "$ref": "#/definitions/Request" }, { + "type": "object", + "title": "Reverse Requests", + "description": "This optional request is sent from the debug adapter to the client to run a command in a terminal.\nThis is typically used to launch the debuggee in a terminal provided by the client.\nThis request should only be called if the client has passed the value true for the 'supportsRunInTerminalRequest' capability of the 'initialize' request.", + "properties": { + "command": { + "type": "string", + "enum": [ "runInTerminal" ] + }, + "arguments": { + "$ref": "#/definitions/RunInTerminalRequestArguments" + } + }, + "required": [ "command", "arguments" ] + }] + }, + "RunInTerminalRequestArguments": { + "type": "object", + "description": "Arguments for 'runInTerminal' request.", + "properties": { + "kind": { + "type": "string", + "enum": [ "integrated", "external" ], + "description": "What kind of terminal to launch." + }, + "title": { + "type": "string", + "description": "Optional title of the terminal." + }, + "cwd": { + "type": "string", + "description": "Working directory for the command. For non-empty, valid paths this typically results in execution of a change directory command." + }, + "args": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of arguments. The first argument is the command to run." + }, + "env": { + "type": "object", + "description": "Environment key-value pairs that are added to or removed from the default environment.", + "additionalProperties": { + "type": [ "string", "null" ], + "description": "Proper values must be strings. A value of 'null' removes the variable from the environment." + } + } + }, + "required": [ "args", "cwd" ] + }, + "RunInTerminalResponse": { + "allOf": [ { "$ref": "#/definitions/Response" }, { + "type": "object", + "description": "Response to 'runInTerminal' request.", + "properties": { + "body": { + "type": "object", + "properties": { + "processId": { + "type": "integer", + "description": "The process ID. The value should be less than or equal to 2147483647 (2^31-1)." + }, + "shellProcessId": { + "type": "integer", + "description": "The process ID of the terminal shell. The value should be less than or equal to 2147483647 (2^31-1)." + } + } + } + }, + "required": [ "body" ] + }] + }, + + "InitializeRequest": { + "allOf": [ { "$ref": "#/definitions/Request" }, { + "type": "object", + "title": "Requests", + "description": "The 'initialize' request is sent as the first request from the client to the debug adapter\nin order to configure it with client capabilities and to retrieve capabilities from the debug adapter.\nUntil the debug adapter has responded to with an 'initialize' response, the client must not send any additional requests or events to the debug adapter.\nIn addition the debug adapter is not allowed to send any requests or events to the client until it has responded with an 'initialize' response.\nThe 'initialize' request may only be sent once.", + "properties": { + "command": { + "type": "string", + "enum": [ "initialize" ] + }, + "arguments": { + "$ref": "#/definitions/InitializeRequestArguments" + } + }, + "required": [ "command", "arguments" ] + }] + }, + "InitializeRequestArguments": { + "type": "object", + "description": "Arguments for 'initialize' request.", + "properties": { + "clientID": { + "type": "string", + "description": "The ID of the (frontend) client using this adapter." + }, + "clientName": { + "type": "string", + "description": "The human readable name of the (frontend) client using this adapter." + }, + "adapterID": { + "type": "string", + "description": "The ID of the debug adapter." + }, + "locale": { + "type": "string", + "description": "The ISO-639 locale of the (frontend) client using this adapter, e.g. en-US or de-CH." + }, + "linesStartAt1": { + "type": "boolean", + "description": "If true all line numbers are 1-based (default)." + }, + "columnsStartAt1": { + "type": "boolean", + "description": "If true all column numbers are 1-based (default)." + }, + "pathFormat": { + "type": "string", + "_enum": [ "path", "uri" ], + "description": "Determines in what format paths are specified. The default is 'path', which is the native format." + }, + "supportsVariableType": { + "type": "boolean", + "description": "Client supports the optional type attribute for variables." + }, + "supportsVariablePaging": { + "type": "boolean", + "description": "Client supports the paging of variables." + }, + "supportsRunInTerminalRequest": { + "type": "boolean", + "description": "Client supports the runInTerminal request." + }, + "supportsMemoryReferences": { + "type": "boolean", + "description": "Client supports memory references." + }, + "supportsProgressReporting": { + "type": "boolean", + "description": "Client supports progress reporting." + }, + "supportsInvalidatedEvent": { + "type": "boolean", + "description": "Client supports the invalidated event." + }, + "supportsMemoryEvent": { + "type": "boolean", + "description": "Client supports the memory event." + } + }, + "required": [ "adapterID" ] + }, + "InitializeResponse": { + "allOf": [ { "$ref": "#/definitions/Response" }, { + "type": "object", + "description": "Response to 'initialize' request.", + "properties": { + "body": { + "$ref": "#/definitions/Capabilities", + "description": "The capabilities of this debug adapter." + } + } + }] + }, + + "ConfigurationDoneRequest": { + "allOf": [ { "$ref": "#/definitions/Request" }, { + "type": "object", + "description": "This optional request indicates that the client has finished initialization of the debug adapter.\nSo it is the last request in the sequence of configuration requests (which was started by the 'initialized' event).\nClients should only call this request if the capability 'supportsConfigurationDoneRequest' is true.", + "properties": { + "command": { + "type": "string", + "enum": [ "configurationDone" ] + }, + "arguments": { + "$ref": "#/definitions/ConfigurationDoneArguments" + } + }, + "required": [ "command" ] + }] + }, + "ConfigurationDoneArguments": { + "type": "object", + "description": "Arguments for 'configurationDone' request." + }, + "ConfigurationDoneResponse": { + "allOf": [ { "$ref": "#/definitions/Response" }, { + "type": "object", + "description": "Response to 'configurationDone' request. This is just an acknowledgement, so no body field is required." + }] + }, + + "LaunchRequest": { + "allOf": [ { "$ref": "#/definitions/Request" }, { + "type": "object", + "description": "This launch request is sent from the client to the debug adapter to start the debuggee with or without debugging (if 'noDebug' is true).\nSince launching is debugger/runtime specific, the arguments for this request are not part of this specification.", + "properties": { + "command": { + "type": "string", + "enum": [ "launch" ] + }, + "arguments": { + "$ref": "#/definitions/LaunchRequestArguments" + } + }, + "required": [ "command", "arguments" ] + }] + }, + "LaunchRequestArguments": { + "type": "object", + "description": "Arguments for 'launch' request. Additional attributes are implementation specific.", + "properties": { + "noDebug": { + "type": "boolean", + "description": "If noDebug is true the launch request should launch the program without enabling debugging." + }, + "__restart": { + "type": [ "array", "boolean", "integer", "null", "number", "object", "string" ], + "description": "Optional data from the previous, restarted session.\nThe data is sent as the 'restart' attribute of the 'terminated' event.\nThe client should leave the data intact." + } + } + }, + "LaunchResponse": { + "allOf": [ { "$ref": "#/definitions/Response" }, { + "type": "object", + "description": "Response to 'launch' request. This is just an acknowledgement, so no body field is required." + }] + }, + + "AttachRequest": { + "allOf": [ { "$ref": "#/definitions/Request" }, { + "type": "object", + "description": "The attach request is sent from the client to the debug adapter to attach to a debuggee that is already running.\nSince attaching is debugger/runtime specific, the arguments for this request are not part of this specification.", + "properties": { + "command": { + "type": "string", + "enum": [ "attach" ] + }, + "arguments": { + "$ref": "#/definitions/AttachRequestArguments" + } + }, + "required": [ "command", "arguments" ] + }] + }, + "AttachRequestArguments": { + "type": "object", + "description": "Arguments for 'attach' request. Additional attributes are implementation specific.", + "properties": { + "__restart": { + "type": [ "array", "boolean", "integer", "null", "number", "object", "string" ], + "description": "Optional data from the previous, restarted session.\nThe data is sent as the 'restart' attribute of the 'terminated' event.\nThe client should leave the data intact." + } + } + }, + "AttachResponse": { + "allOf": [ { "$ref": "#/definitions/Response" }, { + "type": "object", + "description": "Response to 'attach' request. This is just an acknowledgement, so no body field is required." + }] + }, + + "RestartRequest": { + "allOf": [ { "$ref": "#/definitions/Request" }, { + "type": "object", + "description": "Restarts a debug session. Clients should only call this request if the capability 'supportsRestartRequest' is true.\nIf the capability is missing or has the value false, a typical client will emulate 'restart' by terminating the debug adapter first and then launching it anew.", + "properties": { + "command": { + "type": "string", + "enum": [ "restart" ] + }, + "arguments": { + "$ref": "#/definitions/RestartArguments" + } + }, + "required": [ "command" ] + }] + }, + "RestartArguments": { + "type": "object", + "description": "Arguments for 'restart' request.", + "properties": { + "arguments": { + "oneOf": [ + { "$ref": "#/definitions/LaunchRequestArguments" }, + { "$ref": "#/definitions/AttachRequestArguments" } + ], + "description": "The latest version of the 'launch' or 'attach' configuration." + } + } + }, + "RestartResponse": { + "allOf": [ { "$ref": "#/definitions/Response" }, { + "type": "object", + "description": "Response to 'restart' request. This is just an acknowledgement, so no body field is required." + }] + }, + + "DisconnectRequest": { + "allOf": [ { "$ref": "#/definitions/Request" }, { + "type": "object", + "description": "The 'disconnect' request is sent from the client to the debug adapter in order to stop debugging.\nIt asks the debug adapter to disconnect from the debuggee and to terminate the debug adapter.\nIf the debuggee has been started with the 'launch' request, the 'disconnect' request terminates the debuggee.\nIf the 'attach' request was used to connect to the debuggee, 'disconnect' does not terminate the debuggee.\nThis behavior can be controlled with the 'terminateDebuggee' argument (if supported by the debug adapter).", + "properties": { + "command": { + "type": "string", + "enum": [ "disconnect" ] + }, + "arguments": { + "$ref": "#/definitions/DisconnectArguments" + } + }, + "required": [ "command" ] + }] + }, + "DisconnectArguments": { + "type": "object", + "description": "Arguments for 'disconnect' request.", + "properties": { + "restart": { + "type": "boolean", + "description": "A value of true indicates that this 'disconnect' request is part of a restart sequence." + }, + "terminateDebuggee": { + "type": "boolean", + "description": "Indicates whether the debuggee should be terminated when the debugger is disconnected.\nIf unspecified, the debug adapter is free to do whatever it thinks is best.\nThe attribute is only honored by a debug adapter if the capability 'supportTerminateDebuggee' is true." + }, + "suspendDebuggee": { + "type": "boolean", + "description": "Indicates whether the debuggee should stay suspended when the debugger is disconnected.\nIf unspecified, the debuggee should resume execution.\nThe attribute is only honored by a debug adapter if the capability 'supportSuspendDebuggee' is true." + } + } + }, + "DisconnectResponse": { + "allOf": [ { "$ref": "#/definitions/Response" }, { + "type": "object", + "description": "Response to 'disconnect' request. This is just an acknowledgement, so no body field is required." + }] + }, + + "TerminateRequest": { + "allOf": [ { "$ref": "#/definitions/Request" }, { + "type": "object", + "description": "The 'terminate' request is sent from the client to the debug adapter in order to give the debuggee a chance for terminating itself.\nClients should only call this request if the capability 'supportsTerminateRequest' is true.", + "properties": { + "command": { + "type": "string", + "enum": [ "terminate" ] + }, + "arguments": { + "$ref": "#/definitions/TerminateArguments" + } + }, + "required": [ "command" ] + }] + }, + "TerminateArguments": { + "type": "object", + "description": "Arguments for 'terminate' request.", + "properties": { + "restart": { + "type": "boolean", + "description": "A value of true indicates that this 'terminate' request is part of a restart sequence." + } + } + }, + "TerminateResponse": { + "allOf": [ { "$ref": "#/definitions/Response" }, { + "type": "object", + "description": "Response to 'terminate' request. This is just an acknowledgement, so no body field is required." + }] + }, + + "BreakpointLocationsRequest": { + "allOf": [ { "$ref": "#/definitions/Request" }, { + "type": "object", + "description": "The 'breakpointLocations' request returns all possible locations for source breakpoints in a given range.\nClients should only call this request if the capability 'supportsBreakpointLocationsRequest' is true.", + "properties": { + "command": { + "type": "string", + "enum": [ "breakpointLocations" ] + }, + "arguments": { + "$ref": "#/definitions/BreakpointLocationsArguments" + } + }, + "required": [ "command" ] + }] + + }, + "BreakpointLocationsArguments": { + "type": "object", + "description": "Arguments for 'breakpointLocations' request.", + "properties": { + "source": { + "$ref": "#/definitions/Source", + "description": "The source location of the breakpoints; either 'source.path' or 'source.reference' must be specified." + }, + "line": { + "type": "integer", + "description": "Start line of range to search possible breakpoint locations in. If only the line is specified, the request returns all possible locations in that line." + }, + "column": { + "type": "integer", + "description": "Optional start column of range to search possible breakpoint locations in. If no start column is given, the first column in the start line is assumed." + }, + "endLine": { + "type": "integer", + "description": "Optional end line of range to search possible breakpoint locations in. If no end line is given, then the end line is assumed to be the start line." + }, + "endColumn": { + "type": "integer", + "description": "Optional end column of range to search possible breakpoint locations in. If no end column is given, then it is assumed to be in the last column of the end line." + } + }, + "required": [ "source", "line" ] + }, + "BreakpointLocationsResponse": { + "allOf": [ { "$ref": "#/definitions/Response" }, { + "type": "object", + "description": "Response to 'breakpointLocations' request.\nContains possible locations for source breakpoints.", + "properties": { + "body": { + "type": "object", + "properties": { + "breakpoints": { + "type": "array", + "items": { + "$ref": "#/definitions/BreakpointLocation" + }, + "description": "Sorted set of possible breakpoint locations." + } + }, + "required": [ "breakpoints" ] + } + }, + "required": [ "body" ] + }] + }, + + "SetBreakpointsRequest": { + "allOf": [ { "$ref": "#/definitions/Request" }, { + "type": "object", + "description": "Sets multiple breakpoints for a single source and clears all previous breakpoints in that source.\nTo clear all breakpoint for a source, specify an empty array.\nWhen a breakpoint is hit, a 'stopped' event (with reason 'breakpoint') is generated.", + "properties": { + "command": { + "type": "string", + "enum": [ "setBreakpoints" ] + }, + "arguments": { + "$ref": "#/definitions/SetBreakpointsArguments" + } + }, + "required": [ "command", "arguments" ] + }] + }, + "SetBreakpointsArguments": { + "type": "object", + "description": "Arguments for 'setBreakpoints' request.", + "properties": { + "source": { + "$ref": "#/definitions/Source", + "description": "The source location of the breakpoints; either 'source.path' or 'source.reference' must be specified." + }, + "breakpoints": { + "type": "array", + "items": { + "$ref": "#/definitions/SourceBreakpoint" + }, + "description": "The code locations of the breakpoints." + }, + "lines": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "Deprecated: The code locations of the breakpoints." + }, + "sourceModified": { + "type": "boolean", + "description": "A value of true indicates that the underlying source has been modified which results in new breakpoint locations." + } + }, + "required": [ "source" ] + }, + "SetBreakpointsResponse": { + "allOf": [ { "$ref": "#/definitions/Response" }, { + "type": "object", + "description": "Response to 'setBreakpoints' request.\nReturned is information about each breakpoint created by this request.\nThis includes the actual code location and whether the breakpoint could be verified.\nThe breakpoints returned are in the same order as the elements of the 'breakpoints'\n(or the deprecated 'lines') array in the arguments.", + "properties": { + "body": { + "type": "object", + "properties": { + "breakpoints": { + "type": "array", + "items": { + "$ref": "#/definitions/Breakpoint" + }, + "description": "Information about the breakpoints.\nThe array elements are in the same order as the elements of the 'breakpoints' (or the deprecated 'lines') array in the arguments." + } + }, + "required": [ "breakpoints" ] + } + }, + "required": [ "body" ] + }] + }, + + "SetFunctionBreakpointsRequest": { + "allOf": [ { "$ref": "#/definitions/Request" }, { + "type": "object", + "description": "Replaces all existing function breakpoints with new function breakpoints.\nTo clear all function breakpoints, specify an empty array.\nWhen a function breakpoint is hit, a 'stopped' event (with reason 'function breakpoint') is generated.\nClients should only call this request if the capability 'supportsFunctionBreakpoints' is true.", + "properties": { + "command": { + "type": "string", + "enum": [ "setFunctionBreakpoints" ] + }, + "arguments": { + "$ref": "#/definitions/SetFunctionBreakpointsArguments" + } + }, + "required": [ "command", "arguments" ] + }] + }, + "SetFunctionBreakpointsArguments": { + "type": "object", + "description": "Arguments for 'setFunctionBreakpoints' request.", + "properties": { + "breakpoints": { + "type": "array", + "items": { + "$ref": "#/definitions/FunctionBreakpoint" + }, + "description": "The function names of the breakpoints." + } + }, + "required": [ "breakpoints" ] + }, + "SetFunctionBreakpointsResponse": { + "allOf": [ { "$ref": "#/definitions/Response" }, { + "type": "object", + "description": "Response to 'setFunctionBreakpoints' request.\nReturned is information about each breakpoint created by this request.", + "properties": { + "body": { + "type": "object", + "properties": { + "breakpoints": { + "type": "array", + "items": { + "$ref": "#/definitions/Breakpoint" + }, + "description": "Information about the breakpoints. The array elements correspond to the elements of the 'breakpoints' array." + } + }, + "required": [ "breakpoints" ] + } + }, + "required": [ "body" ] + }] + }, + + "SetExceptionBreakpointsRequest": { + "allOf": [ { "$ref": "#/definitions/Request" }, { + "type": "object", + "description": "The request configures the debuggers response to thrown exceptions.\nIf an exception is configured to break, a 'stopped' event is fired (with reason 'exception').\nClients should only call this request if the capability 'exceptionBreakpointFilters' returns one or more filters.", + "properties": { + "command": { + "type": "string", + "enum": [ "setExceptionBreakpoints" ] + }, + "arguments": { + "$ref": "#/definitions/SetExceptionBreakpointsArguments" + } + }, + "required": [ "command", "arguments" ] + }] + }, + "SetExceptionBreakpointsArguments": { + "type": "object", + "description": "Arguments for 'setExceptionBreakpoints' request.", + "properties": { + "filters": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Set of exception filters specified by their ID. The set of all possible exception filters is defined by the 'exceptionBreakpointFilters' capability. The 'filter' and 'filterOptions' sets are additive." + }, + "filterOptions": { + "type": "array", + "items": { + "$ref": "#/definitions/ExceptionFilterOptions" + }, + "description": "Set of exception filters and their options. The set of all possible exception filters is defined by the 'exceptionBreakpointFilters' capability. This attribute is only honored by a debug adapter if the capability 'supportsExceptionFilterOptions' is true. The 'filter' and 'filterOptions' sets are additive." + }, + "exceptionOptions": { + "type": "array", + "items": { + "$ref": "#/definitions/ExceptionOptions" + }, + "description": "Configuration options for selected exceptions.\nThe attribute is only honored by a debug adapter if the capability 'supportsExceptionOptions' is true." + } + }, + "required": [ "filters" ] + }, + "SetExceptionBreakpointsResponse": { + "allOf": [ { "$ref": "#/definitions/Response" }, { + "type": "object", + "description": "Response to 'setExceptionBreakpoints' request.\nThe response contains an array of Breakpoint objects with information about each exception breakpoint or filter. The Breakpoint objects are in the same order as the elements of the 'filters', 'filterOptions', 'exceptionOptions' arrays given as arguments. If both 'filters' and 'filterOptions' are given, the returned array must start with 'filters' information first, followed by 'filterOptions' information.\nThe mandatory 'verified' property of a Breakpoint object signals whether the exception breakpoint or filter could be successfully created and whether the optional condition or hit count expressions are valid. In case of an error the 'message' property explains the problem. An optional 'id' property can be used to introduce a unique ID for the exception breakpoint or filter so that it can be updated subsequently by sending breakpoint events.\nFor backward compatibility both the 'breakpoints' array and the enclosing 'body' are optional. If these elements are missing a client will not be able to show problems for individual exception breakpoints or filters.", + "properties": { + "body": { + "type": "object", + "properties": { + "breakpoints": { + "type": "array", + "items": { + "$ref": "#/definitions/Breakpoint" + }, + "description": "Information about the exception breakpoints or filters.\nThe breakpoints returned are in the same order as the elements of the 'filters', 'filterOptions', 'exceptionOptions' arrays in the arguments. If both 'filters' and 'filterOptions' are given, the returned array must start with 'filters' information first, followed by 'filterOptions' information." + } + } + } + } + }] + }, + + "DataBreakpointInfoRequest": { + "allOf": [ { "$ref": "#/definitions/Request" }, { + "type": "object", + "description": "Obtains information on a possible data breakpoint that could be set on an expression or variable.\nClients should only call this request if the capability 'supportsDataBreakpoints' is true.", + "properties": { + "command": { + "type": "string", + "enum": [ "dataBreakpointInfo" ] + }, + "arguments": { + "$ref": "#/definitions/DataBreakpointInfoArguments" + } + }, + "required": [ "command", "arguments" ] + }] + }, + "DataBreakpointInfoArguments": { + "type": "object", + "description": "Arguments for 'dataBreakpointInfo' request.", + "properties": { + "variablesReference": { + "type": "integer", + "description": "Reference to the Variable container if the data breakpoint is requested for a child of the container." + }, + "name": { + "type": "string", + "description": "The name of the Variable's child to obtain data breakpoint information for.\nIf variablesReference isn't provided, this can be an expression." + } + }, + "required": [ "name" ] + }, + "DataBreakpointInfoResponse": { + "allOf": [ { "$ref": "#/definitions/Response" }, { + "type": "object", + "description": "Response to 'dataBreakpointInfo' request.", + "properties": { + "body": { + "type": "object", + "properties": { + "dataId": { + "type": [ "string", "null" ], + "description": "An identifier for the data on which a data breakpoint can be registered with the setDataBreakpoints request or null if no data breakpoint is available." + }, + "description": { + "type": "string", + "description": "UI string that describes on what data the breakpoint is set on or why a data breakpoint is not available." + }, + "accessTypes": { + "type": "array", + "items": { + "$ref": "#/definitions/DataBreakpointAccessType" + }, + "description": "Optional attribute listing the available access types for a potential data breakpoint. A UI frontend could surface this information." + }, + "canPersist": { + "type": "boolean", + "description": "Optional attribute indicating that a potential data breakpoint could be persisted across sessions." + } + }, + "required": [ "dataId", "description" ] + } + }, + "required": [ "body" ] + }] + }, + + "SetDataBreakpointsRequest": { + "allOf": [ { "$ref": "#/definitions/Request" }, { + "type": "object", + "description": "Replaces all existing data breakpoints with new data breakpoints.\nTo clear all data breakpoints, specify an empty array.\nWhen a data breakpoint is hit, a 'stopped' event (with reason 'data breakpoint') is generated.\nClients should only call this request if the capability 'supportsDataBreakpoints' is true.", + "properties": { + "command": { + "type": "string", + "enum": [ "setDataBreakpoints" ] + }, + "arguments": { + "$ref": "#/definitions/SetDataBreakpointsArguments" + } + }, + "required": [ "command", "arguments" ] + }] + }, + "SetDataBreakpointsArguments": { + "type": "object", + "description": "Arguments for 'setDataBreakpoints' request.", + "properties": { + "breakpoints": { + "type": "array", + "items": { + "$ref": "#/definitions/DataBreakpoint" + }, + "description": "The contents of this array replaces all existing data breakpoints. An empty array clears all data breakpoints." + } + }, + "required": [ "breakpoints" ] + }, + "SetDataBreakpointsResponse": { + "allOf": [ { "$ref": "#/definitions/Response" }, { + "type": "object", + "description": "Response to 'setDataBreakpoints' request.\nReturned is information about each breakpoint created by this request.", + "properties": { + "body": { + "type": "object", + "properties": { + "breakpoints": { + "type": "array", + "items": { + "$ref": "#/definitions/Breakpoint" + }, + "description": "Information about the data breakpoints. The array elements correspond to the elements of the input argument 'breakpoints' array." + } + }, + "required": [ "breakpoints" ] + } + }, + "required": [ "body" ] + }] + }, + + "SetInstructionBreakpointsRequest": { + "allOf": [ + { "$ref": "#/definitions/Request" }, + { + "type": "object", + "description": "Replaces all existing instruction breakpoints. Typically, instruction breakpoints would be set from a diassembly window. \nTo clear all instruction breakpoints, specify an empty array.\nWhen an instruction breakpoint is hit, a 'stopped' event (with reason 'instruction breakpoint') is generated.\nClients should only call this request if the capability 'supportsInstructionBreakpoints' is true.", + "properties": { + "command": { + "type": "string", + "enum": [ "setInstructionBreakpoints" ] + }, + "arguments": { + "$ref": "#/definitions/SetInstructionBreakpointsArguments" + } + }, + "required": [ "command", "arguments" ] + }] + }, + "SetInstructionBreakpointsArguments": { + "type": "object", + "description": "Arguments for 'setInstructionBreakpoints' request", + "properties": { + "breakpoints": { + "type": "array", + "items": { + "$ref": "#/definitions/InstructionBreakpoint" + }, + "description": "The instruction references of the breakpoints" + } + }, + "required": ["breakpoints"] + }, + "SetInstructionBreakpointsResponse": { + "allOf": [ + { "$ref": "#/definitions/Response" }, + { + "type": "object", + "description": "Response to 'setInstructionBreakpoints' request", + "properties": { + "body": { + "type": "object", + "properties": { + "breakpoints": { + "type": "array", + "items": { + "$ref": "#/definitions/Breakpoint" + }, + "description": "Information about the breakpoints. The array elements correspond to the elements of the 'breakpoints' array." + } + }, + "required": [ "breakpoints" ] + } + }, + "required": [ "body" ] + }] + }, + + "ContinueRequest": { + "allOf": [ { "$ref": "#/definitions/Request" }, { + "type": "object", + "description": "The request resumes execution of all threads. If the debug adapter supports single thread execution (see capability 'supportsSingleThreadExecutionRequests') setting the 'singleThread' argument to true resumes only the specified thread. If not all threads were resumed, the 'allThreadsContinued' attribute of the response must be set to false.", + "properties": { + "command": { + "type": "string", + "enum": [ "continue" ] + }, + "arguments": { + "$ref": "#/definitions/ContinueArguments" + } + }, + "required": [ "command", "arguments" ] + }] + }, + "ContinueArguments": { + "type": "object", + "description": "Arguments for 'continue' request.", + "properties": { + "threadId": { + "type": "integer", + "description": "Specifies the active thread. If the debug adapter supports single thread execution (see 'supportsSingleThreadExecutionRequests') and the optional argument 'singleThread' is true, only the thread with this ID is resumed." + }, + "singleThread": { + "type": "boolean", + "description": "If this optional flag is true, execution is resumed only for the thread with given 'threadId'." + } + }, + "required": [ "threadId" ] + }, + "ContinueResponse": { + "allOf": [ { "$ref": "#/definitions/Response" }, { + "type": "object", + "description": "Response to 'continue' request.", + "properties": { + "body": { + "type": "object", + "properties": { + "allThreadsContinued": { + "type": "boolean", + "description": "The value true (or a missing property) signals to the client that all threads have been resumed. The value false must be returned if not all threads were resumed." + } + } + } + }, + "required": [ "body" ] + }] + }, + + "NextRequest": { + "allOf": [ { "$ref": "#/definitions/Request" }, { + "type": "object", + "description": "The request executes one step (in the given granularity) for the specified thread and allows all other threads to run freely by resuming them.\nIf the debug adapter supports single thread execution (see capability 'supportsSingleThreadExecutionRequests') setting the 'singleThread' argument to true prevents other suspended threads from resuming.\nThe debug adapter first sends the response and then a 'stopped' event (with reason 'step') after the step has completed.", + "properties": { + "command": { + "type": "string", + "enum": [ "next" ] + }, + "arguments": { + "$ref": "#/definitions/NextArguments" + } + }, + "required": [ "command", "arguments" ] + }] + }, + "NextArguments": { + "type": "object", + "description": "Arguments for 'next' request.", + "properties": { + "threadId": { + "type": "integer", + "description": "Specifies the thread for which to resume execution for one step (of the given granularity)." + }, + "singleThread": { + "type": "boolean", + "description": "If this optional flag is true, all other suspended threads are not resumed." + }, + "granularity": { + "$ref": "#/definitions/SteppingGranularity", + "description": "Optional granularity to step. If no granularity is specified, a granularity of 'statement' is assumed." + } + }, + "required": [ "threadId" ] + }, + "NextResponse": { + "allOf": [ { "$ref": "#/definitions/Response" }, { + "type": "object", + "description": "Response to 'next' request. This is just an acknowledgement, so no body field is required." + }] + }, + + "StepInRequest": { + "allOf": [ { "$ref": "#/definitions/Request" }, { + "type": "object", + "description": "The request resumes the given thread to step into a function/method and allows all other threads to run freely by resuming them.\nIf the debug adapter supports single thread execution (see capability 'supportsSingleThreadExecutionRequests') setting the 'singleThread' argument to true prevents other suspended threads from resuming.\nIf the request cannot step into a target, 'stepIn' behaves like the 'next' request.\nThe debug adapter first sends the response and then a 'stopped' event (with reason 'step') after the step has completed.\nIf there are multiple function/method calls (or other targets) on the source line,\nthe optional argument 'targetId' can be used to control into which target the 'stepIn' should occur.\nThe list of possible targets for a given source line can be retrieved via the 'stepInTargets' request.", + "properties": { + "command": { + "type": "string", + "enum": [ "stepIn" ] + }, + "arguments": { + "$ref": "#/definitions/StepInArguments" + } + }, + "required": [ "command", "arguments" ] + }] + }, + "StepInArguments": { + "type": "object", + "description": "Arguments for 'stepIn' request.", + "properties": { + "threadId": { + "type": "integer", + "description": "Specifies the thread for which to resume execution for one step-into (of the given granularity)." + }, + "singleThread": { + "type": "boolean", + "description": "If this optional flag is true, all other suspended threads are not resumed." + }, + "targetId": { + "type": "integer", + "description": "Optional id of the target to step into." + }, + "granularity": { + "$ref": "#/definitions/SteppingGranularity", + "description": "Optional granularity to step. If no granularity is specified, a granularity of 'statement' is assumed." + } + }, + "required": [ "threadId" ] + }, + "StepInResponse": { + "allOf": [ { "$ref": "#/definitions/Response" }, { + "type": "object", + "description": "Response to 'stepIn' request. This is just an acknowledgement, so no body field is required." + }] + }, + + "StepOutRequest": { + "allOf": [ { "$ref": "#/definitions/Request" }, { + "type": "object", + "description": "The request resumes the given thread to step out (return) from a function/method and allows all other threads to run freely by resuming them.\nIf the debug adapter supports single thread execution (see capability 'supportsSingleThreadExecutionRequests') setting the 'singleThread' argument to true prevents other suspended threads from resuming.\nThe debug adapter first sends the response and then a 'stopped' event (with reason 'step') after the step has completed.", + "properties": { + "command": { + "type": "string", + "enum": [ "stepOut" ] + }, + "arguments": { + "$ref": "#/definitions/StepOutArguments" + } + }, + "required": [ "command", "arguments" ] + }] + }, + "StepOutArguments": { + "type": "object", + "description": "Arguments for 'stepOut' request.", + "properties": { + "threadId": { + "type": "integer", + "description": "Specifies the thread for which to resume execution for one step-out (of the given granularity)." + }, + "singleThread": { + "type": "boolean", + "description": "If this optional flag is true, all other suspended threads are not resumed." + }, + "granularity": { + "$ref": "#/definitions/SteppingGranularity", + "description": "Optional granularity to step. If no granularity is specified, a granularity of 'statement' is assumed." + } + }, + "required": [ "threadId" ] + }, + "StepOutResponse": { + "allOf": [ { "$ref": "#/definitions/Response" }, { + "type": "object", + "description": "Response to 'stepOut' request. This is just an acknowledgement, so no body field is required." + }] + }, + + "StepBackRequest": { + "allOf": [ { "$ref": "#/definitions/Request" }, { + "type": "object", + "description": "The request executes one backward step (in the given granularity) for the specified thread and allows all other threads to run backward freely by resuming them.\nIf the debug adapter supports single thread execution (see capability 'supportsSingleThreadExecutionRequests') setting the 'singleThread' argument to true prevents other suspended threads from resuming.\nThe debug adapter first sends the response and then a 'stopped' event (with reason 'step') after the step has completed.\nClients should only call this request if the capability 'supportsStepBack' is true.", + "properties": { + "command": { + "type": "string", + "enum": [ "stepBack" ] + }, + "arguments": { + "$ref": "#/definitions/StepBackArguments" + } + }, + "required": [ "command", "arguments" ] + }] + }, + "StepBackArguments": { + "type": "object", + "description": "Arguments for 'stepBack' request.", + "properties": { + "threadId": { + "type": "integer", + "description": "Specifies the thread for which to resume execution for one step backwards (of the given granularity)." + }, + "singleThread": { + "type": "boolean", + "description": "If this optional flag is true, all other suspended threads are not resumed." + }, + "granularity": { + "$ref": "#/definitions/SteppingGranularity", + "description": "Optional granularity to step. If no granularity is specified, a granularity of 'statement' is assumed." + } + }, + "required": [ "threadId" ] + }, + "StepBackResponse": { + "allOf": [ { "$ref": "#/definitions/Response" }, { + "type": "object", + "description": "Response to 'stepBack' request. This is just an acknowledgement, so no body field is required." + }] + }, + + "ReverseContinueRequest": { + "allOf": [ { "$ref": "#/definitions/Request" }, { + "type": "object", + "description": "The request resumes backward execution of all threads. If the debug adapter supports single thread execution (see capability 'supportsSingleThreadExecutionRequests') setting the 'singleThread' argument to true resumes only the specified thread. If not all threads were resumed, the 'allThreadsContinued' attribute of the response must be set to false.\nClients should only call this request if the capability 'supportsStepBack' is true.", + "properties": { + "command": { + "type": "string", + "enum": [ "reverseContinue" ] + }, + "arguments": { + "$ref": "#/definitions/ReverseContinueArguments" + } + }, + "required": [ "command", "arguments" ] + }] + }, + "ReverseContinueArguments": { + "type": "object", + "description": "Arguments for 'reverseContinue' request.", + "properties": { + "threadId": { + "type": "integer", + "description": "Specifies the active thread. If the debug adapter supports single thread execution (see 'supportsSingleThreadExecutionRequests') and the optional argument 'singleThread' is true, only the thread with this ID is resumed." + }, + "singleThread": { + "type": "boolean", + "description": "If this optional flag is true, backward execution is resumed only for the thread with given 'threadId'." + } + + }, + "required": [ "threadId" ] + }, + "ReverseContinueResponse": { + "allOf": [ { "$ref": "#/definitions/Response" }, { + "type": "object", + "description": "Response to 'reverseContinue' request. This is just an acknowledgement, so no body field is required." + }] + }, + + "RestartFrameRequest": { + "allOf": [ { "$ref": "#/definitions/Request" }, { + "type": "object", + "description": "The request restarts execution of the specified stackframe.\nThe debug adapter first sends the response and then a 'stopped' event (with reason 'restart') after the restart has completed.\nClients should only call this request if the capability 'supportsRestartFrame' is true.", + "properties": { + "command": { + "type": "string", + "enum": [ "restartFrame" ] + }, + "arguments": { + "$ref": "#/definitions/RestartFrameArguments" + } + }, + "required": [ "command", "arguments" ] + }] + }, + "RestartFrameArguments": { + "type": "object", + "description": "Arguments for 'restartFrame' request.", + "properties": { + "frameId": { + "type": "integer", + "description": "Restart this stackframe." + } + }, + "required": [ "frameId" ] + }, + "RestartFrameResponse": { + "allOf": [ { "$ref": "#/definitions/Response" }, { + "type": "object", + "description": "Response to 'restartFrame' request. This is just an acknowledgement, so no body field is required." + }] + }, + + "GotoRequest": { + "allOf": [ { "$ref": "#/definitions/Request" }, { + "type": "object", + "description": "The request sets the location where the debuggee will continue to run.\nThis makes it possible to skip the execution of code or to executed code again.\nThe code between the current location and the goto target is not executed but skipped.\nThe debug adapter first sends the response and then a 'stopped' event with reason 'goto'.\nClients should only call this request if the capability 'supportsGotoTargetsRequest' is true (because only then goto targets exist that can be passed as arguments).", + "properties": { + "command": { + "type": "string", + "enum": [ "goto" ] + }, + "arguments": { + "$ref": "#/definitions/GotoArguments" + } + }, + "required": [ "command", "arguments" ] + }] + }, + "GotoArguments": { + "type": "object", + "description": "Arguments for 'goto' request.", + "properties": { + "threadId": { + "type": "integer", + "description": "Set the goto target for this thread." + }, + "targetId": { + "type": "integer", + "description": "The location where the debuggee will continue to run." + } + }, + "required": [ "threadId", "targetId" ] + }, + "GotoResponse": { + "allOf": [ { "$ref": "#/definitions/Response" }, { + "type": "object", + "description": "Response to 'goto' request. This is just an acknowledgement, so no body field is required." + }] + }, + + "PauseRequest": { + "allOf": [ { "$ref": "#/definitions/Request" }, { + "type": "object", + "description": "The request suspends the debuggee.\nThe debug adapter first sends the response and then a 'stopped' event (with reason 'pause') after the thread has been paused successfully.", + "properties": { + "command": { + "type": "string", + "enum": [ "pause" ] + }, + "arguments": { + "$ref": "#/definitions/PauseArguments" + } + }, + "required": [ "command", "arguments" ] + }] + }, + "PauseArguments": { + "type": "object", + "description": "Arguments for 'pause' request.", + "properties": { + "threadId": { + "type": "integer", + "description": "Pause execution for this thread." + } + }, + "required": [ "threadId" ] + }, + "PauseResponse": { + "allOf": [ { "$ref": "#/definitions/Response" }, { + "type": "object", + "description": "Response to 'pause' request. This is just an acknowledgement, so no body field is required." + }] + }, + + "StackTraceRequest": { + "allOf": [ { "$ref": "#/definitions/Request" }, { + "type": "object", + "description": "The request returns a stacktrace from the current execution state of a given thread.\nA client can request all stack frames by omitting the startFrame and levels arguments. For performance conscious clients and if the debug adapter's 'supportsDelayedStackTraceLoading' capability is true, stack frames can be retrieved in a piecemeal way with the startFrame and levels arguments. The response of the stackTrace request may contain a totalFrames property that hints at the total number of frames in the stack. If a client needs this total number upfront, it can issue a request for a single (first) frame and depending on the value of totalFrames decide how to proceed. In any case a client should be prepared to receive less frames than requested, which is an indication that the end of the stack has been reached.", + "properties": { + "command": { + "type": "string", + "enum": [ "stackTrace" ] + }, + "arguments": { + "$ref": "#/definitions/StackTraceArguments" + } + }, + "required": [ "command", "arguments" ] + }] + }, + "StackTraceArguments": { + "type": "object", + "description": "Arguments for 'stackTrace' request.", + "properties": { + "threadId": { + "type": "integer", + "description": "Retrieve the stacktrace for this thread." + }, + "startFrame": { + "type": "integer", + "description": "The index of the first frame to return; if omitted frames start at 0." + }, + "levels": { + "type": "integer", + "description": "The maximum number of frames to return. If levels is not specified or 0, all frames are returned." + }, + "format": { + "$ref": "#/definitions/StackFrameFormat", + "description": "Specifies details on how to format the stack frames.\nThe attribute is only honored by a debug adapter if the capability 'supportsValueFormattingOptions' is true." + } + }, + "required": [ "threadId" ] + }, + "StackTraceResponse": { + "allOf": [ { "$ref": "#/definitions/Response" }, { + "type": "object", + "description": "Response to 'stackTrace' request.", + "properties": { + "body": { + "type": "object", + "properties": { + "stackFrames": { + "type": "array", + "items": { + "$ref": "#/definitions/StackFrame" + }, + "description": "The frames of the stackframe. If the array has length zero, there are no stackframes available.\nThis means that there is no location information available." + }, + "totalFrames": { + "type": "integer", + "description": "The total number of frames available in the stack. If omitted or if totalFrames is larger than the available frames, a client is expected to request frames until a request returns less frames than requested (which indicates the end of the stack). Returning monotonically increasing totalFrames values for subsequent requests can be used to enforce paging in the client." + } + }, + "required": [ "stackFrames" ] + } + }, + "required": [ "body" ] + }] + }, + + "ScopesRequest": { + "allOf": [ { "$ref": "#/definitions/Request" }, { + "type": "object", + "description": "The request returns the variable scopes for a given stackframe ID.", + "properties": { + "command": { + "type": "string", + "enum": [ "scopes" ] + }, + "arguments": { + "$ref": "#/definitions/ScopesArguments" + } + }, + "required": [ "command", "arguments" ] + }] + }, + "ScopesArguments": { + "type": "object", + "description": "Arguments for 'scopes' request.", + "properties": { + "frameId": { + "type": "integer", + "description": "Retrieve the scopes for this stackframe." + } + }, + "required": [ "frameId" ] + }, + "ScopesResponse": { + "allOf": [ { "$ref": "#/definitions/Response" }, { + "type": "object", + "description": "Response to 'scopes' request.", + "properties": { + "body": { + "type": "object", + "properties": { + "scopes": { + "type": "array", + "items": { + "$ref": "#/definitions/Scope" + }, + "description": "The scopes of the stackframe. If the array has length zero, there are no scopes available." + } + }, + "required": [ "scopes" ] + } + }, + "required": [ "body" ] + }] + }, + + "VariablesRequest": { + "allOf": [ { "$ref": "#/definitions/Request" }, { + "type": "object", + "description": "Retrieves all child variables for the given variable reference.\nAn optional filter can be used to limit the fetched children to either named or indexed children.", + "properties": { + "command": { + "type": "string", + "enum": [ "variables" ] + }, + "arguments": { + "$ref": "#/definitions/VariablesArguments" + } + }, + "required": [ "command", "arguments" ] + }] + }, + "VariablesArguments": { + "type": "object", + "description": "Arguments for 'variables' request.", + "properties": { + "variablesReference": { + "type": "integer", + "description": "The Variable reference." + }, + "filter": { + "type": "string", + "enum": [ "indexed", "named" ], + "description": "Optional filter to limit the child variables to either named or indexed. If omitted, both types are fetched." + }, + "start": { + "type": "integer", + "description": "The index of the first variable to return; if omitted children start at 0." + }, + "count": { + "type": "integer", + "description": "The number of variables to return. If count is missing or 0, all variables are returned." + }, + "format": { + "$ref": "#/definitions/ValueFormat", + "description": "Specifies details on how to format the Variable values.\nThe attribute is only honored by a debug adapter if the capability 'supportsValueFormattingOptions' is true." + } + }, + "required": [ "variablesReference" ] + }, + "VariablesResponse": { + "allOf": [ { "$ref": "#/definitions/Response" }, { + "type": "object", + "description": "Response to 'variables' request.", + "properties": { + "body": { + "type": "object", + "properties": { + "variables": { + "type": "array", + "items": { + "$ref": "#/definitions/Variable" + }, + "description": "All (or a range) of variables for the given variable reference." + } + }, + "required": [ "variables" ] + } + }, + "required": [ "body" ] + }] + }, + + "SetVariableRequest": { + "allOf": [ { "$ref": "#/definitions/Request" }, { + "type": "object", + "description": "Set the variable with the given name in the variable container to a new value. Clients should only call this request if the capability 'supportsSetVariable' is true.\nIf a debug adapter implements both setVariable and setExpression, a client will only use setExpression if the variable has an evaluateName property.", + "properties": { + "command": { + "type": "string", + "enum": [ "setVariable" ] + }, + "arguments": { + "$ref": "#/definitions/SetVariableArguments" + } + }, + "required": [ "command", "arguments" ] + }] + }, + "SetVariableArguments": { + "type": "object", + "description": "Arguments for 'setVariable' request.", + "properties": { + "variablesReference": { + "type": "integer", + "description": "The reference of the variable container." + }, + "name": { + "type": "string", + "description": "The name of the variable in the container." + }, + "value": { + "type": "string", + "description": "The value of the variable." + }, + "format": { + "$ref": "#/definitions/ValueFormat", + "description": "Specifies details on how to format the response value." + } + }, + "required": [ "variablesReference", "name", "value" ] + }, + "SetVariableResponse": { + "allOf": [ { "$ref": "#/definitions/Response" }, { + "type": "object", + "description": "Response to 'setVariable' request.", + "properties": { + "body": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "The new value of the variable." + }, + "type": { + "type": "string", + "description": "The type of the new value. Typically shown in the UI when hovering over the value." + }, + "variablesReference": { + "type": "integer", + "description": "If variablesReference is > 0, the new value is structured and its children can be retrieved by passing variablesReference to the VariablesRequest.\nThe value should be less than or equal to 2147483647 (2^31-1)." + }, + "namedVariables": { + "type": "integer", + "description": "The number of named child variables.\nThe client can use this optional information to present the variables in a paged UI and fetch them in chunks.\nThe value should be less than or equal to 2147483647 (2^31-1)." + }, + "indexedVariables": { + "type": "integer", + "description": "The number of indexed child variables.\nThe client can use this optional information to present the variables in a paged UI and fetch them in chunks.\nThe value should be less than or equal to 2147483647 (2^31-1)." + } + }, + "required": [ "value" ] + } + }, + "required": [ "body" ] + }] + }, + + "SourceRequest": { + "allOf": [ { "$ref": "#/definitions/Request" }, { + "type": "object", + "description": "The request retrieves the source code for a given source reference.", + "properties": { + "command": { + "type": "string", + "enum": [ "source" ] + }, + "arguments": { + "$ref": "#/definitions/SourceArguments" + } + }, + "required": [ "command", "arguments" ] + }] + }, + "SourceArguments": { + "type": "object", + "description": "Arguments for 'source' request.", + "properties": { + "source": { + "$ref": "#/definitions/Source", + "description": "Specifies the source content to load. Either source.path or source.sourceReference must be specified." + }, + "sourceReference": { + "type": "integer", + "description": "The reference to the source. This is the same as source.sourceReference.\nThis is provided for backward compatibility since old backends do not understand the 'source' attribute." + } + }, + "required": [ "sourceReference" ] + }, + "SourceResponse": { + "allOf": [ { "$ref": "#/definitions/Response" }, { + "type": "object", + "description": "Response to 'source' request.", + "properties": { + "body": { + "type": "object", + "properties": { + "content": { + "type": "string", + "description": "Content of the source reference." + }, + "mimeType": { + "type": "string", + "description": "Optional content type (mime type) of the source." + } + }, + "required": [ "content" ] + } + }, + "required": [ "body" ] + }] + }, + + "ThreadsRequest": { + "allOf": [ { "$ref": "#/definitions/Request" }, { + "type": "object", + "description": "The request retrieves a list of all threads.", + "properties": { + "command": { + "type": "string", + "enum": [ "threads" ] + } + }, + "required": [ "command" ] + }] + }, + "ThreadsResponse": { + "allOf": [ { "$ref": "#/definitions/Response" }, { + "type": "object", + "description": "Response to 'threads' request.", + "properties": { + "body": { + "type": "object", + "properties": { + "threads": { + "type": "array", + "items": { + "$ref": "#/definitions/Thread" + }, + "description": "All threads." + } + }, + "required": [ "threads" ] + } + }, + "required": [ "body" ] + }] + }, + + "TerminateThreadsRequest": { + "allOf": [ { "$ref": "#/definitions/Request" }, { + "type": "object", + "description": "The request terminates the threads with the given ids.\nClients should only call this request if the capability 'supportsTerminateThreadsRequest' is true.", + "properties": { + "command": { + "type": "string", + "enum": [ "terminateThreads" ] + }, + "arguments": { + "$ref": "#/definitions/TerminateThreadsArguments" + } + }, + "required": [ "command", "arguments" ] + }] + }, + "TerminateThreadsArguments": { + "type": "object", + "description": "Arguments for 'terminateThreads' request.", + "properties": { + "threadIds": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "Ids of threads to be terminated." + } + } + }, + "TerminateThreadsResponse": { + "allOf": [ { "$ref": "#/definitions/Response" }, { + "type": "object", + "description": "Response to 'terminateThreads' request. This is just an acknowledgement, so no body field is required." + }] + }, + + "ModulesRequest": { + "allOf": [ { "$ref": "#/definitions/Request" }, { + "type": "object", + "description": "Modules can be retrieved from the debug adapter with this request which can either return all modules or a range of modules to support paging.\nClients should only call this request if the capability 'supportsModulesRequest' is true.", + "properties": { + "command": { + "type": "string", + "enum": [ "modules" ] + }, + "arguments": { + "$ref": "#/definitions/ModulesArguments" + } + }, + "required": [ "command", "arguments" ] + }] + }, + "ModulesArguments": { + "type": "object", + "description": "Arguments for 'modules' request.", + "properties": { + "startModule": { + "type": "integer", + "description": "The index of the first module to return; if omitted modules start at 0." + }, + "moduleCount": { + "type": "integer", + "description": "The number of modules to return. If moduleCount is not specified or 0, all modules are returned." + } + } + }, + "ModulesResponse": { + "allOf": [ { "$ref": "#/definitions/Response" }, { + "type": "object", + "description": "Response to 'modules' request.", + "properties": { + "body": { + "type": "object", + "properties": { + "modules": { + "type": "array", + "items": { + "$ref": "#/definitions/Module" + }, + "description": "All modules or range of modules." + }, + "totalModules": { + "type": "integer", + "description": "The total number of modules available." + } + }, + "required": [ "modules" ] + } + }, + "required": [ "body" ] + }] + }, + + "LoadedSourcesRequest": { + "allOf": [ { "$ref": "#/definitions/Request" }, { + "type": "object", + "description": "Retrieves the set of all sources currently loaded by the debugged process.\nClients should only call this request if the capability 'supportsLoadedSourcesRequest' is true.", + "properties": { + "command": { + "type": "string", + "enum": [ "loadedSources" ] + }, + "arguments": { + "$ref": "#/definitions/LoadedSourcesArguments" + } + }, + "required": [ "command" ] + }] + }, + "LoadedSourcesArguments": { + "type": "object", + "description": "Arguments for 'loadedSources' request." + }, + "LoadedSourcesResponse": { + "allOf": [ { "$ref": "#/definitions/Response" }, { + "type": "object", + "description": "Response to 'loadedSources' request.", + "properties": { + "body": { + "type": "object", + "properties": { + "sources": { + "type": "array", + "items": { + "$ref": "#/definitions/Source" + }, + "description": "Set of loaded sources." + } + }, + "required": [ "sources" ] + } + }, + "required": [ "body" ] + }] + }, + + "EvaluateRequest": { + "allOf": [ { "$ref": "#/definitions/Request" }, { + "type": "object", + "description": "Evaluates the given expression in the context of the top most stack frame.\nThe expression has access to any variables and arguments that are in scope.", + "properties": { + "command": { + "type": "string", + "enum": [ "evaluate" ] + }, + "arguments": { + "$ref": "#/definitions/EvaluateArguments" + } + }, + "required": [ "command", "arguments" ] + }] + }, + "EvaluateArguments": { + "type": "object", + "description": "Arguments for 'evaluate' request.", + "properties": { + "expression": { + "type": "string", + "description": "The expression to evaluate." + }, + "frameId": { + "type": "integer", + "description": "Evaluate the expression in the scope of this stack frame. If not specified, the expression is evaluated in the global scope." + }, + "context": { + "type": "string", + "_enum": [ "watch", "repl", "hover", "clipboard" ], + "enumDescriptions": [ + "evaluate is run in a watch.", + "evaluate is run from REPL console.", + "evaluate is run from a data hover.", + "evaluate is run to generate the value that will be stored in the clipboard.\nThe attribute is only honored by a debug adapter if the capability 'supportsClipboardContext' is true." + ], + "description": "The context in which the evaluate request is run." + }, + "format": { + "$ref": "#/definitions/ValueFormat", + "description": "Specifies details on how to format the Evaluate result.\nThe attribute is only honored by a debug adapter if the capability 'supportsValueFormattingOptions' is true." + } + }, + "required": [ "expression" ] + }, + "EvaluateResponse": { + "allOf": [ { "$ref": "#/definitions/Response" }, { + "type": "object", + "description": "Response to 'evaluate' request.", + "properties": { + "body": { + "type": "object", + "properties": { + "result": { + "type": "string", + "description": "The result of the evaluate request." + }, + "type": { + "type": "string", + "description": "The optional type of the evaluate result.\nThis attribute should only be returned by a debug adapter if the client has passed the value true for the 'supportsVariableType' capability of the 'initialize' request." + }, + "presentationHint": { + "$ref": "#/definitions/VariablePresentationHint", + "description": "Properties of a evaluate result that can be used to determine how to render the result in the UI." + }, + "variablesReference": { + "type": "integer", + "description": "If variablesReference is > 0, the evaluate result is structured and its children can be retrieved by passing variablesReference to the VariablesRequest.\nThe value should be less than or equal to 2147483647 (2^31-1)." + }, + "namedVariables": { + "type": "integer", + "description": "The number of named child variables.\nThe client can use this optional information to present the variables in a paged UI and fetch them in chunks.\nThe value should be less than or equal to 2147483647 (2^31-1)." + }, + "indexedVariables": { + "type": "integer", + "description": "The number of indexed child variables.\nThe client can use this optional information to present the variables in a paged UI and fetch them in chunks.\nThe value should be less than or equal to 2147483647 (2^31-1)." + }, + "memoryReference": { + "type": "string", + "description": "Optional memory reference to a location appropriate for this result.\nFor pointer type eval results, this is generally a reference to the memory address contained in the pointer.\nThis attribute should be returned by a debug adapter if the client has passed the value true for the 'supportsMemoryReferences' capability of the 'initialize' request." + } + }, + "required": [ "result", "variablesReference" ] + } + }, + "required": [ "body" ] + }] + }, + + "SetExpressionRequest": { + "allOf": [ { "$ref": "#/definitions/Request" }, { + "type": "object", + "description": "Evaluates the given 'value' expression and assigns it to the 'expression' which must be a modifiable l-value.\nThe expressions have access to any variables and arguments that are in scope of the specified frame.\nClients should only call this request if the capability 'supportsSetExpression' is true.\nIf a debug adapter implements both setExpression and setVariable, a client will only use setExpression if the variable has an evaluateName property.", + "properties": { + "command": { + "type": "string", + "enum": [ "setExpression" ] + }, + "arguments": { + "$ref": "#/definitions/SetExpressionArguments" + } + }, + "required": [ "command", "arguments" ] + }] + }, + "SetExpressionArguments": { + "type": "object", + "description": "Arguments for 'setExpression' request.", + "properties": { + "expression": { + "type": "string", + "description": "The l-value expression to assign to." + }, + "value": { + "type": "string", + "description": "The value expression to assign to the l-value expression." + }, + "frameId": { + "type": "integer", + "description": "Evaluate the expressions in the scope of this stack frame. If not specified, the expressions are evaluated in the global scope." + }, + "format": { + "$ref": "#/definitions/ValueFormat", + "description": "Specifies how the resulting value should be formatted." + } + }, + "required": [ "expression", "value" ] + }, + "SetExpressionResponse": { + "allOf": [ { "$ref": "#/definitions/Response" }, { + "type": "object", + "description": "Response to 'setExpression' request.", + "properties": { + "body": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "The new value of the expression." + }, + "type": { + "type": "string", + "description": "The optional type of the value.\nThis attribute should only be returned by a debug adapter if the client has passed the value true for the 'supportsVariableType' capability of the 'initialize' request." + }, + "presentationHint": { + "$ref": "#/definitions/VariablePresentationHint", + "description": "Properties of a value that can be used to determine how to render the result in the UI." + }, + "variablesReference": { + "type": "integer", + "description": "If variablesReference is > 0, the value is structured and its children can be retrieved by passing variablesReference to the VariablesRequest.\nThe value should be less than or equal to 2147483647 (2^31-1)." + }, + "namedVariables": { + "type": "integer", + "description": "The number of named child variables.\nThe client can use this optional information to present the variables in a paged UI and fetch them in chunks.\nThe value should be less than or equal to 2147483647 (2^31-1)." + }, + "indexedVariables": { + "type": "integer", + "description": "The number of indexed child variables.\nThe client can use this optional information to present the variables in a paged UI and fetch them in chunks.\nThe value should be less than or equal to 2147483647 (2^31-1)." + } + }, + "required": [ "value" ] + } + }, + "required": [ "body" ] + }] + }, + + "StepInTargetsRequest": { + "allOf": [ { "$ref": "#/definitions/Request" }, { + "type": "object", + "description": "This request retrieves the possible stepIn targets for the specified stack frame.\nThese targets can be used in the 'stepIn' request.\nThe StepInTargets may only be called if the 'supportsStepInTargetsRequest' capability exists and is true.\nClients should only call this request if the capability 'supportsStepInTargetsRequest' is true.", + "properties": { + "command": { + "type": "string", + "enum": [ "stepInTargets" ] + }, + "arguments": { + "$ref": "#/definitions/StepInTargetsArguments" + } + }, + "required": [ "command", "arguments" ] + }] + }, + "StepInTargetsArguments": { + "type": "object", + "description": "Arguments for 'stepInTargets' request.", + "properties": { + "frameId": { + "type": "integer", + "description": "The stack frame for which to retrieve the possible stepIn targets." + } + }, + "required": [ "frameId" ] + }, + "StepInTargetsResponse": { + "allOf": [ { "$ref": "#/definitions/Response" }, { + "type": "object", + "description": "Response to 'stepInTargets' request.", + "properties": { + "body": { + "type": "object", + "properties": { + "targets": { + "type": "array", + "items": { + "$ref": "#/definitions/StepInTarget" + }, + "description": "The possible stepIn targets of the specified source location." + } + }, + "required": [ "targets" ] + } + }, + "required": [ "body" ] + }] + }, + + "GotoTargetsRequest": { + "allOf": [ { "$ref": "#/definitions/Request" }, { + "type": "object", + "description": "This request retrieves the possible goto targets for the specified source location.\nThese targets can be used in the 'goto' request.\nClients should only call this request if the capability 'supportsGotoTargetsRequest' is true.", + "properties": { + "command": { + "type": "string", + "enum": [ "gotoTargets" ] + }, + "arguments": { + "$ref": "#/definitions/GotoTargetsArguments" + } + }, + "required": [ "command", "arguments" ] + }] + }, + "GotoTargetsArguments": { + "type": "object", + "description": "Arguments for 'gotoTargets' request.", + "properties": { + "source": { + "$ref": "#/definitions/Source", + "description": "The source location for which the goto targets are determined." + }, + "line": { + "type": "integer", + "description": "The line location for which the goto targets are determined." + }, + "column": { + "type": "integer", + "description": "An optional column location for which the goto targets are determined." + } + }, + "required": [ "source", "line" ] + }, + "GotoTargetsResponse": { + "allOf": [ { "$ref": "#/definitions/Response" }, { + "type": "object", + "description": "Response to 'gotoTargets' request.", + "properties": { + "body": { + "type": "object", + "properties": { + "targets": { + "type": "array", + "items": { + "$ref": "#/definitions/GotoTarget" + }, + "description": "The possible goto targets of the specified location." + } + }, + "required": [ "targets" ] + } + }, + "required": [ "body" ] + }] + }, + + "CompletionsRequest": { + "allOf": [ { "$ref": "#/definitions/Request" }, { + "type": "object", + "description": "Returns a list of possible completions for a given caret position and text.\nClients should only call this request if the capability 'supportsCompletionsRequest' is true.", + "properties": { + "command": { + "type": "string", + "enum": [ "completions" ] + }, + "arguments": { + "$ref": "#/definitions/CompletionsArguments" + } + }, + "required": [ "command", "arguments" ] + }] + }, + "CompletionsArguments": { + "type": "object", + "description": "Arguments for 'completions' request.", + "properties": { + "frameId": { + "type": "integer", + "description": "Returns completions in the scope of this stack frame. If not specified, the completions are returned for the global scope." + }, + "text": { + "type": "string", + "description": "One or more source lines. Typically this is the text a user has typed into the debug console before he asked for completion." + }, + "column": { + "type": "integer", + "description": "The character position for which to determine the completion proposals." + }, + "line": { + "type": "integer", + "description": "An optional line for which to determine the completion proposals. If missing the first line of the text is assumed." + } + }, + "required": [ "text", "column" ] + }, + "CompletionsResponse": { + "allOf": [ { "$ref": "#/definitions/Response" }, { + "type": "object", + "description": "Response to 'completions' request.", + "properties": { + "body": { + "type": "object", + "properties": { + "targets": { + "type": "array", + "items": { + "$ref": "#/definitions/CompletionItem" + }, + "description": "The possible completions for ." + } + }, + "required": [ "targets" ] + } + }, + "required": [ "body" ] + }] + }, + + "ExceptionInfoRequest": { + "allOf": [ { "$ref": "#/definitions/Request" }, { + "type": "object", + "description": "Retrieves the details of the exception that caused this event to be raised.\nClients should only call this request if the capability 'supportsExceptionInfoRequest' is true.", + "properties": { + "command": { + "type": "string", + "enum": [ "exceptionInfo" ] + }, + "arguments": { + "$ref": "#/definitions/ExceptionInfoArguments" + } + }, + "required": [ "command", "arguments" ] + }] + }, + "ExceptionInfoArguments": { + "type": "object", + "description": "Arguments for 'exceptionInfo' request.", + "properties": { + "threadId": { + "type": "integer", + "description": "Thread for which exception information should be retrieved." + } + }, + "required": [ "threadId" ] + }, + "ExceptionInfoResponse": { + "allOf": [ { "$ref": "#/definitions/Response" }, { + "type": "object", + "description": "Response to 'exceptionInfo' request.", + "properties": { + "body": { + "type": "object", + "properties": { + "exceptionId": { + "type": "string", + "description": "ID of the exception that was thrown." + }, + "description": { + "type": "string", + "description": "Descriptive text for the exception provided by the debug adapter." + }, + "breakMode": { + "$ref": "#/definitions/ExceptionBreakMode", + "description": "Mode that caused the exception notification to be raised." + }, + "details": { + "$ref": "#/definitions/ExceptionDetails", + "description": "Detailed information about the exception." + } + }, + "required": [ "exceptionId", "breakMode" ] + } + }, + "required": [ "body" ] + }] + }, + + "ReadMemoryRequest": { + "allOf": [ { "$ref": "#/definitions/Request" }, { + "type": "object", + "description": "Reads bytes from memory at the provided location.\nClients should only call this request if the capability 'supportsReadMemoryRequest' is true.", + "properties": { + "command": { + "type": "string", + "enum": [ "readMemory" ] + }, + "arguments": { + "$ref": "#/definitions/ReadMemoryArguments" + } + }, + "required": [ "command", "arguments" ] + }] + }, + "ReadMemoryArguments": { + "type": "object", + "description": "Arguments for 'readMemory' request.", + "properties": { + "memoryReference": { + "type": "string", + "description": "Memory reference to the base location from which data should be read." + }, + "offset": { + "type": "integer", + "description": "Optional offset (in bytes) to be applied to the reference location before reading data. Can be negative." + }, + "count": { + "type": "integer", + "description": "Number of bytes to read at the specified location and offset." + } + }, + "required": [ "memoryReference", "count" ] + }, + "ReadMemoryResponse": { + "allOf": [ { "$ref": "#/definitions/Response" }, { + "type": "object", + "description": "Response to 'readMemory' request.", + "properties": { + "body": { + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "The address of the first byte of data returned.\nTreated as a hex value if prefixed with '0x', or as a decimal value otherwise." + }, + "unreadableBytes": { + "type": "integer", + "description": "The number of unreadable bytes encountered after the last successfully read byte.\nThis can be used to determine the number of bytes that must be skipped before a subsequent 'readMemory' request will succeed." + }, + "data": { + "type": "string", + "description": "The bytes read from memory, encoded using base64." + } + }, + "required": [ "address" ] + } + } + }] + }, + + "WriteMemoryRequest": { + "allOf": [ { "$ref": "#/definitions/Request" }, { + "type": "object", + "description": "Writes bytes to memory at the provided location.\nClients should only call this request if the capability 'supportsWriteMemoryRequest' is true.", + "properties": { + "command": { + "type": "string", + "enum": [ "writeMemory" ] + }, + "arguments": { + "$ref": "#/definitions/WriteMemoryArguments" + } + }, + "required": [ "command", "arguments" ] + }] + }, + "WriteMemoryArguments": { + "type": "object", + "description": "Arguments for 'writeMemory' request.", + "properties": { + "memoryReference": { + "type": "string", + "description": "Memory reference to the base location to which data should be written." + }, + "offset": { + "type": "integer", + "description": "Optional offset (in bytes) to be applied to the reference location before writing data. Can be negative." + }, + "allowPartial": { + "type": "boolean", + "description": "Optional property to control partial writes. If true, the debug adapter should attempt to write memory even if the entire memory region is not writable. In such a case the debug adapter should stop after hitting the first byte of memory that cannot be written and return the number of bytes written in the response via the 'offset' and 'bytesWritten' properties.\nIf false or missing, a debug adapter should attempt to verify the region is writable before writing, and fail the response if it is not." + }, + "data": { + "type": "string", + "description": "Bytes to write, encoded using base64." + } + }, + "required": [ "memoryReference", "data" ] + }, + "WriteMemoryResponse": { + "allOf": [ { "$ref": "#/definitions/Response" }, { + "type": "object", + "description": "Response to 'writeMemory' request.", + "properties": { + "body": { + "type": "object", + "properties": { + "offset": { + "type": "integer", + "description": "Optional property that should be returned when 'allowPartial' is true to indicate the offset of the first byte of data successfully written. Can be negative." + }, + "bytesWritten": { + "type": "integer", + "description": "Optional property that should be returned when 'allowPartial' is true to indicate the number of bytes starting from address that were successfully written." + } + } + } + } + }] + }, + + "DisassembleRequest": { + "allOf": [ { "$ref": "#/definitions/Request" }, { + "type": "object", + "description": "Disassembles code stored at the provided location.\nClients should only call this request if the capability 'supportsDisassembleRequest' is true.", + "properties": { + "command": { + "type": "string", + "enum": [ "disassemble" ] + }, + "arguments": { + "$ref": "#/definitions/DisassembleArguments" + } + }, + "required": [ "command", "arguments" ] + }] + }, + "DisassembleArguments": { + "type": "object", + "description": "Arguments for 'disassemble' request.", + "properties": { + "memoryReference": { + "type": "string", + "description": "Memory reference to the base location containing the instructions to disassemble." + }, + "offset": { + "type": "integer", + "description": "Optional offset (in bytes) to be applied to the reference location before disassembling. Can be negative." + }, + "instructionOffset": { + "type": "integer", + "description": "Optional offset (in instructions) to be applied after the byte offset (if any) before disassembling. Can be negative." + }, + "instructionCount": { + "type": "integer", + "description": "Number of instructions to disassemble starting at the specified location and offset.\nAn adapter must return exactly this number of instructions - any unavailable instructions should be replaced with an implementation-defined 'invalid instruction' value." + }, + "resolveSymbols": { + "type": "boolean", + "description": "If true, the adapter should attempt to resolve memory addresses and other values to symbolic names." + } + }, + "required": [ "memoryReference", "instructionCount" ] + }, + "DisassembleResponse": { + "allOf": [ { "$ref": "#/definitions/Response" }, { + "type": "object", + "description": "Response to 'disassemble' request.", + "properties": { + "body": { + "type": "object", + "properties": { + "instructions": { + "type": "array", + "items": { + "$ref": "#/definitions/DisassembledInstruction" + }, + "description": "The list of disassembled instructions." + } + }, + "required": [ "instructions" ] + } + } + }] + }, + + "Capabilities": { + "type": "object", + "title": "Types", + "description": "Information about the capabilities of a debug adapter.", + "properties": { + "supportsConfigurationDoneRequest": { + "type": "boolean", + "description": "The debug adapter supports the 'configurationDone' request." + }, + "supportsFunctionBreakpoints": { + "type": "boolean", + "description": "The debug adapter supports function breakpoints." + }, + "supportsConditionalBreakpoints": { + "type": "boolean", + "description": "The debug adapter supports conditional breakpoints." + }, + "supportsHitConditionalBreakpoints": { + "type": "boolean", + "description": "The debug adapter supports breakpoints that break execution after a specified number of hits." + }, + "supportsEvaluateForHovers": { + "type": "boolean", + "description": "The debug adapter supports a (side effect free) evaluate request for data hovers." + }, + "exceptionBreakpointFilters": { + "type": "array", + "items": { + "$ref": "#/definitions/ExceptionBreakpointsFilter" + }, + "description": "Available exception filter options for the 'setExceptionBreakpoints' request." + }, + "supportsStepBack": { + "type": "boolean", + "description": "The debug adapter supports stepping back via the 'stepBack' and 'reverseContinue' requests." + }, + "supportsSetVariable": { + "type": "boolean", + "description": "The debug adapter supports setting a variable to a value." + }, + "supportsRestartFrame": { + "type": "boolean", + "description": "The debug adapter supports restarting a frame." + }, + "supportsGotoTargetsRequest": { + "type": "boolean", + "description": "The debug adapter supports the 'gotoTargets' request." + }, + "supportsStepInTargetsRequest": { + "type": "boolean", + "description": "The debug adapter supports the 'stepInTargets' request." + }, + "supportsCompletionsRequest": { + "type": "boolean", + "description": "The debug adapter supports the 'completions' request." + }, + "completionTriggerCharacters": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The set of characters that should trigger completion in a REPL. If not specified, the UI should assume the '.' character." + }, + "supportsModulesRequest": { + "type": "boolean", + "description": "The debug adapter supports the 'modules' request." + }, + "additionalModuleColumns": { + "type": "array", + "items": { + "$ref": "#/definitions/ColumnDescriptor" + }, + "description": "The set of additional module information exposed by the debug adapter." + }, + "supportedChecksumAlgorithms": { + "type": "array", + "items": { + "$ref": "#/definitions/ChecksumAlgorithm" + }, + "description": "Checksum algorithms supported by the debug adapter." + }, + "supportsRestartRequest": { + "type": "boolean", + "description": "The debug adapter supports the 'restart' request. In this case a client should not implement 'restart' by terminating and relaunching the adapter but by calling the RestartRequest." + }, + "supportsExceptionOptions": { + "type": "boolean", + "description": "The debug adapter supports 'exceptionOptions' on the setExceptionBreakpoints request." + }, + "supportsValueFormattingOptions": { + "type": "boolean", + "description": "The debug adapter supports a 'format' attribute on the stackTraceRequest, variablesRequest, and evaluateRequest." + }, + "supportsExceptionInfoRequest": { + "type": "boolean", + "description": "The debug adapter supports the 'exceptionInfo' request." + }, + "supportTerminateDebuggee": { + "type": "boolean", + "description": "The debug adapter supports the 'terminateDebuggee' attribute on the 'disconnect' request." + }, + "supportSuspendDebuggee": { + "type": "boolean", + "description": "The debug adapter supports the 'suspendDebuggee' attribute on the 'disconnect' request." + }, + "supportsDelayedStackTraceLoading": { + "type": "boolean", + "description": "The debug adapter supports the delayed loading of parts of the stack, which requires that both the 'startFrame' and 'levels' arguments and an optional 'totalFrames' result of the 'StackTrace' request are supported." + }, + "supportsLoadedSourcesRequest": { + "type": "boolean", + "description": "The debug adapter supports the 'loadedSources' request." + }, + "supportsLogPoints": { + "type": "boolean", + "description": "The debug adapter supports logpoints by interpreting the 'logMessage' attribute of the SourceBreakpoint." + }, + "supportsTerminateThreadsRequest": { + "type": "boolean", + "description": "The debug adapter supports the 'terminateThreads' request." + }, + "supportsSetExpression": { + "type": "boolean", + "description": "The debug adapter supports the 'setExpression' request." + }, + "supportsTerminateRequest": { + "type": "boolean", + "description": "The debug adapter supports the 'terminate' request." + }, + "supportsDataBreakpoints": { + "type": "boolean", + "description": "The debug adapter supports data breakpoints." + }, + "supportsReadMemoryRequest": { + "type": "boolean", + "description": "The debug adapter supports the 'readMemory' request." + }, + "supportsWriteMemoryRequest": { + "type": "boolean", + "description": "The debug adapter supports the 'writeMemory' request." + }, + "supportsDisassembleRequest": { + "type": "boolean", + "description": "The debug adapter supports the 'disassemble' request." + }, + "supportsCancelRequest": { + "type": "boolean", + "description": "The debug adapter supports the 'cancel' request." + }, + "supportsBreakpointLocationsRequest": { + "type": "boolean", + "description": "The debug adapter supports the 'breakpointLocations' request." + }, + "supportsClipboardContext": { + "type": "boolean", + "description": "The debug adapter supports the 'clipboard' context value in the 'evaluate' request." + }, + "supportsSteppingGranularity": { + "type": "boolean", + "description": "The debug adapter supports stepping granularities (argument 'granularity') for the stepping requests." + }, + "supportsInstructionBreakpoints": { + "type": "boolean", + "description": "The debug adapter supports adding breakpoints based on instruction references." + }, + "supportsExceptionFilterOptions": { + "type": "boolean", + "description": "The debug adapter supports 'filterOptions' as an argument on the 'setExceptionBreakpoints' request." + }, + "supportsSingleThreadExecutionRequests": { + "type": "boolean", + "description": "The debug adapter supports the 'singleThread' property on the execution requests ('continue', 'next', 'stepIn', 'stepOut', 'reverseContinue', 'stepBack')." + } + } + }, + + "ExceptionBreakpointsFilter": { + "type": "object", + "description": "An ExceptionBreakpointsFilter is shown in the UI as an filter option for configuring how exceptions are dealt with.", + "properties": { + "filter": { + "type": "string", + "description": "The internal ID of the filter option. This value is passed to the 'setExceptionBreakpoints' request." + }, + "label": { + "type": "string", + "description": "The name of the filter option. This will be shown in the UI." + }, + "description": { + "type": "string", + "description": "An optional help text providing additional information about the exception filter. This string is typically shown as a hover and must be translated." + }, + "default": { + "type": "boolean", + "description": "Initial value of the filter option. If not specified a value 'false' is assumed." + }, + "supportsCondition": { + "type": "boolean", + "description": "Controls whether a condition can be specified for this filter option. If false or missing, a condition can not be set." + }, + "conditionDescription": { + "type": "string", + "description": "An optional help text providing information about the condition. This string is shown as the placeholder text for a text box and must be translated." + } + }, + "required": [ "filter", "label" ] + }, + + "Message": { + "type": "object", + "description": "A structured message object. Used to return errors from requests.", + "properties": { + "id": { + "type": "integer", + "description": "Unique identifier for the message." + }, + "format": { + "type": "string", + "description": "A format string for the message. Embedded variables have the form '{name}'.\nIf variable name starts with an underscore character, the variable does not contain user data (PII) and can be safely used for telemetry purposes." + }, + "variables": { + "type": "object", + "description": "An object used as a dictionary for looking up the variables in the format string.", + "additionalProperties": { + "type": "string", + "description": "Values must be strings." + } + }, + "sendTelemetry": { + "type": "boolean", + "description": "If true send to telemetry." + }, + "showUser": { + "type": "boolean", + "description": "If true show user." + }, + "url": { + "type": "string", + "description": "An optional url where additional information about this message can be found." + }, + "urlLabel": { + "type": "string", + "description": "An optional label that is presented to the user as the UI for opening the url." + } + }, + "required": [ "id", "format" ] + }, + + "Module": { + "type": "object", + "description": "A Module object represents a row in the modules view.\nTwo attributes are mandatory: an id identifies a module in the modules view and is used in a ModuleEvent for identifying a module for adding, updating or deleting.\nThe name is used to minimally render the module in the UI.\n\nAdditional attributes can be added to the module. They will show up in the module View if they have a corresponding ColumnDescriptor.\n\nTo avoid an unnecessary proliferation of additional attributes with similar semantics but different names\nwe recommend to re-use attributes from the 'recommended' list below first, and only introduce new attributes if nothing appropriate could be found.", + "properties": { + "id": { + "type": ["integer", "string"], + "description": "Unique identifier for the module." + }, + "name": { + "type": "string", + "description": "A name of the module." + }, + "path": { + "type": "string", + "description": "optional but recommended attributes.\nalways try to use these first before introducing additional attributes.\n\nLogical full path to the module. The exact definition is implementation defined, but usually this would be a full path to the on-disk file for the module." + }, + "isOptimized": { + "type": "boolean", + "description": "True if the module is optimized." + }, + "isUserCode": { + "type": "boolean", + "description": "True if the module is considered 'user code' by a debugger that supports 'Just My Code'." + }, + "version": { + "type": "string", + "description": "Version of Module." + }, + "symbolStatus": { + "type": "string", + "description": "User understandable description of if symbols were found for the module (ex: 'Symbols Loaded', 'Symbols not found', etc." + }, + "symbolFilePath": { + "type": "string", + "description": "Logical full path to the symbol file. The exact definition is implementation defined." + }, + "dateTimeStamp": { + "type": "string", + "description": "Module created or modified." + }, + "addressRange": { + "type": "string", + "description": "Address range covered by this module." + } + }, + "required": [ "id", "name" ] + }, + + "ColumnDescriptor": { + "type": "object", + "description": "A ColumnDescriptor specifies what module attribute to show in a column of the ModulesView, how to format it,\nand what the column's label should be.\nIt is only used if the underlying UI actually supports this level of customization.", + "properties": { + "attributeName": { + "type": "string", + "description": "Name of the attribute rendered in this column." + }, + "label": { + "type": "string", + "description": "Header UI label of column." + }, + "format": { + "type": "string", + "description": "Format to use for the rendered values in this column. TBD how the format strings looks like." + }, + "type": { + "type": "string", + "enum": [ "string", "number", "boolean", "unixTimestampUTC" ], + "description": "Datatype of values in this column. Defaults to 'string' if not specified." + }, + "width": { + "type": "integer", + "description": "Width of this column in characters (hint only)." + } + }, + "required": [ "attributeName", "label"] + }, + + "ModulesViewDescriptor": { + "type": "object", + "description": "The ModulesViewDescriptor is the container for all declarative configuration options of a ModuleView.\nFor now it only specifies the columns to be shown in the modules view.", + "properties": { + "columns": { + "type": "array", + "items": { + "$ref": "#/definitions/ColumnDescriptor" + } + } + }, + "required": [ "columns" ] + }, + + "Thread": { + "type": "object", + "description": "A Thread", + "properties": { + "id": { + "type": "integer", + "description": "Unique identifier for the thread." + }, + "name": { + "type": "string", + "description": "A name of the thread." + } + }, + "required": [ "id", "name" ] + }, + + "Source": { + "type": "object", + "description": "A Source is a descriptor for source code.\nIt is returned from the debug adapter as part of a StackFrame and it is used by clients when specifying breakpoints.", + "properties": { + "name": { + "type": "string", + "description": "The short name of the source. Every source returned from the debug adapter has a name.\nWhen sending a source to the debug adapter this name is optional." + }, + "path": { + "type": "string", + "description": "The path of the source to be shown in the UI.\nIt is only used to locate and load the content of the source if no sourceReference is specified (or its value is 0)." + }, + "sourceReference": { + "type": "integer", + "description": "If sourceReference > 0 the contents of the source must be retrieved through the SourceRequest (even if a path is specified).\nA sourceReference is only valid for a session, so it must not be used to persist a source.\nThe value should be less than or equal to 2147483647 (2^31-1)." + }, + "presentationHint": { + "type": "string", + "description": "An optional hint for how to present the source in the UI.\nA value of 'deemphasize' can be used to indicate that the source is not available or that it is skipped on stepping.", + "enum": [ "normal", "emphasize", "deemphasize" ] + }, + "origin": { + "type": "string", + "description": "The (optional) origin of this source: possible values 'internal module', 'inlined content from source map', etc." + }, + "sources": { + "type": "array", + "items": { + "$ref": "#/definitions/Source" + }, + "description": "An optional list of sources that are related to this source. These may be the source that generated this source." + }, + "adapterData": { + "type": [ "array", "boolean", "integer", "null", "number", "object", "string" ], + "description": "Optional data that a debug adapter might want to loop through the client.\nThe client should leave the data intact and persist it across sessions. The client should not interpret the data." + }, + "checksums": { + "type": "array", + "items": { + "$ref": "#/definitions/Checksum" + }, + "description": "The checksums associated with this file." + } + } + }, + + "StackFrame": { + "type": "object", + "description": "A Stackframe contains the source location.", + "properties": { + "id": { + "type": "integer", + "description": "An identifier for the stack frame. It must be unique across all threads.\nThis id can be used to retrieve the scopes of the frame with the 'scopesRequest' or to restart the execution of a stackframe." + }, + "name": { + "type": "string", + "description": "The name of the stack frame, typically a method name." + }, + "source": { + "$ref": "#/definitions/Source", + "description": "The optional source of the frame." + }, + "line": { + "type": "integer", + "description": "The line within the file of the frame. If source is null or doesn't exist, line is 0 and must be ignored." + }, + "column": { + "type": "integer", + "description": "The column within the line. If source is null or doesn't exist, column is 0 and must be ignored." + }, + "endLine": { + "type": "integer", + "description": "An optional end line of the range covered by the stack frame." + }, + "endColumn": { + "type": "integer", + "description": "An optional end column of the range covered by the stack frame." + }, + "canRestart": { + "type": "boolean", + "description": "Indicates whether this frame can be restarted with the 'restart' request. Clients should only use this if the debug adapter supports the 'restart' request (capability 'supportsRestartRequest' is true)." + }, + "instructionPointerReference": { + "type": "string", + "description": "Optional memory reference for the current instruction pointer in this frame." + }, + "moduleId": { + "type": ["integer", "string"], + "description": "The module associated with this frame, if any." + }, + "presentationHint": { + "type": "string", + "enum": [ "normal", "label", "subtle" ], + "description": "An optional hint for how to present this frame in the UI.\nA value of 'label' can be used to indicate that the frame is an artificial frame that is used as a visual label or separator. A value of 'subtle' can be used to change the appearance of a frame in a 'subtle' way." + } + }, + "required": [ "id", "name", "line", "column" ] + }, + + "Scope": { + "type": "object", + "description": "A Scope is a named container for variables. Optionally a scope can map to a source or a range within a source.", + "properties": { + "name": { + "type": "string", + "description": "Name of the scope such as 'Arguments', 'Locals', or 'Registers'. This string is shown in the UI as is and can be translated." + }, + "presentationHint": { + "type": "string", + "description": "An optional hint for how to present this scope in the UI. If this attribute is missing, the scope is shown with a generic UI.", + "_enum": [ "arguments", "locals", "registers" ], + "enumDescriptions": [ + "Scope contains method arguments.", + "Scope contains local variables.", + "Scope contains registers. Only a single 'registers' scope should be returned from a 'scopes' request." + ] + }, + "variablesReference": { + "type": "integer", + "description": "The variables of this scope can be retrieved by passing the value of variablesReference to the VariablesRequest." + }, + "namedVariables": { + "type": "integer", + "description": "The number of named variables in this scope.\nThe client can use this optional information to present the variables in a paged UI and fetch them in chunks." + }, + "indexedVariables": { + "type": "integer", + "description": "The number of indexed variables in this scope.\nThe client can use this optional information to present the variables in a paged UI and fetch them in chunks." + }, + "expensive": { + "type": "boolean", + "description": "If true, the number of variables in this scope is large or expensive to retrieve." + }, + "source": { + "$ref": "#/definitions/Source", + "description": "Optional source for this scope." + }, + "line": { + "type": "integer", + "description": "Optional start line of the range covered by this scope." + }, + "column": { + "type": "integer", + "description": "Optional start column of the range covered by this scope." + }, + "endLine": { + "type": "integer", + "description": "Optional end line of the range covered by this scope." + }, + "endColumn": { + "type": "integer", + "description": "Optional end column of the range covered by this scope." + } + }, + "required": [ "name", "variablesReference", "expensive" ] + }, + + "Variable": { + "type": "object", + "description": "A Variable is a name/value pair.\nOptionally a variable can have a 'type' that is shown if space permits or when hovering over the variable's name.\nAn optional 'kind' is used to render additional properties of the variable, e.g. different icons can be used to indicate that a variable is public or private.\nIf the value is structured (has children), a handle is provided to retrieve the children with the VariablesRequest.\nIf the number of named or indexed children is large, the numbers should be returned via the optional 'namedVariables' and 'indexedVariables' attributes.\nThe client can use this optional information to present the children in a paged UI and fetch them in chunks.", + "properties": { + "name": { + "type": "string", + "description": "The variable's name." + }, + "value": { + "type": "string", + "description": "The variable's value. This can be a multi-line text, e.g. for a function the body of a function." + }, + "type": { + "type": "string", + "description": "The type of the variable's value. Typically shown in the UI when hovering over the value.\nThis attribute should only be returned by a debug adapter if the client has passed the value true for the 'supportsVariableType' capability of the 'initialize' request." + }, + "presentationHint": { + "$ref": "#/definitions/VariablePresentationHint", + "description": "Properties of a variable that can be used to determine how to render the variable in the UI." + }, + "evaluateName": { + "type": "string", + "description": "Optional evaluatable name of this variable which can be passed to the 'EvaluateRequest' to fetch the variable's value." + }, + "variablesReference": { + "type": "integer", + "description": "If variablesReference is > 0, the variable is structured and its children can be retrieved by passing variablesReference to the VariablesRequest." + }, + "namedVariables": { + "type": "integer", + "description": "The number of named child variables.\nThe client can use this optional information to present the children in a paged UI and fetch them in chunks." + }, + "indexedVariables": { + "type": "integer", + "description": "The number of indexed child variables.\nThe client can use this optional information to present the children in a paged UI and fetch them in chunks." + }, + "memoryReference": { + "type": "string", + "description": "Optional memory reference for the variable if the variable represents executable code, such as a function pointer.\nThis attribute is only required if the client has passed the value true for the 'supportsMemoryReferences' capability of the 'initialize' request." + } + }, + "required": [ "name", "value", "variablesReference" ] + }, + + "VariablePresentationHint": { + "type": "object", + "description": "Optional properties of a variable that can be used to determine how to render the variable in the UI.", + "properties": { + "kind": { + "description": "The kind of variable. Before introducing additional values, try to use the listed values.", + "type": "string", + "_enum": [ "property", "method", "class", "data", "event", "baseClass", "innerClass", "interface", "mostDerivedClass", "virtual", "dataBreakpoint" ], + "enumDescriptions": [ + "Indicates that the object is a property.", + "Indicates that the object is a method.", + "Indicates that the object is a class.", + "Indicates that the object is data.", + "Indicates that the object is an event.", + "Indicates that the object is a base class.", + "Indicates that the object is an inner class.", + "Indicates that the object is an interface.", + "Indicates that the object is the most derived class.", + "Indicates that the object is virtual, that means it is a synthetic object introducedby the\nadapter for rendering purposes, e.g. an index range for large arrays.", + "Deprecated: Indicates that a data breakpoint is registered for the object. The 'hasDataBreakpoint' attribute should generally be used instead." + ] + }, + "attributes": { + "description": "Set of attributes represented as an array of strings. Before introducing additional values, try to use the listed values.", + "type": "array", + "items": { + "type": "string", + "_enum": [ "static", "constant", "readOnly", "rawString", "hasObjectId", "canHaveObjectId", "hasSideEffects", "hasDataBreakpoint" ], + "enumDescriptions": [ + "Indicates that the object is static.", + "Indicates that the object is a constant.", + "Indicates that the object is read only.", + "Indicates that the object is a raw string.", + "Indicates that the object can have an Object ID created for it.", + "Indicates that the object has an Object ID associated with it.", + "Indicates that the evaluation had side effects.", + "Indicates that the object has its value tracked by a data breakpoint." + ] + } + }, + "visibility": { + "description": "Visibility of variable. Before introducing additional values, try to use the listed values.", + "type": "string", + "_enum": [ "public", "private", "protected", "internal", "final" ] + } + } + }, + + "BreakpointLocation": { + "type": "object", + "description": "Properties of a breakpoint location returned from the 'breakpointLocations' request.", + "properties": { + "line": { + "type": "integer", + "description": "Start line of breakpoint location." + }, + "column": { + "type": "integer", + "description": "Optional start column of breakpoint location." + }, + "endLine": { + "type": "integer", + "description": "Optional end line of breakpoint location if the location covers a range." + }, + "endColumn": { + "type": "integer", + "description": "Optional end column of breakpoint location if the location covers a range." + } + }, + "required": [ "line" ] + }, + + "SourceBreakpoint": { + "type": "object", + "description": "Properties of a breakpoint or logpoint passed to the setBreakpoints request.", + "properties": { + "line": { + "type": "integer", + "description": "The source line of the breakpoint or logpoint." + }, + "column": { + "type": "integer", + "description": "An optional source column of the breakpoint." + }, + "condition": { + "type": "string", + "description": "An optional expression for conditional breakpoints.\nIt is only honored by a debug adapter if the capability 'supportsConditionalBreakpoints' is true." + }, + "hitCondition": { + "type": "string", + "description": "An optional expression that controls how many hits of the breakpoint are ignored.\nThe backend is expected to interpret the expression as needed.\nThe attribute is only honored by a debug adapter if the capability 'supportsHitConditionalBreakpoints' is true." + }, + "logMessage": { + "type": "string", + "description": "If this attribute exists and is non-empty, the backend must not 'break' (stop)\nbut log the message instead. Expressions within {} are interpolated.\nThe attribute is only honored by a debug adapter if the capability 'supportsLogPoints' is true." + } + }, + "required": [ "line" ] + }, + + "FunctionBreakpoint": { + "type": "object", + "description": "Properties of a breakpoint passed to the setFunctionBreakpoints request.", + "properties": { + "name": { + "type": "string", + "description": "The name of the function." + }, + "condition": { + "type": "string", + "description": "An optional expression for conditional breakpoints.\nIt is only honored by a debug adapter if the capability 'supportsConditionalBreakpoints' is true." + }, + "hitCondition": { + "type": "string", + "description": "An optional expression that controls how many hits of the breakpoint are ignored.\nThe backend is expected to interpret the expression as needed.\nThe attribute is only honored by a debug adapter if the capability 'supportsHitConditionalBreakpoints' is true." + } + }, + "required": [ "name" ] + }, + + "DataBreakpointAccessType": { + "type": "string", + "description": "This enumeration defines all possible access types for data breakpoints.", + "enum": [ "read", "write", "readWrite" ] + }, + + "DataBreakpoint": { + "type": "object", + "description": "Properties of a data breakpoint passed to the setDataBreakpoints request.", + "properties": { + "dataId": { + "type": "string", + "description": "An id representing the data. This id is returned from the dataBreakpointInfo request." + }, + "accessType": { + "$ref": "#/definitions/DataBreakpointAccessType", + "description": "The access type of the data." + }, + "condition": { + "type": "string", + "description": "An optional expression for conditional breakpoints." + }, + "hitCondition": { + "type": "string", + "description": "An optional expression that controls how many hits of the breakpoint are ignored.\nThe backend is expected to interpret the expression as needed." + } + }, + "required": [ "dataId" ] + }, + + "InstructionBreakpoint": { + "type": "object", + "description": "Properties of a breakpoint passed to the setInstructionBreakpoints request", + "properties": { + "instructionReference": { + "type": "string", + "description": "The instruction reference of the breakpoint.\nThis should be a memory or instruction pointer reference from an EvaluateResponse, Variable, StackFrame, GotoTarget, or Breakpoint." + }, + "offset": { + "type": "integer", + "description": "An optional offset from the instruction reference.\nThis can be negative." + }, + "condition": { + "type": "string", + "description": "An optional expression for conditional breakpoints.\nIt is only honored by a debug adapter if the capability 'supportsConditionalBreakpoints' is true." + }, + "hitCondition": { + "type": "string", + "description": "An optional expression that controls how many hits of the breakpoint are ignored.\nThe backend is expected to interpret the expression as needed.\nThe attribute is only honored by a debug adapter if the capability 'supportsHitConditionalBreakpoints' is true." + } + }, + "required": [ "instructionReference" ] + }, + + "Breakpoint": { + "type": "object", + "description": "Information about a Breakpoint created in setBreakpoints, setFunctionBreakpoints, setInstructionBreakpoints, or setDataBreakpoints.", + "properties": { + "id": { + "type": "integer", + "description": "An optional identifier for the breakpoint. It is needed if breakpoint events are used to update or remove breakpoints." + }, + "verified": { + "type": "boolean", + "description": "If true breakpoint could be set (but not necessarily at the desired location)." + }, + "message": { + "type": "string", + "description": "An optional message about the state of the breakpoint.\nThis is shown to the user and can be used to explain why a breakpoint could not be verified." + }, + "source": { + "$ref": "#/definitions/Source", + "description": "The source where the breakpoint is located." + }, + "line": { + "type": "integer", + "description": "The start line of the actual range covered by the breakpoint." + }, + "column": { + "type": "integer", + "description": "An optional start column of the actual range covered by the breakpoint." + }, + "endLine": { + "type": "integer", + "description": "An optional end line of the actual range covered by the breakpoint." + }, + "endColumn": { + "type": "integer", + "description": "An optional end column of the actual range covered by the breakpoint.\nIf no end line is given, then the end column is assumed to be in the start line." + }, + "instructionReference": { + "type": "string", + "description": "An optional memory reference to where the breakpoint is set." + }, + "offset": { + "type": "integer", + "description": "An optional offset from the instruction reference.\nThis can be negative." + } + }, + "required": [ "verified" ] + }, + + "SteppingGranularity": { + "type": "string", + "description": "The granularity of one 'step' in the stepping requests 'next', 'stepIn', 'stepOut', and 'stepBack'.", + "enum": [ "statement", "line", "instruction" ], + "enumDescriptions": [ + "The step should allow the program to run until the current statement has finished executing.\nThe meaning of a statement is determined by the adapter and it may be considered equivalent to a line.\nFor example 'for(int i = 0; i < 10; i++) could be considered to have 3 statements 'int i = 0', 'i < 10', and 'i++'.", + "The step should allow the program to run until the current source line has executed.", + "The step should allow one instruction to execute (e.g. one x86 instruction)." + ] + }, + + "StepInTarget": { + "type": "object", + "description": "A StepInTarget can be used in the 'stepIn' request and determines into which single target the stepIn request should step.", + "properties": { + "id": { + "type": "integer", + "description": "Unique identifier for a stepIn target." + }, + "label": { + "type": "string", + "description": "The name of the stepIn target (shown in the UI)." + } + }, + "required": [ "id", "label" ] + }, + + "GotoTarget": { + "type": "object", + "description": "A GotoTarget describes a code location that can be used as a target in the 'goto' request.\nThe possible goto targets can be determined via the 'gotoTargets' request.", + "properties": { + "id": { + "type": "integer", + "description": "Unique identifier for a goto target. This is used in the goto request." + }, + "label": { + "type": "string", + "description": "The name of the goto target (shown in the UI)." + }, + "line": { + "type": "integer", + "description": "The line of the goto target." + }, + "column": { + "type": "integer", + "description": "An optional column of the goto target." + }, + "endLine": { + "type": "integer", + "description": "An optional end line of the range covered by the goto target." + }, + "endColumn": { + "type": "integer", + "description": "An optional end column of the range covered by the goto target." + }, + "instructionPointerReference": { + "type": "string", + "description": "Optional memory reference for the instruction pointer value represented by this target." + } + }, + "required": [ "id", "label", "line" ] + }, + + "CompletionItem": { + "type": "object", + "description": "CompletionItems are the suggestions returned from the CompletionsRequest.", + "properties": { + "label": { + "type": "string", + "description": "The label of this completion item. By default this is also the text that is inserted when selecting this completion." + }, + "text": { + "type": "string", + "description": "If text is not falsy then it is inserted instead of the label." + }, + "sortText": { + "type": "string", + "description": "A string that should be used when comparing this item with other items. When `falsy` the label is used." + }, + "type": { + "$ref": "#/definitions/CompletionItemType", + "description": "The item's type. Typically the client uses this information to render the item in the UI with an icon." + }, + "start": { + "type": "integer", + "description": "This value determines the location (in the CompletionsRequest's 'text' attribute) where the completion text is added.\nIf missing the text is added at the location specified by the CompletionsRequest's 'column' attribute." + }, + "length": { + "type": "integer", + "description": "This value determines how many characters are overwritten by the completion text.\nIf missing the value 0 is assumed which results in the completion text being inserted." + }, + "selectionStart": { + "type": "integer", + "description": "Determines the start of the new selection after the text has been inserted (or replaced).\nThe start position must in the range 0 and length of the completion text.\nIf omitted the selection starts at the end of the completion text." + }, + "selectionLength": { + "type": "integer", + "description": "Determines the length of the new selection after the text has been inserted (or replaced).\nThe selection can not extend beyond the bounds of the completion text.\nIf omitted the length is assumed to be 0." + } + }, + "required": [ "label" ] + }, + + "CompletionItemType": { + "type": "string", + "description": "Some predefined types for the CompletionItem. Please note that not all clients have specific icons for all of them.", + "enum": [ "method", "function", "constructor", "field", "variable", "class", "interface", "module", "property", "unit", "value", "enum", "keyword", "snippet", "text", "color", "file", "reference", "customcolor" ] + }, + + "ChecksumAlgorithm": { + "type": "string", + "description": "Names of checksum algorithms that may be supported by a debug adapter.", + "enum": [ "MD5", "SHA1", "SHA256", "timestamp" ] + }, + + "Checksum": { + "type": "object", + "description": "The checksum of an item calculated by the specified algorithm.", + "properties": { + "algorithm": { + "$ref": "#/definitions/ChecksumAlgorithm", + "description": "The algorithm used to calculate this checksum." + }, + "checksum": { + "type": "string", + "description": "Value of the checksum." + } + }, + "required": [ "algorithm", "checksum" ] + }, + + "ValueFormat": { + "type": "object", + "description": "Provides formatting information for a value.", + "properties": { + "hex": { + "type": "boolean", + "description": "Display the value in hex." + } + } + }, + + "StackFrameFormat": { + "allOf": [ { "$ref": "#/definitions/ValueFormat" }, { + "type": "object", + "description": "Provides formatting information for a stack frame.", + "properties": { + "parameters": { + "type": "boolean", + "description": "Displays parameters for the stack frame." + }, + "parameterTypes": { + "type": "boolean", + "description": "Displays the types of parameters for the stack frame." + }, + "parameterNames": { + "type": "boolean", + "description": "Displays the names of parameters for the stack frame." + }, + "parameterValues": { + "type": "boolean", + "description": "Displays the values of parameters for the stack frame." + }, + "line": { + "type": "boolean", + "description": "Displays the line number of the stack frame." + }, + "module": { + "type": "boolean", + "description": "Displays the module of the stack frame." + }, + "includeAll": { + "type": "boolean", + "description": "Includes all stack frames, including those the debug adapter might otherwise hide." + } + } + }] + }, + + "ExceptionFilterOptions": { + "type": "object", + "description": "An ExceptionFilterOptions is used to specify an exception filter together with a condition for the setExceptionsFilter request.", + "properties": { + "filterId": { + "type": "string", + "description": "ID of an exception filter returned by the 'exceptionBreakpointFilters' capability." + }, + "condition": { + "type": "string", + "description": "An optional expression for conditional exceptions.\nThe exception will break into the debugger if the result of the condition is true." + } + }, + "required": [ "filterId" ] + }, + + "ExceptionOptions": { + "type": "object", + "description": "An ExceptionOptions assigns configuration options to a set of exceptions.", + "properties": { + "path": { + "type": "array", + "items": { + "$ref": "#/definitions/ExceptionPathSegment" + }, + "description": "A path that selects a single or multiple exceptions in a tree. If 'path' is missing, the whole tree is selected.\nBy convention the first segment of the path is a category that is used to group exceptions in the UI." + }, + "breakMode": { + "$ref": "#/definitions/ExceptionBreakMode", + "description": "Condition when a thrown exception should result in a break." + } + }, + "required": [ "breakMode" ] + }, + + "ExceptionBreakMode": { + "type": "string", + "description": "This enumeration defines all possible conditions when a thrown exception should result in a break.\nnever: never breaks,\nalways: always breaks,\nunhandled: breaks when exception unhandled,\nuserUnhandled: breaks if the exception is not handled by user code.", + "enum": [ "never", "always", "unhandled", "userUnhandled" ] + }, + + "ExceptionPathSegment": { + "type": "object", + "description": "An ExceptionPathSegment represents a segment in a path that is used to match leafs or nodes in a tree of exceptions.\nIf a segment consists of more than one name, it matches the names provided if 'negate' is false or missing or\nit matches anything except the names provided if 'negate' is true.", + "properties": { + "negate": { + "type": "boolean", + "description": "If false or missing this segment matches the names provided, otherwise it matches anything except the names provided." + }, + "names": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Depending on the value of 'negate' the names that should match or not match." + } + }, + "required": [ "names" ] + }, + + "ExceptionDetails": { + "type": "object", + "description": "Detailed information about an exception that has occurred.", + "properties": { + "message": { + "type": "string", + "description": "Message contained in the exception." + }, + "typeName": { + "type": "string", + "description": "Short type name of the exception object." + }, + "fullTypeName": { + "type": "string", + "description": "Fully-qualified type name of the exception object." + }, + "evaluateName": { + "type": "string", + "description": "Optional expression that can be evaluated in the current scope to obtain the exception object." + }, + "stackTrace": { + "type": "string", + "description": "Stack trace at the time the exception was thrown." + }, + "innerException": { + "type": "array", + "items": { + "$ref": "#/definitions/ExceptionDetails" + }, + "description": "Details of the exception contained by this exception, if any." + } + } + }, + + "DisassembledInstruction": { + "type": "object", + "description": "Represents a single disassembled instruction.", + "properties": { + "address": { + "type": "string", + "description": "The address of the instruction. Treated as a hex value if prefixed with '0x', or as a decimal value otherwise." + }, + "instructionBytes": { + "type": "string", + "description": "Optional raw bytes representing the instruction and its operands, in an implementation-defined format." + }, + "instruction": { + "type": "string", + "description": "Text representing the instruction and its operands, in an implementation-defined format." + }, + "symbol": { + "type": "string", + "description": "Name of the symbol that corresponds with the location of this instruction, if any." + }, + "location": { + "$ref": "#/definitions/Source", + "description": "Source location that corresponds to this instruction, if any.\nShould always be set (if available) on the first instruction returned,\nbut can be omitted afterwards if this instruction maps to the same source file as the previous instruction." + }, + "line": { + "type": "integer", + "description": "The line within the source location that corresponds to this instruction, if any." + }, + "column": { + "type": "integer", + "description": "The column within the line that corresponds to this instruction, if any." + }, + "endLine": { + "type": "integer", + "description": "The end line of the range that corresponds to this instruction, if any." + }, + "endColumn": { + "type": "integer", + "description": "The end column of the range that corresponds to this instruction, if any." + } + }, + "required": [ "address", "instruction" ] + }, + + "InvalidatedAreas": { + "type": "string", + "description": "Logical areas that can be invalidated by the 'invalidated' event.", + "_enum": [ "all", "stacks", "threads", "variables" ], + "enumDescriptions": [ + "All previously fetched data has become invalid and needs to be refetched.", + "Previously fetched stack related data has become invalid and needs to be refetched.", + "Previously fetched thread related data has become invalid and needs to be refetched.", + "Previously fetched variable data has become invalid and needs to be refetched." + ] + } + + } +} diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/debugProtocolCustom.json b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/debugProtocolCustom.json new file mode 120000 index 0000000..aded81a --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/debugProtocolCustom.json @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/36/62/8c/fdb379b3aa3350f5c815cfd0df0eae9e4e997f585bd698328efc6fe103 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_base_schema.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_base_schema.py new file mode 120000 index 0000000..950538c --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_base_schema.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/29/ed/85/7fff1244a1920da984d1e671c7cbc060dc7829af6826a466357e437d00 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_schema.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_schema.py new file mode 120000 index 0000000..7c07565 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_schema.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/56/20/2c/71e79b32c378644f05de7c2f71937fd0006bf2090a757125fd3e4116c3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_schema_log.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_schema_log.py new file mode 120000 index 0000000..a0b2f7b --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_schema_log.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/68/c2/02/ac1ccb5826b29d9cb64f2b04bf3dffb1d1d77eb4251411c934a97b8fb9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevconsole_code.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevconsole_code.py new file mode 100644 index 0000000..e6ba300 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevconsole_code.py @@ -0,0 +1,554 @@ +""" +A copy of the code module in the standard library with some changes to work with +async evaluation. + +Utilities needed to emulate Python's interactive interpreter. +""" + +# Inspired by similar code by Jeff Epler and Fredrik Lundh. + +import sys +import traceback +import inspect + +# START --------------------------- from codeop import CommandCompiler, compile_command +# START --------------------------- from codeop import CommandCompiler, compile_command +# START --------------------------- from codeop import CommandCompiler, compile_command +# START --------------------------- from codeop import CommandCompiler, compile_command +# START --------------------------- from codeop import CommandCompiler, compile_command +r"""Utilities to compile possibly incomplete Python source code. + +This module provides two interfaces, broadly similar to the builtin +function compile(), which take program text, a filename and a 'mode' +and: + +- Return code object if the command is complete and valid +- Return None if the command is incomplete +- Raise SyntaxError, ValueError or OverflowError if the command is a + syntax error (OverflowError and ValueError can be produced by + malformed literals). + +Approach: + +First, check if the source consists entirely of blank lines and +comments; if so, replace it with 'pass', because the built-in +parser doesn't always do the right thing for these. + +Compile three times: as is, with \n, and with \n\n appended. If it +compiles as is, it's complete. If it compiles with one \n appended, +we expect more. If it doesn't compile either way, we compare the +error we get when compiling with \n or \n\n appended. If the errors +are the same, the code is broken. But if the errors are different, we +expect more. Not intuitive; not even guaranteed to hold in future +releases; but this matches the compiler's behavior from Python 1.4 +through 2.2, at least. + +Caveat: + +It is possible (but not likely) that the parser stops parsing with a +successful outcome before reaching the end of the source; in this +case, trailing symbols may be ignored instead of causing an error. +For example, a backslash followed by two newlines may be followed by +arbitrary garbage. This will be fixed once the API for the parser is +better. + +The two interfaces are: + +compile_command(source, filename, symbol): + + Compiles a single command in the manner described above. + +CommandCompiler(): + + Instances of this class have __call__ methods identical in + signature to compile_command; the difference is that if the + instance compiles program text containing a __future__ statement, + the instance 'remembers' and compiles all subsequent program texts + with the statement in force. + +The module also provides another class: + +Compile(): + + Instances of this class act like the built-in function compile, + but with 'memory' in the sense described above. +""" + +import __future__ + +_features = [getattr(__future__, fname) + for fname in __future__.all_feature_names] + +__all__ = ["compile_command", "Compile", "CommandCompiler"] + +PyCF_DONT_IMPLY_DEDENT = 0x200 # Matches pythonrun.h + + +def _maybe_compile(compiler, source, filename, symbol): + # Check for source consisting of only blank lines and comments + for line in source.split("\n"): + line = line.strip() + if line and line[0] != '#': + break # Leave it alone + else: + if symbol != "eval": + source = "pass" # Replace it with a 'pass' statement + + err = err1 = err2 = None + code = code1 = code2 = None + + try: + code = compiler(source, filename, symbol) + except SyntaxError as err: + pass + + try: + code1 = compiler(source + "\n", filename, symbol) + except SyntaxError as e: + err1 = e + + try: + code2 = compiler(source + "\n\n", filename, symbol) + except SyntaxError as e: + err2 = e + + try: + if code: + return code + if not code1 and repr(err1) == repr(err2): + raise err1 + finally: + err1 = err2 = None + + +def _compile(source, filename, symbol): + return compile(source, filename, symbol, PyCF_DONT_IMPLY_DEDENT) + + +def compile_command(source, filename="", symbol="single"): + r"""Compile a command and determine whether it is incomplete. + + Arguments: + + source -- the source string; may contain \n characters + filename -- optional filename from which source was read; default + "" + symbol -- optional grammar start symbol; "single" (default) or "eval" + + Return value / exceptions raised: + + - Return a code object if the command is complete and valid + - Return None if the command is incomplete + - Raise SyntaxError, ValueError or OverflowError if the command is a + syntax error (OverflowError and ValueError can be produced by + malformed literals). + """ + return _maybe_compile(_compile, source, filename, symbol) + + +class Compile: + """Instances of this class behave much like the built-in compile + function, but if one is used to compile text containing a future + statement, it "remembers" and compiles all subsequent program texts + with the statement in force.""" + + def __init__(self): + self.flags = PyCF_DONT_IMPLY_DEDENT + + try: + from ast import PyCF_ALLOW_TOP_LEVEL_AWAIT + self.flags |= PyCF_ALLOW_TOP_LEVEL_AWAIT + except: + pass + + def __call__(self, source, filename, symbol): + codeob = compile(source, filename, symbol, self.flags, 1) + for feature in _features: + if codeob.co_flags & feature.compiler_flag: + self.flags |= feature.compiler_flag + return codeob + + +class CommandCompiler: + """Instances of this class have __call__ methods identical in + signature to compile_command; the difference is that if the + instance compiles program text containing a __future__ statement, + the instance 'remembers' and compiles all subsequent program texts + with the statement in force.""" + + def __init__(self,): + self.compiler = Compile() + + def __call__(self, source, filename="", symbol="single"): + r"""Compile a command and determine whether it is incomplete. + + Arguments: + + source -- the source string; may contain \n characters + filename -- optional filename from which source was read; + default "" + symbol -- optional grammar start symbol; "single" (default) or + "eval" + + Return value / exceptions raised: + + - Return a code object if the command is complete and valid + - Return None if the command is incomplete + - Raise SyntaxError, ValueError or OverflowError if the command is a + syntax error (OverflowError and ValueError can be produced by + malformed literals). + """ + return _maybe_compile(self.compiler, source, filename, symbol) + +# END --------------------------- from codeop import CommandCompiler, compile_command +# END --------------------------- from codeop import CommandCompiler, compile_command +# END --------------------------- from codeop import CommandCompiler, compile_command +# END --------------------------- from codeop import CommandCompiler, compile_command +# END --------------------------- from codeop import CommandCompiler, compile_command + + +__all__ = ["InteractiveInterpreter", "InteractiveConsole", "interact", + "compile_command"] + +from _pydev_bundle._pydev_saved_modules import threading + + +class _EvalAwaitInNewEventLoop(threading.Thread): + + def __init__(self, compiled, updated_globals, updated_locals): + threading.Thread.__init__(self) + self.daemon = True + self._compiled = compiled + self._updated_globals = updated_globals + self._updated_locals = updated_locals + + # Output + self.evaluated_value = None + self.exc = None + + async def _async_func(self): + return await eval(self._compiled, self._updated_locals, self._updated_globals) + + def run(self): + try: + import asyncio + loop = asyncio.new_event_loop() + asyncio.set_event_loop(loop) + self.evaluated_value = asyncio.run(self._async_func()) + except: + self.exc = sys.exc_info() + + +class InteractiveInterpreter: + """Base class for InteractiveConsole. + + This class deals with parsing and interpreter state (the user's + namespace); it doesn't deal with input buffering or prompting or + input file naming (the filename is always passed in explicitly). + + """ + + def __init__(self, locals=None): + """Constructor. + + The optional 'locals' argument specifies the dictionary in + which code will be executed; it defaults to a newly created + dictionary with key "__name__" set to "__console__" and key + "__doc__" set to None. + + """ + if locals is None: + locals = {"__name__": "__console__", "__doc__": None} + self.locals = locals + self.compile = CommandCompiler() + + def runsource(self, source, filename="", symbol="single"): + """Compile and run some source in the interpreter. + + Arguments are as for compile_command(). + + One of several things can happen: + + 1) The input is incorrect; compile_command() raised an + exception (SyntaxError or OverflowError). A syntax traceback + will be printed by calling the showsyntaxerror() method. + + 2) The input is incomplete, and more input is required; + compile_command() returned None. Nothing happens. + + 3) The input is complete; compile_command() returned a code + object. The code is executed by calling self.runcode() (which + also handles run-time exceptions, except for SystemExit). + + The return value is True in case 2, False in the other cases (unless + an exception is raised). The return value can be used to + decide whether to use sys.ps1 or sys.ps2 to prompt the next + line. + + """ + try: + code = self.compile(source, filename, symbol) + except (OverflowError, SyntaxError, ValueError): + # Case 1 + self.showsyntaxerror(filename) + return False + + if code is None: + # Case 2 + return True + + # Case 3 + self.runcode(code) + return False + + def runcode(self, code): + """Execute a code object. + + When an exception occurs, self.showtraceback() is called to + display a traceback. All exceptions are caught except + SystemExit, which is reraised. + + A note about KeyboardInterrupt: this exception may occur + elsewhere in this code, and may not always be caught. The + caller should be prepared to deal with it. + + """ + try: + is_async = False + if hasattr(inspect, 'CO_COROUTINE'): + is_async = inspect.CO_COROUTINE & code.co_flags == inspect.CO_COROUTINE + + if is_async: + t = _EvalAwaitInNewEventLoop(code, self.locals, None) + t.start() + t.join() + + if t.exc: + raise t.exc[1].with_traceback(t.exc[2]) + + else: + exec(code, self.locals) + except SystemExit: + raise + except: + self.showtraceback() + + def showsyntaxerror(self, filename=None): + """Display the syntax error that just occurred. + + This doesn't display a stack trace because there isn't one. + + If a filename is given, it is stuffed in the exception instead + of what was there before (because Python's parser always uses + "" when reading from a string). + + The output is written by self.write(), below. + + """ + type, value, tb = sys.exc_info() + sys.last_type = type + sys.last_value = value + sys.last_traceback = tb + if filename and type is SyntaxError: + # Work hard to stuff the correct filename in the exception + try: + msg, (dummy_filename, lineno, offset, line) = value.args + except ValueError: + # Not the format we expect; leave it alone + pass + else: + # Stuff in the right filename + value = SyntaxError(msg, (filename, lineno, offset, line)) + sys.last_value = value + if sys.excepthook is sys.__excepthook__: + lines = traceback.format_exception_only(type, value) + self.write(''.join(lines)) + else: + # If someone has set sys.excepthook, we let that take precedence + # over self.write + sys.excepthook(type, value, tb) + + def showtraceback(self): + """Display the exception that just occurred. + + We remove the first stack item because it is our own code. + + The output is written by self.write(), below. + + """ + sys.last_type, sys.last_value, last_tb = ei = sys.exc_info() + sys.last_traceback = last_tb + try: + lines = traceback.format_exception(ei[0], ei[1], last_tb.tb_next) + if sys.excepthook is sys.__excepthook__: + self.write(''.join(lines)) + else: + # If someone has set sys.excepthook, we let that take precedence + # over self.write + sys.excepthook(ei[0], ei[1], last_tb) + finally: + last_tb = ei = None + + def write(self, data): + """Write a string. + + The base implementation writes to sys.stderr; a subclass may + replace this with a different implementation. + + """ + sys.stderr.write(data) + + +class InteractiveConsole(InteractiveInterpreter): + """Closely emulate the behavior of the interactive Python interpreter. + + This class builds on InteractiveInterpreter and adds prompting + using the familiar sys.ps1 and sys.ps2, and input buffering. + + """ + + def __init__(self, locals=None, filename=""): + """Constructor. + + The optional locals argument will be passed to the + InteractiveInterpreter base class. + + The optional filename argument should specify the (file)name + of the input stream; it will show up in tracebacks. + + """ + InteractiveInterpreter.__init__(self, locals) + self.filename = filename + self.resetbuffer() + + def resetbuffer(self): + """Reset the input buffer.""" + self.buffer = [] + + def interact(self, banner=None, exitmsg=None): + """Closely emulate the interactive Python console. + + The optional banner argument specifies the banner to print + before the first interaction; by default it prints a banner + similar to the one printed by the real Python interpreter, + followed by the current class name in parentheses (so as not + to confuse this with the real interpreter -- since it's so + close!). + + The optional exitmsg argument specifies the exit message + printed when exiting. Pass the empty string to suppress + printing an exit message. If exitmsg is not given or None, + a default message is printed. + + """ + try: + sys.ps1 + except AttributeError: + sys.ps1 = ">>> " + try: + sys.ps2 + except AttributeError: + sys.ps2 = "... " + cprt = 'Type "help", "copyright", "credits" or "license" for more information.' + if banner is None: + self.write("Python %s on %s\n%s\n(%s)\n" % + (sys.version, sys.platform, cprt, + self.__class__.__name__)) + elif banner: + self.write("%s\n" % str(banner)) + more = 0 + while 1: + try: + if more: + prompt = sys.ps2 + else: + prompt = sys.ps1 + try: + line = self.raw_input(prompt) + except EOFError: + self.write("\n") + break + else: + more = self.push(line) + except KeyboardInterrupt: + self.write("\nKeyboardInterrupt\n") + self.resetbuffer() + more = 0 + if exitmsg is None: + self.write('now exiting %s...\n' % self.__class__.__name__) + elif exitmsg != '': + self.write('%s\n' % exitmsg) + + def push(self, line): + """Push a line to the interpreter. + + The line should not have a trailing newline; it may have + internal newlines. The line is appended to a buffer and the + interpreter's runsource() method is called with the + concatenated contents of the buffer as source. If this + indicates that the command was executed or invalid, the buffer + is reset; otherwise, the command is incomplete, and the buffer + is left as it was after the line was appended. The return + value is 1 if more input is required, 0 if the line was dealt + with in some way (this is the same as runsource()). + + """ + self.buffer.append(line) + source = "\n".join(self.buffer) + more = self.runsource(source, self.filename) + if not more: + self.resetbuffer() + return more + + def raw_input(self, prompt=""): + """Write a prompt and read a line. + + The returned line does not include the trailing newline. + When the user enters the EOF key sequence, EOFError is raised. + + The base implementation uses the built-in function + input(); a subclass may replace this with a different + implementation. + + """ + return input(prompt) + + +def interact(banner=None, readfunc=None, local=None, exitmsg=None): + """Closely emulate the interactive Python interpreter. + + This is a backwards compatible interface to the InteractiveConsole + class. When readfunc is not specified, it attempts to import the + readline module to enable GNU readline if it is available. + + Arguments (all optional, all default to None): + + banner -- passed to InteractiveConsole.interact() + readfunc -- if not None, replaces InteractiveConsole.raw_input() + local -- passed to InteractiveInterpreter.__init__() + exitmsg -- passed to InteractiveConsole.interact() + + """ + console = InteractiveConsole(local) + if readfunc is not None: + console.raw_input = readfunc + else: + try: + import readline + except ImportError: + pass + console.interact(banner, exitmsg) + + +if __name__ == "__main__": + import argparse + + parser = argparse.ArgumentParser() + parser.add_argument('-q', action='store_true', + help="don't print version and copyright messages") + args = parser.parse_args() + if args.q or sys.flags.quiet: + banner = '' + else: + banner = None + interact(banner) diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_additional_thread_info.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_additional_thread_info.py new file mode 120000 index 0000000..8fb5b3f --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_additional_thread_info.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/14/fe/7b/a26cf82b68ab86e7f9ce5452b46a052e096cc3d99cc124be8ac2754bc2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_additional_thread_info_regular.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_additional_thread_info_regular.py new file mode 100644 index 0000000..2ed1313 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_additional_thread_info_regular.py @@ -0,0 +1,153 @@ +from _pydevd_bundle.pydevd_constants import (STATE_RUN, PYTHON_SUSPEND, SUPPORT_GEVENT, ForkSafeLock, + _current_frames) +from _pydev_bundle import pydev_log +# IFDEF CYTHON +# pydev_log.debug("Using Cython speedups") +# ELSE +from _pydevd_bundle.pydevd_frame import PyDBFrame +# ENDIF + +version = 11 + + +#======================================================================================================================= +# PyDBAdditionalThreadInfo +#======================================================================================================================= +# IFDEF CYTHON +# cdef class PyDBAdditionalThreadInfo: +# ELSE +class PyDBAdditionalThreadInfo(object): +# ENDIF + + # Note: the params in cython are declared in pydevd_cython.pxd. + # IFDEF CYTHON + # ELSE + __slots__ = [ + 'pydev_state', + 'pydev_step_stop', + 'pydev_original_step_cmd', + 'pydev_step_cmd', + 'pydev_notify_kill', + 'pydev_django_resolve_frame', + 'pydev_call_from_jinja2', + 'pydev_call_inside_jinja2', + 'is_tracing', + 'conditional_breakpoint_exception', + 'pydev_message', + 'suspend_type', + 'pydev_next_line', + 'pydev_func_name', + 'suspended_at_unhandled', + 'trace_suspend_type', + 'top_level_thread_tracer_no_back_frames', + 'top_level_thread_tracer_unhandled', + 'thread_tracer', + 'step_in_initial_location', + + # Used for CMD_SMART_STEP_INTO (to know which smart step into variant to use) + 'pydev_smart_parent_offset', + 'pydev_smart_child_offset', + + # Used for CMD_SMART_STEP_INTO (list[_pydevd_bundle.pydevd_bytecode_utils.Variant]) + # Filled when the cmd_get_smart_step_into_variants is requested (so, this is a copy + # of the last request for a given thread and pydev_smart_parent_offset/pydev_smart_child_offset relies on it). + 'pydev_smart_step_into_variants', + 'target_id_to_smart_step_into_variant', + + 'pydev_use_scoped_step_frame', + ] + # ENDIF + + def __init__(self): + self.pydev_state = STATE_RUN # STATE_RUN or STATE_SUSPEND + self.pydev_step_stop = None + + # Note: we have `pydev_original_step_cmd` and `pydev_step_cmd` because the original is to + # say the action that started it and the other is to say what's the current tracing behavior + # (because it's possible that we start with a step over but may have to switch to a + # different step strategy -- for instance, if a step over is done and we return the current + # method the strategy is changed to a step in). + + self.pydev_original_step_cmd = -1 # Something as CMD_STEP_INTO, CMD_STEP_OVER, etc. + self.pydev_step_cmd = -1 # Something as CMD_STEP_INTO, CMD_STEP_OVER, etc. + + self.pydev_notify_kill = False + self.pydev_django_resolve_frame = False + self.pydev_call_from_jinja2 = None + self.pydev_call_inside_jinja2 = None + self.is_tracing = 0 + self.conditional_breakpoint_exception = None + self.pydev_message = '' + self.suspend_type = PYTHON_SUSPEND + self.pydev_next_line = -1 + self.pydev_func_name = '.invalid.' # Must match the type in cython + self.suspended_at_unhandled = False + self.trace_suspend_type = 'trace' # 'trace' or 'frame_eval' + self.top_level_thread_tracer_no_back_frames = [] + self.top_level_thread_tracer_unhandled = None + self.thread_tracer = None + self.step_in_initial_location = None + self.pydev_smart_parent_offset = -1 + self.pydev_smart_child_offset = -1 + self.pydev_smart_step_into_variants = () + self.target_id_to_smart_step_into_variant = {} + + # Flag to indicate ipython use-case where each line will be executed as a call/line/return + # in a new new frame but in practice we want to consider each new frame as if it was all + # part of the same frame. + # + # In practice this means that a step over shouldn't revert to a step in and we need some + # special logic to know when we should stop in a step over as we need to consider 2 + # different frames as being equal if they're logically the continuation of a frame + # being executed by ipython line by line. + # + # See: https://github.com/microsoft/debugpy/issues/869#issuecomment-1132141003 + self.pydev_use_scoped_step_frame = False + + def get_topmost_frame(self, thread): + ''' + Gets the topmost frame for the given thread. Note that it may be None + and callers should remove the reference to the frame as soon as possible + to avoid disturbing user code. + ''' + # sys._current_frames(): dictionary with thread id -> topmost frame + current_frames = _current_frames() + topmost_frame = current_frames.get(thread.ident) + if topmost_frame is None: + # Note: this is expected for dummy threads (so, getting the topmost frame should be + # treated as optional). + pydev_log.info( + 'Unable to get topmost frame for thread: %s, thread.ident: %s, id(thread): %s\nCurrent frames: %s.\n' + 'GEVENT_SUPPORT: %s', + thread, + thread.ident, + id(thread), + current_frames, + SUPPORT_GEVENT, + ) + + return topmost_frame + + def __str__(self): + return 'State:%s Stop:%s Cmd: %s Kill:%s' % ( + self.pydev_state, self.pydev_step_stop, self.pydev_step_cmd, self.pydev_notify_kill) + + +_set_additional_thread_info_lock = ForkSafeLock() + + +def set_additional_thread_info(thread): + try: + additional_info = thread.additional_info + if additional_info is None: + raise AttributeError() + except: + with _set_additional_thread_info_lock: + # If it's not there, set it within a lock to avoid any racing + # conditions. + additional_info = getattr(thread, 'additional_info', None) + if additional_info is None: + additional_info = PyDBAdditionalThreadInfo() + thread.additional_info = additional_info + + return additional_info diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_api.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_api.py new file mode 100644 index 0000000..28a28d6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_api.py @@ -0,0 +1,1141 @@ +import sys +import bisect +import types + +from _pydev_bundle._pydev_saved_modules import threading +from _pydevd_bundle import pydevd_utils, pydevd_source_mapping +from _pydevd_bundle.pydevd_additional_thread_info import set_additional_thread_info +from _pydevd_bundle.pydevd_comm import (InternalGetThreadStack, internal_get_completions, + InternalSetNextStatementThread, internal_reload_code, + InternalGetVariable, InternalGetArray, InternalLoadFullValue, + internal_get_description, internal_get_frame, internal_evaluate_expression, InternalConsoleExec, + internal_get_variable_json, internal_change_variable, internal_change_variable_json, + internal_evaluate_expression_json, internal_set_expression_json, internal_get_exception_details_json, + internal_step_in_thread, internal_smart_step_into) +from _pydevd_bundle.pydevd_comm_constants import (CMD_THREAD_SUSPEND, file_system_encoding, + CMD_STEP_INTO_MY_CODE, CMD_STOP_ON_START, CMD_SMART_STEP_INTO) +from _pydevd_bundle.pydevd_constants import (get_current_thread_id, set_protocol, get_protocol, + HTTP_JSON_PROTOCOL, JSON_PROTOCOL, DebugInfoHolder, IS_WINDOWS) +from _pydevd_bundle.pydevd_net_command_factory_json import NetCommandFactoryJson +from _pydevd_bundle.pydevd_net_command_factory_xml import NetCommandFactory +import pydevd_file_utils +from _pydev_bundle import pydev_log +from _pydevd_bundle.pydevd_breakpoints import LineBreakpoint +from pydevd_tracing import get_exception_traceback_str +import os +import subprocess +import ctypes +from _pydevd_bundle.pydevd_collect_bytecode_info import code_to_bytecode_representation +import itertools +import linecache +from _pydevd_bundle.pydevd_utils import DAPGrouper +from _pydevd_bundle.pydevd_daemon_thread import run_as_pydevd_daemon_thread +from _pydevd_bundle.pydevd_thread_lifecycle import pydevd_find_thread_by_id, resume_threads +import tokenize + +try: + import dis +except ImportError: + + def _get_code_lines(code): + raise NotImplementedError + +else: + + def _get_code_lines(code): + if not isinstance(code, types.CodeType): + path = code + with tokenize.open(path) as f: + src = f.read() + code = compile(src, path, 'exec', 0, dont_inherit=True) + return _get_code_lines(code) + + def iterate(): + # First, get all line starts for this code object. This does not include + # bodies of nested class and function definitions, as they have their + # own objects. + for _, lineno in dis.findlinestarts(code): + yield lineno + + # For nested class and function definitions, their respective code objects + # are constants referenced by this object. + for const in code.co_consts: + if isinstance(const, types.CodeType) and const.co_filename == code.co_filename: + for lineno in _get_code_lines(const): + yield lineno + + return iterate() + + +class PyDevdAPI(object): + + class VariablePresentation(object): + + def __init__(self, special='group', function='group', class_='group', protected='inline'): + self._presentation = { + DAPGrouper.SCOPE_SPECIAL_VARS: special, + DAPGrouper.SCOPE_FUNCTION_VARS: function, + DAPGrouper.SCOPE_CLASS_VARS: class_, + DAPGrouper.SCOPE_PROTECTED_VARS: protected, + } + + def get_presentation(self, scope): + return self._presentation[scope] + + def run(self, py_db): + py_db.ready_to_run = True + + def notify_initialize(self, py_db): + py_db.on_initialize() + + def notify_configuration_done(self, py_db): + py_db.on_configuration_done() + + def notify_disconnect(self, py_db): + py_db.on_disconnect() + + def set_protocol(self, py_db, seq, protocol): + set_protocol(protocol.strip()) + if get_protocol() in (HTTP_JSON_PROTOCOL, JSON_PROTOCOL): + cmd_factory_class = NetCommandFactoryJson + else: + cmd_factory_class = NetCommandFactory + + if not isinstance(py_db.cmd_factory, cmd_factory_class): + py_db.cmd_factory = cmd_factory_class() + + return py_db.cmd_factory.make_protocol_set_message(seq) + + def set_ide_os_and_breakpoints_by(self, py_db, seq, ide_os, breakpoints_by): + ''' + :param ide_os: 'WINDOWS' or 'UNIX' + :param breakpoints_by: 'ID' or 'LINE' + ''' + if breakpoints_by == 'ID': + py_db._set_breakpoints_with_id = True + else: + py_db._set_breakpoints_with_id = False + + self.set_ide_os(ide_os) + + return py_db.cmd_factory.make_version_message(seq) + + def set_ide_os(self, ide_os): + ''' + :param ide_os: 'WINDOWS' or 'UNIX' + ''' + pydevd_file_utils.set_ide_os(ide_os) + + def set_gui_event_loop(self, py_db, gui_event_loop): + py_db._gui_event_loop = gui_event_loop + + def send_error_message(self, py_db, msg): + cmd = py_db.cmd_factory.make_warning_message('pydevd: %s\n' % (msg,)) + py_db.writer.add_command(cmd) + + def set_show_return_values(self, py_db, show_return_values): + if show_return_values: + py_db.show_return_values = True + else: + if py_db.show_return_values: + # We should remove saved return values + py_db.remove_return_values_flag = True + py_db.show_return_values = False + pydev_log.debug("Show return values: %s", py_db.show_return_values) + + def list_threads(self, py_db, seq): + # Response is the command with the list of threads to be added to the writer thread. + return py_db.cmd_factory.make_list_threads_message(py_db, seq) + + def request_suspend_thread(self, py_db, thread_id='*'): + # Yes, thread suspend is done at this point, not through an internal command. + threads = [] + suspend_all = thread_id.strip() == '*' + if suspend_all: + threads = pydevd_utils.get_non_pydevd_threads() + + elif thread_id.startswith('__frame__:'): + sys.stderr.write("Can't suspend tasklet: %s\n" % (thread_id,)) + + else: + threads = [pydevd_find_thread_by_id(thread_id)] + + for t in threads: + if t is None: + continue + py_db.set_suspend( + t, + CMD_THREAD_SUSPEND, + suspend_other_threads=suspend_all, + is_pause=True, + ) + # Break here (even if it's suspend all) as py_db.set_suspend will + # take care of suspending other threads. + break + + def set_enable_thread_notifications(self, py_db, enable): + ''' + When disabled, no thread notifications (for creation/removal) will be + issued until it's re-enabled. + + Note that when it's re-enabled, a creation notification will be sent for + all existing threads even if it was previously sent (this is meant to + be used on disconnect/reconnect). + ''' + py_db.set_enable_thread_notifications(enable) + + def request_disconnect(self, py_db, resume_threads): + self.set_enable_thread_notifications(py_db, False) + self.remove_all_breakpoints(py_db, '*') + self.remove_all_exception_breakpoints(py_db) + self.notify_disconnect(py_db) + + if resume_threads: + self.request_resume_thread(thread_id='*') + + def request_resume_thread(self, thread_id): + resume_threads(thread_id) + + def request_completions(self, py_db, seq, thread_id, frame_id, act_tok, line=-1, column=-1): + py_db.post_method_as_internal_command( + thread_id, internal_get_completions, seq, thread_id, frame_id, act_tok, line=line, column=column) + + def request_stack(self, py_db, seq, thread_id, fmt=None, timeout=.5, start_frame=0, levels=0): + # If it's already suspended, get it right away. + internal_get_thread_stack = InternalGetThreadStack( + seq, thread_id, py_db, set_additional_thread_info, fmt=fmt, timeout=timeout, start_frame=start_frame, levels=levels) + if internal_get_thread_stack.can_be_executed_by(get_current_thread_id(threading.current_thread())): + internal_get_thread_stack.do_it(py_db) + else: + py_db.post_internal_command(internal_get_thread_stack, '*') + + def request_exception_info_json(self, py_db, request, thread_id, max_frames): + py_db.post_method_as_internal_command( + thread_id, + internal_get_exception_details_json, + request, + thread_id, + max_frames, + set_additional_thread_info=set_additional_thread_info, + iter_visible_frames_info=py_db.cmd_factory._iter_visible_frames_info, + ) + + def request_step(self, py_db, thread_id, step_cmd_id): + t = pydevd_find_thread_by_id(thread_id) + if t: + py_db.post_method_as_internal_command( + thread_id, + internal_step_in_thread, + thread_id, + step_cmd_id, + set_additional_thread_info=set_additional_thread_info, + ) + elif thread_id.startswith('__frame__:'): + sys.stderr.write("Can't make tasklet step command: %s\n" % (thread_id,)) + + def request_smart_step_into(self, py_db, seq, thread_id, offset, child_offset): + t = pydevd_find_thread_by_id(thread_id) + if t: + py_db.post_method_as_internal_command( + thread_id, internal_smart_step_into, thread_id, offset, child_offset, set_additional_thread_info=set_additional_thread_info) + elif thread_id.startswith('__frame__:'): + sys.stderr.write("Can't set next statement in tasklet: %s\n" % (thread_id,)) + + def request_smart_step_into_by_func_name(self, py_db, seq, thread_id, line, func_name): + # Same thing as set next, just with a different cmd id. + self.request_set_next(py_db, seq, thread_id, CMD_SMART_STEP_INTO, None, line, func_name) + + def request_set_next(self, py_db, seq, thread_id, set_next_cmd_id, original_filename, line, func_name): + ''' + set_next_cmd_id may actually be one of: + + CMD_RUN_TO_LINE + CMD_SET_NEXT_STATEMENT + + CMD_SMART_STEP_INTO -- note: request_smart_step_into is preferred if it's possible + to work with bytecode offset. + + :param Optional[str] original_filename: + If available, the filename may be source translated, otherwise no translation will take + place (the set next just needs the line afterwards as it executes locally, but for + the Jupyter integration, the source mapping may change the actual lines and not only + the filename). + ''' + t = pydevd_find_thread_by_id(thread_id) + if t: + if original_filename is not None: + translated_filename = self.filename_to_server(original_filename) # Apply user path mapping. + pydev_log.debug('Set next (after path translation) in: %s line: %s', translated_filename, line) + func_name = self.to_str(func_name) + + assert translated_filename.__class__ == str # i.e.: bytes on py2 and str on py3 + assert func_name.__class__ == str # i.e.: bytes on py2 and str on py3 + + # Apply source mapping (i.e.: ipython). + _source_mapped_filename, new_line, multi_mapping_applied = py_db.source_mapping.map_to_server( + translated_filename, line) + if multi_mapping_applied: + pydev_log.debug('Set next (after source mapping) in: %s line: %s', translated_filename, line) + line = new_line + + int_cmd = InternalSetNextStatementThread(thread_id, set_next_cmd_id, line, func_name, seq=seq) + py_db.post_internal_command(int_cmd, thread_id) + elif thread_id.startswith('__frame__:'): + sys.stderr.write("Can't set next statement in tasklet: %s\n" % (thread_id,)) + + def request_reload_code(self, py_db, seq, module_name, filename): + ''' + :param seq: if -1 no message will be sent back when the reload is done. + + Note: either module_name or filename may be None (but not both at the same time). + ''' + thread_id = '*' # Any thread + # Note: not going for the main thread because in this case it'd only do the load + # when we stopped on a breakpoint. + py_db.post_method_as_internal_command( + thread_id, internal_reload_code, seq, module_name, filename) + + def request_change_variable(self, py_db, seq, thread_id, frame_id, scope, attr, value): + ''' + :param scope: 'FRAME' or 'GLOBAL' + ''' + py_db.post_method_as_internal_command( + thread_id, internal_change_variable, seq, thread_id, frame_id, scope, attr, value) + + def request_get_variable(self, py_db, seq, thread_id, frame_id, scope, attrs): + ''' + :param scope: 'FRAME' or 'GLOBAL' + ''' + int_cmd = InternalGetVariable(seq, thread_id, frame_id, scope, attrs) + py_db.post_internal_command(int_cmd, thread_id) + + def request_get_array(self, py_db, seq, roffset, coffset, rows, cols, fmt, thread_id, frame_id, scope, attrs): + int_cmd = InternalGetArray(seq, roffset, coffset, rows, cols, fmt, thread_id, frame_id, scope, attrs) + py_db.post_internal_command(int_cmd, thread_id) + + def request_load_full_value(self, py_db, seq, thread_id, frame_id, vars): + int_cmd = InternalLoadFullValue(seq, thread_id, frame_id, vars) + py_db.post_internal_command(int_cmd, thread_id) + + def request_get_description(self, py_db, seq, thread_id, frame_id, expression): + py_db.post_method_as_internal_command( + thread_id, internal_get_description, seq, thread_id, frame_id, expression) + + def request_get_frame(self, py_db, seq, thread_id, frame_id): + py_db.post_method_as_internal_command( + thread_id, internal_get_frame, seq, thread_id, frame_id) + + def to_str(self, s): + ''' + -- in py3 raises an error if it's not str already. + ''' + if s.__class__ != str: + raise AssertionError('Expected to have str on Python 3. Found: %s (%s)' % (s, s.__class__)) + return s + + def filename_to_str(self, filename): + ''' + -- in py3 raises an error if it's not str already. + ''' + if filename.__class__ != str: + raise AssertionError('Expected to have str on Python 3. Found: %s (%s)' % (filename, filename.__class__)) + return filename + + def filename_to_server(self, filename): + filename = self.filename_to_str(filename) + filename = pydevd_file_utils.map_file_to_server(filename) + return filename + + class _DummyFrame(object): + ''' + Dummy frame to be used with PyDB.apply_files_filter (as we don't really have the + related frame as breakpoints are added before execution). + ''' + + class _DummyCode(object): + + def __init__(self, filename): + self.co_firstlineno = 1 + self.co_filename = filename + self.co_name = 'invalid func name ' + + def __init__(self, filename): + self.f_code = self._DummyCode(filename) + self.f_globals = {} + + ADD_BREAKPOINT_NO_ERROR = 0 + ADD_BREAKPOINT_FILE_NOT_FOUND = 1 + ADD_BREAKPOINT_FILE_EXCLUDED_BY_FILTERS = 2 + + # This means that the breakpoint couldn't be fully validated (more runtime + # information may be needed). + ADD_BREAKPOINT_LAZY_VALIDATION = 3 + ADD_BREAKPOINT_INVALID_LINE = 4 + + class _AddBreakpointResult(object): + + # :see: ADD_BREAKPOINT_NO_ERROR = 0 + # :see: ADD_BREAKPOINT_FILE_NOT_FOUND = 1 + # :see: ADD_BREAKPOINT_FILE_EXCLUDED_BY_FILTERS = 2 + # :see: ADD_BREAKPOINT_LAZY_VALIDATION = 3 + # :see: ADD_BREAKPOINT_INVALID_LINE = 4 + + __slots__ = ['error_code', 'breakpoint_id', 'translated_filename', 'translated_line', 'original_line'] + + def __init__(self, breakpoint_id, translated_filename, translated_line, original_line): + self.error_code = PyDevdAPI.ADD_BREAKPOINT_NO_ERROR + self.breakpoint_id = breakpoint_id + self.translated_filename = translated_filename + self.translated_line = translated_line + self.original_line = original_line + + def add_breakpoint( + self, py_db, original_filename, breakpoint_type, breakpoint_id, line, condition, func_name, + expression, suspend_policy, hit_condition, is_logpoint, adjust_line=False, on_changed_breakpoint_state=None): + ''' + :param str original_filename: + Note: must be sent as it was received in the protocol. It may be translated in this + function and its final value will be available in the returned _AddBreakpointResult. + + :param str breakpoint_type: + One of: 'python-line', 'django-line', 'jinja2-line'. + + :param int breakpoint_id: + + :param int line: + Note: it's possible that a new line was actually used. If that's the case its + final value will be available in the returned _AddBreakpointResult. + + :param condition: + Either None or the condition to activate the breakpoint. + + :param str func_name: + If "None" (str), may hit in any context. + Empty string will hit only top level. + Any other value must match the scope of the method to be matched. + + :param str expression: + None or the expression to be evaluated. + + :param suspend_policy: + Either "NONE" (to suspend only the current thread when the breakpoint is hit) or + "ALL" (to suspend all threads when a breakpoint is hit). + + :param str hit_condition: + An expression where `@HIT@` will be replaced by the number of hits. + i.e.: `@HIT@ == x` or `@HIT@ >= x` + + :param bool is_logpoint: + If True and an expression is passed, pydevd will create an io message command with the + result of the evaluation. + + :param bool adjust_line: + If True, the breakpoint line should be adjusted if the current line doesn't really + match an executable line (if possible). + + :param callable on_changed_breakpoint_state: + This is called when something changed internally on the breakpoint after it was initially + added (for instance, template file_to_line_to_breakpoints could be signaled as invalid initially and later + when the related template is loaded, if the line is valid it could be marked as valid). + + The signature for the callback should be: + on_changed_breakpoint_state(breakpoint_id: int, add_breakpoint_result: _AddBreakpointResult) + + Note that the add_breakpoint_result should not be modified by the callback (the + implementation may internally reuse the same instance multiple times). + + :return _AddBreakpointResult: + ''' + assert original_filename.__class__ == str, 'Expected str, found: %s' % (original_filename.__class__,) # i.e.: bytes on py2 and str on py3 + + original_filename_normalized = pydevd_file_utils.normcase_from_client(original_filename) + + pydev_log.debug('Request for breakpoint in: %s line: %s', original_filename, line) + original_line = line + # Parameters to reapply breakpoint. + api_add_breakpoint_params = (original_filename, breakpoint_type, breakpoint_id, line, condition, func_name, + expression, suspend_policy, hit_condition, is_logpoint) + + translated_filename = self.filename_to_server(original_filename) # Apply user path mapping. + pydev_log.debug('Breakpoint (after path translation) in: %s line: %s', translated_filename, line) + func_name = self.to_str(func_name) + + assert translated_filename.__class__ == str # i.e.: bytes on py2 and str on py3 + assert func_name.__class__ == str # i.e.: bytes on py2 and str on py3 + + # Apply source mapping (i.e.: ipython). + source_mapped_filename, new_line, multi_mapping_applied = py_db.source_mapping.map_to_server( + translated_filename, line) + + if multi_mapping_applied: + pydev_log.debug('Breakpoint (after source mapping) in: %s line: %s', source_mapped_filename, new_line) + # Note that source mapping is internal and does not change the resulting filename nor line + # (we want the outside world to see the line in the original file and not in the ipython + # cell, otherwise the editor wouldn't be correct as the returned line is the line to + # which the breakpoint will be moved in the editor). + result = self._AddBreakpointResult(breakpoint_id, original_filename, line, original_line) + + # If a multi-mapping was applied, consider it the canonical / source mapped version (translated to ipython cell). + translated_absolute_filename = source_mapped_filename + canonical_normalized_filename = pydevd_file_utils.normcase(source_mapped_filename) + line = new_line + + else: + translated_absolute_filename = pydevd_file_utils.absolute_path(translated_filename) + canonical_normalized_filename = pydevd_file_utils.canonical_normalized_path(translated_filename) + + if adjust_line and not translated_absolute_filename.startswith('<'): + # Validate file_to_line_to_breakpoints and adjust their positions. + try: + lines = sorted(_get_code_lines(translated_absolute_filename)) + except Exception: + pass + else: + if line not in lines: + # Adjust to the first preceding valid line. + idx = bisect.bisect_left(lines, line) + if idx > 0: + line = lines[idx - 1] + + result = self._AddBreakpointResult(breakpoint_id, original_filename, line, original_line) + + py_db.api_received_breakpoints[(original_filename_normalized, breakpoint_id)] = (canonical_normalized_filename, api_add_breakpoint_params) + + if not translated_absolute_filename.startswith('<'): + # Note: if a mapping pointed to a file starting with '<', don't validate. + + if not pydevd_file_utils.exists(translated_absolute_filename): + result.error_code = self.ADD_BREAKPOINT_FILE_NOT_FOUND + return result + + if ( + py_db.is_files_filter_enabled and + not py_db.get_require_module_for_filters() and + py_db.apply_files_filter(self._DummyFrame(translated_absolute_filename), translated_absolute_filename, False) + ): + # Note that if `get_require_module_for_filters()` returns False, we don't do this check. + # This is because we don't have the module name given a file at this point (in + # runtime it's gotten from the frame.f_globals). + # An option could be calculate it based on the filename and current sys.path, + # but on some occasions that may be wrong (for instance with `__main__` or if + # the user dynamically changes the PYTHONPATH). + + # Note: depending on the use-case, filters may be changed, so, keep on going and add the + # breakpoint even with the error code. + result.error_code = self.ADD_BREAKPOINT_FILE_EXCLUDED_BY_FILTERS + + if breakpoint_type == 'python-line': + added_breakpoint = LineBreakpoint( + breakpoint_id, line, condition, func_name, expression, suspend_policy, hit_condition=hit_condition, is_logpoint=is_logpoint) + + file_to_line_to_breakpoints = py_db.breakpoints + file_to_id_to_breakpoint = py_db.file_to_id_to_line_breakpoint + supported_type = True + + else: + add_plugin_breakpoint_result = None + plugin = py_db.get_plugin_lazy_init() + if plugin is not None: + add_plugin_breakpoint_result = plugin.add_breakpoint( + 'add_line_breakpoint', py_db, breakpoint_type, canonical_normalized_filename, + breakpoint_id, line, condition, expression, func_name, hit_condition=hit_condition, is_logpoint=is_logpoint, + add_breakpoint_result=result, on_changed_breakpoint_state=on_changed_breakpoint_state) + + if add_plugin_breakpoint_result is not None: + supported_type = True + added_breakpoint, file_to_line_to_breakpoints = add_plugin_breakpoint_result + file_to_id_to_breakpoint = py_db.file_to_id_to_plugin_breakpoint + else: + supported_type = False + + if not supported_type: + raise NameError(breakpoint_type) + + if DebugInfoHolder.DEBUG_TRACE_BREAKPOINTS > 0: + pydev_log.debug('Added breakpoint:%s - line:%s - func_name:%s\n', canonical_normalized_filename, line, func_name) + + if canonical_normalized_filename in file_to_id_to_breakpoint: + id_to_pybreakpoint = file_to_id_to_breakpoint[canonical_normalized_filename] + else: + id_to_pybreakpoint = file_to_id_to_breakpoint[canonical_normalized_filename] = {} + + id_to_pybreakpoint[breakpoint_id] = added_breakpoint + py_db.consolidate_breakpoints(canonical_normalized_filename, id_to_pybreakpoint, file_to_line_to_breakpoints) + if py_db.plugin is not None: + py_db.has_plugin_line_breaks = py_db.plugin.has_line_breaks() + py_db.plugin.after_breakpoints_consolidated(py_db, canonical_normalized_filename, id_to_pybreakpoint, file_to_line_to_breakpoints) + + py_db.on_breakpoints_changed() + return result + + def reapply_breakpoints(self, py_db): + ''' + Reapplies all the received breakpoints as they were received by the API (so, new + translations are applied). + ''' + pydev_log.debug('Reapplying breakpoints.') + values = list(py_db.api_received_breakpoints.values()) # Create a copy with items to reapply. + self.remove_all_breakpoints(py_db, '*') + for val in values: + _new_filename, api_add_breakpoint_params = val + self.add_breakpoint(py_db, *api_add_breakpoint_params) + + def remove_all_breakpoints(self, py_db, received_filename): + ''' + Removes all the breakpoints from a given file or from all files if received_filename == '*'. + + :param str received_filename: + Note: must be sent as it was received in the protocol. It may be translated in this + function. + ''' + assert received_filename.__class__ == str # i.e.: bytes on py2 and str on py3 + changed = False + lst = [ + py_db.file_to_id_to_line_breakpoint, + py_db.file_to_id_to_plugin_breakpoint, + py_db.breakpoints + ] + if hasattr(py_db, 'django_breakpoints'): + lst.append(py_db.django_breakpoints) + + if hasattr(py_db, 'jinja2_breakpoints'): + lst.append(py_db.jinja2_breakpoints) + + if received_filename == '*': + py_db.api_received_breakpoints.clear() + + for file_to_id_to_breakpoint in lst: + if file_to_id_to_breakpoint: + file_to_id_to_breakpoint.clear() + changed = True + + else: + received_filename_normalized = pydevd_file_utils.normcase_from_client(received_filename) + items = list(py_db.api_received_breakpoints.items()) # Create a copy to remove items. + translated_filenames = [] + for key, val in items: + original_filename_normalized, _breakpoint_id = key + if original_filename_normalized == received_filename_normalized: + canonical_normalized_filename, _api_add_breakpoint_params = val + # Note: there can be actually 1:N mappings due to source mapping (i.e.: ipython). + translated_filenames.append(canonical_normalized_filename) + del py_db.api_received_breakpoints[key] + + for canonical_normalized_filename in translated_filenames: + for file_to_id_to_breakpoint in lst: + if canonical_normalized_filename in file_to_id_to_breakpoint: + file_to_id_to_breakpoint.pop(canonical_normalized_filename, None) + changed = True + + if changed: + py_db.on_breakpoints_changed(removed=True) + + def remove_breakpoint(self, py_db, received_filename, breakpoint_type, breakpoint_id): + ''' + :param str received_filename: + Note: must be sent as it was received in the protocol. It may be translated in this + function. + + :param str breakpoint_type: + One of: 'python-line', 'django-line', 'jinja2-line'. + + :param int breakpoint_id: + ''' + received_filename_normalized = pydevd_file_utils.normcase_from_client(received_filename) + for key, val in list(py_db.api_received_breakpoints.items()): + original_filename_normalized, existing_breakpoint_id = key + _new_filename, _api_add_breakpoint_params = val + if received_filename_normalized == original_filename_normalized and existing_breakpoint_id == breakpoint_id: + del py_db.api_received_breakpoints[key] + break + else: + pydev_log.info( + 'Did not find breakpoint to remove: %s (breakpoint id: %s)', received_filename, breakpoint_id) + + file_to_id_to_breakpoint = None + received_filename = self.filename_to_server(received_filename) + canonical_normalized_filename = pydevd_file_utils.canonical_normalized_path(received_filename) + + if breakpoint_type == 'python-line': + file_to_line_to_breakpoints = py_db.breakpoints + file_to_id_to_breakpoint = py_db.file_to_id_to_line_breakpoint + + elif py_db.plugin is not None: + result = py_db.plugin.get_breakpoints(py_db, breakpoint_type) + if result is not None: + file_to_id_to_breakpoint = py_db.file_to_id_to_plugin_breakpoint + file_to_line_to_breakpoints = result + + if file_to_id_to_breakpoint is None: + pydev_log.critical('Error removing breakpoint. Cannot handle breakpoint of type %s', breakpoint_type) + + else: + try: + id_to_pybreakpoint = file_to_id_to_breakpoint.get(canonical_normalized_filename, {}) + if DebugInfoHolder.DEBUG_TRACE_BREAKPOINTS > 0: + existing = id_to_pybreakpoint[breakpoint_id] + pydev_log.info('Removed breakpoint:%s - line:%s - func_name:%s (id: %s)\n' % ( + canonical_normalized_filename, existing.line, existing.func_name.encode('utf-8'), breakpoint_id)) + + del id_to_pybreakpoint[breakpoint_id] + py_db.consolidate_breakpoints(canonical_normalized_filename, id_to_pybreakpoint, file_to_line_to_breakpoints) + if py_db.plugin is not None: + py_db.has_plugin_line_breaks = py_db.plugin.has_line_breaks() + py_db.plugin.after_breakpoints_consolidated(py_db, canonical_normalized_filename, id_to_pybreakpoint, file_to_line_to_breakpoints) + + except KeyError: + pydev_log.info("Error removing breakpoint: Breakpoint id not found: %s id: %s. Available ids: %s\n", + canonical_normalized_filename, breakpoint_id, list(id_to_pybreakpoint)) + + py_db.on_breakpoints_changed(removed=True) + + def set_function_breakpoints(self, py_db, function_breakpoints): + function_breakpoint_name_to_breakpoint = {} + for function_breakpoint in function_breakpoints: + function_breakpoint_name_to_breakpoint[function_breakpoint.func_name] = function_breakpoint + + py_db.function_breakpoint_name_to_breakpoint = function_breakpoint_name_to_breakpoint + py_db.on_breakpoints_changed() + + def request_exec_or_evaluate( + self, py_db, seq, thread_id, frame_id, expression, is_exec, trim_if_too_big, attr_to_set_result): + py_db.post_method_as_internal_command( + thread_id, internal_evaluate_expression, + seq, thread_id, frame_id, expression, is_exec, trim_if_too_big, attr_to_set_result) + + def request_exec_or_evaluate_json( + self, py_db, request, thread_id): + py_db.post_method_as_internal_command( + thread_id, internal_evaluate_expression_json, request, thread_id) + + def request_set_expression_json(self, py_db, request, thread_id): + py_db.post_method_as_internal_command( + thread_id, internal_set_expression_json, request, thread_id) + + def request_console_exec(self, py_db, seq, thread_id, frame_id, expression): + int_cmd = InternalConsoleExec(seq, thread_id, frame_id, expression) + py_db.post_internal_command(int_cmd, thread_id) + + def request_load_source(self, py_db, seq, filename): + ''' + :param str filename: + Note: must be sent as it was received in the protocol. It may be translated in this + function. + ''' + try: + filename = self.filename_to_server(filename) + assert filename.__class__ == str # i.e.: bytes on py2 and str on py3 + + with tokenize.open(filename) as stream: + source = stream.read() + cmd = py_db.cmd_factory.make_load_source_message(seq, source) + except: + cmd = py_db.cmd_factory.make_error_message(seq, get_exception_traceback_str()) + + py_db.writer.add_command(cmd) + + def get_decompiled_source_from_frame_id(self, py_db, frame_id): + ''' + :param py_db: + :param frame_id: + :throws Exception: + If unable to get the frame in the currently paused frames or if some error happened + when decompiling. + ''' + variable = py_db.suspended_frames_manager.get_variable(int(frame_id)) + frame = variable.value + + # Check if it's in the linecache first. + lines = (linecache.getline(frame.f_code.co_filename, i) for i in itertools.count(1)) + lines = itertools.takewhile(bool, lines) # empty lines are '\n', EOF is '' + + source = ''.join(lines) + if not source: + source = code_to_bytecode_representation(frame.f_code) + + return source + + def request_load_source_from_frame_id(self, py_db, seq, frame_id): + try: + source = self.get_decompiled_source_from_frame_id(py_db, frame_id) + cmd = py_db.cmd_factory.make_load_source_from_frame_id_message(seq, source) + except: + cmd = py_db.cmd_factory.make_error_message(seq, get_exception_traceback_str()) + + py_db.writer.add_command(cmd) + + def add_python_exception_breakpoint( + self, + py_db, + exception, + condition, + expression, + notify_on_handled_exceptions, + notify_on_unhandled_exceptions, + notify_on_user_unhandled_exceptions, + notify_on_first_raise_only, + ignore_libraries, + ): + exception_breakpoint = py_db.add_break_on_exception( + exception, + condition=condition, + expression=expression, + notify_on_handled_exceptions=notify_on_handled_exceptions, + notify_on_unhandled_exceptions=notify_on_unhandled_exceptions, + notify_on_user_unhandled_exceptions=notify_on_user_unhandled_exceptions, + notify_on_first_raise_only=notify_on_first_raise_only, + ignore_libraries=ignore_libraries, + ) + + if exception_breakpoint is not None: + py_db.on_breakpoints_changed() + + def add_plugins_exception_breakpoint(self, py_db, breakpoint_type, exception): + supported_type = False + plugin = py_db.get_plugin_lazy_init() + if plugin is not None: + supported_type = plugin.add_breakpoint('add_exception_breakpoint', py_db, breakpoint_type, exception) + + if supported_type: + py_db.has_plugin_exception_breaks = py_db.plugin.has_exception_breaks() + py_db.on_breakpoints_changed() + else: + raise NameError(breakpoint_type) + + def remove_python_exception_breakpoint(self, py_db, exception): + try: + cp = py_db.break_on_uncaught_exceptions.copy() + cp.pop(exception, None) + py_db.break_on_uncaught_exceptions = cp + + cp = py_db.break_on_caught_exceptions.copy() + cp.pop(exception, None) + py_db.break_on_caught_exceptions = cp + + cp = py_db.break_on_user_uncaught_exceptions.copy() + cp.pop(exception, None) + py_db.break_on_user_uncaught_exceptions = cp + except: + pydev_log.exception("Error while removing exception %s", sys.exc_info()[0]) + + py_db.on_breakpoints_changed(removed=True) + + def remove_plugins_exception_breakpoint(self, py_db, exception_type, exception): + # I.e.: no need to initialize lazy (if we didn't have it in the first place, we can't remove + # anything from it anyways). + plugin = py_db.plugin + if plugin is None: + return + + supported_type = plugin.remove_exception_breakpoint(py_db, exception_type, exception) + + if supported_type: + py_db.has_plugin_exception_breaks = py_db.plugin.has_exception_breaks() + else: + pydev_log.info('No exception of type: %s was previously registered.', exception_type) + + py_db.on_breakpoints_changed(removed=True) + + def remove_all_exception_breakpoints(self, py_db): + py_db.break_on_uncaught_exceptions = {} + py_db.break_on_caught_exceptions = {} + py_db.break_on_user_uncaught_exceptions = {} + + plugin = py_db.plugin + if plugin is not None: + plugin.remove_all_exception_breakpoints(py_db) + py_db.on_breakpoints_changed(removed=True) + + def set_project_roots(self, py_db, project_roots): + ''' + :param str project_roots: + ''' + py_db.set_project_roots(project_roots) + + def set_stepping_resumes_all_threads(self, py_db, stepping_resumes_all_threads): + py_db.stepping_resumes_all_threads = stepping_resumes_all_threads + + # Add it to the namespace so that it's available as PyDevdAPI.ExcludeFilter + from _pydevd_bundle.pydevd_filtering import ExcludeFilter # noqa + + def set_exclude_filters(self, py_db, exclude_filters): + ''' + :param list(PyDevdAPI.ExcludeFilter) exclude_filters: + ''' + py_db.set_exclude_filters(exclude_filters) + + def set_use_libraries_filter(self, py_db, use_libraries_filter): + py_db.set_use_libraries_filter(use_libraries_filter) + + def request_get_variable_json(self, py_db, request, thread_id): + ''' + :param VariablesRequest request: + ''' + py_db.post_method_as_internal_command( + thread_id, internal_get_variable_json, request) + + def request_change_variable_json(self, py_db, request, thread_id): + ''' + :param SetVariableRequest request: + ''' + py_db.post_method_as_internal_command( + thread_id, internal_change_variable_json, request) + + def set_dont_trace_start_end_patterns(self, py_db, start_patterns, end_patterns): + # Note: start/end patterns normalized internally. + start_patterns = tuple(pydevd_file_utils.normcase(x) for x in start_patterns) + end_patterns = tuple(pydevd_file_utils.normcase(x) for x in end_patterns) + + # After it's set the first time, we can still change it, but we need to reset the + # related caches. + reset_caches = False + dont_trace_start_end_patterns_previously_set = \ + py_db.dont_trace_external_files.__name__ == 'custom_dont_trace_external_files' + + if not dont_trace_start_end_patterns_previously_set and not start_patterns and not end_patterns: + # If it wasn't set previously and start and end patterns are empty we don't need to do anything. + return + + if not py_db.is_cache_file_type_empty(): + # i.e.: custom function set in set_dont_trace_start_end_patterns. + if dont_trace_start_end_patterns_previously_set: + reset_caches = py_db.dont_trace_external_files.start_patterns != start_patterns or \ + py_db.dont_trace_external_files.end_patterns != end_patterns + + else: + reset_caches = True + + def custom_dont_trace_external_files(abs_path): + normalized_abs_path = pydevd_file_utils.normcase(abs_path) + return normalized_abs_path.startswith(start_patterns) or normalized_abs_path.endswith(end_patterns) + + custom_dont_trace_external_files.start_patterns = start_patterns + custom_dont_trace_external_files.end_patterns = end_patterns + py_db.dont_trace_external_files = custom_dont_trace_external_files + + if reset_caches: + py_db.clear_dont_trace_start_end_patterns_caches() + + def stop_on_entry(self): + main_thread = pydevd_utils.get_main_thread() + if main_thread is None: + pydev_log.critical('Could not find main thread while setting Stop on Entry.') + else: + info = set_additional_thread_info(main_thread) + info.pydev_original_step_cmd = CMD_STOP_ON_START + info.pydev_step_cmd = CMD_STEP_INTO_MY_CODE + + def set_ignore_system_exit_codes(self, py_db, ignore_system_exit_codes): + py_db.set_ignore_system_exit_codes(ignore_system_exit_codes) + + SourceMappingEntry = pydevd_source_mapping.SourceMappingEntry + + def set_source_mapping(self, py_db, source_filename, mapping): + ''' + :param str source_filename: + The filename for the source mapping (bytes on py2 and str on py3). + This filename will be made absolute in this function. + + :param list(SourceMappingEntry) mapping: + A list with the source mapping entries to be applied to the given filename. + + :return str: + An error message if it was not possible to set the mapping or an empty string if + everything is ok. + ''' + source_filename = self.filename_to_server(source_filename) + absolute_source_filename = pydevd_file_utils.absolute_path(source_filename) + for map_entry in mapping: + map_entry.source_filename = absolute_source_filename + error_msg = py_db.source_mapping.set_source_mapping(absolute_source_filename, mapping) + if error_msg: + return error_msg + + self.reapply_breakpoints(py_db) + return '' + + def set_variable_presentation(self, py_db, variable_presentation): + assert isinstance(variable_presentation, self.VariablePresentation) + py_db.variable_presentation = variable_presentation + + def get_ppid(self): + ''' + Provides the parent pid (even for older versions of Python on Windows). + ''' + ppid = None + + try: + ppid = os.getppid() + except AttributeError: + pass + + if ppid is None and IS_WINDOWS: + ppid = self._get_windows_ppid() + + return ppid + + def _get_windows_ppid(self): + this_pid = os.getpid() + for ppid, pid in _list_ppid_and_pid(): + if pid == this_pid: + return ppid + + return None + + def _terminate_child_processes_windows(self, dont_terminate_child_pids): + this_pid = os.getpid() + for _ in range(50): # Try this at most 50 times before giving up. + + # Note: we can't kill the process itself with taskkill, so, we + # list immediate children, kill that tree and then exit this process. + + children_pids = [] + for ppid, pid in _list_ppid_and_pid(): + if ppid == this_pid: + if pid not in dont_terminate_child_pids: + children_pids.append(pid) + + if not children_pids: + break + else: + for pid in children_pids: + self._call( + ['taskkill', '/F', '/PID', str(pid), '/T'], + stdout=subprocess.PIPE, + stderr=subprocess.PIPE + ) + + del children_pids[:] + + def _terminate_child_processes_linux_and_mac(self, dont_terminate_child_pids): + this_pid = os.getpid() + + def list_children_and_stop_forking(initial_pid, stop=True): + children_pids = [] + if stop: + # Ask to stop forking (shouldn't be called for this process, only subprocesses). + self._call( + ['kill', '-STOP', str(initial_pid)], + stdout=subprocess.PIPE, + stderr=subprocess.PIPE + ) + + list_popen = self._popen( + ['pgrep', '-P', str(initial_pid)], + stdout=subprocess.PIPE, + stderr=subprocess.PIPE + ) + + if list_popen is not None: + stdout, _ = list_popen.communicate() + for line in stdout.splitlines(): + line = line.decode('ascii').strip() + if line: + pid = str(line) + if pid in dont_terminate_child_pids: + continue + children_pids.append(pid) + # Recursively get children. + children_pids.extend(list_children_and_stop_forking(pid)) + return children_pids + + previously_found = set() + + for _ in range(50): # Try this at most 50 times before giving up. + + children_pids = list_children_and_stop_forking(this_pid, stop=False) + found_new = False + + for pid in children_pids: + if pid not in previously_found: + found_new = True + previously_found.add(pid) + self._call( + ['kill', '-KILL', str(pid)], + stdout=subprocess.PIPE, + stderr=subprocess.PIPE + ) + + if not found_new: + break + + def _popen(self, cmdline, **kwargs): + try: + return subprocess.Popen(cmdline, **kwargs) + except: + if DebugInfoHolder.DEBUG_TRACE_LEVEL >= 1: + pydev_log.exception('Error running: %s' % (' '.join(cmdline))) + return None + + def _call(self, cmdline, **kwargs): + try: + subprocess.check_call(cmdline, **kwargs) + except: + if DebugInfoHolder.DEBUG_TRACE_LEVEL >= 1: + pydev_log.exception('Error running: %s' % (' '.join(cmdline))) + + def set_terminate_child_processes(self, py_db, terminate_child_processes): + py_db.terminate_child_processes = terminate_child_processes + + def terminate_process(self, py_db): + ''' + Terminates the current process (and child processes if the option to also terminate + child processes is enabled). + ''' + try: + if py_db.terminate_child_processes: + pydev_log.debug('Terminating child processes.') + if IS_WINDOWS: + self._terminate_child_processes_windows(py_db.dont_terminate_child_pids) + else: + self._terminate_child_processes_linux_and_mac(py_db.dont_terminate_child_pids) + finally: + pydev_log.debug('Exiting process (os._exit(0)).') + os._exit(0) + + def _terminate_if_commands_processed(self, py_db): + py_db.dispose_and_kill_all_pydevd_threads() + self.terminate_process(py_db) + + def request_terminate_process(self, py_db): + # We mark with a terminate_requested to avoid that paused threads start running + # (we should terminate as is without letting any paused thread run). + py_db.terminate_requested = True + run_as_pydevd_daemon_thread(py_db, self._terminate_if_commands_processed, py_db) + + def setup_auto_reload_watcher(self, py_db, enable_auto_reload, watch_dirs, poll_target_time, exclude_patterns, include_patterns): + py_db.setup_auto_reload_watcher(enable_auto_reload, watch_dirs, poll_target_time, exclude_patterns, include_patterns) + + +def _list_ppid_and_pid(): + _TH32CS_SNAPPROCESS = 0x00000002 + + class PROCESSENTRY32(ctypes.Structure): + _fields_ = [("dwSize", ctypes.c_uint32), + ("cntUsage", ctypes.c_uint32), + ("th32ProcessID", ctypes.c_uint32), + ("th32DefaultHeapID", ctypes.c_size_t), + ("th32ModuleID", ctypes.c_uint32), + ("cntThreads", ctypes.c_uint32), + ("th32ParentProcessID", ctypes.c_uint32), + ("pcPriClassBase", ctypes.c_long), + ("dwFlags", ctypes.c_uint32), + ("szExeFile", ctypes.c_char * 260)] + + kernel32 = ctypes.windll.kernel32 + snapshot = kernel32.CreateToolhelp32Snapshot(_TH32CS_SNAPPROCESS, 0) + ppid_and_pids = [] + try: + process_entry = PROCESSENTRY32() + process_entry.dwSize = ctypes.sizeof(PROCESSENTRY32) + if not kernel32.Process32First(ctypes.c_void_p(snapshot), ctypes.byref(process_entry)): + pydev_log.critical('Process32First failed (getting process from CreateToolhelp32Snapshot).') + else: + while True: + ppid_and_pids.append((process_entry.th32ParentProcessID, process_entry.th32ProcessID)) + if not kernel32.Process32Next(ctypes.c_void_p(snapshot), ctypes.byref(process_entry)): + break + finally: + kernel32.CloseHandle(snapshot) + + return ppid_and_pids diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_breakpoints.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_breakpoints.py new file mode 100644 index 0000000..d92fccf --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_breakpoints.py @@ -0,0 +1,184 @@ +from _pydev_bundle import pydev_log +from _pydevd_bundle import pydevd_import_class +from _pydevd_bundle.pydevd_frame_utils import add_exception_to_frame +from _pydev_bundle._pydev_saved_modules import threading + + +class ExceptionBreakpoint(object): + + def __init__( + self, + qname, + condition, + expression, + notify_on_handled_exceptions, + notify_on_unhandled_exceptions, + notify_on_user_unhandled_exceptions, + notify_on_first_raise_only, + ignore_libraries + ): + exctype = get_exception_class(qname) + self.qname = qname + if exctype is not None: + self.name = exctype.__name__ + else: + self.name = None + + self.condition = condition + self.expression = expression + self.notify_on_unhandled_exceptions = notify_on_unhandled_exceptions + self.notify_on_handled_exceptions = notify_on_handled_exceptions + self.notify_on_first_raise_only = notify_on_first_raise_only + self.notify_on_user_unhandled_exceptions = notify_on_user_unhandled_exceptions + self.ignore_libraries = ignore_libraries + + self.type = exctype + + def __str__(self): + return self.qname + + @property + def has_condition(self): + return self.condition is not None + + def handle_hit_condition(self, frame): + return False + + +class LineBreakpoint(object): + + def __init__(self, breakpoint_id, line, condition, func_name, expression, suspend_policy="NONE", hit_condition=None, is_logpoint=False): + self.breakpoint_id = breakpoint_id + self.line = line + self.condition = condition + self.func_name = func_name + self.expression = expression + self.suspend_policy = suspend_policy + self.hit_condition = hit_condition + self._hit_count = 0 + self._hit_condition_lock = threading.Lock() + self.is_logpoint = is_logpoint + + @property + def has_condition(self): + return bool(self.condition) or bool(self.hit_condition) + + def handle_hit_condition(self, frame): + if not self.hit_condition: + return False + ret = False + with self._hit_condition_lock: + self._hit_count += 1 + expr = self.hit_condition.replace('@HIT@', str(self._hit_count)) + try: + ret = bool(eval(expr, frame.f_globals, frame.f_locals)) + except Exception: + ret = False + return ret + + +class FunctionBreakpoint(object): + + def __init__(self, func_name, condition, expression, suspend_policy="NONE", hit_condition=None, is_logpoint=False): + self.condition = condition + self.func_name = func_name + self.expression = expression + self.suspend_policy = suspend_policy + self.hit_condition = hit_condition + self._hit_count = 0 + self._hit_condition_lock = threading.Lock() + self.is_logpoint = is_logpoint + + @property + def has_condition(self): + return bool(self.condition) or bool(self.hit_condition) + + def handle_hit_condition(self, frame): + if not self.hit_condition: + return False + ret = False + with self._hit_condition_lock: + self._hit_count += 1 + expr = self.hit_condition.replace('@HIT@', str(self._hit_count)) + try: + ret = bool(eval(expr, frame.f_globals, frame.f_locals)) + except Exception: + ret = False + return ret + + +def get_exception_breakpoint(exctype, exceptions): + if not exctype: + exception_full_qname = None + else: + exception_full_qname = str(exctype.__module__) + '.' + exctype.__name__ + + exc = None + if exceptions is not None: + try: + return exceptions[exception_full_qname] + except KeyError: + for exception_breakpoint in exceptions.values(): + if exception_breakpoint.type is not None and issubclass(exctype, exception_breakpoint.type): + if exc is None or issubclass(exception_breakpoint.type, exc.type): + exc = exception_breakpoint + return exc + + +def stop_on_unhandled_exception(py_db, thread, additional_info, arg): + exctype, value, tb = arg + break_on_uncaught_exceptions = py_db.break_on_uncaught_exceptions + if break_on_uncaught_exceptions: + exception_breakpoint = py_db.get_exception_breakpoint(exctype, break_on_uncaught_exceptions) + else: + exception_breakpoint = None + + if not exception_breakpoint: + return + + if tb is None: # sometimes it can be None, e.g. with GTK + return + + if exctype is KeyboardInterrupt: + return + + if exctype is SystemExit and py_db.ignore_system_exit_code(value): + return + + frames = [] + user_frame = None + + while tb is not None: + if not py_db.exclude_exception_by_filter(exception_breakpoint, tb): + user_frame = tb.tb_frame + frames.append(tb.tb_frame) + tb = tb.tb_next + + if user_frame is None: + return + + frames_byid = dict([(id(frame), frame) for frame in frames]) + add_exception_to_frame(user_frame, arg) + if exception_breakpoint.condition is not None: + eval_result = py_db.handle_breakpoint_condition(additional_info, exception_breakpoint, user_frame) + if not eval_result: + return + + if exception_breakpoint.expression is not None: + py_db.handle_breakpoint_expression(exception_breakpoint, additional_info, user_frame) + + try: + additional_info.pydev_message = exception_breakpoint.qname + except: + additional_info.pydev_message = exception_breakpoint.qname.encode('utf-8') + + pydev_log.debug('Handling post-mortem stop on exception breakpoint %s' % (exception_breakpoint.qname,)) + + py_db.do_stop_on_unhandled_exception(thread, user_frame, frames_byid, arg) + + +def get_exception_class(kls): + try: + return eval(kls) + except: + return pydevd_import_class.import_name(kls) diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_bytecode_utils.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_bytecode_utils.py new file mode 100644 index 0000000..e8c9f54 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_bytecode_utils.py @@ -0,0 +1,843 @@ +""" +Bytecode analysing utils. Originally added for using in smart step into. + +Note: not importable from Python 2. +""" + +from _pydev_bundle import pydev_log +from types import CodeType +from _pydevd_frame_eval.vendored.bytecode.instr import _Variable +from _pydevd_frame_eval.vendored import bytecode +from _pydevd_frame_eval.vendored.bytecode import cfg as bytecode_cfg +import dis +import opcode as _opcode + +from _pydevd_bundle.pydevd_constants import KeyifyList, DebugInfoHolder, IS_PY311_OR_GREATER +from bisect import bisect +from collections import deque + +# When True, throws errors on unknown bytecodes, when False, ignore those as if they didn't change the stack. +STRICT_MODE = False + +DEBUG = False + +_BINARY_OPS = set([opname for opname in dis.opname if opname.startswith('BINARY_')]) + +_BINARY_OP_MAP = { + 'BINARY_POWER': '__pow__', + 'BINARY_MULTIPLY': '__mul__', + 'BINARY_MATRIX_MULTIPLY': '__matmul__', + 'BINARY_FLOOR_DIVIDE': '__floordiv__', + 'BINARY_TRUE_DIVIDE': '__div__', + 'BINARY_MODULO': '__mod__', + 'BINARY_ADD': '__add__', + 'BINARY_SUBTRACT': '__sub__', + 'BINARY_LSHIFT': '__lshift__', + 'BINARY_RSHIFT': '__rshift__', + 'BINARY_AND': '__and__', + 'BINARY_OR': '__or__', + 'BINARY_XOR': '__xor__', + 'BINARY_SUBSCR': '__getitem__', + 'BINARY_DIVIDE': '__div__' +} + +_COMP_OP_MAP = { + '<': '__lt__', + '<=': '__le__', + '==': '__eq__', + '!=': '__ne__', + '>': '__gt__', + '>=': '__ge__', + 'in': '__contains__', + 'not in': '__contains__', +} + + +class Target(object): + __slots__ = ['arg', 'lineno', 'offset', 'children_targets'] + + def __init__(self, arg, lineno, offset, children_targets=()): + self.arg = arg + self.lineno = lineno + self.offset = offset + self.children_targets = children_targets + + def __repr__(self): + ret = [] + for s in self.__slots__: + ret.append('%s: %s' % (s, getattr(self, s))) + return 'Target(%s)' % ', '.join(ret) + + __str__ = __repr__ + + +class _TargetIdHashable(object): + + def __init__(self, target): + self.target = target + + def __eq__(self, other): + if not hasattr(other, 'target'): + return + return other.target is self.target + + def __ne__(self, other): + return not self == other + + def __hash__(self): + return id(self.target) + + +class _StackInterpreter(object): + ''' + Good reference: https://github.com/python/cpython/blob/fcb55c0037baab6f98f91ee38ce84b6f874f034a/Python/ceval.c + ''' + + def __init__(self, bytecode): + self.bytecode = bytecode + self._stack = deque() + self.function_calls = [] + self.load_attrs = {} + self.func = set() + self.func_name_id_to_code_object = {} + + def __str__(self): + return 'Stack:\nFunction calls:\n%s\nLoad attrs:\n%s\n' % (self.function_calls, list(self.load_attrs.values())) + + def _getname(self, instr): + if instr.opcode in _opcode.hascompare: + cmp_op = dis.cmp_op[instr.arg] + if cmp_op not in ('exception match', 'BAD'): + return _COMP_OP_MAP.get(cmp_op, cmp_op) + return instr.arg + + def _getcallname(self, instr): + if instr.name == 'BINARY_SUBSCR': + return '__getitem__().__call__' + if instr.name == 'CALL_FUNCTION': + # Note: previously a '__call__().__call__' was returned, but this was a bit weird + # and on Python 3.9 this construct could appear for some internal things where + # it wouldn't be expected. + # Note: it'd be what we had in func()(). + return None + if instr.name == 'MAKE_FUNCTION': + return '__func__().__call__' + if instr.name == 'LOAD_ASSERTION_ERROR': + return 'AssertionError' + name = self._getname(instr) + if isinstance(name, CodeType): + name = name.co_qualname # Note: only available for Python 3.11 + if isinstance(name, _Variable): + name = name.name + + if not isinstance(name, str): + return None + if name.endswith('>'): # xxx., xxx., ... + return name.split('.')[-1] + return name + + def _no_stack_change(self, instr): + pass # Can be aliased when the instruction does nothing. + + def on_LOAD_GLOBAL(self, instr): + self._stack.append(instr) + + def on_POP_TOP(self, instr): + try: + self._stack.pop() + except IndexError: + pass # Ok (in the end of blocks) + + def on_LOAD_ATTR(self, instr): + self.on_POP_TOP(instr) # replaces the current top + self._stack.append(instr) + self.load_attrs[_TargetIdHashable(instr)] = Target(self._getname(instr), instr.lineno, instr.offset) + + on_LOOKUP_METHOD = on_LOAD_ATTR # Improvement in PyPy + + def on_LOAD_CONST(self, instr): + self._stack.append(instr) + + on_LOAD_DEREF = on_LOAD_CONST + on_LOAD_NAME = on_LOAD_CONST + on_LOAD_CLOSURE = on_LOAD_CONST + on_LOAD_CLASSDEREF = on_LOAD_CONST + + # Although it actually changes the stack, it's inconsequential for us as a function call can't + # really be found there. + on_IMPORT_NAME = _no_stack_change + on_IMPORT_FROM = _no_stack_change + on_IMPORT_STAR = _no_stack_change + on_SETUP_ANNOTATIONS = _no_stack_change + + def on_STORE_FAST(self, instr): + try: + self._stack.pop() + except IndexError: + pass # Ok, we may have a block just with the store + + # Note: it stores in the locals and doesn't put anything in the stack. + + on_STORE_GLOBAL = on_STORE_FAST + on_STORE_DEREF = on_STORE_FAST + on_STORE_ATTR = on_STORE_FAST + on_STORE_NAME = on_STORE_FAST + + on_DELETE_NAME = on_POP_TOP + on_DELETE_ATTR = on_POP_TOP + on_DELETE_GLOBAL = on_POP_TOP + on_DELETE_FAST = on_POP_TOP + on_DELETE_DEREF = on_POP_TOP + + on_DICT_UPDATE = on_POP_TOP + on_SET_UPDATE = on_POP_TOP + + on_GEN_START = on_POP_TOP + + def on_NOP(self, instr): + pass + + def _handle_call_from_instr(self, func_name_instr, func_call_instr): + self.load_attrs.pop(_TargetIdHashable(func_name_instr), None) + call_name = self._getcallname(func_name_instr) + target = None + if not call_name: + pass # Ignore if we can't identify a name + elif call_name in ('', '', '', ''): + code_obj = self.func_name_id_to_code_object[_TargetIdHashable(func_name_instr)] + if code_obj is not None: + children_targets = _get_smart_step_into_targets(code_obj) + if children_targets: + # i.e.: we have targets inside of a or . + # Note that to actually match this in the debugger we need to do matches on 2 frames, + # the one with the and then the actual target inside the . + target = Target(call_name, func_name_instr.lineno, func_call_instr.offset, children_targets) + self.function_calls.append( + target) + + else: + # Ok, regular call + target = Target(call_name, func_name_instr.lineno, func_call_instr.offset) + self.function_calls.append(target) + + if DEBUG and target is not None: + print('Created target', target) + self._stack.append(func_call_instr) # Keep the func call as the result + + def on_COMPARE_OP(self, instr): + try: + _right = self._stack.pop() + except IndexError: + return + try: + _left = self._stack.pop() + except IndexError: + return + + cmp_op = dis.cmp_op[instr.arg] + if cmp_op not in ('exception match', 'BAD'): + self.function_calls.append(Target(self._getname(instr), instr.lineno, instr.offset)) + + self._stack.append(instr) + + def on_IS_OP(self, instr): + try: + self._stack.pop() + except IndexError: + return + try: + self._stack.pop() + except IndexError: + return + + def on_BINARY_SUBSCR(self, instr): + try: + _sub = self._stack.pop() + except IndexError: + return + try: + _container = self._stack.pop() + except IndexError: + return + self.function_calls.append(Target(_BINARY_OP_MAP[instr.name], instr.lineno, instr.offset)) + self._stack.append(instr) + + on_BINARY_MATRIX_MULTIPLY = on_BINARY_SUBSCR + on_BINARY_POWER = on_BINARY_SUBSCR + on_BINARY_MULTIPLY = on_BINARY_SUBSCR + on_BINARY_FLOOR_DIVIDE = on_BINARY_SUBSCR + on_BINARY_TRUE_DIVIDE = on_BINARY_SUBSCR + on_BINARY_MODULO = on_BINARY_SUBSCR + on_BINARY_ADD = on_BINARY_SUBSCR + on_BINARY_SUBTRACT = on_BINARY_SUBSCR + on_BINARY_LSHIFT = on_BINARY_SUBSCR + on_BINARY_RSHIFT = on_BINARY_SUBSCR + on_BINARY_AND = on_BINARY_SUBSCR + on_BINARY_OR = on_BINARY_SUBSCR + on_BINARY_XOR = on_BINARY_SUBSCR + + def on_LOAD_METHOD(self, instr): + self.on_POP_TOP(instr) # Remove the previous as we're loading something from it. + self._stack.append(instr) + + def on_MAKE_FUNCTION(self, instr): + if not IS_PY311_OR_GREATER: + # The qualifier name is no longer put in the stack. + qualname = self._stack.pop() + code_obj_instr = self._stack.pop() + else: + # In 3.11 the code object has a co_qualname which we can use. + qualname = code_obj_instr = self._stack.pop() + + arg = instr.arg + if arg & 0x08: + _func_closure = self._stack.pop() + if arg & 0x04: + _func_annotations = self._stack.pop() + if arg & 0x02: + _func_kwdefaults = self._stack.pop() + if arg & 0x01: + _func_defaults = self._stack.pop() + + call_name = self._getcallname(qualname) + if call_name in ('', '', '', ''): + if isinstance(code_obj_instr.arg, CodeType): + self.func_name_id_to_code_object[_TargetIdHashable(qualname)] = code_obj_instr.arg + self._stack.append(qualname) + + def on_LOAD_FAST(self, instr): + self._stack.append(instr) + + def on_LOAD_ASSERTION_ERROR(self, instr): + self._stack.append(instr) + + on_LOAD_BUILD_CLASS = on_LOAD_FAST + + def on_CALL_METHOD(self, instr): + # pop the actual args + for _ in range(instr.arg): + self._stack.pop() + + func_name_instr = self._stack.pop() + self._handle_call_from_instr(func_name_instr, instr) + + def on_PUSH_NULL(self, instr): + self._stack.append(instr) + + def on_CALL_FUNCTION(self, instr): + arg = instr.arg + + argc = arg & 0xff # positional args + argc += ((arg >> 8) * 2) # keyword args + + # pop the actual args + for _ in range(argc): + try: + self._stack.pop() + except IndexError: + return + + try: + func_name_instr = self._stack.pop() + except IndexError: + return + self._handle_call_from_instr(func_name_instr, instr) + + def on_CALL_FUNCTION_KW(self, instr): + # names of kw args + _names_of_kw_args = self._stack.pop() + + # pop the actual args + arg = instr.arg + + argc = arg & 0xff # positional args + argc += ((arg >> 8) * 2) # keyword args + + for _ in range(argc): + self._stack.pop() + + func_name_instr = self._stack.pop() + self._handle_call_from_instr(func_name_instr, instr) + + def on_CALL_FUNCTION_VAR(self, instr): + # var name + _var_arg = self._stack.pop() + + # pop the actual args + arg = instr.arg + + argc = arg & 0xff # positional args + argc += ((arg >> 8) * 2) # keyword args + + for _ in range(argc): + self._stack.pop() + + func_name_instr = self._stack.pop() + self._handle_call_from_instr(func_name_instr, instr) + + def on_CALL_FUNCTION_VAR_KW(self, instr): + # names of kw args + _names_of_kw_args = self._stack.pop() + + arg = instr.arg + + argc = arg & 0xff # positional args + argc += ((arg >> 8) * 2) # keyword args + + # also pop **kwargs + self._stack.pop() + + # pop the actual args + for _ in range(argc): + self._stack.pop() + + func_name_instr = self._stack.pop() + self._handle_call_from_instr(func_name_instr, instr) + + def on_CALL_FUNCTION_EX(self, instr): + if instr.arg & 0x01: + _kwargs = self._stack.pop() + _callargs = self._stack.pop() + func_name_instr = self._stack.pop() + self._handle_call_from_instr(func_name_instr, instr) + + on_YIELD_VALUE = _no_stack_change + on_GET_AITER = _no_stack_change + on_GET_ANEXT = _no_stack_change + on_END_ASYNC_FOR = _no_stack_change + on_BEFORE_ASYNC_WITH = _no_stack_change + on_SETUP_ASYNC_WITH = _no_stack_change + on_YIELD_FROM = _no_stack_change + on_SETUP_LOOP = _no_stack_change + on_FOR_ITER = _no_stack_change + on_BREAK_LOOP = _no_stack_change + on_JUMP_ABSOLUTE = _no_stack_change + on_RERAISE = _no_stack_change + on_LIST_TO_TUPLE = _no_stack_change + on_CALL_FINALLY = _no_stack_change + on_POP_FINALLY = _no_stack_change + + def on_JUMP_IF_FALSE_OR_POP(self, instr): + try: + self._stack.pop() + except IndexError: + return + + on_JUMP_IF_TRUE_OR_POP = on_JUMP_IF_FALSE_OR_POP + + def on_JUMP_IF_NOT_EXC_MATCH(self, instr): + try: + self._stack.pop() + except IndexError: + return + try: + self._stack.pop() + except IndexError: + return + + def on_ROT_TWO(self, instr): + try: + p0 = self._stack.pop() + except IndexError: + return + + try: + p1 = self._stack.pop() + except: + self._stack.append(p0) + return + + self._stack.append(p0) + self._stack.append(p1) + + def on_ROT_THREE(self, instr): + try: + p0 = self._stack.pop() + except IndexError: + return + + try: + p1 = self._stack.pop() + except: + self._stack.append(p0) + return + + try: + p2 = self._stack.pop() + except: + self._stack.append(p0) + self._stack.append(p1) + return + + self._stack.append(p0) + self._stack.append(p1) + self._stack.append(p2) + + def on_ROT_FOUR(self, instr): + try: + p0 = self._stack.pop() + except IndexError: + return + + try: + p1 = self._stack.pop() + except: + self._stack.append(p0) + return + + try: + p2 = self._stack.pop() + except: + self._stack.append(p0) + self._stack.append(p1) + return + + try: + p3 = self._stack.pop() + except: + self._stack.append(p0) + self._stack.append(p1) + self._stack.append(p2) + return + + self._stack.append(p0) + self._stack.append(p1) + self._stack.append(p2) + self._stack.append(p3) + + def on_BUILD_LIST_FROM_ARG(self, instr): + self._stack.append(instr) + + def on_BUILD_MAP(self, instr): + for _i in range(instr.arg): + self._stack.pop() + self._stack.pop() + self._stack.append(instr) + + def on_BUILD_CONST_KEY_MAP(self, instr): + self.on_POP_TOP(instr) # keys + for _i in range(instr.arg): + self.on_POP_TOP(instr) # value + self._stack.append(instr) + + on_RETURN_VALUE = on_POP_TOP + on_POP_JUMP_IF_FALSE = on_POP_TOP + on_POP_JUMP_IF_TRUE = on_POP_TOP + on_DICT_MERGE = on_POP_TOP + on_LIST_APPEND = on_POP_TOP + on_SET_ADD = on_POP_TOP + on_LIST_EXTEND = on_POP_TOP + on_UNPACK_EX = on_POP_TOP + + # ok: doesn't change the stack (converts top to getiter(top)) + on_GET_ITER = _no_stack_change + on_GET_AWAITABLE = _no_stack_change + on_GET_YIELD_FROM_ITER = _no_stack_change + + def on_RETURN_GENERATOR(self, instr): + self._stack.append(instr) + + on_RETURN_GENERATOR = _no_stack_change + on_RESUME = _no_stack_change + + def on_MAP_ADD(self, instr): + self.on_POP_TOP(instr) + self.on_POP_TOP(instr) + + def on_UNPACK_SEQUENCE(self, instr): + self._stack.pop() + for _i in range(instr.arg): + self._stack.append(instr) + + def on_BUILD_LIST(self, instr): + for _i in range(instr.arg): + self.on_POP_TOP(instr) + self._stack.append(instr) + + on_BUILD_TUPLE = on_BUILD_LIST + on_BUILD_STRING = on_BUILD_LIST + on_BUILD_TUPLE_UNPACK_WITH_CALL = on_BUILD_LIST + on_BUILD_TUPLE_UNPACK = on_BUILD_LIST + on_BUILD_LIST_UNPACK = on_BUILD_LIST + on_BUILD_MAP_UNPACK_WITH_CALL = on_BUILD_LIST + on_BUILD_MAP_UNPACK = on_BUILD_LIST + on_BUILD_SET = on_BUILD_LIST + on_BUILD_SET_UNPACK = on_BUILD_LIST + + on_SETUP_FINALLY = _no_stack_change + on_POP_FINALLY = _no_stack_change + on_BEGIN_FINALLY = _no_stack_change + on_END_FINALLY = _no_stack_change + + def on_RAISE_VARARGS(self, instr): + for _i in range(instr.arg): + self.on_POP_TOP(instr) + + on_POP_BLOCK = _no_stack_change + on_JUMP_FORWARD = _no_stack_change + on_POP_EXCEPT = _no_stack_change + on_SETUP_EXCEPT = _no_stack_change + on_WITH_EXCEPT_START = _no_stack_change + + on_END_FINALLY = _no_stack_change + on_BEGIN_FINALLY = _no_stack_change + on_SETUP_WITH = _no_stack_change + on_WITH_CLEANUP_START = _no_stack_change + on_WITH_CLEANUP_FINISH = _no_stack_change + on_FORMAT_VALUE = _no_stack_change + on_EXTENDED_ARG = _no_stack_change + + def on_INPLACE_ADD(self, instr): + # This would actually pop 2 and leave the value in the stack. + # In a += 1 it pop `a` and `1` and leave the resulting value + # for a load. In our case, let's just pop the `1` and leave the `a` + # instead of leaving the INPLACE_ADD bytecode. + try: + self._stack.pop() + except IndexError: + pass + + on_INPLACE_POWER = on_INPLACE_ADD + on_INPLACE_MULTIPLY = on_INPLACE_ADD + on_INPLACE_MATRIX_MULTIPLY = on_INPLACE_ADD + on_INPLACE_TRUE_DIVIDE = on_INPLACE_ADD + on_INPLACE_FLOOR_DIVIDE = on_INPLACE_ADD + on_INPLACE_MODULO = on_INPLACE_ADD + on_INPLACE_SUBTRACT = on_INPLACE_ADD + on_INPLACE_RSHIFT = on_INPLACE_ADD + on_INPLACE_LSHIFT = on_INPLACE_ADD + on_INPLACE_AND = on_INPLACE_ADD + on_INPLACE_OR = on_INPLACE_ADD + on_INPLACE_XOR = on_INPLACE_ADD + + def on_DUP_TOP(self, instr): + try: + i = self._stack[-1] + except IndexError: + # ok (in the start of block) + self._stack.append(instr) + else: + self._stack.append(i) + + def on_DUP_TOP_TWO(self, instr): + if len(self._stack) == 0: + self._stack.append(instr) + return + + if len(self._stack) == 1: + i = self._stack[-1] + self._stack.append(i) + self._stack.append(instr) + return + + i = self._stack[-1] + j = self._stack[-2] + self._stack.append(j) + self._stack.append(i) + + def on_BUILD_SLICE(self, instr): + for _ in range(instr.arg): + try: + self._stack.pop() + except IndexError: + pass + self._stack.append(instr) + + def on_STORE_SUBSCR(self, instr): + try: + self._stack.pop() + self._stack.pop() + self._stack.pop() + except IndexError: + pass + + def on_DELETE_SUBSCR(self, instr): + try: + self._stack.pop() + self._stack.pop() + except IndexError: + pass + + # Note: on Python 3 this is only found on interactive mode to print the results of + # some evaluation. + on_PRINT_EXPR = on_POP_TOP + + on_UNARY_POSITIVE = _no_stack_change + on_UNARY_NEGATIVE = _no_stack_change + on_UNARY_NOT = _no_stack_change + on_UNARY_INVERT = _no_stack_change + + on_CACHE = _no_stack_change + on_PRECALL = _no_stack_change + + +def _get_smart_step_into_targets(code): + ''' + :return list(Target) + ''' + b = bytecode.Bytecode.from_code(code) + cfg = bytecode_cfg.ControlFlowGraph.from_bytecode(b) + + ret = [] + + for block in cfg: + if DEBUG: + print('\nStart block----') + stack = _StackInterpreter(block) + for instr in block: + try: + func_name = 'on_%s' % (instr.name,) + func = getattr(stack, func_name, None) + + if DEBUG: + if instr.name != 'CACHE': # Filter the ones we don't want to see. + print('\nWill handle: ', instr, '>>', stack._getname(instr), '<<') + print('Current stack:') + for entry in stack._stack: + print(' arg:', stack._getname(entry), '(', entry, ')') + + if func is None: + if STRICT_MODE: + raise AssertionError('%s not found.' % (func_name,)) + else: + continue + func(instr) + except: + if STRICT_MODE: + raise # Error in strict mode. + else: + # In non-strict mode, log it (if in verbose mode) and keep on going. + if DebugInfoHolder.DEBUG_TRACE_LEVEL >= 2: + pydev_log.exception('Exception computing step into targets (handled).') + + ret.extend(stack.function_calls) + # No longer considering attr loads as calls (while in theory sometimes it's possible + # that something as `some.attr` can turn out to be a property which could be stepped + # in, it's not that common in practice and can be surprising for users, so, disabling + # step into from stepping into properties). + # ret.extend(stack.load_attrs.values()) + + return ret + + +# Note that the offset is unique within the frame (so, we can use it as the target id). +# Also, as the offset is the instruction offset within the frame, it's possible to +# to inspect the parent frame for frame.f_lasti to know where we actually are (as the +# caller name may not always match the new frame name). +class Variant(object): + __slots__ = ['name', 'is_visited', 'line', 'offset', 'call_order', 'children_variants', 'parent'] + + def __init__(self, name, is_visited, line, offset, call_order, children_variants=None): + self.name = name + self.is_visited = is_visited + self.line = line + self.offset = offset + self.call_order = call_order + self.children_variants = children_variants + self.parent = None + if children_variants: + for variant in children_variants: + variant.parent = self + + def __repr__(self): + ret = [] + for s in self.__slots__: + if s == 'parent': + try: + parent = self.parent + except AttributeError: + ret.append('%s: ' % (s,)) + else: + if parent is None: + ret.append('parent: None') + else: + ret.append('parent: %s (%s)' % (parent.name, parent.offset)) + continue + + if s == 'children_variants': + ret.append('children_variants: %s' % (len(self.children_variants) if self.children_variants else 0)) + continue + + try: + ret.append('%s: %s' % (s, getattr(self, s))) + except AttributeError: + ret.append('%s: ' % (s,)) + return 'Variant(%s)' % ', '.join(ret) + + __str__ = __repr__ + + +def _convert_target_to_variant(target, start_line, end_line, call_order_cache, lasti, base): + name = target.arg + if not isinstance(name, str): + return + if target.lineno > end_line: + return + if target.lineno < start_line: + return + + call_order = call_order_cache.get(name, 0) + 1 + call_order_cache[name] = call_order + is_visited = target.offset <= lasti + + children_targets = target.children_targets + children_variants = None + if children_targets: + children_variants = [ + _convert_target_to_variant(child, start_line, end_line, call_order_cache, lasti, base) + for child in target.children_targets] + + return Variant(name, is_visited, target.lineno - base, target.offset, call_order, children_variants) + + +def calculate_smart_step_into_variants(frame, start_line, end_line, base=0): + """ + Calculate smart step into variants for the given line range. + :param frame: + :type frame: :py:class:`types.FrameType` + :param start_line: + :param end_line: + :return: A list of call names from the first to the last. + :note: it's guaranteed that the offsets appear in order. + :raise: :py:class:`RuntimeError` if failed to parse the bytecode or if dis cannot be used. + """ + variants = [] + code = frame.f_code + lasti = frame.f_lasti + + call_order_cache = {} + if DEBUG: + print('dis.dis:') + if IS_PY311_OR_GREATER: + dis.dis(code, show_caches=False) + else: + dis.dis(code) + + for target in _get_smart_step_into_targets(code): + variant = _convert_target_to_variant(target, start_line, end_line, call_order_cache, lasti, base) + if variant is None: + continue + variants.append(variant) + + return variants + + +def get_smart_step_into_variant_from_frame_offset(frame_f_lasti, variants): + """ + Given the frame.f_lasti, return the related `Variant`. + + :note: if the offset is found before any variant available or no variants are + available, None is returned. + + :rtype: Variant|NoneType + """ + if not variants: + return None + + i = bisect(KeyifyList(variants, lambda entry:entry.offset), frame_f_lasti) + + if i == 0: + return None + + else: + return variants[i - 1] diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_code_to_source.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_code_to_source.py new file mode 100644 index 0000000..40feb76 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_code_to_source.py @@ -0,0 +1,611 @@ +""" +Decompiler that can be used with the debugger (where statements correctly represent the +line numbers). + +Note: this is a work in progress / proof of concept / not ready to be used. +""" + +import dis + +from _pydevd_bundle.pydevd_collect_bytecode_info import iter_instructions +from _pydev_bundle import pydev_log +import sys +import inspect +from io import StringIO + + +class _Stack(object): + + def __init__(self): + self._contents = [] + + def push(self, obj): + # print('push', obj) + self._contents.append(obj) + + def pop(self): + return self._contents.pop(-1) + + +INDENT_MARKER = object() +DEDENT_MARKER = object() +_SENTINEL = object() + +DEBUG = False + + +class _Token(object): + + def __init__(self, i_line, instruction=None, tok=_SENTINEL, priority=0, after=None, end_of_line=False): + ''' + :param i_line: + :param instruction: + :param tok: + :param priority: + :param after: + :param end_of_line: + Marker to signal only after all the other tokens have been written. + ''' + self.i_line = i_line + if tok is not _SENTINEL: + self.tok = tok + else: + if instruction is not None: + if inspect.iscode(instruction.argval): + self.tok = '' + else: + self.tok = str(instruction.argval) + else: + raise AssertionError('Either the tok or the instruction is needed.') + self.instruction = instruction + self.priority = priority + self.end_of_line = end_of_line + self._after_tokens = set() + self._after_handler_tokens = set() + if after: + self.mark_after(after) + + def mark_after(self, v): + if isinstance(v, _Token): + self._after_tokens.add(v) + elif isinstance(v, _BaseHandler): + self._after_handler_tokens.add(v) + + else: + raise AssertionError('Unhandled: %s' % (v,)) + + def get_after_tokens(self): + ret = self._after_tokens.copy() + for handler in self._after_handler_tokens: + ret.update(handler.tokens) + return ret + + def __repr__(self): + return 'Token(%s, after: %s)' % (self.tok, self.get_after_tokens()) + + __str__ = __repr__ + + +class _Writer(object): + + def __init__(self): + self.line_to_contents = {} + self.all_tokens = set() + + def get_line(self, line): + lst = self.line_to_contents.get(line) + if lst is None: + lst = self.line_to_contents[line] = [] + return lst + + def indent(self, line): + self.get_line(line).append(INDENT_MARKER) + + def dedent(self, line): + self.get_line(line).append(DEDENT_MARKER) + + def write(self, line, token): + if token in self.all_tokens: + return + self.all_tokens.add(token) + assert isinstance(token, _Token) + lst = self.get_line(line) + lst.append(token) + + +class _BaseHandler(object): + + def __init__(self, i_line, instruction, stack, writer, disassembler): + self.i_line = i_line + self.instruction = instruction + self.stack = stack + self.writer = writer + self.disassembler = disassembler + self.tokens = [] + self._handle() + + def _write_tokens(self): + for token in self.tokens: + self.writer.write(token.i_line, token) + + def _handle(self): + raise NotImplementedError(self) + + def __repr__(self, *args, **kwargs): + try: + return "%s line:%s" % (self.instruction, self.i_line) + except: + return object.__repr__(self) + + __str__ = __repr__ + + +_op_name_to_handler = {} + + +def _register(cls): + _op_name_to_handler[cls.opname] = cls + return cls + + +class _BasePushHandler(_BaseHandler): + + def _handle(self): + self.stack.push(self) + + +class _BaseLoadHandler(_BasePushHandler): + + def _handle(self): + _BasePushHandler._handle(self) + self.tokens = [_Token(self.i_line, self.instruction)] + + +@_register +class _LoadBuildClass(_BasePushHandler): + opname = "LOAD_BUILD_CLASS" + + +@_register +class _LoadConst(_BaseLoadHandler): + opname = "LOAD_CONST" + + +@_register +class _LoadName(_BaseLoadHandler): + opname = "LOAD_NAME" + + +@_register +class _LoadGlobal(_BaseLoadHandler): + opname = "LOAD_GLOBAL" + + +@_register +class _LoadFast(_BaseLoadHandler): + opname = "LOAD_FAST" + + +@_register +class _GetIter(_BaseHandler): + ''' + Implements TOS = iter(TOS). + ''' + opname = "GET_ITER" + iter_target = None + + def _handle(self): + self.iter_target = self.stack.pop() + self.tokens.extend(self.iter_target.tokens) + self.stack.push(self) + + +@_register +class _ForIter(_BaseHandler): + ''' + TOS is an iterator. Call its __next__() method. If this yields a new value, push it on the stack + (leaving the iterator below it). If the iterator indicates it is exhausted TOS is popped, and + the byte code counter is incremented by delta. + ''' + opname = "FOR_ITER" + + iter_in = None + + def _handle(self): + self.iter_in = self.stack.pop() + self.stack.push(self) + + def store_in_name(self, store_name): + for_token = _Token(self.i_line, None, 'for ') + self.tokens.append(for_token) + prev = for_token + + t_name = _Token(store_name.i_line, store_name.instruction, after=prev) + self.tokens.append(t_name) + prev = t_name + + in_token = _Token(store_name.i_line, None, ' in ', after=prev) + self.tokens.append(in_token) + prev = in_token + + max_line = store_name.i_line + if self.iter_in: + for t in self.iter_in.tokens: + t.mark_after(prev) + max_line = max(max_line, t.i_line) + prev = t + self.tokens.extend(self.iter_in.tokens) + + colon_token = _Token(self.i_line, None, ':', after=prev) + self.tokens.append(colon_token) + prev = for_token + + self._write_tokens() + + +@_register +class _StoreName(_BaseHandler): + ''' + Implements name = TOS. namei is the index of name in the attribute co_names of the code object. + The compiler tries to use STORE_FAST or STORE_GLOBAL if possible. + ''' + + opname = "STORE_NAME" + + def _handle(self): + v = self.stack.pop() + + if isinstance(v, _ForIter): + v.store_in_name(self) + else: + if not isinstance(v, _MakeFunction) or v.is_lambda: + line = self.i_line + for t in v.tokens: + line = min(line, t.i_line) + + t_name = _Token(line, self.instruction) + t_equal = _Token(line, None, '=', after=t_name) + + self.tokens.append(t_name) + self.tokens.append(t_equal) + + for t in v.tokens: + t.mark_after(t_equal) + self.tokens.extend(v.tokens) + + self._write_tokens() + + +@_register +class _ReturnValue(_BaseHandler): + """ + Returns with TOS to the caller of the function. + """ + + opname = "RETURN_VALUE" + + def _handle(self): + v = self.stack.pop() + return_token = _Token(self.i_line, None, 'return ', end_of_line=True) + self.tokens.append(return_token) + for token in v.tokens: + token.mark_after(return_token) + self.tokens.extend(v.tokens) + + self._write_tokens() + + +@_register +class _CallFunction(_BaseHandler): + """ + + CALL_FUNCTION(argc) + + Calls a callable object with positional arguments. argc indicates the number of positional + arguments. The top of the stack contains positional arguments, with the right-most argument + on top. Below the arguments is a callable object to call. CALL_FUNCTION pops all arguments + and the callable object off the stack, calls the callable object with those arguments, and + pushes the return value returned by the callable object. + + Changed in version 3.6: This opcode is used only for calls with positional arguments. + + """ + + opname = "CALL_FUNCTION" + + def _handle(self): + args = [] + for _i in range(self.instruction.argval + 1): + arg = self.stack.pop() + args.append(arg) + it = reversed(args) + name = next(it) + max_line = name.i_line + for t in name.tokens: + self.tokens.append(t) + + tok_open_parens = _Token(name.i_line, None, '(', after=name) + self.tokens.append(tok_open_parens) + + prev = tok_open_parens + for i, arg in enumerate(it): + for t in arg.tokens: + t.mark_after(name) + t.mark_after(prev) + max_line = max(max_line, t.i_line) + self.tokens.append(t) + prev = arg + + if i > 0: + comma_token = _Token(prev.i_line, None, ',', after=prev) + self.tokens.append(comma_token) + prev = comma_token + + tok_close_parens = _Token(max_line, None, ')', after=prev) + self.tokens.append(tok_close_parens) + + self._write_tokens() + + self.stack.push(self) + + +@_register +class _MakeFunctionPy3(_BaseHandler): + """ + Pushes a new function object on the stack. From bottom to top, the consumed stack must consist + of values if the argument carries a specified flag value + + 0x01 a tuple of default values for positional-only and positional-or-keyword parameters in positional order + + 0x02 a dictionary of keyword-only parameters' default values + + 0x04 an annotation dictionary + + 0x08 a tuple containing cells for free variables, making a closure + + the code associated with the function (at TOS1) + + the qualified name of the function (at TOS) + """ + + opname = "MAKE_FUNCTION" + is_lambda = False + + def _handle(self): + stack = self.stack + self.qualified_name = stack.pop() + self.code = stack.pop() + + default_node = None + if self.instruction.argval & 0x01: + default_node = stack.pop() + + is_lambda = self.is_lambda = '' in [x.tok for x in self.qualified_name.tokens] + + if not is_lambda: + def_token = _Token(self.i_line, None, 'def ') + self.tokens.append(def_token) + + for token in self.qualified_name.tokens: + self.tokens.append(token) + if not is_lambda: + token.mark_after(def_token) + prev = token + + open_parens_token = _Token(self.i_line, None, '(', after=prev) + self.tokens.append(open_parens_token) + prev = open_parens_token + + code = self.code.instruction.argval + + if default_node: + defaults = ([_SENTINEL] * (len(code.co_varnames) - len(default_node.instruction.argval))) + list(default_node.instruction.argval) + else: + defaults = [_SENTINEL] * len(code.co_varnames) + + for i, arg in enumerate(code.co_varnames): + if i > 0: + comma_token = _Token(prev.i_line, None, ', ', after=prev) + self.tokens.append(comma_token) + prev = comma_token + + arg_token = _Token(self.i_line, None, arg, after=prev) + self.tokens.append(arg_token) + + default = defaults[i] + if default is not _SENTINEL: + eq_token = _Token(default_node.i_line, None, '=', after=prev) + self.tokens.append(eq_token) + prev = eq_token + + default_token = _Token(default_node.i_line, None, str(default), after=prev) + self.tokens.append(default_token) + prev = default_token + + tok_close_parens = _Token(prev.i_line, None, '):', after=prev) + self.tokens.append(tok_close_parens) + + self._write_tokens() + + stack.push(self) + self.writer.indent(prev.i_line + 1) + self.writer.dedent(max(self.disassembler.merge_code(code))) + + +_MakeFunction = _MakeFunctionPy3 + + +def _print_after_info(line_contents, stream=None): + if stream is None: + stream = sys.stdout + for token in line_contents: + after_tokens = token.get_after_tokens() + if after_tokens: + s = '%s after: %s\n' % ( + repr(token.tok), + ('"' + '", "'.join(t.tok for t in token.get_after_tokens()) + '"')) + stream.write(s) + else: + stream.write('%s (NO REQUISITES)' % repr(token.tok)) + + +def _compose_line_contents(line_contents, previous_line_tokens): + lst = [] + handled = set() + + add_to_end_of_line = [] + delete_indexes = [] + for i, token in enumerate(line_contents): + if token.end_of_line: + add_to_end_of_line.append(token) + delete_indexes.append(i) + for i in reversed(delete_indexes): + del line_contents[i] + del delete_indexes + + while line_contents: + added = False + delete_indexes = [] + + for i, token in enumerate(line_contents): + after_tokens = token.get_after_tokens() + for after in after_tokens: + if after not in handled and after not in previous_line_tokens: + break + else: + added = True + previous_line_tokens.add(token) + handled.add(token) + lst.append(token.tok) + delete_indexes.append(i) + + for i in reversed(delete_indexes): + del line_contents[i] + + if not added: + if add_to_end_of_line: + line_contents.extend(add_to_end_of_line) + del add_to_end_of_line[:] + continue + + # Something is off, let's just add as is. + for token in line_contents: + if token not in handled: + lst.append(token.tok) + + stream = StringIO() + _print_after_info(line_contents, stream) + pydev_log.critical('Error. After markers are not correct:\n%s', stream.getvalue()) + break + return ''.join(lst) + + +class _PyCodeToSource(object): + + def __init__(self, co, memo=None): + if memo is None: + memo = {} + self.memo = memo + self.co = co + self.instructions = list(iter_instructions(co)) + self.stack = _Stack() + self.writer = _Writer() + + def _process_next(self, i_line): + instruction = self.instructions.pop(0) + handler_class = _op_name_to_handler.get(instruction.opname) + if handler_class is not None: + s = handler_class(i_line, instruction, self.stack, self.writer, self) + if DEBUG: + print(s) + + else: + if DEBUG: + print("UNHANDLED", instruction) + + def build_line_to_contents(self): + co = self.co + + op_offset_to_line = dict(dis.findlinestarts(co)) + curr_line_index = 0 + + instructions = self.instructions + while instructions: + instruction = instructions[0] + new_line_index = op_offset_to_line.get(instruction.offset) + if new_line_index is not None: + if new_line_index is not None: + curr_line_index = new_line_index + + self._process_next(curr_line_index) + return self.writer.line_to_contents + + def merge_code(self, code): + if DEBUG: + print('merge code ----') + # for d in dir(code): + # if not d.startswith('_'): + # print(d, getattr(code, d)) + line_to_contents = _PyCodeToSource(code, self.memo).build_line_to_contents() + lines = [] + for line, contents in sorted(line_to_contents.items()): + lines.append(line) + self.writer.get_line(line).extend(contents) + if DEBUG: + print('end merge code ----') + return lines + + def disassemble(self): + show_lines = False + line_to_contents = self.build_line_to_contents() + stream = StringIO() + last_line = 0 + indent = '' + previous_line_tokens = set() + for i_line, contents in sorted(line_to_contents.items()): + while last_line < i_line - 1: + if show_lines: + stream.write(u"%s.\n" % (last_line + 1,)) + else: + stream.write(u"\n") + last_line += 1 + + line_contents = [] + dedents_found = 0 + for part in contents: + if part is INDENT_MARKER: + if DEBUG: + print('found indent', i_line) + indent += ' ' + continue + if part is DEDENT_MARKER: + if DEBUG: + print('found dedent', i_line) + dedents_found += 1 + continue + line_contents.append(part) + + s = indent + _compose_line_contents(line_contents, previous_line_tokens) + if show_lines: + stream.write(u"%s. %s\n" % (i_line, s)) + else: + stream.write(u"%s\n" % s) + + if dedents_found: + indent = indent[:-(4 * dedents_found)] + last_line = i_line + + return stream.getvalue() + + +def code_obj_to_source(co): + """ + Converts a code object to source code to provide a suitable representation for the compiler when + the actual source code is not found. + + This is a work in progress / proof of concept / not ready to be used. + """ + ret = _PyCodeToSource(co).disassemble() + if DEBUG: + print(ret) + return ret diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_collect_bytecode_info.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_collect_bytecode_info.py new file mode 100644 index 0000000..711f7dd --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_collect_bytecode_info.py @@ -0,0 +1,925 @@ +import dis +import inspect +import sys +from collections import namedtuple + +from _pydev_bundle import pydev_log +from opcode import (EXTENDED_ARG, HAVE_ARGUMENT, cmp_op, hascompare, hasconst, + hasfree, hasjrel, haslocal, hasname, opname) + +from io import StringIO + + +class TryExceptInfo(object): + + def __init__(self, try_line, ignore=False): + ''' + :param try_line: + :param ignore: + Usually we should ignore any block that's not a try..except + (this can happen for finally blocks, with statements, etc, for + which we create temporary entries). + ''' + self.try_line = try_line + self.ignore = ignore + self.except_line = -1 + self.except_end_line = -1 + self.raise_lines_in_except = [] + + # Note: these may not be available if generated from source instead of bytecode. + self.except_bytecode_offset = -1 + self.except_end_bytecode_offset = -1 + + def is_line_in_try_block(self, line): + return self.try_line <= line < self.except_line + + def is_line_in_except_block(self, line): + return self.except_line <= line <= self.except_end_line + + def __str__(self): + lst = [ + '{try:', + str(self.try_line), + ' except ', + str(self.except_line), + ' end block ', + str(self.except_end_line), + ] + if self.raise_lines_in_except: + lst.append(' raises: %s' % (', '.join(str(x) for x in self.raise_lines_in_except),)) + + lst.append('}') + return ''.join(lst) + + __repr__ = __str__ + + +class ReturnInfo(object): + + def __init__(self, return_line): + self.return_line = return_line + + def __str__(self): + return '{return: %s}' % (self.return_line,) + + __repr__ = __str__ + + +def _get_line(op_offset_to_line, op_offset, firstlineno, search=False): + op_offset_original = op_offset + while op_offset >= 0: + ret = op_offset_to_line.get(op_offset) + if ret is not None: + return ret - firstlineno + if not search: + return ret + else: + op_offset -= 1 + raise AssertionError('Unable to find line for offset: %s.Info: %s' % ( + op_offset_original, op_offset_to_line)) + + +def debug(s): + pass + + +_Instruction = namedtuple('_Instruction', 'opname, opcode, starts_line, argval, is_jump_target, offset, argrepr') + + +def _iter_as_bytecode_as_instructions_py2(co): + code = co.co_code + op_offset_to_line = dict(dis.findlinestarts(co)) + labels = set(dis.findlabels(code)) + bytecode_len = len(code) + i = 0 + extended_arg = 0 + free = None + + op_to_name = opname + + while i < bytecode_len: + c = code[i] + op = ord(c) + is_jump_target = i in labels + + curr_op_name = op_to_name[op] + initial_bytecode_offset = i + + i = i + 1 + if op < HAVE_ARGUMENT: + yield _Instruction(curr_op_name, op, _get_line(op_offset_to_line, initial_bytecode_offset, 0), None, is_jump_target, initial_bytecode_offset, '') + + else: + oparg = ord(code[i]) + ord(code[i + 1]) * 256 + extended_arg + + extended_arg = 0 + i = i + 2 + if op == EXTENDED_ARG: + extended_arg = oparg * 65536 + + if op in hasconst: + yield _Instruction(curr_op_name, op, _get_line(op_offset_to_line, initial_bytecode_offset, 0), co.co_consts[oparg], is_jump_target, initial_bytecode_offset, repr(co.co_consts[oparg])) + elif op in hasname: + yield _Instruction(curr_op_name, op, _get_line(op_offset_to_line, initial_bytecode_offset, 0), co.co_names[oparg], is_jump_target, initial_bytecode_offset, str(co.co_names[oparg])) + elif op in hasjrel: + argval = i + oparg + yield _Instruction(curr_op_name, op, _get_line(op_offset_to_line, initial_bytecode_offset, 0), argval, is_jump_target, initial_bytecode_offset, "to " + repr(argval)) + elif op in haslocal: + yield _Instruction(curr_op_name, op, _get_line(op_offset_to_line, initial_bytecode_offset, 0), co.co_varnames[oparg], is_jump_target, initial_bytecode_offset, str(co.co_varnames[oparg])) + elif op in hascompare: + yield _Instruction(curr_op_name, op, _get_line(op_offset_to_line, initial_bytecode_offset, 0), cmp_op[oparg], is_jump_target, initial_bytecode_offset, cmp_op[oparg]) + elif op in hasfree: + if free is None: + free = co.co_cellvars + co.co_freevars + yield _Instruction(curr_op_name, op, _get_line(op_offset_to_line, initial_bytecode_offset, 0), free[oparg], is_jump_target, initial_bytecode_offset, str(free[oparg])) + else: + yield _Instruction(curr_op_name, op, _get_line(op_offset_to_line, initial_bytecode_offset, 0), oparg, is_jump_target, initial_bytecode_offset, str(oparg)) + + +def iter_instructions(co): + if sys.version_info[0] < 3: + iter_in = _iter_as_bytecode_as_instructions_py2(co) + else: + iter_in = dis.Bytecode(co) + iter_in = list(iter_in) + + bytecode_to_instruction = {} + for instruction in iter_in: + bytecode_to_instruction[instruction.offset] = instruction + + if iter_in: + for instruction in iter_in: + yield instruction + + +def collect_return_info(co, use_func_first_line=False): + if not hasattr(co, 'co_lnotab'): + return [] + + if use_func_first_line: + firstlineno = co.co_firstlineno + else: + firstlineno = 0 + + lst = [] + op_offset_to_line = dict(dis.findlinestarts(co)) + for instruction in iter_instructions(co): + curr_op_name = instruction.opname + if curr_op_name == 'RETURN_VALUE': + lst.append(ReturnInfo(_get_line(op_offset_to_line, instruction.offset, firstlineno, search=True))) + + return lst + + +if sys.version_info[:2] <= (3, 9): + + class _TargetInfo(object): + + def __init__(self, except_end_instruction, jump_if_not_exc_instruction=None): + self.except_end_instruction = except_end_instruction + self.jump_if_not_exc_instruction = jump_if_not_exc_instruction + + def __str__(self): + msg = ['_TargetInfo('] + msg.append(self.except_end_instruction.opname) + if self.jump_if_not_exc_instruction: + msg.append(' - ') + msg.append(self.jump_if_not_exc_instruction.opname) + msg.append('(') + msg.append(str(self.jump_if_not_exc_instruction.argval)) + msg.append(')') + msg.append(')') + return ''.join(msg) + + def _get_except_target_info(instructions, exception_end_instruction_index, offset_to_instruction_idx): + next_3 = [j_instruction.opname for j_instruction in instructions[exception_end_instruction_index:exception_end_instruction_index + 3]] + # print('next_3:', [(j_instruction.opname, j_instruction.argval) for j_instruction in instructions[exception_end_instruction_index:exception_end_instruction_index + 3]]) + if next_3 == ['POP_TOP', 'POP_TOP', 'POP_TOP']: # try..except without checking exception. + try: + jump_instruction = instructions[exception_end_instruction_index - 1] + if jump_instruction.opname not in ('JUMP_FORWARD', 'JUMP_ABSOLUTE'): + return None + except IndexError: + pass + + if jump_instruction.opname == 'JUMP_ABSOLUTE': + # On latest versions of Python 3 the interpreter has a go-backwards step, + # used to show the initial line of a for/while, etc (which is this + # JUMP_ABSOLUTE)... we're not really interested in it, but rather on where + # it points to. + except_end_instruction = instructions[offset_to_instruction_idx[jump_instruction.argval]] + idx = offset_to_instruction_idx[except_end_instruction.argval] + # Search for the POP_EXCEPT which should be at the end of the block. + for pop_except_instruction in reversed(instructions[:idx]): + if pop_except_instruction.opname == 'POP_EXCEPT': + except_end_instruction = pop_except_instruction + return _TargetInfo(except_end_instruction) + else: + return None # i.e.: Continue outer loop + + else: + # JUMP_FORWARD + i = offset_to_instruction_idx[jump_instruction.argval] + try: + # i.e.: the jump is to the instruction after the block finishes (so, we need to + # get the previous instruction as that should be the place where the exception + # block finishes). + except_end_instruction = instructions[i - 1] + except: + pydev_log.critical('Error when computing try..except block end.') + return None + return _TargetInfo(except_end_instruction) + + elif next_3 and next_3[0] == 'DUP_TOP': # try..except AssertionError. + iter_in = instructions[exception_end_instruction_index + 1:] + for j, jump_if_not_exc_instruction in enumerate(iter_in): + if jump_if_not_exc_instruction.opname == 'JUMP_IF_NOT_EXC_MATCH': + # Python 3.9 + except_end_instruction = instructions[offset_to_instruction_idx[jump_if_not_exc_instruction.argval]] + return _TargetInfo(except_end_instruction, jump_if_not_exc_instruction) + + elif jump_if_not_exc_instruction.opname == 'COMPARE_OP' and jump_if_not_exc_instruction.argval == 'exception match': + # Python 3.8 and before + try: + next_instruction = iter_in[j + 1] + except: + continue + if next_instruction.opname == 'POP_JUMP_IF_FALSE': + except_end_instruction = instructions[offset_to_instruction_idx[next_instruction.argval]] + return _TargetInfo(except_end_instruction, next_instruction) + else: + return None # i.e.: Continue outer loop + + else: + # i.e.: we're not interested in try..finally statements, only try..except. + return None + + def collect_try_except_info(co, use_func_first_line=False): + # We no longer have 'END_FINALLY', so, we need to do things differently in Python 3.9 + if not hasattr(co, 'co_lnotab'): + return [] + + if use_func_first_line: + firstlineno = co.co_firstlineno + else: + firstlineno = 0 + + try_except_info_lst = [] + + op_offset_to_line = dict(dis.findlinestarts(co)) + + offset_to_instruction_idx = {} + + instructions = list(iter_instructions(co)) + + for i, instruction in enumerate(instructions): + offset_to_instruction_idx[instruction.offset] = i + + for i, instruction in enumerate(instructions): + curr_op_name = instruction.opname + if curr_op_name in ('SETUP_FINALLY', 'SETUP_EXCEPT'): # SETUP_EXCEPT before Python 3.8, SETUP_FINALLY Python 3.8 onwards. + exception_end_instruction_index = offset_to_instruction_idx[instruction.argval] + + jump_instruction = instructions[exception_end_instruction_index - 1] + if jump_instruction.opname not in ('JUMP_FORWARD', 'JUMP_ABSOLUTE'): + continue + + except_end_instruction = None + indexes_checked = set() + indexes_checked.add(exception_end_instruction_index) + target_info = _get_except_target_info(instructions, exception_end_instruction_index, offset_to_instruction_idx) + while target_info is not None: + # Handle a try..except..except..except. + jump_instruction = target_info.jump_if_not_exc_instruction + except_end_instruction = target_info.except_end_instruction + + if jump_instruction is not None: + check_index = offset_to_instruction_idx[jump_instruction.argval] + if check_index in indexes_checked: + break + indexes_checked.add(check_index) + target_info = _get_except_target_info(instructions, check_index, offset_to_instruction_idx) + else: + break + + if except_end_instruction is not None: + try_except_info = TryExceptInfo( + _get_line(op_offset_to_line, instruction.offset, firstlineno, search=True), + ignore=False + ) + try_except_info.except_bytecode_offset = instruction.argval + try_except_info.except_line = _get_line( + op_offset_to_line, + try_except_info.except_bytecode_offset, + firstlineno, + search=True + ) + + try_except_info.except_end_bytecode_offset = except_end_instruction.offset + try_except_info.except_end_line = _get_line(op_offset_to_line, except_end_instruction.offset, firstlineno, search=True) + try_except_info_lst.append(try_except_info) + + for raise_instruction in instructions[i:offset_to_instruction_idx[try_except_info.except_end_bytecode_offset]]: + if raise_instruction.opname == 'RAISE_VARARGS': + if raise_instruction.argval == 0: + try_except_info.raise_lines_in_except.append( + _get_line(op_offset_to_line, raise_instruction.offset, firstlineno, search=True)) + + return try_except_info_lst + +elif sys.version_info[:2] == (3, 10): + + class _TargetInfo(object): + + def __init__(self, except_end_instruction, jump_if_not_exc_instruction=None): + self.except_end_instruction = except_end_instruction + self.jump_if_not_exc_instruction = jump_if_not_exc_instruction + + def __str__(self): + msg = ['_TargetInfo('] + msg.append(self.except_end_instruction.opname) + if self.jump_if_not_exc_instruction: + msg.append(' - ') + msg.append(self.jump_if_not_exc_instruction.opname) + msg.append('(') + msg.append(str(self.jump_if_not_exc_instruction.argval)) + msg.append(')') + msg.append(')') + return ''.join(msg) + + def _get_except_target_info(instructions, exception_end_instruction_index, offset_to_instruction_idx): + next_3 = [j_instruction.opname for j_instruction in instructions[exception_end_instruction_index:exception_end_instruction_index + 3]] + # print('next_3:', [(j_instruction.opname, j_instruction.argval) for j_instruction in instructions[exception_end_instruction_index:exception_end_instruction_index + 3]]) + if next_3 == ['POP_TOP', 'POP_TOP', 'POP_TOP']: # try..except without checking exception. + # Previously there was a jump which was able to point where the exception would end. This + # is no longer true, now a bare except doesn't really have any indication in the bytecode + # where the end would be expected if the exception wasn't raised, so, we just blindly + # search for a POP_EXCEPT from the current position. + for pop_except_instruction in instructions[exception_end_instruction_index + 3:]: + if pop_except_instruction.opname == 'POP_EXCEPT': + except_end_instruction = pop_except_instruction + return _TargetInfo(except_end_instruction) + + elif next_3 and next_3[0] == 'DUP_TOP': # try..except AssertionError. + iter_in = instructions[exception_end_instruction_index + 1:] + for jump_if_not_exc_instruction in iter_in: + if jump_if_not_exc_instruction.opname == 'JUMP_IF_NOT_EXC_MATCH': + # Python 3.9 + except_end_instruction = instructions[offset_to_instruction_idx[jump_if_not_exc_instruction.argval]] + return _TargetInfo(except_end_instruction, jump_if_not_exc_instruction) + else: + return None # i.e.: Continue outer loop + + else: + # i.e.: we're not interested in try..finally statements, only try..except. + return None + + def collect_try_except_info(co, use_func_first_line=False): + # We no longer have 'END_FINALLY', so, we need to do things differently in Python 3.9 + if not hasattr(co, 'co_lnotab'): + return [] + + if use_func_first_line: + firstlineno = co.co_firstlineno + else: + firstlineno = 0 + + try_except_info_lst = [] + + op_offset_to_line = dict(dis.findlinestarts(co)) + + offset_to_instruction_idx = {} + + instructions = list(iter_instructions(co)) + + for i, instruction in enumerate(instructions): + offset_to_instruction_idx[instruction.offset] = i + + for i, instruction in enumerate(instructions): + curr_op_name = instruction.opname + if curr_op_name == 'SETUP_FINALLY': + exception_end_instruction_index = offset_to_instruction_idx[instruction.argval] + + jump_instruction = instructions[exception_end_instruction_index] + if jump_instruction.opname != 'DUP_TOP': + continue + + except_end_instruction = None + indexes_checked = set() + indexes_checked.add(exception_end_instruction_index) + target_info = _get_except_target_info(instructions, exception_end_instruction_index, offset_to_instruction_idx) + while target_info is not None: + # Handle a try..except..except..except. + jump_instruction = target_info.jump_if_not_exc_instruction + except_end_instruction = target_info.except_end_instruction + + if jump_instruction is not None: + check_index = offset_to_instruction_idx[jump_instruction.argval] + if check_index in indexes_checked: + break + indexes_checked.add(check_index) + target_info = _get_except_target_info(instructions, check_index, offset_to_instruction_idx) + else: + break + + if except_end_instruction is not None: + try_except_info = TryExceptInfo( + _get_line(op_offset_to_line, instruction.offset, firstlineno, search=True), + ignore=False + ) + try_except_info.except_bytecode_offset = instruction.argval + try_except_info.except_line = _get_line( + op_offset_to_line, + try_except_info.except_bytecode_offset, + firstlineno, + search=True + ) + + try_except_info.except_end_bytecode_offset = except_end_instruction.offset + + # On Python 3.10 the final line of the except end isn't really correct, rather, + # it's engineered to be the same line of the except and not the end line of the + # block, so, the approach taken is to search for the biggest line between the + # except and the end instruction + except_end_line = -1 + start_i = offset_to_instruction_idx[try_except_info.except_bytecode_offset] + end_i = offset_to_instruction_idx[except_end_instruction.offset] + for instruction in instructions[start_i: end_i + 1]: + found_at_line = op_offset_to_line.get(instruction.offset) + if found_at_line is not None and found_at_line > except_end_line: + except_end_line = found_at_line + try_except_info.except_end_line = except_end_line - firstlineno + + try_except_info_lst.append(try_except_info) + + for raise_instruction in instructions[i:offset_to_instruction_idx[try_except_info.except_end_bytecode_offset]]: + if raise_instruction.opname == 'RAISE_VARARGS': + if raise_instruction.argval == 0: + try_except_info.raise_lines_in_except.append( + _get_line(op_offset_to_line, raise_instruction.offset, firstlineno, search=True)) + + return try_except_info_lst + +elif sys.version_info[:2] >= (3, 11): + + def collect_try_except_info(co, use_func_first_line=False): + ''' + Note: if the filename is available and we can get the source, + `collect_try_except_info_from_source` is preferred (this is kept as + a fallback for cases where sources aren't available). + ''' + return [] + +import ast as ast_module + + +class _Visitor(ast_module.NodeVisitor): + + def __init__(self): + self.try_except_infos = [] + self._stack = [] + self._in_except_stack = [] + self.max_line = -1 + + def generic_visit(self, node): + if hasattr(node, 'lineno'): + if node.lineno > self.max_line: + self.max_line = node.lineno + return ast_module.NodeVisitor.generic_visit(self, node) + + def visit_Try(self, node): + info = TryExceptInfo(node.lineno, ignore=True) + self._stack.append(info) + self.generic_visit(node) + assert info is self._stack.pop() + if not info.ignore: + self.try_except_infos.insert(0, info) + + if sys.version_info[0] < 3: + visit_TryExcept = visit_Try + + def visit_ExceptHandler(self, node): + info = self._stack[-1] + info.ignore = False + if info.except_line == -1: + info.except_line = node.lineno + self._in_except_stack.append(info) + self.generic_visit(node) + if hasattr(node, 'end_lineno'): + info.except_end_line = node.end_lineno + else: + info.except_end_line = self.max_line + self._in_except_stack.pop() + + if sys.version_info[0] >= 3: + + def visit_Raise(self, node): + for info in self._in_except_stack: + if node.exc is None: + info.raise_lines_in_except.append(node.lineno) + self.generic_visit(node) + + else: + + def visit_Raise(self, node): + for info in self._in_except_stack: + if node.type is None and node.tback is None: + info.raise_lines_in_except.append(node.lineno) + self.generic_visit(node) + + +def collect_try_except_info_from_source(filename): + with open(filename, 'rb') as stream: + contents = stream.read() + return collect_try_except_info_from_contents(contents, filename) + + +def collect_try_except_info_from_contents(contents, filename=''): + ast = ast_module.parse(contents, filename) + visitor = _Visitor() + visitor.visit(ast) + return visitor.try_except_infos + + +RESTART_FROM_LOOKAHEAD = object() +SEPARATOR = object() + + +class _MsgPart(object): + + def __init__(self, line, tok): + assert line >= 0 + self.line = line + self.tok = tok + + @classmethod + def add_to_line_to_contents(cls, obj, line_to_contents, line=None): + if isinstance(obj, (list, tuple)): + for o in obj: + cls.add_to_line_to_contents(o, line_to_contents, line=line) + return + + if isinstance(obj, str): + assert line is not None + line = int(line) + lst = line_to_contents.setdefault(line, []) + lst.append(obj) + return + + if isinstance(obj, _MsgPart): + if isinstance(obj.tok, (list, tuple)): + cls.add_to_line_to_contents(obj.tok, line_to_contents, line=obj.line) + return + + if isinstance(obj.tok, str): + lst = line_to_contents.setdefault(obj.line, []) + lst.append(obj.tok) + return + + raise AssertionError("Unhandled: %" % (obj,)) + + +class _Disassembler(object): + + def __init__(self, co, firstlineno, level=0): + self.co = co + self.firstlineno = firstlineno + self.level = level + self.instructions = list(iter_instructions(co)) + op_offset_to_line = self.op_offset_to_line = dict(dis.findlinestarts(co)) + + # Update offsets so that all offsets have the line index (and update it based on + # the passed firstlineno). + line_index = co.co_firstlineno - firstlineno + for instruction in self.instructions: + new_line_index = op_offset_to_line.get(instruction.offset) + if new_line_index is not None: + line_index = new_line_index - firstlineno + op_offset_to_line[instruction.offset] = line_index + else: + op_offset_to_line[instruction.offset] = line_index + + BIG_LINE_INT = 9999999 + SMALL_LINE_INT = -1 + + def min_line(self, *args): + m = self.BIG_LINE_INT + for arg in args: + if isinstance(arg, (list, tuple)): + m = min(m, self.min_line(*arg)) + + elif isinstance(arg, _MsgPart): + m = min(m, arg.line) + + elif hasattr(arg, 'offset'): + m = min(m, self.op_offset_to_line[arg.offset]) + return m + + def max_line(self, *args): + m = self.SMALL_LINE_INT + for arg in args: + if isinstance(arg, (list, tuple)): + m = max(m, self.max_line(*arg)) + + elif isinstance(arg, _MsgPart): + m = max(m, arg.line) + + elif hasattr(arg, 'offset'): + m = max(m, self.op_offset_to_line[arg.offset]) + return m + + def _lookahead(self): + ''' + This handles and converts some common constructs from bytecode to actual source code. + + It may change the list of instructions. + ''' + msg = self._create_msg_part + found = [] + fullrepr = None + + # Collect all the load instructions + for next_instruction in self.instructions: + if next_instruction.opname in ('LOAD_GLOBAL', 'LOAD_FAST', 'LOAD_CONST', 'LOAD_NAME'): + found.append(next_instruction) + else: + break + + if not found: + return None + + if next_instruction.opname == 'LOAD_ATTR': + prev_instruction = found[-1] + # Remove the current LOAD_ATTR + assert self.instructions.pop(len(found)) is next_instruction + + # Add the LOAD_ATTR to the previous LOAD + self.instructions[len(found) - 1] = _Instruction( + prev_instruction.opname, + prev_instruction.opcode, + prev_instruction.starts_line, + prev_instruction.argval, + False, # prev_instruction.is_jump_target, + prev_instruction.offset, + ( + msg(prev_instruction), + msg(prev_instruction, '.'), + msg(next_instruction) + ), + ) + return RESTART_FROM_LOOKAHEAD + + if next_instruction.opname in ('CALL_FUNCTION', 'PRECALL'): + if len(found) == next_instruction.argval + 1: + force_restart = False + delta = 0 + else: + force_restart = True + if len(found) > next_instruction.argval + 1: + delta = len(found) - (next_instruction.argval + 1) + else: + return None # This is odd + + del_upto = delta + next_instruction.argval + 2 # +2 = NAME / CALL_FUNCTION + if next_instruction.opname == 'PRECALL': + del_upto += 1 # Also remove the CALL right after the PRECALL. + del self.instructions[delta:del_upto] + + found = iter(found[delta:]) + call_func = next(found) + args = list(found) + fullrepr = [ + msg(call_func), + msg(call_func, '('), + ] + prev = call_func + for i, arg in enumerate(args): + if i > 0: + fullrepr.append(msg(prev, ', ')) + prev = arg + fullrepr.append(msg(arg)) + + fullrepr.append(msg(prev, ')')) + + if force_restart: + self.instructions.insert(delta, _Instruction( + call_func.opname, + call_func.opcode, + call_func.starts_line, + call_func.argval, + False, # call_func.is_jump_target, + call_func.offset, + tuple(fullrepr), + )) + return RESTART_FROM_LOOKAHEAD + + elif next_instruction.opname == 'BUILD_TUPLE': + + if len(found) == next_instruction.argval: + force_restart = False + delta = 0 + else: + force_restart = True + if len(found) > next_instruction.argval: + delta = len(found) - (next_instruction.argval) + else: + return None # This is odd + + del self.instructions[delta:delta + next_instruction.argval + 1] # +1 = BUILD_TUPLE + + found = iter(found[delta:]) + + args = [instruction for instruction in found] + if args: + first_instruction = args[0] + else: + first_instruction = next_instruction + prev = first_instruction + + fullrepr = [] + fullrepr.append(msg(prev, '(')) + for i, arg in enumerate(args): + if i > 0: + fullrepr.append(msg(prev, ', ')) + prev = arg + fullrepr.append(msg(arg)) + + fullrepr.append(msg(prev, ')')) + + if force_restart: + self.instructions.insert(delta, _Instruction( + first_instruction.opname, + first_instruction.opcode, + first_instruction.starts_line, + first_instruction.argval, + False, # first_instruction.is_jump_target, + first_instruction.offset, + tuple(fullrepr), + )) + return RESTART_FROM_LOOKAHEAD + + if fullrepr is not None and self.instructions: + if self.instructions[0].opname == 'POP_TOP': + self.instructions.pop(0) + + if self.instructions[0].opname in ('STORE_FAST', 'STORE_NAME'): + next_instruction = self.instructions.pop(0) + return msg(next_instruction), msg(next_instruction, ' = '), fullrepr + + if self.instructions[0].opname == 'RETURN_VALUE': + next_instruction = self.instructions.pop(0) + return msg(next_instruction, 'return ', line=self.min_line(next_instruction, fullrepr)), fullrepr + + return fullrepr + + def _decorate_jump_target(self, instruction, instruction_repr): + if instruction.is_jump_target: + return ('|', str(instruction.offset), '|', instruction_repr) + + return instruction_repr + + def _create_msg_part(self, instruction, tok=None, line=None): + dec = self._decorate_jump_target + if line is None or line in (self.BIG_LINE_INT, self.SMALL_LINE_INT): + line = self.op_offset_to_line[instruction.offset] + + argrepr = instruction.argrepr + if isinstance(argrepr, str) and argrepr.startswith('NULL + '): + argrepr = argrepr[7:] + return _MsgPart( + line, tok if tok is not None else dec(instruction, argrepr)) + + def _next_instruction_to_str(self, line_to_contents): + # indent = '' + # if self.level > 0: + # indent += ' ' * self.level + # print(indent, 'handle', self.instructions[0]) + + if self.instructions: + ret = self._lookahead() + if ret: + return ret + + msg = self._create_msg_part + + instruction = self.instructions.pop(0) + + if instruction.opname in 'RESUME': + return None + + if instruction.opname in ('LOAD_GLOBAL', 'LOAD_FAST', 'LOAD_CONST', 'LOAD_NAME'): + next_instruction = self.instructions[0] + if next_instruction.opname in ('STORE_FAST', 'STORE_NAME'): + self.instructions.pop(0) + return ( + msg(next_instruction), + msg(next_instruction, ' = '), + msg(instruction)) + + if next_instruction.opname == 'RETURN_VALUE': + self.instructions.pop(0) + return (msg(instruction, 'return ', line=self.min_line(instruction)), msg(instruction)) + + if next_instruction.opname == 'RAISE_VARARGS' and next_instruction.argval == 1: + self.instructions.pop(0) + return (msg(instruction, 'raise ', line=self.min_line(instruction)), msg(instruction)) + + if instruction.opname == 'LOAD_CONST': + if inspect.iscode(instruction.argval): + + code_line_to_contents = _Disassembler( + instruction.argval, self.firstlineno, self.level + 1 + ).build_line_to_contents() + + for contents in code_line_to_contents.values(): + contents.insert(0, ' ') + for line, contents in code_line_to_contents.items(): + line_to_contents.setdefault(line, []).extend(contents) + return msg(instruction, 'LOAD_CONST(code)') + + if instruction.opname == 'RAISE_VARARGS': + if instruction.argval == 0: + return msg(instruction, 'raise') + + if instruction.opname == 'SETUP_FINALLY': + return msg(instruction, ('try(', instruction.argrepr, '):')) + + if instruction.argrepr: + return msg(instruction, (instruction.opname, '(', instruction.argrepr, ')')) + + if instruction.argval: + return msg(instruction, '%s{%s}' % (instruction.opname, instruction.argval,)) + + return msg(instruction, instruction.opname) + + def build_line_to_contents(self): + # print('----') + # for instruction in self.instructions: + # print(instruction) + # print('----\n\n') + + line_to_contents = {} + + instructions = self.instructions + while instructions: + s = self._next_instruction_to_str(line_to_contents) + if s is RESTART_FROM_LOOKAHEAD: + continue + if s is None: + continue + + _MsgPart.add_to_line_to_contents(s, line_to_contents) + m = self.max_line(s) + if m != self.SMALL_LINE_INT: + line_to_contents.setdefault(m, []).append(SEPARATOR) + return line_to_contents + + def disassemble(self): + line_to_contents = self.build_line_to_contents() + stream = StringIO() + last_line = 0 + show_lines = False + for line, contents in sorted(line_to_contents.items()): + while last_line < line - 1: + if show_lines: + stream.write('%s.\n' % (last_line + 1,)) + else: + stream.write('\n') + last_line += 1 + + if show_lines: + stream.write('%s. ' % (line,)) + + for i, content in enumerate(contents): + if content == SEPARATOR: + if i != len(contents) - 1: + stream.write(', ') + else: + stream.write(content) + + stream.write('\n') + + last_line = line + + return stream.getvalue() + + +def code_to_bytecode_representation(co, use_func_first_line=False): + ''' + A simple disassemble of bytecode. + + It does not attempt to provide the full Python source code, rather, it provides a low-level + representation of the bytecode, respecting the lines (so, its target is making the bytecode + easier to grasp and not providing the original source code). + + Note that it does show jump locations/targets and converts some common bytecode constructs to + Python code to make it a bit easier to understand. + ''' + # Reference for bytecodes: + # https://docs.python.org/3/library/dis.html + if use_func_first_line: + firstlineno = co.co_firstlineno + else: + firstlineno = 0 + + return _Disassembler(co, firstlineno).disassemble() diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_comm.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_comm.py new file mode 100644 index 0000000..930adda --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_comm.py @@ -0,0 +1,1822 @@ +''' pydevd - a debugging daemon +This is the daemon you launch for python remote debugging. + +Protocol: +each command has a format: + id\tsequence-num\ttext + id: protocol command number + sequence-num: each request has a sequence number. Sequence numbers + originating at the debugger are odd, sequence numbers originating + at the daemon are even. Every response uses the same sequence number + as the request. + payload: it is protocol dependent. When response is a complex structure, it + is returned as XML. Each attribute value is urlencoded, and then the whole + payload is urlencoded again to prevent stray characters corrupting protocol/xml encodings + + Commands: + + NUMBER NAME FROM* ARGUMENTS RESPONSE NOTE +100 series: program execution + 101 RUN JAVA - - + 102 LIST_THREADS JAVA RETURN with XML listing of all threads + 103 THREAD_CREATE PYDB - XML with thread information + 104 THREAD_KILL JAVA id (or * to exit) kills the thread + PYDB id nofies JAVA that thread was killed + 105 THREAD_SUSPEND JAVA XML of the stack, suspends the thread + reason for suspension + PYDB id notifies JAVA that thread was suspended + + 106 CMD_THREAD_RUN JAVA id resume the thread + PYDB id \t reason notifies JAVA that thread was resumed + + 107 STEP_INTO JAVA thread_id + 108 STEP_OVER JAVA thread_id + 109 STEP_RETURN JAVA thread_id + + 110 GET_VARIABLE JAVA thread_id \t frame_id \t GET_VARIABLE with XML of var content + FRAME|GLOBAL \t attributes* + + 111 SET_BREAK JAVA file/line of the breakpoint + 112 REMOVE_BREAK JAVA file/line of the return + 113 CMD_EVALUATE_EXPRESSION JAVA expression result of evaluating the expression + 114 CMD_GET_FRAME JAVA request for frame contents + 115 CMD_EXEC_EXPRESSION JAVA + 116 CMD_WRITE_TO_CONSOLE PYDB + 117 CMD_CHANGE_VARIABLE + 118 CMD_RUN_TO_LINE + 119 CMD_RELOAD_CODE + 120 CMD_GET_COMPLETIONS JAVA + + 200 CMD_REDIRECT_OUTPUT JAVA streams to redirect as string - + 'STDOUT' (redirect only STDOUT) + 'STDERR' (redirect only STDERR) + 'STDOUT STDERR' (redirect both streams) + +500 series diagnostics/ok + 501 VERSION either Version string (1.0) Currently just used at startup + 502 RETURN either Depends on caller - + +900 series: errors + 901 ERROR either - This is reserved for unexpected errors. + + * JAVA - remote debugger, the java end + * PYDB - pydevd, the python end +''' + +import linecache +import os + +from _pydev_bundle.pydev_imports import _queue +from _pydev_bundle._pydev_saved_modules import time +from _pydev_bundle._pydev_saved_modules import threading +from _pydev_bundle._pydev_saved_modules import socket as socket_module +from _pydevd_bundle.pydevd_constants import (DebugInfoHolder, IS_WINDOWS, IS_JYTHON, + IS_PY36_OR_GREATER, STATE_RUN, ASYNC_EVAL_TIMEOUT_SEC, + get_global_debugger, GetGlobalDebugger, set_global_debugger, # Keep for backward compatibility @UnusedImport + silence_warnings_decorator, filter_all_warnings) +from _pydev_bundle.pydev_override import overrides +import weakref +from _pydev_bundle._pydev_completer import extract_token_and_qualifier +from _pydevd_bundle._debug_adapter.pydevd_schema import VariablesResponseBody, \ + SetVariableResponseBody, StepInTarget, StepInTargetsResponseBody +from _pydevd_bundle._debug_adapter import pydevd_base_schema, pydevd_schema +from _pydevd_bundle.pydevd_net_command import NetCommand +from _pydevd_bundle.pydevd_xml import ExceptionOnEvaluate +from _pydevd_bundle.pydevd_constants import ForkSafeLock, NULL +from _pydevd_bundle.pydevd_daemon_thread import PyDBDaemonThread +from _pydevd_bundle.pydevd_thread_lifecycle import pydevd_find_thread_by_id, resume_threads +from _pydevd_bundle.pydevd_dont_trace_files import PYDEV_FILE +import dis +from _pydevd_bundle.pydevd_frame_utils import create_frames_list_from_exception_cause +import pydevd_file_utils +import itertools +from urllib.parse import quote_plus, unquote_plus +import pydevconsole +from _pydevd_bundle import pydevd_vars, pydevd_io, pydevd_reload +from _pydevd_bundle import pydevd_bytecode_utils +from _pydevd_bundle import pydevd_xml +from _pydevd_bundle import pydevd_vm_type +import sys +import traceback +from _pydevd_bundle.pydevd_utils import quote_smart as quote, compare_object_attrs_key, \ + notify_about_gevent_if_needed, isinstance_checked, ScopeRequest, getattr_checked, Timer +from _pydev_bundle import pydev_log, fsnotify +from _pydev_bundle.pydev_log import exception as pydev_log_exception +from _pydev_bundle import _pydev_completer + +from pydevd_tracing import get_exception_traceback_str +from _pydevd_bundle import pydevd_console +from _pydev_bundle.pydev_monkey import disable_trace_thread_modules, enable_trace_thread_modules +from io import StringIO + +# CMD_XXX constants imported for backward compatibility +from _pydevd_bundle.pydevd_comm_constants import * # @UnusedWildImport + +# Socket import aliases: +AF_INET, SOCK_STREAM, SHUT_WR, SOL_SOCKET, SO_REUSEADDR, IPPROTO_TCP, socket = ( + socket_module.AF_INET, + socket_module.SOCK_STREAM, + socket_module.SHUT_WR, + socket_module.SOL_SOCKET, + socket_module.SO_REUSEADDR, + socket_module.IPPROTO_TCP, + socket_module.socket, +) + +if IS_WINDOWS and not IS_JYTHON: + SO_EXCLUSIVEADDRUSE = socket_module.SO_EXCLUSIVEADDRUSE + + +class ReaderThread(PyDBDaemonThread): + ''' reader thread reads and dispatches commands in an infinite loop ''' + + def __init__(self, sock, py_db, PyDevJsonCommandProcessor, process_net_command, terminate_on_socket_close=True): + assert sock is not None + PyDBDaemonThread.__init__(self, py_db) + self.__terminate_on_socket_close = terminate_on_socket_close + + self.sock = sock + self._buffer = b'' + self.name = "pydevd.Reader" + self.process_net_command = process_net_command + self.process_net_command_json = PyDevJsonCommandProcessor(self._from_json).process_net_command_json + + def _from_json(self, json_msg, update_ids_from_dap=False): + return pydevd_base_schema.from_json(json_msg, update_ids_from_dap, on_dict_loaded=self._on_dict_loaded) + + def _on_dict_loaded(self, dct): + for listener in self.py_db.dap_messages_listeners: + listener.after_receive(dct) + + @overrides(PyDBDaemonThread.do_kill_pydev_thread) + def do_kill_pydev_thread(self): + PyDBDaemonThread.do_kill_pydev_thread(self) + # Note that we no longer shutdown the reader, just the writer. The idea is that we shutdown + # the writer to send that the communication has finished, then, the client will shutdown its + # own writer when it receives an empty read, at which point this reader will also shutdown. + + # That way, we can *almost* guarantee that all messages have been properly sent -- it's not + # completely guaranteed because it's possible that the process exits before the whole + # message was sent as having this thread alive won't stop the process from exiting -- we + # have a timeout when exiting the process waiting for this thread to finish -- see: + # PyDB.dispose_and_kill_all_pydevd_threads()). + + # try: + # self.sock.shutdown(SHUT_RD) + # except: + # pass + # try: + # self.sock.close() + # except: + # pass + + def _read(self, size): + while True: + buffer_len = len(self._buffer) + if buffer_len == size: + ret = self._buffer + self._buffer = b'' + return ret + + if buffer_len > size: + ret = self._buffer[:size] + self._buffer = self._buffer[size:] + return ret + + try: + r = self.sock.recv(max(size - buffer_len, 1024)) + except OSError: + return b'' + if not r: + return b'' + self._buffer += r + + def _read_line(self): + while True: + i = self._buffer.find(b'\n') + if i != -1: + i += 1 # Add the newline to the return + ret = self._buffer[:i] + self._buffer = self._buffer[i:] + return ret + else: + try: + r = self.sock.recv(1024) + except OSError: + return b'' + if not r: + return b'' + self._buffer += r + + @overrides(PyDBDaemonThread._on_run) + def _on_run(self): + try: + content_len = -1 + + while True: + # i.e.: even if we received a kill, we should only exit the ReaderThread when the + # client itself closes the connection (although on kill received we stop actually + # processing anything read). + try: + notify_about_gevent_if_needed() + line = self._read_line() + + if len(line) == 0: + pydev_log.debug('ReaderThread: empty contents received (len(line) == 0).') + self._terminate_on_socket_close() + return # Finished communication. + + if self._kill_received: + continue + + if line.startswith(b'Content-Length:'): + content_len = int(line.strip().split(b':', 1)[1]) + continue + + if content_len != -1: + # If we previously received a content length, read until a '\r\n'. + if line == b'\r\n': + json_contents = self._read(content_len) + + content_len = -1 + + if len(json_contents) == 0: + pydev_log.debug('ReaderThread: empty contents received (len(json_contents) == 0).') + self._terminate_on_socket_close() + return # Finished communication. + + if self._kill_received: + continue + + # We just received a json message, let's process it. + self.process_net_command_json(self.py_db, json_contents) + + continue + else: + # No content len, regular line-based protocol message (remove trailing new-line). + if line.endswith(b'\n\n'): + line = line[:-2] + + elif line.endswith(b'\n'): + line = line[:-1] + + elif line.endswith(b'\r'): + line = line[:-1] + except: + if not self._kill_received: + pydev_log_exception() + self._terminate_on_socket_close() + return # Finished communication. + + # Note: the java backend is always expected to pass utf-8 encoded strings. We now work with str + # internally and thus, we may need to convert to the actual encoding where needed (i.e.: filenames + # on python 2 may need to be converted to the filesystem encoding). + if hasattr(line, 'decode'): + line = line.decode('utf-8') + + if DebugInfoHolder.DEBUG_RECORD_SOCKET_READS: + pydev_log.critical(u'debugger: received >>%s<<\n' % (line,)) + + args = line.split(u'\t', 2) + try: + cmd_id = int(args[0]) + pydev_log.debug('Received command: %s %s\n' % (ID_TO_MEANING.get(str(cmd_id), '???'), line,)) + self.process_command(cmd_id, int(args[1]), args[2]) + except: + if sys is not None and pydev_log_exception is not None: # Could happen at interpreter shutdown + pydev_log_exception("Can't process net command: %s.", line) + + except: + if not self._kill_received: + if sys is not None and pydev_log_exception is not None: # Could happen at interpreter shutdown + pydev_log_exception() + + self._terminate_on_socket_close() + finally: + pydev_log.debug('ReaderThread: exit') + + def _terminate_on_socket_close(self): + if self.__terminate_on_socket_close: + self.py_db.dispose_and_kill_all_pydevd_threads() + + def process_command(self, cmd_id, seq, text): + self.process_net_command(self.py_db, cmd_id, seq, text) + + +class FSNotifyThread(PyDBDaemonThread): + + def __init__(self, py_db, api, watch_dirs): + PyDBDaemonThread.__init__(self, py_db) + self.api = api + self.name = "pydevd.FSNotifyThread" + self.watcher = fsnotify.Watcher() + self.watch_dirs = watch_dirs + + @overrides(PyDBDaemonThread._on_run) + def _on_run(self): + try: + pydev_log.info('Watching directories for code reload:\n---\n%s\n---' % ('\n'.join(sorted(self.watch_dirs)))) + + # i.e.: The first call to set_tracked_paths will do a full scan, so, do it in the thread + # too (after everything is configured). + self.watcher.set_tracked_paths(self.watch_dirs) + while not self._kill_received: + for change_enum, change_path in self.watcher.iter_changes(): + # We're only interested in modified events + if change_enum == fsnotify.Change.modified: + pydev_log.info('Modified: %s', change_path) + self.api.request_reload_code(self.py_db, -1, None, change_path) + else: + pydev_log.info('Ignored (add or remove) change in: %s', change_path) + except: + pydev_log.exception('Error when waiting for filesystem changes in FSNotifyThread.') + + @overrides(PyDBDaemonThread.do_kill_pydev_thread) + def do_kill_pydev_thread(self): + self.watcher.dispose() + PyDBDaemonThread.do_kill_pydev_thread(self) + + +class WriterThread(PyDBDaemonThread): + ''' writer thread writes out the commands in an infinite loop ''' + + def __init__(self, sock, py_db, terminate_on_socket_close=True): + PyDBDaemonThread.__init__(self, py_db) + self.sock = sock + self.__terminate_on_socket_close = terminate_on_socket_close + self.name = "pydevd.Writer" + self._cmd_queue = _queue.Queue() + if pydevd_vm_type.get_vm_type() == 'python': + self.timeout = 0 + else: + self.timeout = 0.1 + + def add_command(self, cmd): + ''' cmd is NetCommand ''' + if not self._kill_received: # we don't take new data after everybody die + self._cmd_queue.put(cmd, False) + + @overrides(PyDBDaemonThread._on_run) + def _on_run(self): + ''' just loop and write responses ''' + + try: + while True: + try: + try: + cmd = self._cmd_queue.get(True, 0.1) + except _queue.Empty: + if self._kill_received: + pydev_log.debug('WriterThread: kill_received (sock.shutdown(SHUT_WR))') + try: + self.sock.shutdown(SHUT_WR) + except: + pass + # Note: don't close the socket, just send the shutdown, + # then, when no data is received on the reader, it can close + # the socket. + # See: https://blog.netherlabs.nl/articles/2009/01/18/the-ultimate-so_linger-page-or-why-is-my-tcp-not-reliable + + # try: + # self.sock.close() + # except: + # pass + + return # break if queue is empty and _kill_received + else: + continue + except: + # pydev_log.info('Finishing debug communication...(1)') + # when liberating the thread here, we could have errors because we were shutting down + # but the thread was still not liberated + return + + if cmd.as_dict is not None: + for listener in self.py_db.dap_messages_listeners: + listener.before_send(cmd.as_dict) + + notify_about_gevent_if_needed() + cmd.send(self.sock) + + if cmd.id == CMD_EXIT: + pydev_log.debug('WriterThread: CMD_EXIT received') + break + if time is None: + break # interpreter shutdown + time.sleep(self.timeout) + except Exception: + if self.__terminate_on_socket_close: + self.py_db.dispose_and_kill_all_pydevd_threads() + if DebugInfoHolder.DEBUG_TRACE_LEVEL > 0: + pydev_log_exception() + finally: + pydev_log.debug('WriterThread: exit') + + def empty(self): + return self._cmd_queue.empty() + + @overrides(PyDBDaemonThread.do_kill_pydev_thread) + def do_kill_pydev_thread(self): + if not self._kill_received: + # Add command before setting the kill flag (otherwise the command may not be added). + exit_cmd = self.py_db.cmd_factory.make_exit_command(self.py_db) + self.add_command(exit_cmd) + + PyDBDaemonThread.do_kill_pydev_thread(self) + + +def create_server_socket(host, port): + try: + server = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP) + if IS_WINDOWS and not IS_JYTHON: + server.setsockopt(SOL_SOCKET, SO_EXCLUSIVEADDRUSE, 1) + else: + server.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1) + + server.bind((host, port)) + server.settimeout(None) + except Exception: + server.close() + raise + + return server + + +def start_server(port): + ''' binds to a port, waits for the debugger to connect ''' + s = create_server_socket(host='', port=port) + + try: + s.listen(1) + new_socket, _addr = s.accept() + pydev_log.info("Connection accepted") + # closing server socket is not necessary but we don't need it + s.close() + return new_socket + except: + pydev_log.exception("Could not bind to port: %s\n", port) + raise + + +def start_client(host, port): + ''' connects to a host/port ''' + pydev_log.info("Connecting to %s:%s", host, port) + + s = socket(AF_INET, SOCK_STREAM) + + # Set TCP keepalive on an open socket. + # It activates after 1 second (TCP_KEEPIDLE,) of idleness, + # then sends a keepalive ping once every 3 seconds (TCP_KEEPINTVL), + # and closes the connection after 5 failed ping (TCP_KEEPCNT), or 15 seconds + try: + s.setsockopt(SOL_SOCKET, socket_module.SO_KEEPALIVE, 1) + except (AttributeError, OSError): + pass # May not be available everywhere. + try: + s.setsockopt(socket_module.IPPROTO_TCP, socket_module.TCP_KEEPIDLE, 1) + except (AttributeError, OSError): + pass # May not be available everywhere. + try: + s.setsockopt(socket_module.IPPROTO_TCP, socket_module.TCP_KEEPINTVL, 3) + except (AttributeError, OSError): + pass # May not be available everywhere. + try: + s.setsockopt(socket_module.IPPROTO_TCP, socket_module.TCP_KEEPCNT, 5) + except (AttributeError, OSError): + pass # May not be available everywhere. + + try: + # 10 seconds default timeout + timeout = int(os.environ.get('PYDEVD_CONNECT_TIMEOUT', 10)) + s.settimeout(timeout) + s.connect((host, port)) + s.settimeout(None) # no timeout after connected + pydev_log.info("Connected.") + return s + except: + pydev_log.exception("Could not connect to %s: %s", host, port) + raise + + +INTERNAL_TERMINATE_THREAD = 1 +INTERNAL_SUSPEND_THREAD = 2 + + +class InternalThreadCommand(object): + ''' internal commands are generated/executed by the debugger. + + The reason for their existence is that some commands have to be executed + on specific threads. These are the InternalThreadCommands that get + get posted to PyDB. + ''' + + def __init__(self, thread_id, method=None, *args, **kwargs): + self.thread_id = thread_id + self.method = method + self.args = args + self.kwargs = kwargs + + def can_be_executed_by(self, thread_id): + '''By default, it must be in the same thread to be executed + ''' + return self.thread_id == thread_id or self.thread_id.endswith('|' + thread_id) + + def do_it(self, dbg): + try: + if self.method is not None: + self.method(dbg, *self.args, **self.kwargs) + else: + raise NotImplementedError("you have to override do_it") + finally: + self.args = None + self.kwargs = None + + def __str__(self): + return 'InternalThreadCommands(%s, %s, %s)' % (self.method, self.args, self.kwargs) + + __repr__ = __str__ + + +class InternalThreadCommandForAnyThread(InternalThreadCommand): + + def __init__(self, thread_id, method=None, *args, **kwargs): + assert thread_id == '*' + + InternalThreadCommand.__init__(self, thread_id, method, *args, **kwargs) + + self.executed = False + self.lock = ForkSafeLock() + + def can_be_executed_by(self, thread_id): + return True # Can be executed by any thread. + + def do_it(self, dbg): + with self.lock: + if self.executed: + return + self.executed = True + + InternalThreadCommand.do_it(self, dbg) + + +def _send_io_message(py_db, s): + cmd = py_db.cmd_factory.make_io_message(s, 2) + if py_db.writer is not None: + py_db.writer.add_command(cmd) + + +def internal_reload_code(dbg, seq, module_name, filename): + try: + found_module_to_reload = False + if module_name is not None: + module_name = module_name + if module_name not in sys.modules: + if '.' in module_name: + new_module_name = module_name.split('.')[-1] + if new_module_name in sys.modules: + module_name = new_module_name + + modules_to_reload = {} + module = sys.modules.get(module_name) + if module is not None: + modules_to_reload[id(module)] = (module, module_name) + + if filename: + filename = pydevd_file_utils.normcase(filename) + for module_name, module in sys.modules.copy().items(): + f = getattr_checked(module, '__file__') + if f is not None: + if f.endswith(('.pyc', '.pyo')): + f = f[:-1] + + if pydevd_file_utils.normcase(f) == filename: + modules_to_reload[id(module)] = (module, module_name) + + if not modules_to_reload: + if filename and module_name: + _send_io_message(dbg, 'code reload: Unable to find module %s to reload for path: %s\n' % (module_name, filename)) + elif filename: + _send_io_message(dbg, 'code reload: Unable to find module to reload for path: %s\n' % (filename,)) + elif module_name: + _send_io_message(dbg, 'code reload: Unable to find module to reload: %s\n' % (module_name,)) + + else: + # Too much info... + # _send_io_message(dbg, 'code reload: This usually means you are trying to reload the __main__ module (which cannot be reloaded).\n') + for module, module_name in modules_to_reload.values(): + _send_io_message(dbg, 'code reload: Start reloading module: "' + module_name + '" ... \n') + found_module_to_reload = True + + if pydevd_reload.xreload(module): + _send_io_message(dbg, 'code reload: reload finished\n') + else: + _send_io_message(dbg, 'code reload: reload finished without applying any change\n') + + cmd = dbg.cmd_factory.make_reloaded_code_message(seq, found_module_to_reload) + dbg.writer.add_command(cmd) + except: + pydev_log.exception('Error reloading code') + + +class InternalGetThreadStack(InternalThreadCommand): + ''' + This command will either wait for a given thread to be paused to get its stack or will provide + it anyways after a timeout (in which case the stack will be gotten but local variables won't + be available and it'll not be possible to interact with the frame as it's not actually + stopped in a breakpoint). + ''' + + def __init__(self, seq, thread_id, py_db, set_additional_thread_info, fmt, timeout=.5, start_frame=0, levels=0): + InternalThreadCommand.__init__(self, thread_id) + self._py_db = weakref.ref(py_db) + self._timeout = time.time() + timeout + self.seq = seq + self._cmd = None + self._fmt = fmt + self._start_frame = start_frame + self._levels = levels + + # Note: receives set_additional_thread_info to avoid a circular import + # in this module. + self._set_additional_thread_info = set_additional_thread_info + + @overrides(InternalThreadCommand.can_be_executed_by) + def can_be_executed_by(self, _thread_id): + timed_out = time.time() >= self._timeout + + py_db = self._py_db() + t = pydevd_find_thread_by_id(self.thread_id) + frame = None + if t and not getattr(t, 'pydev_do_not_trace', None): + additional_info = self._set_additional_thread_info(t) + frame = additional_info.get_topmost_frame(t) + try: + self._cmd = py_db.cmd_factory.make_get_thread_stack_message( + py_db, self.seq, self.thread_id, frame, self._fmt, must_be_suspended=not timed_out, start_frame=self._start_frame, levels=self._levels) + finally: + frame = None + t = None + + return self._cmd is not None or timed_out + + @overrides(InternalThreadCommand.do_it) + def do_it(self, dbg): + if self._cmd is not None: + dbg.writer.add_command(self._cmd) + self._cmd = None + + +def internal_step_in_thread(py_db, thread_id, cmd_id, set_additional_thread_info): + thread_to_step = pydevd_find_thread_by_id(thread_id) + if thread_to_step: + info = set_additional_thread_info(thread_to_step) + info.pydev_original_step_cmd = cmd_id + info.pydev_step_cmd = cmd_id + info.pydev_step_stop = None + info.pydev_state = STATE_RUN + + if py_db.stepping_resumes_all_threads: + resume_threads('*', except_thread=thread_to_step) + + +def internal_smart_step_into(py_db, thread_id, offset, child_offset, set_additional_thread_info): + thread_to_step = pydevd_find_thread_by_id(thread_id) + if thread_to_step: + info = set_additional_thread_info(thread_to_step) + info.pydev_original_step_cmd = CMD_SMART_STEP_INTO + info.pydev_step_cmd = CMD_SMART_STEP_INTO + info.pydev_step_stop = None + info.pydev_smart_parent_offset = int(offset) + info.pydev_smart_child_offset = int(child_offset) + info.pydev_state = STATE_RUN + + if py_db.stepping_resumes_all_threads: + resume_threads('*', except_thread=thread_to_step) + + +class InternalSetNextStatementThread(InternalThreadCommand): + + def __init__(self, thread_id, cmd_id, line, func_name, seq=0): + ''' + cmd_id may actually be one of: + + CMD_RUN_TO_LINE + CMD_SET_NEXT_STATEMENT + CMD_SMART_STEP_INTO + ''' + self.thread_id = thread_id + self.cmd_id = cmd_id + self.line = line + self.seq = seq + + self.func_name = func_name + + def do_it(self, dbg): + t = pydevd_find_thread_by_id(self.thread_id) + if t: + info = t.additional_info + info.pydev_original_step_cmd = self.cmd_id + info.pydev_step_cmd = self.cmd_id + info.pydev_step_stop = None + info.pydev_next_line = int(self.line) + info.pydev_func_name = self.func_name + info.pydev_message = str(self.seq) + info.pydev_smart_parent_offset = -1 + info.pydev_smart_child_offset = -1 + info.pydev_state = STATE_RUN + + +@silence_warnings_decorator +def internal_get_variable_json(py_db, request): + ''' + :param VariablesRequest request: + ''' + arguments = request.arguments # : :type arguments: VariablesArguments + variables_reference = arguments.variablesReference + scope = None + if isinstance_checked(variables_reference, ScopeRequest): + scope = variables_reference + variables_reference = variables_reference.variable_reference + + fmt = arguments.format + if hasattr(fmt, 'to_dict'): + fmt = fmt.to_dict() + + variables = [] + try: + try: + variable = py_db.suspended_frames_manager.get_variable(variables_reference) + except KeyError: + pass + else: + for child_var in variable.get_children_variables(fmt=fmt, scope=scope): + variables.append(child_var.get_var_data(fmt=fmt)) + except: + try: + exc, exc_type, tb = sys.exc_info() + err = ''.join(traceback.format_exception(exc, exc_type, tb)) + variables = [{ + 'name': '', + 'value': err, + 'type': '', + 'variablesReference': 0 + }] + except: + err = '' + pydev_log.exception(err) + variables = [] + + body = VariablesResponseBody(variables) + variables_response = pydevd_base_schema.build_response(request, kwargs={'body':body}) + py_db.writer.add_command(NetCommand(CMD_RETURN, 0, variables_response, is_json=True)) + + +class InternalGetVariable(InternalThreadCommand): + ''' gets the value of a variable ''' + + def __init__(self, seq, thread_id, frame_id, scope, attrs): + self.sequence = seq + self.thread_id = thread_id + self.frame_id = frame_id + self.scope = scope + self.attributes = attrs + + @silence_warnings_decorator + def do_it(self, dbg): + ''' Converts request into python variable ''' + try: + xml = StringIO() + xml.write("") + type_name, val_dict = pydevd_vars.resolve_compound_variable_fields( + dbg, self.thread_id, self.frame_id, self.scope, self.attributes) + if val_dict is None: + val_dict = {} + + # assume properly ordered if resolver returns 'OrderedDict' + # check type as string to support OrderedDict backport for older Python + keys = list(val_dict) + if not (type_name == "OrderedDict" or val_dict.__class__.__name__ == "OrderedDict" or IS_PY36_OR_GREATER): + keys = sorted(keys, key=compare_object_attrs_key) + + timer = Timer() + for k in keys: + val = val_dict[k] + evaluate_full_value = pydevd_xml.should_evaluate_full_value(val) + xml.write(pydevd_xml.var_to_xml(val, k, evaluate_full_value=evaluate_full_value)) + timer.report_if_compute_repr_attr_slow(self.attributes, k, type(val)) + + xml.write("") + cmd = dbg.cmd_factory.make_get_variable_message(self.sequence, xml.getvalue()) + xml.close() + dbg.writer.add_command(cmd) + except Exception: + cmd = dbg.cmd_factory.make_error_message( + self.sequence, "Error resolving variables %s" % (get_exception_traceback_str(),)) + dbg.writer.add_command(cmd) + + +class InternalGetArray(InternalThreadCommand): + + def __init__(self, seq, roffset, coffset, rows, cols, format, thread_id, frame_id, scope, attrs): + self.sequence = seq + self.thread_id = thread_id + self.frame_id = frame_id + self.scope = scope + self.name = attrs.split("\t")[-1] + self.attrs = attrs + self.roffset = int(roffset) + self.coffset = int(coffset) + self.rows = int(rows) + self.cols = int(cols) + self.format = format + + def do_it(self, dbg): + try: + frame = dbg.find_frame(self.thread_id, self.frame_id) + var = pydevd_vars.eval_in_context(self.name, frame.f_globals, frame.f_locals, py_db=dbg) + xml = pydevd_vars.table_like_struct_to_xml(var, self.name, self.roffset, self.coffset, self.rows, self.cols, self.format) + cmd = dbg.cmd_factory.make_get_array_message(self.sequence, xml) + dbg.writer.add_command(cmd) + except: + cmd = dbg.cmd_factory.make_error_message(self.sequence, "Error resolving array: " + get_exception_traceback_str()) + dbg.writer.add_command(cmd) + + +def internal_change_variable(dbg, seq, thread_id, frame_id, scope, attr, value): + ''' Changes the value of a variable ''' + try: + frame = dbg.find_frame(thread_id, frame_id) + if frame is not None: + result = pydevd_vars.change_attr_expression(frame, attr, value, dbg) + else: + result = None + xml = "" + xml += pydevd_xml.var_to_xml(result, "") + xml += "" + cmd = dbg.cmd_factory.make_variable_changed_message(seq, xml) + dbg.writer.add_command(cmd) + except Exception: + cmd = dbg.cmd_factory.make_error_message(seq, "Error changing variable attr:%s expression:%s traceback:%s" % (attr, value, get_exception_traceback_str())) + dbg.writer.add_command(cmd) + + +def internal_change_variable_json(py_db, request): + ''' + The pydevd_vars.change_attr_expression(thread_id, frame_id, attr, value, dbg) can only + deal with changing at a frame level, so, currently changing the contents of something + in a different scope is currently not supported. + + :param SetVariableRequest request: + ''' + # : :type arguments: SetVariableArguments + arguments = request.arguments + variables_reference = arguments.variablesReference + scope = None + if isinstance_checked(variables_reference, ScopeRequest): + scope = variables_reference + variables_reference = variables_reference.variable_reference + + fmt = arguments.format + if hasattr(fmt, 'to_dict'): + fmt = fmt.to_dict() + + try: + variable = py_db.suspended_frames_manager.get_variable(variables_reference) + except KeyError: + variable = None + + if variable is None: + _write_variable_response( + py_db, request, value='', success=False, message='Unable to find variable container to change: %s.' % (variables_reference,)) + return + + child_var = variable.change_variable(arguments.name, arguments.value, py_db, fmt=fmt) + + if child_var is None: + _write_variable_response( + py_db, request, value='', success=False, message='Unable to change: %s.' % (arguments.name,)) + return + + var_data = child_var.get_var_data(fmt=fmt) + body = SetVariableResponseBody( + value=var_data['value'], + type=var_data['type'], + variablesReference=var_data.get('variablesReference'), + namedVariables=var_data.get('namedVariables'), + indexedVariables=var_data.get('indexedVariables'), + ) + variables_response = pydevd_base_schema.build_response(request, kwargs={'body':body}) + py_db.writer.add_command(NetCommand(CMD_RETURN, 0, variables_response, is_json=True)) + + +def _write_variable_response(py_db, request, value, success, message): + body = SetVariableResponseBody('') + variables_response = pydevd_base_schema.build_response( + request, + kwargs={ + 'body':body, + 'success': False, + 'message': message + }) + cmd = NetCommand(CMD_RETURN, 0, variables_response, is_json=True) + py_db.writer.add_command(cmd) + + +@silence_warnings_decorator +def internal_get_frame(dbg, seq, thread_id, frame_id): + ''' Converts request into python variable ''' + try: + frame = dbg.find_frame(thread_id, frame_id) + if frame is not None: + hidden_ns = pydevconsole.get_ipython_hidden_vars() + xml = "" + xml += pydevd_xml.frame_vars_to_xml(frame.f_locals, hidden_ns) + del frame + xml += "" + cmd = dbg.cmd_factory.make_get_frame_message(seq, xml) + dbg.writer.add_command(cmd) + else: + # pydevd_vars.dump_frames(thread_id) + # don't print this error: frame not found: means that the client is not synchronized (but that's ok) + cmd = dbg.cmd_factory.make_error_message(seq, "Frame not found: %s from thread: %s" % (frame_id, thread_id)) + dbg.writer.add_command(cmd) + except: + cmd = dbg.cmd_factory.make_error_message(seq, "Error resolving frame: %s from thread: %s" % (frame_id, thread_id)) + dbg.writer.add_command(cmd) + + +def internal_get_smart_step_into_variants(dbg, seq, thread_id, frame_id, start_line, end_line, set_additional_thread_info): + try: + thread = pydevd_find_thread_by_id(thread_id) + frame = dbg.find_frame(thread_id, frame_id) + + if thread is None or frame is None: + cmd = dbg.cmd_factory.make_error_message(seq, "Frame not found: %s from thread: %s" % (frame_id, thread_id)) + dbg.writer.add_command(cmd) + return + + if pydevd_bytecode_utils is None: + variants = [] + else: + variants = pydevd_bytecode_utils.calculate_smart_step_into_variants(frame, int(start_line), int(end_line)) + + info = set_additional_thread_info(thread) + + # Store the last request (may be used afterwards when stepping). + info.pydev_smart_step_into_variants = tuple(variants) + xml = "" + + for variant in variants: + if variant.children_variants: + for child_variant in variant.children_variants: + # If there are child variants, the current one is just an intermediary, so, + # just create variants for the child (notifying properly about the parent too). + xml += '' % ( + quote(child_variant.name), + str(child_variant.is_visited).lower(), + child_variant.line, + variant.offset, + child_variant.offset, + child_variant.call_order, + ) + else: + xml += '' % ( + quote(variant.name), + str(variant.is_visited).lower(), + variant.line, + variant.offset, + variant.call_order, + ) + + xml += "" + cmd = NetCommand(CMD_GET_SMART_STEP_INTO_VARIANTS, seq, xml) + dbg.writer.add_command(cmd) + except: + # Error is expected (if `dis` module cannot be used -- i.e.: Jython). + pydev_log.exception('Error calculating Smart Step Into Variants.') + cmd = dbg.cmd_factory.make_error_message( + seq, "Error getting smart step into variants for frame: %s from thread: %s" + % (frame_id, thread_id)) + dbg.writer.add_command(cmd) + + +def internal_get_step_in_targets_json(dbg, seq, thread_id, frame_id, request, set_additional_thread_info): + try: + thread = pydevd_find_thread_by_id(thread_id) + frame = dbg.find_frame(thread_id, frame_id) + + if thread is None or frame is None: + body = StepInTargetsResponseBody([]) + variables_response = pydevd_base_schema.build_response( + request, + kwargs={ + 'body': body, + 'success': False, + 'message': 'Thread to get step in targets seems to have resumed already.' + }) + cmd = NetCommand(CMD_RETURN, 0, variables_response, is_json=True) + dbg.writer.add_command(cmd) + return + + start_line = 0 + end_line = 99999999 + if pydevd_bytecode_utils is None: + variants = [] + else: + variants = pydevd_bytecode_utils.calculate_smart_step_into_variants(frame, start_line, end_line) + + info = set_additional_thread_info(thread) + targets = [] + counter = itertools.count(0) + target_id_to_variant = {} + for variant in variants: + if not variant.is_visited: + if variant.children_variants: + for child_variant in variant.children_variants: + target_id = next(counter) + + if child_variant.call_order > 1: + targets.append(StepInTarget(id=target_id, label='%s (call %s)' % (child_variant.name, child_variant.call_order),)) + else: + targets.append(StepInTarget(id=target_id, label=child_variant.name)) + target_id_to_variant[target_id] = child_variant + + if len(targets) >= 15: # Show at most 15 targets. + break + else: + target_id = next(counter) + if variant.call_order > 1: + targets.append(StepInTarget(id=target_id, label='%s (call %s)' % (variant.name, variant.call_order),)) + else: + targets.append(StepInTarget(id=target_id, label=variant.name)) + target_id_to_variant[target_id] = variant + + if len(targets) >= 15: # Show at most 15 targets. + break + + # Store the last request (may be used afterwards when stepping). + info.pydev_smart_step_into_variants = tuple(variants) + info.target_id_to_smart_step_into_variant = target_id_to_variant + + body = StepInTargetsResponseBody(targets=targets) + response = pydevd_base_schema.build_response(request, kwargs={'body': body}) + cmd = NetCommand(CMD_RETURN, 0, response, is_json=True) + dbg.writer.add_command(cmd) + except Exception as e: + # Error is expected (if `dis` module cannot be used -- i.e.: Jython). + pydev_log.exception('Error calculating Smart Step Into Variants.') + body = StepInTargetsResponseBody([]) + variables_response = pydevd_base_schema.build_response( + request, + kwargs={ + 'body': body, + 'success': False, + 'message': str(e) + }) + cmd = NetCommand(CMD_RETURN, 0, variables_response, is_json=True) + dbg.writer.add_command(cmd) + + +def internal_get_next_statement_targets(dbg, seq, thread_id, frame_id): + ''' gets the valid line numbers for use with set next statement ''' + try: + frame = dbg.find_frame(thread_id, frame_id) + if frame is not None: + code = frame.f_code + xml = "" + try: + linestarts = dis.findlinestarts(code) + except: + # i.e.: jython doesn't provide co_lnotab, so, we can only keep at the current line. + xml += "%d" % (frame.f_lineno,) + else: + for _, line in linestarts: + xml += "%d" % (line,) + del frame + xml += "" + cmd = dbg.cmd_factory.make_get_next_statement_targets_message(seq, xml) + dbg.writer.add_command(cmd) + else: + cmd = dbg.cmd_factory.make_error_message(seq, "Frame not found: %s from thread: %s" % (frame_id, thread_id)) + dbg.writer.add_command(cmd) + except: + cmd = dbg.cmd_factory.make_error_message(seq, "Error resolving frame: %s from thread: %s" % (frame_id, thread_id)) + dbg.writer.add_command(cmd) + + +def _evaluate_response(py_db, request, result, error_message=''): + is_error = isinstance(result, ExceptionOnEvaluate) + if is_error: + result = result.result + if not error_message: + body = pydevd_schema.EvaluateResponseBody(result=result, variablesReference=0) + variables_response = pydevd_base_schema.build_response(request, kwargs={'body':body}) + py_db.writer.add_command(NetCommand(CMD_RETURN, 0, variables_response, is_json=True)) + else: + body = pydevd_schema.EvaluateResponseBody(result=result, variablesReference=0) + variables_response = pydevd_base_schema.build_response(request, kwargs={ + 'body':body, 'success':False, 'message': error_message}) + py_db.writer.add_command(NetCommand(CMD_RETURN, 0, variables_response, is_json=True)) + + +_global_frame = None + + +def internal_evaluate_expression_json(py_db, request, thread_id): + ''' + :param EvaluateRequest request: + ''' + global _global_frame + # : :type arguments: EvaluateArguments + + arguments = request.arguments + expression = arguments.expression + frame_id = arguments.frameId + context = arguments.context + fmt = arguments.format + if hasattr(fmt, 'to_dict'): + fmt = fmt.to_dict() + + ctx = NULL + if context == 'repl': + if not py_db.is_output_redirected: + ctx = pydevd_io.redirect_stream_to_pydb_io_messages_context() + else: + # If we're not in a repl (watch, hover, ...) don't show warnings. + ctx = filter_all_warnings() + + with ctx: + try_exec = False + if frame_id is None: + if _global_frame is None: + # Lazily create a frame to be used for evaluation with no frame id. + + def __create_frame(): + yield sys._getframe() + + _global_frame = next(__create_frame()) + + frame = _global_frame + try_exec = True # Always exec in this case + eval_result = None + else: + frame = py_db.find_frame(thread_id, frame_id) + + eval_result = pydevd_vars.evaluate_expression(py_db, frame, expression, is_exec=False) + is_error = isinstance_checked(eval_result, ExceptionOnEvaluate) + if is_error: + if context == 'hover': # In a hover it doesn't make sense to do an exec. + _evaluate_response(py_db, request, result='', error_message='Exception occurred during evaluation.') + return + elif context == 'watch': + # If it's a watch, don't show it as an exception object, rather, format + # it and show it as a string (with success=False). + msg = '%s: %s' % ( + eval_result.result.__class__.__name__, eval_result.result,) + _evaluate_response(py_db, request, result=msg, error_message=msg) + return + else: + # We only try the exec if the failure we had was due to not being able + # to evaluate the expression. + try: + pydevd_vars.compile_as_eval(expression) + except Exception: + try_exec = context == 'repl' + else: + try_exec = False + if context == 'repl': + # In the repl we should show the exception to the user. + _evaluate_response_return_exception(py_db, request, eval_result.etype, eval_result.result, eval_result.tb) + return + + if try_exec: + try: + pydevd_vars.evaluate_expression(py_db, frame, expression, is_exec=True) + except (Exception, KeyboardInterrupt): + _evaluate_response_return_exception(py_db, request, *sys.exc_info()) + return + # No result on exec. + _evaluate_response(py_db, request, result='') + return + + # Ok, we have the result (could be an error), let's put it into the saved variables. + frame_tracker = py_db.suspended_frames_manager.get_frame_tracker(thread_id) + if frame_tracker is None: + # This is not really expected. + _evaluate_response(py_db, request, result='', error_message='Thread id: %s is not current thread id.' % (thread_id,)) + return + + safe_repr_custom_attrs = {} + if context == 'clipboard': + safe_repr_custom_attrs = dict( + maxstring_outer=2 ** 64, + maxstring_inner=2 ** 64, + maxother_outer=2 ** 64, + maxother_inner=2 ** 64, + ) + + if context == 'repl' and eval_result is None: + # We don't want "None" to appear when typing in the repl. + body = pydevd_schema.EvaluateResponseBody( + result=None, + variablesReference=0, + ) + + else: + variable = frame_tracker.obtain_as_variable(expression, eval_result, frame=frame) + var_data = variable.get_var_data(fmt=fmt, **safe_repr_custom_attrs) + + body = pydevd_schema.EvaluateResponseBody( + result=var_data['value'], + variablesReference=var_data.get('variablesReference', 0), + type=var_data.get('type'), + presentationHint=var_data.get('presentationHint'), + namedVariables=var_data.get('namedVariables'), + indexedVariables=var_data.get('indexedVariables'), + ) + variables_response = pydevd_base_schema.build_response(request, kwargs={'body':body}) + py_db.writer.add_command(NetCommand(CMD_RETURN, 0, variables_response, is_json=True)) + + +def _evaluate_response_return_exception(py_db, request, exc_type, exc, initial_tb): + try: + tb = initial_tb + + # Show the traceback without pydevd frames. + temp_tb = tb + while temp_tb: + if py_db.get_file_type(temp_tb.tb_frame) == PYDEV_FILE: + tb = temp_tb.tb_next + temp_tb = temp_tb.tb_next + + if tb is None: + tb = initial_tb + err = ''.join(traceback.format_exception(exc_type, exc, tb)) + + # Make sure we don't keep references to them. + exc = None + exc_type = None + tb = None + temp_tb = None + initial_tb = None + except: + err = '' + pydev_log.exception(err) + + # Currently there is an issue in VSC where returning success=false for an + # eval request, in repl context, VSC does not show the error response in + # the debug console. So return the error message in result as well. + _evaluate_response(py_db, request, result=err, error_message=err) + + +@silence_warnings_decorator +def internal_evaluate_expression(dbg, seq, thread_id, frame_id, expression, is_exec, trim_if_too_big, attr_to_set_result): + ''' gets the value of a variable ''' + try: + frame = dbg.find_frame(thread_id, frame_id) + if frame is not None: + result = pydevd_vars.evaluate_expression(dbg, frame, expression, is_exec) + if attr_to_set_result != "": + pydevd_vars.change_attr_expression(frame, attr_to_set_result, expression, dbg, result) + else: + result = None + + xml = "" + xml += pydevd_xml.var_to_xml(result, expression, trim_if_too_big) + xml += "" + cmd = dbg.cmd_factory.make_evaluate_expression_message(seq, xml) + dbg.writer.add_command(cmd) + except: + exc = get_exception_traceback_str() + cmd = dbg.cmd_factory.make_error_message(seq, "Error evaluating expression " + exc) + dbg.writer.add_command(cmd) + + +def _set_expression_response(py_db, request, result, error_message): + body = pydevd_schema.SetExpressionResponseBody(result='', variablesReference=0) + variables_response = pydevd_base_schema.build_response(request, kwargs={ + 'body':body, 'success':False, 'message': error_message}) + py_db.writer.add_command(NetCommand(CMD_RETURN, 0, variables_response, is_json=True)) + + +def internal_set_expression_json(py_db, request, thread_id): + # : :type arguments: SetExpressionArguments + + arguments = request.arguments + expression = arguments.expression + frame_id = arguments.frameId + value = arguments.value + fmt = arguments.format + if hasattr(fmt, 'to_dict'): + fmt = fmt.to_dict() + + frame = py_db.find_frame(thread_id, frame_id) + exec_code = '%s = (%s)' % (expression, value) + result = pydevd_vars.evaluate_expression(py_db, frame, exec_code, is_exec=True) + is_error = isinstance(result, ExceptionOnEvaluate) + + if is_error: + _set_expression_response(py_db, request, result, error_message='Error executing: %s' % (exec_code,)) + return + + # Ok, we have the result (could be an error), let's put it into the saved variables. + frame_tracker = py_db.suspended_frames_manager.get_frame_tracker(thread_id) + if frame_tracker is None: + # This is not really expected. + _set_expression_response(py_db, request, result, error_message='Thread id: %s is not current thread id.' % (thread_id,)) + return + + # Now that the exec is done, get the actual value changed to return. + result = pydevd_vars.evaluate_expression(py_db, frame, expression, is_exec=False) + variable = frame_tracker.obtain_as_variable(expression, result, frame=frame) + var_data = variable.get_var_data(fmt=fmt) + + body = pydevd_schema.SetExpressionResponseBody( + value=var_data['value'], + variablesReference=var_data.get('variablesReference', 0), + type=var_data.get('type'), + presentationHint=var_data.get('presentationHint'), + namedVariables=var_data.get('namedVariables'), + indexedVariables=var_data.get('indexedVariables'), + ) + variables_response = pydevd_base_schema.build_response(request, kwargs={'body':body}) + py_db.writer.add_command(NetCommand(CMD_RETURN, 0, variables_response, is_json=True)) + + +def internal_get_completions(dbg, seq, thread_id, frame_id, act_tok, line=-1, column=-1): + ''' + Note that if the column is >= 0, the act_tok is considered text and the actual + activation token/qualifier is computed in this command. + ''' + try: + remove_path = None + try: + qualifier = u'' + if column >= 0: + token_and_qualifier = extract_token_and_qualifier(act_tok, line, column) + act_tok = token_and_qualifier[0] + if act_tok: + act_tok += u'.' + qualifier = token_and_qualifier[1] + + frame = dbg.find_frame(thread_id, frame_id) + if frame is not None: + completions = _pydev_completer.generate_completions(frame, act_tok) + + # Note that qualifier and start are only actually valid for the + # Debug Adapter Protocol (for the line-based protocol, the IDE + # is required to filter the completions returned). + cmd = dbg.cmd_factory.make_get_completions_message( + seq, completions, qualifier, start=column - len(qualifier)) + dbg.writer.add_command(cmd) + else: + cmd = dbg.cmd_factory.make_error_message(seq, "internal_get_completions: Frame not found: %s from thread: %s" % (frame_id, thread_id)) + dbg.writer.add_command(cmd) + + finally: + if remove_path is not None: + sys.path.remove(remove_path) + + except: + exc = get_exception_traceback_str() + sys.stderr.write('%s\n' % (exc,)) + cmd = dbg.cmd_factory.make_error_message(seq, "Error evaluating expression " + exc) + dbg.writer.add_command(cmd) + + +def internal_get_description(dbg, seq, thread_id, frame_id, expression): + ''' Fetch the variable description stub from the debug console + ''' + try: + frame = dbg.find_frame(thread_id, frame_id) + description = pydevd_console.get_description(frame, thread_id, frame_id, expression) + description = pydevd_xml.make_valid_xml_value(quote(description, '/>_= \t')) + description_xml = '' % description + cmd = dbg.cmd_factory.make_get_description_message(seq, description_xml) + dbg.writer.add_command(cmd) + except: + exc = get_exception_traceback_str() + cmd = dbg.cmd_factory.make_error_message(seq, "Error in fetching description" + exc) + dbg.writer.add_command(cmd) + + +def build_exception_info_response(dbg, thread_id, request_seq, set_additional_thread_info, iter_visible_frames_info, max_frames): + ''' + :return ExceptionInfoResponse + ''' + thread = pydevd_find_thread_by_id(thread_id) + additional_info = set_additional_thread_info(thread) + topmost_frame = additional_info.get_topmost_frame(thread) + + current_paused_frame_name = '' + + source_path = '' # This is an extra bit of data used by Visual Studio + stack_str_lst = [] + name = None + description = None + + if topmost_frame is not None: + try: + try: + frames_list = dbg.suspended_frames_manager.get_frames_list(thread_id) + memo = set() + while frames_list is not None and len(frames_list): + frames = [] + + frame = None + + if not name: + exc_type = frames_list.exc_type + if exc_type is not None: + try: + name = exc_type.__qualname__ + except: + try: + name = exc_type.__name__ + except: + try: + name = str(exc_type) + except: + pass + + if not description: + exc_desc = frames_list.exc_desc + if exc_desc is not None: + try: + description = str(exc_desc) + except: + pass + + for frame_id, frame, method_name, original_filename, filename_in_utf8, lineno, _applied_mapping, show_as_current_frame in \ + iter_visible_frames_info(dbg, frames_list): + + line_text = linecache.getline(original_filename, lineno) + + # Never filter out plugin frames! + if not getattr(frame, 'IS_PLUGIN_FRAME', False): + if dbg.is_files_filter_enabled and dbg.apply_files_filter(frame, original_filename, False): + continue + + if show_as_current_frame: + current_paused_frame_name = method_name + method_name += ' (Current frame)' + frames.append((filename_in_utf8, lineno, method_name, line_text)) + + if not source_path and frames: + source_path = frames[0][0] + + stack_str = ''.join(traceback.format_list(frames[-max_frames:])) + stack_str += frames_list.exc_context_msg + stack_str_lst.append(stack_str) + + frames_list = create_frames_list_from_exception_cause( + frames_list.trace_obj, None, frames_list.exc_type, frames_list.exc_desc, memo) + if frames_list is None or not frames_list: + break + + except: + pydev_log.exception('Error on build_exception_info_response.') + finally: + topmost_frame = None + full_stack_str = ''.join(reversed(stack_str_lst)) + + if not name: + name = 'exception: type unknown' + if not description: + description = 'exception: no description' + + if current_paused_frame_name: + name += ' (note: full exception trace is shown but execution is paused at: %s)' % (current_paused_frame_name,) + + if thread.stop_reason == CMD_STEP_CAUGHT_EXCEPTION: + break_mode = pydevd_schema.ExceptionBreakMode.ALWAYS + else: + break_mode = pydevd_schema.ExceptionBreakMode.UNHANDLED + + response = pydevd_schema.ExceptionInfoResponse( + request_seq=request_seq, + success=True, + command='exceptionInfo', + body=pydevd_schema.ExceptionInfoResponseBody( + exceptionId=name, + description=description, + breakMode=break_mode, + details=pydevd_schema.ExceptionDetails( + message=description, + typeName=name, + stackTrace=full_stack_str, + source=source_path, + # Note: ExceptionDetails actually accepts an 'innerException', but + # when passing it, VSCode is not showing the stack trace at all. + ) + ) + ) + return response + + +def internal_get_exception_details_json(dbg, request, thread_id, max_frames, set_additional_thread_info=None, iter_visible_frames_info=None): + ''' Fetch exception details + ''' + try: + response = build_exception_info_response(dbg, thread_id, request.seq, set_additional_thread_info, iter_visible_frames_info, max_frames) + except: + exc = get_exception_traceback_str() + response = pydevd_base_schema.build_response(request, kwargs={ + 'success': False, + 'message': exc, + 'body':{} + }) + dbg.writer.add_command(NetCommand(CMD_RETURN, 0, response, is_json=True)) + + +class InternalGetBreakpointException(InternalThreadCommand): + ''' Send details of exception raised while evaluating conditional breakpoint ''' + + def __init__(self, thread_id, exc_type, stacktrace): + self.sequence = 0 + self.thread_id = thread_id + self.stacktrace = stacktrace + self.exc_type = exc_type + + def do_it(self, dbg): + try: + callstack = "" + + makeValid = pydevd_xml.make_valid_xml_value + + for filename, line, methodname, methodobj in self.stacktrace: + if not filesystem_encoding_is_utf8 and hasattr(filename, "decode"): + # filename is a byte string encoded using the file system encoding + # convert it to utf8 + filename = filename.decode(file_system_encoding).encode("utf-8") + + callstack += '' \ + % (self.thread_id, makeValid(filename), line, makeValid(methodname), makeValid(methodobj)) + callstack += "" + + cmd = dbg.cmd_factory.make_send_breakpoint_exception_message(self.sequence, self.exc_type + "\t" + callstack) + dbg.writer.add_command(cmd) + except: + exc = get_exception_traceback_str() + sys.stderr.write('%s\n' % (exc,)) + cmd = dbg.cmd_factory.make_error_message(self.sequence, "Error Sending Exception: " + exc) + dbg.writer.add_command(cmd) + + +class InternalSendCurrExceptionTrace(InternalThreadCommand): + ''' Send details of the exception that was caught and where we've broken in. + ''' + + def __init__(self, thread_id, arg, curr_frame_id): + ''' + :param arg: exception type, description, traceback object + ''' + self.sequence = 0 + self.thread_id = thread_id + self.curr_frame_id = curr_frame_id + self.arg = arg + + def do_it(self, dbg): + try: + cmd = dbg.cmd_factory.make_send_curr_exception_trace_message(dbg, self.sequence, self.thread_id, self.curr_frame_id, *self.arg) + del self.arg + dbg.writer.add_command(cmd) + except: + exc = get_exception_traceback_str() + sys.stderr.write('%s\n' % (exc,)) + cmd = dbg.cmd_factory.make_error_message(self.sequence, "Error Sending Current Exception Trace: " + exc) + dbg.writer.add_command(cmd) + + +class InternalSendCurrExceptionTraceProceeded(InternalThreadCommand): + ''' Send details of the exception that was caught and where we've broken in. + ''' + + def __init__(self, thread_id): + self.sequence = 0 + self.thread_id = thread_id + + def do_it(self, dbg): + try: + cmd = dbg.cmd_factory.make_send_curr_exception_trace_proceeded_message(self.sequence, self.thread_id) + dbg.writer.add_command(cmd) + except: + exc = get_exception_traceback_str() + sys.stderr.write('%s\n' % (exc,)) + cmd = dbg.cmd_factory.make_error_message(self.sequence, "Error Sending Current Exception Trace Proceeded: " + exc) + dbg.writer.add_command(cmd) + + +class InternalEvaluateConsoleExpression(InternalThreadCommand): + ''' Execute the given command in the debug console ''' + + def __init__(self, seq, thread_id, frame_id, line, buffer_output=True): + self.sequence = seq + self.thread_id = thread_id + self.frame_id = frame_id + self.line = line + self.buffer_output = buffer_output + + def do_it(self, dbg): + ''' Create an XML for console output, error and more (true/false) + + + + true/false + + ''' + try: + frame = dbg.find_frame(self.thread_id, self.frame_id) + if frame is not None: + console_message = pydevd_console.execute_console_command( + frame, self.thread_id, self.frame_id, self.line, self.buffer_output) + + cmd = dbg.cmd_factory.make_send_console_message(self.sequence, console_message.to_xml()) + else: + from _pydevd_bundle.pydevd_console import ConsoleMessage + console_message = ConsoleMessage() + console_message.add_console_message( + pydevd_console.CONSOLE_ERROR, + "Select the valid frame in the debug view (thread: %s, frame: %s invalid)" % (self.thread_id, self.frame_id), + ) + cmd = dbg.cmd_factory.make_error_message(self.sequence, console_message.to_xml()) + except: + exc = get_exception_traceback_str() + cmd = dbg.cmd_factory.make_error_message(self.sequence, "Error evaluating expression " + exc) + dbg.writer.add_command(cmd) + + +class InternalRunCustomOperation(InternalThreadCommand): + ''' Run a custom command on an expression + ''' + + def __init__(self, seq, thread_id, frame_id, scope, attrs, style, encoded_code_or_file, fnname): + self.sequence = seq + self.thread_id = thread_id + self.frame_id = frame_id + self.scope = scope + self.attrs = attrs + self.style = style + self.code_or_file = unquote_plus(encoded_code_or_file) + self.fnname = fnname + + def do_it(self, dbg): + try: + res = pydevd_vars.custom_operation(dbg, self.thread_id, self.frame_id, self.scope, self.attrs, + self.style, self.code_or_file, self.fnname) + resEncoded = quote_plus(res) + cmd = dbg.cmd_factory.make_custom_operation_message(self.sequence, resEncoded) + dbg.writer.add_command(cmd) + except: + exc = get_exception_traceback_str() + cmd = dbg.cmd_factory.make_error_message(self.sequence, "Error in running custom operation" + exc) + dbg.writer.add_command(cmd) + + +class InternalConsoleGetCompletions(InternalThreadCommand): + ''' Fetch the completions in the debug console + ''' + + def __init__(self, seq, thread_id, frame_id, act_tok): + self.sequence = seq + self.thread_id = thread_id + self.frame_id = frame_id + self.act_tok = act_tok + + def do_it(self, dbg): + ''' Get completions and write back to the client + ''' + try: + frame = dbg.find_frame(self.thread_id, self.frame_id) + completions_xml = pydevd_console.get_completions(frame, self.act_tok) + cmd = dbg.cmd_factory.make_send_console_message(self.sequence, completions_xml) + dbg.writer.add_command(cmd) + except: + exc = get_exception_traceback_str() + cmd = dbg.cmd_factory.make_error_message(self.sequence, "Error in fetching completions" + exc) + dbg.writer.add_command(cmd) + + +class InternalConsoleExec(InternalThreadCommand): + ''' gets the value of a variable ''' + + def __init__(self, seq, thread_id, frame_id, expression): + self.sequence = seq + self.thread_id = thread_id + self.frame_id = frame_id + self.expression = expression + + def do_it(self, dbg): + ''' Converts request into python variable ''' + try: + try: + # don't trace new threads created by console command + disable_trace_thread_modules() + + result = pydevconsole.console_exec(self.thread_id, self.frame_id, self.expression, dbg) + xml = "" + xml += pydevd_xml.var_to_xml(result, "") + xml += "" + cmd = dbg.cmd_factory.make_evaluate_expression_message(self.sequence, xml) + dbg.writer.add_command(cmd) + except: + exc = get_exception_traceback_str() + sys.stderr.write('%s\n' % (exc,)) + cmd = dbg.cmd_factory.make_error_message(self.sequence, "Error evaluating console expression " + exc) + dbg.writer.add_command(cmd) + finally: + enable_trace_thread_modules() + + sys.stderr.flush() + sys.stdout.flush() + + +class InternalLoadFullValue(InternalThreadCommand): + ''' + Loads values asynchronously + ''' + + def __init__(self, seq, thread_id, frame_id, vars): + self.sequence = seq + self.thread_id = thread_id + self.frame_id = frame_id + self.vars = vars + + @silence_warnings_decorator + def do_it(self, dbg): + '''Starts a thread that will load values asynchronously''' + try: + var_objects = [] + for variable in self.vars: + variable = variable.strip() + if len(variable) > 0: + if '\t' in variable: # there are attributes beyond scope + scope, attrs = variable.split('\t', 1) + name = attrs[0] + else: + scope, attrs = (variable, None) + name = scope + var_obj = pydevd_vars.getVariable(dbg, self.thread_id, self.frame_id, scope, attrs) + var_objects.append((var_obj, name)) + + t = GetValueAsyncThreadDebug(dbg, dbg, self.sequence, var_objects) + t.start() + except: + exc = get_exception_traceback_str() + sys.stderr.write('%s\n' % (exc,)) + cmd = dbg.cmd_factory.make_error_message(self.sequence, "Error evaluating variable %s " % exc) + dbg.writer.add_command(cmd) + + +class AbstractGetValueAsyncThread(PyDBDaemonThread): + ''' + Abstract class for a thread, which evaluates values for async variables + ''' + + def __init__(self, py_db, frame_accessor, seq, var_objects): + PyDBDaemonThread.__init__(self, py_db) + self.frame_accessor = frame_accessor + self.seq = seq + self.var_objs = var_objects + self.cancel_event = threading.Event() + + def send_result(self, xml): + raise NotImplementedError() + + @overrides(PyDBDaemonThread._on_run) + def _on_run(self): + start = time.time() + xml = StringIO() + xml.write("") + for (var_obj, name) in self.var_objs: + current_time = time.time() + if current_time - start > ASYNC_EVAL_TIMEOUT_SEC or self.cancel_event.is_set(): + break + xml.write(pydevd_xml.var_to_xml(var_obj, name, evaluate_full_value=True)) + xml.write("") + self.send_result(xml) + xml.close() + + +class GetValueAsyncThreadDebug(AbstractGetValueAsyncThread): + ''' + A thread for evaluation async values, which returns result for debugger + Create message and send it via writer thread + ''' + + def send_result(self, xml): + if self.frame_accessor is not None: + cmd = self.frame_accessor.cmd_factory.make_load_full_value_message(self.seq, xml.getvalue()) + self.frame_accessor.writer.add_command(cmd) + + +class GetValueAsyncThreadConsole(AbstractGetValueAsyncThread): + ''' + A thread for evaluation async values, which returns result for Console + Send result directly to Console's server + ''' + + def send_result(self, xml): + if self.frame_accessor is not None: + self.frame_accessor.ReturnFullValue(self.seq, xml.getvalue()) + diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_comm_constants.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_comm_constants.py new file mode 120000 index 0000000..3fa9451 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_comm_constants.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4b/66/a2/c8f4271feb9474fd618ad5763f676a33d1bcb77231d8259ddf13c5d3ce \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_command_line_handling.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_command_line_handling.py new file mode 120000 index 0000000..d790564 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_command_line_handling.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c2/d6/85/c7d8f6f24fb382115cc5a576268d27605edea82e55a41609e5b2b4550e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/__init__.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..3a260bb Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/__pycache__/pydevd_concurrency_logger.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/__pycache__/pydevd_concurrency_logger.cpython-38.pyc new file mode 100644 index 0000000..6e7fb55 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/__pycache__/pydevd_concurrency_logger.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/__pycache__/pydevd_thread_wrappers.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/__pycache__/pydevd_thread_wrappers.cpython-38.pyc new file mode 100644 index 0000000..e96b894 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/__pycache__/pydevd_thread_wrappers.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/pydevd_concurrency_logger.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/pydevd_concurrency_logger.py new file mode 100644 index 0000000..95fc054 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/pydevd_concurrency_logger.py @@ -0,0 +1,346 @@ +import time + +from _pydev_bundle._pydev_filesystem_encoding import getfilesystemencoding +from _pydev_bundle._pydev_saved_modules import threading +from _pydevd_bundle import pydevd_xml +from _pydevd_bundle.pydevd_constants import GlobalDebuggerHolder +from _pydevd_bundle.pydevd_constants import get_thread_id +from _pydevd_bundle.pydevd_net_command import NetCommand +from _pydevd_bundle.pydevd_concurrency_analyser.pydevd_thread_wrappers import ObjectWrapper, wrap_attr +import pydevd_file_utils +from _pydev_bundle import pydev_log +import sys + +file_system_encoding = getfilesystemencoding() + +from urllib.parse import quote + +threadingCurrentThread = threading.current_thread + +DONT_TRACE_THREADING = ['threading.py', 'pydevd.py'] +INNER_METHODS = ['_stop'] +INNER_FILES = ['threading.py'] +THREAD_METHODS = ['start', '_stop', 'join'] +LOCK_METHODS = ['__init__', 'acquire', 'release', '__enter__', '__exit__'] +QUEUE_METHODS = ['put', 'get'] + +# return time since epoch in milliseconds +cur_time = lambda: int(round(time.time() * 1000000)) + + +def get_text_list_for_frame(frame): + # partial copy-paste from make_thread_suspend_str + curFrame = frame + cmdTextList = [] + try: + while curFrame: + # print cmdText + myId = str(id(curFrame)) + # print "id is ", myId + + if curFrame.f_code is None: + break # Iron Python sometimes does not have it! + + myName = curFrame.f_code.co_name # method name (if in method) or ? if global + if myName is None: + break # Iron Python sometimes does not have it! + + # print "name is ", myName + + absolute_filename = pydevd_file_utils.get_abs_path_real_path_and_base_from_frame(curFrame)[0] + + my_file, _applied_mapping = pydevd_file_utils.map_file_to_client(absolute_filename) + + # print "file is ", my_file + # my_file = inspect.getsourcefile(curFrame) or inspect.getfile(frame) + + myLine = str(curFrame.f_lineno) + # print "line is ", myLine + + # the variables are all gotten 'on-demand' + # variables = pydevd_xml.frame_vars_to_xml(curFrame.f_locals) + + variables = '' + cmdTextList.append('' % (quote(my_file, '/>_= \t'), myLine)) + cmdTextList.append(variables) + cmdTextList.append("") + curFrame = curFrame.f_back + except: + pydev_log.exception() + + return cmdTextList + + +def send_concurrency_message(event_class, time, name, thread_id, type, event, file, line, frame, lock_id=0, parent=None): + dbg = GlobalDebuggerHolder.global_dbg + if dbg is None: + return + cmdTextList = [''] + + cmdTextList.append('<' + event_class) + cmdTextList.append(' time="%s"' % pydevd_xml.make_valid_xml_value(str(time))) + cmdTextList.append(' name="%s"' % pydevd_xml.make_valid_xml_value(name)) + cmdTextList.append(' thread_id="%s"' % pydevd_xml.make_valid_xml_value(thread_id)) + cmdTextList.append(' type="%s"' % pydevd_xml.make_valid_xml_value(type)) + if type == "lock": + cmdTextList.append(' lock_id="%s"' % pydevd_xml.make_valid_xml_value(str(lock_id))) + if parent is not None: + cmdTextList.append(' parent="%s"' % pydevd_xml.make_valid_xml_value(parent)) + cmdTextList.append(' event="%s"' % pydevd_xml.make_valid_xml_value(event)) + cmdTextList.append(' file="%s"' % pydevd_xml.make_valid_xml_value(file)) + cmdTextList.append(' line="%s"' % pydevd_xml.make_valid_xml_value(str(line))) + cmdTextList.append('>') + + cmdTextList += get_text_list_for_frame(frame) + cmdTextList.append('') + + text = ''.join(cmdTextList) + if dbg.writer is not None: + dbg.writer.add_command(NetCommand(145, 0, text)) + + +def log_new_thread(global_debugger, t): + event_time = cur_time() - global_debugger.thread_analyser.start_time + send_concurrency_message("threading_event", event_time, t.name, get_thread_id(t), "thread", + "start", "code_name", 0, None, parent=get_thread_id(t)) + + +class ThreadingLogger: + + def __init__(self): + self.start_time = cur_time() + + def set_start_time(self, time): + self.start_time = time + + def log_event(self, frame): + write_log = False + self_obj = None + if "self" in frame.f_locals: + self_obj = frame.f_locals["self"] + if isinstance(self_obj, threading.Thread) or self_obj.__class__ == ObjectWrapper: + write_log = True + if hasattr(frame, "f_back") and frame.f_back is not None: + back = frame.f_back + if hasattr(back, "f_back") and back.f_back is not None: + back = back.f_back + if "self" in back.f_locals: + if isinstance(back.f_locals["self"], threading.Thread): + write_log = True + try: + if write_log: + t = threadingCurrentThread() + back = frame.f_back + if not back: + return + name, _, back_base = pydevd_file_utils.get_abs_path_real_path_and_base_from_frame(back) + event_time = cur_time() - self.start_time + method_name = frame.f_code.co_name + + if isinstance(self_obj, threading.Thread): + if not hasattr(self_obj, "_pydev_run_patched"): + wrap_attr(self_obj, "run") + if (method_name in THREAD_METHODS) and (back_base not in DONT_TRACE_THREADING or \ + (method_name in INNER_METHODS and back_base in INNER_FILES)): + thread_id = get_thread_id(self_obj) + name = self_obj.getName() + real_method = frame.f_code.co_name + parent = None + if real_method == "_stop": + if back_base in INNER_FILES and \ + back.f_code.co_name == "_wait_for_tstate_lock": + back = back.f_back.f_back + real_method = "stop" + if hasattr(self_obj, "_pydev_join_called"): + parent = get_thread_id(t) + elif real_method == "join": + # join called in the current thread, not in self object + if not self_obj.is_alive(): + return + thread_id = get_thread_id(t) + name = t.name + self_obj._pydev_join_called = True + + if real_method == "start": + parent = get_thread_id(t) + send_concurrency_message("threading_event", event_time, name, thread_id, "thread", + real_method, back.f_code.co_filename, back.f_lineno, back, parent=parent) + # print(event_time, self_obj.getName(), thread_id, "thread", + # real_method, back.f_code.co_filename, back.f_lineno) + + if method_name == "pydev_after_run_call": + if hasattr(frame, "f_back") and frame.f_back is not None: + back = frame.f_back + if hasattr(back, "f_back") and back.f_back is not None: + back = back.f_back + if "self" in back.f_locals: + if isinstance(back.f_locals["self"], threading.Thread): + my_self_obj = frame.f_back.f_back.f_locals["self"] + my_back = frame.f_back.f_back + my_thread_id = get_thread_id(my_self_obj) + send_massage = True + if hasattr(my_self_obj, "_pydev_join_called"): + send_massage = False + # we can't detect stop after join in Python 2 yet + if send_massage: + send_concurrency_message("threading_event", event_time, "Thread", my_thread_id, "thread", + "stop", my_back.f_code.co_filename, my_back.f_lineno, my_back, parent=None) + + if self_obj.__class__ == ObjectWrapper: + if back_base in DONT_TRACE_THREADING: + # do not trace methods called from threading + return + back_back_base = pydevd_file_utils.get_abs_path_real_path_and_base_from_frame(back.f_back)[2] + back = back.f_back + if back_back_base in DONT_TRACE_THREADING: + # back_back_base is the file, where the method was called froms + return + if method_name == "__init__": + send_concurrency_message("threading_event", event_time, t.name, get_thread_id(t), "lock", + method_name, back.f_code.co_filename, back.f_lineno, back, lock_id=str(id(frame.f_locals["self"]))) + if "attr" in frame.f_locals and \ + (frame.f_locals["attr"] in LOCK_METHODS or + frame.f_locals["attr"] in QUEUE_METHODS): + real_method = frame.f_locals["attr"] + if method_name == "call_begin": + real_method += "_begin" + elif method_name == "call_end": + real_method += "_end" + else: + return + if real_method == "release_end": + # do not log release end. Maybe use it later + return + send_concurrency_message("threading_event", event_time, t.name, get_thread_id(t), "lock", + real_method, back.f_code.co_filename, back.f_lineno, back, lock_id=str(id(self_obj))) + + if real_method in ("put_end", "get_end"): + # fake release for queue, cause we don't call it directly + send_concurrency_message("threading_event", event_time, t.name, get_thread_id(t), "lock", + "release", back.f_code.co_filename, back.f_lineno, back, lock_id=str(id(self_obj))) + # print(event_time, t.name, get_thread_id(t), "lock", + # real_method, back.f_code.co_filename, back.f_lineno) + + except Exception: + pydev_log.exception() + + +class NameManager: + + def __init__(self, name_prefix): + self.tasks = {} + self.last = 0 + self.prefix = name_prefix + + def get(self, id): + if id not in self.tasks: + self.last += 1 + self.tasks[id] = self.prefix + "-" + str(self.last) + return self.tasks[id] + + +class AsyncioLogger: + + def __init__(self): + self.task_mgr = NameManager("Task") + self.coro_mgr = NameManager("Coro") + self.start_time = cur_time() + + def get_task_id(self, frame): + asyncio = sys.modules.get('asyncio') + if asyncio is None: + # If asyncio was not imported, there's nothing to be done + # (also fixes issue where multiprocessing is imported due + # to asyncio). + return None + while frame is not None: + if "self" in frame.f_locals: + self_obj = frame.f_locals["self"] + if isinstance(self_obj, asyncio.Task): + method_name = frame.f_code.co_name + if method_name == "_step": + return id(self_obj) + frame = frame.f_back + return None + + def log_event(self, frame): + event_time = cur_time() - self.start_time + + # Debug loop iterations + # if isinstance(self_obj, asyncio.base_events.BaseEventLoop): + # if method_name == "_run_once": + # print("Loop iteration") + + if not hasattr(frame, "f_back") or frame.f_back is None: + return + + asyncio = sys.modules.get('asyncio') + if asyncio is None: + # If asyncio was not imported, there's nothing to be done + # (also fixes issue where multiprocessing is imported due + # to asyncio). + return + + back = frame.f_back + + if "self" in frame.f_locals: + self_obj = frame.f_locals["self"] + if isinstance(self_obj, asyncio.Task): + method_name = frame.f_code.co_name + if method_name == "set_result": + task_id = id(self_obj) + task_name = self.task_mgr.get(str(task_id)) + send_concurrency_message("asyncio_event", event_time, task_name, task_name, "thread", "stop", frame.f_code.co_filename, + frame.f_lineno, frame) + + method_name = back.f_code.co_name + if method_name == "__init__": + task_id = id(self_obj) + task_name = self.task_mgr.get(str(task_id)) + send_concurrency_message("asyncio_event", event_time, task_name, task_name, "thread", "start", frame.f_code.co_filename, + frame.f_lineno, frame) + + method_name = frame.f_code.co_name + if isinstance(self_obj, asyncio.Lock): + if method_name in ("acquire", "release"): + task_id = self.get_task_id(frame) + task_name = self.task_mgr.get(str(task_id)) + + if method_name == "acquire": + if not self_obj._waiters and not self_obj.locked(): + send_concurrency_message("asyncio_event", event_time, task_name, task_name, "lock", + method_name + "_begin", frame.f_code.co_filename, frame.f_lineno, frame, lock_id=str(id(self_obj))) + if self_obj.locked(): + method_name += "_begin" + else: + method_name += "_end" + elif method_name == "release": + method_name += "_end" + + send_concurrency_message("asyncio_event", event_time, task_name, task_name, "lock", + method_name, frame.f_code.co_filename, frame.f_lineno, frame, lock_id=str(id(self_obj))) + + if isinstance(self_obj, asyncio.Queue): + if method_name in ("put", "get", "_put", "_get"): + task_id = self.get_task_id(frame) + task_name = self.task_mgr.get(str(task_id)) + + if method_name == "put": + send_concurrency_message("asyncio_event", event_time, task_name, task_name, "lock", + "acquire_begin", frame.f_code.co_filename, frame.f_lineno, frame, lock_id=str(id(self_obj))) + elif method_name == "_put": + send_concurrency_message("asyncio_event", event_time, task_name, task_name, "lock", + "acquire_end", frame.f_code.co_filename, frame.f_lineno, frame, lock_id=str(id(self_obj))) + send_concurrency_message("asyncio_event", event_time, task_name, task_name, "lock", + "release", frame.f_code.co_filename, frame.f_lineno, frame, lock_id=str(id(self_obj))) + elif method_name == "get": + back = frame.f_back + if back.f_code.co_name != "send": + send_concurrency_message("asyncio_event", event_time, task_name, task_name, "lock", + "acquire_begin", frame.f_code.co_filename, frame.f_lineno, frame, lock_id=str(id(self_obj))) + else: + send_concurrency_message("asyncio_event", event_time, task_name, task_name, "lock", + "acquire_end", frame.f_code.co_filename, frame.f_lineno, frame, lock_id=str(id(self_obj))) + send_concurrency_message("asyncio_event", event_time, task_name, task_name, "lock", + "release", frame.f_code.co_filename, frame.f_lineno, frame, lock_id=str(id(self_obj))) diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/pydevd_thread_wrappers.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/pydevd_thread_wrappers.py new file mode 100644 index 0000000..526bb0c --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/pydevd_thread_wrappers.py @@ -0,0 +1,83 @@ +from _pydev_bundle._pydev_saved_modules import threading + + +def wrapper(fun): + + def pydev_after_run_call(): + pass + + def inner(*args, **kwargs): + fun(*args, **kwargs) + pydev_after_run_call() + + return inner + + +def wrap_attr(obj, attr): + t_save_start = getattr(obj, attr) + setattr(obj, attr, wrapper(t_save_start)) + obj._pydev_run_patched = True + + +class ObjectWrapper(object): + + def __init__(self, obj): + self.wrapped_object = obj + try: + import functools + functools.update_wrapper(self, obj) + except: + pass + + def __getattr__(self, attr): + orig_attr = getattr(self.wrapped_object, attr) # .__getattribute__(attr) + if callable(orig_attr): + + def patched_attr(*args, **kwargs): + self.call_begin(attr) + result = orig_attr(*args, **kwargs) + self.call_end(attr) + if result == self.wrapped_object: + return self + return result + + return patched_attr + else: + return orig_attr + + def call_begin(self, attr): + pass + + def call_end(self, attr): + pass + + def __enter__(self): + self.call_begin("__enter__") + self.wrapped_object.__enter__() + self.call_end("__enter__") + + def __exit__(self, exc_type, exc_val, exc_tb): + self.call_begin("__exit__") + self.wrapped_object.__exit__(exc_type, exc_val, exc_tb) + + +def factory_wrapper(fun): + + def inner(*args, **kwargs): + obj = fun(*args, **kwargs) + return ObjectWrapper(obj) + + return inner + + +def wrap_threads(): + # TODO: add wrappers for thread and _thread + # import _thread as mod + # print("Thread imported") + # mod.start_new_thread = wrapper(mod.start_new_thread) + threading.Lock = factory_wrapper(threading.Lock) + threading.RLock = factory_wrapper(threading.RLock) + + # queue patching + import queue # @UnresolvedImport + queue.Queue = factory_wrapper(queue.Queue) diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_console.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_console.py new file mode 100644 index 0000000..925e010 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_console.py @@ -0,0 +1,270 @@ +'''An helper file for the pydev debugger (REPL) console +''' +import sys +import traceback +from _pydevd_bundle.pydevconsole_code import InteractiveConsole, _EvalAwaitInNewEventLoop +from _pydev_bundle import _pydev_completer +from _pydev_bundle.pydev_console_utils import BaseInterpreterInterface, BaseStdIn +from _pydev_bundle.pydev_imports import Exec +from _pydev_bundle.pydev_override import overrides +from _pydevd_bundle import pydevd_save_locals +from _pydevd_bundle.pydevd_io import IOBuf +from pydevd_tracing import get_exception_traceback_str +from _pydevd_bundle.pydevd_xml import make_valid_xml_value +import inspect +from _pydevd_bundle.pydevd_save_locals import update_globals_and_locals + +CONSOLE_OUTPUT = "output" +CONSOLE_ERROR = "error" + + +#======================================================================================================================= +# ConsoleMessage +#======================================================================================================================= +class ConsoleMessage: + """Console Messages + """ + + def __init__(self): + self.more = False + # List of tuple [('error', 'error_message'), ('message_list', 'output_message')] + self.console_messages = [] + + def add_console_message(self, message_type, message): + """add messages in the console_messages list + """ + for m in message.split("\n"): + if m.strip(): + self.console_messages.append((message_type, m)) + + def update_more(self, more): + """more is set to true if further input is required from the user + else more is set to false + """ + self.more = more + + def to_xml(self): + """Create an XML for console message_list, error and more (true/false) + + console message_list + console error + true/false + + """ + makeValid = make_valid_xml_value + + xml = '%s' % (self.more) + + for message_type, message in self.console_messages: + xml += '<%s message="%s">' % (message_type, makeValid(message), message_type) + + xml += '' + + return xml + + +#======================================================================================================================= +# _DebugConsoleStdIn +#======================================================================================================================= +class _DebugConsoleStdIn(BaseStdIn): + + @overrides(BaseStdIn.readline) + def readline(self, *args, **kwargs): + sys.stderr.write('Warning: Reading from stdin is still not supported in this console.\n') + return '\n' + + +#======================================================================================================================= +# DebugConsole +#======================================================================================================================= +class DebugConsole(InteractiveConsole, BaseInterpreterInterface): + """Wrapper around code.InteractiveConsole, in order to send + errors and outputs to the debug console + """ + + @overrides(BaseInterpreterInterface.create_std_in) + def create_std_in(self, *args, **kwargs): + try: + if not self.__buffer_output: + return sys.stdin + except: + pass + + return _DebugConsoleStdIn() # If buffered, raw_input is not supported in this console. + + @overrides(InteractiveConsole.push) + def push(self, line, frame, buffer_output=True): + """Change built-in stdout and stderr methods by the + new custom StdMessage. + execute the InteractiveConsole.push. + Change the stdout and stderr back be the original built-ins + + :param buffer_output: if False won't redirect the output. + + Return boolean (True if more input is required else False), + output_messages and input_messages + """ + self.__buffer_output = buffer_output + more = False + if buffer_output: + original_stdout = sys.stdout + original_stderr = sys.stderr + try: + try: + self.frame = frame + if buffer_output: + out = sys.stdout = IOBuf() + err = sys.stderr = IOBuf() + more = self.add_exec(line) + except Exception: + exc = get_exception_traceback_str() + if buffer_output: + err.buflist.append("Internal Error: %s" % (exc,)) + else: + sys.stderr.write("Internal Error: %s\n" % (exc,)) + finally: + # Remove frame references. + self.frame = None + frame = None + if buffer_output: + sys.stdout = original_stdout + sys.stderr = original_stderr + + if buffer_output: + return more, out.buflist, err.buflist + else: + return more, [], [] + + @overrides(BaseInterpreterInterface.do_add_exec) + def do_add_exec(self, line): + return InteractiveConsole.push(self, line) + + @overrides(InteractiveConsole.runcode) + def runcode(self, code): + """Execute a code object. + + When an exception occurs, self.showtraceback() is called to + display a traceback. All exceptions are caught except + SystemExit, which is reraised. + + A note about KeyboardInterrupt: this exception may occur + elsewhere in this code, and may not always be caught. The + caller should be prepared to deal with it. + + """ + try: + updated_globals = self.get_namespace() + initial_globals = updated_globals.copy() + + updated_locals = None + + is_async = False + if hasattr(inspect, 'CO_COROUTINE'): + is_async = inspect.CO_COROUTINE & code.co_flags == inspect.CO_COROUTINE + + if is_async: + t = _EvalAwaitInNewEventLoop(code, updated_globals, updated_locals) + t.start() + t.join() + + update_globals_and_locals(updated_globals, initial_globals, self.frame) + if t.exc: + raise t.exc[1].with_traceback(t.exc[2]) + + else: + try: + exec(code, updated_globals, updated_locals) + finally: + update_globals_and_locals(updated_globals, initial_globals, self.frame) + except SystemExit: + raise + except: + # In case sys.excepthook called, use original excepthook #PyDev-877: Debug console freezes with Python 3.5+ + # (showtraceback does it on python 3.5 onwards) + sys.excepthook = sys.__excepthook__ + try: + self.showtraceback() + finally: + sys.__excepthook__ = sys.excepthook + + def get_namespace(self): + dbg_namespace = {} + dbg_namespace.update(self.frame.f_globals) + dbg_namespace.update(self.frame.f_locals) # locals later because it has precedence over the actual globals + return dbg_namespace + + +#======================================================================================================================= +# InteractiveConsoleCache +#======================================================================================================================= +class InteractiveConsoleCache: + + thread_id = None + frame_id = None + interactive_console_instance = None + + +# Note: On Jython 2.1 we can't use classmethod or staticmethod, so, just make the functions below free-functions. +def get_interactive_console(thread_id, frame_id, frame, console_message): + """returns the global interactive console. + interactive console should have been initialized by this time + :rtype: DebugConsole + """ + if InteractiveConsoleCache.thread_id == thread_id and InteractiveConsoleCache.frame_id == frame_id: + return InteractiveConsoleCache.interactive_console_instance + + InteractiveConsoleCache.interactive_console_instance = DebugConsole() + InteractiveConsoleCache.thread_id = thread_id + InteractiveConsoleCache.frame_id = frame_id + + console_stacktrace = traceback.extract_stack(frame, limit=1) + if console_stacktrace: + current_context = console_stacktrace[0] # top entry from stacktrace + context_message = 'File "%s", line %s, in %s' % (current_context[0], current_context[1], current_context[2]) + console_message.add_console_message(CONSOLE_OUTPUT, "[Current context]: %s" % (context_message,)) + return InteractiveConsoleCache.interactive_console_instance + + +def clear_interactive_console(): + InteractiveConsoleCache.thread_id = None + InteractiveConsoleCache.frame_id = None + InteractiveConsoleCache.interactive_console_instance = None + + +def execute_console_command(frame, thread_id, frame_id, line, buffer_output=True): + """fetch an interactive console instance from the cache and + push the received command to the console. + + create and return an instance of console_message + """ + console_message = ConsoleMessage() + + interpreter = get_interactive_console(thread_id, frame_id, frame, console_message) + more, output_messages, error_messages = interpreter.push(line, frame, buffer_output) + console_message.update_more(more) + + for message in output_messages: + console_message.add_console_message(CONSOLE_OUTPUT, message) + + for message in error_messages: + console_message.add_console_message(CONSOLE_ERROR, message) + + return console_message + + +def get_description(frame, thread_id, frame_id, expression): + console_message = ConsoleMessage() + interpreter = get_interactive_console(thread_id, frame_id, frame, console_message) + try: + interpreter.frame = frame + return interpreter.getDescription(expression) + finally: + interpreter.frame = None + + +def get_completions(frame, act_tok): + """ fetch all completions, create xml for the same + return the completions xml + """ + return _pydev_completer.generate_completions_as_xml(frame, act_tok) + diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_constants.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_constants.py new file mode 100644 index 0000000..1b36524 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_constants.py @@ -0,0 +1,792 @@ +''' +This module holds the constants used for specifying the states of the debugger. +''' +from __future__ import nested_scopes +import platform +import weakref +import struct +import warnings +import functools +from contextlib import contextmanager + +STATE_RUN = 1 +STATE_SUSPEND = 2 + +PYTHON_SUSPEND = 1 +DJANGO_SUSPEND = 2 +JINJA2_SUSPEND = 3 + +int_types = (int,) + +# types does not include a MethodWrapperType +try: + MethodWrapperType = type([].__str__) +except: + MethodWrapperType = None + +import sys # Note: the sys import must be here anyways (others depend on it) + +# Preload codecs to avoid imports to them later on which can potentially halt the debugger. +import codecs as _codecs +for _codec in ["ascii", "utf8", "utf-8", "latin1", "latin-1", "idna"]: + _codecs.lookup(_codec) + + +class DebugInfoHolder: + # we have to put it here because it can be set through the command line (so, the + # already imported references would not have it). + + # General information + DEBUG_TRACE_LEVEL = 0 # 0 = critical, 1 = info, 2 = debug, 3 = verbose + + # Flags to debug specific points of the code. + DEBUG_RECORD_SOCKET_READS = False + DEBUG_TRACE_BREAKPOINTS = -1 + + PYDEVD_DEBUG_FILE = None + + +# Any filename that starts with these strings is not traced nor shown to the user. +# In Python 3.7 " ..." can appear and should be ignored for the user. +# has special heuristics to know whether it should be traced or not (it's part of +# user code when it's the used in python -c and part of the library otherwise). + +# Any filename that starts with these strings is considered user (project) code. Note +# that files for which we have a source mapping are also considered as a part of the project. +USER_CODE_BASENAMES_STARTING_WITH = (' (2 ** 32) + +IS_JYTHON = pydevd_vm_type.get_vm_type() == pydevd_vm_type.PydevdVmType.JYTHON + +IS_PYPY = platform.python_implementation() == 'PyPy' + +if IS_JYTHON: + import java.lang.System # @UnresolvedImport + IS_WINDOWS = java.lang.System.getProperty("os.name").lower().startswith("windows") + +USE_CUSTOM_SYS_CURRENT_FRAMES = not hasattr(sys, '_current_frames') or IS_PYPY +USE_CUSTOM_SYS_CURRENT_FRAMES_MAP = USE_CUSTOM_SYS_CURRENT_FRAMES and (IS_PYPY or IS_IRONPYTHON) + +if USE_CUSTOM_SYS_CURRENT_FRAMES: + + # Some versions of Jython don't have it (but we can provide a replacement) + if IS_JYTHON: + from java.lang import NoSuchFieldException + from org.python.core import ThreadStateMapping + try: + cachedThreadState = ThreadStateMapping.getDeclaredField('globalThreadStates') # Dev version + except NoSuchFieldException: + cachedThreadState = ThreadStateMapping.getDeclaredField('cachedThreadState') # Release Jython 2.7.0 + cachedThreadState.accessible = True + thread_states = cachedThreadState.get(ThreadStateMapping) + + def _current_frames(): + as_array = thread_states.entrySet().toArray() + ret = {} + for thread_to_state in as_array: + thread = thread_to_state.getKey() + if thread is None: + continue + thread_state = thread_to_state.getValue() + if thread_state is None: + continue + + frame = thread_state.frame + if frame is None: + continue + + ret[thread.getId()] = frame + return ret + + elif USE_CUSTOM_SYS_CURRENT_FRAMES_MAP: + constructed_tid_to_last_frame = {} + + # IronPython doesn't have it. Let's use our workaround... + def _current_frames(): + return constructed_tid_to_last_frame + + else: + raise RuntimeError('Unable to proceed (sys._current_frames not available in this Python implementation).') +else: + _current_frames = sys._current_frames + +IS_PYTHON_STACKLESS = "stackless" in sys.version.lower() +CYTHON_SUPPORTED = False + +python_implementation = platform.python_implementation() +if python_implementation == 'CPython': + # Only available for CPython! + CYTHON_SUPPORTED = True + +#======================================================================================================================= +# Python 3? +#======================================================================================================================= +IS_PY36_OR_GREATER = sys.version_info >= (3, 6) +IS_PY37_OR_GREATER = sys.version_info >= (3, 7) +IS_PY38_OR_GREATER = sys.version_info >= (3, 8) +IS_PY39_OR_GREATER = sys.version_info >= (3, 9) +IS_PY310_OR_GREATER = sys.version_info >= (3, 10) +IS_PY311_OR_GREATER = sys.version_info >= (3, 11) + + +def version_str(v): + return '.'.join((str(x) for x in v[:3])) + ''.join((str(x) for x in v[3:])) + + +PY_VERSION_STR = version_str(sys.version_info) +try: + PY_IMPL_VERSION_STR = version_str(sys.implementation.version) +except AttributeError: + PY_IMPL_VERSION_STR = '' + +try: + PY_IMPL_NAME = sys.implementation.name +except AttributeError: + PY_IMPL_NAME = '' + +ENV_TRUE_LOWER_VALUES = ('yes', 'true', '1') +ENV_FALSE_LOWER_VALUES = ('no', 'false', '0') + + +def is_true_in_env(env_key): + if isinstance(env_key, tuple): + # If a tuple, return True if any of those ends up being true. + for v in env_key: + if is_true_in_env(v): + return True + return False + else: + return os.getenv(env_key, '').lower() in ENV_TRUE_LOWER_VALUES + + +def as_float_in_env(env_key, default): + value = os.getenv(env_key) + if value is None: + return default + try: + return float(value) + except Exception: + raise RuntimeError( + 'Error: expected the env variable: %s to be set to a float value. Found: %s' % ( + env_key, value)) + + +def as_int_in_env(env_key, default): + value = os.getenv(env_key) + if value is None: + return default + try: + return int(value) + except Exception: + raise RuntimeError( + 'Error: expected the env variable: %s to be set to a int value. Found: %s' % ( + env_key, value)) + + +# If true in env, use gevent mode. +SUPPORT_GEVENT = is_true_in_env('GEVENT_SUPPORT') + +# Opt-in support to show gevent paused greenlets. False by default because if too many greenlets are +# paused the UI can slow-down (i.e.: if 1000 greenlets are paused, each one would be shown separate +# as a different thread, but if the UI isn't optimized for that the experience is lacking...). +GEVENT_SHOW_PAUSED_GREENLETS = is_true_in_env('GEVENT_SHOW_PAUSED_GREENLETS') + +DISABLE_FILE_VALIDATION = is_true_in_env('PYDEVD_DISABLE_FILE_VALIDATION') + +GEVENT_SUPPORT_NOT_SET_MSG = os.getenv( + 'GEVENT_SUPPORT_NOT_SET_MSG', + 'It seems that the gevent monkey-patching is being used.\n' + 'Please set an environment variable with:\n' + 'GEVENT_SUPPORT=True\n' + 'to enable gevent support in the debugger.' +) + +USE_LIB_COPY = SUPPORT_GEVENT + +INTERACTIVE_MODE_AVAILABLE = sys.platform in ('darwin', 'win32') or os.getenv('DISPLAY') is not None + +# If true in env, forces cython to be used (raises error if not available). +# If false in env, disables it. +# If not specified, uses default heuristic to determine if it should be loaded. +USE_CYTHON_FLAG = os.getenv('PYDEVD_USE_CYTHON') + +if USE_CYTHON_FLAG is not None: + USE_CYTHON_FLAG = USE_CYTHON_FLAG.lower() + if USE_CYTHON_FLAG not in ENV_TRUE_LOWER_VALUES and USE_CYTHON_FLAG not in ENV_FALSE_LOWER_VALUES: + raise RuntimeError('Unexpected value for PYDEVD_USE_CYTHON: %s (enable with one of: %s, disable with one of: %s)' % ( + USE_CYTHON_FLAG, ENV_TRUE_LOWER_VALUES, ENV_FALSE_LOWER_VALUES)) + +else: + if not CYTHON_SUPPORTED: + USE_CYTHON_FLAG = 'no' + +# If true in env, forces frame eval to be used (raises error if not available). +# If false in env, disables it. +# If not specified, uses default heuristic to determine if it should be loaded. +PYDEVD_USE_FRAME_EVAL = os.getenv('PYDEVD_USE_FRAME_EVAL', '').lower() + +PYDEVD_IPYTHON_COMPATIBLE_DEBUGGING = is_true_in_env('PYDEVD_IPYTHON_COMPATIBLE_DEBUGGING') + +# If specified in PYDEVD_IPYTHON_CONTEXT it must be a string with the basename +# and then the name of 2 methods in which the evaluate is done. +PYDEVD_IPYTHON_CONTEXT = ('interactiveshell.py', 'run_code', 'run_ast_nodes') +_ipython_ctx = os.getenv('PYDEVD_IPYTHON_CONTEXT') +if _ipython_ctx: + PYDEVD_IPYTHON_CONTEXT = tuple(x.strip() for x in _ipython_ctx.split(',')) + assert len(PYDEVD_IPYTHON_CONTEXT) == 3, 'Invalid PYDEVD_IPYTHON_CONTEXT: %s' % (_ipython_ctx,) + +# Use to disable loading the lib to set tracing to all threads (default is using heuristics based on where we're running). +LOAD_NATIVE_LIB_FLAG = os.getenv('PYDEVD_LOAD_NATIVE_LIB', '').lower() + +LOG_TIME = os.getenv('PYDEVD_LOG_TIME', 'true').lower() in ENV_TRUE_LOWER_VALUES + +SHOW_COMPILE_CYTHON_COMMAND_LINE = is_true_in_env('PYDEVD_SHOW_COMPILE_CYTHON_COMMAND_LINE') + +LOAD_VALUES_ASYNC = is_true_in_env('PYDEVD_LOAD_VALUES_ASYNC') +DEFAULT_VALUE = "__pydevd_value_async" +ASYNC_EVAL_TIMEOUT_SEC = 60 +NEXT_VALUE_SEPARATOR = "__pydev_val__" +BUILTINS_MODULE_NAME = 'builtins' +SHOW_DEBUG_INFO_ENV = is_true_in_env(('PYCHARM_DEBUG', 'PYDEV_DEBUG', 'PYDEVD_DEBUG')) + +# Pandas customization. +PANDAS_MAX_ROWS = as_int_in_env('PYDEVD_PANDAS_MAX_ROWS', 60) +PANDAS_MAX_COLS = as_int_in_env('PYDEVD_PANDAS_MAX_COLS', 10) +PANDAS_MAX_COLWIDTH = as_int_in_env('PYDEVD_PANDAS_MAX_COLWIDTH', 50) + +# If getting an attribute or computing some value is too slow, let the user know if the given timeout elapses. +PYDEVD_WARN_SLOW_RESOLVE_TIMEOUT = as_float_in_env('PYDEVD_WARN_SLOW_RESOLVE_TIMEOUT', 0.15) + +# This timeout is used to track the time to send a message saying that the evaluation +# is taking too long and possible mitigations. +PYDEVD_WARN_EVALUATION_TIMEOUT = as_float_in_env('PYDEVD_WARN_EVALUATION_TIMEOUT', 3.) + +# If True in env shows a thread dump when the evaluation times out. +PYDEVD_THREAD_DUMP_ON_WARN_EVALUATION_TIMEOUT = is_true_in_env('PYDEVD_THREAD_DUMP_ON_WARN_EVALUATION_TIMEOUT') + +# This timeout is used only when the mode that all threads are stopped/resumed at once is used +# (i.e.: multi_threads_single_notification) +# +# In this mode, if some evaluation doesn't finish until this timeout, we notify the user +# and then resume all threads until the evaluation finishes. +# +# A negative value will disable the timeout and a value of 0 will automatically run all threads +# (without any notification) when the evaluation is started and pause all threads when the +# evaluation is finished. A positive value will run run all threads after the timeout +# elapses. +PYDEVD_UNBLOCK_THREADS_TIMEOUT = as_float_in_env('PYDEVD_UNBLOCK_THREADS_TIMEOUT', -1.) + +# Timeout to interrupt a thread (so, if some evaluation doesn't finish until this +# timeout, the thread doing the evaluation is interrupted). +# A value <= 0 means this is disabled. +# See: _pydevd_bundle.pydevd_timeout.create_interrupt_this_thread_callback for details +# on how the thread interruption works (there are some caveats related to it). +PYDEVD_INTERRUPT_THREAD_TIMEOUT = as_float_in_env('PYDEVD_INTERRUPT_THREAD_TIMEOUT', -1) + +# If PYDEVD_APPLY_PATCHING_TO_HIDE_PYDEVD_THREADS is set to False, the patching to hide pydevd threads won't be applied. +PYDEVD_APPLY_PATCHING_TO_HIDE_PYDEVD_THREADS = os.getenv('PYDEVD_APPLY_PATCHING_TO_HIDE_PYDEVD_THREADS', 'true').lower() in ENV_TRUE_LOWER_VALUES + +EXCEPTION_TYPE_UNHANDLED = 'UNHANDLED' +EXCEPTION_TYPE_USER_UNHANDLED = 'USER_UNHANDLED' +EXCEPTION_TYPE_HANDLED = 'HANDLED' + +if SHOW_DEBUG_INFO_ENV: + # show debug info before the debugger start + DebugInfoHolder.DEBUG_RECORD_SOCKET_READS = True + DebugInfoHolder.DEBUG_TRACE_LEVEL = 3 + DebugInfoHolder.DEBUG_TRACE_BREAKPOINTS = 1 + +DebugInfoHolder.PYDEVD_DEBUG_FILE = os.getenv('PYDEVD_DEBUG_FILE') + + +def protect_libraries_from_patching(): + """ + In this function we delete some modules from `sys.modules` dictionary and import them again inside + `_pydev_saved_modules` in order to save their original copies there. After that we can use these + saved modules within the debugger to protect them from patching by external libraries (e.g. gevent). + """ + patched = ['threading', 'thread', '_thread', 'time', 'socket', 'queue', 'select', + 'xmlrpclib', 'SimpleXMLRPCServer', 'BaseHTTPServer', 'SocketServer', + 'xmlrpc.client', 'xmlrpc.server', 'http.server', 'socketserver'] + + for name in patched: + try: + __import__(name) + except: + pass + + patched_modules = dict([(k, v) for k, v in sys.modules.items() + if k in patched]) + + for name in patched_modules: + del sys.modules[name] + + # import for side effects + import _pydev_bundle._pydev_saved_modules + + for name in patched_modules: + sys.modules[name] = patched_modules[name] + + +if USE_LIB_COPY: + protect_libraries_from_patching() + +from _pydev_bundle._pydev_saved_modules import thread, threading + +_fork_safe_locks = [] + +if IS_JYTHON: + + def ForkSafeLock(rlock=False): + if rlock: + return threading.RLock() + else: + return threading.Lock() + +else: + + class ForkSafeLock(object): + ''' + A lock which is fork-safe (when a fork is done, `pydevd_constants.after_fork()` + should be called to reset the locks in the new process to avoid deadlocks + from a lock which was locked during the fork). + + Note: + Unlike `threading.Lock` this class is not completely atomic, so, doing: + + lock = ForkSafeLock() + with lock: + ... + + is different than using `threading.Lock` directly because the tracing may + find an additional function call on `__enter__` and on `__exit__`, so, it's + not recommended to use this in all places, only where the forking may be important + (so, for instance, the locks on PyDB should not be changed to this lock because + of that -- and those should all be collected in the new process because PyDB itself + should be completely cleared anyways). + + It's possible to overcome this limitation by using `ForkSafeLock.acquire` and + `ForkSafeLock.release` instead of the context manager (as acquire/release are + bound to the original implementation, whereas __enter__/__exit__ is not due to Python + limitations). + ''' + + def __init__(self, rlock=False): + self._rlock = rlock + self._init() + _fork_safe_locks.append(weakref.ref(self)) + + def __enter__(self): + return self._lock.__enter__() + + def __exit__(self, exc_type, exc_val, exc_tb): + return self._lock.__exit__(exc_type, exc_val, exc_tb) + + def _init(self): + if self._rlock: + self._lock = threading.RLock() + else: + self._lock = thread.allocate_lock() + + self.acquire = self._lock.acquire + self.release = self._lock.release + _fork_safe_locks.append(weakref.ref(self)) + + +def after_fork(): + ''' + Must be called after a fork operation (will reset the ForkSafeLock). + ''' + global _fork_safe_locks + locks = _fork_safe_locks[:] + _fork_safe_locks = [] + for lock in locks: + lock = lock() + if lock is not None: + lock._init() + + +_thread_id_lock = ForkSafeLock() +thread_get_ident = thread.get_ident + + +def as_str(s): + assert isinstance(s, str) + return s + + +@contextmanager +def filter_all_warnings(): + with warnings.catch_warnings(): + warnings.filterwarnings("ignore") + yield + + +def silence_warnings_decorator(func): + + @functools.wraps(func) + def new_func(*args, **kwargs): + with filter_all_warnings(): + return func(*args, **kwargs) + + return new_func + + +def sorted_dict_repr(d): + s = sorted(d.items(), key=lambda x:str(x[0])) + return '{' + ', '.join(('%r: %r' % x) for x in s) + '}' + + +def iter_chars(b): + # In Python 2, we can iterate bytes or str with individual characters, but Python 3 onwards + # changed that behavior so that when iterating bytes we actually get ints! + if isinstance(b, bytes): + # i.e.: do something as struct.unpack('3c', b) + return iter(struct.unpack(str(len(b)) + 'c', b)) + return iter(b) + + +if IS_JYTHON: + + def NO_FTRACE(frame, event, arg): + return None + +else: + _curr_trace = sys.gettrace() + + # Set a temporary trace which does nothing for us to test (otherwise setting frame.f_trace has no + # effect). + def _temp_trace(frame, event, arg): + return None + + sys.settrace(_temp_trace) + + def _check_ftrace_set_none(): + ''' + Will throw an error when executing a line event + ''' + sys._getframe().f_trace = None + _line_event = 1 + _line_event = 2 + + try: + _check_ftrace_set_none() + + def NO_FTRACE(frame, event, arg): + frame.f_trace = None + return None + + except TypeError: + + def NO_FTRACE(frame, event, arg): + # In Python <= 2.6 and <= 3.4, if we're tracing a method, frame.f_trace may not be set + # to None, it must always be set to a tracing function. + # See: tests_python.test_tracing_gotchas.test_tracing_gotchas + # + # Note: Python 2.7 sometimes works and sometimes it doesn't depending on the minor + # version because of https://bugs.python.org/issue20041 (although bug reports didn't + # include the minor version, so, mark for any Python 2.7 as I'm not completely sure + # the fix in later 2.7 versions is the same one we're dealing with). + return None + + sys.settrace(_curr_trace) + + +#======================================================================================================================= +# get_pid +#======================================================================================================================= +def get_pid(): + try: + return os.getpid() + except AttributeError: + try: + # Jython does not have it! + import java.lang.management.ManagementFactory # @UnresolvedImport -- just for jython + pid = java.lang.management.ManagementFactory.getRuntimeMXBean().getName() + return pid.replace('@', '_') + except: + # ok, no pid available (will be unable to debug multiple processes) + return '000001' + + +def clear_cached_thread_id(thread): + with _thread_id_lock: + try: + if thread.__pydevd_id__ != 'console_main': + # The console_main is a special thread id used in the console and its id should never be reset + # (otherwise we may no longer be able to get its variables -- see: https://www.brainwy.com/tracker/PyDev/776). + del thread.__pydevd_id__ + except AttributeError: + pass + + +# Don't let threads be collected (so that id(thread) is guaranteed to be unique). +_thread_id_to_thread_found = {} + + +def _get_or_compute_thread_id_with_lock(thread, is_current_thread): + with _thread_id_lock: + # We do a new check with the lock in place just to be sure that nothing changed + tid = getattr(thread, '__pydevd_id__', None) + if tid is not None: + return tid + + _thread_id_to_thread_found[id(thread)] = thread + + # Note: don't use thread.ident because a new thread may have the + # same id from an old thread. + pid = get_pid() + tid = 'pid_%s_id_%s' % (pid, id(thread)) + + thread.__pydevd_id__ = tid + + return tid + + +def get_current_thread_id(thread): + ''' + Note: the difference from get_current_thread_id to get_thread_id is that + for the current thread we can get the thread id while the thread.ident + is still not set in the Thread instance. + ''' + try: + # Fast path without getting lock. + tid = thread.__pydevd_id__ + if tid is None: + # Fix for https://www.brainwy.com/tracker/PyDev/645 + # if __pydevd_id__ is None, recalculate it... also, use an heuristic + # that gives us always the same id for the thread (using thread.ident or id(thread)). + raise AttributeError() + except AttributeError: + tid = _get_or_compute_thread_id_with_lock(thread, is_current_thread=True) + + return tid + + +def get_thread_id(thread): + try: + # Fast path without getting lock. + tid = thread.__pydevd_id__ + if tid is None: + # Fix for https://www.brainwy.com/tracker/PyDev/645 + # if __pydevd_id__ is None, recalculate it... also, use an heuristic + # that gives us always the same id for the thread (using thread.ident or id(thread)). + raise AttributeError() + except AttributeError: + tid = _get_or_compute_thread_id_with_lock(thread, is_current_thread=False) + + return tid + + +def set_thread_id(thread, thread_id): + with _thread_id_lock: + thread.__pydevd_id__ = thread_id + + +#======================================================================================================================= +# Null +#======================================================================================================================= +class Null: + """ + Gotten from: http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/68205 + """ + + def __init__(self, *args, **kwargs): + return None + + def __call__(self, *args, **kwargs): + return self + + def __enter__(self, *args, **kwargs): + return self + + def __exit__(self, *args, **kwargs): + return self + + def __getattr__(self, mname): + if len(mname) > 4 and mname[:2] == '__' and mname[-2:] == '__': + # Don't pretend to implement special method names. + raise AttributeError(mname) + return self + + def __setattr__(self, name, value): + return self + + def __delattr__(self, name): + return self + + def __repr__(self): + return "" + + def __str__(self): + return "Null" + + def __len__(self): + return 0 + + def __getitem__(self): + return self + + def __setitem__(self, *args, **kwargs): + pass + + def write(self, *args, **kwargs): + pass + + def __nonzero__(self): + return 0 + + def __iter__(self): + return iter(()) + + +# Default instance +NULL = Null() + + +class KeyifyList(object): + + def __init__(self, inner, key): + self.inner = inner + self.key = key + + def __len__(self): + return len(self.inner) + + def __getitem__(self, k): + return self.key(self.inner[k]) + + +def call_only_once(func): + ''' + To be used as a decorator + + @call_only_once + def func(): + print 'Calling func only this time' + + Actually, in PyDev it must be called as: + + func = call_only_once(func) to support older versions of Python. + ''' + + def new_func(*args, **kwargs): + if not new_func._called: + new_func._called = True + return func(*args, **kwargs) + + new_func._called = False + return new_func + + +# Protocol where each line is a new message (text is quoted to prevent new lines). +# payload is xml +QUOTED_LINE_PROTOCOL = 'quoted-line' +ARGUMENT_QUOTED_LINE_PROTOCOL = 'protocol-quoted-line' + +# Uses http protocol to provide a new message. +# i.e.: Content-Length:xxx\r\n\r\npayload +# payload is xml +HTTP_PROTOCOL = 'http' +ARGUMENT_HTTP_PROTOCOL = 'protocol-http' + +# Message is sent without any header. +# payload is json +JSON_PROTOCOL = 'json' +ARGUMENT_JSON_PROTOCOL = 'json-dap' + +# Same header as the HTTP_PROTOCOL +# payload is json +HTTP_JSON_PROTOCOL = 'http_json' +ARGUMENT_HTTP_JSON_PROTOCOL = 'json-dap-http' + +ARGUMENT_PPID = 'ppid' + + +class _GlobalSettings: + protocol = QUOTED_LINE_PROTOCOL + + +def set_protocol(protocol): + expected = (HTTP_PROTOCOL, QUOTED_LINE_PROTOCOL, JSON_PROTOCOL, HTTP_JSON_PROTOCOL) + assert protocol in expected, 'Protocol (%s) should be one of: %s' % ( + protocol, expected) + + _GlobalSettings.protocol = protocol + + +def get_protocol(): + return _GlobalSettings.protocol + + +def is_json_protocol(): + return _GlobalSettings.protocol in (JSON_PROTOCOL, HTTP_JSON_PROTOCOL) + + +class GlobalDebuggerHolder: + ''' + Holder for the global debugger. + ''' + global_dbg = None # Note: don't rename (the name is used in our attach to process) + + +def get_global_debugger(): + return GlobalDebuggerHolder.global_dbg + + +GetGlobalDebugger = get_global_debugger # Backward-compatibility + + +def set_global_debugger(dbg): + GlobalDebuggerHolder.global_dbg = dbg + + +if __name__ == '__main__': + if Null(): + sys.stdout.write('here\n') + diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_custom_frames.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_custom_frames.py new file mode 100644 index 0000000..66e400f --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_custom_frames.py @@ -0,0 +1,116 @@ +from _pydevd_bundle.pydevd_constants import get_current_thread_id, Null, ForkSafeLock +from pydevd_file_utils import get_abs_path_real_path_and_base_from_frame +from _pydev_bundle._pydev_saved_modules import thread, threading +import sys +from _pydev_bundle import pydev_log + +DEBUG = False + + +class CustomFramesContainer: + + # Actual Values initialized later on. + custom_frames_lock = None # : :type custom_frames_lock: threading.Lock + + custom_frames = None + + _next_frame_id = None + + _py_db_command_thread_event = None + + +def custom_frames_container_init(): # Note: no staticmethod on jython 2.1 (so, use free-function) + + CustomFramesContainer.custom_frames_lock = ForkSafeLock() + + # custom_frames can only be accessed if properly locked with custom_frames_lock! + # Key is a string identifying the frame (as well as the thread it belongs to). + # Value is a CustomFrame. + # + CustomFramesContainer.custom_frames = {} + + # Only to be used in this module + CustomFramesContainer._next_frame_id = 0 + + # This is the event we must set to release an internal process events. It's later set by the actual debugger + # when we do create the debugger. + CustomFramesContainer._py_db_command_thread_event = Null() + + +# Initialize it the first time (it may be reinitialized later on when dealing with a fork). +custom_frames_container_init() + + +class CustomFrame: + + def __init__(self, name, frame, thread_id): + # 0 = string with the representation of that frame + self.name = name + + # 1 = the frame to show + self.frame = frame + + # 2 = an integer identifying the last time the frame was changed. + self.mod_time = 0 + + # 3 = the thread id of the given frame + self.thread_id = thread_id + + +def add_custom_frame(frame, name, thread_id): + ''' + It's possible to show paused frames by adding a custom frame through this API (it's + intended to be used for coroutines, but could potentially be used for generators too). + + :param frame: + The topmost frame to be shown paused when a thread with thread.ident == thread_id is paused. + + :param name: + The name to be shown for the custom thread in the UI. + + :param thread_id: + The thread id to which this frame is related (must match thread.ident). + + :return: str + Returns the custom thread id which will be used to show the given frame paused. + ''' + with CustomFramesContainer.custom_frames_lock: + curr_thread_id = get_current_thread_id(threading.current_thread()) + next_id = CustomFramesContainer._next_frame_id = CustomFramesContainer._next_frame_id + 1 + + # Note: the frame id kept contains an id and thread information on the thread where the frame was added + # so that later on we can check if the frame is from the current thread by doing frame_id.endswith('|'+thread_id). + frame_custom_thread_id = '__frame__:%s|%s' % (next_id, curr_thread_id) + if DEBUG: + sys.stderr.write('add_custom_frame: %s (%s) %s %s\n' % ( + frame_custom_thread_id, get_abs_path_real_path_and_base_from_frame(frame)[-1], frame.f_lineno, frame.f_code.co_name)) + + CustomFramesContainer.custom_frames[frame_custom_thread_id] = CustomFrame(name, frame, thread_id) + CustomFramesContainer._py_db_command_thread_event.set() + return frame_custom_thread_id + + +def update_custom_frame(frame_custom_thread_id, frame, thread_id, name=None): + with CustomFramesContainer.custom_frames_lock: + if DEBUG: + sys.stderr.write('update_custom_frame: %s\n' % frame_custom_thread_id) + try: + old = CustomFramesContainer.custom_frames[frame_custom_thread_id] + if name is not None: + old.name = name + old.mod_time += 1 + old.thread_id = thread_id + except: + sys.stderr.write('Unable to get frame to replace: %s\n' % (frame_custom_thread_id,)) + pydev_log.exception() + + CustomFramesContainer._py_db_command_thread_event.set() + + +def remove_custom_frame(frame_custom_thread_id): + with CustomFramesContainer.custom_frames_lock: + if DEBUG: + sys.stderr.write('remove_custom_frame: %s\n' % frame_custom_thread_id) + CustomFramesContainer.custom_frames.pop(frame_custom_thread_id, None) + CustomFramesContainer._py_db_command_thread_event.set() + diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.c b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.c new file mode 100644 index 0000000..e50c22c --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.c @@ -0,0 +1,43164 @@ +/* Generated by Cython 0.29.32 */ + +/* BEGIN: Cython Metadata +{ + "distutils": { + "depends": [], + "name": "_pydevd_bundle.pydevd_cython", + "sources": [ + "_pydevd_bundle/pydevd_cython.pyx" + ] + }, + "module_name": "_pydevd_bundle.pydevd_cython" +} +END: Cython Metadata */ + +#ifndef PY_SSIZE_T_CLEAN +#define PY_SSIZE_T_CLEAN +#endif /* PY_SSIZE_T_CLEAN */ +#include "Python.h" +#if PY_VERSION_HEX >= 0x03090000 +#include "internal/pycore_gc.h" +#include "internal/pycore_interp.h" +#endif + +#ifndef Py_PYTHON_H + #error Python headers needed to compile C extensions, please install development version of Python. +#elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000) + #error Cython requires Python 2.6+ or Python 3.3+. +#else +#define CYTHON_ABI "0_29_32" +#define CYTHON_HEX_VERSION 0x001D20F0 +#define CYTHON_FUTURE_DIVISION 0 +#include +#ifndef offsetof + #define offsetof(type, member) ( (size_t) & ((type*)0) -> member ) +#endif +#if !defined(WIN32) && !defined(MS_WINDOWS) + #ifndef __stdcall + #define __stdcall + #endif + #ifndef __cdecl + #define __cdecl + #endif + #ifndef __fastcall + #define __fastcall + #endif +#endif +#ifndef DL_IMPORT + #define DL_IMPORT(t) t +#endif +#ifndef DL_EXPORT + #define DL_EXPORT(t) t +#endif +#define __PYX_COMMA , +#ifndef HAVE_LONG_LONG + #if PY_VERSION_HEX >= 0x02070000 + #define HAVE_LONG_LONG + #endif +#endif +#ifndef PY_LONG_LONG + #define PY_LONG_LONG LONG_LONG +#endif +#ifndef Py_HUGE_VAL + #define Py_HUGE_VAL HUGE_VAL +#endif +#ifdef PYPY_VERSION + #define CYTHON_COMPILING_IN_PYPY 1 + #define CYTHON_COMPILING_IN_PYSTON 0 + #define CYTHON_COMPILING_IN_CPYTHON 0 + #define CYTHON_COMPILING_IN_NOGIL 0 + #undef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 0 + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #if PY_VERSION_HEX < 0x03050000 + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #elif !defined(CYTHON_USE_ASYNC_SLOTS) + #define CYTHON_USE_ASYNC_SLOTS 1 + #endif + #undef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 0 + #undef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 0 + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #undef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 1 + #undef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 0 + #undef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 0 + #undef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 0 + #undef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL 0 + #undef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT 0 + #undef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE 0 + #undef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS 0 + #undef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK 0 + #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC + #define CYTHON_UPDATE_DESCRIPTOR_DOC (PYPY_VERSION_HEX >= 0x07030900) + #endif +#elif defined(PYSTON_VERSION) + #define CYTHON_COMPILING_IN_PYPY 0 + #define CYTHON_COMPILING_IN_PYSTON 1 + #define CYTHON_COMPILING_IN_CPYTHON 0 + #define CYTHON_COMPILING_IN_NOGIL 0 + #ifndef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 1 + #endif + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #undef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 0 + #ifndef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 1 + #endif + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #ifndef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 0 + #endif + #ifndef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 1 + #endif + #ifndef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 1 + #endif + #undef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 0 + #undef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL 0 + #undef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT 0 + #undef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE 0 + #undef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS 0 + #undef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK 0 + #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC + #define CYTHON_UPDATE_DESCRIPTOR_DOC 0 + #endif +#elif defined(PY_NOGIL) + #define CYTHON_COMPILING_IN_PYPY 0 + #define CYTHON_COMPILING_IN_PYSTON 0 + #define CYTHON_COMPILING_IN_CPYTHON 0 + #define CYTHON_COMPILING_IN_NOGIL 1 + #ifndef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 1 + #endif + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #ifndef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 1 + #endif + #undef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 0 + #ifndef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 1 + #endif + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #ifndef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 0 + #endif + #ifndef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 1 + #endif + #ifndef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 1 + #endif + #undef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 0 + #undef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL 0 + #ifndef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT 1 + #endif + #ifndef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE 1 + #endif + #undef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS 0 + #undef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK 0 +#else + #define CYTHON_COMPILING_IN_PYPY 0 + #define CYTHON_COMPILING_IN_PYSTON 0 + #define CYTHON_COMPILING_IN_CPYTHON 1 + #define CYTHON_COMPILING_IN_NOGIL 0 + #ifndef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 1 + #endif + #if PY_VERSION_HEX < 0x02070000 + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #elif !defined(CYTHON_USE_PYTYPE_LOOKUP) + #define CYTHON_USE_PYTYPE_LOOKUP 1 + #endif + #if PY_MAJOR_VERSION < 3 + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #elif !defined(CYTHON_USE_ASYNC_SLOTS) + #define CYTHON_USE_ASYNC_SLOTS 1 + #endif + #if PY_VERSION_HEX < 0x02070000 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #elif !defined(CYTHON_USE_PYLONG_INTERNALS) + #define CYTHON_USE_PYLONG_INTERNALS 1 + #endif + #ifndef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 1 + #endif + #ifndef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 1 + #endif + #if PY_VERSION_HEX < 0x030300F0 || PY_VERSION_HEX >= 0x030B00A2 + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #elif !defined(CYTHON_USE_UNICODE_WRITER) + #define CYTHON_USE_UNICODE_WRITER 1 + #endif + #ifndef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 0 + #endif + #ifndef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 1 + #endif + #ifndef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 1 + #endif + #if PY_VERSION_HEX >= 0x030B00A4 + #undef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 0 + #elif !defined(CYTHON_FAST_THREAD_STATE) + #define CYTHON_FAST_THREAD_STATE 1 + #endif + #ifndef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL (PY_VERSION_HEX < 0x030A0000) + #endif + #ifndef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT (PY_VERSION_HEX >= 0x03050000) + #endif + #ifndef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1) + #endif + #ifndef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX >= 0x030600B1) + #endif + #if PY_VERSION_HEX >= 0x030B00A4 + #undef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK 0 + #elif !defined(CYTHON_USE_EXC_INFO_STACK) + #define CYTHON_USE_EXC_INFO_STACK (PY_VERSION_HEX >= 0x030700A3) + #endif + #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC + #define CYTHON_UPDATE_DESCRIPTOR_DOC 1 + #endif +#endif +#if !defined(CYTHON_FAST_PYCCALL) +#define CYTHON_FAST_PYCCALL (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1) +#endif +#if CYTHON_USE_PYLONG_INTERNALS + #if PY_MAJOR_VERSION < 3 + #include "longintrepr.h" + #endif + #undef SHIFT + #undef BASE + #undef MASK + #ifdef SIZEOF_VOID_P + enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) }; + #endif +#endif +#ifndef __has_attribute + #define __has_attribute(x) 0 +#endif +#ifndef __has_cpp_attribute + #define __has_cpp_attribute(x) 0 +#endif +#ifndef CYTHON_RESTRICT + #if defined(__GNUC__) + #define CYTHON_RESTRICT __restrict__ + #elif defined(_MSC_VER) && _MSC_VER >= 1400 + #define CYTHON_RESTRICT __restrict + #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + #define CYTHON_RESTRICT restrict + #else + #define CYTHON_RESTRICT + #endif +#endif +#ifndef CYTHON_UNUSED +# if defined(__GNUC__) +# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) +# define CYTHON_UNUSED __attribute__ ((__unused__)) +# else +# define CYTHON_UNUSED +# endif +# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER)) +# define CYTHON_UNUSED __attribute__ ((__unused__)) +# else +# define CYTHON_UNUSED +# endif +#endif +#ifndef CYTHON_MAYBE_UNUSED_VAR +# if defined(__cplusplus) + template void CYTHON_MAYBE_UNUSED_VAR( const T& ) { } +# else +# define CYTHON_MAYBE_UNUSED_VAR(x) (void)(x) +# endif +#endif +#ifndef CYTHON_NCP_UNUSED +# if CYTHON_COMPILING_IN_CPYTHON +# define CYTHON_NCP_UNUSED +# else +# define CYTHON_NCP_UNUSED CYTHON_UNUSED +# endif +#endif +#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None) +#ifdef _MSC_VER + #ifndef _MSC_STDINT_H_ + #if _MSC_VER < 1300 + typedef unsigned char uint8_t; + typedef unsigned int uint32_t; + #else + typedef unsigned __int8 uint8_t; + typedef unsigned __int32 uint32_t; + #endif + #endif +#else + #include +#endif +#ifndef CYTHON_FALLTHROUGH + #if defined(__cplusplus) && __cplusplus >= 201103L + #if __has_cpp_attribute(fallthrough) + #define CYTHON_FALLTHROUGH [[fallthrough]] + #elif __has_cpp_attribute(clang::fallthrough) + #define CYTHON_FALLTHROUGH [[clang::fallthrough]] + #elif __has_cpp_attribute(gnu::fallthrough) + #define CYTHON_FALLTHROUGH [[gnu::fallthrough]] + #endif + #endif + #ifndef CYTHON_FALLTHROUGH + #if __has_attribute(fallthrough) + #define CYTHON_FALLTHROUGH __attribute__((fallthrough)) + #else + #define CYTHON_FALLTHROUGH + #endif + #endif + #if defined(__clang__ ) && defined(__apple_build_version__) + #if __apple_build_version__ < 7000000 + #undef CYTHON_FALLTHROUGH + #define CYTHON_FALLTHROUGH + #endif + #endif +#endif + +#ifndef CYTHON_INLINE + #if defined(__clang__) + #define CYTHON_INLINE __inline__ __attribute__ ((__unused__)) + #elif defined(__GNUC__) + #define CYTHON_INLINE __inline__ + #elif defined(_MSC_VER) + #define CYTHON_INLINE __inline + #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + #define CYTHON_INLINE inline + #else + #define CYTHON_INLINE + #endif +#endif + +#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && !defined(Py_OptimizeFlag) + #define Py_OptimizeFlag 0 +#endif +#define __PYX_BUILD_PY_SSIZE_T "n" +#define CYTHON_FORMAT_SSIZE_T "z" +#if PY_MAJOR_VERSION < 3 + #define __Pyx_BUILTIN_MODULE_NAME "__builtin__" + #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ + PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) + #define __Pyx_DefaultClassType PyClass_Type +#else + #define __Pyx_BUILTIN_MODULE_NAME "builtins" + #define __Pyx_DefaultClassType PyType_Type +#if PY_VERSION_HEX >= 0x030B00A1 + static CYTHON_INLINE PyCodeObject* __Pyx_PyCode_New(int a, int k, int l, int s, int f, + PyObject *code, PyObject *c, PyObject* n, PyObject *v, + PyObject *fv, PyObject *cell, PyObject* fn, + PyObject *name, int fline, PyObject *lnos) { + PyObject *kwds=NULL, *argcount=NULL, *posonlyargcount=NULL, *kwonlyargcount=NULL; + PyObject *nlocals=NULL, *stacksize=NULL, *flags=NULL, *replace=NULL, *call_result=NULL, *empty=NULL; + const char *fn_cstr=NULL; + const char *name_cstr=NULL; + PyCodeObject* co=NULL; + PyObject *type, *value, *traceback; + PyErr_Fetch(&type, &value, &traceback); + if (!(kwds=PyDict_New())) goto end; + if (!(argcount=PyLong_FromLong(a))) goto end; + if (PyDict_SetItemString(kwds, "co_argcount", argcount) != 0) goto end; + if (!(posonlyargcount=PyLong_FromLong(0))) goto end; + if (PyDict_SetItemString(kwds, "co_posonlyargcount", posonlyargcount) != 0) goto end; + if (!(kwonlyargcount=PyLong_FromLong(k))) goto end; + if (PyDict_SetItemString(kwds, "co_kwonlyargcount", kwonlyargcount) != 0) goto end; + if (!(nlocals=PyLong_FromLong(l))) goto end; + if (PyDict_SetItemString(kwds, "co_nlocals", nlocals) != 0) goto end; + if (!(stacksize=PyLong_FromLong(s))) goto end; + if (PyDict_SetItemString(kwds, "co_stacksize", stacksize) != 0) goto end; + if (!(flags=PyLong_FromLong(f))) goto end; + if (PyDict_SetItemString(kwds, "co_flags", flags) != 0) goto end; + if (PyDict_SetItemString(kwds, "co_code", code) != 0) goto end; + if (PyDict_SetItemString(kwds, "co_consts", c) != 0) goto end; + if (PyDict_SetItemString(kwds, "co_names", n) != 0) goto end; + if (PyDict_SetItemString(kwds, "co_varnames", v) != 0) goto end; + if (PyDict_SetItemString(kwds, "co_freevars", fv) != 0) goto end; + if (PyDict_SetItemString(kwds, "co_cellvars", cell) != 0) goto end; + if (PyDict_SetItemString(kwds, "co_linetable", lnos) != 0) goto end; + if (!(fn_cstr=PyUnicode_AsUTF8AndSize(fn, NULL))) goto end; + if (!(name_cstr=PyUnicode_AsUTF8AndSize(name, NULL))) goto end; + if (!(co = PyCode_NewEmpty(fn_cstr, name_cstr, fline))) goto end; + if (!(replace = PyObject_GetAttrString((PyObject*)co, "replace"))) goto cleanup_code_too; + if (!(empty = PyTuple_New(0))) goto cleanup_code_too; // unfortunately __pyx_empty_tuple isn't available here + if (!(call_result = PyObject_Call(replace, empty, kwds))) goto cleanup_code_too; + Py_XDECREF((PyObject*)co); + co = (PyCodeObject*)call_result; + call_result = NULL; + if (0) { + cleanup_code_too: + Py_XDECREF((PyObject*)co); + co = NULL; + } + end: + Py_XDECREF(kwds); + Py_XDECREF(argcount); + Py_XDECREF(posonlyargcount); + Py_XDECREF(kwonlyargcount); + Py_XDECREF(nlocals); + Py_XDECREF(stacksize); + Py_XDECREF(replace); + Py_XDECREF(call_result); + Py_XDECREF(empty); + if (type) { + PyErr_Restore(type, value, traceback); + } + return co; + } +#else + #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ + PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) +#endif + #define __Pyx_DefaultClassType PyType_Type +#endif +#ifndef Py_TPFLAGS_CHECKTYPES + #define Py_TPFLAGS_CHECKTYPES 0 +#endif +#ifndef Py_TPFLAGS_HAVE_INDEX + #define Py_TPFLAGS_HAVE_INDEX 0 +#endif +#ifndef Py_TPFLAGS_HAVE_NEWBUFFER + #define Py_TPFLAGS_HAVE_NEWBUFFER 0 +#endif +#ifndef Py_TPFLAGS_HAVE_FINALIZE + #define Py_TPFLAGS_HAVE_FINALIZE 0 +#endif +#ifndef METH_STACKLESS + #define METH_STACKLESS 0 +#endif +#if PY_VERSION_HEX <= 0x030700A3 || !defined(METH_FASTCALL) + #ifndef METH_FASTCALL + #define METH_FASTCALL 0x80 + #endif + typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs); + typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args, + Py_ssize_t nargs, PyObject *kwnames); +#else + #define __Pyx_PyCFunctionFast _PyCFunctionFast + #define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords +#endif +#if CYTHON_FAST_PYCCALL +#define __Pyx_PyFastCFunction_Check(func)\ + ((PyCFunction_Check(func) && (METH_FASTCALL == (PyCFunction_GET_FLAGS(func) & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS))))) +#else +#define __Pyx_PyFastCFunction_Check(func) 0 +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc) + #define PyObject_Malloc(s) PyMem_Malloc(s) + #define PyObject_Free(p) PyMem_Free(p) + #define PyObject_Realloc(p) PyMem_Realloc(p) +#endif +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030400A1 + #define PyMem_RawMalloc(n) PyMem_Malloc(n) + #define PyMem_RawRealloc(p, n) PyMem_Realloc(p, n) + #define PyMem_RawFree(p) PyMem_Free(p) +#endif +#if CYTHON_COMPILING_IN_PYSTON + #define __Pyx_PyCode_HasFreeVars(co) PyCode_HasFreeVars(co) + #define __Pyx_PyFrame_SetLineNumber(frame, lineno) PyFrame_SetLineNumber(frame, lineno) +#else + #define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0) + #define __Pyx_PyFrame_SetLineNumber(frame, lineno) (frame)->f_lineno = (lineno) +#endif +#if !CYTHON_FAST_THREAD_STATE || PY_VERSION_HEX < 0x02070000 + #define __Pyx_PyThreadState_Current PyThreadState_GET() +#elif PY_VERSION_HEX >= 0x03060000 + #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet() +#elif PY_VERSION_HEX >= 0x03000000 + #define __Pyx_PyThreadState_Current PyThreadState_GET() +#else + #define __Pyx_PyThreadState_Current _PyThreadState_Current +#endif +#if PY_VERSION_HEX < 0x030700A2 && !defined(PyThread_tss_create) && !defined(Py_tss_NEEDS_INIT) +#include "pythread.h" +#define Py_tss_NEEDS_INIT 0 +typedef int Py_tss_t; +static CYTHON_INLINE int PyThread_tss_create(Py_tss_t *key) { + *key = PyThread_create_key(); + return 0; +} +static CYTHON_INLINE Py_tss_t * PyThread_tss_alloc(void) { + Py_tss_t *key = (Py_tss_t *)PyObject_Malloc(sizeof(Py_tss_t)); + *key = Py_tss_NEEDS_INIT; + return key; +} +static CYTHON_INLINE void PyThread_tss_free(Py_tss_t *key) { + PyObject_Free(key); +} +static CYTHON_INLINE int PyThread_tss_is_created(Py_tss_t *key) { + return *key != Py_tss_NEEDS_INIT; +} +static CYTHON_INLINE void PyThread_tss_delete(Py_tss_t *key) { + PyThread_delete_key(*key); + *key = Py_tss_NEEDS_INIT; +} +static CYTHON_INLINE int PyThread_tss_set(Py_tss_t *key, void *value) { + return PyThread_set_key_value(*key, value); +} +static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) { + return PyThread_get_key_value(*key); +} +#endif +#if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized) +#define __Pyx_PyDict_NewPresized(n) ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n)) +#else +#define __Pyx_PyDict_NewPresized(n) PyDict_New() +#endif +#if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION + #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y) + #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) +#else + #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y) + #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y) +#endif +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && CYTHON_USE_UNICODE_INTERNALS +#define __Pyx_PyDict_GetItemStr(dict, name) _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash) +#else +#define __Pyx_PyDict_GetItemStr(dict, name) PyDict_GetItem(dict, name) +#endif +#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND) + #define CYTHON_PEP393_ENABLED 1 + #if defined(PyUnicode_IS_READY) + #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ?\ + 0 : _PyUnicode_Ready((PyObject *)(op))) + #else + #define __Pyx_PyUnicode_READY(op) (0) + #endif + #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u) + #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i) + #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) PyUnicode_MAX_CHAR_VALUE(u) + #define __Pyx_PyUnicode_KIND(u) PyUnicode_KIND(u) + #define __Pyx_PyUnicode_DATA(u) PyUnicode_DATA(u) + #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i) + #define __Pyx_PyUnicode_WRITE(k, d, i, ch) PyUnicode_WRITE(k, d, i, ch) + #if defined(PyUnicode_IS_READY) && defined(PyUnicode_GET_SIZE) + #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03090000 + #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : ((PyCompactUnicodeObject *)(u))->wstr_length)) + #else + #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u))) + #endif + #else + #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_LENGTH(u)) + #endif +#else + #define CYTHON_PEP393_ENABLED 0 + #define PyUnicode_1BYTE_KIND 1 + #define PyUnicode_2BYTE_KIND 2 + #define PyUnicode_4BYTE_KIND 4 + #define __Pyx_PyUnicode_READY(op) (0) + #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u) + #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i])) + #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) ((sizeof(Py_UNICODE) == 2) ? 65535 : 1114111) + #define __Pyx_PyUnicode_KIND(u) (sizeof(Py_UNICODE)) + #define __Pyx_PyUnicode_DATA(u) ((void*)PyUnicode_AS_UNICODE(u)) + #define __Pyx_PyUnicode_READ(k, d, i) ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i])) + #define __Pyx_PyUnicode_WRITE(k, d, i, ch) (((void)(k)), ((Py_UNICODE*)d)[i] = ch) + #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_SIZE(u)) +#endif +#if CYTHON_COMPILING_IN_PYPY + #define __Pyx_PyUnicode_Concat(a, b) PyNumber_Add(a, b) + #define __Pyx_PyUnicode_ConcatSafe(a, b) PyNumber_Add(a, b) +#else + #define __Pyx_PyUnicode_Concat(a, b) PyUnicode_Concat(a, b) + #define __Pyx_PyUnicode_ConcatSafe(a, b) ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\ + PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b)) +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyUnicode_Contains) + #define PyUnicode_Contains(u, s) PySequence_Contains(u, s) +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyByteArray_Check) + #define PyByteArray_Check(obj) PyObject_TypeCheck(obj, &PyByteArray_Type) +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Format) + #define PyObject_Format(obj, fmt) PyObject_CallMethod(obj, "__format__", "O", fmt) +#endif +#define __Pyx_PyString_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyString_Check(b) && !PyString_CheckExact(b)))) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b)) +#define __Pyx_PyUnicode_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b)) +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyString_Format(a, b) PyUnicode_Format(a, b) +#else + #define __Pyx_PyString_Format(a, b) PyString_Format(a, b) +#endif +#if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII) + #define PyObject_ASCII(o) PyObject_Repr(o) +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyBaseString_Type PyUnicode_Type + #define PyStringObject PyUnicodeObject + #define PyString_Type PyUnicode_Type + #define PyString_Check PyUnicode_Check + #define PyString_CheckExact PyUnicode_CheckExact +#ifndef PyObject_Unicode + #define PyObject_Unicode PyObject_Str +#endif +#endif +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj) + #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj) +#else + #define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj)) + #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj)) +#endif +#ifndef PySet_CheckExact + #define PySet_CheckExact(obj) (Py_TYPE(obj) == &PySet_Type) +#endif +#if PY_VERSION_HEX >= 0x030900A4 + #define __Pyx_SET_REFCNT(obj, refcnt) Py_SET_REFCNT(obj, refcnt) + #define __Pyx_SET_SIZE(obj, size) Py_SET_SIZE(obj, size) +#else + #define __Pyx_SET_REFCNT(obj, refcnt) Py_REFCNT(obj) = (refcnt) + #define __Pyx_SET_SIZE(obj, size) Py_SIZE(obj) = (size) +#endif +#if CYTHON_ASSUME_SAFE_MACROS + #define __Pyx_PySequence_SIZE(seq) Py_SIZE(seq) +#else + #define __Pyx_PySequence_SIZE(seq) PySequence_Size(seq) +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyIntObject PyLongObject + #define PyInt_Type PyLong_Type + #define PyInt_Check(op) PyLong_Check(op) + #define PyInt_CheckExact(op) PyLong_CheckExact(op) + #define PyInt_FromString PyLong_FromString + #define PyInt_FromUnicode PyLong_FromUnicode + #define PyInt_FromLong PyLong_FromLong + #define PyInt_FromSize_t PyLong_FromSize_t + #define PyInt_FromSsize_t PyLong_FromSsize_t + #define PyInt_AsLong PyLong_AsLong + #define PyInt_AS_LONG PyLong_AS_LONG + #define PyInt_AsSsize_t PyLong_AsSsize_t + #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask + #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask + #define PyNumber_Int PyNumber_Long +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyBoolObject PyLongObject +#endif +#if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY + #ifndef PyUnicode_InternFromString + #define PyUnicode_InternFromString(s) PyUnicode_FromString(s) + #endif +#endif +#if PY_VERSION_HEX < 0x030200A4 + typedef long Py_hash_t; + #define __Pyx_PyInt_FromHash_t PyInt_FromLong + #define __Pyx_PyInt_AsHash_t __Pyx_PyIndex_AsHash_t +#else + #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t + #define __Pyx_PyInt_AsHash_t __Pyx_PyIndex_AsSsize_t +#endif +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyMethod_New(func, self, klass) ((self) ? ((void)(klass), PyMethod_New(func, self)) : __Pyx_NewRef(func)) +#else + #define __Pyx_PyMethod_New(func, self, klass) PyMethod_New(func, self, klass) +#endif +#if CYTHON_USE_ASYNC_SLOTS + #if PY_VERSION_HEX >= 0x030500B1 + #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods + #define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async) + #else + #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved)) + #endif +#else + #define __Pyx_PyType_AsAsync(obj) NULL +#endif +#ifndef __Pyx_PyAsyncMethodsStruct + typedef struct { + unaryfunc am_await; + unaryfunc am_aiter; + unaryfunc am_anext; + } __Pyx_PyAsyncMethodsStruct; +#endif + +#if defined(_WIN32) || defined(WIN32) || defined(MS_WINDOWS) + #if !defined(_USE_MATH_DEFINES) + #define _USE_MATH_DEFINES + #endif +#endif +#include +#ifdef NAN +#define __PYX_NAN() ((float) NAN) +#else +static CYTHON_INLINE float __PYX_NAN() { + float value; + memset(&value, 0xFF, sizeof(value)); + return value; +} +#endif +#if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL) +#define __Pyx_truncl trunc +#else +#define __Pyx_truncl truncl +#endif + +#define __PYX_MARK_ERR_POS(f_index, lineno) \ + { __pyx_filename = __pyx_f[f_index]; (void)__pyx_filename; __pyx_lineno = lineno; (void)__pyx_lineno; __pyx_clineno = __LINE__; (void)__pyx_clineno; } +#define __PYX_ERR(f_index, lineno, Ln_error) \ + { __PYX_MARK_ERR_POS(f_index, lineno) goto Ln_error; } + +#ifndef __PYX_EXTERN_C + #ifdef __cplusplus + #define __PYX_EXTERN_C extern "C" + #else + #define __PYX_EXTERN_C extern + #endif +#endif + +#define __PYX_HAVE___pydevd_bundle__pydevd_cython +#define __PYX_HAVE_API___pydevd_bundle__pydevd_cython +/* Early includes */ +#include +#include +#ifdef _OPENMP +#include +#endif /* _OPENMP */ + +#if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS) +#define CYTHON_WITHOUT_ASSERTIONS +#endif + +typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding; + const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; + +#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0 +#define __PYX_DEFAULT_STRING_ENCODING_IS_UTF8 0 +#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT (PY_MAJOR_VERSION >= 3 && __PYX_DEFAULT_STRING_ENCODING_IS_UTF8) +#define __PYX_DEFAULT_STRING_ENCODING "" +#define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString +#define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize +#define __Pyx_uchar_cast(c) ((unsigned char)c) +#define __Pyx_long_cast(x) ((long)x) +#define __Pyx_fits_Py_ssize_t(v, type, is_signed) (\ + (sizeof(type) < sizeof(Py_ssize_t)) ||\ + (sizeof(type) > sizeof(Py_ssize_t) &&\ + likely(v < (type)PY_SSIZE_T_MAX ||\ + v == (type)PY_SSIZE_T_MAX) &&\ + (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\ + v == (type)PY_SSIZE_T_MIN))) ||\ + (sizeof(type) == sizeof(Py_ssize_t) &&\ + (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\ + v == (type)PY_SSIZE_T_MAX))) ) +static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) { + return (size_t) i < (size_t) limit; +} +#if defined (__cplusplus) && __cplusplus >= 201103L + #include + #define __Pyx_sst_abs(value) std::abs(value) +#elif SIZEOF_INT >= SIZEOF_SIZE_T + #define __Pyx_sst_abs(value) abs(value) +#elif SIZEOF_LONG >= SIZEOF_SIZE_T + #define __Pyx_sst_abs(value) labs(value) +#elif defined (_MSC_VER) + #define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value)) +#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + #define __Pyx_sst_abs(value) llabs(value) +#elif defined (__GNUC__) + #define __Pyx_sst_abs(value) __builtin_llabs(value) +#else + #define __Pyx_sst_abs(value) ((value<0) ? -value : value) +#endif +static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*); +static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length); +#define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s)) +#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l) +#define __Pyx_PyBytes_FromString PyBytes_FromString +#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize +static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*); +#if PY_MAJOR_VERSION < 3 + #define __Pyx_PyStr_FromString __Pyx_PyBytes_FromString + #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize +#else + #define __Pyx_PyStr_FromString __Pyx_PyUnicode_FromString + #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize +#endif +#define __Pyx_PyBytes_AsWritableString(s) ((char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsWritableSString(s) ((signed char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsWritableUString(s) ((unsigned char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsString(s) ((const char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsSString(s) ((const signed char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsUString(s) ((const unsigned char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyObject_AsWritableString(s) ((char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsWritableSString(s) ((signed char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsWritableUString(s) ((unsigned char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsSString(s) ((const signed char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsUString(s) ((const unsigned char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_FromCString(s) __Pyx_PyObject_FromString((const char*)s) +#define __Pyx_PyBytes_FromCString(s) __Pyx_PyBytes_FromString((const char*)s) +#define __Pyx_PyByteArray_FromCString(s) __Pyx_PyByteArray_FromString((const char*)s) +#define __Pyx_PyStr_FromCString(s) __Pyx_PyStr_FromString((const char*)s) +#define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s) +static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u) { + const Py_UNICODE *u_end = u; + while (*u_end++) ; + return (size_t)(u_end - u - 1); +} +#define __Pyx_PyUnicode_FromUnicode(u) PyUnicode_FromUnicode(u, __Pyx_Py_UNICODE_strlen(u)) +#define __Pyx_PyUnicode_FromUnicodeAndLength PyUnicode_FromUnicode +#define __Pyx_PyUnicode_AsUnicode PyUnicode_AsUnicode +#define __Pyx_NewRef(obj) (Py_INCREF(obj), obj) +#define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None) +static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b); +static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); +static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*); +static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x); +#define __Pyx_PySequence_Tuple(obj)\ + (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj)) +static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*); +static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t); +static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject*); +#if CYTHON_ASSUME_SAFE_MACROS +#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x)) +#else +#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x) +#endif +#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x)) +#if PY_MAJOR_VERSION >= 3 +#define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x)) +#else +#define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x)) +#endif +#define __Pyx_PyNumber_Float(x) (PyFloat_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Float(x)) +#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII +static int __Pyx_sys_getdefaultencoding_not_ascii; +static int __Pyx_init_sys_getdefaultencoding_params(void) { + PyObject* sys; + PyObject* default_encoding = NULL; + PyObject* ascii_chars_u = NULL; + PyObject* ascii_chars_b = NULL; + const char* default_encoding_c; + sys = PyImport_ImportModule("sys"); + if (!sys) goto bad; + default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL); + Py_DECREF(sys); + if (!default_encoding) goto bad; + default_encoding_c = PyBytes_AsString(default_encoding); + if (!default_encoding_c) goto bad; + if (strcmp(default_encoding_c, "ascii") == 0) { + __Pyx_sys_getdefaultencoding_not_ascii = 0; + } else { + char ascii_chars[128]; + int c; + for (c = 0; c < 128; c++) { + ascii_chars[c] = c; + } + __Pyx_sys_getdefaultencoding_not_ascii = 1; + ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL); + if (!ascii_chars_u) goto bad; + ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL); + if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) { + PyErr_Format( + PyExc_ValueError, + "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.", + default_encoding_c); + goto bad; + } + Py_DECREF(ascii_chars_u); + Py_DECREF(ascii_chars_b); + } + Py_DECREF(default_encoding); + return 0; +bad: + Py_XDECREF(default_encoding); + Py_XDECREF(ascii_chars_u); + Py_XDECREF(ascii_chars_b); + return -1; +} +#endif +#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3 +#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL) +#else +#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL) +#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT +static char* __PYX_DEFAULT_STRING_ENCODING; +static int __Pyx_init_sys_getdefaultencoding_params(void) { + PyObject* sys; + PyObject* default_encoding = NULL; + char* default_encoding_c; + sys = PyImport_ImportModule("sys"); + if (!sys) goto bad; + default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL); + Py_DECREF(sys); + if (!default_encoding) goto bad; + default_encoding_c = PyBytes_AsString(default_encoding); + if (!default_encoding_c) goto bad; + __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c) + 1); + if (!__PYX_DEFAULT_STRING_ENCODING) goto bad; + strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c); + Py_DECREF(default_encoding); + return 0; +bad: + Py_XDECREF(default_encoding); + return -1; +} +#endif +#endif + + +/* Test for GCC > 2.95 */ +#if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))) + #define likely(x) __builtin_expect(!!(x), 1) + #define unlikely(x) __builtin_expect(!!(x), 0) +#else /* !__GNUC__ or GCC < 2.95 */ + #define likely(x) (x) + #define unlikely(x) (x) +#endif /* __GNUC__ */ +static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; } + +static PyObject *__pyx_m = NULL; +static PyObject *__pyx_d; +static PyObject *__pyx_b; +static PyObject *__pyx_cython_runtime = NULL; +static PyObject *__pyx_empty_tuple; +static PyObject *__pyx_empty_bytes; +static PyObject *__pyx_empty_unicode; +static int __pyx_lineno; +static int __pyx_clineno = 0; +static const char * __pyx_cfilenm= __FILE__; +static const char *__pyx_filename; + + +static const char *__pyx_f[] = { + "_pydevd_bundle/pydevd_cython.pyx", + "_pydevd_bundle/pydevd_cython.pxd", + "stringsource", + "type.pxd", +}; + +/*--- Type declarations ---*/ +struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo; +struct __pyx_obj_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj; +struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame; +struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper; +struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions; +struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame; +struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_ThreadTracer; + +/* "_pydevd_bundle/pydevd_cython.pxd":1 + * cdef class PyDBAdditionalThreadInfo: # <<<<<<<<<<<<<< + * cdef public int pydev_state + * cdef public object pydev_step_stop # Actually, it's a frame or None + */ +struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo { + PyObject_HEAD + int pydev_state; + PyObject *pydev_step_stop; + int pydev_original_step_cmd; + int pydev_step_cmd; + int pydev_notify_kill; + PyObject *pydev_smart_step_stop; + int pydev_django_resolve_frame; + PyObject *pydev_call_from_jinja2; + PyObject *pydev_call_inside_jinja2; + int is_tracing; + PyObject *conditional_breakpoint_exception; + PyObject *pydev_message; + int suspend_type; + int pydev_next_line; + PyObject *pydev_func_name; + int suspended_at_unhandled; + PyObject *trace_suspend_type; + PyObject *top_level_thread_tracer_no_back_frames; + PyObject *top_level_thread_tracer_unhandled; + PyObject *thread_tracer; + PyObject *step_in_initial_location; + int pydev_smart_parent_offset; + int pydev_smart_child_offset; + PyObject *pydev_smart_step_into_variants; + PyObject *target_id_to_smart_step_into_variant; + int pydev_use_scoped_step_frame; +}; + + +/* "_pydevd_bundle/pydevd_cython.pyx":255 + * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * cdef class _TryExceptContainerObj: # <<<<<<<<<<<<<< + * cdef public list try_except_infos; + * def __init__(self): + */ +struct __pyx_obj_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj { + PyObject_HEAD + PyObject *try_except_infos; +}; + + +/* "_pydevd_bundle/pydevd_cython.pyx":273 + * #======================================================================================================================= + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * cdef class PyDBFrame: # <<<<<<<<<<<<<< + * # ELSE + * # class PyDBFrame: + */ +struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame { + PyObject_HEAD + struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_vtab; + PyObject *_args; + int should_skip; + PyObject *exc_info; +}; + + +/* "_pydevd_bundle/pydevd_cython.pyx":1434 + * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * cdef class SafeCallWrapper: # <<<<<<<<<<<<<< + * cdef method_object + * def __init__(self, method_object): + */ +struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper { + PyObject_HEAD + PyObject *method_object; +}; + + +/* "_pydevd_bundle/pydevd_cython.pyx":1590 + * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * cdef class TopLevelThreadTracerOnlyUnhandledExceptions: # <<<<<<<<<<<<<< + * cdef public tuple _args; + * def __init__(self, tuple args): + */ +struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions { + PyObject_HEAD + PyObject *_args; +}; + + +/* "_pydevd_bundle/pydevd_cython.pyx":1620 + * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * cdef class TopLevelThreadTracerNoBackFrame: # <<<<<<<<<<<<<< + * cdef public object _frame_trace_dispatch; + * cdef public tuple _args; + */ +struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame { + PyObject_HEAD + PyObject *_frame_trace_dispatch; + PyObject *_args; + PyObject *try_except_infos; + PyObject *_last_exc_arg; + PyObject *_raise_lines; + int _last_raise_line; +}; + + +/* "_pydevd_bundle/pydevd_cython.pyx":1695 + * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * cdef class ThreadTracer: # <<<<<<<<<<<<<< + * cdef public tuple _args; + * def __init__(self, tuple args): + */ +struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_ThreadTracer { + PyObject_HEAD + PyObject *_args; +}; + + + +/* "_pydevd_bundle/pydevd_cython.pyx":273 + * #======================================================================================================================= + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * cdef class PyDBFrame: # <<<<<<<<<<<<<< + * # ELSE + * # class PyDBFrame: + */ + +struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame { + PyObject *(*_should_stop_on_exception)(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *, PyObject *, PyObject *, PyObject *); + PyObject *(*_handle_exception)(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *, PyObject *, PyObject *, PyObject *, PyObject *); + PyObject *(*get_func_name)(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *, PyObject *); + PyObject *(*_show_return_values)(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *, PyObject *, PyObject *); + PyObject *(*_remove_return_values)(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *, PyObject *, PyObject *); + PyObject *(*_get_unfiltered_back_frame)(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *, PyObject *, PyObject *); + PyObject *(*_is_same_frame)(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *, PyObject *, PyObject *); + PyObject *(*trace_dispatch)(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *, PyObject *, PyObject *, PyObject *, int __pyx_skip_dispatch); +}; +static struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_vtabptr_14_pydevd_bundle_13pydevd_cython_PyDBFrame; + +/* --- Runtime support code (head) --- */ +/* Refnanny.proto */ +#ifndef CYTHON_REFNANNY + #define CYTHON_REFNANNY 0 +#endif +#if CYTHON_REFNANNY + typedef struct { + void (*INCREF)(void*, PyObject*, int); + void (*DECREF)(void*, PyObject*, int); + void (*GOTREF)(void*, PyObject*, int); + void (*GIVEREF)(void*, PyObject*, int); + void* (*SetupContext)(const char*, int, const char*); + void (*FinishContext)(void**); + } __Pyx_RefNannyAPIStruct; + static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL; + static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); + #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL; +#ifdef WITH_THREAD + #define __Pyx_RefNannySetupContext(name, acquire_gil)\ + if (acquire_gil) {\ + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\ + PyGILState_Release(__pyx_gilstate_save);\ + } else {\ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\ + } +#else + #define __Pyx_RefNannySetupContext(name, acquire_gil)\ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__) +#endif + #define __Pyx_RefNannyFinishContext()\ + __Pyx_RefNanny->FinishContext(&__pyx_refnanny) + #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_XINCREF(r) do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0) + #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0) + #define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0) + #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0) +#else + #define __Pyx_RefNannyDeclarations + #define __Pyx_RefNannySetupContext(name, acquire_gil) + #define __Pyx_RefNannyFinishContext() + #define __Pyx_INCREF(r) Py_INCREF(r) + #define __Pyx_DECREF(r) Py_DECREF(r) + #define __Pyx_GOTREF(r) + #define __Pyx_GIVEREF(r) + #define __Pyx_XINCREF(r) Py_XINCREF(r) + #define __Pyx_XDECREF(r) Py_XDECREF(r) + #define __Pyx_XGOTREF(r) + #define __Pyx_XGIVEREF(r) +#endif +#define __Pyx_XDECREF_SET(r, v) do {\ + PyObject *tmp = (PyObject *) r;\ + r = v; __Pyx_XDECREF(tmp);\ + } while (0) +#define __Pyx_DECREF_SET(r, v) do {\ + PyObject *tmp = (PyObject *) r;\ + r = v; __Pyx_DECREF(tmp);\ + } while (0) +#define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0) +#define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0) + +/* PyObjectGetAttrStr.proto */ +#if CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name); +#else +#define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n) +#endif + +/* GetBuiltinName.proto */ +static PyObject *__Pyx_GetBuiltinName(PyObject *name); + +/* RaiseArgTupleInvalid.proto */ +static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact, + Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); + +/* KeywordStringCheck.proto */ +static int __Pyx_CheckKeywordStrings(PyObject *kwdict, const char* function_name, int kw_allowed); + +/* PyDictVersioning.proto */ +#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS +#define __PYX_DICT_VERSION_INIT ((PY_UINT64_T) -1) +#define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag) +#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\ + (version_var) = __PYX_GET_DICT_VERSION(dict);\ + (cache_var) = (value); +#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\ + static PY_UINT64_T __pyx_dict_version = 0;\ + static PyObject *__pyx_dict_cached_value = NULL;\ + if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\ + (VAR) = __pyx_dict_cached_value;\ + } else {\ + (VAR) = __pyx_dict_cached_value = (LOOKUP);\ + __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\ + }\ +} +static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj); +static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj); +static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version); +#else +#define __PYX_GET_DICT_VERSION(dict) (0) +#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var) +#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) (VAR) = (LOOKUP); +#endif + +/* GetModuleGlobalName.proto */ +#if CYTHON_USE_DICT_VERSIONS +#define __Pyx_GetModuleGlobalName(var, name) {\ + static PY_UINT64_T __pyx_dict_version = 0;\ + static PyObject *__pyx_dict_cached_value = NULL;\ + (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\ + (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\ + __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ +} +#define __Pyx_GetModuleGlobalNameUncached(var, name) {\ + PY_UINT64_T __pyx_dict_version;\ + PyObject *__pyx_dict_cached_value;\ + (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ +} +static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value); +#else +#define __Pyx_GetModuleGlobalName(var, name) (var) = __Pyx__GetModuleGlobalName(name) +#define __Pyx_GetModuleGlobalNameUncached(var, name) (var) = __Pyx__GetModuleGlobalName(name) +static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name); +#endif + +/* PyFunctionFastCall.proto */ +#if CYTHON_FAST_PYCALL +#define __Pyx_PyFunction_FastCall(func, args, nargs)\ + __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL) +#if 1 || PY_VERSION_HEX < 0x030600B1 +static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs); +#else +#define __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs) _PyFunction_FastCallDict(func, args, nargs, kwargs) +#endif +#define __Pyx_BUILD_ASSERT_EXPR(cond)\ + (sizeof(char [1 - 2*!(cond)]) - 1) +#ifndef Py_MEMBER_SIZE +#define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member) +#endif +#if CYTHON_FAST_PYCALL + static size_t __pyx_pyframe_localsplus_offset = 0; + #include "frameobject.h" +#if PY_VERSION_HEX >= 0x030b00a6 + #ifndef Py_BUILD_CORE + #define Py_BUILD_CORE 1 + #endif + #include "internal/pycore_frame.h" +#endif + #define __Pxy_PyFrame_Initialize_Offsets()\ + ((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\ + (void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus))) + #define __Pyx_PyFrame_GetLocalsplus(frame)\ + (assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset)) +#endif // CYTHON_FAST_PYCALL +#endif + +/* PyObjectCall.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw); +#else +#define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw) +#endif + +/* PyObjectCallMethO.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg); +#endif + +/* PyObjectCallNoArg.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func); +#else +#define __Pyx_PyObject_CallNoArg(func) __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL) +#endif + +/* PyCFunctionFastCall.proto */ +#if CYTHON_FAST_PYCCALL +static CYTHON_INLINE PyObject *__Pyx_PyCFunction_FastCall(PyObject *func, PyObject **args, Py_ssize_t nargs); +#else +#define __Pyx_PyCFunction_FastCall(func, args, nargs) (assert(0), NULL) +#endif + +/* PyObjectCallOneArg.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg); + +/* PyObjectCall2Args.proto */ +static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2); + +/* PyErrExceptionMatches.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyErr_ExceptionMatches(err) __Pyx_PyErr_ExceptionMatchesInState(__pyx_tstate, err) +static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err); +#else +#define __Pyx_PyErr_ExceptionMatches(err) PyErr_ExceptionMatches(err) +#endif + +/* PyThreadStateGet.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyThreadState_declare PyThreadState *__pyx_tstate; +#define __Pyx_PyThreadState_assign __pyx_tstate = __Pyx_PyThreadState_Current; +#define __Pyx_PyErr_Occurred() __pyx_tstate->curexc_type +#else +#define __Pyx_PyThreadState_declare +#define __Pyx_PyThreadState_assign +#define __Pyx_PyErr_Occurred() PyErr_Occurred() +#endif + +/* PyErrFetchRestore.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL) +#define __Pyx_ErrRestoreWithState(type, value, tb) __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb) +#define __Pyx_ErrFetchWithState(type, value, tb) __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb) +#define __Pyx_ErrRestore(type, value, tb) __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb) +#define __Pyx_ErrFetch(type, value, tb) __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); +static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#if CYTHON_COMPILING_IN_CPYTHON +#define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL)) +#else +#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) +#endif +#else +#define __Pyx_PyErr_Clear() PyErr_Clear() +#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) +#define __Pyx_ErrRestoreWithState(type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetchWithState(type, value, tb) PyErr_Fetch(type, value, tb) +#define __Pyx_ErrRestoreInState(tstate, type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetchInState(tstate, type, value, tb) PyErr_Fetch(type, value, tb) +#define __Pyx_ErrRestore(type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetch(type, value, tb) PyErr_Fetch(type, value, tb) +#endif + +/* GetAttr.proto */ +static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *, PyObject *); + +/* GetAttr3.proto */ +static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *, PyObject *, PyObject *); + +/* RaiseException.proto */ +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); + +/* GetTopmostException.proto */ +#if CYTHON_USE_EXC_INFO_STACK +static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate); +#endif + +/* SaveResetException.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_ExceptionSave(type, value, tb) __Pyx__ExceptionSave(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#define __Pyx_ExceptionReset(type, value, tb) __Pyx__ExceptionReset(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); +#else +#define __Pyx_ExceptionSave(type, value, tb) PyErr_GetExcInfo(type, value, tb) +#define __Pyx_ExceptionReset(type, value, tb) PyErr_SetExcInfo(type, value, tb) +#endif + +/* GetException.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_GetException(type, value, tb) __Pyx__GetException(__pyx_tstate, type, value, tb) +static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#else +static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); +#endif + +/* PyObjectLookupSpecial.proto */ +#if CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PyObject* __Pyx_PyObject_LookupSpecial(PyObject* obj, PyObject* attr_name) { + PyObject *res; + PyTypeObject *tp = Py_TYPE(obj); +#if PY_MAJOR_VERSION < 3 + if (unlikely(PyInstance_Check(obj))) + return __Pyx_PyObject_GetAttrStr(obj, attr_name); +#endif + res = _PyType_Lookup(tp, attr_name); + if (likely(res)) { + descrgetfunc f = Py_TYPE(res)->tp_descr_get; + if (!f) { + Py_INCREF(res); + } else { + res = f(res, obj, (PyObject *)tp); + } + } else { + PyErr_SetObject(PyExc_AttributeError, attr_name); + } + return res; +} +#else +#define __Pyx_PyObject_LookupSpecial(o,n) __Pyx_PyObject_GetAttrStr(o,n) +#endif + +/* PyObjectSetAttrStr.proto */ +#if CYTHON_USE_TYPE_SLOTS +#define __Pyx_PyObject_DelAttrStr(o,n) __Pyx_PyObject_SetAttrStr(o, n, NULL) +static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value); +#else +#define __Pyx_PyObject_DelAttrStr(o,n) PyObject_DelAttr(o,n) +#define __Pyx_PyObject_SetAttrStr(o,n,v) PyObject_SetAttr(o,n,v) +#endif + +/* None.proto */ +static CYTHON_INLINE void __Pyx_RaiseUnboundLocalError(const char *varname); + +/* pyfrozenset_new.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyFrozenSet_New(PyObject* it); + +/* PySetContains.proto */ +static CYTHON_INLINE int __Pyx_PySet_ContainsTF(PyObject* key, PyObject* set, int eq); + +/* ListAppend.proto */ +#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS +static CYTHON_INLINE int __Pyx_PyList_Append(PyObject* list, PyObject* x) { + PyListObject* L = (PyListObject*) list; + Py_ssize_t len = Py_SIZE(list); + if (likely(L->allocated > len) & likely(len > (L->allocated >> 1))) { + Py_INCREF(x); + PyList_SET_ITEM(list, len, x); + __Pyx_SET_SIZE(list, len + 1); + return 0; + } + return PyList_Append(list, x); +} +#else +#define __Pyx_PyList_Append(L,x) PyList_Append(L,x) +#endif + +/* PySequenceContains.proto */ +static CYTHON_INLINE int __Pyx_PySequence_ContainsTF(PyObject* item, PyObject* seq, int eq) { + int result = PySequence_Contains(seq, item); + return unlikely(result < 0) ? result : (result == (eq == Py_EQ)); +} + +/* RaiseDoubleKeywords.proto */ +static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); + +/* ParseKeywords.proto */ +static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[],\ + PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,\ + const char* function_name); + +/* ArgTypeTest.proto */ +#define __Pyx_ArgTypeTest(obj, type, none_allowed, name, exact)\ + ((likely((Py_TYPE(obj) == type) | (none_allowed && (obj == Py_None)))) ? 1 :\ + __Pyx__ArgTypeTest(obj, type, name, exact)) +static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact); + +/* GetItemInt.proto */ +#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ + __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\ + (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\ + __Pyx_GetItemInt_Generic(o, to_py_func(i)))) +#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ + __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\ + (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL)) +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, + int wraparound, int boundscheck); +#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ + __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\ + (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL)) +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, + int wraparound, int boundscheck); +static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j); +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, + int is_list, int wraparound, int boundscheck); + +/* IncludeStringH.proto */ +#include + +/* BytesEquals.proto */ +static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals); + +/* UnicodeEquals.proto */ +static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals); + +/* StrEquals.proto */ +#if PY_MAJOR_VERSION >= 3 +#define __Pyx_PyString_Equals __Pyx_PyUnicode_Equals +#else +#define __Pyx_PyString_Equals __Pyx_PyBytes_Equals +#endif + +/* RaiseTooManyValuesToUnpack.proto */ +static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected); + +/* RaiseNeedMoreValuesToUnpack.proto */ +static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index); + +/* IterFinish.proto */ +static CYTHON_INLINE int __Pyx_IterFinish(void); + +/* UnpackItemEndCheck.proto */ +static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected); + +/* ExtTypeTest.proto */ +static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); + +/* HasAttr.proto */ +static CYTHON_INLINE int __Pyx_HasAttr(PyObject *, PyObject *); + +/* dict_getitem_default.proto */ +static PyObject* __Pyx_PyDict_GetItemDefault(PyObject* d, PyObject* key, PyObject* default_value); + +/* UnpackUnboundCMethod.proto */ +typedef struct { + PyObject *type; + PyObject **method_name; + PyCFunction func; + PyObject *method; + int flag; +} __Pyx_CachedCFunction; + +/* CallUnboundCMethod1.proto */ +static PyObject* __Pyx__CallUnboundCMethod1(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg); +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_CallUnboundCMethod1(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg); +#else +#define __Pyx_CallUnboundCMethod1(cfunc, self, arg) __Pyx__CallUnboundCMethod1(cfunc, self, arg) +#endif + +/* CallUnboundCMethod2.proto */ +static PyObject* __Pyx__CallUnboundCMethod2(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg1, PyObject* arg2); +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030600B1 +static CYTHON_INLINE PyObject *__Pyx_CallUnboundCMethod2(__Pyx_CachedCFunction *cfunc, PyObject *self, PyObject *arg1, PyObject *arg2); +#else +#define __Pyx_CallUnboundCMethod2(cfunc, self, arg1, arg2) __Pyx__CallUnboundCMethod2(cfunc, self, arg1, arg2) +#endif + +/* py_dict_clear.proto */ +#define __Pyx_PyDict_Clear(d) (PyDict_Clear(d), 0) + +/* PyDictContains.proto */ +static CYTHON_INLINE int __Pyx_PyDict_ContainsTF(PyObject* item, PyObject* dict, int eq) { + int result = PyDict_Contains(dict, item); + return unlikely(result < 0) ? result : (result == (eq == Py_EQ)); +} + +/* SwapException.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_ExceptionSwap(type, value, tb) __Pyx__ExceptionSwap(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#else +static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb); +#endif + +/* RaiseNoneIterError.proto */ +static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void); + +/* PyIntBinop.proto */ +#if !CYTHON_COMPILING_IN_PYPY +static PyObject* __Pyx_PyInt_AndObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check); +#else +#define __Pyx_PyInt_AndObjC(op1, op2, intval, inplace, zerodivision_check)\ + (inplace ? PyNumber_InPlaceAnd(op1, op2) : PyNumber_And(op1, op2)) +#endif + +/* PyObjectGetMethod.proto */ +static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method); + +/* PyObjectCallMethod0.proto */ +static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name); + +/* UnpackTupleError.proto */ +static void __Pyx_UnpackTupleError(PyObject *, Py_ssize_t index); + +/* UnpackTuple2.proto */ +#define __Pyx_unpack_tuple2(tuple, value1, value2, is_tuple, has_known_size, decref_tuple)\ + (likely(is_tuple || PyTuple_Check(tuple)) ?\ + (likely(has_known_size || PyTuple_GET_SIZE(tuple) == 2) ?\ + __Pyx_unpack_tuple2_exact(tuple, value1, value2, decref_tuple) :\ + (__Pyx_UnpackTupleError(tuple, 2), -1)) :\ + __Pyx_unpack_tuple2_generic(tuple, value1, value2, has_known_size, decref_tuple)) +static CYTHON_INLINE int __Pyx_unpack_tuple2_exact( + PyObject* tuple, PyObject** value1, PyObject** value2, int decref_tuple); +static int __Pyx_unpack_tuple2_generic( + PyObject* tuple, PyObject** value1, PyObject** value2, int has_known_size, int decref_tuple); + +/* dict_iter.proto */ +static CYTHON_INLINE PyObject* __Pyx_dict_iterator(PyObject* dict, int is_dict, PyObject* method_name, + Py_ssize_t* p_orig_length, int* p_is_dict); +static CYTHON_INLINE int __Pyx_dict_iter_next(PyObject* dict_or_iter, Py_ssize_t orig_length, Py_ssize_t* ppos, + PyObject** pkey, PyObject** pvalue, PyObject** pitem, int is_dict); + +/* py_dict_values.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyDict_Values(PyObject* d); + +/* CallUnboundCMethod0.proto */ +static PyObject* __Pyx__CallUnboundCMethod0(__Pyx_CachedCFunction* cfunc, PyObject* self); +#if CYTHON_COMPILING_IN_CPYTHON +#define __Pyx_CallUnboundCMethod0(cfunc, self)\ + (likely((cfunc)->func) ?\ + (likely((cfunc)->flag == METH_NOARGS) ? (*((cfunc)->func))(self, NULL) :\ + (PY_VERSION_HEX >= 0x030600B1 && likely((cfunc)->flag == METH_FASTCALL) ?\ + (PY_VERSION_HEX >= 0x030700A0 ?\ + (*(__Pyx_PyCFunctionFast)(void*)(PyCFunction)(cfunc)->func)(self, &__pyx_empty_tuple, 0) :\ + (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)(cfunc)->func)(self, &__pyx_empty_tuple, 0, NULL)) :\ + (PY_VERSION_HEX >= 0x030700A0 && (cfunc)->flag == (METH_FASTCALL | METH_KEYWORDS) ?\ + (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)(cfunc)->func)(self, &__pyx_empty_tuple, 0, NULL) :\ + (likely((cfunc)->flag == (METH_VARARGS | METH_KEYWORDS)) ? ((*(PyCFunctionWithKeywords)(void*)(PyCFunction)(cfunc)->func)(self, __pyx_empty_tuple, NULL)) :\ + ((cfunc)->flag == METH_VARARGS ? (*((cfunc)->func))(self, __pyx_empty_tuple) :\ + __Pyx__CallUnboundCMethod0(cfunc, self)))))) :\ + __Pyx__CallUnboundCMethod0(cfunc, self)) +#else +#define __Pyx_CallUnboundCMethod0(cfunc, self) __Pyx__CallUnboundCMethod0(cfunc, self) +#endif + +/* DictGetItem.proto */ +#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY +static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key); +#define __Pyx_PyObject_Dict_GetItem(obj, name)\ + (likely(PyDict_CheckExact(obj)) ?\ + __Pyx_PyDict_GetItem(obj, name) : PyObject_GetItem(obj, name)) +#else +#define __Pyx_PyDict_GetItem(d, key) PyObject_GetItem(d, key) +#define __Pyx_PyObject_Dict_GetItem(obj, name) PyObject_GetItem(obj, name) +#endif + +/* SliceObject.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice( + PyObject* obj, Py_ssize_t cstart, Py_ssize_t cstop, + PyObject** py_start, PyObject** py_stop, PyObject** py_slice, + int has_cstart, int has_cstop, int wraparound); + +/* PyIntBinop.proto */ +#if !CYTHON_COMPILING_IN_PYPY +static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check); +#else +#define __Pyx_PyInt_AddObjC(op1, op2, intval, inplace, zerodivision_check)\ + (inplace ? PyNumber_InPlaceAdd(op1, op2) : PyNumber_Add(op1, op2)) +#endif + +/* PyObjectCallMethod1.proto */ +static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg); + +/* append.proto */ +static CYTHON_INLINE int __Pyx_PyObject_Append(PyObject* L, PyObject* x); + +/* SliceTupleAndList.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyList_GetSlice(PyObject* src, Py_ssize_t start, Py_ssize_t stop); +static CYTHON_INLINE PyObject* __Pyx_PyTuple_GetSlice(PyObject* src, Py_ssize_t start, Py_ssize_t stop); +#else +#define __Pyx_PyList_GetSlice(seq, start, stop) PySequence_GetSlice(seq, start, stop) +#define __Pyx_PyTuple_GetSlice(seq, start, stop) PySequence_GetSlice(seq, start, stop) +#endif + +/* PyIntCompare.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_EqObjC(PyObject *op1, PyObject *op2, long intval, long inplace); + +/* ObjectGetItem.proto */ +#if CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject* key); +#else +#define __Pyx_PyObject_GetItem(obj, key) PyObject_GetItem(obj, key) +#endif + +/* Import.proto */ +static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level); + +/* ImportFrom.proto */ +static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name); + +/* PyObject_GenericGetAttrNoDict.proto */ +#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 +static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name); +#else +#define __Pyx_PyObject_GenericGetAttrNoDict PyObject_GenericGetAttr +#endif + +/* PyObject_GenericGetAttr.proto */ +#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 +static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name); +#else +#define __Pyx_PyObject_GenericGetAttr PyObject_GenericGetAttr +#endif + +/* PyObjectGetAttrStrNoError.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name); + +/* SetupReduce.proto */ +static int __Pyx_setup_reduce(PyObject* type_obj); + +/* SetVTable.proto */ +static int __Pyx_SetVtable(PyObject *dict, void *vtable); + +/* TypeImport.proto */ +#ifndef __PYX_HAVE_RT_ImportType_proto +#define __PYX_HAVE_RT_ImportType_proto +enum __Pyx_ImportType_CheckSize { + __Pyx_ImportType_CheckSize_Error = 0, + __Pyx_ImportType_CheckSize_Warn = 1, + __Pyx_ImportType_CheckSize_Ignore = 2 +}; +static PyTypeObject *__Pyx_ImportType(PyObject* module, const char *module_name, const char *class_name, size_t size, enum __Pyx_ImportType_CheckSize check_size); +#endif + +/* CLineInTraceback.proto */ +#ifdef CYTHON_CLINE_IN_TRACEBACK +#define __Pyx_CLineForTraceback(tstate, c_line) (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0) +#else +static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line); +#endif + +/* CodeObjectCache.proto */ +typedef struct { + PyCodeObject* code_object; + int code_line; +} __Pyx_CodeObjectCacheEntry; +struct __Pyx_CodeObjectCache { + int count; + int max_count; + __Pyx_CodeObjectCacheEntry* entries; +}; +static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL}; +static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line); +static PyCodeObject *__pyx_find_code_object(int code_line); +static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object); + +/* AddTraceback.proto */ +static void __Pyx_AddTraceback(const char *funcname, int c_line, + int py_line, const char *filename); + +/* GCCDiagnostics.proto */ +#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) +#define __Pyx_HAS_GCC_DIAGNOSTIC +#endif + +/* CIntToPy.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value); + +/* CIntFromPy.proto */ +static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *); + +/* CIntFromPy.proto */ +static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *); + +/* CIntToPy.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value); + +/* FastTypeChecks.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +#define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type) +static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b); +static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type); +static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2); +#else +#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type) +#define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type) +#define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2)) +#endif +#define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception) + +/* CheckBinaryVersion.proto */ +static int __Pyx_check_binary_version(void); + +/* InitStrings.proto */ +static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); + +static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame__should_stop_on_exception(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, PyObject *__pyx_v_frame, CYTHON_UNUSED PyObject *__pyx_v_event, PyObject *__pyx_v_arg); /* proto*/ +static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame__handle_exception(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, PyObject *__pyx_v_frame, PyObject *__pyx_v_event, PyObject *__pyx_v_arg, PyObject *__pyx_v_exception_type); /* proto*/ +static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_get_func_name(CYTHON_UNUSED struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, PyObject *__pyx_v_frame); /* proto*/ +static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame__show_return_values(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, PyObject *__pyx_v_frame, PyObject *__pyx_v_arg); /* proto*/ +static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame__remove_return_values(CYTHON_UNUSED struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_main_debugger, PyObject *__pyx_v_frame); /* proto*/ +static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame__get_unfiltered_back_frame(CYTHON_UNUSED struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, PyObject *__pyx_v_main_debugger, PyObject *__pyx_v_frame); /* proto*/ +static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame__is_same_frame(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, PyObject *__pyx_v_target_frame, PyObject *__pyx_v_current_frame); /* proto*/ +static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_trace_dispatch(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, PyObject *__pyx_v_frame, PyObject *__pyx_v_event, PyObject *__pyx_v_arg, int __pyx_skip_dispatch); /* proto*/ + +/* Module declarations from 'libc.string' */ + +/* Module declarations from 'libc.stdio' */ + +/* Module declarations from '__builtin__' */ + +/* Module declarations from 'cpython.type' */ +static PyTypeObject *__pyx_ptype_7cpython_4type_type = 0; + +/* Module declarations from 'cpython' */ + +/* Module declarations from 'cpython.object' */ + +/* Module declarations from 'cpython.ref' */ + +/* Module declarations from '_pydevd_bundle.pydevd_cython' */ +static PyTypeObject *__pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo = 0; +static PyTypeObject *__pyx_ptype_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj = 0; +static PyTypeObject *__pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBFrame = 0; +static PyTypeObject *__pyx_ptype_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper = 0; +static PyTypeObject *__pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions = 0; +static PyTypeObject *__pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame = 0; +static PyTypeObject *__pyx_ptype_14_pydevd_bundle_13pydevd_cython_ThreadTracer = 0; +static PyObject *__pyx_v_14_pydevd_bundle_13pydevd_cython__global_notify_skipped_step_in = 0; +static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython_is_unhandled_exception(PyObject *, PyObject *, PyObject *, int, PyObject *); /*proto*/ +static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython___pyx_unpickle_PyDBAdditionalThreadInfo__set_state(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *, PyObject *); /*proto*/ +static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython___pyx_unpickle__TryExceptContainerObj__set_state(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj *, PyObject *); /*proto*/ +static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython___pyx_unpickle_PyDBFrame__set_state(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *, PyObject *); /*proto*/ +static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython___pyx_unpickle_SafeCallWrapper__set_state(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper *, PyObject *); /*proto*/ +static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython___pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions__set_state(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions *, PyObject *); /*proto*/ +static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython___pyx_unpickle_TopLevelThreadTracerNoBackFrame__set_state(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *, PyObject *); /*proto*/ +static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython___pyx_unpickle_ThreadTracer__set_state(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_ThreadTracer *, PyObject *); /*proto*/ +#define __Pyx_MODULE_NAME "_pydevd_bundle.pydevd_cython" +extern int __pyx_module_is_main__pydevd_bundle__pydevd_cython; +int __pyx_module_is_main__pydevd_bundle__pydevd_cython = 0; + +/* Implementation of '_pydevd_bundle.pydevd_cython' */ +static PyObject *__pyx_builtin_ImportError; +static PyObject *__pyx_builtin_NameError; +static PyObject *__pyx_builtin_StopIteration; +static PyObject *__pyx_builtin_id; +static PyObject *__pyx_builtin_AttributeError; +static PyObject *__pyx_builtin_SystemExit; +static PyObject *__pyx_builtin_GeneratorExit; +static PyObject *__pyx_builtin_KeyboardInterrupt; +static const char __pyx_k_[] = ""; +static const char __pyx_k_1[] = "1"; +static const char __pyx_k_i[] = "i"; +static const char __pyx_k_j[] = "j"; +static const char __pyx_k_t[] = "t"; +static const char __pyx_k__3[] = "?"; +static const char __pyx_k__5[] = "/"; +static const char __pyx_k__6[] = "\\"; +static const char __pyx_k__7[] = "."; +static const char __pyx_k_id[] = "id"; +static const char __pyx_k_os[] = "os"; +static const char __pyx_k_re[] = "re"; +static const char __pyx_k_ALL[] = "ALL"; +static const char __pyx_k_add[] = "add"; +static const char __pyx_k_arg[] = "arg"; +static const char __pyx_k_dis[] = "dis"; +static const char __pyx_k_get[] = "get"; +static const char __pyx_k_new[] = "__new__"; +static const char __pyx_k_pop[] = "pop"; +static const char __pyx_k_pyc[] = ".pyc"; +static const char __pyx_k_run[] = "run"; +static const char __pyx_k_s_s[] = "%s.%s"; +static const char __pyx_k_None[] = "None"; +static const char __pyx_k_args[] = "args"; +static const char __pyx_k_call[] = "call"; +static const char __pyx_k_cell[] = " 0)) { + __Pyx_RaiseArgtupleInvalid("__init__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;} + if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 0))) return -1; + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo___init__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo___init__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__init__", 0); + + /* "_pydevd_bundle/pydevd_cython.pyx":68 + * + * def __init__(self): + * self.pydev_state = STATE_RUN # STATE_RUN or STATE_SUSPEND # <<<<<<<<<<<<<< + * self.pydev_step_stop = None + * + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_STATE_RUN); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 68, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 68, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_self->pydev_state = __pyx_t_2; + + /* "_pydevd_bundle/pydevd_cython.pyx":69 + * def __init__(self): + * self.pydev_state = STATE_RUN # STATE_RUN or STATE_SUSPEND + * self.pydev_step_stop = None # <<<<<<<<<<<<<< + * + * # Note: we have `pydev_original_step_cmd` and `pydev_step_cmd` because the original is to + */ + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->pydev_step_stop); + __Pyx_DECREF(__pyx_v_self->pydev_step_stop); + __pyx_v_self->pydev_step_stop = Py_None; + + /* "_pydevd_bundle/pydevd_cython.pyx":77 + * # method the strategy is changed to a step in). + * + * self.pydev_original_step_cmd = -1 # Something as CMD_STEP_INTO, CMD_STEP_OVER, etc. # <<<<<<<<<<<<<< + * self.pydev_step_cmd = -1 # Something as CMD_STEP_INTO, CMD_STEP_OVER, etc. + * + */ + __pyx_v_self->pydev_original_step_cmd = -1; + + /* "_pydevd_bundle/pydevd_cython.pyx":78 + * + * self.pydev_original_step_cmd = -1 # Something as CMD_STEP_INTO, CMD_STEP_OVER, etc. + * self.pydev_step_cmd = -1 # Something as CMD_STEP_INTO, CMD_STEP_OVER, etc. # <<<<<<<<<<<<<< + * + * self.pydev_notify_kill = False + */ + __pyx_v_self->pydev_step_cmd = -1; + + /* "_pydevd_bundle/pydevd_cython.pyx":80 + * self.pydev_step_cmd = -1 # Something as CMD_STEP_INTO, CMD_STEP_OVER, etc. + * + * self.pydev_notify_kill = False # <<<<<<<<<<<<<< + * self.pydev_django_resolve_frame = False + * self.pydev_call_from_jinja2 = None + */ + __pyx_v_self->pydev_notify_kill = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":81 + * + * self.pydev_notify_kill = False + * self.pydev_django_resolve_frame = False # <<<<<<<<<<<<<< + * self.pydev_call_from_jinja2 = None + * self.pydev_call_inside_jinja2 = None + */ + __pyx_v_self->pydev_django_resolve_frame = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":82 + * self.pydev_notify_kill = False + * self.pydev_django_resolve_frame = False + * self.pydev_call_from_jinja2 = None # <<<<<<<<<<<<<< + * self.pydev_call_inside_jinja2 = None + * self.is_tracing = 0 + */ + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->pydev_call_from_jinja2); + __Pyx_DECREF(__pyx_v_self->pydev_call_from_jinja2); + __pyx_v_self->pydev_call_from_jinja2 = Py_None; + + /* "_pydevd_bundle/pydevd_cython.pyx":83 + * self.pydev_django_resolve_frame = False + * self.pydev_call_from_jinja2 = None + * self.pydev_call_inside_jinja2 = None # <<<<<<<<<<<<<< + * self.is_tracing = 0 + * self.conditional_breakpoint_exception = None + */ + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->pydev_call_inside_jinja2); + __Pyx_DECREF(__pyx_v_self->pydev_call_inside_jinja2); + __pyx_v_self->pydev_call_inside_jinja2 = Py_None; + + /* "_pydevd_bundle/pydevd_cython.pyx":84 + * self.pydev_call_from_jinja2 = None + * self.pydev_call_inside_jinja2 = None + * self.is_tracing = 0 # <<<<<<<<<<<<<< + * self.conditional_breakpoint_exception = None + * self.pydev_message = '' + */ + __pyx_v_self->is_tracing = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":85 + * self.pydev_call_inside_jinja2 = None + * self.is_tracing = 0 + * self.conditional_breakpoint_exception = None # <<<<<<<<<<<<<< + * self.pydev_message = '' + * self.suspend_type = PYTHON_SUSPEND + */ + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->conditional_breakpoint_exception); + __Pyx_DECREF(__pyx_v_self->conditional_breakpoint_exception); + __pyx_v_self->conditional_breakpoint_exception = ((PyObject*)Py_None); + + /* "_pydevd_bundle/pydevd_cython.pyx":86 + * self.is_tracing = 0 + * self.conditional_breakpoint_exception = None + * self.pydev_message = '' # <<<<<<<<<<<<<< + * self.suspend_type = PYTHON_SUSPEND + * self.pydev_next_line = -1 + */ + __Pyx_INCREF(__pyx_kp_s_); + __Pyx_GIVEREF(__pyx_kp_s_); + __Pyx_GOTREF(__pyx_v_self->pydev_message); + __Pyx_DECREF(__pyx_v_self->pydev_message); + __pyx_v_self->pydev_message = __pyx_kp_s_; + + /* "_pydevd_bundle/pydevd_cython.pyx":87 + * self.conditional_breakpoint_exception = None + * self.pydev_message = '' + * self.suspend_type = PYTHON_SUSPEND # <<<<<<<<<<<<<< + * self.pydev_next_line = -1 + * self.pydev_func_name = '.invalid.' # Must match the type in cython + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_PYTHON_SUSPEND); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 87, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 87, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_self->suspend_type = __pyx_t_2; + + /* "_pydevd_bundle/pydevd_cython.pyx":88 + * self.pydev_message = '' + * self.suspend_type = PYTHON_SUSPEND + * self.pydev_next_line = -1 # <<<<<<<<<<<<<< + * self.pydev_func_name = '.invalid.' # Must match the type in cython + * self.suspended_at_unhandled = False + */ + __pyx_v_self->pydev_next_line = -1; + + /* "_pydevd_bundle/pydevd_cython.pyx":89 + * self.suspend_type = PYTHON_SUSPEND + * self.pydev_next_line = -1 + * self.pydev_func_name = '.invalid.' # Must match the type in cython # <<<<<<<<<<<<<< + * self.suspended_at_unhandled = False + * self.trace_suspend_type = 'trace' # 'trace' or 'frame_eval' + */ + __Pyx_INCREF(__pyx_kp_s_invalid); + __Pyx_GIVEREF(__pyx_kp_s_invalid); + __Pyx_GOTREF(__pyx_v_self->pydev_func_name); + __Pyx_DECREF(__pyx_v_self->pydev_func_name); + __pyx_v_self->pydev_func_name = __pyx_kp_s_invalid; + + /* "_pydevd_bundle/pydevd_cython.pyx":90 + * self.pydev_next_line = -1 + * self.pydev_func_name = '.invalid.' # Must match the type in cython + * self.suspended_at_unhandled = False # <<<<<<<<<<<<<< + * self.trace_suspend_type = 'trace' # 'trace' or 'frame_eval' + * self.top_level_thread_tracer_no_back_frames = [] + */ + __pyx_v_self->suspended_at_unhandled = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":91 + * self.pydev_func_name = '.invalid.' # Must match the type in cython + * self.suspended_at_unhandled = False + * self.trace_suspend_type = 'trace' # 'trace' or 'frame_eval' # <<<<<<<<<<<<<< + * self.top_level_thread_tracer_no_back_frames = [] + * self.top_level_thread_tracer_unhandled = None + */ + __Pyx_INCREF(__pyx_n_s_trace); + __Pyx_GIVEREF(__pyx_n_s_trace); + __Pyx_GOTREF(__pyx_v_self->trace_suspend_type); + __Pyx_DECREF(__pyx_v_self->trace_suspend_type); + __pyx_v_self->trace_suspend_type = __pyx_n_s_trace; + + /* "_pydevd_bundle/pydevd_cython.pyx":92 + * self.suspended_at_unhandled = False + * self.trace_suspend_type = 'trace' # 'trace' or 'frame_eval' + * self.top_level_thread_tracer_no_back_frames = [] # <<<<<<<<<<<<<< + * self.top_level_thread_tracer_unhandled = None + * self.thread_tracer = None + */ + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 92, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v_self->top_level_thread_tracer_no_back_frames); + __Pyx_DECREF(__pyx_v_self->top_level_thread_tracer_no_back_frames); + __pyx_v_self->top_level_thread_tracer_no_back_frames = __pyx_t_1; + __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":93 + * self.trace_suspend_type = 'trace' # 'trace' or 'frame_eval' + * self.top_level_thread_tracer_no_back_frames = [] + * self.top_level_thread_tracer_unhandled = None # <<<<<<<<<<<<<< + * self.thread_tracer = None + * self.step_in_initial_location = None + */ + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->top_level_thread_tracer_unhandled); + __Pyx_DECREF(__pyx_v_self->top_level_thread_tracer_unhandled); + __pyx_v_self->top_level_thread_tracer_unhandled = Py_None; + + /* "_pydevd_bundle/pydevd_cython.pyx":94 + * self.top_level_thread_tracer_no_back_frames = [] + * self.top_level_thread_tracer_unhandled = None + * self.thread_tracer = None # <<<<<<<<<<<<<< + * self.step_in_initial_location = None + * self.pydev_smart_parent_offset = -1 + */ + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->thread_tracer); + __Pyx_DECREF(__pyx_v_self->thread_tracer); + __pyx_v_self->thread_tracer = Py_None; + + /* "_pydevd_bundle/pydevd_cython.pyx":95 + * self.top_level_thread_tracer_unhandled = None + * self.thread_tracer = None + * self.step_in_initial_location = None # <<<<<<<<<<<<<< + * self.pydev_smart_parent_offset = -1 + * self.pydev_smart_child_offset = -1 + */ + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->step_in_initial_location); + __Pyx_DECREF(__pyx_v_self->step_in_initial_location); + __pyx_v_self->step_in_initial_location = Py_None; + + /* "_pydevd_bundle/pydevd_cython.pyx":96 + * self.thread_tracer = None + * self.step_in_initial_location = None + * self.pydev_smart_parent_offset = -1 # <<<<<<<<<<<<<< + * self.pydev_smart_child_offset = -1 + * self.pydev_smart_step_into_variants = () + */ + __pyx_v_self->pydev_smart_parent_offset = -1; + + /* "_pydevd_bundle/pydevd_cython.pyx":97 + * self.step_in_initial_location = None + * self.pydev_smart_parent_offset = -1 + * self.pydev_smart_child_offset = -1 # <<<<<<<<<<<<<< + * self.pydev_smart_step_into_variants = () + * self.target_id_to_smart_step_into_variant = {} + */ + __pyx_v_self->pydev_smart_child_offset = -1; + + /* "_pydevd_bundle/pydevd_cython.pyx":98 + * self.pydev_smart_parent_offset = -1 + * self.pydev_smart_child_offset = -1 + * self.pydev_smart_step_into_variants = () # <<<<<<<<<<<<<< + * self.target_id_to_smart_step_into_variant = {} + * + */ + __Pyx_INCREF(__pyx_empty_tuple); + __Pyx_GIVEREF(__pyx_empty_tuple); + __Pyx_GOTREF(__pyx_v_self->pydev_smart_step_into_variants); + __Pyx_DECREF(__pyx_v_self->pydev_smart_step_into_variants); + __pyx_v_self->pydev_smart_step_into_variants = __pyx_empty_tuple; + + /* "_pydevd_bundle/pydevd_cython.pyx":99 + * self.pydev_smart_child_offset = -1 + * self.pydev_smart_step_into_variants = () + * self.target_id_to_smart_step_into_variant = {} # <<<<<<<<<<<<<< + * + * # Flag to indicate ipython use-case where each line will be executed as a call/line/return + */ + __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 99, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v_self->target_id_to_smart_step_into_variant); + __Pyx_DECREF(__pyx_v_self->target_id_to_smart_step_into_variant); + __pyx_v_self->target_id_to_smart_step_into_variant = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":111 + * # + * # See: https://github.com/microsoft/debugpy/issues/869#issuecomment-1132141003 + * self.pydev_use_scoped_step_frame = False # <<<<<<<<<<<<<< + * + * def get_topmost_frame(self, thread): + */ + __pyx_v_self->pydev_use_scoped_step_frame = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":67 + * # ENDIF + * + * def __init__(self): # <<<<<<<<<<<<<< + * self.pydev_state = STATE_RUN # STATE_RUN or STATE_SUSPEND + * self.pydev_step_stop = None + */ + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBAdditionalThreadInfo.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pyx":113 + * self.pydev_use_scoped_step_frame = False + * + * def get_topmost_frame(self, thread): # <<<<<<<<<<<<<< + * ''' + * Gets the topmost frame for the given thread. Note that it may be None + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_3get_topmost_frame(PyObject *__pyx_v_self, PyObject *__pyx_v_thread); /*proto*/ +static char __pyx_doc_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_2get_topmost_frame[] = "\n Gets the topmost frame for the given thread. Note that it may be None\n and callers should remove the reference to the frame as soon as possible\n to avoid disturbing user code.\n "; +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_3get_topmost_frame(PyObject *__pyx_v_self, PyObject *__pyx_v_thread) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("get_topmost_frame (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_2get_topmost_frame(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self), ((PyObject *)__pyx_v_thread)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_2get_topmost_frame(CYTHON_UNUSED struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self, PyObject *__pyx_v_thread) { + PyObject *__pyx_v_current_frames = NULL; + PyObject *__pyx_v_topmost_frame = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + int __pyx_t_5; + int __pyx_t_6; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + int __pyx_t_9; + PyObject *__pyx_t_10 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("get_topmost_frame", 0); + + /* "_pydevd_bundle/pydevd_cython.pyx":120 + * ''' + * # sys._current_frames(): dictionary with thread id -> topmost frame + * current_frames = _current_frames() # <<<<<<<<<<<<<< + * topmost_frame = current_frames.get(thread.ident) + * if topmost_frame is None: + */ + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_current_frames); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 120, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 120, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_current_frames = __pyx_t_1; + __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":121 + * # sys._current_frames(): dictionary with thread id -> topmost frame + * current_frames = _current_frames() + * topmost_frame = current_frames.get(thread.ident) # <<<<<<<<<<<<<< + * if topmost_frame is None: + * # Note: this is expected for dummy threads (so, getting the topmost frame should be + */ + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_current_frames, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 121, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_thread, __pyx_n_s_ident); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 121, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 121, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_topmost_frame = __pyx_t_1; + __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":122 + * current_frames = _current_frames() + * topmost_frame = current_frames.get(thread.ident) + * if topmost_frame is None: # <<<<<<<<<<<<<< + * # Note: this is expected for dummy threads (so, getting the topmost frame should be + * # treated as optional). + */ + __pyx_t_5 = (__pyx_v_topmost_frame == Py_None); + __pyx_t_6 = (__pyx_t_5 != 0); + if (__pyx_t_6) { + + /* "_pydevd_bundle/pydevd_cython.pyx":125 + * # Note: this is expected for dummy threads (so, getting the topmost frame should be + * # treated as optional). + * pydev_log.info( # <<<<<<<<<<<<<< + * 'Unable to get topmost frame for thread: %s, thread.ident: %s, id(thread): %s\nCurrent frames: %s.\n' + * 'GEVENT_SUPPORT: %s', + */ + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_pydev_log); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 125, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_info); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 125, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":129 + * 'GEVENT_SUPPORT: %s', + * thread, + * thread.ident, # <<<<<<<<<<<<<< + * id(thread), + * current_frames, + */ + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_thread, __pyx_n_s_ident); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 129, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + + /* "_pydevd_bundle/pydevd_cython.pyx":130 + * thread, + * thread.ident, + * id(thread), # <<<<<<<<<<<<<< + * current_frames, + * SUPPORT_GEVENT, + */ + __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, __pyx_v_thread); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 130, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + + /* "_pydevd_bundle/pydevd_cython.pyx":132 + * id(thread), + * current_frames, + * SUPPORT_GEVENT, # <<<<<<<<<<<<<< + * ) + * + */ + __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_SUPPORT_GEVENT); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 132, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_8 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[7] = {__pyx_t_8, __pyx_kp_s_Unable_to_get_topmost_frame_for, __pyx_v_thread, __pyx_t_2, __pyx_t_4, __pyx_v_current_frames, __pyx_t_7}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 6+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 125, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[7] = {__pyx_t_8, __pyx_kp_s_Unable_to_get_topmost_frame_for, __pyx_v_thread, __pyx_t_2, __pyx_t_4, __pyx_v_current_frames, __pyx_t_7}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 6+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 125, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } else + #endif + { + __pyx_t_10 = PyTuple_New(6+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 125, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_10); + if (__pyx_t_8) { + __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_8); __pyx_t_8 = NULL; + } + __Pyx_INCREF(__pyx_kp_s_Unable_to_get_topmost_frame_for); + __Pyx_GIVEREF(__pyx_kp_s_Unable_to_get_topmost_frame_for); + PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_9, __pyx_kp_s_Unable_to_get_topmost_frame_for); + __Pyx_INCREF(__pyx_v_thread); + __Pyx_GIVEREF(__pyx_v_thread); + PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_9, __pyx_v_thread); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_10, 2+__pyx_t_9, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_10, 3+__pyx_t_9, __pyx_t_4); + __Pyx_INCREF(__pyx_v_current_frames); + __Pyx_GIVEREF(__pyx_v_current_frames); + PyTuple_SET_ITEM(__pyx_t_10, 4+__pyx_t_9, __pyx_v_current_frames); + __Pyx_GIVEREF(__pyx_t_7); + PyTuple_SET_ITEM(__pyx_t_10, 5+__pyx_t_9, __pyx_t_7); + __pyx_t_2 = 0; + __pyx_t_4 = 0; + __pyx_t_7 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_10, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 125, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":122 + * current_frames = _current_frames() + * topmost_frame = current_frames.get(thread.ident) + * if topmost_frame is None: # <<<<<<<<<<<<<< + * # Note: this is expected for dummy threads (so, getting the topmost frame should be + * # treated as optional). + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":135 + * ) + * + * return topmost_frame # <<<<<<<<<<<<<< + * + * def __str__(self): + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_topmost_frame); + __pyx_r = __pyx_v_topmost_frame; + goto __pyx_L0; + + /* "_pydevd_bundle/pydevd_cython.pyx":113 + * self.pydev_use_scoped_step_frame = False + * + * def get_topmost_frame(self, thread): # <<<<<<<<<<<<<< + * ''' + * Gets the topmost frame for the given thread. Note that it may be None + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBAdditionalThreadInfo.get_topmost_frame", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_current_frames); + __Pyx_XDECREF(__pyx_v_topmost_frame); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pyx":137 + * return topmost_frame + * + * def __str__(self): # <<<<<<<<<<<<<< + * return 'State:%s Stop:%s Cmd: %s Kill:%s' % ( + * self.pydev_state, self.pydev_step_stop, self.pydev_step_cmd, self.pydev_notify_kill) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_5__str__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_5__str__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__str__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_4__str__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_4__str__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__str__", 0); + + /* "_pydevd_bundle/pydevd_cython.pyx":138 + * + * def __str__(self): + * return 'State:%s Stop:%s Cmd: %s Kill:%s' % ( # <<<<<<<<<<<<<< + * self.pydev_state, self.pydev_step_stop, self.pydev_step_cmd, self.pydev_notify_kill) + * + */ + __Pyx_XDECREF(__pyx_r); + + /* "_pydevd_bundle/pydevd_cython.pyx":139 + * def __str__(self): + * return 'State:%s Stop:%s Cmd: %s Kill:%s' % ( + * self.pydev_state, self.pydev_step_stop, self.pydev_step_cmd, self.pydev_notify_kill) # <<<<<<<<<<<<<< + * + * + */ + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->pydev_state); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 139, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_self->pydev_step_cmd); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 139, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_v_self->pydev_notify_kill); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 139, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyTuple_New(4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 139, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); + __Pyx_INCREF(__pyx_v_self->pydev_step_stop); + __Pyx_GIVEREF(__pyx_v_self->pydev_step_stop); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_self->pydev_step_stop); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_4, 3, __pyx_t_3); + __pyx_t_1 = 0; + __pyx_t_2 = 0; + __pyx_t_3 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":138 + * + * def __str__(self): + * return 'State:%s Stop:%s Cmd: %s Kill:%s' % ( # <<<<<<<<<<<<<< + * self.pydev_state, self.pydev_step_stop, self.pydev_step_cmd, self.pydev_notify_kill) + * + */ + __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_State_s_Stop_s_Cmd_s_Kill_s, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 138, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; + + /* "_pydevd_bundle/pydevd_cython.pyx":137 + * return topmost_frame + * + * def __str__(self): # <<<<<<<<<<<<<< + * return 'State:%s Stop:%s Cmd: %s Kill:%s' % ( + * self.pydev_state, self.pydev_step_stop, self.pydev_step_cmd, self.pydev_notify_kill) + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBAdditionalThreadInfo.__str__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pxd":2 + * cdef class PyDBAdditionalThreadInfo: + * cdef public int pydev_state # <<<<<<<<<<<<<< + * cdef public object pydev_step_stop # Actually, it's a frame or None + * cdef public int pydev_original_step_cmd + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_11pydev_state_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_11pydev_state_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_11pydev_state___get__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_11pydev_state___get__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->pydev_state); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBAdditionalThreadInfo.pydev_state.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_11pydev_state_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_11pydev_state_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_11pydev_state_2__set__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_11pydev_state_2__set__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__set__", 0); + __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 2, __pyx_L1_error) + __pyx_v_self->pydev_state = __pyx_t_1; + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBAdditionalThreadInfo.pydev_state.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pxd":3 + * cdef class PyDBAdditionalThreadInfo: + * cdef public int pydev_state + * cdef public object pydev_step_stop # Actually, it's a frame or None # <<<<<<<<<<<<<< + * cdef public int pydev_original_step_cmd + * cdef public int pydev_step_cmd + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_15pydev_step_stop_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_15pydev_step_stop_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_15pydev_step_stop___get__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_15pydev_step_stop___get__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->pydev_step_stop); + __pyx_r = __pyx_v_self->pydev_step_stop; + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_15pydev_step_stop_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_15pydev_step_stop_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_15pydev_step_stop_2__set__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_15pydev_step_stop_2__set__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__", 0); + __Pyx_INCREF(__pyx_v_value); + __Pyx_GIVEREF(__pyx_v_value); + __Pyx_GOTREF(__pyx_v_self->pydev_step_stop); + __Pyx_DECREF(__pyx_v_self->pydev_step_stop); + __pyx_v_self->pydev_step_stop = __pyx_v_value; + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_15pydev_step_stop_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_15pydev_step_stop_5__del__(PyObject *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_15pydev_step_stop_4__del__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_15pydev_step_stop_4__del__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__", 0); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->pydev_step_stop); + __Pyx_DECREF(__pyx_v_self->pydev_step_stop); + __pyx_v_self->pydev_step_stop = Py_None; + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pxd":4 + * cdef public int pydev_state + * cdef public object pydev_step_stop # Actually, it's a frame or None + * cdef public int pydev_original_step_cmd # <<<<<<<<<<<<<< + * cdef public int pydev_step_cmd + * cdef public bint pydev_notify_kill + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_23pydev_original_step_cmd_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_23pydev_original_step_cmd_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_23pydev_original_step_cmd___get__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_23pydev_original_step_cmd___get__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->pydev_original_step_cmd); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBAdditionalThreadInfo.pydev_original_step_cmd.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_23pydev_original_step_cmd_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_23pydev_original_step_cmd_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_23pydev_original_step_cmd_2__set__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_23pydev_original_step_cmd_2__set__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__set__", 0); + __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 4, __pyx_L1_error) + __pyx_v_self->pydev_original_step_cmd = __pyx_t_1; + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBAdditionalThreadInfo.pydev_original_step_cmd.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pxd":5 + * cdef public object pydev_step_stop # Actually, it's a frame or None + * cdef public int pydev_original_step_cmd + * cdef public int pydev_step_cmd # <<<<<<<<<<<<<< + * cdef public bint pydev_notify_kill + * cdef public object pydev_smart_step_stop # Actually, it's a frame or None + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_14pydev_step_cmd_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_14pydev_step_cmd_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_14pydev_step_cmd___get__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_14pydev_step_cmd___get__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->pydev_step_cmd); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBAdditionalThreadInfo.pydev_step_cmd.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_14pydev_step_cmd_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_14pydev_step_cmd_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_14pydev_step_cmd_2__set__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_14pydev_step_cmd_2__set__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__set__", 0); + __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 5, __pyx_L1_error) + __pyx_v_self->pydev_step_cmd = __pyx_t_1; + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBAdditionalThreadInfo.pydev_step_cmd.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pxd":6 + * cdef public int pydev_original_step_cmd + * cdef public int pydev_step_cmd + * cdef public bint pydev_notify_kill # <<<<<<<<<<<<<< + * cdef public object pydev_smart_step_stop # Actually, it's a frame or None + * cdef public bint pydev_django_resolve_frame + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_17pydev_notify_kill_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_17pydev_notify_kill_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_17pydev_notify_kill___get__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_17pydev_notify_kill___get__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->pydev_notify_kill); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBAdditionalThreadInfo.pydev_notify_kill.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_17pydev_notify_kill_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_17pydev_notify_kill_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_17pydev_notify_kill_2__set__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_17pydev_notify_kill_2__set__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__set__", 0); + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 6, __pyx_L1_error) + __pyx_v_self->pydev_notify_kill = __pyx_t_1; + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBAdditionalThreadInfo.pydev_notify_kill.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pxd":7 + * cdef public int pydev_step_cmd + * cdef public bint pydev_notify_kill + * cdef public object pydev_smart_step_stop # Actually, it's a frame or None # <<<<<<<<<<<<<< + * cdef public bint pydev_django_resolve_frame + * cdef public object pydev_call_from_jinja2 + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_21pydev_smart_step_stop_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_21pydev_smart_step_stop_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_21pydev_smart_step_stop___get__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_21pydev_smart_step_stop___get__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->pydev_smart_step_stop); + __pyx_r = __pyx_v_self->pydev_smart_step_stop; + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_21pydev_smart_step_stop_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_21pydev_smart_step_stop_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_21pydev_smart_step_stop_2__set__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_21pydev_smart_step_stop_2__set__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__", 0); + __Pyx_INCREF(__pyx_v_value); + __Pyx_GIVEREF(__pyx_v_value); + __Pyx_GOTREF(__pyx_v_self->pydev_smart_step_stop); + __Pyx_DECREF(__pyx_v_self->pydev_smart_step_stop); + __pyx_v_self->pydev_smart_step_stop = __pyx_v_value; + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_21pydev_smart_step_stop_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_21pydev_smart_step_stop_5__del__(PyObject *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_21pydev_smart_step_stop_4__del__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_21pydev_smart_step_stop_4__del__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__", 0); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->pydev_smart_step_stop); + __Pyx_DECREF(__pyx_v_self->pydev_smart_step_stop); + __pyx_v_self->pydev_smart_step_stop = Py_None; + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pxd":8 + * cdef public bint pydev_notify_kill + * cdef public object pydev_smart_step_stop # Actually, it's a frame or None + * cdef public bint pydev_django_resolve_frame # <<<<<<<<<<<<<< + * cdef public object pydev_call_from_jinja2 + * cdef public object pydev_call_inside_jinja2 + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_26pydev_django_resolve_frame_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_26pydev_django_resolve_frame_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_26pydev_django_resolve_frame___get__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_26pydev_django_resolve_frame___get__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->pydev_django_resolve_frame); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBAdditionalThreadInfo.pydev_django_resolve_frame.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_26pydev_django_resolve_frame_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_26pydev_django_resolve_frame_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_26pydev_django_resolve_frame_2__set__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_26pydev_django_resolve_frame_2__set__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__set__", 0); + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 8, __pyx_L1_error) + __pyx_v_self->pydev_django_resolve_frame = __pyx_t_1; + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBAdditionalThreadInfo.pydev_django_resolve_frame.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pxd":9 + * cdef public object pydev_smart_step_stop # Actually, it's a frame or None + * cdef public bint pydev_django_resolve_frame + * cdef public object pydev_call_from_jinja2 # <<<<<<<<<<<<<< + * cdef public object pydev_call_inside_jinja2 + * cdef public int is_tracing + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_22pydev_call_from_jinja2_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_22pydev_call_from_jinja2_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_22pydev_call_from_jinja2___get__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_22pydev_call_from_jinja2___get__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->pydev_call_from_jinja2); + __pyx_r = __pyx_v_self->pydev_call_from_jinja2; + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_22pydev_call_from_jinja2_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_22pydev_call_from_jinja2_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_22pydev_call_from_jinja2_2__set__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_22pydev_call_from_jinja2_2__set__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__", 0); + __Pyx_INCREF(__pyx_v_value); + __Pyx_GIVEREF(__pyx_v_value); + __Pyx_GOTREF(__pyx_v_self->pydev_call_from_jinja2); + __Pyx_DECREF(__pyx_v_self->pydev_call_from_jinja2); + __pyx_v_self->pydev_call_from_jinja2 = __pyx_v_value; + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_22pydev_call_from_jinja2_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_22pydev_call_from_jinja2_5__del__(PyObject *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_22pydev_call_from_jinja2_4__del__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_22pydev_call_from_jinja2_4__del__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__", 0); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->pydev_call_from_jinja2); + __Pyx_DECREF(__pyx_v_self->pydev_call_from_jinja2); + __pyx_v_self->pydev_call_from_jinja2 = Py_None; + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pxd":10 + * cdef public bint pydev_django_resolve_frame + * cdef public object pydev_call_from_jinja2 + * cdef public object pydev_call_inside_jinja2 # <<<<<<<<<<<<<< + * cdef public int is_tracing + * cdef public tuple conditional_breakpoint_exception + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_24pydev_call_inside_jinja2_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_24pydev_call_inside_jinja2_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_24pydev_call_inside_jinja2___get__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_24pydev_call_inside_jinja2___get__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->pydev_call_inside_jinja2); + __pyx_r = __pyx_v_self->pydev_call_inside_jinja2; + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_24pydev_call_inside_jinja2_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_24pydev_call_inside_jinja2_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_24pydev_call_inside_jinja2_2__set__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_24pydev_call_inside_jinja2_2__set__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__", 0); + __Pyx_INCREF(__pyx_v_value); + __Pyx_GIVEREF(__pyx_v_value); + __Pyx_GOTREF(__pyx_v_self->pydev_call_inside_jinja2); + __Pyx_DECREF(__pyx_v_self->pydev_call_inside_jinja2); + __pyx_v_self->pydev_call_inside_jinja2 = __pyx_v_value; + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_24pydev_call_inside_jinja2_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_24pydev_call_inside_jinja2_5__del__(PyObject *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_24pydev_call_inside_jinja2_4__del__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_24pydev_call_inside_jinja2_4__del__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__", 0); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->pydev_call_inside_jinja2); + __Pyx_DECREF(__pyx_v_self->pydev_call_inside_jinja2); + __pyx_v_self->pydev_call_inside_jinja2 = Py_None; + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pxd":11 + * cdef public object pydev_call_from_jinja2 + * cdef public object pydev_call_inside_jinja2 + * cdef public int is_tracing # <<<<<<<<<<<<<< + * cdef public tuple conditional_breakpoint_exception + * cdef public str pydev_message + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_10is_tracing_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_10is_tracing_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_10is_tracing___get__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_10is_tracing___get__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->is_tracing); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBAdditionalThreadInfo.is_tracing.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_10is_tracing_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_10is_tracing_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_10is_tracing_2__set__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_10is_tracing_2__set__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__set__", 0); + __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11, __pyx_L1_error) + __pyx_v_self->is_tracing = __pyx_t_1; + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBAdditionalThreadInfo.is_tracing.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pxd":12 + * cdef public object pydev_call_inside_jinja2 + * cdef public int is_tracing + * cdef public tuple conditional_breakpoint_exception # <<<<<<<<<<<<<< + * cdef public str pydev_message + * cdef public int suspend_type + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_32conditional_breakpoint_exception_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_32conditional_breakpoint_exception_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_32conditional_breakpoint_exception___get__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_32conditional_breakpoint_exception___get__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->conditional_breakpoint_exception); + __pyx_r = __pyx_v_self->conditional_breakpoint_exception; + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_32conditional_breakpoint_exception_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_32conditional_breakpoint_exception_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_32conditional_breakpoint_exception_2__set__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_32conditional_breakpoint_exception_2__set__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__set__", 0); + if (!(likely(PyTuple_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v_value)->tp_name), 0))) __PYX_ERR(1, 12, __pyx_L1_error) + __pyx_t_1 = __pyx_v_value; + __Pyx_INCREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v_self->conditional_breakpoint_exception); + __Pyx_DECREF(__pyx_v_self->conditional_breakpoint_exception); + __pyx_v_self->conditional_breakpoint_exception = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBAdditionalThreadInfo.conditional_breakpoint_exception.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_32conditional_breakpoint_exception_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_32conditional_breakpoint_exception_5__del__(PyObject *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_32conditional_breakpoint_exception_4__del__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_32conditional_breakpoint_exception_4__del__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__", 0); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->conditional_breakpoint_exception); + __Pyx_DECREF(__pyx_v_self->conditional_breakpoint_exception); + __pyx_v_self->conditional_breakpoint_exception = ((PyObject*)Py_None); + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pxd":13 + * cdef public int is_tracing + * cdef public tuple conditional_breakpoint_exception + * cdef public str pydev_message # <<<<<<<<<<<<<< + * cdef public int suspend_type + * cdef public int pydev_next_line + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_13pydev_message_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_13pydev_message_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_13pydev_message___get__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_13pydev_message___get__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->pydev_message); + __pyx_r = __pyx_v_self->pydev_message; + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_13pydev_message_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_13pydev_message_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_13pydev_message_2__set__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_13pydev_message_2__set__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__set__", 0); + if (!(likely(PyString_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_v_value)->tp_name), 0))) __PYX_ERR(1, 13, __pyx_L1_error) + __pyx_t_1 = __pyx_v_value; + __Pyx_INCREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v_self->pydev_message); + __Pyx_DECREF(__pyx_v_self->pydev_message); + __pyx_v_self->pydev_message = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBAdditionalThreadInfo.pydev_message.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_13pydev_message_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_13pydev_message_5__del__(PyObject *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_13pydev_message_4__del__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_13pydev_message_4__del__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__", 0); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->pydev_message); + __Pyx_DECREF(__pyx_v_self->pydev_message); + __pyx_v_self->pydev_message = ((PyObject*)Py_None); + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pxd":14 + * cdef public tuple conditional_breakpoint_exception + * cdef public str pydev_message + * cdef public int suspend_type # <<<<<<<<<<<<<< + * cdef public int pydev_next_line + * cdef public str pydev_func_name + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_12suspend_type_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_12suspend_type_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_12suspend_type___get__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_12suspend_type___get__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->suspend_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBAdditionalThreadInfo.suspend_type.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_12suspend_type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_12suspend_type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_12suspend_type_2__set__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_12suspend_type_2__set__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__set__", 0); + __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 14, __pyx_L1_error) + __pyx_v_self->suspend_type = __pyx_t_1; + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBAdditionalThreadInfo.suspend_type.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pxd":15 + * cdef public str pydev_message + * cdef public int suspend_type + * cdef public int pydev_next_line # <<<<<<<<<<<<<< + * cdef public str pydev_func_name + * cdef public bint suspended_at_unhandled + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_15pydev_next_line_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_15pydev_next_line_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_15pydev_next_line___get__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_15pydev_next_line___get__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->pydev_next_line); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBAdditionalThreadInfo.pydev_next_line.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_15pydev_next_line_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_15pydev_next_line_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_15pydev_next_line_2__set__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_15pydev_next_line_2__set__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__set__", 0); + __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 15, __pyx_L1_error) + __pyx_v_self->pydev_next_line = __pyx_t_1; + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBAdditionalThreadInfo.pydev_next_line.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pxd":16 + * cdef public int suspend_type + * cdef public int pydev_next_line + * cdef public str pydev_func_name # <<<<<<<<<<<<<< + * cdef public bint suspended_at_unhandled + * cdef public str trace_suspend_type + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_15pydev_func_name_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_15pydev_func_name_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_15pydev_func_name___get__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_15pydev_func_name___get__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->pydev_func_name); + __pyx_r = __pyx_v_self->pydev_func_name; + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_15pydev_func_name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_15pydev_func_name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_15pydev_func_name_2__set__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_15pydev_func_name_2__set__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__set__", 0); + if (!(likely(PyString_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_v_value)->tp_name), 0))) __PYX_ERR(1, 16, __pyx_L1_error) + __pyx_t_1 = __pyx_v_value; + __Pyx_INCREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v_self->pydev_func_name); + __Pyx_DECREF(__pyx_v_self->pydev_func_name); + __pyx_v_self->pydev_func_name = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBAdditionalThreadInfo.pydev_func_name.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_15pydev_func_name_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_15pydev_func_name_5__del__(PyObject *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_15pydev_func_name_4__del__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_15pydev_func_name_4__del__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__", 0); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->pydev_func_name); + __Pyx_DECREF(__pyx_v_self->pydev_func_name); + __pyx_v_self->pydev_func_name = ((PyObject*)Py_None); + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pxd":17 + * cdef public int pydev_next_line + * cdef public str pydev_func_name + * cdef public bint suspended_at_unhandled # <<<<<<<<<<<<<< + * cdef public str trace_suspend_type + * cdef public object top_level_thread_tracer_no_back_frames + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_22suspended_at_unhandled_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_22suspended_at_unhandled_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_22suspended_at_unhandled___get__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_22suspended_at_unhandled___get__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->suspended_at_unhandled); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBAdditionalThreadInfo.suspended_at_unhandled.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_22suspended_at_unhandled_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_22suspended_at_unhandled_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_22suspended_at_unhandled_2__set__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_22suspended_at_unhandled_2__set__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__set__", 0); + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 17, __pyx_L1_error) + __pyx_v_self->suspended_at_unhandled = __pyx_t_1; + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBAdditionalThreadInfo.suspended_at_unhandled.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pxd":18 + * cdef public str pydev_func_name + * cdef public bint suspended_at_unhandled + * cdef public str trace_suspend_type # <<<<<<<<<<<<<< + * cdef public object top_level_thread_tracer_no_back_frames + * cdef public object top_level_thread_tracer_unhandled + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_18trace_suspend_type_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_18trace_suspend_type_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_18trace_suspend_type___get__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_18trace_suspend_type___get__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->trace_suspend_type); + __pyx_r = __pyx_v_self->trace_suspend_type; + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_18trace_suspend_type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_18trace_suspend_type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_18trace_suspend_type_2__set__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_18trace_suspend_type_2__set__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__set__", 0); + if (!(likely(PyString_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_v_value)->tp_name), 0))) __PYX_ERR(1, 18, __pyx_L1_error) + __pyx_t_1 = __pyx_v_value; + __Pyx_INCREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v_self->trace_suspend_type); + __Pyx_DECREF(__pyx_v_self->trace_suspend_type); + __pyx_v_self->trace_suspend_type = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBAdditionalThreadInfo.trace_suspend_type.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_18trace_suspend_type_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_18trace_suspend_type_5__del__(PyObject *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_18trace_suspend_type_4__del__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_18trace_suspend_type_4__del__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__", 0); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->trace_suspend_type); + __Pyx_DECREF(__pyx_v_self->trace_suspend_type); + __pyx_v_self->trace_suspend_type = ((PyObject*)Py_None); + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pxd":19 + * cdef public bint suspended_at_unhandled + * cdef public str trace_suspend_type + * cdef public object top_level_thread_tracer_no_back_frames # <<<<<<<<<<<<<< + * cdef public object top_level_thread_tracer_unhandled + * cdef public object thread_tracer + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_38top_level_thread_tracer_no_back_frames_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_38top_level_thread_tracer_no_back_frames_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_38top_level_thread_tracer_no_back_frames___get__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_38top_level_thread_tracer_no_back_frames___get__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->top_level_thread_tracer_no_back_frames); + __pyx_r = __pyx_v_self->top_level_thread_tracer_no_back_frames; + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_38top_level_thread_tracer_no_back_frames_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_38top_level_thread_tracer_no_back_frames_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_38top_level_thread_tracer_no_back_frames_2__set__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_38top_level_thread_tracer_no_back_frames_2__set__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__", 0); + __Pyx_INCREF(__pyx_v_value); + __Pyx_GIVEREF(__pyx_v_value); + __Pyx_GOTREF(__pyx_v_self->top_level_thread_tracer_no_back_frames); + __Pyx_DECREF(__pyx_v_self->top_level_thread_tracer_no_back_frames); + __pyx_v_self->top_level_thread_tracer_no_back_frames = __pyx_v_value; + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_38top_level_thread_tracer_no_back_frames_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_38top_level_thread_tracer_no_back_frames_5__del__(PyObject *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_38top_level_thread_tracer_no_back_frames_4__del__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_38top_level_thread_tracer_no_back_frames_4__del__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__", 0); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->top_level_thread_tracer_no_back_frames); + __Pyx_DECREF(__pyx_v_self->top_level_thread_tracer_no_back_frames); + __pyx_v_self->top_level_thread_tracer_no_back_frames = Py_None; + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pxd":20 + * cdef public str trace_suspend_type + * cdef public object top_level_thread_tracer_no_back_frames + * cdef public object top_level_thread_tracer_unhandled # <<<<<<<<<<<<<< + * cdef public object thread_tracer + * cdef public object step_in_initial_location + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_33top_level_thread_tracer_unhandled_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_33top_level_thread_tracer_unhandled_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_33top_level_thread_tracer_unhandled___get__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_33top_level_thread_tracer_unhandled___get__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->top_level_thread_tracer_unhandled); + __pyx_r = __pyx_v_self->top_level_thread_tracer_unhandled; + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_33top_level_thread_tracer_unhandled_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_33top_level_thread_tracer_unhandled_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_33top_level_thread_tracer_unhandled_2__set__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_33top_level_thread_tracer_unhandled_2__set__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__", 0); + __Pyx_INCREF(__pyx_v_value); + __Pyx_GIVEREF(__pyx_v_value); + __Pyx_GOTREF(__pyx_v_self->top_level_thread_tracer_unhandled); + __Pyx_DECREF(__pyx_v_self->top_level_thread_tracer_unhandled); + __pyx_v_self->top_level_thread_tracer_unhandled = __pyx_v_value; + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_33top_level_thread_tracer_unhandled_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_33top_level_thread_tracer_unhandled_5__del__(PyObject *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_33top_level_thread_tracer_unhandled_4__del__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_33top_level_thread_tracer_unhandled_4__del__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__", 0); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->top_level_thread_tracer_unhandled); + __Pyx_DECREF(__pyx_v_self->top_level_thread_tracer_unhandled); + __pyx_v_self->top_level_thread_tracer_unhandled = Py_None; + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pxd":21 + * cdef public object top_level_thread_tracer_no_back_frames + * cdef public object top_level_thread_tracer_unhandled + * cdef public object thread_tracer # <<<<<<<<<<<<<< + * cdef public object step_in_initial_location + * cdef public int pydev_smart_parent_offset + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_13thread_tracer_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_13thread_tracer_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_13thread_tracer___get__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_13thread_tracer___get__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->thread_tracer); + __pyx_r = __pyx_v_self->thread_tracer; + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_13thread_tracer_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_13thread_tracer_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_13thread_tracer_2__set__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_13thread_tracer_2__set__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__", 0); + __Pyx_INCREF(__pyx_v_value); + __Pyx_GIVEREF(__pyx_v_value); + __Pyx_GOTREF(__pyx_v_self->thread_tracer); + __Pyx_DECREF(__pyx_v_self->thread_tracer); + __pyx_v_self->thread_tracer = __pyx_v_value; + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_13thread_tracer_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_13thread_tracer_5__del__(PyObject *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_13thread_tracer_4__del__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_13thread_tracer_4__del__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__", 0); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->thread_tracer); + __Pyx_DECREF(__pyx_v_self->thread_tracer); + __pyx_v_self->thread_tracer = Py_None; + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pxd":22 + * cdef public object top_level_thread_tracer_unhandled + * cdef public object thread_tracer + * cdef public object step_in_initial_location # <<<<<<<<<<<<<< + * cdef public int pydev_smart_parent_offset + * cdef public int pydev_smart_child_offset + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_24step_in_initial_location_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_24step_in_initial_location_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_24step_in_initial_location___get__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_24step_in_initial_location___get__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->step_in_initial_location); + __pyx_r = __pyx_v_self->step_in_initial_location; + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_24step_in_initial_location_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_24step_in_initial_location_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_24step_in_initial_location_2__set__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_24step_in_initial_location_2__set__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__", 0); + __Pyx_INCREF(__pyx_v_value); + __Pyx_GIVEREF(__pyx_v_value); + __Pyx_GOTREF(__pyx_v_self->step_in_initial_location); + __Pyx_DECREF(__pyx_v_self->step_in_initial_location); + __pyx_v_self->step_in_initial_location = __pyx_v_value; + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_24step_in_initial_location_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_24step_in_initial_location_5__del__(PyObject *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_24step_in_initial_location_4__del__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_24step_in_initial_location_4__del__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__", 0); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->step_in_initial_location); + __Pyx_DECREF(__pyx_v_self->step_in_initial_location); + __pyx_v_self->step_in_initial_location = Py_None; + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pxd":23 + * cdef public object thread_tracer + * cdef public object step_in_initial_location + * cdef public int pydev_smart_parent_offset # <<<<<<<<<<<<<< + * cdef public int pydev_smart_child_offset + * cdef public tuple pydev_smart_step_into_variants + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_25pydev_smart_parent_offset_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_25pydev_smart_parent_offset_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_25pydev_smart_parent_offset___get__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_25pydev_smart_parent_offset___get__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->pydev_smart_parent_offset); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 23, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBAdditionalThreadInfo.pydev_smart_parent_offset.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_25pydev_smart_parent_offset_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_25pydev_smart_parent_offset_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_25pydev_smart_parent_offset_2__set__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_25pydev_smart_parent_offset_2__set__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__set__", 0); + __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 23, __pyx_L1_error) + __pyx_v_self->pydev_smart_parent_offset = __pyx_t_1; + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBAdditionalThreadInfo.pydev_smart_parent_offset.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pxd":24 + * cdef public object step_in_initial_location + * cdef public int pydev_smart_parent_offset + * cdef public int pydev_smart_child_offset # <<<<<<<<<<<<<< + * cdef public tuple pydev_smart_step_into_variants + * cdef public dict target_id_to_smart_step_into_variant + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_24pydev_smart_child_offset_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_24pydev_smart_child_offset_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_24pydev_smart_child_offset___get__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_24pydev_smart_child_offset___get__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->pydev_smart_child_offset); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 24, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBAdditionalThreadInfo.pydev_smart_child_offset.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_24pydev_smart_child_offset_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_24pydev_smart_child_offset_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_24pydev_smart_child_offset_2__set__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_24pydev_smart_child_offset_2__set__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__set__", 0); + __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 24, __pyx_L1_error) + __pyx_v_self->pydev_smart_child_offset = __pyx_t_1; + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBAdditionalThreadInfo.pydev_smart_child_offset.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pxd":25 + * cdef public int pydev_smart_parent_offset + * cdef public int pydev_smart_child_offset + * cdef public tuple pydev_smart_step_into_variants # <<<<<<<<<<<<<< + * cdef public dict target_id_to_smart_step_into_variant + * cdef public bint pydev_use_scoped_step_frame + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_30pydev_smart_step_into_variants_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_30pydev_smart_step_into_variants_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_30pydev_smart_step_into_variants___get__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_30pydev_smart_step_into_variants___get__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->pydev_smart_step_into_variants); + __pyx_r = __pyx_v_self->pydev_smart_step_into_variants; + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_30pydev_smart_step_into_variants_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_30pydev_smart_step_into_variants_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_30pydev_smart_step_into_variants_2__set__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_30pydev_smart_step_into_variants_2__set__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__set__", 0); + if (!(likely(PyTuple_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v_value)->tp_name), 0))) __PYX_ERR(1, 25, __pyx_L1_error) + __pyx_t_1 = __pyx_v_value; + __Pyx_INCREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v_self->pydev_smart_step_into_variants); + __Pyx_DECREF(__pyx_v_self->pydev_smart_step_into_variants); + __pyx_v_self->pydev_smart_step_into_variants = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBAdditionalThreadInfo.pydev_smart_step_into_variants.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_30pydev_smart_step_into_variants_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_30pydev_smart_step_into_variants_5__del__(PyObject *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_30pydev_smart_step_into_variants_4__del__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_30pydev_smart_step_into_variants_4__del__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__", 0); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->pydev_smart_step_into_variants); + __Pyx_DECREF(__pyx_v_self->pydev_smart_step_into_variants); + __pyx_v_self->pydev_smart_step_into_variants = ((PyObject*)Py_None); + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pxd":26 + * cdef public int pydev_smart_child_offset + * cdef public tuple pydev_smart_step_into_variants + * cdef public dict target_id_to_smart_step_into_variant # <<<<<<<<<<<<<< + * cdef public bint pydev_use_scoped_step_frame + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_36target_id_to_smart_step_into_variant_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_36target_id_to_smart_step_into_variant_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_36target_id_to_smart_step_into_variant___get__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_36target_id_to_smart_step_into_variant___get__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->target_id_to_smart_step_into_variant); + __pyx_r = __pyx_v_self->target_id_to_smart_step_into_variant; + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_36target_id_to_smart_step_into_variant_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_36target_id_to_smart_step_into_variant_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_36target_id_to_smart_step_into_variant_2__set__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_36target_id_to_smart_step_into_variant_2__set__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__set__", 0); + if (!(likely(PyDict_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_value)->tp_name), 0))) __PYX_ERR(1, 26, __pyx_L1_error) + __pyx_t_1 = __pyx_v_value; + __Pyx_INCREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v_self->target_id_to_smart_step_into_variant); + __Pyx_DECREF(__pyx_v_self->target_id_to_smart_step_into_variant); + __pyx_v_self->target_id_to_smart_step_into_variant = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBAdditionalThreadInfo.target_id_to_smart_step_into_variant.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_36target_id_to_smart_step_into_variant_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_36target_id_to_smart_step_into_variant_5__del__(PyObject *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_36target_id_to_smart_step_into_variant_4__del__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_36target_id_to_smart_step_into_variant_4__del__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__", 0); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->target_id_to_smart_step_into_variant); + __Pyx_DECREF(__pyx_v_self->target_id_to_smart_step_into_variant); + __pyx_v_self->target_id_to_smart_step_into_variant = ((PyObject*)Py_None); + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pxd":27 + * cdef public tuple pydev_smart_step_into_variants + * cdef public dict target_id_to_smart_step_into_variant + * cdef public bint pydev_use_scoped_step_frame # <<<<<<<<<<<<<< + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_27pydev_use_scoped_step_frame_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_27pydev_use_scoped_step_frame_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_27pydev_use_scoped_step_frame___get__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_27pydev_use_scoped_step_frame___get__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->pydev_use_scoped_step_frame); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 27, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBAdditionalThreadInfo.pydev_use_scoped_step_frame.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_27pydev_use_scoped_step_frame_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_27pydev_use_scoped_step_frame_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_27pydev_use_scoped_step_frame_2__set__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_27pydev_use_scoped_step_frame_2__set__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__set__", 0); + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 27, __pyx_L1_error) + __pyx_v_self->pydev_use_scoped_step_frame = __pyx_t_1; + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBAdditionalThreadInfo.pydev_use_scoped_step_frame.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * cdef tuple state + * cdef object _dict + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_6__reduce_cython__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_6__reduce_cython__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self) { + PyObject *__pyx_v_state = 0; + PyObject *__pyx_v__dict = 0; + int __pyx_v_use_setstate; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + int __pyx_t_14; + int __pyx_t_15; + int __pyx_t_16; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__reduce_cython__", 0); + + /* "(tree fragment)":5 + * cdef object _dict + * cdef bint use_setstate + * state = (self.conditional_breakpoint_exception, self.is_tracing, self.pydev_call_from_jinja2, self.pydev_call_inside_jinja2, self.pydev_django_resolve_frame, self.pydev_func_name, self.pydev_message, self.pydev_next_line, self.pydev_notify_kill, self.pydev_original_step_cmd, self.pydev_smart_child_offset, self.pydev_smart_parent_offset, self.pydev_smart_step_into_variants, self.pydev_smart_step_stop, self.pydev_state, self.pydev_step_cmd, self.pydev_step_stop, self.pydev_use_scoped_step_frame, self.step_in_initial_location, self.suspend_type, self.suspended_at_unhandled, self.target_id_to_smart_step_into_variant, self.thread_tracer, self.top_level_thread_tracer_no_back_frames, self.top_level_thread_tracer_unhandled, self.trace_suspend_type) # <<<<<<<<<<<<<< + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: + */ + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->is_tracing); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_v_self->pydev_django_resolve_frame); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_self->pydev_next_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_v_self->pydev_notify_kill); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_self->pydev_original_step_cmd); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_self->pydev_smart_child_offset); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_7 = __Pyx_PyInt_From_int(__pyx_v_self->pydev_smart_parent_offset); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_8 = __Pyx_PyInt_From_int(__pyx_v_self->pydev_state); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_self->pydev_step_cmd); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_10 = __Pyx_PyBool_FromLong(__pyx_v_self->pydev_use_scoped_step_frame); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_11 = __Pyx_PyInt_From_int(__pyx_v_self->suspend_type); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_12 = __Pyx_PyBool_FromLong(__pyx_v_self->suspended_at_unhandled); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_13 = PyTuple_New(26); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_INCREF(__pyx_v_self->conditional_breakpoint_exception); + __Pyx_GIVEREF(__pyx_v_self->conditional_breakpoint_exception); + PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_v_self->conditional_breakpoint_exception); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_t_1); + __Pyx_INCREF(__pyx_v_self->pydev_call_from_jinja2); + __Pyx_GIVEREF(__pyx_v_self->pydev_call_from_jinja2); + PyTuple_SET_ITEM(__pyx_t_13, 2, __pyx_v_self->pydev_call_from_jinja2); + __Pyx_INCREF(__pyx_v_self->pydev_call_inside_jinja2); + __Pyx_GIVEREF(__pyx_v_self->pydev_call_inside_jinja2); + PyTuple_SET_ITEM(__pyx_t_13, 3, __pyx_v_self->pydev_call_inside_jinja2); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_13, 4, __pyx_t_2); + __Pyx_INCREF(__pyx_v_self->pydev_func_name); + __Pyx_GIVEREF(__pyx_v_self->pydev_func_name); + PyTuple_SET_ITEM(__pyx_t_13, 5, __pyx_v_self->pydev_func_name); + __Pyx_INCREF(__pyx_v_self->pydev_message); + __Pyx_GIVEREF(__pyx_v_self->pydev_message); + PyTuple_SET_ITEM(__pyx_t_13, 6, __pyx_v_self->pydev_message); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_13, 7, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_13, 8, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_13, 9, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_13, 10, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_7); + PyTuple_SET_ITEM(__pyx_t_13, 11, __pyx_t_7); + __Pyx_INCREF(__pyx_v_self->pydev_smart_step_into_variants); + __Pyx_GIVEREF(__pyx_v_self->pydev_smart_step_into_variants); + PyTuple_SET_ITEM(__pyx_t_13, 12, __pyx_v_self->pydev_smart_step_into_variants); + __Pyx_INCREF(__pyx_v_self->pydev_smart_step_stop); + __Pyx_GIVEREF(__pyx_v_self->pydev_smart_step_stop); + PyTuple_SET_ITEM(__pyx_t_13, 13, __pyx_v_self->pydev_smart_step_stop); + __Pyx_GIVEREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_13, 14, __pyx_t_8); + __Pyx_GIVEREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_13, 15, __pyx_t_9); + __Pyx_INCREF(__pyx_v_self->pydev_step_stop); + __Pyx_GIVEREF(__pyx_v_self->pydev_step_stop); + PyTuple_SET_ITEM(__pyx_t_13, 16, __pyx_v_self->pydev_step_stop); + __Pyx_GIVEREF(__pyx_t_10); + PyTuple_SET_ITEM(__pyx_t_13, 17, __pyx_t_10); + __Pyx_INCREF(__pyx_v_self->step_in_initial_location); + __Pyx_GIVEREF(__pyx_v_self->step_in_initial_location); + PyTuple_SET_ITEM(__pyx_t_13, 18, __pyx_v_self->step_in_initial_location); + __Pyx_GIVEREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_13, 19, __pyx_t_11); + __Pyx_GIVEREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_13, 20, __pyx_t_12); + __Pyx_INCREF(__pyx_v_self->target_id_to_smart_step_into_variant); + __Pyx_GIVEREF(__pyx_v_self->target_id_to_smart_step_into_variant); + PyTuple_SET_ITEM(__pyx_t_13, 21, __pyx_v_self->target_id_to_smart_step_into_variant); + __Pyx_INCREF(__pyx_v_self->thread_tracer); + __Pyx_GIVEREF(__pyx_v_self->thread_tracer); + PyTuple_SET_ITEM(__pyx_t_13, 22, __pyx_v_self->thread_tracer); + __Pyx_INCREF(__pyx_v_self->top_level_thread_tracer_no_back_frames); + __Pyx_GIVEREF(__pyx_v_self->top_level_thread_tracer_no_back_frames); + PyTuple_SET_ITEM(__pyx_t_13, 23, __pyx_v_self->top_level_thread_tracer_no_back_frames); + __Pyx_INCREF(__pyx_v_self->top_level_thread_tracer_unhandled); + __Pyx_GIVEREF(__pyx_v_self->top_level_thread_tracer_unhandled); + PyTuple_SET_ITEM(__pyx_t_13, 24, __pyx_v_self->top_level_thread_tracer_unhandled); + __Pyx_INCREF(__pyx_v_self->trace_suspend_type); + __Pyx_GIVEREF(__pyx_v_self->trace_suspend_type); + PyTuple_SET_ITEM(__pyx_t_13, 25, __pyx_v_self->trace_suspend_type); + __pyx_t_1 = 0; + __pyx_t_2 = 0; + __pyx_t_3 = 0; + __pyx_t_4 = 0; + __pyx_t_5 = 0; + __pyx_t_6 = 0; + __pyx_t_7 = 0; + __pyx_t_8 = 0; + __pyx_t_9 = 0; + __pyx_t_10 = 0; + __pyx_t_11 = 0; + __pyx_t_12 = 0; + __pyx_v_state = ((PyObject*)__pyx_t_13); + __pyx_t_13 = 0; + + /* "(tree fragment)":6 + * cdef bint use_setstate + * state = (self.conditional_breakpoint_exception, self.is_tracing, self.pydev_call_from_jinja2, self.pydev_call_inside_jinja2, self.pydev_django_resolve_frame, self.pydev_func_name, self.pydev_message, self.pydev_next_line, self.pydev_notify_kill, self.pydev_original_step_cmd, self.pydev_smart_child_offset, self.pydev_smart_parent_offset, self.pydev_smart_step_into_variants, self.pydev_smart_step_stop, self.pydev_state, self.pydev_step_cmd, self.pydev_step_stop, self.pydev_use_scoped_step_frame, self.step_in_initial_location, self.suspend_type, self.suspended_at_unhandled, self.target_id_to_smart_step_into_variant, self.thread_tracer, self.top_level_thread_tracer_no_back_frames, self.top_level_thread_tracer_unhandled, self.trace_suspend_type) + * _dict = getattr(self, '__dict__', None) # <<<<<<<<<<<<<< + * if _dict is not None: + * state += (_dict,) + */ + __pyx_t_13 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_13); + __pyx_v__dict = __pyx_t_13; + __pyx_t_13 = 0; + + /* "(tree fragment)":7 + * state = (self.conditional_breakpoint_exception, self.is_tracing, self.pydev_call_from_jinja2, self.pydev_call_inside_jinja2, self.pydev_django_resolve_frame, self.pydev_func_name, self.pydev_message, self.pydev_next_line, self.pydev_notify_kill, self.pydev_original_step_cmd, self.pydev_smart_child_offset, self.pydev_smart_parent_offset, self.pydev_smart_step_into_variants, self.pydev_smart_step_stop, self.pydev_state, self.pydev_step_cmd, self.pydev_step_stop, self.pydev_use_scoped_step_frame, self.step_in_initial_location, self.suspend_type, self.suspended_at_unhandled, self.target_id_to_smart_step_into_variant, self.thread_tracer, self.top_level_thread_tracer_no_back_frames, self.top_level_thread_tracer_unhandled, self.trace_suspend_type) + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: # <<<<<<<<<<<<<< + * state += (_dict,) + * use_setstate = True + */ + __pyx_t_14 = (__pyx_v__dict != Py_None); + __pyx_t_15 = (__pyx_t_14 != 0); + if (__pyx_t_15) { + + /* "(tree fragment)":8 + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: + * state += (_dict,) # <<<<<<<<<<<<<< + * use_setstate = True + * else: + */ + __pyx_t_13 = PyTuple_New(1); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 8, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_INCREF(__pyx_v__dict); + __Pyx_GIVEREF(__pyx_v__dict); + PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_v__dict); + __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_13); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 8, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_12)); + __pyx_t_12 = 0; + + /* "(tree fragment)":9 + * if _dict is not None: + * state += (_dict,) + * use_setstate = True # <<<<<<<<<<<<<< + * else: + * use_setstate = self.conditional_breakpoint_exception is not None or self.pydev_call_from_jinja2 is not None or self.pydev_call_inside_jinja2 is not None or self.pydev_func_name is not None or self.pydev_message is not None or self.pydev_smart_step_into_variants is not None or self.pydev_smart_step_stop is not None or self.pydev_step_stop is not None or self.step_in_initial_location is not None or self.target_id_to_smart_step_into_variant is not None or self.thread_tracer is not None or self.top_level_thread_tracer_no_back_frames is not None or self.top_level_thread_tracer_unhandled is not None or self.trace_suspend_type is not None + */ + __pyx_v_use_setstate = 1; + + /* "(tree fragment)":7 + * state = (self.conditional_breakpoint_exception, self.is_tracing, self.pydev_call_from_jinja2, self.pydev_call_inside_jinja2, self.pydev_django_resolve_frame, self.pydev_func_name, self.pydev_message, self.pydev_next_line, self.pydev_notify_kill, self.pydev_original_step_cmd, self.pydev_smart_child_offset, self.pydev_smart_parent_offset, self.pydev_smart_step_into_variants, self.pydev_smart_step_stop, self.pydev_state, self.pydev_step_cmd, self.pydev_step_stop, self.pydev_use_scoped_step_frame, self.step_in_initial_location, self.suspend_type, self.suspended_at_unhandled, self.target_id_to_smart_step_into_variant, self.thread_tracer, self.top_level_thread_tracer_no_back_frames, self.top_level_thread_tracer_unhandled, self.trace_suspend_type) + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: # <<<<<<<<<<<<<< + * state += (_dict,) + * use_setstate = True + */ + goto __pyx_L3; + } + + /* "(tree fragment)":11 + * use_setstate = True + * else: + * use_setstate = self.conditional_breakpoint_exception is not None or self.pydev_call_from_jinja2 is not None or self.pydev_call_inside_jinja2 is not None or self.pydev_func_name is not None or self.pydev_message is not None or self.pydev_smart_step_into_variants is not None or self.pydev_smart_step_stop is not None or self.pydev_step_stop is not None or self.step_in_initial_location is not None or self.target_id_to_smart_step_into_variant is not None or self.thread_tracer is not None or self.top_level_thread_tracer_no_back_frames is not None or self.top_level_thread_tracer_unhandled is not None or self.trace_suspend_type is not None # <<<<<<<<<<<<<< + * if use_setstate: + * return __pyx_unpickle_PyDBAdditionalThreadInfo, (type(self), 0x75b3b02, None), state + */ + /*else*/ { + __pyx_t_14 = (__pyx_v_self->conditional_breakpoint_exception != ((PyObject*)Py_None)); + __pyx_t_16 = (__pyx_t_14 != 0); + if (!__pyx_t_16) { + } else { + __pyx_t_15 = __pyx_t_16; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_16 = (__pyx_v_self->pydev_call_from_jinja2 != Py_None); + __pyx_t_14 = (__pyx_t_16 != 0); + if (!__pyx_t_14) { + } else { + __pyx_t_15 = __pyx_t_14; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_14 = (__pyx_v_self->pydev_call_inside_jinja2 != Py_None); + __pyx_t_16 = (__pyx_t_14 != 0); + if (!__pyx_t_16) { + } else { + __pyx_t_15 = __pyx_t_16; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_16 = (__pyx_v_self->pydev_func_name != ((PyObject*)Py_None)); + __pyx_t_14 = (__pyx_t_16 != 0); + if (!__pyx_t_14) { + } else { + __pyx_t_15 = __pyx_t_14; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_14 = (__pyx_v_self->pydev_message != ((PyObject*)Py_None)); + __pyx_t_16 = (__pyx_t_14 != 0); + if (!__pyx_t_16) { + } else { + __pyx_t_15 = __pyx_t_16; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_16 = (__pyx_v_self->pydev_smart_step_into_variants != ((PyObject*)Py_None)); + __pyx_t_14 = (__pyx_t_16 != 0); + if (!__pyx_t_14) { + } else { + __pyx_t_15 = __pyx_t_14; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_14 = (__pyx_v_self->pydev_smart_step_stop != Py_None); + __pyx_t_16 = (__pyx_t_14 != 0); + if (!__pyx_t_16) { + } else { + __pyx_t_15 = __pyx_t_16; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_16 = (__pyx_v_self->pydev_step_stop != Py_None); + __pyx_t_14 = (__pyx_t_16 != 0); + if (!__pyx_t_14) { + } else { + __pyx_t_15 = __pyx_t_14; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_14 = (__pyx_v_self->step_in_initial_location != Py_None); + __pyx_t_16 = (__pyx_t_14 != 0); + if (!__pyx_t_16) { + } else { + __pyx_t_15 = __pyx_t_16; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_16 = (__pyx_v_self->target_id_to_smart_step_into_variant != ((PyObject*)Py_None)); + __pyx_t_14 = (__pyx_t_16 != 0); + if (!__pyx_t_14) { + } else { + __pyx_t_15 = __pyx_t_14; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_14 = (__pyx_v_self->thread_tracer != Py_None); + __pyx_t_16 = (__pyx_t_14 != 0); + if (!__pyx_t_16) { + } else { + __pyx_t_15 = __pyx_t_16; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_16 = (__pyx_v_self->top_level_thread_tracer_no_back_frames != Py_None); + __pyx_t_14 = (__pyx_t_16 != 0); + if (!__pyx_t_14) { + } else { + __pyx_t_15 = __pyx_t_14; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_14 = (__pyx_v_self->top_level_thread_tracer_unhandled != Py_None); + __pyx_t_16 = (__pyx_t_14 != 0); + if (!__pyx_t_16) { + } else { + __pyx_t_15 = __pyx_t_16; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_16 = (__pyx_v_self->trace_suspend_type != ((PyObject*)Py_None)); + __pyx_t_14 = (__pyx_t_16 != 0); + __pyx_t_15 = __pyx_t_14; + __pyx_L4_bool_binop_done:; + __pyx_v_use_setstate = __pyx_t_15; + } + __pyx_L3:; + + /* "(tree fragment)":12 + * else: + * use_setstate = self.conditional_breakpoint_exception is not None or self.pydev_call_from_jinja2 is not None or self.pydev_call_inside_jinja2 is not None or self.pydev_func_name is not None or self.pydev_message is not None or self.pydev_smart_step_into_variants is not None or self.pydev_smart_step_stop is not None or self.pydev_step_stop is not None or self.step_in_initial_location is not None or self.target_id_to_smart_step_into_variant is not None or self.thread_tracer is not None or self.top_level_thread_tracer_no_back_frames is not None or self.top_level_thread_tracer_unhandled is not None or self.trace_suspend_type is not None + * if use_setstate: # <<<<<<<<<<<<<< + * return __pyx_unpickle_PyDBAdditionalThreadInfo, (type(self), 0x75b3b02, None), state + * else: + */ + __pyx_t_15 = (__pyx_v_use_setstate != 0); + if (__pyx_t_15) { + + /* "(tree fragment)":13 + * use_setstate = self.conditional_breakpoint_exception is not None or self.pydev_call_from_jinja2 is not None or self.pydev_call_inside_jinja2 is not None or self.pydev_func_name is not None or self.pydev_message is not None or self.pydev_smart_step_into_variants is not None or self.pydev_smart_step_stop is not None or self.pydev_step_stop is not None or self.step_in_initial_location is not None or self.target_id_to_smart_step_into_variant is not None or self.thread_tracer is not None or self.top_level_thread_tracer_no_back_frames is not None or self.top_level_thread_tracer_unhandled is not None or self.trace_suspend_type is not None + * if use_setstate: + * return __pyx_unpickle_PyDBAdditionalThreadInfo, (type(self), 0x75b3b02, None), state # <<<<<<<<<<<<<< + * else: + * return __pyx_unpickle_PyDBAdditionalThreadInfo, (type(self), 0x75b3b02, state) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_pyx_unpickle_PyDBAdditionalThr); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_13 = PyTuple_New(3); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + PyTuple_SET_ITEM(__pyx_t_13, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_INCREF(__pyx_int_123419394); + __Pyx_GIVEREF(__pyx_int_123419394); + PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_int_123419394); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_13, 2, Py_None); + __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_GIVEREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_12); + __Pyx_GIVEREF(__pyx_t_13); + PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_13); + __Pyx_INCREF(__pyx_v_state); + __Pyx_GIVEREF(__pyx_v_state); + PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_v_state); + __pyx_t_12 = 0; + __pyx_t_13 = 0; + __pyx_r = __pyx_t_11; + __pyx_t_11 = 0; + goto __pyx_L0; + + /* "(tree fragment)":12 + * else: + * use_setstate = self.conditional_breakpoint_exception is not None or self.pydev_call_from_jinja2 is not None or self.pydev_call_inside_jinja2 is not None or self.pydev_func_name is not None or self.pydev_message is not None or self.pydev_smart_step_into_variants is not None or self.pydev_smart_step_stop is not None or self.pydev_step_stop is not None or self.step_in_initial_location is not None or self.target_id_to_smart_step_into_variant is not None or self.thread_tracer is not None or self.top_level_thread_tracer_no_back_frames is not None or self.top_level_thread_tracer_unhandled is not None or self.trace_suspend_type is not None + * if use_setstate: # <<<<<<<<<<<<<< + * return __pyx_unpickle_PyDBAdditionalThreadInfo, (type(self), 0x75b3b02, None), state + * else: + */ + } + + /* "(tree fragment)":15 + * return __pyx_unpickle_PyDBAdditionalThreadInfo, (type(self), 0x75b3b02, None), state + * else: + * return __pyx_unpickle_PyDBAdditionalThreadInfo, (type(self), 0x75b3b02, state) # <<<<<<<<<<<<<< + * def __setstate_cython__(self, __pyx_state): + * __pyx_unpickle_PyDBAdditionalThreadInfo__set_state(self, __pyx_state) + */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_pyx_unpickle_PyDBAdditionalThr); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_13 = PyTuple_New(3); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + PyTuple_SET_ITEM(__pyx_t_13, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_INCREF(__pyx_int_123419394); + __Pyx_GIVEREF(__pyx_int_123419394); + PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_int_123419394); + __Pyx_INCREF(__pyx_v_state); + __Pyx_GIVEREF(__pyx_v_state); + PyTuple_SET_ITEM(__pyx_t_13, 2, __pyx_v_state); + __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_12); + __Pyx_GIVEREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); + __Pyx_GIVEREF(__pyx_t_13); + PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_t_13); + __pyx_t_11 = 0; + __pyx_t_13 = 0; + __pyx_r = __pyx_t_12; + __pyx_t_12 = 0; + goto __pyx_L0; + } + + /* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * cdef tuple state + * cdef object _dict + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBAdditionalThreadInfo.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_state); + __Pyx_XDECREF(__pyx_v__dict); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":16 + * else: + * return __pyx_unpickle_PyDBAdditionalThreadInfo, (type(self), 0x75b3b02, state) + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * __pyx_unpickle_PyDBAdditionalThreadInfo__set_state(self, __pyx_state) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_8__setstate_cython__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_8__setstate_cython__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_self, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__setstate_cython__", 0); + + /* "(tree fragment)":17 + * return __pyx_unpickle_PyDBAdditionalThreadInfo, (type(self), 0x75b3b02, state) + * def __setstate_cython__(self, __pyx_state): + * __pyx_unpickle_PyDBAdditionalThreadInfo__set_state(self, __pyx_state) # <<<<<<<<<<<<<< + */ + if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(2, 17, __pyx_L1_error) + __pyx_t_1 = __pyx_f_14_pydevd_bundle_13pydevd_cython___pyx_unpickle_PyDBAdditionalThreadInfo__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 17, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "(tree fragment)":16 + * else: + * return __pyx_unpickle_PyDBAdditionalThreadInfo, (type(self), 0x75b3b02, state) + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * __pyx_unpickle_PyDBAdditionalThreadInfo__set_state(self, __pyx_state) + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBAdditionalThreadInfo.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pyx":145 + * + * + * def set_additional_thread_info(thread): # <<<<<<<<<<<<<< + * try: + * additional_info = thread.additional_info + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_1set_additional_thread_info(PyObject *__pyx_self, PyObject *__pyx_v_thread); /*proto*/ +static PyMethodDef __pyx_mdef_14_pydevd_bundle_13pydevd_cython_1set_additional_thread_info = {"set_additional_thread_info", (PyCFunction)__pyx_pw_14_pydevd_bundle_13pydevd_cython_1set_additional_thread_info, METH_O, 0}; +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_1set_additional_thread_info(PyObject *__pyx_self, PyObject *__pyx_v_thread) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("set_additional_thread_info (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_set_additional_thread_info(__pyx_self, ((PyObject *)__pyx_v_thread)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_set_additional_thread_info(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_thread) { + PyObject *__pyx_v_additional_info = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + int __pyx_t_5; + int __pyx_t_6; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + PyObject *__pyx_t_15 = NULL; + PyObject *__pyx_t_16 = NULL; + PyObject *__pyx_t_17 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("set_additional_thread_info", 0); + + /* "_pydevd_bundle/pydevd_cython.pyx":146 + * + * def set_additional_thread_info(thread): + * try: # <<<<<<<<<<<<<< + * additional_info = thread.additional_info + * if additional_info is None: + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_t_3); + /*try:*/ { + + /* "_pydevd_bundle/pydevd_cython.pyx":147 + * def set_additional_thread_info(thread): + * try: + * additional_info = thread.additional_info # <<<<<<<<<<<<<< + * if additional_info is None: + * raise AttributeError() + */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_thread, __pyx_n_s_additional_info); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 147, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_v_additional_info = __pyx_t_4; + __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":148 + * try: + * additional_info = thread.additional_info + * if additional_info is None: # <<<<<<<<<<<<<< + * raise AttributeError() + * except: + */ + __pyx_t_5 = (__pyx_v_additional_info == Py_None); + __pyx_t_6 = (__pyx_t_5 != 0); + if (unlikely(__pyx_t_6)) { + + /* "_pydevd_bundle/pydevd_cython.pyx":149 + * additional_info = thread.additional_info + * if additional_info is None: + * raise AttributeError() # <<<<<<<<<<<<<< + * except: + * with _set_additional_thread_info_lock: + */ + __pyx_t_4 = __Pyx_PyObject_CallNoArg(__pyx_builtin_AttributeError); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 149, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_Raise(__pyx_t_4, 0, 0, 0); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __PYX_ERR(0, 149, __pyx_L3_error) + + /* "_pydevd_bundle/pydevd_cython.pyx":148 + * try: + * additional_info = thread.additional_info + * if additional_info is None: # <<<<<<<<<<<<<< + * raise AttributeError() + * except: + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":146 + * + * def set_additional_thread_info(thread): + * try: # <<<<<<<<<<<<<< + * additional_info = thread.additional_info + * if additional_info is None: + */ + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L8_try_end; + __pyx_L3_error:; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":150 + * if additional_info is None: + * raise AttributeError() + * except: # <<<<<<<<<<<<<< + * with _set_additional_thread_info_lock: + * # If it's not there, set it within a lock to avoid any racing + */ + /*except:*/ { + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.set_additional_thread_info", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_7, &__pyx_t_8) < 0) __PYX_ERR(0, 150, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GOTREF(__pyx_t_7); + __Pyx_GOTREF(__pyx_t_8); + + /* "_pydevd_bundle/pydevd_cython.pyx":151 + * raise AttributeError() + * except: + * with _set_additional_thread_info_lock: # <<<<<<<<<<<<<< + * # If it's not there, set it within a lock to avoid any racing + * # conditions. + */ + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_set_additional_thread_info_lock); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 151, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_9, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 151, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_12 = __Pyx_PyObject_LookupSpecial(__pyx_t_9, __pyx_n_s_enter); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 151, __pyx_L12_error) + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_13 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_12))) { + __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_12); + if (likely(__pyx_t_13)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); + __Pyx_INCREF(__pyx_t_13); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_12, function); + } + } + __pyx_t_11 = (__pyx_t_13) ? __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_13) : __Pyx_PyObject_CallNoArg(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 151, __pyx_L12_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_14, &__pyx_t_15, &__pyx_t_16); + __Pyx_XGOTREF(__pyx_t_14); + __Pyx_XGOTREF(__pyx_t_15); + __Pyx_XGOTREF(__pyx_t_16); + /*try:*/ { + + /* "_pydevd_bundle/pydevd_cython.pyx":154 + * # If it's not there, set it within a lock to avoid any racing + * # conditions. + * additional_info = getattr(thread, 'additional_info', None) # <<<<<<<<<<<<<< + * if additional_info is None: + * additional_info = PyDBAdditionalThreadInfo() + */ + __pyx_t_9 = __Pyx_GetAttr3(__pyx_v_thread, __pyx_n_s_additional_info, Py_None); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 154, __pyx_L18_error) + __Pyx_GOTREF(__pyx_t_9); + __Pyx_XDECREF_SET(__pyx_v_additional_info, __pyx_t_9); + __pyx_t_9 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":155 + * # conditions. + * additional_info = getattr(thread, 'additional_info', None) + * if additional_info is None: # <<<<<<<<<<<<<< + * additional_info = PyDBAdditionalThreadInfo() + * thread.additional_info = additional_info + */ + __pyx_t_6 = (__pyx_v_additional_info == Py_None); + __pyx_t_5 = (__pyx_t_6 != 0); + if (__pyx_t_5) { + + /* "_pydevd_bundle/pydevd_cython.pyx":156 + * additional_info = getattr(thread, 'additional_info', None) + * if additional_info is None: + * additional_info = PyDBAdditionalThreadInfo() # <<<<<<<<<<<<<< + * thread.additional_info = additional_info + * + */ + __pyx_t_9 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 156, __pyx_L18_error) + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF_SET(__pyx_v_additional_info, __pyx_t_9); + __pyx_t_9 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":155 + * # conditions. + * additional_info = getattr(thread, 'additional_info', None) + * if additional_info is None: # <<<<<<<<<<<<<< + * additional_info = PyDBAdditionalThreadInfo() + * thread.additional_info = additional_info + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":157 + * if additional_info is None: + * additional_info = PyDBAdditionalThreadInfo() + * thread.additional_info = additional_info # <<<<<<<<<<<<<< + * + * return additional_info + */ + if (__Pyx_PyObject_SetAttrStr(__pyx_v_thread, __pyx_n_s_additional_info, __pyx_v_additional_info) < 0) __PYX_ERR(0, 157, __pyx_L18_error) + + /* "_pydevd_bundle/pydevd_cython.pyx":151 + * raise AttributeError() + * except: + * with _set_additional_thread_info_lock: # <<<<<<<<<<<<<< + * # If it's not there, set it within a lock to avoid any racing + * # conditions. + */ + } + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; + goto __pyx_L25_try_end; + __pyx_L18_error:; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + /*except:*/ { + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.set_additional_thread_info", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_9, &__pyx_t_11, &__pyx_t_12) < 0) __PYX_ERR(0, 151, __pyx_L20_except_error) + __Pyx_GOTREF(__pyx_t_9); + __Pyx_GOTREF(__pyx_t_11); + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_13 = PyTuple_Pack(3, __pyx_t_9, __pyx_t_11, __pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 151, __pyx_L20_except_error) + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_13, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 151, __pyx_L20_except_error) + __Pyx_GOTREF(__pyx_t_17); + __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_17); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + if (__pyx_t_5 < 0) __PYX_ERR(0, 151, __pyx_L20_except_error) + __pyx_t_6 = ((!(__pyx_t_5 != 0)) != 0); + if (__pyx_t_6) { + __Pyx_GIVEREF(__pyx_t_9); + __Pyx_GIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_ErrRestoreWithState(__pyx_t_9, __pyx_t_11, __pyx_t_12); + __pyx_t_9 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; + __PYX_ERR(0, 151, __pyx_L20_except_error) + } + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + goto __pyx_L19_exception_handled; + } + __pyx_L20_except_error:; + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_XGIVEREF(__pyx_t_15); + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_ExceptionReset(__pyx_t_14, __pyx_t_15, __pyx_t_16); + goto __pyx_L5_except_error; + __pyx_L19_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_XGIVEREF(__pyx_t_15); + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_ExceptionReset(__pyx_t_14, __pyx_t_15, __pyx_t_16); + __pyx_L25_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_10) { + __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__2, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 151, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_16); + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + } + goto __pyx_L17; + } + __pyx_L17:; + } + goto __pyx_L30; + __pyx_L12_error:; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L5_except_error; + __pyx_L30:; + } + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L4_exception_handled; + } + __pyx_L5_except_error:; + + /* "_pydevd_bundle/pydevd_cython.pyx":146 + * + * def set_additional_thread_info(thread): + * try: # <<<<<<<<<<<<<< + * additional_info = thread.additional_info + * if additional_info is None: + */ + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + goto __pyx_L1_error; + __pyx_L4_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + __pyx_L8_try_end:; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":159 + * thread.additional_info = additional_info + * + * return additional_info # <<<<<<<<<<<<<< + * import linecache + * import os.path + */ + __Pyx_XDECREF(__pyx_r); + if (unlikely(!__pyx_v_additional_info)) { __Pyx_RaiseUnboundLocalError("additional_info"); __PYX_ERR(0, 159, __pyx_L1_error) } + __Pyx_INCREF(__pyx_v_additional_info); + __pyx_r = __pyx_v_additional_info; + goto __pyx_L0; + + /* "_pydevd_bundle/pydevd_cython.pyx":145 + * + * + * def set_additional_thread_info(thread): # <<<<<<<<<<<<<< + * try: + * additional_info = thread.additional_info + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.set_additional_thread_info", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_additional_info); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pyx":176 + * except ImportError: + * + * def get_smart_step_into_variant_from_frame_offset(*args, **kwargs): # <<<<<<<<<<<<<< + * return None + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_3get_smart_step_into_variant_from_frame_offset(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_14_pydevd_bundle_13pydevd_cython_3get_smart_step_into_variant_from_frame_offset = {"get_smart_step_into_variant_from_frame_offset", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_3get_smart_step_into_variant_from_frame_offset, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_3get_smart_step_into_variant_from_frame_offset(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + CYTHON_UNUSED PyObject *__pyx_v_args = 0; + CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("get_smart_step_into_variant_from_frame_offset (wrapper)", 0); + if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "get_smart_step_into_variant_from_frame_offset", 1))) return NULL; + __Pyx_INCREF(__pyx_args); + __pyx_v_args = __pyx_args; + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_2get_smart_step_into_variant_from_frame_offset(__pyx_self, __pyx_v_args, __pyx_v_kwargs); + + /* function exit code */ + __Pyx_XDECREF(__pyx_v_args); + __Pyx_XDECREF(__pyx_v_kwargs); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_2get_smart_step_into_variant_from_frame_offset(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("get_smart_step_into_variant_from_frame_offset", 0); + + /* "_pydevd_bundle/pydevd_cython.pyx":177 + * + * def get_smart_step_into_variant_from_frame_offset(*args, **kwargs): + * return None # <<<<<<<<<<<<<< + * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + */ + __Pyx_XDECREF(__pyx_r); + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + + /* "_pydevd_bundle/pydevd_cython.pyx":176 + * except ImportError: + * + * def get_smart_step_into_variant_from_frame_offset(*args, **kwargs): # <<<<<<<<<<<<<< + * return None + * + */ + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pyx":212 + * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * cdef is_unhandled_exception(container_obj, py_db, frame, int last_raise_line, set raise_lines): # <<<<<<<<<<<<<< + * # ELSE + * # def is_unhandled_exception(container_obj, py_db, frame, last_raise_line, raise_lines): + */ + +static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython_is_unhandled_exception(PyObject *__pyx_v_container_obj, PyObject *__pyx_v_py_db, PyObject *__pyx_v_frame, int __pyx_v_last_raise_line, PyObject *__pyx_v_raise_lines) { + PyObject *__pyx_v_try_except_infos = NULL; + PyObject *__pyx_v_valid_try_except_infos = NULL; + PyObject *__pyx_v_try_except_info = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + int __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + Py_ssize_t __pyx_t_7; + PyObject *(*__pyx_t_8)(PyObject *); + PyObject *__pyx_t_9 = NULL; + int __pyx_t_10; + int __pyx_t_11; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("is_unhandled_exception", 0); + + /* "_pydevd_bundle/pydevd_cython.pyx":216 + * # def is_unhandled_exception(container_obj, py_db, frame, last_raise_line, raise_lines): + * # ENDIF + * if frame.f_lineno in raise_lines: # <<<<<<<<<<<<<< + * return True + * + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_lineno); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 216, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (unlikely(__pyx_v_raise_lines == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); + __PYX_ERR(0, 216, __pyx_L1_error) + } + __pyx_t_2 = (__Pyx_PySet_ContainsTF(__pyx_t_1, __pyx_v_raise_lines, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 216, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_3 = (__pyx_t_2 != 0); + if (__pyx_t_3) { + + /* "_pydevd_bundle/pydevd_cython.pyx":217 + * # ENDIF + * if frame.f_lineno in raise_lines: + * return True # <<<<<<<<<<<<<< + * + * else: + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(Py_True); + __pyx_r = Py_True; + goto __pyx_L0; + + /* "_pydevd_bundle/pydevd_cython.pyx":216 + * # def is_unhandled_exception(container_obj, py_db, frame, last_raise_line, raise_lines): + * # ENDIF + * if frame.f_lineno in raise_lines: # <<<<<<<<<<<<<< + * return True + * + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":220 + * + * else: + * try_except_infos = container_obj.try_except_infos # <<<<<<<<<<<<<< + * if try_except_infos is None: + * container_obj.try_except_infos = try_except_infos = py_db.collect_try_except_info(frame.f_code) + */ + /*else*/ { + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_container_obj, __pyx_n_s_try_except_infos); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 220, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_try_except_infos = __pyx_t_1; + __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":221 + * else: + * try_except_infos = container_obj.try_except_infos + * if try_except_infos is None: # <<<<<<<<<<<<<< + * container_obj.try_except_infos = try_except_infos = py_db.collect_try_except_info(frame.f_code) + * + */ + __pyx_t_3 = (__pyx_v_try_except_infos == Py_None); + __pyx_t_2 = (__pyx_t_3 != 0); + if (__pyx_t_2) { + + /* "_pydevd_bundle/pydevd_cython.pyx":222 + * try_except_infos = container_obj.try_except_infos + * if try_except_infos is None: + * container_obj.try_except_infos = try_except_infos = py_db.collect_try_except_info(frame.f_code) # <<<<<<<<<<<<<< + * + * if not try_except_infos: + */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_collect_try_except_info); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 222, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 222, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 222, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__Pyx_PyObject_SetAttrStr(__pyx_v_container_obj, __pyx_n_s_try_except_infos, __pyx_t_1) < 0) __PYX_ERR(0, 222, __pyx_L1_error) + __Pyx_INCREF(__pyx_t_1); + __Pyx_DECREF_SET(__pyx_v_try_except_infos, __pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":221 + * else: + * try_except_infos = container_obj.try_except_infos + * if try_except_infos is None: # <<<<<<<<<<<<<< + * container_obj.try_except_infos = try_except_infos = py_db.collect_try_except_info(frame.f_code) + * + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":224 + * container_obj.try_except_infos = try_except_infos = py_db.collect_try_except_info(frame.f_code) + * + * if not try_except_infos: # <<<<<<<<<<<<<< + * # Consider the last exception as unhandled because there's no try..except in it. + * return True + */ + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_try_except_infos); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 224, __pyx_L1_error) + __pyx_t_3 = ((!__pyx_t_2) != 0); + if (__pyx_t_3) { + + /* "_pydevd_bundle/pydevd_cython.pyx":226 + * if not try_except_infos: + * # Consider the last exception as unhandled because there's no try..except in it. + * return True # <<<<<<<<<<<<<< + * else: + * # Now, consider only the try..except for the raise + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(Py_True); + __pyx_r = Py_True; + goto __pyx_L0; + + /* "_pydevd_bundle/pydevd_cython.pyx":224 + * container_obj.try_except_infos = try_except_infos = py_db.collect_try_except_info(frame.f_code) + * + * if not try_except_infos: # <<<<<<<<<<<<<< + * # Consider the last exception as unhandled because there's no try..except in it. + * return True + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":229 + * else: + * # Now, consider only the try..except for the raise + * valid_try_except_infos = [] # <<<<<<<<<<<<<< + * for try_except_info in try_except_infos: + * if try_except_info.is_line_in_try_block(last_raise_line): + */ + /*else*/ { + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 229, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_valid_try_except_infos = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":230 + * # Now, consider only the try..except for the raise + * valid_try_except_infos = [] + * for try_except_info in try_except_infos: # <<<<<<<<<<<<<< + * if try_except_info.is_line_in_try_block(last_raise_line): + * valid_try_except_infos.append(try_except_info) + */ + if (likely(PyList_CheckExact(__pyx_v_try_except_infos)) || PyTuple_CheckExact(__pyx_v_try_except_infos)) { + __pyx_t_1 = __pyx_v_try_except_infos; __Pyx_INCREF(__pyx_t_1); __pyx_t_7 = 0; + __pyx_t_8 = NULL; + } else { + __pyx_t_7 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_try_except_infos); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 230, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_8 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 230, __pyx_L1_error) + } + for (;;) { + if (likely(!__pyx_t_8)) { + if (likely(PyList_CheckExact(__pyx_t_1))) { + if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_1)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_7); __Pyx_INCREF(__pyx_t_4); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 230, __pyx_L1_error) + #else + __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 230, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + #endif + } else { + if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_1)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_7); __Pyx_INCREF(__pyx_t_4); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 230, __pyx_L1_error) + #else + __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 230, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + #endif + } + } else { + __pyx_t_4 = __pyx_t_8(__pyx_t_1); + if (unlikely(!__pyx_t_4)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 230, __pyx_L1_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_4); + } + __Pyx_XDECREF_SET(__pyx_v_try_except_info, __pyx_t_4); + __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":231 + * valid_try_except_infos = [] + * for try_except_info in try_except_infos: + * if try_except_info.is_line_in_try_block(last_raise_line): # <<<<<<<<<<<<<< + * valid_try_except_infos.append(try_except_info) + * + */ + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_try_except_info, __pyx_n_s_is_line_in_try_block); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 231, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_last_raise_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 231, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_9 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_4 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_9, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 231, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 231, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_3) { + + /* "_pydevd_bundle/pydevd_cython.pyx":232 + * for try_except_info in try_except_infos: + * if try_except_info.is_line_in_try_block(last_raise_line): + * valid_try_except_infos.append(try_except_info) # <<<<<<<<<<<<<< + * + * if not valid_try_except_infos: + */ + __pyx_t_10 = __Pyx_PyList_Append(__pyx_v_valid_try_except_infos, __pyx_v_try_except_info); if (unlikely(__pyx_t_10 == ((int)-1))) __PYX_ERR(0, 232, __pyx_L1_error) + + /* "_pydevd_bundle/pydevd_cython.pyx":231 + * valid_try_except_infos = [] + * for try_except_info in try_except_infos: + * if try_except_info.is_line_in_try_block(last_raise_line): # <<<<<<<<<<<<<< + * valid_try_except_infos.append(try_except_info) + * + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":230 + * # Now, consider only the try..except for the raise + * valid_try_except_infos = [] + * for try_except_info in try_except_infos: # <<<<<<<<<<<<<< + * if try_except_info.is_line_in_try_block(last_raise_line): + * valid_try_except_infos.append(try_except_info) + */ + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":234 + * valid_try_except_infos.append(try_except_info) + * + * if not valid_try_except_infos: # <<<<<<<<<<<<<< + * return True + * + */ + __pyx_t_3 = (PyList_GET_SIZE(__pyx_v_valid_try_except_infos) != 0); + __pyx_t_2 = ((!__pyx_t_3) != 0); + if (__pyx_t_2) { + + /* "_pydevd_bundle/pydevd_cython.pyx":235 + * + * if not valid_try_except_infos: + * return True # <<<<<<<<<<<<<< + * + * else: + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(Py_True); + __pyx_r = Py_True; + goto __pyx_L0; + + /* "_pydevd_bundle/pydevd_cython.pyx":234 + * valid_try_except_infos.append(try_except_info) + * + * if not valid_try_except_infos: # <<<<<<<<<<<<<< + * return True + * + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":242 + * # where one try..except is inside the other with only a raise + * # and it's gotten in the except line. + * for try_except_info in try_except_infos: # <<<<<<<<<<<<<< + * if try_except_info.is_line_in_except_block(frame.f_lineno): + * if ( + */ + /*else*/ { + if (likely(PyList_CheckExact(__pyx_v_try_except_infos)) || PyTuple_CheckExact(__pyx_v_try_except_infos)) { + __pyx_t_1 = __pyx_v_try_except_infos; __Pyx_INCREF(__pyx_t_1); __pyx_t_7 = 0; + __pyx_t_8 = NULL; + } else { + __pyx_t_7 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_try_except_infos); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 242, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_8 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 242, __pyx_L1_error) + } + for (;;) { + if (likely(!__pyx_t_8)) { + if (likely(PyList_CheckExact(__pyx_t_1))) { + if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_1)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_7); __Pyx_INCREF(__pyx_t_4); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 242, __pyx_L1_error) + #else + __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 242, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + #endif + } else { + if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_1)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_7); __Pyx_INCREF(__pyx_t_4); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 242, __pyx_L1_error) + #else + __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 242, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + #endif + } + } else { + __pyx_t_4 = __pyx_t_8(__pyx_t_1); + if (unlikely(!__pyx_t_4)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 242, __pyx_L1_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_4); + } + __Pyx_XDECREF_SET(__pyx_v_try_except_info, __pyx_t_4); + __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":243 + * # and it's gotten in the except line. + * for try_except_info in try_except_infos: + * if try_except_info.is_line_in_except_block(frame.f_lineno): # <<<<<<<<<<<<<< + * if ( + * frame.f_lineno == try_except_info.except_line or + */ + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_try_except_info, __pyx_n_s_is_line_in_except_block); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 243, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_lineno); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 243, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_9 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_4 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_9, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 243, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 243, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_2) { + + /* "_pydevd_bundle/pydevd_cython.pyx":245 + * if try_except_info.is_line_in_except_block(frame.f_lineno): + * if ( + * frame.f_lineno == try_except_info.except_line or # <<<<<<<<<<<<<< + * frame.f_lineno in try_except_info.raise_lines_in_except + * ): + */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_lineno); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 245, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_try_except_info, __pyx_n_s_except_line); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 245, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = PyObject_RichCompare(__pyx_t_4, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 245, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 245, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (!__pyx_t_3) { + } else { + __pyx_t_2 = __pyx_t_3; + goto __pyx_L14_bool_binop_done; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":246 + * if ( + * frame.f_lineno == try_except_info.except_line or + * frame.f_lineno in try_except_info.raise_lines_in_except # <<<<<<<<<<<<<< + * ): + * # In a raise inside a try..except block or some except which doesn't + */ + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_lineno); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 246, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_try_except_info, __pyx_n_s_raise_lines_in_except); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 246, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = (__Pyx_PySequence_ContainsTF(__pyx_t_6, __pyx_t_5, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 246, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_11 = (__pyx_t_3 != 0); + __pyx_t_2 = __pyx_t_11; + __pyx_L14_bool_binop_done:; + + /* "_pydevd_bundle/pydevd_cython.pyx":244 + * for try_except_info in try_except_infos: + * if try_except_info.is_line_in_except_block(frame.f_lineno): + * if ( # <<<<<<<<<<<<<< + * frame.f_lineno == try_except_info.except_line or + * frame.f_lineno in try_except_info.raise_lines_in_except + */ + if (__pyx_t_2) { + + /* "_pydevd_bundle/pydevd_cython.pyx":250 + * # In a raise inside a try..except block or some except which doesn't + * # match the raised exception. + * return True # <<<<<<<<<<<<<< + * return False + * + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(Py_True); + __pyx_r = Py_True; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L0; + + /* "_pydevd_bundle/pydevd_cython.pyx":244 + * for try_except_info in try_except_infos: + * if try_except_info.is_line_in_except_block(frame.f_lineno): + * if ( # <<<<<<<<<<<<<< + * frame.f_lineno == try_except_info.except_line or + * frame.f_lineno in try_except_info.raise_lines_in_except + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":243 + * # and it's gotten in the except line. + * for try_except_info in try_except_infos: + * if try_except_info.is_line_in_except_block(frame.f_lineno): # <<<<<<<<<<<<<< + * if ( + * frame.f_lineno == try_except_info.except_line or + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":242 + * # where one try..except is inside the other with only a raise + * # and it's gotten in the except line. + * for try_except_info in try_except_infos: # <<<<<<<<<<<<<< + * if try_except_info.is_line_in_except_block(frame.f_lineno): + * if ( + */ + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + } + } + + /* "_pydevd_bundle/pydevd_cython.pyx":251 + * # match the raised exception. + * return True + * return False # <<<<<<<<<<<<<< + * + * + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(Py_False); + __pyx_r = Py_False; + goto __pyx_L0; + + /* "_pydevd_bundle/pydevd_cython.pyx":212 + * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * cdef is_unhandled_exception(container_obj, py_db, frame, int last_raise_line, set raise_lines): # <<<<<<<<<<<<<< + * # ELSE + * # def is_unhandled_exception(container_obj, py_db, frame, last_raise_line, raise_lines): + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.is_unhandled_exception", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_try_except_infos); + __Pyx_XDECREF(__pyx_v_valid_try_except_infos); + __Pyx_XDECREF(__pyx_v_try_except_info); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pyx":257 + * cdef class _TryExceptContainerObj: + * cdef public list try_except_infos; + * def __init__(self): # <<<<<<<<<<<<<< + * self.try_except_infos = None + * # ELSE + */ + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_22_TryExceptContainerObj_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_22_TryExceptContainerObj_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); + if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { + __Pyx_RaiseArgtupleInvalid("__init__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;} + if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 0))) return -1; + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_22_TryExceptContainerObj___init__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_22_TryExceptContainerObj___init__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__init__", 0); + + /* "_pydevd_bundle/pydevd_cython.pyx":258 + * cdef public list try_except_infos; + * def __init__(self): + * self.try_except_infos = None # <<<<<<<<<<<<<< + * # ELSE + * # class _TryExceptContainerObj(object): + */ + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->try_except_infos); + __Pyx_DECREF(__pyx_v_self->try_except_infos); + __pyx_v_self->try_except_infos = ((PyObject*)Py_None); + + /* "_pydevd_bundle/pydevd_cython.pyx":257 + * cdef class _TryExceptContainerObj: + * cdef public list try_except_infos; + * def __init__(self): # <<<<<<<<<<<<<< + * self.try_except_infos = None + * # ELSE + */ + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pyx":256 + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * cdef class _TryExceptContainerObj: + * cdef public list try_except_infos; # <<<<<<<<<<<<<< + * def __init__(self): + * self.try_except_infos = None + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_22_TryExceptContainerObj_16try_except_infos_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_22_TryExceptContainerObj_16try_except_infos_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_22_TryExceptContainerObj_16try_except_infos___get__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_22_TryExceptContainerObj_16try_except_infos___get__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->try_except_infos); + __pyx_r = __pyx_v_self->try_except_infos; + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_22_TryExceptContainerObj_16try_except_infos_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_22_TryExceptContainerObj_16try_except_infos_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_22_TryExceptContainerObj_16try_except_infos_2__set__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_22_TryExceptContainerObj_16try_except_infos_2__set__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__set__", 0); + if (!(likely(PyList_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_v_value)->tp_name), 0))) __PYX_ERR(0, 256, __pyx_L1_error) + __pyx_t_1 = __pyx_v_value; + __Pyx_INCREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v_self->try_except_infos); + __Pyx_DECREF(__pyx_v_self->try_except_infos); + __pyx_v_self->try_except_infos = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython._TryExceptContainerObj.try_except_infos.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_22_TryExceptContainerObj_16try_except_infos_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_22_TryExceptContainerObj_16try_except_infos_5__del__(PyObject *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_22_TryExceptContainerObj_16try_except_infos_4__del__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_22_TryExceptContainerObj_16try_except_infos_4__del__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__", 0); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->try_except_infos); + __Pyx_DECREF(__pyx_v_self->try_except_infos); + __pyx_v_self->try_except_infos = ((PyObject*)Py_None); + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * cdef tuple state + * cdef object _dict + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_22_TryExceptContainerObj_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_22_TryExceptContainerObj_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_22_TryExceptContainerObj_2__reduce_cython__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_22_TryExceptContainerObj_2__reduce_cython__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj *__pyx_v_self) { + PyObject *__pyx_v_state = 0; + PyObject *__pyx_v__dict = 0; + int __pyx_v_use_setstate; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + int __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__reduce_cython__", 0); + + /* "(tree fragment)":5 + * cdef object _dict + * cdef bint use_setstate + * state = (self.try_except_infos,) # <<<<<<<<<<<<<< + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: + */ + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v_self->try_except_infos); + __Pyx_GIVEREF(__pyx_v_self->try_except_infos); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self->try_except_infos); + __pyx_v_state = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "(tree fragment)":6 + * cdef bint use_setstate + * state = (self.try_except_infos,) + * _dict = getattr(self, '__dict__', None) # <<<<<<<<<<<<<< + * if _dict is not None: + * state += (_dict,) + */ + __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v__dict = __pyx_t_1; + __pyx_t_1 = 0; + + /* "(tree fragment)":7 + * state = (self.try_except_infos,) + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: # <<<<<<<<<<<<<< + * state += (_dict,) + * use_setstate = True + */ + __pyx_t_2 = (__pyx_v__dict != Py_None); + __pyx_t_3 = (__pyx_t_2 != 0); + if (__pyx_t_3) { + + /* "(tree fragment)":8 + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: + * state += (_dict,) # <<<<<<<<<<<<<< + * use_setstate = True + * else: + */ + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v__dict); + __Pyx_GIVEREF(__pyx_v__dict); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict); + __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 8, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4)); + __pyx_t_4 = 0; + + /* "(tree fragment)":9 + * if _dict is not None: + * state += (_dict,) + * use_setstate = True # <<<<<<<<<<<<<< + * else: + * use_setstate = self.try_except_infos is not None + */ + __pyx_v_use_setstate = 1; + + /* "(tree fragment)":7 + * state = (self.try_except_infos,) + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: # <<<<<<<<<<<<<< + * state += (_dict,) + * use_setstate = True + */ + goto __pyx_L3; + } + + /* "(tree fragment)":11 + * use_setstate = True + * else: + * use_setstate = self.try_except_infos is not None # <<<<<<<<<<<<<< + * if use_setstate: + * return __pyx_unpickle__TryExceptContainerObj, (type(self), 0xc8b6eb1, None), state + */ + /*else*/ { + __pyx_t_3 = (__pyx_v_self->try_except_infos != ((PyObject*)Py_None)); + __pyx_v_use_setstate = __pyx_t_3; + } + __pyx_L3:; + + /* "(tree fragment)":12 + * else: + * use_setstate = self.try_except_infos is not None + * if use_setstate: # <<<<<<<<<<<<<< + * return __pyx_unpickle__TryExceptContainerObj, (type(self), 0xc8b6eb1, None), state + * else: + */ + __pyx_t_3 = (__pyx_v_use_setstate != 0); + if (__pyx_t_3) { + + /* "(tree fragment)":13 + * use_setstate = self.try_except_infos is not None + * if use_setstate: + * return __pyx_unpickle__TryExceptContainerObj, (type(self), 0xc8b6eb1, None), state # <<<<<<<<<<<<<< + * else: + * return __pyx_unpickle__TryExceptContainerObj, (type(self), 0xc8b6eb1, state) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_pyx_unpickle__TryExceptContain); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_INCREF(__pyx_int_210464433); + __Pyx_GIVEREF(__pyx_int_210464433); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_210464433); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1); + __Pyx_INCREF(__pyx_v_state); + __Pyx_GIVEREF(__pyx_v_state); + PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state); + __pyx_t_4 = 0; + __pyx_t_1 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; + goto __pyx_L0; + + /* "(tree fragment)":12 + * else: + * use_setstate = self.try_except_infos is not None + * if use_setstate: # <<<<<<<<<<<<<< + * return __pyx_unpickle__TryExceptContainerObj, (type(self), 0xc8b6eb1, None), state + * else: + */ + } + + /* "(tree fragment)":15 + * return __pyx_unpickle__TryExceptContainerObj, (type(self), 0xc8b6eb1, None), state + * else: + * return __pyx_unpickle__TryExceptContainerObj, (type(self), 0xc8b6eb1, state) # <<<<<<<<<<<<<< + * def __setstate_cython__(self, __pyx_state): + * __pyx_unpickle__TryExceptContainerObj__set_state(self, __pyx_state) + */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pyx_unpickle__TryExceptContain); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_INCREF(__pyx_int_210464433); + __Pyx_GIVEREF(__pyx_int_210464433); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_210464433); + __Pyx_INCREF(__pyx_v_state); + __Pyx_GIVEREF(__pyx_v_state); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state); + __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __pyx_t_5 = 0; + __pyx_t_1 = 0; + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; + goto __pyx_L0; + } + + /* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * cdef tuple state + * cdef object _dict + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython._TryExceptContainerObj.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_state); + __Pyx_XDECREF(__pyx_v__dict); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":16 + * else: + * return __pyx_unpickle__TryExceptContainerObj, (type(self), 0xc8b6eb1, state) + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * __pyx_unpickle__TryExceptContainerObj__set_state(self, __pyx_state) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_22_TryExceptContainerObj_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_22_TryExceptContainerObj_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_22_TryExceptContainerObj_4__setstate_cython__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_22_TryExceptContainerObj_4__setstate_cython__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj *__pyx_v_self, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__setstate_cython__", 0); + + /* "(tree fragment)":17 + * return __pyx_unpickle__TryExceptContainerObj, (type(self), 0xc8b6eb1, state) + * def __setstate_cython__(self, __pyx_state): + * __pyx_unpickle__TryExceptContainerObj__set_state(self, __pyx_state) # <<<<<<<<<<<<<< + */ + if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(2, 17, __pyx_L1_error) + __pyx_t_1 = __pyx_f_14_pydevd_bundle_13pydevd_cython___pyx_unpickle__TryExceptContainerObj__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 17, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "(tree fragment)":16 + * else: + * return __pyx_unpickle__TryExceptContainerObj, (type(self), 0xc8b6eb1, state) + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * __pyx_unpickle__TryExceptContainerObj__set_state(self, __pyx_state) + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython._TryExceptContainerObj.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pyx":293 + * cdef int should_skip + * cdef object exc_info + * def __init__(self, tuple args): # <<<<<<<<<<<<<< + * self._args = args # In the cython version we don't need to pass the frame + * self.should_skip = -1 # On cythonized version, put in instance. + */ + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_args = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_args,0}; + PyObject* values[1] = {0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_args)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 293, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 1) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + } + __pyx_v_args = ((PyObject*)values[0]); + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 293, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return -1; + __pyx_L4_argument_unpacking_done:; + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(0, 293, __pyx_L1_error) + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame___init__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self), __pyx_v_args); + + /* function exit code */ + goto __pyx_L0; + __pyx_L1_error:; + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame___init__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, PyObject *__pyx_v_args) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__init__", 0); + + /* "_pydevd_bundle/pydevd_cython.pyx":294 + * cdef object exc_info + * def __init__(self, tuple args): + * self._args = args # In the cython version we don't need to pass the frame # <<<<<<<<<<<<<< + * self.should_skip = -1 # On cythonized version, put in instance. + * self.exc_info = () + */ + __Pyx_INCREF(__pyx_v_args); + __Pyx_GIVEREF(__pyx_v_args); + __Pyx_GOTREF(__pyx_v_self->_args); + __Pyx_DECREF(__pyx_v_self->_args); + __pyx_v_self->_args = __pyx_v_args; + + /* "_pydevd_bundle/pydevd_cython.pyx":295 + * def __init__(self, tuple args): + * self._args = args # In the cython version we don't need to pass the frame + * self.should_skip = -1 # On cythonized version, put in instance. # <<<<<<<<<<<<<< + * self.exc_info = () + * # ELSE + */ + __pyx_v_self->should_skip = -1; + + /* "_pydevd_bundle/pydevd_cython.pyx":296 + * self._args = args # In the cython version we don't need to pass the frame + * self.should_skip = -1 # On cythonized version, put in instance. + * self.exc_info = () # <<<<<<<<<<<<<< + * # ELSE + * # should_skip = -1 # Default value in class (put in instance on set). + */ + __Pyx_INCREF(__pyx_empty_tuple); + __Pyx_GIVEREF(__pyx_empty_tuple); + __Pyx_GOTREF(__pyx_v_self->exc_info); + __Pyx_DECREF(__pyx_v_self->exc_info); + __pyx_v_self->exc_info = __pyx_empty_tuple; + + /* "_pydevd_bundle/pydevd_cython.pyx":293 + * cdef int should_skip + * cdef object exc_info + * def __init__(self, tuple args): # <<<<<<<<<<<<<< + * self._args = args # In the cython version we don't need to pass the frame + * self.should_skip = -1 # On cythonized version, put in instance. + */ + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pyx":307 + * # ENDIF + * + * def set_suspend(self, *args, **kwargs): # <<<<<<<<<<<<<< + * self._args[0].set_suspend(*args, **kwargs) + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_3set_suspend(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_3set_suspend(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_args = 0; + PyObject *__pyx_v_kwargs = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("set_suspend (wrapper)", 0); + if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "set_suspend", 1))) return NULL; + __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return NULL; + __Pyx_GOTREF(__pyx_v_kwargs); + __Pyx_INCREF(__pyx_args); + __pyx_v_args = __pyx_args; + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_2set_suspend(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); + + /* function exit code */ + __Pyx_XDECREF(__pyx_v_args); + __Pyx_XDECREF(__pyx_v_kwargs); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_2set_suspend(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("set_suspend", 0); + + /* "_pydevd_bundle/pydevd_cython.pyx":308 + * + * def set_suspend(self, *args, **kwargs): + * self._args[0].set_suspend(*args, **kwargs) # <<<<<<<<<<<<<< + * + * def do_wait_suspend(self, *args, **kwargs): + */ + if (unlikely(__pyx_v_self->_args == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 308, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_self->_args, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 308, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_set_suspend); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 308, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 308, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_v_args, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 308, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":307 + * # ENDIF + * + * def set_suspend(self, *args, **kwargs): # <<<<<<<<<<<<<< + * self._args[0].set_suspend(*args, **kwargs) + * + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame.set_suspend", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pyx":310 + * self._args[0].set_suspend(*args, **kwargs) + * + * def do_wait_suspend(self, *args, **kwargs): # <<<<<<<<<<<<<< + * self._args[0].do_wait_suspend(*args, **kwargs) + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_5do_wait_suspend(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_5do_wait_suspend(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_args = 0; + PyObject *__pyx_v_kwargs = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("do_wait_suspend (wrapper)", 0); + if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "do_wait_suspend", 1))) return NULL; + __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return NULL; + __Pyx_GOTREF(__pyx_v_kwargs); + __Pyx_INCREF(__pyx_args); + __pyx_v_args = __pyx_args; + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_4do_wait_suspend(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); + + /* function exit code */ + __Pyx_XDECREF(__pyx_v_args); + __Pyx_XDECREF(__pyx_v_kwargs); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_4do_wait_suspend(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("do_wait_suspend", 0); + + /* "_pydevd_bundle/pydevd_cython.pyx":311 + * + * def do_wait_suspend(self, *args, **kwargs): + * self._args[0].do_wait_suspend(*args, **kwargs) # <<<<<<<<<<<<<< + * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + */ + if (unlikely(__pyx_v_self->_args == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 311, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_self->_args, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 311, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_do_wait_suspend); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 311, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 311, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_v_args, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 311, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":310 + * self._args[0].set_suspend(*args, **kwargs) + * + * def do_wait_suspend(self, *args, **kwargs): # <<<<<<<<<<<<<< + * self._args[0].do_wait_suspend(*args, **kwargs) + * + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame.do_wait_suspend", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pyx":314 + * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * def trace_exception(self, frame, str event, arg): # <<<<<<<<<<<<<< + * cdef bint should_stop; + * cdef tuple exc_info; + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_7trace_exception(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_7trace_exception(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_frame = 0; + PyObject *__pyx_v_event = 0; + PyObject *__pyx_v_arg = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("trace_exception (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_frame,&__pyx_n_s_event,&__pyx_n_s_arg,0}; + PyObject* values[3] = {0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_frame)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_event)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("trace_exception", 1, 3, 3, 1); __PYX_ERR(0, 314, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_arg)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("trace_exception", 1, 3, 3, 2); __PYX_ERR(0, 314, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "trace_exception") < 0)) __PYX_ERR(0, 314, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + } + __pyx_v_frame = values[0]; + __pyx_v_event = ((PyObject*)values[1]); + __pyx_v_arg = values[2]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("trace_exception", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 314, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame.trace_exception", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_event), (&PyString_Type), 1, "event", 1))) __PYX_ERR(0, 314, __pyx_L1_error) + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_6trace_exception(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self), __pyx_v_frame, __pyx_v_event, __pyx_v_arg); + + /* function exit code */ + goto __pyx_L0; + __pyx_L1_error:; + __pyx_r = NULL; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_6trace_exception(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, PyObject *__pyx_v_frame, PyObject *__pyx_v_event, PyObject *__pyx_v_arg) { + int __pyx_v_should_stop; + PyObject *__pyx_v_exc_info = 0; + PyObject *__pyx_v_frame_skips_cache = NULL; + PyObject *__pyx_v_frame_cache_key = NULL; + PyObject *__pyx_v_custom_key = NULL; + PyObject *__pyx_v_container_obj = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *(*__pyx_t_7)(PyObject *); + int __pyx_t_8; + int __pyx_t_9; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("trace_exception", 0); + __Pyx_INCREF(__pyx_v_frame); + + /* "_pydevd_bundle/pydevd_cython.pyx":320 + * # def trace_exception(self, frame, event, arg): + * # ENDIF + * if event == 'exception': # <<<<<<<<<<<<<< + * should_stop, frame = self._should_stop_on_exception(frame, event, arg) + * + */ + __pyx_t_1 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_exception, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 320, __pyx_L1_error) + __pyx_t_2 = (__pyx_t_1 != 0); + if (__pyx_t_2) { + + /* "_pydevd_bundle/pydevd_cython.pyx":321 + * # ENDIF + * if event == 'exception': + * should_stop, frame = self._should_stop_on_exception(frame, event, arg) # <<<<<<<<<<<<<< + * + * if should_stop: + */ + __pyx_t_3 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_should_stop_on_exception(__pyx_v_self, __pyx_v_frame, __pyx_v_event, __pyx_v_arg); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 321, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) { + PyObject* sequence = __pyx_t_3; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 2)) { + if (size > 2) __Pyx_RaiseTooManyValuesError(2); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 321, __pyx_L1_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + if (likely(PyTuple_CheckExact(sequence))) { + __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1); + } else { + __pyx_t_4 = PyList_GET_ITEM(sequence, 0); + __pyx_t_5 = PyList_GET_ITEM(sequence, 1); + } + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + #else + __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 321, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 321, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + #endif + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } else { + Py_ssize_t index = -1; + __pyx_t_6 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 321, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_7 = Py_TYPE(__pyx_t_6)->tp_iternext; + index = 0; __pyx_t_4 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_4)) goto __pyx_L4_unpacking_failed; + __Pyx_GOTREF(__pyx_t_4); + index = 1; __pyx_t_5 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_5)) goto __pyx_L4_unpacking_failed; + __Pyx_GOTREF(__pyx_t_5); + if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 2) < 0) __PYX_ERR(0, 321, __pyx_L1_error) + __pyx_t_7 = NULL; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + goto __pyx_L5_unpacking_done; + __pyx_L4_unpacking_failed:; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_7 = NULL; + if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); + __PYX_ERR(0, 321, __pyx_L1_error) + __pyx_L5_unpacking_done:; + } + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 321, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_v_should_stop = __pyx_t_2; + __Pyx_DECREF_SET(__pyx_v_frame, __pyx_t_5); + __pyx_t_5 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":323 + * should_stop, frame = self._should_stop_on_exception(frame, event, arg) + * + * if should_stop: # <<<<<<<<<<<<<< + * if self._handle_exception(frame, event, arg, EXCEPTION_TYPE_HANDLED): + * return self.trace_dispatch + */ + __pyx_t_2 = (__pyx_v_should_stop != 0); + if (__pyx_t_2) { + + /* "_pydevd_bundle/pydevd_cython.pyx":324 + * + * if should_stop: + * if self._handle_exception(frame, event, arg, EXCEPTION_TYPE_HANDLED): # <<<<<<<<<<<<<< + * return self.trace_dispatch + * + */ + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_EXCEPTION_TYPE_HANDLED); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 324, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (!(likely(PyString_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(0, 324, __pyx_L1_error) + __pyx_t_5 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_handle_exception(__pyx_v_self, __pyx_v_frame, __pyx_v_event, __pyx_v_arg, ((PyObject*)__pyx_t_3)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 324, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 324, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (__pyx_t_2) { + + /* "_pydevd_bundle/pydevd_cython.pyx":325 + * if should_stop: + * if self._handle_exception(frame, event, arg, EXCEPTION_TYPE_HANDLED): + * return self.trace_dispatch # <<<<<<<<<<<<<< + * + * elif event == 'return': + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 325, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; + goto __pyx_L0; + + /* "_pydevd_bundle/pydevd_cython.pyx":324 + * + * if should_stop: + * if self._handle_exception(frame, event, arg, EXCEPTION_TYPE_HANDLED): # <<<<<<<<<<<<<< + * return self.trace_dispatch + * + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":323 + * should_stop, frame = self._should_stop_on_exception(frame, event, arg) + * + * if should_stop: # <<<<<<<<<<<<<< + * if self._handle_exception(frame, event, arg, EXCEPTION_TYPE_HANDLED): + * return self.trace_dispatch + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":320 + * # def trace_exception(self, frame, event, arg): + * # ENDIF + * if event == 'exception': # <<<<<<<<<<<<<< + * should_stop, frame = self._should_stop_on_exception(frame, event, arg) + * + */ + goto __pyx_L3; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":327 + * return self.trace_dispatch + * + * elif event == 'return': # <<<<<<<<<<<<<< + * exc_info = self.exc_info + * if exc_info and arg is None: + */ + __pyx_t_2 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_return, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 327, __pyx_L1_error) + __pyx_t_1 = (__pyx_t_2 != 0); + if (__pyx_t_1) { + + /* "_pydevd_bundle/pydevd_cython.pyx":328 + * + * elif event == 'return': + * exc_info = self.exc_info # <<<<<<<<<<<<<< + * if exc_info and arg is None: + * frame_skips_cache, frame_cache_key = self._args[4], self._args[5] + */ + if (!(likely(PyTuple_CheckExact(__pyx_v_self->exc_info))||((__pyx_v_self->exc_info) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v_self->exc_info)->tp_name), 0))) __PYX_ERR(0, 328, __pyx_L1_error) + __pyx_t_5 = __pyx_v_self->exc_info; + __Pyx_INCREF(__pyx_t_5); + __pyx_v_exc_info = ((PyObject*)__pyx_t_5); + __pyx_t_5 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":329 + * elif event == 'return': + * exc_info = self.exc_info + * if exc_info and arg is None: # <<<<<<<<<<<<<< + * frame_skips_cache, frame_cache_key = self._args[4], self._args[5] + * custom_key = (frame_cache_key, 'try_exc_info') + */ + __pyx_t_2 = (__pyx_v_exc_info != Py_None)&&(PyTuple_GET_SIZE(__pyx_v_exc_info) != 0); + if (__pyx_t_2) { + } else { + __pyx_t_1 = __pyx_t_2; + goto __pyx_L9_bool_binop_done; + } + __pyx_t_2 = (__pyx_v_arg == Py_None); + __pyx_t_8 = (__pyx_t_2 != 0); + __pyx_t_1 = __pyx_t_8; + __pyx_L9_bool_binop_done:; + if (__pyx_t_1) { + + /* "_pydevd_bundle/pydevd_cython.pyx":330 + * exc_info = self.exc_info + * if exc_info and arg is None: + * frame_skips_cache, frame_cache_key = self._args[4], self._args[5] # <<<<<<<<<<<<<< + * custom_key = (frame_cache_key, 'try_exc_info') + * container_obj = frame_skips_cache.get(custom_key) + */ + if (unlikely(__pyx_v_self->_args == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 330, __pyx_L1_error) + } + __pyx_t_5 = __Pyx_GetItemInt_Tuple(__pyx_v_self->_args, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 330, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + if (unlikely(__pyx_v_self->_args == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 330, __pyx_L1_error) + } + __pyx_t_3 = __Pyx_GetItemInt_Tuple(__pyx_v_self->_args, 5, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 330, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_v_frame_skips_cache = __pyx_t_5; + __pyx_t_5 = 0; + __pyx_v_frame_cache_key = __pyx_t_3; + __pyx_t_3 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":331 + * if exc_info and arg is None: + * frame_skips_cache, frame_cache_key = self._args[4], self._args[5] + * custom_key = (frame_cache_key, 'try_exc_info') # <<<<<<<<<<<<<< + * container_obj = frame_skips_cache.get(custom_key) + * if container_obj is None: + */ + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 331, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_v_frame_cache_key); + __Pyx_GIVEREF(__pyx_v_frame_cache_key); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_frame_cache_key); + __Pyx_INCREF(__pyx_n_s_try_exc_info); + __Pyx_GIVEREF(__pyx_n_s_try_exc_info); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_try_exc_info); + __pyx_v_custom_key = ((PyObject*)__pyx_t_3); + __pyx_t_3 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":332 + * frame_skips_cache, frame_cache_key = self._args[4], self._args[5] + * custom_key = (frame_cache_key, 'try_exc_info') + * container_obj = frame_skips_cache.get(custom_key) # <<<<<<<<<<<<<< + * if container_obj is None: + * container_obj = frame_skips_cache[custom_key] = _TryExceptContainerObj() + */ + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame_skips_cache, __pyx_n_s_get); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 332, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_4, __pyx_v_custom_key) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_custom_key); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 332, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_v_container_obj = __pyx_t_3; + __pyx_t_3 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":333 + * custom_key = (frame_cache_key, 'try_exc_info') + * container_obj = frame_skips_cache.get(custom_key) + * if container_obj is None: # <<<<<<<<<<<<<< + * container_obj = frame_skips_cache[custom_key] = _TryExceptContainerObj() + * if is_unhandled_exception(container_obj, self._args[0], frame, exc_info[1], exc_info[2]) and \ + */ + __pyx_t_1 = (__pyx_v_container_obj == Py_None); + __pyx_t_8 = (__pyx_t_1 != 0); + if (__pyx_t_8) { + + /* "_pydevd_bundle/pydevd_cython.pyx":334 + * container_obj = frame_skips_cache.get(custom_key) + * if container_obj is None: + * container_obj = frame_skips_cache[custom_key] = _TryExceptContainerObj() # <<<<<<<<<<<<<< + * if is_unhandled_exception(container_obj, self._args[0], frame, exc_info[1], exc_info[2]) and \ + * self.handle_user_exception(frame): + */ + __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 334, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_t_3); + __Pyx_DECREF_SET(__pyx_v_container_obj, __pyx_t_3); + if (unlikely(PyObject_SetItem(__pyx_v_frame_skips_cache, __pyx_v_custom_key, __pyx_t_3) < 0)) __PYX_ERR(0, 334, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":333 + * custom_key = (frame_cache_key, 'try_exc_info') + * container_obj = frame_skips_cache.get(custom_key) + * if container_obj is None: # <<<<<<<<<<<<<< + * container_obj = frame_skips_cache[custom_key] = _TryExceptContainerObj() + * if is_unhandled_exception(container_obj, self._args[0], frame, exc_info[1], exc_info[2]) and \ + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":335 + * if container_obj is None: + * container_obj = frame_skips_cache[custom_key] = _TryExceptContainerObj() + * if is_unhandled_exception(container_obj, self._args[0], frame, exc_info[1], exc_info[2]) and \ # <<<<<<<<<<<<<< + * self.handle_user_exception(frame): + * return self.trace_dispatch + */ + if (unlikely(__pyx_v_self->_args == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 335, __pyx_L1_error) + } + __pyx_t_3 = __Pyx_GetItemInt_Tuple(__pyx_v_self->_args, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 335, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (unlikely(__pyx_v_exc_info == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 335, __pyx_L1_error) + } + __pyx_t_5 = __Pyx_GetItemInt_Tuple(__pyx_v_exc_info, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 335, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_9 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 335, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(__pyx_v_exc_info == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 335, __pyx_L1_error) + } + __pyx_t_5 = __Pyx_GetItemInt_Tuple(__pyx_v_exc_info, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 335, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + if (!(likely(PySet_CheckExact(__pyx_t_5))||((__pyx_t_5) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "set", Py_TYPE(__pyx_t_5)->tp_name), 0))) __PYX_ERR(0, 335, __pyx_L1_error) + __pyx_t_4 = __pyx_f_14_pydevd_bundle_13pydevd_cython_is_unhandled_exception(__pyx_v_container_obj, __pyx_t_3, __pyx_v_frame, __pyx_t_9, ((PyObject*)__pyx_t_5)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 335, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 335, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_1) { + } else { + __pyx_t_8 = __pyx_t_1; + goto __pyx_L13_bool_binop_done; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":336 + * container_obj = frame_skips_cache[custom_key] = _TryExceptContainerObj() + * if is_unhandled_exception(container_obj, self._args[0], frame, exc_info[1], exc_info[2]) and \ + * self.handle_user_exception(frame): # <<<<<<<<<<<<<< + * return self.trace_dispatch + * + */ + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_handle_user_exception); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 336, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_v_frame) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_frame); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 336, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 336, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_8 = __pyx_t_1; + __pyx_L13_bool_binop_done:; + + /* "_pydevd_bundle/pydevd_cython.pyx":335 + * if container_obj is None: + * container_obj = frame_skips_cache[custom_key] = _TryExceptContainerObj() + * if is_unhandled_exception(container_obj, self._args[0], frame, exc_info[1], exc_info[2]) and \ # <<<<<<<<<<<<<< + * self.handle_user_exception(frame): + * return self.trace_dispatch + */ + if (__pyx_t_8) { + + /* "_pydevd_bundle/pydevd_cython.pyx":337 + * if is_unhandled_exception(container_obj, self._args[0], frame, exc_info[1], exc_info[2]) and \ + * self.handle_user_exception(frame): + * return self.trace_dispatch # <<<<<<<<<<<<<< + * + * return self.trace_exception + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 337, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; + goto __pyx_L0; + + /* "_pydevd_bundle/pydevd_cython.pyx":335 + * if container_obj is None: + * container_obj = frame_skips_cache[custom_key] = _TryExceptContainerObj() + * if is_unhandled_exception(container_obj, self._args[0], frame, exc_info[1], exc_info[2]) and \ # <<<<<<<<<<<<<< + * self.handle_user_exception(frame): + * return self.trace_dispatch + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":329 + * elif event == 'return': + * exc_info = self.exc_info + * if exc_info and arg is None: # <<<<<<<<<<<<<< + * frame_skips_cache, frame_cache_key = self._args[4], self._args[5] + * custom_key = (frame_cache_key, 'try_exc_info') + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":327 + * return self.trace_dispatch + * + * elif event == 'return': # <<<<<<<<<<<<<< + * exc_info = self.exc_info + * if exc_info and arg is None: + */ + } + __pyx_L3:; + + /* "_pydevd_bundle/pydevd_cython.pyx":339 + * return self.trace_dispatch + * + * return self.trace_exception # <<<<<<<<<<<<<< + * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_exception); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 339, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; + goto __pyx_L0; + + /* "_pydevd_bundle/pydevd_cython.pyx":314 + * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * def trace_exception(self, frame, str event, arg): # <<<<<<<<<<<<<< + * cdef bint should_stop; + * cdef tuple exc_info; + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame.trace_exception", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_exc_info); + __Pyx_XDECREF(__pyx_v_frame_skips_cache); + __Pyx_XDECREF(__pyx_v_frame_cache_key); + __Pyx_XDECREF(__pyx_v_custom_key); + __Pyx_XDECREF(__pyx_v_container_obj); + __Pyx_XDECREF(__pyx_v_frame); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pyx":342 + * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * cdef _should_stop_on_exception(self, frame, str event, arg): # <<<<<<<<<<<<<< + * cdef PyDBAdditionalThreadInfo info; + * cdef bint should_stop; + */ + +static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame__should_stop_on_exception(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, PyObject *__pyx_v_frame, CYTHON_UNUSED PyObject *__pyx_v_event, PyObject *__pyx_v_arg) { + struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_info = 0; + int __pyx_v_should_stop; + int __pyx_v_was_just_raised; + PyObject *__pyx_v_check_excs = 0; + PyObject *__pyx_v_main_debugger = NULL; + PyObject *__pyx_v_exception = NULL; + PyObject *__pyx_v_value = NULL; + PyObject *__pyx_v_trace = NULL; + PyObject *__pyx_v_exception_breakpoint = NULL; + PyObject *__pyx_v_result = NULL; + PyObject *__pyx_v_exc_break_user = NULL; + PyObject *__pyx_v_exc_break_caught = NULL; + PyObject *__pyx_v_exc_break = NULL; + PyObject *__pyx_v_is_user_uncaught = NULL; + PyObject *__pyx_v_exc_info = NULL; + PyObject *__pyx_v_lines = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *(*__pyx_t_6)(PyObject *); + int __pyx_t_7; + int __pyx_t_8; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + int __pyx_t_12; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + int __pyx_t_15; + Py_ssize_t __pyx_t_16; + PyObject *__pyx_t_17 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("_should_stop_on_exception", 0); + __Pyx_INCREF(__pyx_v_frame); + + /* "_pydevd_bundle/pydevd_cython.pyx":352 + * + * # main_debugger, _filename, info, _thread = self._args + * main_debugger = self._args[0] # <<<<<<<<<<<<<< + * info = self._args[2] + * should_stop = False + */ + if (unlikely(__pyx_v_self->_args == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 352, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_self->_args, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 352, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_main_debugger = __pyx_t_1; + __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":353 + * # main_debugger, _filename, info, _thread = self._args + * main_debugger = self._args[0] + * info = self._args[2] # <<<<<<<<<<<<<< + * should_stop = False + * + */ + if (unlikely(__pyx_v_self->_args == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 353, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_self->_args, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 353, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo))))) __PYX_ERR(0, 353, __pyx_L1_error) + __pyx_v_info = ((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_t_1); + __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":354 + * main_debugger = self._args[0] + * info = self._args[2] + * should_stop = False # <<<<<<<<<<<<<< + * + * # 2 = 2 + */ + __pyx_v_should_stop = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":357 + * + * # 2 = 2 + * if info.pydev_state != 2: # and breakpoint is not None: # <<<<<<<<<<<<<< + * exception, value, trace = arg + * + */ + __pyx_t_2 = ((__pyx_v_info->pydev_state != 2) != 0); + if (__pyx_t_2) { + + /* "_pydevd_bundle/pydevd_cython.pyx":358 + * # 2 = 2 + * if info.pydev_state != 2: # and breakpoint is not None: + * exception, value, trace = arg # <<<<<<<<<<<<<< + * + * if trace is not None and hasattr(trace, 'tb_next'): + */ + if ((likely(PyTuple_CheckExact(__pyx_v_arg))) || (PyList_CheckExact(__pyx_v_arg))) { + PyObject* sequence = __pyx_v_arg; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 3)) { + if (size > 3) __Pyx_RaiseTooManyValuesError(3); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 358, __pyx_L1_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + if (likely(PyTuple_CheckExact(sequence))) { + __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_3 = PyTuple_GET_ITEM(sequence, 1); + __pyx_t_4 = PyTuple_GET_ITEM(sequence, 2); + } else { + __pyx_t_1 = PyList_GET_ITEM(sequence, 0); + __pyx_t_3 = PyList_GET_ITEM(sequence, 1); + __pyx_t_4 = PyList_GET_ITEM(sequence, 2); + } + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(__pyx_t_4); + #else + __pyx_t_1 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 358, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 358, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 358, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + #endif + } else { + Py_ssize_t index = -1; + __pyx_t_5 = PyObject_GetIter(__pyx_v_arg); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 358, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = Py_TYPE(__pyx_t_5)->tp_iternext; + index = 0; __pyx_t_1 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_1)) goto __pyx_L4_unpacking_failed; + __Pyx_GOTREF(__pyx_t_1); + index = 1; __pyx_t_3 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_3)) goto __pyx_L4_unpacking_failed; + __Pyx_GOTREF(__pyx_t_3); + index = 2; __pyx_t_4 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_4)) goto __pyx_L4_unpacking_failed; + __Pyx_GOTREF(__pyx_t_4); + if (__Pyx_IternextUnpackEndCheck(__pyx_t_6(__pyx_t_5), 3) < 0) __PYX_ERR(0, 358, __pyx_L1_error) + __pyx_t_6 = NULL; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L5_unpacking_done; + __pyx_L4_unpacking_failed:; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_6 = NULL; + if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); + __PYX_ERR(0, 358, __pyx_L1_error) + __pyx_L5_unpacking_done:; + } + __pyx_v_exception = __pyx_t_1; + __pyx_t_1 = 0; + __pyx_v_value = __pyx_t_3; + __pyx_t_3 = 0; + __pyx_v_trace = __pyx_t_4; + __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":360 + * exception, value, trace = arg + * + * if trace is not None and hasattr(trace, 'tb_next'): # <<<<<<<<<<<<<< + * # on jython trace is None on the first event and it may not have a tb_next. + * + */ + __pyx_t_7 = (__pyx_v_trace != Py_None); + __pyx_t_8 = (__pyx_t_7 != 0); + if (__pyx_t_8) { + } else { + __pyx_t_2 = __pyx_t_8; + goto __pyx_L7_bool_binop_done; + } + __pyx_t_8 = __Pyx_HasAttr(__pyx_v_trace, __pyx_n_s_tb_next); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(0, 360, __pyx_L1_error) + __pyx_t_7 = (__pyx_t_8 != 0); + __pyx_t_2 = __pyx_t_7; + __pyx_L7_bool_binop_done:; + if (__pyx_t_2) { + + /* "_pydevd_bundle/pydevd_cython.pyx":363 + * # on jython trace is None on the first event and it may not have a tb_next. + * + * should_stop = False # <<<<<<<<<<<<<< + * exception_breakpoint = None + * try: + */ + __pyx_v_should_stop = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":364 + * + * should_stop = False + * exception_breakpoint = None # <<<<<<<<<<<<<< + * try: + * if main_debugger.plugin is not None: + */ + __Pyx_INCREF(Py_None); + __pyx_v_exception_breakpoint = Py_None; + + /* "_pydevd_bundle/pydevd_cython.pyx":365 + * should_stop = False + * exception_breakpoint = None + * try: # <<<<<<<<<<<<<< + * if main_debugger.plugin is not None: + * result = main_debugger.plugin.exception_break(main_debugger, self, frame, self._args, arg) + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_9); + __Pyx_XGOTREF(__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_11); + /*try:*/ { + + /* "_pydevd_bundle/pydevd_cython.pyx":366 + * exception_breakpoint = None + * try: + * if main_debugger.plugin is not None: # <<<<<<<<<<<<<< + * result = main_debugger.plugin.exception_break(main_debugger, self, frame, self._args, arg) + * if result: + */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_plugin); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 366, __pyx_L9_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_2 = (__pyx_t_4 != Py_None); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_7 = (__pyx_t_2 != 0); + if (__pyx_t_7) { + + /* "_pydevd_bundle/pydevd_cython.pyx":367 + * try: + * if main_debugger.plugin is not None: + * result = main_debugger.plugin.exception_break(main_debugger, self, frame, self._args, arg) # <<<<<<<<<<<<<< + * if result: + * should_stop, frame = result + */ + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_plugin); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 367, __pyx_L9_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_exception_break); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 367, __pyx_L9_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + __pyx_t_12 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + __pyx_t_12 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[6] = {__pyx_t_3, __pyx_v_main_debugger, ((PyObject *)__pyx_v_self), __pyx_v_frame, __pyx_v_self->_args, __pyx_v_arg}; + __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_12, 5+__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 367, __pyx_L9_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_4); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[6] = {__pyx_t_3, __pyx_v_main_debugger, ((PyObject *)__pyx_v_self), __pyx_v_frame, __pyx_v_self->_args, __pyx_v_arg}; + __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_12, 5+__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 367, __pyx_L9_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_4); + } else + #endif + { + __pyx_t_5 = PyTuple_New(5+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 367, __pyx_L9_error) + __Pyx_GOTREF(__pyx_t_5); + if (__pyx_t_3) { + __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL; + } + __Pyx_INCREF(__pyx_v_main_debugger); + __Pyx_GIVEREF(__pyx_v_main_debugger); + PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_12, __pyx_v_main_debugger); + __Pyx_INCREF(((PyObject *)__pyx_v_self)); + __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); + PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_12, ((PyObject *)__pyx_v_self)); + __Pyx_INCREF(__pyx_v_frame); + __Pyx_GIVEREF(__pyx_v_frame); + PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_12, __pyx_v_frame); + __Pyx_INCREF(__pyx_v_self->_args); + __Pyx_GIVEREF(__pyx_v_self->_args); + PyTuple_SET_ITEM(__pyx_t_5, 3+__pyx_t_12, __pyx_v_self->_args); + __Pyx_INCREF(__pyx_v_arg); + __Pyx_GIVEREF(__pyx_v_arg); + PyTuple_SET_ITEM(__pyx_t_5, 4+__pyx_t_12, __pyx_v_arg); + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 367, __pyx_L9_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_result = __pyx_t_4; + __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":368 + * if main_debugger.plugin is not None: + * result = main_debugger.plugin.exception_break(main_debugger, self, frame, self._args, arg) + * if result: # <<<<<<<<<<<<<< + * should_stop, frame = result + * except: + */ + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_result); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 368, __pyx_L9_error) + if (__pyx_t_7) { + + /* "_pydevd_bundle/pydevd_cython.pyx":369 + * result = main_debugger.plugin.exception_break(main_debugger, self, frame, self._args, arg) + * if result: + * should_stop, frame = result # <<<<<<<<<<<<<< + * except: + * pydev_log.exception() + */ + if ((likely(PyTuple_CheckExact(__pyx_v_result))) || (PyList_CheckExact(__pyx_v_result))) { + PyObject* sequence = __pyx_v_result; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 2)) { + if (size > 2) __Pyx_RaiseTooManyValuesError(2); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 369, __pyx_L9_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + if (likely(PyTuple_CheckExact(sequence))) { + __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_1 = PyTuple_GET_ITEM(sequence, 1); + } else { + __pyx_t_4 = PyList_GET_ITEM(sequence, 0); + __pyx_t_1 = PyList_GET_ITEM(sequence, 1); + } + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(__pyx_t_1); + #else + __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 369, __pyx_L9_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 369, __pyx_L9_error) + __Pyx_GOTREF(__pyx_t_1); + #endif + } else { + Py_ssize_t index = -1; + __pyx_t_5 = PyObject_GetIter(__pyx_v_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 369, __pyx_L9_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = Py_TYPE(__pyx_t_5)->tp_iternext; + index = 0; __pyx_t_4 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_4)) goto __pyx_L17_unpacking_failed; + __Pyx_GOTREF(__pyx_t_4); + index = 1; __pyx_t_1 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_1)) goto __pyx_L17_unpacking_failed; + __Pyx_GOTREF(__pyx_t_1); + if (__Pyx_IternextUnpackEndCheck(__pyx_t_6(__pyx_t_5), 2) < 0) __PYX_ERR(0, 369, __pyx_L9_error) + __pyx_t_6 = NULL; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L18_unpacking_done; + __pyx_L17_unpacking_failed:; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_6 = NULL; + if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); + __PYX_ERR(0, 369, __pyx_L9_error) + __pyx_L18_unpacking_done:; + } + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 369, __pyx_L9_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_v_should_stop = __pyx_t_7; + __Pyx_DECREF_SET(__pyx_v_frame, __pyx_t_1); + __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":368 + * if main_debugger.plugin is not None: + * result = main_debugger.plugin.exception_break(main_debugger, self, frame, self._args, arg) + * if result: # <<<<<<<<<<<<<< + * should_stop, frame = result + * except: + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":366 + * exception_breakpoint = None + * try: + * if main_debugger.plugin is not None: # <<<<<<<<<<<<<< + * result = main_debugger.plugin.exception_break(main_debugger, self, frame, self._args, arg) + * if result: + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":365 + * should_stop = False + * exception_breakpoint = None + * try: # <<<<<<<<<<<<<< + * if main_debugger.plugin is not None: + * result = main_debugger.plugin.exception_break(main_debugger, self, frame, self._args, arg) + */ + } + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + goto __pyx_L14_try_end; + __pyx_L9_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":370 + * if result: + * should_stop, frame = result + * except: # <<<<<<<<<<<<<< + * pydev_log.exception() + * + */ + /*except:*/ { + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame._should_stop_on_exception", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_5) < 0) __PYX_ERR(0, 370, __pyx_L11_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GOTREF(__pyx_t_5); + + /* "_pydevd_bundle/pydevd_cython.pyx":371 + * should_stop, frame = result + * except: + * pydev_log.exception() # <<<<<<<<<<<<<< + * + * if not should_stop: + */ + __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_pydev_log); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 371, __pyx_L11_except_error) + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_exception); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 371, __pyx_L11_except_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_t_13 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) { + __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_14); + if (likely(__pyx_t_13)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); + __Pyx_INCREF(__pyx_t_13); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_14, function); + } + } + __pyx_t_3 = (__pyx_t_13) ? __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_13) : __Pyx_PyObject_CallNoArg(__pyx_t_14); + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 371, __pyx_L11_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L10_exception_handled; + } + __pyx_L11_except_error:; + + /* "_pydevd_bundle/pydevd_cython.pyx":365 + * should_stop = False + * exception_breakpoint = None + * try: # <<<<<<<<<<<<<< + * if main_debugger.plugin is not None: + * result = main_debugger.plugin.exception_break(main_debugger, self, frame, self._args, arg) + */ + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); + goto __pyx_L1_error; + __pyx_L10_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); + __pyx_L14_try_end:; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":373 + * pydev_log.exception() + * + * if not should_stop: # <<<<<<<<<<<<<< + * # Apply checks that don't need the exception breakpoint (where we shouldn't ever stop). + * if exception == SystemExit and main_debugger.ignore_system_exit_code(value): + */ + __pyx_t_7 = ((!(__pyx_v_should_stop != 0)) != 0); + if (__pyx_t_7) { + + /* "_pydevd_bundle/pydevd_cython.pyx":375 + * if not should_stop: + * # Apply checks that don't need the exception breakpoint (where we shouldn't ever stop). + * if exception == SystemExit and main_debugger.ignore_system_exit_code(value): # <<<<<<<<<<<<<< + * pass + * + */ + __pyx_t_5 = PyObject_RichCompare(__pyx_v_exception, __pyx_builtin_SystemExit, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 375, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 375, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (__pyx_t_2) { + } else { + __pyx_t_7 = __pyx_t_2; + goto __pyx_L23_bool_binop_done; + } + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_ignore_system_exit_code); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 375, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_1, __pyx_v_value) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_value); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 375, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 375, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_7 = __pyx_t_2; + __pyx_L23_bool_binop_done:; + if (__pyx_t_7) { + goto __pyx_L22; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":378 + * pass + * + * elif exception in (GeneratorExit, StopIteration, StopAsyncIteration): # <<<<<<<<<<<<<< + * # These exceptions are control-flow related (they work as a generator + * # pause), so, we shouldn't stop on them. + */ + __Pyx_INCREF(__pyx_v_exception); + __pyx_t_5 = __pyx_v_exception; + __pyx_t_4 = PyObject_RichCompare(__pyx_t_5, __pyx_builtin_GeneratorExit, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 378, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 378, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (!__pyx_t_2) { + } else { + __pyx_t_7 = __pyx_t_2; + goto __pyx_L25_bool_binop_done; + } + __pyx_t_4 = PyObject_RichCompare(__pyx_t_5, __pyx_builtin_StopIteration, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 378, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 378, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (!__pyx_t_2) { + } else { + __pyx_t_7 = __pyx_t_2; + goto __pyx_L25_bool_binop_done; + } + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_StopAsyncIteration); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 378, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = PyObject_RichCompare(__pyx_t_5, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 378, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 378, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_7 = __pyx_t_2; + __pyx_L25_bool_binop_done:; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_2 = (__pyx_t_7 != 0); + if (__pyx_t_2) { + goto __pyx_L22; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":383 + * pass + * + * elif ignore_exception_trace(trace): # <<<<<<<<<<<<<< + * pass + * + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_ignore_exception_trace); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 383, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_5 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_4, __pyx_v_trace) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_trace); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 383, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 383, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (__pyx_t_2) { + goto __pyx_L22; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":387 + * + * else: + * was_just_raised = trace.tb_next is None # <<<<<<<<<<<<<< + * + * # It was not handled by any plugin, lets check exception breakpoints. + */ + /*else*/ { + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_trace, __pyx_n_s_tb_next); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 387, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = (__pyx_t_5 == Py_None); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_v_was_just_raised = __pyx_t_2; + + /* "_pydevd_bundle/pydevd_cython.pyx":390 + * + * # It was not handled by any plugin, lets check exception breakpoints. + * check_excs = [] # <<<<<<<<<<<<<< + * + * # Note: check user unhandled before regular exceptions. + */ + __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 390, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_v_check_excs = ((PyObject*)__pyx_t_5); + __pyx_t_5 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":393 + * + * # Note: check user unhandled before regular exceptions. + * exc_break_user = main_debugger.get_exception_breakpoint( # <<<<<<<<<<<<<< + * exception, main_debugger.break_on_user_uncaught_exceptions) + * if exc_break_user is not None: + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_get_exception_breakpoint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 393, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + + /* "_pydevd_bundle/pydevd_cython.pyx":394 + * # Note: check user unhandled before regular exceptions. + * exc_break_user = main_debugger.get_exception_breakpoint( + * exception, main_debugger.break_on_user_uncaught_exceptions) # <<<<<<<<<<<<<< + * if exc_break_user is not None: + * check_excs.append((exc_break_user, True)) + */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_break_on_user_uncaught_exception); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 394, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = NULL; + __pyx_t_12 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + __pyx_t_12 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_exception, __pyx_t_4}; + __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 393, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_exception, __pyx_t_4}; + __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 393, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } else + #endif + { + __pyx_t_14 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 393, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_14); + if (__pyx_t_3) { + __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_3); __pyx_t_3 = NULL; + } + __Pyx_INCREF(__pyx_v_exception); + __Pyx_GIVEREF(__pyx_v_exception); + PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_12, __pyx_v_exception); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_12, __pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_14, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 393, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_exc_break_user = __pyx_t_5; + __pyx_t_5 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":395 + * exc_break_user = main_debugger.get_exception_breakpoint( + * exception, main_debugger.break_on_user_uncaught_exceptions) + * if exc_break_user is not None: # <<<<<<<<<<<<<< + * check_excs.append((exc_break_user, True)) + * + */ + __pyx_t_2 = (__pyx_v_exc_break_user != Py_None); + __pyx_t_7 = (__pyx_t_2 != 0); + if (__pyx_t_7) { + + /* "_pydevd_bundle/pydevd_cython.pyx":396 + * exception, main_debugger.break_on_user_uncaught_exceptions) + * if exc_break_user is not None: + * check_excs.append((exc_break_user, True)) # <<<<<<<<<<<<<< + * + * exc_break_caught = main_debugger.get_exception_breakpoint( + */ + __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 396, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(__pyx_v_exc_break_user); + __Pyx_GIVEREF(__pyx_v_exc_break_user); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_exc_break_user); + __Pyx_INCREF(Py_True); + __Pyx_GIVEREF(Py_True); + PyTuple_SET_ITEM(__pyx_t_5, 1, Py_True); + __pyx_t_15 = __Pyx_PyList_Append(__pyx_v_check_excs, __pyx_t_5); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 396, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":395 + * exc_break_user = main_debugger.get_exception_breakpoint( + * exception, main_debugger.break_on_user_uncaught_exceptions) + * if exc_break_user is not None: # <<<<<<<<<<<<<< + * check_excs.append((exc_break_user, True)) + * + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":398 + * check_excs.append((exc_break_user, True)) + * + * exc_break_caught = main_debugger.get_exception_breakpoint( # <<<<<<<<<<<<<< + * exception, main_debugger.break_on_caught_exceptions) + * if exc_break_caught is not None: + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_get_exception_breakpoint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 398, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + + /* "_pydevd_bundle/pydevd_cython.pyx":399 + * + * exc_break_caught = main_debugger.get_exception_breakpoint( + * exception, main_debugger.break_on_caught_exceptions) # <<<<<<<<<<<<<< + * if exc_break_caught is not None: + * check_excs.append((exc_break_caught, False)) + */ + __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_break_on_caught_exceptions); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 399, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_4 = NULL; + __pyx_t_12 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + __pyx_t_12 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_exception, __pyx_t_14}; + __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 398, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_exception, __pyx_t_14}; + __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 398, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + } else + #endif + { + __pyx_t_3 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 398, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (__pyx_t_4) { + __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __pyx_t_4 = NULL; + } + __Pyx_INCREF(__pyx_v_exception); + __Pyx_GIVEREF(__pyx_v_exception); + PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_12, __pyx_v_exception); + __Pyx_GIVEREF(__pyx_t_14); + PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_12, __pyx_t_14); + __pyx_t_14 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 398, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_exc_break_caught = __pyx_t_5; + __pyx_t_5 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":400 + * exc_break_caught = main_debugger.get_exception_breakpoint( + * exception, main_debugger.break_on_caught_exceptions) + * if exc_break_caught is not None: # <<<<<<<<<<<<<< + * check_excs.append((exc_break_caught, False)) + * + */ + __pyx_t_7 = (__pyx_v_exc_break_caught != Py_None); + __pyx_t_2 = (__pyx_t_7 != 0); + if (__pyx_t_2) { + + /* "_pydevd_bundle/pydevd_cython.pyx":401 + * exception, main_debugger.break_on_caught_exceptions) + * if exc_break_caught is not None: + * check_excs.append((exc_break_caught, False)) # <<<<<<<<<<<<<< + * + * for exc_break, is_user_uncaught in check_excs: + */ + __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 401, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(__pyx_v_exc_break_caught); + __Pyx_GIVEREF(__pyx_v_exc_break_caught); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_exc_break_caught); + __Pyx_INCREF(Py_False); + __Pyx_GIVEREF(Py_False); + PyTuple_SET_ITEM(__pyx_t_5, 1, Py_False); + __pyx_t_15 = __Pyx_PyList_Append(__pyx_v_check_excs, __pyx_t_5); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 401, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":400 + * exc_break_caught = main_debugger.get_exception_breakpoint( + * exception, main_debugger.break_on_caught_exceptions) + * if exc_break_caught is not None: # <<<<<<<<<<<<<< + * check_excs.append((exc_break_caught, False)) + * + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":403 + * check_excs.append((exc_break_caught, False)) + * + * for exc_break, is_user_uncaught in check_excs: # <<<<<<<<<<<<<< + * # Initially mark that it should stop and then go into exclusions. + * should_stop = True + */ + __pyx_t_5 = __pyx_v_check_excs; __Pyx_INCREF(__pyx_t_5); __pyx_t_16 = 0; + for (;;) { + if (__pyx_t_16 >= PyList_GET_SIZE(__pyx_t_5)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_1 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_16); __Pyx_INCREF(__pyx_t_1); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 403, __pyx_L1_error) + #else + __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 403, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + #endif + if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) { + PyObject* sequence = __pyx_t_1; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 2)) { + if (size > 2) __Pyx_RaiseTooManyValuesError(2); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 403, __pyx_L1_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + if (likely(PyTuple_CheckExact(sequence))) { + __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_14 = PyTuple_GET_ITEM(sequence, 1); + } else { + __pyx_t_3 = PyList_GET_ITEM(sequence, 0); + __pyx_t_14 = PyList_GET_ITEM(sequence, 1); + } + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(__pyx_t_14); + #else + __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 403, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_14 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 403, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_14); + #endif + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } else { + Py_ssize_t index = -1; + __pyx_t_4 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 403, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_6 = Py_TYPE(__pyx_t_4)->tp_iternext; + index = 0; __pyx_t_3 = __pyx_t_6(__pyx_t_4); if (unlikely(!__pyx_t_3)) goto __pyx_L32_unpacking_failed; + __Pyx_GOTREF(__pyx_t_3); + index = 1; __pyx_t_14 = __pyx_t_6(__pyx_t_4); if (unlikely(!__pyx_t_14)) goto __pyx_L32_unpacking_failed; + __Pyx_GOTREF(__pyx_t_14); + if (__Pyx_IternextUnpackEndCheck(__pyx_t_6(__pyx_t_4), 2) < 0) __PYX_ERR(0, 403, __pyx_L1_error) + __pyx_t_6 = NULL; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L33_unpacking_done; + __pyx_L32_unpacking_failed:; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_6 = NULL; + if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); + __PYX_ERR(0, 403, __pyx_L1_error) + __pyx_L33_unpacking_done:; + } + __Pyx_XDECREF_SET(__pyx_v_exc_break, __pyx_t_3); + __pyx_t_3 = 0; + __Pyx_XDECREF_SET(__pyx_v_is_user_uncaught, __pyx_t_14); + __pyx_t_14 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":405 + * for exc_break, is_user_uncaught in check_excs: + * # Initially mark that it should stop and then go into exclusions. + * should_stop = True # <<<<<<<<<<<<<< + * + * if main_debugger.exclude_exception_by_filter(exc_break, trace): + */ + __pyx_v_should_stop = 1; + + /* "_pydevd_bundle/pydevd_cython.pyx":407 + * should_stop = True + * + * if main_debugger.exclude_exception_by_filter(exc_break, trace): # <<<<<<<<<<<<<< + * pydev_log.debug("Ignore exception %s in library %s -- (%s)" % (exception, frame.f_code.co_filename, frame.f_code.co_name)) + * should_stop = False + */ + __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_exclude_exception_by_filter); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 407, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_3 = NULL; + __pyx_t_12 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_14); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_14, function); + __pyx_t_12 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_14)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_exc_break, __pyx_v_trace}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 407, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_14)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_exc_break, __pyx_v_trace}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 407, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else + #endif + { + __pyx_t_4 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 407, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + if (__pyx_t_3) { + __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __pyx_t_3 = NULL; + } + __Pyx_INCREF(__pyx_v_exc_break); + __Pyx_GIVEREF(__pyx_v_exc_break); + PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_12, __pyx_v_exc_break); + __Pyx_INCREF(__pyx_v_trace); + __Pyx_GIVEREF(__pyx_v_trace); + PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_12, __pyx_v_trace); + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 407, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 407, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (__pyx_t_2) { + + /* "_pydevd_bundle/pydevd_cython.pyx":408 + * + * if main_debugger.exclude_exception_by_filter(exc_break, trace): + * pydev_log.debug("Ignore exception %s in library %s -- (%s)" % (exception, frame.f_code.co_filename, frame.f_code.co_name)) # <<<<<<<<<<<<<< + * should_stop = False + * + */ + __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_pydev_log); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 408, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_debug); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 408, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 408, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_co_filename); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 408, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 408, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_co_name); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 408, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_14 = PyTuple_New(3); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 408, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_INCREF(__pyx_v_exception); + __Pyx_GIVEREF(__pyx_v_exception); + PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_v_exception); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_13); + PyTuple_SET_ITEM(__pyx_t_14, 2, __pyx_t_13); + __pyx_t_3 = 0; + __pyx_t_13 = 0; + __pyx_t_13 = __Pyx_PyString_Format(__pyx_kp_s_Ignore_exception_s_in_library_s, __pyx_t_14); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 408, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_14 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_14)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_14); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_1 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_14, __pyx_t_13) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_13); + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 408, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":409 + * if main_debugger.exclude_exception_by_filter(exc_break, trace): + * pydev_log.debug("Ignore exception %s in library %s -- (%s)" % (exception, frame.f_code.co_filename, frame.f_code.co_name)) + * should_stop = False # <<<<<<<<<<<<<< + * + * elif exc_break.condition is not None and \ + */ + __pyx_v_should_stop = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":407 + * should_stop = True + * + * if main_debugger.exclude_exception_by_filter(exc_break, trace): # <<<<<<<<<<<<<< + * pydev_log.debug("Ignore exception %s in library %s -- (%s)" % (exception, frame.f_code.co_filename, frame.f_code.co_name)) + * should_stop = False + */ + goto __pyx_L34; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":411 + * should_stop = False + * + * elif exc_break.condition is not None and \ # <<<<<<<<<<<<<< + * not main_debugger.handle_breakpoint_condition(info, exc_break, frame): + * should_stop = False + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_exc_break, __pyx_n_s_condition); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 411, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_7 = (__pyx_t_1 != Py_None); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_8 = (__pyx_t_7 != 0); + if (__pyx_t_8) { + } else { + __pyx_t_2 = __pyx_t_8; + goto __pyx_L35_bool_binop_done; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":412 + * + * elif exc_break.condition is not None and \ + * not main_debugger.handle_breakpoint_condition(info, exc_break, frame): # <<<<<<<<<<<<<< + * should_stop = False + * + */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_handle_breakpoint_condition); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 412, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_13 = NULL; + __pyx_t_12 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_13)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_13); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + __pyx_t_12 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[4] = {__pyx_t_13, ((PyObject *)__pyx_v_info), __pyx_v_exc_break, __pyx_v_frame}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 412, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[4] = {__pyx_t_13, ((PyObject *)__pyx_v_info), __pyx_v_exc_break, __pyx_v_frame}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 412, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else + #endif + { + __pyx_t_14 = PyTuple_New(3+__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 412, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_14); + if (__pyx_t_13) { + __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_13); __pyx_t_13 = NULL; + } + __Pyx_INCREF(((PyObject *)__pyx_v_info)); + __Pyx_GIVEREF(((PyObject *)__pyx_v_info)); + PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_12, ((PyObject *)__pyx_v_info)); + __Pyx_INCREF(__pyx_v_exc_break); + __Pyx_GIVEREF(__pyx_v_exc_break); + PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_12, __pyx_v_exc_break); + __Pyx_INCREF(__pyx_v_frame); + __Pyx_GIVEREF(__pyx_v_frame); + PyTuple_SET_ITEM(__pyx_t_14, 2+__pyx_t_12, __pyx_v_frame); + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_14, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 412, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 412, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_7 = ((!__pyx_t_8) != 0); + __pyx_t_2 = __pyx_t_7; + __pyx_L35_bool_binop_done:; + + /* "_pydevd_bundle/pydevd_cython.pyx":411 + * should_stop = False + * + * elif exc_break.condition is not None and \ # <<<<<<<<<<<<<< + * not main_debugger.handle_breakpoint_condition(info, exc_break, frame): + * should_stop = False + */ + if (__pyx_t_2) { + + /* "_pydevd_bundle/pydevd_cython.pyx":413 + * elif exc_break.condition is not None and \ + * not main_debugger.handle_breakpoint_condition(info, exc_break, frame): + * should_stop = False # <<<<<<<<<<<<<< + * + * elif is_user_uncaught: + */ + __pyx_v_should_stop = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":411 + * should_stop = False + * + * elif exc_break.condition is not None and \ # <<<<<<<<<<<<<< + * not main_debugger.handle_breakpoint_condition(info, exc_break, frame): + * should_stop = False + */ + goto __pyx_L34; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":415 + * should_stop = False + * + * elif is_user_uncaught: # <<<<<<<<<<<<<< + * # Note: we don't stop here, we just collect the exc_info to use later on... + * should_stop = False + */ + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_is_user_uncaught); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 415, __pyx_L1_error) + if (__pyx_t_2) { + + /* "_pydevd_bundle/pydevd_cython.pyx":417 + * elif is_user_uncaught: + * # Note: we don't stop here, we just collect the exc_info to use later on... + * should_stop = False # <<<<<<<<<<<<<< + * if not main_debugger.apply_files_filter(frame, frame.f_code.co_filename, True) \ + * and (frame.f_back is None or main_debugger.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, True)): + */ + __pyx_v_should_stop = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":418 + * # Note: we don't stop here, we just collect the exc_info to use later on... + * should_stop = False + * if not main_debugger.apply_files_filter(frame, frame.f_code.co_filename, True) \ # <<<<<<<<<<<<<< + * and (frame.f_back is None or main_debugger.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, True)): + * # User uncaught means that we're currently in user code but the code + */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_apply_files_filter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 418, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 418, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_co_filename); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 418, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_14 = NULL; + __pyx_t_12 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_14)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_14); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + __pyx_t_12 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[4] = {__pyx_t_14, __pyx_v_frame, __pyx_t_13, Py_True}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 418, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[4] = {__pyx_t_14, __pyx_v_frame, __pyx_t_13, Py_True}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 418, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + } else + #endif + { + __pyx_t_3 = PyTuple_New(3+__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 418, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (__pyx_t_14) { + __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_14); __pyx_t_14 = NULL; + } + __Pyx_INCREF(__pyx_v_frame); + __Pyx_GIVEREF(__pyx_v_frame); + PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_12, __pyx_v_frame); + __Pyx_GIVEREF(__pyx_t_13); + PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_12, __pyx_t_13); + __Pyx_INCREF(Py_True); + __Pyx_GIVEREF(Py_True); + PyTuple_SET_ITEM(__pyx_t_3, 2+__pyx_t_12, Py_True); + __pyx_t_13 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 418, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 418, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_8 = ((!__pyx_t_7) != 0); + if (__pyx_t_8) { + } else { + __pyx_t_2 = __pyx_t_8; + goto __pyx_L38_bool_binop_done; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":419 + * should_stop = False + * if not main_debugger.apply_files_filter(frame, frame.f_code.co_filename, True) \ + * and (frame.f_back is None or main_debugger.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, True)): # <<<<<<<<<<<<<< + * # User uncaught means that we're currently in user code but the code + * # up the stack is library code. + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 419, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_8 = (__pyx_t_1 == Py_None); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_7 = (__pyx_t_8 != 0); + if (!__pyx_t_7) { + } else { + __pyx_t_2 = __pyx_t_7; + goto __pyx_L38_bool_binop_done; + } + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_apply_files_filter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 419, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 419, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 419, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_f_code); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 419, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_co_filename); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 419, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_14 = NULL; + __pyx_t_12 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_14)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_14); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + __pyx_t_12 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[4] = {__pyx_t_14, __pyx_t_3, __pyx_t_13, Py_True}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 419, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[4] = {__pyx_t_14, __pyx_t_3, __pyx_t_13, Py_True}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 419, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + } else + #endif + { + __pyx_t_17 = PyTuple_New(3+__pyx_t_12); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 419, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_17); + if (__pyx_t_14) { + __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_14); __pyx_t_14 = NULL; + } + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_17, 0+__pyx_t_12, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_13); + PyTuple_SET_ITEM(__pyx_t_17, 1+__pyx_t_12, __pyx_t_13); + __Pyx_INCREF(Py_True); + __Pyx_GIVEREF(Py_True); + PyTuple_SET_ITEM(__pyx_t_17, 2+__pyx_t_12, Py_True); + __pyx_t_3 = 0; + __pyx_t_13 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_17, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 419, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 419, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_2 = __pyx_t_7; + __pyx_L38_bool_binop_done:; + + /* "_pydevd_bundle/pydevd_cython.pyx":418 + * # Note: we don't stop here, we just collect the exc_info to use later on... + * should_stop = False + * if not main_debugger.apply_files_filter(frame, frame.f_code.co_filename, True) \ # <<<<<<<<<<<<<< + * and (frame.f_back is None or main_debugger.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, True)): + * # User uncaught means that we're currently in user code but the code + */ + if (__pyx_t_2) { + + /* "_pydevd_bundle/pydevd_cython.pyx":422 + * # User uncaught means that we're currently in user code but the code + * # up the stack is library code. + * exc_info = self.exc_info # <<<<<<<<<<<<<< + * if not exc_info: + * exc_info = (arg, frame.f_lineno, set([frame.f_lineno])) + */ + __pyx_t_1 = __pyx_v_self->exc_info; + __Pyx_INCREF(__pyx_t_1); + __Pyx_XDECREF_SET(__pyx_v_exc_info, __pyx_t_1); + __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":423 + * # up the stack is library code. + * exc_info = self.exc_info + * if not exc_info: # <<<<<<<<<<<<<< + * exc_info = (arg, frame.f_lineno, set([frame.f_lineno])) + * else: + */ + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_exc_info); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 423, __pyx_L1_error) + __pyx_t_7 = ((!__pyx_t_2) != 0); + if (__pyx_t_7) { + + /* "_pydevd_bundle/pydevd_cython.pyx":424 + * exc_info = self.exc_info + * if not exc_info: + * exc_info = (arg, frame.f_lineno, set([frame.f_lineno])) # <<<<<<<<<<<<<< + * else: + * lines = exc_info[2] + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_lineno); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 424, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_lineno); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 424, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_17 = PySet_New(0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 424, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_17); + if (PySet_Add(__pyx_t_17, __pyx_t_4) < 0) __PYX_ERR(0, 424, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 424, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_INCREF(__pyx_v_arg); + __Pyx_GIVEREF(__pyx_v_arg); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_arg); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_17); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_17); + __pyx_t_1 = 0; + __pyx_t_17 = 0; + __Pyx_DECREF_SET(__pyx_v_exc_info, __pyx_t_4); + __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":423 + * # up the stack is library code. + * exc_info = self.exc_info + * if not exc_info: # <<<<<<<<<<<<<< + * exc_info = (arg, frame.f_lineno, set([frame.f_lineno])) + * else: + */ + goto __pyx_L41; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":426 + * exc_info = (arg, frame.f_lineno, set([frame.f_lineno])) + * else: + * lines = exc_info[2] # <<<<<<<<<<<<<< + * lines.add(frame.f_lineno) + * exc_info = (arg, frame.f_lineno, lines) + */ + /*else*/ { + __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_exc_info, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 426, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_XDECREF_SET(__pyx_v_lines, __pyx_t_4); + __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":427 + * else: + * lines = exc_info[2] + * lines.add(frame.f_lineno) # <<<<<<<<<<<<<< + * exc_info = (arg, frame.f_lineno, lines) + * self.exc_info = exc_info + */ + __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_lines, __pyx_n_s_add); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 427, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_17); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_lineno); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 427, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_13 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_17))) { + __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_17); + if (likely(__pyx_t_13)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17); + __Pyx_INCREF(__pyx_t_13); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_17, function); + } + } + __pyx_t_4 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_17, __pyx_t_13, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_17, __pyx_t_1); + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 427, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":428 + * lines = exc_info[2] + * lines.add(frame.f_lineno) + * exc_info = (arg, frame.f_lineno, lines) # <<<<<<<<<<<<<< + * self.exc_info = exc_info + * else: + */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_lineno); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 428, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_17 = PyTuple_New(3); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 428, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_17); + __Pyx_INCREF(__pyx_v_arg); + __Pyx_GIVEREF(__pyx_v_arg); + PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_v_arg); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_17, 1, __pyx_t_4); + __Pyx_INCREF(__pyx_v_lines); + __Pyx_GIVEREF(__pyx_v_lines); + PyTuple_SET_ITEM(__pyx_t_17, 2, __pyx_v_lines); + __pyx_t_4 = 0; + __Pyx_DECREF_SET(__pyx_v_exc_info, __pyx_t_17); + __pyx_t_17 = 0; + } + __pyx_L41:; + + /* "_pydevd_bundle/pydevd_cython.pyx":429 + * lines.add(frame.f_lineno) + * exc_info = (arg, frame.f_lineno, lines) + * self.exc_info = exc_info # <<<<<<<<<<<<<< + * else: + * # I.e.: these are only checked if we're not dealing with user uncaught exceptions. + */ + __Pyx_INCREF(__pyx_v_exc_info); + __Pyx_GIVEREF(__pyx_v_exc_info); + __Pyx_GOTREF(__pyx_v_self->exc_info); + __Pyx_DECREF(__pyx_v_self->exc_info); + __pyx_v_self->exc_info = __pyx_v_exc_info; + + /* "_pydevd_bundle/pydevd_cython.pyx":418 + * # Note: we don't stop here, we just collect the exc_info to use later on... + * should_stop = False + * if not main_debugger.apply_files_filter(frame, frame.f_code.co_filename, True) \ # <<<<<<<<<<<<<< + * and (frame.f_back is None or main_debugger.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, True)): + * # User uncaught means that we're currently in user code but the code + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":415 + * should_stop = False + * + * elif is_user_uncaught: # <<<<<<<<<<<<<< + * # Note: we don't stop here, we just collect the exc_info to use later on... + * should_stop = False + */ + goto __pyx_L34; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":432 + * else: + * # I.e.: these are only checked if we're not dealing with user uncaught exceptions. + * if exc_break.notify_on_first_raise_only and main_debugger.skip_on_exceptions_thrown_in_same_context \ # <<<<<<<<<<<<<< + * and not was_just_raised and not just_raised(trace.tb_next): + * # In this case we never stop if it was just raised, so, to know if it was the first we + */ + /*else*/ { + __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_exc_break, __pyx_n_s_notify_on_first_raise_only); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 432, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_17); + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_17); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 432, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + if (__pyx_t_2) { + } else { + __pyx_t_7 = __pyx_t_2; + goto __pyx_L43_bool_binop_done; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":433 + * # I.e.: these are only checked if we're not dealing with user uncaught exceptions. + * if exc_break.notify_on_first_raise_only and main_debugger.skip_on_exceptions_thrown_in_same_context \ + * and not was_just_raised and not just_raised(trace.tb_next): # <<<<<<<<<<<<<< + * # In this case we never stop if it was just raised, so, to know if it was the first we + * # need to check if we're in the 2nd method. + */ + __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_skip_on_exceptions_thrown_in_sam); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 432, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_17); + + /* "_pydevd_bundle/pydevd_cython.pyx":432 + * else: + * # I.e.: these are only checked if we're not dealing with user uncaught exceptions. + * if exc_break.notify_on_first_raise_only and main_debugger.skip_on_exceptions_thrown_in_same_context \ # <<<<<<<<<<<<<< + * and not was_just_raised and not just_raised(trace.tb_next): + * # In this case we never stop if it was just raised, so, to know if it was the first we + */ + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_17); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 432, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + if (__pyx_t_2) { + } else { + __pyx_t_7 = __pyx_t_2; + goto __pyx_L43_bool_binop_done; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":433 + * # I.e.: these are only checked if we're not dealing with user uncaught exceptions. + * if exc_break.notify_on_first_raise_only and main_debugger.skip_on_exceptions_thrown_in_same_context \ + * and not was_just_raised and not just_raised(trace.tb_next): # <<<<<<<<<<<<<< + * # In this case we never stop if it was just raised, so, to know if it was the first we + * # need to check if we're in the 2nd method. + */ + __pyx_t_2 = ((!(__pyx_v_was_just_raised != 0)) != 0); + if (__pyx_t_2) { + } else { + __pyx_t_7 = __pyx_t_2; + goto __pyx_L43_bool_binop_done; + } + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_just_raised); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 433, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_trace, __pyx_n_s_tb_next); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 433, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_13 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_13)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_13); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_17 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_13, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_1); + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 433, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_17); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_17); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 433, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + __pyx_t_8 = ((!__pyx_t_2) != 0); + __pyx_t_7 = __pyx_t_8; + __pyx_L43_bool_binop_done:; + + /* "_pydevd_bundle/pydevd_cython.pyx":432 + * else: + * # I.e.: these are only checked if we're not dealing with user uncaught exceptions. + * if exc_break.notify_on_first_raise_only and main_debugger.skip_on_exceptions_thrown_in_same_context \ # <<<<<<<<<<<<<< + * and not was_just_raised and not just_raised(trace.tb_next): + * # In this case we never stop if it was just raised, so, to know if it was the first we + */ + if (__pyx_t_7) { + + /* "_pydevd_bundle/pydevd_cython.pyx":436 + * # In this case we never stop if it was just raised, so, to know if it was the first we + * # need to check if we're in the 2nd method. + * should_stop = False # I.e.: we stop only when we're at the caller of a method that throws an exception # <<<<<<<<<<<<<< + * + * elif exc_break.notify_on_first_raise_only and not main_debugger.skip_on_exceptions_thrown_in_same_context \ + */ + __pyx_v_should_stop = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":432 + * else: + * # I.e.: these are only checked if we're not dealing with user uncaught exceptions. + * if exc_break.notify_on_first_raise_only and main_debugger.skip_on_exceptions_thrown_in_same_context \ # <<<<<<<<<<<<<< + * and not was_just_raised and not just_raised(trace.tb_next): + * # In this case we never stop if it was just raised, so, to know if it was the first we + */ + goto __pyx_L42; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":438 + * should_stop = False # I.e.: we stop only when we're at the caller of a method that throws an exception + * + * elif exc_break.notify_on_first_raise_only and not main_debugger.skip_on_exceptions_thrown_in_same_context \ # <<<<<<<<<<<<<< + * and not was_just_raised: + * should_stop = False # I.e.: we stop only when it was just raised + */ + __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_exc_break, __pyx_n_s_notify_on_first_raise_only); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 438, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_17); + __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_17); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 438, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + if (__pyx_t_8) { + } else { + __pyx_t_7 = __pyx_t_8; + goto __pyx_L47_bool_binop_done; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":439 + * + * elif exc_break.notify_on_first_raise_only and not main_debugger.skip_on_exceptions_thrown_in_same_context \ + * and not was_just_raised: # <<<<<<<<<<<<<< + * should_stop = False # I.e.: we stop only when it was just raised + * + */ + __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_skip_on_exceptions_thrown_in_sam); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 438, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_17); + + /* "_pydevd_bundle/pydevd_cython.pyx":438 + * should_stop = False # I.e.: we stop only when we're at the caller of a method that throws an exception + * + * elif exc_break.notify_on_first_raise_only and not main_debugger.skip_on_exceptions_thrown_in_same_context \ # <<<<<<<<<<<<<< + * and not was_just_raised: + * should_stop = False # I.e.: we stop only when it was just raised + */ + __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_17); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 438, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + __pyx_t_2 = ((!__pyx_t_8) != 0); + if (__pyx_t_2) { + } else { + __pyx_t_7 = __pyx_t_2; + goto __pyx_L47_bool_binop_done; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":439 + * + * elif exc_break.notify_on_first_raise_only and not main_debugger.skip_on_exceptions_thrown_in_same_context \ + * and not was_just_raised: # <<<<<<<<<<<<<< + * should_stop = False # I.e.: we stop only when it was just raised + * + */ + __pyx_t_2 = ((!(__pyx_v_was_just_raised != 0)) != 0); + __pyx_t_7 = __pyx_t_2; + __pyx_L47_bool_binop_done:; + + /* "_pydevd_bundle/pydevd_cython.pyx":438 + * should_stop = False # I.e.: we stop only when we're at the caller of a method that throws an exception + * + * elif exc_break.notify_on_first_raise_only and not main_debugger.skip_on_exceptions_thrown_in_same_context \ # <<<<<<<<<<<<<< + * and not was_just_raised: + * should_stop = False # I.e.: we stop only when it was just raised + */ + if (__pyx_t_7) { + + /* "_pydevd_bundle/pydevd_cython.pyx":440 + * elif exc_break.notify_on_first_raise_only and not main_debugger.skip_on_exceptions_thrown_in_same_context \ + * and not was_just_raised: + * should_stop = False # I.e.: we stop only when it was just raised # <<<<<<<<<<<<<< + * + * elif was_just_raised and main_debugger.skip_on_exceptions_thrown_in_same_context: + */ + __pyx_v_should_stop = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":438 + * should_stop = False # I.e.: we stop only when we're at the caller of a method that throws an exception + * + * elif exc_break.notify_on_first_raise_only and not main_debugger.skip_on_exceptions_thrown_in_same_context \ # <<<<<<<<<<<<<< + * and not was_just_raised: + * should_stop = False # I.e.: we stop only when it was just raised + */ + goto __pyx_L42; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":442 + * should_stop = False # I.e.: we stop only when it was just raised + * + * elif was_just_raised and main_debugger.skip_on_exceptions_thrown_in_same_context: # <<<<<<<<<<<<<< + * # Option: Don't break if an exception is caught in the same function from which it is thrown + * should_stop = False + */ + __pyx_t_2 = (__pyx_v_was_just_raised != 0); + if (__pyx_t_2) { + } else { + __pyx_t_7 = __pyx_t_2; + goto __pyx_L50_bool_binop_done; + } + __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_skip_on_exceptions_thrown_in_sam); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 442, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_17); + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_17); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 442, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + __pyx_t_7 = __pyx_t_2; + __pyx_L50_bool_binop_done:; + if (__pyx_t_7) { + + /* "_pydevd_bundle/pydevd_cython.pyx":444 + * elif was_just_raised and main_debugger.skip_on_exceptions_thrown_in_same_context: + * # Option: Don't break if an exception is caught in the same function from which it is thrown + * should_stop = False # <<<<<<<<<<<<<< + * + * if should_stop: + */ + __pyx_v_should_stop = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":442 + * should_stop = False # I.e.: we stop only when it was just raised + * + * elif was_just_raised and main_debugger.skip_on_exceptions_thrown_in_same_context: # <<<<<<<<<<<<<< + * # Option: Don't break if an exception is caught in the same function from which it is thrown + * should_stop = False + */ + } + __pyx_L42:; + } + __pyx_L34:; + + /* "_pydevd_bundle/pydevd_cython.pyx":446 + * should_stop = False + * + * if should_stop: # <<<<<<<<<<<<<< + * exception_breakpoint = exc_break + * try: + */ + __pyx_t_7 = (__pyx_v_should_stop != 0); + if (__pyx_t_7) { + + /* "_pydevd_bundle/pydevd_cython.pyx":447 + * + * if should_stop: + * exception_breakpoint = exc_break # <<<<<<<<<<<<<< + * try: + * info.pydev_message = exc_break.qname + */ + __Pyx_INCREF(__pyx_v_exc_break); + __Pyx_DECREF_SET(__pyx_v_exception_breakpoint, __pyx_v_exc_break); + + /* "_pydevd_bundle/pydevd_cython.pyx":448 + * if should_stop: + * exception_breakpoint = exc_break + * try: # <<<<<<<<<<<<<< + * info.pydev_message = exc_break.qname + * except: + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_10, &__pyx_t_9); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_9); + /*try:*/ { + + /* "_pydevd_bundle/pydevd_cython.pyx":449 + * exception_breakpoint = exc_break + * try: + * info.pydev_message = exc_break.qname # <<<<<<<<<<<<<< + * except: + * info.pydev_message = exc_break.qname.encode('utf-8') + */ + __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_exc_break, __pyx_n_s_qname); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 449, __pyx_L53_error) + __Pyx_GOTREF(__pyx_t_17); + if (!(likely(PyString_CheckExact(__pyx_t_17))||((__pyx_t_17) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_17)->tp_name), 0))) __PYX_ERR(0, 449, __pyx_L53_error) + __Pyx_GIVEREF(__pyx_t_17); + __Pyx_GOTREF(__pyx_v_info->pydev_message); + __Pyx_DECREF(__pyx_v_info->pydev_message); + __pyx_v_info->pydev_message = ((PyObject*)__pyx_t_17); + __pyx_t_17 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":448 + * if should_stop: + * exception_breakpoint = exc_break + * try: # <<<<<<<<<<<<<< + * info.pydev_message = exc_break.qname + * except: + */ + } + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + goto __pyx_L60_try_end; + __pyx_L53_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":450 + * try: + * info.pydev_message = exc_break.qname + * except: # <<<<<<<<<<<<<< + * info.pydev_message = exc_break.qname.encode('utf-8') + * break + */ + /*except:*/ { + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame._should_stop_on_exception", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_17, &__pyx_t_4, &__pyx_t_1) < 0) __PYX_ERR(0, 450, __pyx_L55_except_error) + __Pyx_GOTREF(__pyx_t_17); + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GOTREF(__pyx_t_1); + + /* "_pydevd_bundle/pydevd_cython.pyx":451 + * info.pydev_message = exc_break.qname + * except: + * info.pydev_message = exc_break.qname.encode('utf-8') # <<<<<<<<<<<<<< + * break + * + */ + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_exc_break, __pyx_n_s_qname); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 451, __pyx_L55_except_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_encode); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 451, __pyx_L55_except_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_14); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_14, function); + } + } + __pyx_t_13 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_3, __pyx_kp_s_utf_8) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_kp_s_utf_8); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 451, __pyx_L55_except_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + if (!(likely(PyString_CheckExact(__pyx_t_13))||((__pyx_t_13) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_13)->tp_name), 0))) __PYX_ERR(0, 451, __pyx_L55_except_error) + __Pyx_GIVEREF(__pyx_t_13); + __Pyx_GOTREF(__pyx_v_info->pydev_message); + __Pyx_DECREF(__pyx_v_info->pydev_message); + __pyx_v_info->pydev_message = ((PyObject*)__pyx_t_13); + __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L54_exception_handled; + } + __pyx_L55_except_error:; + + /* "_pydevd_bundle/pydevd_cython.pyx":448 + * if should_stop: + * exception_breakpoint = exc_break + * try: # <<<<<<<<<<<<<< + * info.pydev_message = exc_break.qname + * except: + */ + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_10, __pyx_t_9); + goto __pyx_L1_error; + __pyx_L54_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_10, __pyx_t_9); + __pyx_L60_try_end:; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":452 + * except: + * info.pydev_message = exc_break.qname.encode('utf-8') + * break # <<<<<<<<<<<<<< + * + * if should_stop: + */ + goto __pyx_L31_break; + + /* "_pydevd_bundle/pydevd_cython.pyx":446 + * should_stop = False + * + * if should_stop: # <<<<<<<<<<<<<< + * exception_breakpoint = exc_break + * try: + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":403 + * check_excs.append((exc_break_caught, False)) + * + * for exc_break, is_user_uncaught in check_excs: # <<<<<<<<<<<<<< + * # Initially mark that it should stop and then go into exclusions. + * should_stop = True + */ + } + __pyx_L31_break:; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } + __pyx_L22:; + + /* "_pydevd_bundle/pydevd_cython.pyx":373 + * pydev_log.exception() + * + * if not should_stop: # <<<<<<<<<<<<<< + * # Apply checks that don't need the exception breakpoint (where we shouldn't ever stop). + * if exception == SystemExit and main_debugger.ignore_system_exit_code(value): + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":454 + * break + * + * if should_stop: # <<<<<<<<<<<<<< + * # Always add exception to frame (must remove later after we proceed). + * add_exception_to_frame(frame, (exception, value, trace)) + */ + __pyx_t_7 = (__pyx_v_should_stop != 0); + if (__pyx_t_7) { + + /* "_pydevd_bundle/pydevd_cython.pyx":456 + * if should_stop: + * # Always add exception to frame (must remove later after we proceed). + * add_exception_to_frame(frame, (exception, value, trace)) # <<<<<<<<<<<<<< + * + * if exception_breakpoint is not None and exception_breakpoint.expression is not None: + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_add_exception_to_frame); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 456, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 456, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_INCREF(__pyx_v_exception); + __Pyx_GIVEREF(__pyx_v_exception); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_exception); + __Pyx_INCREF(__pyx_v_value); + __Pyx_GIVEREF(__pyx_v_value); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_value); + __Pyx_INCREF(__pyx_v_trace); + __Pyx_GIVEREF(__pyx_v_trace); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_trace); + __pyx_t_17 = NULL; + __pyx_t_12 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_17)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_17); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + __pyx_t_12 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[3] = {__pyx_t_17, __pyx_v_frame, __pyx_t_4}; + __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 456, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[3] = {__pyx_t_17, __pyx_v_frame, __pyx_t_4}; + __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 456, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } else + #endif + { + __pyx_t_13 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 456, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_13); + if (__pyx_t_17) { + __Pyx_GIVEREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_17); __pyx_t_17 = NULL; + } + __Pyx_INCREF(__pyx_v_frame); + __Pyx_GIVEREF(__pyx_v_frame); + PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_12, __pyx_v_frame); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_12, __pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_13, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 456, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":458 + * add_exception_to_frame(frame, (exception, value, trace)) + * + * if exception_breakpoint is not None and exception_breakpoint.expression is not None: # <<<<<<<<<<<<<< + * main_debugger.handle_breakpoint_expression(exception_breakpoint, info, frame) + * + */ + __pyx_t_2 = (__pyx_v_exception_breakpoint != Py_None); + __pyx_t_8 = (__pyx_t_2 != 0); + if (__pyx_t_8) { + } else { + __pyx_t_7 = __pyx_t_8; + goto __pyx_L65_bool_binop_done; + } + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_exception_breakpoint, __pyx_n_s_expression); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 458, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_8 = (__pyx_t_5 != Py_None); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_2 = (__pyx_t_8 != 0); + __pyx_t_7 = __pyx_t_2; + __pyx_L65_bool_binop_done:; + if (__pyx_t_7) { + + /* "_pydevd_bundle/pydevd_cython.pyx":459 + * + * if exception_breakpoint is not None and exception_breakpoint.expression is not None: + * main_debugger.handle_breakpoint_expression(exception_breakpoint, info, frame) # <<<<<<<<<<<<<< + * + * return should_stop, frame + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_handle_breakpoint_expression); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 459, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_13 = NULL; + __pyx_t_12 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_13)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_13); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + __pyx_t_12 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[4] = {__pyx_t_13, __pyx_v_exception_breakpoint, ((PyObject *)__pyx_v_info), __pyx_v_frame}; + __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 459, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_GOTREF(__pyx_t_5); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[4] = {__pyx_t_13, __pyx_v_exception_breakpoint, ((PyObject *)__pyx_v_info), __pyx_v_frame}; + __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 459, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_GOTREF(__pyx_t_5); + } else + #endif + { + __pyx_t_4 = PyTuple_New(3+__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 459, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + if (__pyx_t_13) { + __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_13); __pyx_t_13 = NULL; + } + __Pyx_INCREF(__pyx_v_exception_breakpoint); + __Pyx_GIVEREF(__pyx_v_exception_breakpoint); + PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_12, __pyx_v_exception_breakpoint); + __Pyx_INCREF(((PyObject *)__pyx_v_info)); + __Pyx_GIVEREF(((PyObject *)__pyx_v_info)); + PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_12, ((PyObject *)__pyx_v_info)); + __Pyx_INCREF(__pyx_v_frame); + __Pyx_GIVEREF(__pyx_v_frame); + PyTuple_SET_ITEM(__pyx_t_4, 2+__pyx_t_12, __pyx_v_frame); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 459, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":458 + * add_exception_to_frame(frame, (exception, value, trace)) + * + * if exception_breakpoint is not None and exception_breakpoint.expression is not None: # <<<<<<<<<<<<<< + * main_debugger.handle_breakpoint_expression(exception_breakpoint, info, frame) + * + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":454 + * break + * + * if should_stop: # <<<<<<<<<<<<<< + * # Always add exception to frame (must remove later after we proceed). + * add_exception_to_frame(frame, (exception, value, trace)) + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":360 + * exception, value, trace = arg + * + * if trace is not None and hasattr(trace, 'tb_next'): # <<<<<<<<<<<<<< + * # on jython trace is None on the first event and it may not have a tb_next. + * + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":357 + * + * # 2 = 2 + * if info.pydev_state != 2: # and breakpoint is not None: # <<<<<<<<<<<<<< + * exception, value, trace = arg + * + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":461 + * main_debugger.handle_breakpoint_expression(exception_breakpoint, info, frame) + * + * return should_stop, frame # <<<<<<<<<<<<<< + * + * def handle_user_exception(self, frame): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_5 = __Pyx_PyBool_FromLong(__pyx_v_should_stop); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 461, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 461, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_5); + __Pyx_INCREF(__pyx_v_frame); + __Pyx_GIVEREF(__pyx_v_frame); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_frame); + __pyx_t_5 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "_pydevd_bundle/pydevd_cython.pyx":342 + * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * cdef _should_stop_on_exception(self, frame, str event, arg): # <<<<<<<<<<<<<< + * cdef PyDBAdditionalThreadInfo info; + * cdef bint should_stop; + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_14); + __Pyx_XDECREF(__pyx_t_17); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame._should_stop_on_exception", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XDECREF((PyObject *)__pyx_v_info); + __Pyx_XDECREF(__pyx_v_check_excs); + __Pyx_XDECREF(__pyx_v_main_debugger); + __Pyx_XDECREF(__pyx_v_exception); + __Pyx_XDECREF(__pyx_v_value); + __Pyx_XDECREF(__pyx_v_trace); + __Pyx_XDECREF(__pyx_v_exception_breakpoint); + __Pyx_XDECREF(__pyx_v_result); + __Pyx_XDECREF(__pyx_v_exc_break_user); + __Pyx_XDECREF(__pyx_v_exc_break_caught); + __Pyx_XDECREF(__pyx_v_exc_break); + __Pyx_XDECREF(__pyx_v_is_user_uncaught); + __Pyx_XDECREF(__pyx_v_exc_info); + __Pyx_XDECREF(__pyx_v_lines); + __Pyx_XDECREF(__pyx_v_frame); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pyx":463 + * return should_stop, frame + * + * def handle_user_exception(self, frame): # <<<<<<<<<<<<<< + * exc_info = self.exc_info + * if exc_info: + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_9handle_user_exception(PyObject *__pyx_v_self, PyObject *__pyx_v_frame); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_9handle_user_exception(PyObject *__pyx_v_self, PyObject *__pyx_v_frame) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("handle_user_exception (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_8handle_user_exception(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self), ((PyObject *)__pyx_v_frame)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_8handle_user_exception(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, PyObject *__pyx_v_frame) { + PyObject *__pyx_v_exc_info = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("handle_user_exception", 0); + + /* "_pydevd_bundle/pydevd_cython.pyx":464 + * + * def handle_user_exception(self, frame): + * exc_info = self.exc_info # <<<<<<<<<<<<<< + * if exc_info: + * return self._handle_exception(frame, 'exception', exc_info[0], EXCEPTION_TYPE_USER_UNHANDLED) + */ + __pyx_t_1 = __pyx_v_self->exc_info; + __Pyx_INCREF(__pyx_t_1); + __pyx_v_exc_info = __pyx_t_1; + __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":465 + * def handle_user_exception(self, frame): + * exc_info = self.exc_info + * if exc_info: # <<<<<<<<<<<<<< + * return self._handle_exception(frame, 'exception', exc_info[0], EXCEPTION_TYPE_USER_UNHANDLED) + * return False + */ + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_exc_info); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 465, __pyx_L1_error) + if (__pyx_t_2) { + + /* "_pydevd_bundle/pydevd_cython.pyx":466 + * exc_info = self.exc_info + * if exc_info: + * return self._handle_exception(frame, 'exception', exc_info[0], EXCEPTION_TYPE_USER_UNHANDLED) # <<<<<<<<<<<<<< + * return False + * + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_exc_info, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 466, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_EXCEPTION_TYPE_USER_UNHANDLED); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 466, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (!(likely(PyString_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(0, 466, __pyx_L1_error) + __pyx_t_4 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_handle_exception(__pyx_v_self, __pyx_v_frame, __pyx_n_s_exception, __pyx_t_1, ((PyObject*)__pyx_t_3)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 466, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; + goto __pyx_L0; + + /* "_pydevd_bundle/pydevd_cython.pyx":465 + * def handle_user_exception(self, frame): + * exc_info = self.exc_info + * if exc_info: # <<<<<<<<<<<<<< + * return self._handle_exception(frame, 'exception', exc_info[0], EXCEPTION_TYPE_USER_UNHANDLED) + * return False + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":467 + * if exc_info: + * return self._handle_exception(frame, 'exception', exc_info[0], EXCEPTION_TYPE_USER_UNHANDLED) + * return False # <<<<<<<<<<<<<< + * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(Py_False); + __pyx_r = Py_False; + goto __pyx_L0; + + /* "_pydevd_bundle/pydevd_cython.pyx":463 + * return should_stop, frame + * + * def handle_user_exception(self, frame): # <<<<<<<<<<<<<< + * exc_info = self.exc_info + * if exc_info: + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame.handle_user_exception", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_exc_info); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pyx":470 + * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * cdef _handle_exception(self, frame, str event, arg, str exception_type): # <<<<<<<<<<<<<< + * cdef bint stopped; + * cdef tuple abs_real_path_and_base; + */ + +static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame__handle_exception(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, PyObject *__pyx_v_frame, PyObject *__pyx_v_event, PyObject *__pyx_v_arg, PyObject *__pyx_v_exception_type) { + int __pyx_v_stopped; + PyObject *__pyx_v_abs_real_path_and_base = 0; + PyObject *__pyx_v_absolute_filename = 0; + PyObject *__pyx_v_canonical_normalized_filename = 0; + PyObject *__pyx_v_filename_to_lines_where_exceptions_are_ignored = 0; + PyObject *__pyx_v_lines_ignored = 0; + PyObject *__pyx_v_frame_id_to_frame = 0; + PyObject *__pyx_v_merged = 0; + PyObject *__pyx_v_trace_obj = 0; + PyObject *__pyx_v_main_debugger = 0; + PyObject *__pyx_v_initial_trace_obj = NULL; + PyObject *__pyx_v_check_trace_obj = NULL; + PyObject *__pyx_v_curr_stat = NULL; + PyObject *__pyx_v_last_stat = NULL; + PyObject *__pyx_v_from_user_input = NULL; + PyObject *__pyx_v_exc_lineno = NULL; + PyObject *__pyx_v_line = NULL; + PyObject *__pyx_v_thread = NULL; + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + int __pyx_t_3; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + Py_ssize_t __pyx_t_6; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + int __pyx_t_13; + PyObject *__pyx_t_14 = NULL; + PyObject *__pyx_t_15 = NULL; + int __pyx_t_16; + PyObject *__pyx_t_17 = NULL; + int __pyx_t_18; + char const *__pyx_t_19; + PyObject *__pyx_t_20 = NULL; + PyObject *__pyx_t_21 = NULL; + PyObject *__pyx_t_22 = NULL; + PyObject *__pyx_t_23 = NULL; + PyObject *__pyx_t_24 = NULL; + PyObject *__pyx_t_25 = NULL; + char const *__pyx_t_26; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("_handle_exception", 0); + __Pyx_INCREF(__pyx_v_frame); + + /* "_pydevd_bundle/pydevd_cython.pyx":484 + * # def _handle_exception(self, frame, event, arg, exception_type): + * # ENDIF + * stopped = False # <<<<<<<<<<<<<< + * try: + * # print('_handle_exception', frame.f_lineno, frame.f_code.co_name) + */ + __pyx_v_stopped = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":485 + * # ENDIF + * stopped = False + * try: # <<<<<<<<<<<<<< + * # print('_handle_exception', frame.f_lineno, frame.f_code.co_name) + * + */ + /*try:*/ { + + /* "_pydevd_bundle/pydevd_cython.pyx":489 + * + * # We have 3 things in arg: exception type, description, traceback object + * trace_obj = arg[2] # <<<<<<<<<<<<<< + * main_debugger = self._args[0] + * + */ + __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_arg, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 489, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_trace_obj = __pyx_t_1; + __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":490 + * # We have 3 things in arg: exception type, description, traceback object + * trace_obj = arg[2] + * main_debugger = self._args[0] # <<<<<<<<<<<<<< + * + * initial_trace_obj = trace_obj + */ + if (unlikely(__pyx_v_self->_args == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 490, __pyx_L4_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_self->_args, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 490, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_main_debugger = __pyx_t_1; + __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":492 + * main_debugger = self._args[0] + * + * initial_trace_obj = trace_obj # <<<<<<<<<<<<<< + * if trace_obj.tb_next is None and trace_obj.tb_frame is frame: + * # I.e.: tb_next should be only None in the context it was thrown (trace_obj.tb_frame is frame is just a double check). + */ + __Pyx_INCREF(__pyx_v_trace_obj); + __pyx_v_initial_trace_obj = __pyx_v_trace_obj; + + /* "_pydevd_bundle/pydevd_cython.pyx":493 + * + * initial_trace_obj = trace_obj + * if trace_obj.tb_next is None and trace_obj.tb_frame is frame: # <<<<<<<<<<<<<< + * # I.e.: tb_next should be only None in the context it was thrown (trace_obj.tb_frame is frame is just a double check). + * pass + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_trace_obj, __pyx_n_s_tb_next); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 493, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = (__pyx_t_1 == Py_None); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_4 = (__pyx_t_3 != 0); + if (__pyx_t_4) { + } else { + __pyx_t_2 = __pyx_t_4; + goto __pyx_L7_bool_binop_done; + } + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_trace_obj, __pyx_n_s_tb_frame); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 493, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 = (__pyx_t_1 == __pyx_v_frame); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_3 = (__pyx_t_4 != 0); + __pyx_t_2 = __pyx_t_3; + __pyx_L7_bool_binop_done:; + if (__pyx_t_2) { + goto __pyx_L6; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":498 + * else: + * # Get the trace_obj from where the exception was raised... + * while trace_obj.tb_next is not None: # <<<<<<<<<<<<<< + * trace_obj = trace_obj.tb_next + * + */ + /*else*/ { + while (1) { + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_trace_obj, __pyx_n_s_tb_next); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 498, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = (__pyx_t_1 != Py_None); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_3 = (__pyx_t_2 != 0); + if (!__pyx_t_3) break; + + /* "_pydevd_bundle/pydevd_cython.pyx":499 + * # Get the trace_obj from where the exception was raised... + * while trace_obj.tb_next is not None: + * trace_obj = trace_obj.tb_next # <<<<<<<<<<<<<< + * + * if main_debugger.ignore_exceptions_thrown_in_lines_with_ignore_exception: + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_trace_obj, __pyx_n_s_tb_next); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 499, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF_SET(__pyx_v_trace_obj, __pyx_t_1); + __pyx_t_1 = 0; + } + } + __pyx_L6:; + + /* "_pydevd_bundle/pydevd_cython.pyx":501 + * trace_obj = trace_obj.tb_next + * + * if main_debugger.ignore_exceptions_thrown_in_lines_with_ignore_exception: # <<<<<<<<<<<<<< + * for check_trace_obj in (initial_trace_obj, trace_obj): + * abs_real_path_and_base = get_abs_path_real_path_and_base_from_frame(check_trace_obj.tb_frame) + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_ignore_exceptions_thrown_in_line); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 501, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 501, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (__pyx_t_3) { + + /* "_pydevd_bundle/pydevd_cython.pyx":502 + * + * if main_debugger.ignore_exceptions_thrown_in_lines_with_ignore_exception: + * for check_trace_obj in (initial_trace_obj, trace_obj): # <<<<<<<<<<<<<< + * abs_real_path_and_base = get_abs_path_real_path_and_base_from_frame(check_trace_obj.tb_frame) + * absolute_filename = abs_real_path_and_base[0] + */ + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 502, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v_initial_trace_obj); + __Pyx_GIVEREF(__pyx_v_initial_trace_obj); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_initial_trace_obj); + __Pyx_INCREF(__pyx_v_trace_obj); + __Pyx_GIVEREF(__pyx_v_trace_obj); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_trace_obj); + __pyx_t_5 = __pyx_t_1; __Pyx_INCREF(__pyx_t_5); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + for (;;) { + if (__pyx_t_6 >= 2) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_1); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 502, __pyx_L4_error) + #else + __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 502, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + #endif + __Pyx_XDECREF_SET(__pyx_v_check_trace_obj, __pyx_t_1); + __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":503 + * if main_debugger.ignore_exceptions_thrown_in_lines_with_ignore_exception: + * for check_trace_obj in (initial_trace_obj, trace_obj): + * abs_real_path_and_base = get_abs_path_real_path_and_base_from_frame(check_trace_obj.tb_frame) # <<<<<<<<<<<<<< + * absolute_filename = abs_real_path_and_base[0] + * canonical_normalized_filename = abs_real_path_and_base[1] + */ + __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_get_abs_path_real_path_and_base); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 503, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_check_trace_obj, __pyx_n_s_tb_frame); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 503, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_9 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + __pyx_t_1 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_9, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 503, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(0, 503, __pyx_L4_error) + __Pyx_XDECREF_SET(__pyx_v_abs_real_path_and_base, ((PyObject*)__pyx_t_1)); + __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":504 + * for check_trace_obj in (initial_trace_obj, trace_obj): + * abs_real_path_and_base = get_abs_path_real_path_and_base_from_frame(check_trace_obj.tb_frame) + * absolute_filename = abs_real_path_and_base[0] # <<<<<<<<<<<<<< + * canonical_normalized_filename = abs_real_path_and_base[1] + * + */ + if (unlikely(__pyx_v_abs_real_path_and_base == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 504, __pyx_L4_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_abs_real_path_and_base, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 504, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(PyString_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(0, 504, __pyx_L4_error) + __Pyx_XDECREF_SET(__pyx_v_absolute_filename, ((PyObject*)__pyx_t_1)); + __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":505 + * abs_real_path_and_base = get_abs_path_real_path_and_base_from_frame(check_trace_obj.tb_frame) + * absolute_filename = abs_real_path_and_base[0] + * canonical_normalized_filename = abs_real_path_and_base[1] # <<<<<<<<<<<<<< + * + * filename_to_lines_where_exceptions_are_ignored = self.filename_to_lines_where_exceptions_are_ignored + */ + if (unlikely(__pyx_v_abs_real_path_and_base == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 505, __pyx_L4_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_abs_real_path_and_base, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 505, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(PyString_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(0, 505, __pyx_L4_error) + __Pyx_XDECREF_SET(__pyx_v_canonical_normalized_filename, ((PyObject*)__pyx_t_1)); + __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":507 + * canonical_normalized_filename = abs_real_path_and_base[1] + * + * filename_to_lines_where_exceptions_are_ignored = self.filename_to_lines_where_exceptions_are_ignored # <<<<<<<<<<<<<< + * + * lines_ignored = filename_to_lines_where_exceptions_are_ignored.get(canonical_normalized_filename) + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_filename_to_lines_where_exceptio); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 507, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(PyDict_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(0, 507, __pyx_L4_error) + __Pyx_XDECREF_SET(__pyx_v_filename_to_lines_where_exceptions_are_ignored, ((PyObject*)__pyx_t_1)); + __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":509 + * filename_to_lines_where_exceptions_are_ignored = self.filename_to_lines_where_exceptions_are_ignored + * + * lines_ignored = filename_to_lines_where_exceptions_are_ignored.get(canonical_normalized_filename) # <<<<<<<<<<<<<< + * if lines_ignored is None: + * lines_ignored = filename_to_lines_where_exceptions_are_ignored[canonical_normalized_filename] = {} + */ + if (unlikely(__pyx_v_filename_to_lines_where_exceptions_are_ignored == Py_None)) { + PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "get"); + __PYX_ERR(0, 509, __pyx_L4_error) + } + __pyx_t_1 = __Pyx_PyDict_GetItemDefault(__pyx_v_filename_to_lines_where_exceptions_are_ignored, __pyx_v_canonical_normalized_filename, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 509, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(PyDict_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(0, 509, __pyx_L4_error) + __Pyx_XDECREF_SET(__pyx_v_lines_ignored, ((PyObject*)__pyx_t_1)); + __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":510 + * + * lines_ignored = filename_to_lines_where_exceptions_are_ignored.get(canonical_normalized_filename) + * if lines_ignored is None: # <<<<<<<<<<<<<< + * lines_ignored = filename_to_lines_where_exceptions_are_ignored[canonical_normalized_filename] = {} + * + */ + __pyx_t_3 = (__pyx_v_lines_ignored == ((PyObject*)Py_None)); + __pyx_t_2 = (__pyx_t_3 != 0); + if (__pyx_t_2) { + + /* "_pydevd_bundle/pydevd_cython.pyx":511 + * lines_ignored = filename_to_lines_where_exceptions_are_ignored.get(canonical_normalized_filename) + * if lines_ignored is None: + * lines_ignored = filename_to_lines_where_exceptions_are_ignored[canonical_normalized_filename] = {} # <<<<<<<<<<<<<< + * + * try: + */ + __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 511, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_t_1); + __Pyx_DECREF_SET(__pyx_v_lines_ignored, __pyx_t_1); + if (unlikely(__pyx_v_filename_to_lines_where_exceptions_are_ignored == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 511, __pyx_L4_error) + } + if (unlikely(PyDict_SetItem(__pyx_v_filename_to_lines_where_exceptions_are_ignored, __pyx_v_canonical_normalized_filename, __pyx_t_1) < 0)) __PYX_ERR(0, 511, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":510 + * + * lines_ignored = filename_to_lines_where_exceptions_are_ignored.get(canonical_normalized_filename) + * if lines_ignored is None: # <<<<<<<<<<<<<< + * lines_ignored = filename_to_lines_where_exceptions_are_ignored[canonical_normalized_filename] = {} + * + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":513 + * lines_ignored = filename_to_lines_where_exceptions_are_ignored[canonical_normalized_filename] = {} + * + * try: # <<<<<<<<<<<<<< + * curr_stat = os.stat(absolute_filename) + * curr_stat = (curr_stat.st_size, curr_stat.st_mtime) + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_12); + /*try:*/ { + + /* "_pydevd_bundle/pydevd_cython.pyx":514 + * + * try: + * curr_stat = os.stat(absolute_filename) # <<<<<<<<<<<<<< + * curr_stat = (curr_stat.st_size, curr_stat.st_mtime) + * except: + */ + __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_os); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 514, __pyx_L15_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_stat); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 514, __pyx_L15_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_8); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_8, function); + } + } + __pyx_t_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_7, __pyx_v_absolute_filename) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_v_absolute_filename); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 514, __pyx_L15_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF_SET(__pyx_v_curr_stat, __pyx_t_1); + __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":515 + * try: + * curr_stat = os.stat(absolute_filename) + * curr_stat = (curr_stat.st_size, curr_stat.st_mtime) # <<<<<<<<<<<<<< + * except: + * curr_stat = None + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_curr_stat, __pyx_n_s_st_size); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 515, __pyx_L15_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_curr_stat, __pyx_n_s_st_mtime); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 515, __pyx_L15_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 515, __pyx_L15_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_8); + __pyx_t_1 = 0; + __pyx_t_8 = 0; + __Pyx_DECREF_SET(__pyx_v_curr_stat, __pyx_t_7); + __pyx_t_7 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":513 + * lines_ignored = filename_to_lines_where_exceptions_are_ignored[canonical_normalized_filename] = {} + * + * try: # <<<<<<<<<<<<<< + * curr_stat = os.stat(absolute_filename) + * curr_stat = (curr_stat.st_size, curr_stat.st_mtime) + */ + } + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + goto __pyx_L22_try_end; + __pyx_L15_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":516 + * curr_stat = os.stat(absolute_filename) + * curr_stat = (curr_stat.st_size, curr_stat.st_mtime) + * except: # <<<<<<<<<<<<<< + * curr_stat = None + * + */ + /*except:*/ { + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame._handle_exception", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_1) < 0) __PYX_ERR(0, 516, __pyx_L17_except_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_GOTREF(__pyx_t_8); + __Pyx_GOTREF(__pyx_t_1); + + /* "_pydevd_bundle/pydevd_cython.pyx":517 + * curr_stat = (curr_stat.st_size, curr_stat.st_mtime) + * except: + * curr_stat = None # <<<<<<<<<<<<<< + * + * last_stat = self.filename_to_stat_info.get(absolute_filename) + */ + __Pyx_INCREF(Py_None); + __Pyx_XDECREF_SET(__pyx_v_curr_stat, Py_None); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L16_exception_handled; + } + __pyx_L17_except_error:; + + /* "_pydevd_bundle/pydevd_cython.pyx":513 + * lines_ignored = filename_to_lines_where_exceptions_are_ignored[canonical_normalized_filename] = {} + * + * try: # <<<<<<<<<<<<<< + * curr_stat = os.stat(absolute_filename) + * curr_stat = (curr_stat.st_size, curr_stat.st_mtime) + */ + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); + goto __pyx_L4_error; + __pyx_L16_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); + __pyx_L22_try_end:; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":519 + * curr_stat = None + * + * last_stat = self.filename_to_stat_info.get(absolute_filename) # <<<<<<<<<<<<<< + * if last_stat != curr_stat: + * self.filename_to_stat_info[absolute_filename] = curr_stat + */ + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_filename_to_stat_info); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 519, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_get); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 519, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + __pyx_t_1 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, __pyx_v_absolute_filename) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_absolute_filename); + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 519, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF_SET(__pyx_v_last_stat, __pyx_t_1); + __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":520 + * + * last_stat = self.filename_to_stat_info.get(absolute_filename) + * if last_stat != curr_stat: # <<<<<<<<<<<<<< + * self.filename_to_stat_info[absolute_filename] = curr_stat + * lines_ignored.clear() + */ + __pyx_t_1 = PyObject_RichCompare(__pyx_v_last_stat, __pyx_v_curr_stat, Py_NE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 520, __pyx_L4_error) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 520, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (__pyx_t_2) { + + /* "_pydevd_bundle/pydevd_cython.pyx":521 + * last_stat = self.filename_to_stat_info.get(absolute_filename) + * if last_stat != curr_stat: + * self.filename_to_stat_info[absolute_filename] = curr_stat # <<<<<<<<<<<<<< + * lines_ignored.clear() + * try: + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_filename_to_stat_info); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 521, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_v_absolute_filename, __pyx_v_curr_stat) < 0)) __PYX_ERR(0, 521, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":522 + * if last_stat != curr_stat: + * self.filename_to_stat_info[absolute_filename] = curr_stat + * lines_ignored.clear() # <<<<<<<<<<<<<< + * try: + * linecache.checkcache(absolute_filename) + */ + if (unlikely(__pyx_v_lines_ignored == Py_None)) { + PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "clear"); + __PYX_ERR(0, 522, __pyx_L4_error) + } + __pyx_t_13 = __Pyx_PyDict_Clear(__pyx_v_lines_ignored); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 522, __pyx_L4_error) + + /* "_pydevd_bundle/pydevd_cython.pyx":523 + * self.filename_to_stat_info[absolute_filename] = curr_stat + * lines_ignored.clear() + * try: # <<<<<<<<<<<<<< + * linecache.checkcache(absolute_filename) + * except: + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_11, &__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_10); + /*try:*/ { + + /* "_pydevd_bundle/pydevd_cython.pyx":524 + * lines_ignored.clear() + * try: + * linecache.checkcache(absolute_filename) # <<<<<<<<<<<<<< + * except: + * pydev_log.exception('Error in linecache.checkcache(%r)', absolute_filename) + */ + __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_linecache); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 524, __pyx_L26_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_checkcache); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 524, __pyx_L26_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_8); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_8, function); + } + } + __pyx_t_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_7, __pyx_v_absolute_filename) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_v_absolute_filename); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 524, __pyx_L26_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":523 + * self.filename_to_stat_info[absolute_filename] = curr_stat + * lines_ignored.clear() + * try: # <<<<<<<<<<<<<< + * linecache.checkcache(absolute_filename) + * except: + */ + } + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L33_try_end; + __pyx_L26_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":525 + * try: + * linecache.checkcache(absolute_filename) + * except: # <<<<<<<<<<<<<< + * pydev_log.exception('Error in linecache.checkcache(%r)', absolute_filename) + * + */ + /*except:*/ { + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame._handle_exception", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_8, &__pyx_t_7) < 0) __PYX_ERR(0, 525, __pyx_L28_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_8); + __Pyx_GOTREF(__pyx_t_7); + + /* "_pydevd_bundle/pydevd_cython.pyx":526 + * linecache.checkcache(absolute_filename) + * except: + * pydev_log.exception('Error in linecache.checkcache(%r)', absolute_filename) # <<<<<<<<<<<<<< + * + * from_user_input = main_debugger.filename_to_lines_where_exceptions_are_ignored.get(canonical_normalized_filename) + */ + __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_pydev_log); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 526, __pyx_L28_except_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_exception); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 526, __pyx_L28_except_error) + __Pyx_GOTREF(__pyx_t_15); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_14 = NULL; + __pyx_t_16 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_15))) { + __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_15); + if (likely(__pyx_t_14)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_15); + __Pyx_INCREF(__pyx_t_14); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_15, function); + __pyx_t_16 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_15)) { + PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_kp_s_Error_in_linecache_checkcache_r, __pyx_v_absolute_filename}; + __pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_15, __pyx_temp+1-__pyx_t_16, 2+__pyx_t_16); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 526, __pyx_L28_except_error) + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_GOTREF(__pyx_t_9); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_15)) { + PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_kp_s_Error_in_linecache_checkcache_r, __pyx_v_absolute_filename}; + __pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_15, __pyx_temp+1-__pyx_t_16, 2+__pyx_t_16); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 526, __pyx_L28_except_error) + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_GOTREF(__pyx_t_9); + } else + #endif + { + __pyx_t_17 = PyTuple_New(2+__pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 526, __pyx_L28_except_error) + __Pyx_GOTREF(__pyx_t_17); + if (__pyx_t_14) { + __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_14); __pyx_t_14 = NULL; + } + __Pyx_INCREF(__pyx_kp_s_Error_in_linecache_checkcache_r); + __Pyx_GIVEREF(__pyx_kp_s_Error_in_linecache_checkcache_r); + PyTuple_SET_ITEM(__pyx_t_17, 0+__pyx_t_16, __pyx_kp_s_Error_in_linecache_checkcache_r); + __Pyx_INCREF(__pyx_v_absolute_filename); + __Pyx_GIVEREF(__pyx_v_absolute_filename); + PyTuple_SET_ITEM(__pyx_t_17, 1+__pyx_t_16, __pyx_v_absolute_filename); + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_t_17, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 526, __pyx_L28_except_error) + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + } + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + goto __pyx_L27_exception_handled; + } + __pyx_L28_except_error:; + + /* "_pydevd_bundle/pydevd_cython.pyx":523 + * self.filename_to_stat_info[absolute_filename] = curr_stat + * lines_ignored.clear() + * try: # <<<<<<<<<<<<<< + * linecache.checkcache(absolute_filename) + * except: + */ + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_11, __pyx_t_10); + goto __pyx_L4_error; + __pyx_L27_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_11, __pyx_t_10); + __pyx_L33_try_end:; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":520 + * + * last_stat = self.filename_to_stat_info.get(absolute_filename) + * if last_stat != curr_stat: # <<<<<<<<<<<<<< + * self.filename_to_stat_info[absolute_filename] = curr_stat + * lines_ignored.clear() + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":528 + * pydev_log.exception('Error in linecache.checkcache(%r)', absolute_filename) + * + * from_user_input = main_debugger.filename_to_lines_where_exceptions_are_ignored.get(canonical_normalized_filename) # <<<<<<<<<<<<<< + * if from_user_input: + * merged = {} + */ + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_filename_to_lines_where_exceptio); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 528, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_get); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 528, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_7 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_8, __pyx_v_canonical_normalized_filename) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_canonical_normalized_filename); + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 528, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF_SET(__pyx_v_from_user_input, __pyx_t_7); + __pyx_t_7 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":529 + * + * from_user_input = main_debugger.filename_to_lines_where_exceptions_are_ignored.get(canonical_normalized_filename) + * if from_user_input: # <<<<<<<<<<<<<< + * merged = {} + * merged.update(lines_ignored) + */ + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_from_user_input); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 529, __pyx_L4_error) + if (__pyx_t_2) { + + /* "_pydevd_bundle/pydevd_cython.pyx":530 + * from_user_input = main_debugger.filename_to_lines_where_exceptions_are_ignored.get(canonical_normalized_filename) + * if from_user_input: + * merged = {} # <<<<<<<<<<<<<< + * merged.update(lines_ignored) + * # Override what we have with the related entries that the user entered + */ + __pyx_t_7 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 530, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_XDECREF_SET(__pyx_v_merged, ((PyObject*)__pyx_t_7)); + __pyx_t_7 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":531 + * if from_user_input: + * merged = {} + * merged.update(lines_ignored) # <<<<<<<<<<<<<< + * # Override what we have with the related entries that the user entered + * merged.update(from_user_input) + */ + __pyx_t_7 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyDict_Type_update, __pyx_v_merged, __pyx_v_lines_ignored); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 531, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":533 + * merged.update(lines_ignored) + * # Override what we have with the related entries that the user entered + * merged.update(from_user_input) # <<<<<<<<<<<<<< + * else: + * merged = lines_ignored + */ + __pyx_t_7 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyDict_Type_update, __pyx_v_merged, __pyx_v_from_user_input); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 533, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":529 + * + * from_user_input = main_debugger.filename_to_lines_where_exceptions_are_ignored.get(canonical_normalized_filename) + * if from_user_input: # <<<<<<<<<<<<<< + * merged = {} + * merged.update(lines_ignored) + */ + goto __pyx_L36; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":535 + * merged.update(from_user_input) + * else: + * merged = lines_ignored # <<<<<<<<<<<<<< + * + * exc_lineno = check_trace_obj.tb_lineno + */ + /*else*/ { + __Pyx_INCREF(__pyx_v_lines_ignored); + __Pyx_XDECREF_SET(__pyx_v_merged, __pyx_v_lines_ignored); + } + __pyx_L36:; + + /* "_pydevd_bundle/pydevd_cython.pyx":537 + * merged = lines_ignored + * + * exc_lineno = check_trace_obj.tb_lineno # <<<<<<<<<<<<<< + * + * # print ('lines ignored', lines_ignored) + */ + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_check_trace_obj, __pyx_n_s_tb_lineno); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 537, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_XDECREF_SET(__pyx_v_exc_lineno, __pyx_t_7); + __pyx_t_7 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":543 + * # print ('merged', merged, 'curr', exc_lineno) + * + * if exc_lineno not in merged: # Note: check on merged but update lines_ignored. # <<<<<<<<<<<<<< + * try: + * line = linecache.getline(absolute_filename, exc_lineno, check_trace_obj.tb_frame.f_globals) + */ + if (unlikely(__pyx_v_merged == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); + __PYX_ERR(0, 543, __pyx_L4_error) + } + __pyx_t_2 = (__Pyx_PyDict_ContainsTF(__pyx_v_exc_lineno, __pyx_v_merged, Py_NE)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 543, __pyx_L4_error) + __pyx_t_3 = (__pyx_t_2 != 0); + if (__pyx_t_3) { + + /* "_pydevd_bundle/pydevd_cython.pyx":544 + * + * if exc_lineno not in merged: # Note: check on merged but update lines_ignored. + * try: # <<<<<<<<<<<<<< + * line = linecache.getline(absolute_filename, exc_lineno, check_trace_obj.tb_frame.f_globals) + * except: + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_12); + /*try:*/ { + + /* "_pydevd_bundle/pydevd_cython.pyx":545 + * if exc_lineno not in merged: # Note: check on merged but update lines_ignored. + * try: + * line = linecache.getline(absolute_filename, exc_lineno, check_trace_obj.tb_frame.f_globals) # <<<<<<<<<<<<<< + * except: + * pydev_log.exception('Error in linecache.getline(%r, %s, f_globals)', absolute_filename, exc_lineno) + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_linecache); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 545, __pyx_L38_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_getline); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 545, __pyx_L38_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_check_trace_obj, __pyx_n_s_tb_frame); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 545, __pyx_L38_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_f_globals); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 545, __pyx_L38_error) + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + __pyx_t_16 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_8); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_8, function); + __pyx_t_16 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_8)) { + PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_v_absolute_filename, __pyx_v_exc_lineno, __pyx_t_9}; + __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_16, 3+__pyx_t_16); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 545, __pyx_L38_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) { + PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_v_absolute_filename, __pyx_v_exc_lineno, __pyx_t_9}; + __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_16, 3+__pyx_t_16); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 545, __pyx_L38_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } else + #endif + { + __pyx_t_15 = PyTuple_New(3+__pyx_t_16); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 545, __pyx_L38_error) + __Pyx_GOTREF(__pyx_t_15); + if (__pyx_t_1) { + __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_1); __pyx_t_1 = NULL; + } + __Pyx_INCREF(__pyx_v_absolute_filename); + __Pyx_GIVEREF(__pyx_v_absolute_filename); + PyTuple_SET_ITEM(__pyx_t_15, 0+__pyx_t_16, __pyx_v_absolute_filename); + __Pyx_INCREF(__pyx_v_exc_lineno); + __Pyx_GIVEREF(__pyx_v_exc_lineno); + PyTuple_SET_ITEM(__pyx_t_15, 1+__pyx_t_16, __pyx_v_exc_lineno); + __Pyx_GIVEREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_15, 2+__pyx_t_16, __pyx_t_9); + __pyx_t_9 = 0; + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_15, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 545, __pyx_L38_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + } + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF_SET(__pyx_v_line, __pyx_t_7); + __pyx_t_7 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":544 + * + * if exc_lineno not in merged: # Note: check on merged but update lines_ignored. + * try: # <<<<<<<<<<<<<< + * line = linecache.getline(absolute_filename, exc_lineno, check_trace_obj.tb_frame.f_globals) + * except: + */ + } + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + goto __pyx_L45_try_end; + __pyx_L38_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":546 + * try: + * line = linecache.getline(absolute_filename, exc_lineno, check_trace_obj.tb_frame.f_globals) + * except: # <<<<<<<<<<<<<< + * pydev_log.exception('Error in linecache.getline(%r, %s, f_globals)', absolute_filename, exc_lineno) + * line = '' + */ + /*except:*/ { + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame._handle_exception", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_15) < 0) __PYX_ERR(0, 546, __pyx_L40_except_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_GOTREF(__pyx_t_8); + __Pyx_GOTREF(__pyx_t_15); + + /* "_pydevd_bundle/pydevd_cython.pyx":547 + * line = linecache.getline(absolute_filename, exc_lineno, check_trace_obj.tb_frame.f_globals) + * except: + * pydev_log.exception('Error in linecache.getline(%r, %s, f_globals)', absolute_filename, exc_lineno) # <<<<<<<<<<<<<< + * line = '' + * + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pydev_log); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 547, __pyx_L40_except_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_exception); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 547, __pyx_L40_except_error) + __Pyx_GOTREF(__pyx_t_17); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + __pyx_t_16 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_17))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_17); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_17, function); + __pyx_t_16 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_17)) { + PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_kp_s_Error_in_linecache_getline_r_s_f, __pyx_v_absolute_filename, __pyx_v_exc_lineno}; + __pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_16, 3+__pyx_t_16); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 547, __pyx_L40_except_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_9); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_17)) { + PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_kp_s_Error_in_linecache_getline_r_s_f, __pyx_v_absolute_filename, __pyx_v_exc_lineno}; + __pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_16, 3+__pyx_t_16); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 547, __pyx_L40_except_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_9); + } else + #endif + { + __pyx_t_14 = PyTuple_New(3+__pyx_t_16); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 547, __pyx_L40_except_error) + __Pyx_GOTREF(__pyx_t_14); + if (__pyx_t_1) { + __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_1); __pyx_t_1 = NULL; + } + __Pyx_INCREF(__pyx_kp_s_Error_in_linecache_getline_r_s_f); + __Pyx_GIVEREF(__pyx_kp_s_Error_in_linecache_getline_r_s_f); + PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_16, __pyx_kp_s_Error_in_linecache_getline_r_s_f); + __Pyx_INCREF(__pyx_v_absolute_filename); + __Pyx_GIVEREF(__pyx_v_absolute_filename); + PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_16, __pyx_v_absolute_filename); + __Pyx_INCREF(__pyx_v_exc_lineno); + __Pyx_GIVEREF(__pyx_v_exc_lineno); + PyTuple_SET_ITEM(__pyx_t_14, 2+__pyx_t_16, __pyx_v_exc_lineno); + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_17, __pyx_t_14, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 547, __pyx_L40_except_error) + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + } + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":548 + * except: + * pydev_log.exception('Error in linecache.getline(%r, %s, f_globals)', absolute_filename, exc_lineno) + * line = '' # <<<<<<<<<<<<<< + * + * if IGNORE_EXCEPTION_TAG.match(line) is not None: + */ + __Pyx_INCREF(__pyx_kp_s_); + __Pyx_XDECREF_SET(__pyx_v_line, __pyx_kp_s_); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; + goto __pyx_L39_exception_handled; + } + __pyx_L40_except_error:; + + /* "_pydevd_bundle/pydevd_cython.pyx":544 + * + * if exc_lineno not in merged: # Note: check on merged but update lines_ignored. + * try: # <<<<<<<<<<<<<< + * line = linecache.getline(absolute_filename, exc_lineno, check_trace_obj.tb_frame.f_globals) + * except: + */ + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); + goto __pyx_L4_error; + __pyx_L39_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); + __pyx_L45_try_end:; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":550 + * line = '' + * + * if IGNORE_EXCEPTION_TAG.match(line) is not None: # <<<<<<<<<<<<<< + * lines_ignored[exc_lineno] = 1 + * return False + */ + __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_IGNORE_EXCEPTION_TAG); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 550, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_match); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 550, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + __pyx_t_15 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, __pyx_v_line) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_line); + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 550, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_15); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_3 = (__pyx_t_15 != Py_None); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __pyx_t_2 = (__pyx_t_3 != 0); + if (__pyx_t_2) { + + /* "_pydevd_bundle/pydevd_cython.pyx":551 + * + * if IGNORE_EXCEPTION_TAG.match(line) is not None: + * lines_ignored[exc_lineno] = 1 # <<<<<<<<<<<<<< + * return False + * else: + */ + if (unlikely(__pyx_v_lines_ignored == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 551, __pyx_L4_error) + } + if (unlikely(PyDict_SetItem(__pyx_v_lines_ignored, __pyx_v_exc_lineno, __pyx_int_1) < 0)) __PYX_ERR(0, 551, __pyx_L4_error) + + /* "_pydevd_bundle/pydevd_cython.pyx":552 + * if IGNORE_EXCEPTION_TAG.match(line) is not None: + * lines_ignored[exc_lineno] = 1 + * return False # <<<<<<<<<<<<<< + * else: + * # Put in the cache saying not to ignore + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(Py_False); + __pyx_r = Py_False; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L3_return; + + /* "_pydevd_bundle/pydevd_cython.pyx":550 + * line = '' + * + * if IGNORE_EXCEPTION_TAG.match(line) is not None: # <<<<<<<<<<<<<< + * lines_ignored[exc_lineno] = 1 + * return False + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":555 + * else: + * # Put in the cache saying not to ignore + * lines_ignored[exc_lineno] = 0 # <<<<<<<<<<<<<< + * else: + * # Ok, dict has it already cached, so, let's check it... + */ + /*else*/ { + if (unlikely(__pyx_v_lines_ignored == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 555, __pyx_L4_error) + } + if (unlikely(PyDict_SetItem(__pyx_v_lines_ignored, __pyx_v_exc_lineno, __pyx_int_0) < 0)) __PYX_ERR(0, 555, __pyx_L4_error) + } + + /* "_pydevd_bundle/pydevd_cython.pyx":543 + * # print ('merged', merged, 'curr', exc_lineno) + * + * if exc_lineno not in merged: # Note: check on merged but update lines_ignored. # <<<<<<<<<<<<<< + * try: + * line = linecache.getline(absolute_filename, exc_lineno, check_trace_obj.tb_frame.f_globals) + */ + goto __pyx_L37; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":558 + * else: + * # Ok, dict has it already cached, so, let's check it... + * if merged.get(exc_lineno, 0): # <<<<<<<<<<<<<< + * return False + * + */ + /*else*/ { + if (unlikely(__pyx_v_merged == Py_None)) { + PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "get"); + __PYX_ERR(0, 558, __pyx_L4_error) + } + __pyx_t_15 = __Pyx_PyDict_GetItemDefault(__pyx_v_merged, __pyx_v_exc_lineno, __pyx_int_0); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 558, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_15); + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_15); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 558, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + if (__pyx_t_2) { + + /* "_pydevd_bundle/pydevd_cython.pyx":559 + * # Ok, dict has it already cached, so, let's check it... + * if merged.get(exc_lineno, 0): + * return False # <<<<<<<<<<<<<< + * + * thread = self._args[3] + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(Py_False); + __pyx_r = Py_False; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L3_return; + + /* "_pydevd_bundle/pydevd_cython.pyx":558 + * else: + * # Ok, dict has it already cached, so, let's check it... + * if merged.get(exc_lineno, 0): # <<<<<<<<<<<<<< + * return False + * + */ + } + } + __pyx_L37:; + + /* "_pydevd_bundle/pydevd_cython.pyx":502 + * + * if main_debugger.ignore_exceptions_thrown_in_lines_with_ignore_exception: + * for check_trace_obj in (initial_trace_obj, trace_obj): # <<<<<<<<<<<<<< + * abs_real_path_and_base = get_abs_path_real_path_and_base_from_frame(check_trace_obj.tb_frame) + * absolute_filename = abs_real_path_and_base[0] + */ + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":501 + * trace_obj = trace_obj.tb_next + * + * if main_debugger.ignore_exceptions_thrown_in_lines_with_ignore_exception: # <<<<<<<<<<<<<< + * for check_trace_obj in (initial_trace_obj, trace_obj): + * abs_real_path_and_base = get_abs_path_real_path_and_base_from_frame(check_trace_obj.tb_frame) + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":561 + * return False + * + * thread = self._args[3] # <<<<<<<<<<<<<< + * + * try: + */ + if (unlikely(__pyx_v_self->_args == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 561, __pyx_L4_error) + } + __pyx_t_5 = __Pyx_GetItemInt_Tuple(__pyx_v_self->_args, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 561, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_v_thread = __pyx_t_5; + __pyx_t_5 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":563 + * thread = self._args[3] + * + * try: # <<<<<<<<<<<<<< + * frame_id_to_frame = {} + * frame_id_to_frame[id(frame)] = frame + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_11, &__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_10); + /*try:*/ { + + /* "_pydevd_bundle/pydevd_cython.pyx":564 + * + * try: + * frame_id_to_frame = {} # <<<<<<<<<<<<<< + * frame_id_to_frame[id(frame)] = frame + * f = trace_obj.tb_frame + */ + __pyx_t_5 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 564, __pyx_L50_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_v_frame_id_to_frame = ((PyObject*)__pyx_t_5); + __pyx_t_5 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":565 + * try: + * frame_id_to_frame = {} + * frame_id_to_frame[id(frame)] = frame # <<<<<<<<<<<<<< + * f = trace_obj.tb_frame + * while f is not None: + */ + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, __pyx_v_frame); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 565, __pyx_L50_error) + __Pyx_GOTREF(__pyx_t_5); + if (unlikely(PyDict_SetItem(__pyx_v_frame_id_to_frame, __pyx_t_5, __pyx_v_frame) < 0)) __PYX_ERR(0, 565, __pyx_L50_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":566 + * frame_id_to_frame = {} + * frame_id_to_frame[id(frame)] = frame + * f = trace_obj.tb_frame # <<<<<<<<<<<<<< + * while f is not None: + * frame_id_to_frame[id(f)] = f + */ + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_trace_obj, __pyx_n_s_tb_frame); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 566, __pyx_L50_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_v_f = __pyx_t_5; + __pyx_t_5 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":567 + * frame_id_to_frame[id(frame)] = frame + * f = trace_obj.tb_frame + * while f is not None: # <<<<<<<<<<<<<< + * frame_id_to_frame[id(f)] = f + * f = f.f_back + */ + while (1) { + __pyx_t_2 = (__pyx_v_f != Py_None); + __pyx_t_3 = (__pyx_t_2 != 0); + if (!__pyx_t_3) break; + + /* "_pydevd_bundle/pydevd_cython.pyx":568 + * f = trace_obj.tb_frame + * while f is not None: + * frame_id_to_frame[id(f)] = f # <<<<<<<<<<<<<< + * f = f.f_back + * f = None + */ + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, __pyx_v_f); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 568, __pyx_L50_error) + __Pyx_GOTREF(__pyx_t_5); + if (unlikely(PyDict_SetItem(__pyx_v_frame_id_to_frame, __pyx_t_5, __pyx_v_f) < 0)) __PYX_ERR(0, 568, __pyx_L50_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":569 + * while f is not None: + * frame_id_to_frame[id(f)] = f + * f = f.f_back # <<<<<<<<<<<<<< + * f = None + * + */ + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_f_back); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 569, __pyx_L50_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_5); + __pyx_t_5 = 0; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":570 + * frame_id_to_frame[id(f)] = f + * f = f.f_back + * f = None # <<<<<<<<<<<<<< + * + * stopped = True + */ + __Pyx_INCREF(Py_None); + __Pyx_DECREF_SET(__pyx_v_f, Py_None); + + /* "_pydevd_bundle/pydevd_cython.pyx":572 + * f = None + * + * stopped = True # <<<<<<<<<<<<<< + * main_debugger.send_caught_exception_stack(thread, arg, id(frame)) + * try: + */ + __pyx_v_stopped = 1; + + /* "_pydevd_bundle/pydevd_cython.pyx":573 + * + * stopped = True + * main_debugger.send_caught_exception_stack(thread, arg, id(frame)) # <<<<<<<<<<<<<< + * try: + * self.set_suspend(thread, 137) + */ + __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_send_caught_exception_stack); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 573, __pyx_L50_error) + __Pyx_GOTREF(__pyx_t_15); + __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, __pyx_v_frame); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 573, __pyx_L50_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_8 = NULL; + __pyx_t_16 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_15))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_15); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_15); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_15, function); + __pyx_t_16 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_15)) { + PyObject *__pyx_temp[4] = {__pyx_t_8, __pyx_v_thread, __pyx_v_arg, __pyx_t_7}; + __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_15, __pyx_temp+1-__pyx_t_16, 3+__pyx_t_16); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 573, __pyx_L50_error) + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_15)) { + PyObject *__pyx_temp[4] = {__pyx_t_8, __pyx_v_thread, __pyx_v_arg, __pyx_t_7}; + __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_15, __pyx_temp+1-__pyx_t_16, 3+__pyx_t_16); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 573, __pyx_L50_error) + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } else + #endif + { + __pyx_t_9 = PyTuple_New(3+__pyx_t_16); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 573, __pyx_L50_error) + __Pyx_GOTREF(__pyx_t_9); + if (__pyx_t_8) { + __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __pyx_t_8 = NULL; + } + __Pyx_INCREF(__pyx_v_thread); + __Pyx_GIVEREF(__pyx_v_thread); + PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_16, __pyx_v_thread); + __Pyx_INCREF(__pyx_v_arg); + __Pyx_GIVEREF(__pyx_v_arg); + PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_16, __pyx_v_arg); + __Pyx_GIVEREF(__pyx_t_7); + PyTuple_SET_ITEM(__pyx_t_9, 2+__pyx_t_16, __pyx_t_7); + __pyx_t_7 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 573, __pyx_L50_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":574 + * stopped = True + * main_debugger.send_caught_exception_stack(thread, arg, id(frame)) + * try: # <<<<<<<<<<<<<< + * self.set_suspend(thread, 137) + * self.do_wait_suspend(thread, frame, event, arg, exception_type=exception_type) + */ + /*try:*/ { + + /* "_pydevd_bundle/pydevd_cython.pyx":575 + * main_debugger.send_caught_exception_stack(thread, arg, id(frame)) + * try: + * self.set_suspend(thread, 137) # <<<<<<<<<<<<<< + * self.do_wait_suspend(thread, frame, event, arg, exception_type=exception_type) + * finally: + */ + __pyx_t_15 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_suspend); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 575, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_15); + __pyx_t_9 = NULL; + __pyx_t_16 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_15))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_15); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_15); + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_15, function); + __pyx_t_16 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_15)) { + PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_v_thread, __pyx_int_137}; + __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_15, __pyx_temp+1-__pyx_t_16, 2+__pyx_t_16); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 575, __pyx_L59_error) + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_GOTREF(__pyx_t_5); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_15)) { + PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_v_thread, __pyx_int_137}; + __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_15, __pyx_temp+1-__pyx_t_16, 2+__pyx_t_16); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 575, __pyx_L59_error) + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_GOTREF(__pyx_t_5); + } else + #endif + { + __pyx_t_7 = PyTuple_New(2+__pyx_t_16); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 575, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_7); + if (__pyx_t_9) { + __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_9); __pyx_t_9 = NULL; + } + __Pyx_INCREF(__pyx_v_thread); + __Pyx_GIVEREF(__pyx_v_thread); + PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_16, __pyx_v_thread); + __Pyx_INCREF(__pyx_int_137); + __Pyx_GIVEREF(__pyx_int_137); + PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_16, __pyx_int_137); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_t_7, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 575, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":576 + * try: + * self.set_suspend(thread, 137) + * self.do_wait_suspend(thread, frame, event, arg, exception_type=exception_type) # <<<<<<<<<<<<<< + * finally: + * main_debugger.send_caught_exception_stack_proceeded(thread) + */ + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_do_wait_suspend); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 576, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_15 = PyTuple_New(4); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 576, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_15); + __Pyx_INCREF(__pyx_v_thread); + __Pyx_GIVEREF(__pyx_v_thread); + PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_v_thread); + __Pyx_INCREF(__pyx_v_frame); + __Pyx_GIVEREF(__pyx_v_frame); + PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_v_frame); + __Pyx_INCREF(__pyx_v_event); + __Pyx_GIVEREF(__pyx_v_event); + PyTuple_SET_ITEM(__pyx_t_15, 2, __pyx_v_event); + __Pyx_INCREF(__pyx_v_arg); + __Pyx_GIVEREF(__pyx_v_arg); + PyTuple_SET_ITEM(__pyx_t_15, 3, __pyx_v_arg); + __pyx_t_7 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 576, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_7); + if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_exception_type, __pyx_v_exception_type) < 0) __PYX_ERR(0, 576, __pyx_L59_error) + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_15, __pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 576, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":578 + * self.do_wait_suspend(thread, frame, event, arg, exception_type=exception_type) + * finally: + * main_debugger.send_caught_exception_stack_proceeded(thread) # <<<<<<<<<<<<<< + * except: + * pydev_log.exception() + */ + /*finally:*/ { + /*normal exit:*/{ + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_send_caught_exception_stack_proc); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 578, __pyx_L50_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_15 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_15)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_15); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + __pyx_t_9 = (__pyx_t_15) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_15, __pyx_v_thread) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_thread); + __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 578, __pyx_L50_error) + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + goto __pyx_L60; + } + __pyx_L59_error:; + /*exception exit:*/{ + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; __pyx_t_23 = 0; __pyx_t_24 = 0; __pyx_t_25 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_23, &__pyx_t_24, &__pyx_t_25); + if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_20, &__pyx_t_21, &__pyx_t_22) < 0)) __Pyx_ErrFetch(&__pyx_t_20, &__pyx_t_21, &__pyx_t_22); + __Pyx_XGOTREF(__pyx_t_20); + __Pyx_XGOTREF(__pyx_t_21); + __Pyx_XGOTREF(__pyx_t_22); + __Pyx_XGOTREF(__pyx_t_23); + __Pyx_XGOTREF(__pyx_t_24); + __Pyx_XGOTREF(__pyx_t_25); + __pyx_t_16 = __pyx_lineno; __pyx_t_18 = __pyx_clineno; __pyx_t_19 = __pyx_filename; + { + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_send_caught_exception_stack_proc); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 578, __pyx_L62_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_15 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_15)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_15); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + __pyx_t_9 = (__pyx_t_15) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_15, __pyx_v_thread) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_thread); + __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 578, __pyx_L62_error) + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + if (PY_MAJOR_VERSION >= 3) { + __Pyx_XGIVEREF(__pyx_t_23); + __Pyx_XGIVEREF(__pyx_t_24); + __Pyx_XGIVEREF(__pyx_t_25); + __Pyx_ExceptionReset(__pyx_t_23, __pyx_t_24, __pyx_t_25); + } + __Pyx_XGIVEREF(__pyx_t_20); + __Pyx_XGIVEREF(__pyx_t_21); + __Pyx_XGIVEREF(__pyx_t_22); + __Pyx_ErrRestore(__pyx_t_20, __pyx_t_21, __pyx_t_22); + __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; __pyx_t_23 = 0; __pyx_t_24 = 0; __pyx_t_25 = 0; + __pyx_lineno = __pyx_t_16; __pyx_clineno = __pyx_t_18; __pyx_filename = __pyx_t_19; + goto __pyx_L50_error; + __pyx_L62_error:; + if (PY_MAJOR_VERSION >= 3) { + __Pyx_XGIVEREF(__pyx_t_23); + __Pyx_XGIVEREF(__pyx_t_24); + __Pyx_XGIVEREF(__pyx_t_25); + __Pyx_ExceptionReset(__pyx_t_23, __pyx_t_24, __pyx_t_25); + } + __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; + __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; + __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; + __pyx_t_23 = 0; __pyx_t_24 = 0; __pyx_t_25 = 0; + goto __pyx_L50_error; + } + __pyx_L60:; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":563 + * thread = self._args[3] + * + * try: # <<<<<<<<<<<<<< + * frame_id_to_frame = {} + * frame_id_to_frame[id(frame)] = frame + */ + } + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L55_try_end; + __pyx_L50_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":579 + * finally: + * main_debugger.send_caught_exception_stack_proceeded(thread) + * except: # <<<<<<<<<<<<<< + * pydev_log.exception() + * + */ + /*except:*/ { + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame._handle_exception", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_9, &__pyx_t_7, &__pyx_t_15) < 0) __PYX_ERR(0, 579, __pyx_L52_except_error) + __Pyx_GOTREF(__pyx_t_9); + __Pyx_GOTREF(__pyx_t_7); + __Pyx_GOTREF(__pyx_t_15); + + /* "_pydevd_bundle/pydevd_cython.pyx":580 + * main_debugger.send_caught_exception_stack_proceeded(thread) + * except: + * pydev_log.exception() # <<<<<<<<<<<<<< + * + * main_debugger.set_trace_for_frame_and_parents(frame) + */ + __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_pydev_log); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 580, __pyx_L52_except_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_exception); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 580, __pyx_L52_except_error) + __Pyx_GOTREF(__pyx_t_17); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_17))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_17); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_17, function); + } + } + __pyx_t_5 = (__pyx_t_8) ? __Pyx_PyObject_CallOneArg(__pyx_t_17, __pyx_t_8) : __Pyx_PyObject_CallNoArg(__pyx_t_17); + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 580, __pyx_L52_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; + goto __pyx_L51_exception_handled; + } + __pyx_L52_except_error:; + + /* "_pydevd_bundle/pydevd_cython.pyx":563 + * thread = self._args[3] + * + * try: # <<<<<<<<<<<<<< + * frame_id_to_frame = {} + * frame_id_to_frame[id(frame)] = frame + */ + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_11, __pyx_t_10); + goto __pyx_L4_error; + __pyx_L51_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_11, __pyx_t_10); + __pyx_L55_try_end:; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":582 + * pydev_log.exception() + * + * main_debugger.set_trace_for_frame_and_parents(frame) # <<<<<<<<<<<<<< + * finally: + * # Make sure the user cannot see the '__exception__' we added after we leave the suspend state. + */ + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_set_trace_for_frame_and_parents); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 582, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + __pyx_t_15 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_9, __pyx_v_frame) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_frame); + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 582, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_15); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":585 + * finally: + * # Make sure the user cannot see the '__exception__' we added after we leave the suspend state. + * remove_exception_from_frame(frame) # <<<<<<<<<<<<<< + * # Clear some local variables... + * frame = None + */ + /*finally:*/ { + /*normal exit:*/{ + __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_remove_exception_from_frame); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 585, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + __pyx_t_15 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_9, __pyx_v_frame) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_frame); + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 585, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_15); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":587 + * remove_exception_from_frame(frame) + * # Clear some local variables... + * frame = None # <<<<<<<<<<<<<< + * trace_obj = None + * initial_trace_obj = None + */ + __Pyx_INCREF(Py_None); + __Pyx_DECREF_SET(__pyx_v_frame, Py_None); + + /* "_pydevd_bundle/pydevd_cython.pyx":588 + * # Clear some local variables... + * frame = None + * trace_obj = None # <<<<<<<<<<<<<< + * initial_trace_obj = None + * check_trace_obj = None + */ + __Pyx_INCREF(Py_None); + __Pyx_DECREF_SET(__pyx_v_trace_obj, Py_None); + + /* "_pydevd_bundle/pydevd_cython.pyx":589 + * frame = None + * trace_obj = None + * initial_trace_obj = None # <<<<<<<<<<<<<< + * check_trace_obj = None + * f = None + */ + __Pyx_INCREF(Py_None); + __Pyx_DECREF_SET(__pyx_v_initial_trace_obj, Py_None); + + /* "_pydevd_bundle/pydevd_cython.pyx":590 + * trace_obj = None + * initial_trace_obj = None + * check_trace_obj = None # <<<<<<<<<<<<<< + * f = None + * frame_id_to_frame = None + */ + __Pyx_INCREF(Py_None); + __Pyx_XDECREF_SET(__pyx_v_check_trace_obj, Py_None); + + /* "_pydevd_bundle/pydevd_cython.pyx":591 + * initial_trace_obj = None + * check_trace_obj = None + * f = None # <<<<<<<<<<<<<< + * frame_id_to_frame = None + * main_debugger = None + */ + __Pyx_INCREF(Py_None); + __Pyx_XDECREF_SET(__pyx_v_f, Py_None); + + /* "_pydevd_bundle/pydevd_cython.pyx":592 + * check_trace_obj = None + * f = None + * frame_id_to_frame = None # <<<<<<<<<<<<<< + * main_debugger = None + * thread = None + */ + __Pyx_INCREF(Py_None); + __Pyx_XDECREF_SET(__pyx_v_frame_id_to_frame, ((PyObject*)Py_None)); + + /* "_pydevd_bundle/pydevd_cython.pyx":593 + * f = None + * frame_id_to_frame = None + * main_debugger = None # <<<<<<<<<<<<<< + * thread = None + * + */ + __Pyx_INCREF(Py_None); + __Pyx_DECREF_SET(__pyx_v_main_debugger, Py_None); + + /* "_pydevd_bundle/pydevd_cython.pyx":594 + * frame_id_to_frame = None + * main_debugger = None + * thread = None # <<<<<<<<<<<<<< + * + * return stopped + */ + __Pyx_INCREF(Py_None); + __Pyx_XDECREF_SET(__pyx_v_thread, Py_None); + goto __pyx_L5; + } + __pyx_L4_error:; + /*exception exit:*/{ + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_25 = 0; __pyx_t_24 = 0; __pyx_t_23 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_25, &__pyx_t_24, &__pyx_t_23); + if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12) < 0)) __Pyx_ErrFetch(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_25); + __Pyx_XGOTREF(__pyx_t_24); + __Pyx_XGOTREF(__pyx_t_23); + __pyx_t_18 = __pyx_lineno; __pyx_t_16 = __pyx_clineno; __pyx_t_26 = __pyx_filename; + { + + /* "_pydevd_bundle/pydevd_cython.pyx":585 + * finally: + * # Make sure the user cannot see the '__exception__' we added after we leave the suspend state. + * remove_exception_from_frame(frame) # <<<<<<<<<<<<<< + * # Clear some local variables... + * frame = None + */ + __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_remove_exception_from_frame); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 585, __pyx_L66_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + __pyx_t_15 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_9, __pyx_v_frame) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_frame); + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 585, __pyx_L66_error) + __Pyx_GOTREF(__pyx_t_15); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":587 + * remove_exception_from_frame(frame) + * # Clear some local variables... + * frame = None # <<<<<<<<<<<<<< + * trace_obj = None + * initial_trace_obj = None + */ + __Pyx_INCREF(Py_None); + __Pyx_DECREF_SET(__pyx_v_frame, Py_None); + + /* "_pydevd_bundle/pydevd_cython.pyx":588 + * # Clear some local variables... + * frame = None + * trace_obj = None # <<<<<<<<<<<<<< + * initial_trace_obj = None + * check_trace_obj = None + */ + __Pyx_INCREF(Py_None); + __Pyx_XDECREF_SET(__pyx_v_trace_obj, Py_None); + + /* "_pydevd_bundle/pydevd_cython.pyx":589 + * frame = None + * trace_obj = None + * initial_trace_obj = None # <<<<<<<<<<<<<< + * check_trace_obj = None + * f = None + */ + __Pyx_INCREF(Py_None); + __Pyx_XDECREF_SET(__pyx_v_initial_trace_obj, Py_None); + + /* "_pydevd_bundle/pydevd_cython.pyx":590 + * trace_obj = None + * initial_trace_obj = None + * check_trace_obj = None # <<<<<<<<<<<<<< + * f = None + * frame_id_to_frame = None + */ + __Pyx_INCREF(Py_None); + __Pyx_XDECREF_SET(__pyx_v_check_trace_obj, Py_None); + + /* "_pydevd_bundle/pydevd_cython.pyx":591 + * initial_trace_obj = None + * check_trace_obj = None + * f = None # <<<<<<<<<<<<<< + * frame_id_to_frame = None + * main_debugger = None + */ + __Pyx_INCREF(Py_None); + __Pyx_XDECREF_SET(__pyx_v_f, Py_None); + + /* "_pydevd_bundle/pydevd_cython.pyx":592 + * check_trace_obj = None + * f = None + * frame_id_to_frame = None # <<<<<<<<<<<<<< + * main_debugger = None + * thread = None + */ + __Pyx_INCREF(Py_None); + __Pyx_XDECREF_SET(__pyx_v_frame_id_to_frame, ((PyObject*)Py_None)); + + /* "_pydevd_bundle/pydevd_cython.pyx":593 + * f = None + * frame_id_to_frame = None + * main_debugger = None # <<<<<<<<<<<<<< + * thread = None + * + */ + __Pyx_INCREF(Py_None); + __Pyx_XDECREF_SET(__pyx_v_main_debugger, Py_None); + + /* "_pydevd_bundle/pydevd_cython.pyx":594 + * frame_id_to_frame = None + * main_debugger = None + * thread = None # <<<<<<<<<<<<<< + * + * return stopped + */ + __Pyx_INCREF(Py_None); + __Pyx_XDECREF_SET(__pyx_v_thread, Py_None); + } + if (PY_MAJOR_VERSION >= 3) { + __Pyx_XGIVEREF(__pyx_t_25); + __Pyx_XGIVEREF(__pyx_t_24); + __Pyx_XGIVEREF(__pyx_t_23); + __Pyx_ExceptionReset(__pyx_t_25, __pyx_t_24, __pyx_t_23); + } + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_ErrRestore(__pyx_t_10, __pyx_t_11, __pyx_t_12); + __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_25 = 0; __pyx_t_24 = 0; __pyx_t_23 = 0; + __pyx_lineno = __pyx_t_18; __pyx_clineno = __pyx_t_16; __pyx_filename = __pyx_t_26; + goto __pyx_L1_error; + __pyx_L66_error:; + if (PY_MAJOR_VERSION >= 3) { + __Pyx_XGIVEREF(__pyx_t_25); + __Pyx_XGIVEREF(__pyx_t_24); + __Pyx_XGIVEREF(__pyx_t_23); + __Pyx_ExceptionReset(__pyx_t_25, __pyx_t_24, __pyx_t_23); + } + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_25 = 0; __pyx_t_24 = 0; __pyx_t_23 = 0; + goto __pyx_L1_error; + } + __pyx_L3_return: { + __pyx_t_23 = __pyx_r; + __pyx_r = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":585 + * finally: + * # Make sure the user cannot see the '__exception__' we added after we leave the suspend state. + * remove_exception_from_frame(frame) # <<<<<<<<<<<<<< + * # Clear some local variables... + * frame = None + */ + __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_remove_exception_from_frame); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 585, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + __pyx_t_15 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_9, __pyx_v_frame) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_frame); + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 585, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_15); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":587 + * remove_exception_from_frame(frame) + * # Clear some local variables... + * frame = None # <<<<<<<<<<<<<< + * trace_obj = None + * initial_trace_obj = None + */ + __Pyx_INCREF(Py_None); + __Pyx_DECREF_SET(__pyx_v_frame, Py_None); + + /* "_pydevd_bundle/pydevd_cython.pyx":588 + * # Clear some local variables... + * frame = None + * trace_obj = None # <<<<<<<<<<<<<< + * initial_trace_obj = None + * check_trace_obj = None + */ + __Pyx_INCREF(Py_None); + __Pyx_DECREF_SET(__pyx_v_trace_obj, Py_None); + + /* "_pydevd_bundle/pydevd_cython.pyx":589 + * frame = None + * trace_obj = None + * initial_trace_obj = None # <<<<<<<<<<<<<< + * check_trace_obj = None + * f = None + */ + __Pyx_INCREF(Py_None); + __Pyx_DECREF_SET(__pyx_v_initial_trace_obj, Py_None); + + /* "_pydevd_bundle/pydevd_cython.pyx":590 + * trace_obj = None + * initial_trace_obj = None + * check_trace_obj = None # <<<<<<<<<<<<<< + * f = None + * frame_id_to_frame = None + */ + __Pyx_INCREF(Py_None); + __Pyx_XDECREF_SET(__pyx_v_check_trace_obj, Py_None); + + /* "_pydevd_bundle/pydevd_cython.pyx":591 + * initial_trace_obj = None + * check_trace_obj = None + * f = None # <<<<<<<<<<<<<< + * frame_id_to_frame = None + * main_debugger = None + */ + __Pyx_INCREF(Py_None); + __Pyx_XDECREF_SET(__pyx_v_f, Py_None); + + /* "_pydevd_bundle/pydevd_cython.pyx":592 + * check_trace_obj = None + * f = None + * frame_id_to_frame = None # <<<<<<<<<<<<<< + * main_debugger = None + * thread = None + */ + __Pyx_INCREF(Py_None); + __Pyx_XDECREF_SET(__pyx_v_frame_id_to_frame, ((PyObject*)Py_None)); + + /* "_pydevd_bundle/pydevd_cython.pyx":593 + * f = None + * frame_id_to_frame = None + * main_debugger = None # <<<<<<<<<<<<<< + * thread = None + * + */ + __Pyx_INCREF(Py_None); + __Pyx_DECREF_SET(__pyx_v_main_debugger, Py_None); + + /* "_pydevd_bundle/pydevd_cython.pyx":594 + * frame_id_to_frame = None + * main_debugger = None + * thread = None # <<<<<<<<<<<<<< + * + * return stopped + */ + __Pyx_INCREF(Py_None); + __Pyx_XDECREF_SET(__pyx_v_thread, Py_None); + __pyx_r = __pyx_t_23; + __pyx_t_23 = 0; + goto __pyx_L0; + } + __pyx_L5:; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":596 + * thread = None + * + * return stopped # <<<<<<<<<<<<<< + * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_15 = __Pyx_PyBool_FromLong(__pyx_v_stopped); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 596, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_15); + __pyx_r = __pyx_t_15; + __pyx_t_15 = 0; + goto __pyx_L0; + + /* "_pydevd_bundle/pydevd_cython.pyx":470 + * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * cdef _handle_exception(self, frame, str event, arg, str exception_type): # <<<<<<<<<<<<<< + * cdef bint stopped; + * cdef tuple abs_real_path_and_base; + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_14); + __Pyx_XDECREF(__pyx_t_15); + __Pyx_XDECREF(__pyx_t_17); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame._handle_exception", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_abs_real_path_and_base); + __Pyx_XDECREF(__pyx_v_absolute_filename); + __Pyx_XDECREF(__pyx_v_canonical_normalized_filename); + __Pyx_XDECREF(__pyx_v_filename_to_lines_where_exceptions_are_ignored); + __Pyx_XDECREF(__pyx_v_lines_ignored); + __Pyx_XDECREF(__pyx_v_frame_id_to_frame); + __Pyx_XDECREF(__pyx_v_merged); + __Pyx_XDECREF(__pyx_v_trace_obj); + __Pyx_XDECREF(__pyx_v_main_debugger); + __Pyx_XDECREF(__pyx_v_initial_trace_obj); + __Pyx_XDECREF(__pyx_v_check_trace_obj); + __Pyx_XDECREF(__pyx_v_curr_stat); + __Pyx_XDECREF(__pyx_v_last_stat); + __Pyx_XDECREF(__pyx_v_from_user_input); + __Pyx_XDECREF(__pyx_v_exc_lineno); + __Pyx_XDECREF(__pyx_v_line); + __Pyx_XDECREF(__pyx_v_thread); + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XDECREF(__pyx_v_frame); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pyx":599 + * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * cdef get_func_name(self, frame): # <<<<<<<<<<<<<< + * cdef str func_name + * # ELSE + */ + +static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_get_func_name(CYTHON_UNUSED struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, PyObject *__pyx_v_frame) { + PyObject *__pyx_v_func_name = 0; + PyObject *__pyx_v_code_obj = NULL; + PyObject *__pyx_v_cls_name = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + int __pyx_t_7; + PyObject *__pyx_t_8 = NULL; + int __pyx_t_9; + int __pyx_t_10; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("get_func_name", 0); + + /* "_pydevd_bundle/pydevd_cython.pyx":604 + * # def get_func_name(self, frame): + * # ENDIF + * code_obj = frame.f_code # <<<<<<<<<<<<<< + * func_name = code_obj.co_name + * try: + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 604, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_code_obj = __pyx_t_1; + __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":605 + * # ENDIF + * code_obj = frame.f_code + * func_name = code_obj.co_name # <<<<<<<<<<<<<< + * try: + * cls_name = get_clsname_for_code(code_obj, frame) + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_code_obj, __pyx_n_s_co_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 605, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(PyString_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(0, 605, __pyx_L1_error) + __pyx_v_func_name = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":606 + * code_obj = frame.f_code + * func_name = code_obj.co_name + * try: # <<<<<<<<<<<<<< + * cls_name = get_clsname_for_code(code_obj, frame) + * if cls_name is not None: + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4); + __Pyx_XGOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_4); + /*try:*/ { + + /* "_pydevd_bundle/pydevd_cython.pyx":607 + * func_name = code_obj.co_name + * try: + * cls_name = get_clsname_for_code(code_obj, frame) # <<<<<<<<<<<<<< + * if cls_name is not None: + * return "%s.%s" % (cls_name, func_name) + */ + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_get_clsname_for_code); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 607, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = NULL; + __pyx_t_7 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_7 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_code_obj, __pyx_v_frame}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 607, __pyx_L3_error) + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_code_obj, __pyx_v_frame}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 607, __pyx_L3_error) + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else + #endif + { + __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 607, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_8); + if (__pyx_t_6) { + __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL; + } + __Pyx_INCREF(__pyx_v_code_obj); + __Pyx_GIVEREF(__pyx_v_code_obj); + PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_v_code_obj); + __Pyx_INCREF(__pyx_v_frame); + __Pyx_GIVEREF(__pyx_v_frame); + PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_v_frame); + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 607, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_v_cls_name = __pyx_t_1; + __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":608 + * try: + * cls_name = get_clsname_for_code(code_obj, frame) + * if cls_name is not None: # <<<<<<<<<<<<<< + * return "%s.%s" % (cls_name, func_name) + * else: + */ + __pyx_t_9 = (__pyx_v_cls_name != Py_None); + __pyx_t_10 = (__pyx_t_9 != 0); + if (__pyx_t_10) { + + /* "_pydevd_bundle/pydevd_cython.pyx":609 + * cls_name = get_clsname_for_code(code_obj, frame) + * if cls_name is not None: + * return "%s.%s" % (cls_name, func_name) # <<<<<<<<<<<<<< + * else: + * return func_name + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 609, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v_cls_name); + __Pyx_GIVEREF(__pyx_v_cls_name); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_cls_name); + __Pyx_INCREF(__pyx_v_func_name); + __Pyx_GIVEREF(__pyx_v_func_name); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_func_name); + __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_s_s, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 609, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; + goto __pyx_L7_try_return; + + /* "_pydevd_bundle/pydevd_cython.pyx":608 + * try: + * cls_name = get_clsname_for_code(code_obj, frame) + * if cls_name is not None: # <<<<<<<<<<<<<< + * return "%s.%s" % (cls_name, func_name) + * else: + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":611 + * return "%s.%s" % (cls_name, func_name) + * else: + * return func_name # <<<<<<<<<<<<<< + * except: + * pydev_log.exception() + */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_func_name); + __pyx_r = __pyx_v_func_name; + goto __pyx_L7_try_return; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":606 + * code_obj = frame.f_code + * func_name = code_obj.co_name + * try: # <<<<<<<<<<<<<< + * cls_name = get_clsname_for_code(code_obj, frame) + * if cls_name is not None: + */ + } + __pyx_L3_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":612 + * else: + * return func_name + * except: # <<<<<<<<<<<<<< + * pydev_log.exception() + * return func_name + */ + /*except:*/ { + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame.get_func_name", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_1, &__pyx_t_8) < 0) __PYX_ERR(0, 612, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_8); + + /* "_pydevd_bundle/pydevd_cython.pyx":613 + * return func_name + * except: + * pydev_log.exception() # <<<<<<<<<<<<<< + * return func_name + * + */ + __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_pydev_log); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 613, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_exception); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 613, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __pyx_t_11 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_12))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_12); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); + __Pyx_INCREF(__pyx_t_11); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_12, function); + } + } + __pyx_t_6 = (__pyx_t_11) ? __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_11) : __Pyx_PyObject_CallNoArg(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 613, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":614 + * except: + * pydev_log.exception() + * return func_name # <<<<<<<<<<<<<< + * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_func_name); + __pyx_r = __pyx_v_func_name; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L6_except_return; + } + __pyx_L5_except_error:; + + /* "_pydevd_bundle/pydevd_cython.pyx":606 + * code_obj = frame.f_code + * func_name = code_obj.co_name + * try: # <<<<<<<<<<<<<< + * cls_name = get_clsname_for_code(code_obj, frame) + * if cls_name is not None: + */ + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_4); + __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); + goto __pyx_L1_error; + __pyx_L7_try_return:; + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_4); + __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); + goto __pyx_L0; + __pyx_L6_except_return:; + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_4); + __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); + goto __pyx_L0; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":599 + * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * cdef get_func_name(self, frame): # <<<<<<<<<<<<<< + * cdef str func_name + * # ELSE + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame.get_func_name", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_func_name); + __Pyx_XDECREF(__pyx_v_code_obj); + __Pyx_XDECREF(__pyx_v_cls_name); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pyx":617 + * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * cdef _show_return_values(self, frame, arg): # <<<<<<<<<<<<<< + * # ELSE + * # def _show_return_values(self, frame, arg): + */ + +static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame__show_return_values(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, PyObject *__pyx_v_frame, PyObject *__pyx_v_arg) { + PyObject *__pyx_v_f_locals_back = NULL; + PyObject *__pyx_v_return_values_dict = NULL; + PyObject *__pyx_v_name = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + int __pyx_t_6; + int __pyx_t_7; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + int __pyx_t_10; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + int __pyx_t_13; + char const *__pyx_t_14; + PyObject *__pyx_t_15 = NULL; + PyObject *__pyx_t_16 = NULL; + PyObject *__pyx_t_17 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("_show_return_values", 0); + + /* "_pydevd_bundle/pydevd_cython.pyx":621 + * # def _show_return_values(self, frame, arg): + * # ENDIF + * try: # <<<<<<<<<<<<<< + * try: + * f_locals_back = getattr(frame.f_back, "f_locals", None) + */ + /*try:*/ { + + /* "_pydevd_bundle/pydevd_cython.pyx":622 + * # ENDIF + * try: + * try: # <<<<<<<<<<<<<< + * f_locals_back = getattr(frame.f_back, "f_locals", None) + * if f_locals_back is not None: + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_t_3); + /*try:*/ { + + /* "_pydevd_bundle/pydevd_cython.pyx":623 + * try: + * try: + * f_locals_back = getattr(frame.f_back, "f_locals", None) # <<<<<<<<<<<<<< + * if f_locals_back is not None: + * return_values_dict = f_locals_back.get(RETURN_VALUES_DICT, None) + */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 623, __pyx_L6_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_GetAttr3(__pyx_t_4, __pyx_n_s_f_locals, Py_None); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 623, __pyx_L6_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_v_f_locals_back = __pyx_t_5; + __pyx_t_5 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":624 + * try: + * f_locals_back = getattr(frame.f_back, "f_locals", None) + * if f_locals_back is not None: # <<<<<<<<<<<<<< + * return_values_dict = f_locals_back.get(RETURN_VALUES_DICT, None) + * if return_values_dict is None: + */ + __pyx_t_6 = (__pyx_v_f_locals_back != Py_None); + __pyx_t_7 = (__pyx_t_6 != 0); + if (__pyx_t_7) { + + /* "_pydevd_bundle/pydevd_cython.pyx":625 + * f_locals_back = getattr(frame.f_back, "f_locals", None) + * if f_locals_back is not None: + * return_values_dict = f_locals_back.get(RETURN_VALUES_DICT, None) # <<<<<<<<<<<<<< + * if return_values_dict is None: + * return_values_dict = {} + */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f_locals_back, __pyx_n_s_get); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 625, __pyx_L6_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_RETURN_VALUES_DICT); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 625, __pyx_L6_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_9 = NULL; + __pyx_t_10 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + __pyx_t_10 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_t_8, Py_None}; + __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 625, __pyx_L6_error) + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_t_8, Py_None}; + __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 625, __pyx_L6_error) + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } else + #endif + { + __pyx_t_11 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 625, __pyx_L6_error) + __Pyx_GOTREF(__pyx_t_11); + if (__pyx_t_9) { + __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9); __pyx_t_9 = NULL; + } + __Pyx_GIVEREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_11, 0+__pyx_t_10, __pyx_t_8); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_11, 1+__pyx_t_10, Py_None); + __pyx_t_8 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_11, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 625, __pyx_L6_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_v_return_values_dict = __pyx_t_5; + __pyx_t_5 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":626 + * if f_locals_back is not None: + * return_values_dict = f_locals_back.get(RETURN_VALUES_DICT, None) + * if return_values_dict is None: # <<<<<<<<<<<<<< + * return_values_dict = {} + * f_locals_back[RETURN_VALUES_DICT] = return_values_dict + */ + __pyx_t_7 = (__pyx_v_return_values_dict == Py_None); + __pyx_t_6 = (__pyx_t_7 != 0); + if (__pyx_t_6) { + + /* "_pydevd_bundle/pydevd_cython.pyx":627 + * return_values_dict = f_locals_back.get(RETURN_VALUES_DICT, None) + * if return_values_dict is None: + * return_values_dict = {} # <<<<<<<<<<<<<< + * f_locals_back[RETURN_VALUES_DICT] = return_values_dict + * name = self.get_func_name(frame) + */ + __pyx_t_5 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 627, __pyx_L6_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF_SET(__pyx_v_return_values_dict, __pyx_t_5); + __pyx_t_5 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":628 + * if return_values_dict is None: + * return_values_dict = {} + * f_locals_back[RETURN_VALUES_DICT] = return_values_dict # <<<<<<<<<<<<<< + * name = self.get_func_name(frame) + * return_values_dict[name] = arg + */ + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_RETURN_VALUES_DICT); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 628, __pyx_L6_error) + __Pyx_GOTREF(__pyx_t_5); + if (unlikely(PyObject_SetItem(__pyx_v_f_locals_back, __pyx_t_5, __pyx_v_return_values_dict) < 0)) __PYX_ERR(0, 628, __pyx_L6_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":626 + * if f_locals_back is not None: + * return_values_dict = f_locals_back.get(RETURN_VALUES_DICT, None) + * if return_values_dict is None: # <<<<<<<<<<<<<< + * return_values_dict = {} + * f_locals_back[RETURN_VALUES_DICT] = return_values_dict + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":629 + * return_values_dict = {} + * f_locals_back[RETURN_VALUES_DICT] = return_values_dict + * name = self.get_func_name(frame) # <<<<<<<<<<<<<< + * return_values_dict[name] = arg + * except: + */ + __pyx_t_5 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->get_func_name(__pyx_v_self, __pyx_v_frame); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 629, __pyx_L6_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_v_name = __pyx_t_5; + __pyx_t_5 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":630 + * f_locals_back[RETURN_VALUES_DICT] = return_values_dict + * name = self.get_func_name(frame) + * return_values_dict[name] = arg # <<<<<<<<<<<<<< + * except: + * pydev_log.exception() + */ + if (unlikely(PyObject_SetItem(__pyx_v_return_values_dict, __pyx_v_name, __pyx_v_arg) < 0)) __PYX_ERR(0, 630, __pyx_L6_error) + + /* "_pydevd_bundle/pydevd_cython.pyx":624 + * try: + * f_locals_back = getattr(frame.f_back, "f_locals", None) + * if f_locals_back is not None: # <<<<<<<<<<<<<< + * return_values_dict = f_locals_back.get(RETURN_VALUES_DICT, None) + * if return_values_dict is None: + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":622 + * # ENDIF + * try: + * try: # <<<<<<<<<<<<<< + * f_locals_back = getattr(frame.f_back, "f_locals", None) + * if f_locals_back is not None: + */ + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L11_try_end; + __pyx_L6_error:; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":631 + * name = self.get_func_name(frame) + * return_values_dict[name] = arg + * except: # <<<<<<<<<<<<<< + * pydev_log.exception() + * finally: + */ + /*except:*/ { + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame._show_return_values", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_4, &__pyx_t_11) < 0) __PYX_ERR(0, 631, __pyx_L8_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GOTREF(__pyx_t_11); + + /* "_pydevd_bundle/pydevd_cython.pyx":632 + * return_values_dict[name] = arg + * except: + * pydev_log.exception() # <<<<<<<<<<<<<< + * finally: + * f_locals_back = None + */ + __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_pydev_log); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 632, __pyx_L8_except_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_exception); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 632, __pyx_L8_except_error) + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_t_9 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_12))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_12); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_12, function); + } + } + __pyx_t_8 = (__pyx_t_9) ? __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_9) : __Pyx_PyObject_CallNoArg(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 632, __pyx_L8_except_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + goto __pyx_L7_exception_handled; + } + __pyx_L8_except_error:; + + /* "_pydevd_bundle/pydevd_cython.pyx":622 + * # ENDIF + * try: + * try: # <<<<<<<<<<<<<< + * f_locals_back = getattr(frame.f_back, "f_locals", None) + * if f_locals_back is not None: + */ + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + goto __pyx_L4_error; + __pyx_L7_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + __pyx_L11_try_end:; + } + } + + /* "_pydevd_bundle/pydevd_cython.pyx":634 + * pydev_log.exception() + * finally: + * f_locals_back = None # <<<<<<<<<<<<<< + * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + */ + /*finally:*/ { + /*normal exit:*/{ + __Pyx_INCREF(Py_None); + __Pyx_XDECREF_SET(__pyx_v_f_locals_back, Py_None); + goto __pyx_L5; + } + __pyx_L4_error:; + /*exception exit:*/{ + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_15, &__pyx_t_16, &__pyx_t_17); + if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_3, &__pyx_t_2, &__pyx_t_1) < 0)) __Pyx_ErrFetch(&__pyx_t_3, &__pyx_t_2, &__pyx_t_1); + __Pyx_XGOTREF(__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_t_15); + __Pyx_XGOTREF(__pyx_t_16); + __Pyx_XGOTREF(__pyx_t_17); + __pyx_t_10 = __pyx_lineno; __pyx_t_13 = __pyx_clineno; __pyx_t_14 = __pyx_filename; + { + __Pyx_INCREF(Py_None); + __Pyx_XDECREF_SET(__pyx_v_f_locals_back, Py_None); + } + if (PY_MAJOR_VERSION >= 3) { + __Pyx_XGIVEREF(__pyx_t_15); + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_XGIVEREF(__pyx_t_17); + __Pyx_ExceptionReset(__pyx_t_15, __pyx_t_16, __pyx_t_17); + } + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_ErrRestore(__pyx_t_3, __pyx_t_2, __pyx_t_1); + __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; + __pyx_lineno = __pyx_t_10; __pyx_clineno = __pyx_t_13; __pyx_filename = __pyx_t_14; + goto __pyx_L1_error; + } + __pyx_L5:; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":617 + * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * cdef _show_return_values(self, frame, arg): # <<<<<<<<<<<<<< + * # ELSE + * # def _show_return_values(self, frame, arg): + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame._show_return_values", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_f_locals_back); + __Pyx_XDECREF(__pyx_v_return_values_dict); + __Pyx_XDECREF(__pyx_v_name); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pyx":637 + * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * cdef _remove_return_values(self, main_debugger, frame): # <<<<<<<<<<<<<< + * # ELSE + * # def _remove_return_values(self, main_debugger, frame): + */ + +static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame__remove_return_values(CYTHON_UNUSED struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_main_debugger, PyObject *__pyx_v_frame) { + PyObject *__pyx_v_f_locals_back = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + int __pyx_t_8; + PyObject *__pyx_t_9 = NULL; + int __pyx_t_10; + int __pyx_t_11; + PyObject *__pyx_t_12 = NULL; + int __pyx_t_13; + char const *__pyx_t_14; + PyObject *__pyx_t_15 = NULL; + PyObject *__pyx_t_16 = NULL; + PyObject *__pyx_t_17 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("_remove_return_values", 0); + + /* "_pydevd_bundle/pydevd_cython.pyx":641 + * # def _remove_return_values(self, main_debugger, frame): + * # ENDIF + * try: # <<<<<<<<<<<<<< + * try: + * # Showing return values was turned off, we should remove them from locals dict. + */ + /*try:*/ { + + /* "_pydevd_bundle/pydevd_cython.pyx":642 + * # ENDIF + * try: + * try: # <<<<<<<<<<<<<< + * # Showing return values was turned off, we should remove them from locals dict. + * # The values can be in the current frame or in the back one + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_t_3); + /*try:*/ { + + /* "_pydevd_bundle/pydevd_cython.pyx":645 + * # Showing return values was turned off, we should remove them from locals dict. + * # The values can be in the current frame or in the back one + * frame.f_locals.pop(RETURN_VALUES_DICT, None) # <<<<<<<<<<<<<< + * + * f_locals_back = getattr(frame.f_back, "f_locals", None) + */ + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_locals); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 645, __pyx_L6_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_pop); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 645, __pyx_L6_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_RETURN_VALUES_DICT); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 645, __pyx_L6_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_7 = NULL; + __pyx_t_8 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_t_8 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_6)) { + PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_t_5, Py_None}; + __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 645, __pyx_L6_error) + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) { + PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_t_5, Py_None}; + __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 645, __pyx_L6_error) + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } else + #endif + { + __pyx_t_9 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 645, __pyx_L6_error) + __Pyx_GOTREF(__pyx_t_9); + if (__pyx_t_7) { + __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __pyx_t_7 = NULL; + } + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_8, __pyx_t_5); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_8, Py_None); + __pyx_t_5 = 0; + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_9, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 645, __pyx_L6_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":647 + * frame.f_locals.pop(RETURN_VALUES_DICT, None) + * + * f_locals_back = getattr(frame.f_back, "f_locals", None) # <<<<<<<<<<<<<< + * if f_locals_back is not None: + * f_locals_back.pop(RETURN_VALUES_DICT, None) + */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 647, __pyx_L6_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = __Pyx_GetAttr3(__pyx_t_4, __pyx_n_s_f_locals, Py_None); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 647, __pyx_L6_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_v_f_locals_back = __pyx_t_6; + __pyx_t_6 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":648 + * + * f_locals_back = getattr(frame.f_back, "f_locals", None) + * if f_locals_back is not None: # <<<<<<<<<<<<<< + * f_locals_back.pop(RETURN_VALUES_DICT, None) + * except: + */ + __pyx_t_10 = (__pyx_v_f_locals_back != Py_None); + __pyx_t_11 = (__pyx_t_10 != 0); + if (__pyx_t_11) { + + /* "_pydevd_bundle/pydevd_cython.pyx":649 + * f_locals_back = getattr(frame.f_back, "f_locals", None) + * if f_locals_back is not None: + * f_locals_back.pop(RETURN_VALUES_DICT, None) # <<<<<<<<<<<<<< + * except: + * pydev_log.exception() + */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f_locals_back, __pyx_n_s_pop); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 649, __pyx_L6_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_RETURN_VALUES_DICT); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 649, __pyx_L6_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_5 = NULL; + __pyx_t_8 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + __pyx_t_8 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_t_9, Py_None}; + __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 649, __pyx_L6_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_t_9, Py_None}; + __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 649, __pyx_L6_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } else + #endif + { + __pyx_t_7 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 649, __pyx_L6_error) + __Pyx_GOTREF(__pyx_t_7); + if (__pyx_t_5) { + __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL; + } + __Pyx_GIVEREF(__pyx_t_9); + PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_8, __pyx_t_9); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_8, Py_None); + __pyx_t_9 = 0; + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 649, __pyx_L6_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":648 + * + * f_locals_back = getattr(frame.f_back, "f_locals", None) + * if f_locals_back is not None: # <<<<<<<<<<<<<< + * f_locals_back.pop(RETURN_VALUES_DICT, None) + * except: + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":642 + * # ENDIF + * try: + * try: # <<<<<<<<<<<<<< + * # Showing return values was turned off, we should remove them from locals dict. + * # The values can be in the current frame or in the back one + */ + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L11_try_end; + __pyx_L6_error:; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":650 + * if f_locals_back is not None: + * f_locals_back.pop(RETURN_VALUES_DICT, None) + * except: # <<<<<<<<<<<<<< + * pydev_log.exception() + * finally: + */ + /*except:*/ { + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame._remove_return_values", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_4, &__pyx_t_7) < 0) __PYX_ERR(0, 650, __pyx_L8_except_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GOTREF(__pyx_t_7); + + /* "_pydevd_bundle/pydevd_cython.pyx":651 + * f_locals_back.pop(RETURN_VALUES_DICT, None) + * except: + * pydev_log.exception() # <<<<<<<<<<<<<< + * finally: + * f_locals_back = None + */ + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pydev_log); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 651, __pyx_L8_except_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_exception); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 651, __pyx_L8_except_error) + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_12))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_12); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_12, function); + } + } + __pyx_t_9 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 651, __pyx_L8_except_error) + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + goto __pyx_L7_exception_handled; + } + __pyx_L8_except_error:; + + /* "_pydevd_bundle/pydevd_cython.pyx":642 + * # ENDIF + * try: + * try: # <<<<<<<<<<<<<< + * # Showing return values was turned off, we should remove them from locals dict. + * # The values can be in the current frame or in the back one + */ + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + goto __pyx_L4_error; + __pyx_L7_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + __pyx_L11_try_end:; + } + } + + /* "_pydevd_bundle/pydevd_cython.pyx":653 + * pydev_log.exception() + * finally: + * f_locals_back = None # <<<<<<<<<<<<<< + * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + */ + /*finally:*/ { + /*normal exit:*/{ + __Pyx_INCREF(Py_None); + __Pyx_XDECREF_SET(__pyx_v_f_locals_back, Py_None); + goto __pyx_L5; + } + __pyx_L4_error:; + /*exception exit:*/{ + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_15, &__pyx_t_16, &__pyx_t_17); + if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_3, &__pyx_t_2, &__pyx_t_1) < 0)) __Pyx_ErrFetch(&__pyx_t_3, &__pyx_t_2, &__pyx_t_1); + __Pyx_XGOTREF(__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_t_15); + __Pyx_XGOTREF(__pyx_t_16); + __Pyx_XGOTREF(__pyx_t_17); + __pyx_t_8 = __pyx_lineno; __pyx_t_13 = __pyx_clineno; __pyx_t_14 = __pyx_filename; + { + __Pyx_INCREF(Py_None); + __Pyx_XDECREF_SET(__pyx_v_f_locals_back, Py_None); + } + if (PY_MAJOR_VERSION >= 3) { + __Pyx_XGIVEREF(__pyx_t_15); + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_XGIVEREF(__pyx_t_17); + __Pyx_ExceptionReset(__pyx_t_15, __pyx_t_16, __pyx_t_17); + } + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_ErrRestore(__pyx_t_3, __pyx_t_2, __pyx_t_1); + __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; + __pyx_lineno = __pyx_t_8; __pyx_clineno = __pyx_t_13; __pyx_filename = __pyx_t_14; + goto __pyx_L1_error; + } + __pyx_L5:; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":637 + * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * cdef _remove_return_values(self, main_debugger, frame): # <<<<<<<<<<<<<< + * # ELSE + * # def _remove_return_values(self, main_debugger, frame): + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_12); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame._remove_return_values", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_f_locals_back); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pyx":656 + * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * cdef _get_unfiltered_back_frame(self, main_debugger, frame): # <<<<<<<<<<<<<< + * # ELSE + * # def _get_unfiltered_back_frame(self, main_debugger, frame): + */ + +static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame__get_unfiltered_back_frame(CYTHON_UNUSED struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, PyObject *__pyx_v_main_debugger, PyObject *__pyx_v_frame) { + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + int __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + int __pyx_t_7; + PyObject *__pyx_t_8 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("_get_unfiltered_back_frame", 0); + + /* "_pydevd_bundle/pydevd_cython.pyx":660 + * # def _get_unfiltered_back_frame(self, main_debugger, frame): + * # ENDIF + * f = frame.f_back # <<<<<<<<<<<<<< + * while f is not None: + * if not main_debugger.is_files_filter_enabled: + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 660, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_f = __pyx_t_1; + __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":661 + * # ENDIF + * f = frame.f_back + * while f is not None: # <<<<<<<<<<<<<< + * if not main_debugger.is_files_filter_enabled: + * return f + */ + while (1) { + __pyx_t_2 = (__pyx_v_f != Py_None); + __pyx_t_3 = (__pyx_t_2 != 0); + if (!__pyx_t_3) break; + + /* "_pydevd_bundle/pydevd_cython.pyx":662 + * f = frame.f_back + * while f is not None: + * if not main_debugger.is_files_filter_enabled: # <<<<<<<<<<<<<< + * return f + * + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_is_files_filter_enabled); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 662, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 662, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_2 = ((!__pyx_t_3) != 0); + if (__pyx_t_2) { + + /* "_pydevd_bundle/pydevd_cython.pyx":663 + * while f is not None: + * if not main_debugger.is_files_filter_enabled: + * return f # <<<<<<<<<<<<<< + * + * else: + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_f); + __pyx_r = __pyx_v_f; + goto __pyx_L0; + + /* "_pydevd_bundle/pydevd_cython.pyx":662 + * f = frame.f_back + * while f is not None: + * if not main_debugger.is_files_filter_enabled: # <<<<<<<<<<<<<< + * return f + * + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":666 + * + * else: + * if main_debugger.apply_files_filter(f, f.f_code.co_filename, False): # <<<<<<<<<<<<<< + * f = f.f_back + * + */ + /*else*/ { + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_apply_files_filter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 666, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_f_code); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 666, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_co_filename); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 666, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = NULL; + __pyx_t_7 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + __pyx_t_7 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_v_f, __pyx_t_6, Py_False}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 666, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_v_f, __pyx_t_6, Py_False}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 666, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } else + #endif + { + __pyx_t_8 = PyTuple_New(3+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 666, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + if (__pyx_t_5) { + __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_5); __pyx_t_5 = NULL; + } + __Pyx_INCREF(__pyx_v_f); + __Pyx_GIVEREF(__pyx_v_f); + PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_v_f); + __Pyx_GIVEREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_6); + __Pyx_INCREF(Py_False); + __Pyx_GIVEREF(Py_False); + PyTuple_SET_ITEM(__pyx_t_8, 2+__pyx_t_7, Py_False); + __pyx_t_6 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 666, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 666, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (__pyx_t_2) { + + /* "_pydevd_bundle/pydevd_cython.pyx":667 + * else: + * if main_debugger.apply_files_filter(f, f.f_code.co_filename, False): + * f = f.f_back # <<<<<<<<<<<<<< + * + * else: + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_f_back); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 667, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_1); + __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":666 + * + * else: + * if main_debugger.apply_files_filter(f, f.f_code.co_filename, False): # <<<<<<<<<<<<<< + * f = f.f_back + * + */ + goto __pyx_L6; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":670 + * + * else: + * return f # <<<<<<<<<<<<<< + * + * return f + */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_f); + __pyx_r = __pyx_v_f; + goto __pyx_L0; + } + __pyx_L6:; + } + } + + /* "_pydevd_bundle/pydevd_cython.pyx":672 + * return f + * + * return f # <<<<<<<<<<<<<< + * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_f); + __pyx_r = __pyx_v_f; + goto __pyx_L0; + + /* "_pydevd_bundle/pydevd_cython.pyx":656 + * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * cdef _get_unfiltered_back_frame(self, main_debugger, frame): # <<<<<<<<<<<<<< + * # ELSE + * # def _get_unfiltered_back_frame(self, main_debugger, frame): + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame._get_unfiltered_back_frame", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pyx":675 + * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * cdef _is_same_frame(self, target_frame, current_frame): # <<<<<<<<<<<<<< + * cdef PyDBAdditionalThreadInfo info; + * # ELSE + */ + +static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame__is_same_frame(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, PyObject *__pyx_v_target_frame, PyObject *__pyx_v_current_frame) { + struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_info = 0; + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("_is_same_frame", 0); + + /* "_pydevd_bundle/pydevd_cython.pyx":680 + * # def _is_same_frame(self, target_frame, current_frame): + * # ENDIF + * if target_frame is current_frame: # <<<<<<<<<<<<<< + * return True + * + */ + __pyx_t_1 = (__pyx_v_target_frame == __pyx_v_current_frame); + __pyx_t_2 = (__pyx_t_1 != 0); + if (__pyx_t_2) { + + /* "_pydevd_bundle/pydevd_cython.pyx":681 + * # ENDIF + * if target_frame is current_frame: + * return True # <<<<<<<<<<<<<< + * + * info = self._args[2] + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(Py_True); + __pyx_r = Py_True; + goto __pyx_L0; + + /* "_pydevd_bundle/pydevd_cython.pyx":680 + * # def _is_same_frame(self, target_frame, current_frame): + * # ENDIF + * if target_frame is current_frame: # <<<<<<<<<<<<<< + * return True + * + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":683 + * return True + * + * info = self._args[2] # <<<<<<<<<<<<<< + * if info.pydev_use_scoped_step_frame: + * # If using scoped step we don't check the target, we just need to check + */ + if (unlikely(__pyx_v_self->_args == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 683, __pyx_L1_error) + } + __pyx_t_3 = __Pyx_GetItemInt_Tuple(__pyx_v_self->_args, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 683, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo))))) __PYX_ERR(0, 683, __pyx_L1_error) + __pyx_v_info = ((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_t_3); + __pyx_t_3 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":684 + * + * info = self._args[2] + * if info.pydev_use_scoped_step_frame: # <<<<<<<<<<<<<< + * # If using scoped step we don't check the target, we just need to check + * # if the current matches the same heuristic where the target was defined. + */ + __pyx_t_2 = (__pyx_v_info->pydev_use_scoped_step_frame != 0); + if (__pyx_t_2) { + + /* "_pydevd_bundle/pydevd_cython.pyx":687 + * # If using scoped step we don't check the target, we just need to check + * # if the current matches the same heuristic where the target was defined. + * if target_frame is not None and current_frame is not None: # <<<<<<<<<<<<<< + * if target_frame.f_code.co_filename == current_frame.f_code.co_filename: + * # The co_name may be different (it may include the line number), but + */ + __pyx_t_1 = (__pyx_v_target_frame != Py_None); + __pyx_t_4 = (__pyx_t_1 != 0); + if (__pyx_t_4) { + } else { + __pyx_t_2 = __pyx_t_4; + goto __pyx_L6_bool_binop_done; + } + __pyx_t_4 = (__pyx_v_current_frame != Py_None); + __pyx_t_1 = (__pyx_t_4 != 0); + __pyx_t_2 = __pyx_t_1; + __pyx_L6_bool_binop_done:; + if (__pyx_t_2) { + + /* "_pydevd_bundle/pydevd_cython.pyx":688 + * # if the current matches the same heuristic where the target was defined. + * if target_frame is not None and current_frame is not None: + * if target_frame.f_code.co_filename == current_frame.f_code.co_filename: # <<<<<<<<<<<<<< + * # The co_name may be different (it may include the line number), but + * # the filename must still be the same. + */ + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_target_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 688, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_co_filename); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 688, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_current_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 688, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_co_filename); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 688, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyObject_RichCompare(__pyx_t_5, __pyx_t_6, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 688, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 688, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_2) { + + /* "_pydevd_bundle/pydevd_cython.pyx":691 + * # The co_name may be different (it may include the line number), but + * # the filename must still be the same. + * f = current_frame.f_back # <<<<<<<<<<<<<< + * if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: + * f = f.f_back + */ + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_current_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 691, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_v_f = __pyx_t_3; + __pyx_t_3 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":692 + * # the filename must still be the same. + * f = current_frame.f_back + * if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: # <<<<<<<<<<<<<< + * f = f.f_back + * if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[2]: + */ + __pyx_t_1 = (__pyx_v_f != Py_None); + __pyx_t_4 = (__pyx_t_1 != 0); + if (__pyx_t_4) { + } else { + __pyx_t_2 = __pyx_t_4; + goto __pyx_L10_bool_binop_done; + } + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_f_code); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 692, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_co_name); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 692, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_PYDEVD_IPYTHON_CONTEXT); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 692, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_3, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 692, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyObject_RichCompare(__pyx_t_6, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 692, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 692, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_2 = __pyx_t_4; + __pyx_L10_bool_binop_done:; + if (__pyx_t_2) { + + /* "_pydevd_bundle/pydevd_cython.pyx":693 + * f = current_frame.f_back + * if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: + * f = f.f_back # <<<<<<<<<<<<<< + * if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[2]: + * return True + */ + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_f_back); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 693, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_3); + __pyx_t_3 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":694 + * if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: + * f = f.f_back + * if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[2]: # <<<<<<<<<<<<<< + * return True + * + */ + __pyx_t_4 = (__pyx_v_f != Py_None); + __pyx_t_1 = (__pyx_t_4 != 0); + if (__pyx_t_1) { + } else { + __pyx_t_2 = __pyx_t_1; + goto __pyx_L13_bool_binop_done; + } + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_f_code); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 694, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_co_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 694, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_PYDEVD_IPYTHON_CONTEXT); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 694, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_6 = __Pyx_GetItemInt(__pyx_t_3, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 694, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyObject_RichCompare(__pyx_t_5, __pyx_t_6, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 694, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 694, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_2 = __pyx_t_1; + __pyx_L13_bool_binop_done:; + if (__pyx_t_2) { + + /* "_pydevd_bundle/pydevd_cython.pyx":695 + * f = f.f_back + * if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[2]: + * return True # <<<<<<<<<<<<<< + * + * return False + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(Py_True); + __pyx_r = Py_True; + goto __pyx_L0; + + /* "_pydevd_bundle/pydevd_cython.pyx":694 + * if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: + * f = f.f_back + * if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[2]: # <<<<<<<<<<<<<< + * return True + * + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":692 + * # the filename must still be the same. + * f = current_frame.f_back + * if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: # <<<<<<<<<<<<<< + * f = f.f_back + * if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[2]: + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":688 + * # if the current matches the same heuristic where the target was defined. + * if target_frame is not None and current_frame is not None: + * if target_frame.f_code.co_filename == current_frame.f_code.co_filename: # <<<<<<<<<<<<<< + * # The co_name may be different (it may include the line number), but + * # the filename must still be the same. + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":687 + * # If using scoped step we don't check the target, we just need to check + * # if the current matches the same heuristic where the target was defined. + * if target_frame is not None and current_frame is not None: # <<<<<<<<<<<<<< + * if target_frame.f_code.co_filename == current_frame.f_code.co_filename: + * # The co_name may be different (it may include the line number), but + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":684 + * + * info = self._args[2] + * if info.pydev_use_scoped_step_frame: # <<<<<<<<<<<<<< + * # If using scoped step we don't check the target, we just need to check + * # if the current matches the same heuristic where the target was defined. + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":697 + * return True + * + * return False # <<<<<<<<<<<<<< + * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(Py_False); + __pyx_r = Py_False; + goto __pyx_L0; + + /* "_pydevd_bundle/pydevd_cython.pyx":675 + * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * cdef _is_same_frame(self, target_frame, current_frame): # <<<<<<<<<<<<<< + * cdef PyDBAdditionalThreadInfo info; + * # ELSE + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame._is_same_frame", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XDECREF((PyObject *)__pyx_v_info); + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pyx":700 + * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * cpdef trace_dispatch(self, frame, str event, arg): # <<<<<<<<<<<<<< + * cdef tuple abs_path_canonical_path_and_base; + * cdef bint is_exception_event; + */ + +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_11trace_dispatch(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_trace_dispatch(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, PyObject *__pyx_v_frame, PyObject *__pyx_v_event, PyObject *__pyx_v_arg, int __pyx_skip_dispatch) { + PyObject *__pyx_v_abs_path_canonical_path_and_base = 0; + int __pyx_v_is_exception_event; + int __pyx_v_has_exception_breakpoints; + int __pyx_v_can_skip; + int __pyx_v_stop; + struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_info = 0; + int __pyx_v_step_cmd; + int __pyx_v_line; + int __pyx_v_is_line; + int __pyx_v_is_call; + int __pyx_v_is_return; + int __pyx_v_should_stop; + PyObject *__pyx_v_breakpoints_for_file = 0; + PyObject *__pyx_v_stop_info = 0; + PyObject *__pyx_v_curr_func_name = 0; + int __pyx_v_exist_result; + PyObject *__pyx_v_frame_skips_cache = 0; + PyObject *__pyx_v_frame_cache_key = 0; + PyObject *__pyx_v_line_cache_key = 0; + int __pyx_v_breakpoints_in_line_cache; + int __pyx_v_breakpoints_in_frame_cache; + int __pyx_v_has_breakpoint_in_frame; + int __pyx_v_bp_line; + PyObject *__pyx_v_bp = 0; + int __pyx_v_pydev_smart_parent_offset; + int __pyx_v_pydev_smart_child_offset; + PyObject *__pyx_v_pydev_smart_step_into_variants = 0; + PyObject *__pyx_v_main_debugger = NULL; + PyObject *__pyx_v_thread = NULL; + PyObject *__pyx_v_plugin_manager = NULL; + PyObject *__pyx_v_stop_frame = NULL; + PyObject *__pyx_v_function_breakpoint_on_call_event = NULL; + PyObject *__pyx_v_returns_cache_key = NULL; + PyObject *__pyx_v_return_lines = NULL; + PyObject *__pyx_v_x = NULL; + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_v_func_lines = NULL; + PyObject *__pyx_v_offset_and_lineno = NULL; + PyObject *__pyx_v_flag = NULL; + PyObject *__pyx_v_breakpoint = NULL; + PyObject *__pyx_v_stop_reason = NULL; + PyObject *__pyx_v_bp_type = NULL; + PyObject *__pyx_v_new_frame = NULL; + PyObject *__pyx_v_result = NULL; + PyObject *__pyx_v_cmd = NULL; + PyObject *__pyx_v_eval_result = NULL; + long __pyx_v_should_skip; + PyObject *__pyx_v_plugin_stop = NULL; + PyObject *__pyx_v_force_check_project_scope = NULL; + PyObject *__pyx_v_filename = NULL; + PyObject *__pyx_v_f2 = NULL; + PyObject *__pyx_v_back = NULL; + PyObject *__pyx_v_smart_step_into_variant = NULL; + PyObject *__pyx_v_children_variants = NULL; + PyObject *__pyx_v_f_code = NULL; + CYTHON_UNUSED PyObject *__pyx_v_stopped_on_plugin = NULL; + PyObject *__pyx_v_back_absolute_filename = NULL; + CYTHON_UNUSED PyObject *__pyx_v__ = NULL; + PyObject *__pyx_v_base = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + int __pyx_t_5; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + int __pyx_t_9; + int __pyx_t_10; + int __pyx_t_11; + Py_ssize_t __pyx_t_12; + PyObject *(*__pyx_t_13)(PyObject *); + int __pyx_t_14; + PyObject *(*__pyx_t_15)(PyObject *); + PyObject *__pyx_t_16 = NULL; + PyObject *__pyx_t_17 = NULL; + PyObject *__pyx_t_18 = NULL; + int __pyx_t_19; + Py_ssize_t __pyx_t_20; + PyObject *__pyx_t_21 = NULL; + char const *__pyx_t_22; + PyObject *__pyx_t_23 = NULL; + PyObject *__pyx_t_24 = NULL; + PyObject *__pyx_t_25 = NULL; + PyObject *__pyx_t_26 = NULL; + PyObject *__pyx_t_27 = NULL; + PyObject *__pyx_t_28 = NULL; + int __pyx_t_29; + PyObject *__pyx_t_30 = NULL; + char const *__pyx_t_31; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("trace_dispatch", 0); + __Pyx_INCREF(__pyx_v_frame); + /* Check if called by wrapper */ + if (unlikely(__pyx_skip_dispatch)) ; + /* Check if overridden in Python */ + else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || (Py_TYPE(((PyObject *)__pyx_v_self))->tp_flags & (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) { + #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS + static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT; + if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) { + PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self)); + #endif + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 700, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_11trace_dispatch)) { + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_t_1); + __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL; + __pyx_t_5 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + __pyx_t_5 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_v_frame, __pyx_v_event, __pyx_v_arg}; + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 700, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_v_frame, __pyx_v_event, __pyx_v_arg}; + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 700, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + { + __pyx_t_6 = PyTuple_New(3+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 700, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + if (__pyx_t_4) { + __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL; + } + __Pyx_INCREF(__pyx_v_frame); + __Pyx_GIVEREF(__pyx_v_frame); + PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_v_frame); + __Pyx_INCREF(__pyx_v_event); + __Pyx_GIVEREF(__pyx_v_event); + PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_event); + __Pyx_INCREF(__pyx_v_arg); + __Pyx_GIVEREF(__pyx_v_arg); + PyTuple_SET_ITEM(__pyx_t_6, 2+__pyx_t_5, __pyx_v_arg); + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 700, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L0; + } + #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS + __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self)); + __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self)); + if (unlikely(__pyx_type_dict_guard != __pyx_tp_dict_version)) { + __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT; + } + #endif + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS + } + #endif + } + + /* "_pydevd_bundle/pydevd_cython.pyx":741 + * + * # DEBUG = '_debugger_case_generator.py' in frame.f_code.co_filename + * main_debugger, abs_path_canonical_path_and_base, info, thread, frame_skips_cache, frame_cache_key = self._args # <<<<<<<<<<<<<< + * # if DEBUG: print('frame trace_dispatch %s %s %s %s %s %s, stop: %s' % (frame.f_lineno, frame.f_code.co_name, frame.f_code.co_filename, event, constant_to_str(info.pydev_step_cmd), arg, info.pydev_step_stop)) + * try: + */ + __pyx_t_1 = __pyx_v_self->_args; + __Pyx_INCREF(__pyx_t_1); + if (likely(__pyx_t_1 != Py_None)) { + PyObject* sequence = __pyx_t_1; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 6)) { + if (size > 6) __Pyx_RaiseTooManyValuesError(6); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 741, __pyx_L1_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_3 = PyTuple_GET_ITEM(sequence, 1); + __pyx_t_6 = PyTuple_GET_ITEM(sequence, 2); + __pyx_t_4 = PyTuple_GET_ITEM(sequence, 3); + __pyx_t_7 = PyTuple_GET_ITEM(sequence, 4); + __pyx_t_8 = PyTuple_GET_ITEM(sequence, 5); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + #else + { + Py_ssize_t i; + PyObject** temps[6] = {&__pyx_t_2,&__pyx_t_3,&__pyx_t_6,&__pyx_t_4,&__pyx_t_7,&__pyx_t_8}; + for (i=0; i < 6; i++) { + PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 741, __pyx_L1_error) + __Pyx_GOTREF(item); + *(temps[i]) = item; + } + } + #endif + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } else { + __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(0, 741, __pyx_L1_error) + } + if (!(likely(PyTuple_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(0, 741, __pyx_L1_error) + if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo))))) __PYX_ERR(0, 741, __pyx_L1_error) + if (!(likely(PyDict_CheckExact(__pyx_t_7))||((__pyx_t_7) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_7)->tp_name), 0))) __PYX_ERR(0, 741, __pyx_L1_error) + __pyx_v_main_debugger = __pyx_t_2; + __pyx_t_2 = 0; + __pyx_v_abs_path_canonical_path_and_base = ((PyObject*)__pyx_t_3); + __pyx_t_3 = 0; + __pyx_v_info = ((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_t_6); + __pyx_t_6 = 0; + __pyx_v_thread = __pyx_t_4; + __pyx_t_4 = 0; + __pyx_v_frame_skips_cache = ((PyObject*)__pyx_t_7); + __pyx_t_7 = 0; + __pyx_v_frame_cache_key = __pyx_t_8; + __pyx_t_8 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":743 + * main_debugger, abs_path_canonical_path_and_base, info, thread, frame_skips_cache, frame_cache_key = self._args + * # if DEBUG: print('frame trace_dispatch %s %s %s %s %s %s, stop: %s' % (frame.f_lineno, frame.f_code.co_name, frame.f_code.co_filename, event, constant_to_str(info.pydev_step_cmd), arg, info.pydev_step_stop)) + * try: # <<<<<<<<<<<<<< + * info.is_tracing += 1 + * + */ + /*try:*/ { + + /* "_pydevd_bundle/pydevd_cython.pyx":744 + * # if DEBUG: print('frame trace_dispatch %s %s %s %s %s %s, stop: %s' % (frame.f_lineno, frame.f_code.co_name, frame.f_code.co_filename, event, constant_to_str(info.pydev_step_cmd), arg, info.pydev_step_stop)) + * try: + * info.is_tracing += 1 # <<<<<<<<<<<<<< + * + * # TODO: This shouldn't be needed. The fact that frame.f_lineno + */ + __pyx_v_info->is_tracing = (__pyx_v_info->is_tracing + 1); + + /* "_pydevd_bundle/pydevd_cython.pyx":749 + * # is None seems like a bug in Python 3.11. + * # Reported in: https://github.com/python/cpython/issues/94485 + * line = frame.f_lineno or 0 # Workaround or case where frame.f_lineno is None # <<<<<<<<<<<<<< + * line_cache_key = (frame_cache_key, line) + * + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_lineno); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 749, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 749, __pyx_L4_error) + if (!__pyx_t_9) { + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } else { + __pyx_t_10 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 749, __pyx_L4_error) + __pyx_t_5 = __pyx_t_10; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L6_bool_binop_done; + } + __pyx_t_5 = 0; + __pyx_L6_bool_binop_done:; + __pyx_v_line = __pyx_t_5; + + /* "_pydevd_bundle/pydevd_cython.pyx":750 + * # Reported in: https://github.com/python/cpython/issues/94485 + * line = frame.f_lineno or 0 # Workaround or case where frame.f_lineno is None + * line_cache_key = (frame_cache_key, line) # <<<<<<<<<<<<<< + * + * if main_debugger.pydb_disposed: + */ + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_line); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 750, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 750, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_INCREF(__pyx_v_frame_cache_key); + __Pyx_GIVEREF(__pyx_v_frame_cache_key); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_frame_cache_key); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_1); + __pyx_t_1 = 0; + __pyx_v_line_cache_key = ((PyObject*)__pyx_t_8); + __pyx_t_8 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":752 + * line_cache_key = (frame_cache_key, line) + * + * if main_debugger.pydb_disposed: # <<<<<<<<<<<<<< + * return None if event == 'call' else NO_FTRACE + * + */ + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_pydb_disposed); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 752, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 752, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (__pyx_t_9) { + + /* "_pydevd_bundle/pydevd_cython.pyx":753 + * + * if main_debugger.pydb_disposed: + * return None if event == 'call' else NO_FTRACE # <<<<<<<<<<<<<< + * + * plugin_manager = main_debugger.plugin + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_9 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 753, __pyx_L4_error) + if ((__pyx_t_9 != 0)) { + __Pyx_INCREF(Py_None); + __pyx_t_8 = Py_None; + } else { + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 753, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_8 = __pyx_t_1; + __pyx_t_1 = 0; + } + __pyx_r = __pyx_t_8; + __pyx_t_8 = 0; + goto __pyx_L3_return; + + /* "_pydevd_bundle/pydevd_cython.pyx":752 + * line_cache_key = (frame_cache_key, line) + * + * if main_debugger.pydb_disposed: # <<<<<<<<<<<<<< + * return None if event == 'call' else NO_FTRACE + * + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":755 + * return None if event == 'call' else NO_FTRACE + * + * plugin_manager = main_debugger.plugin # <<<<<<<<<<<<<< + * has_exception_breakpoints = ( + * main_debugger.break_on_caught_exceptions + */ + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_plugin); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 755, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_v_plugin_manager = __pyx_t_8; + __pyx_t_8 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":757 + * plugin_manager = main_debugger.plugin + * has_exception_breakpoints = ( + * main_debugger.break_on_caught_exceptions # <<<<<<<<<<<<<< + * or main_debugger.break_on_user_uncaught_exceptions + * or main_debugger.has_plugin_exception_breaks) + */ + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_break_on_caught_exceptions); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 757, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 757, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (!__pyx_t_11) { + } else { + __pyx_t_9 = __pyx_t_11; + goto __pyx_L9_bool_binop_done; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":758 + * has_exception_breakpoints = ( + * main_debugger.break_on_caught_exceptions + * or main_debugger.break_on_user_uncaught_exceptions # <<<<<<<<<<<<<< + * or main_debugger.has_plugin_exception_breaks) + * + */ + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_break_on_user_uncaught_exception); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 758, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 758, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (!__pyx_t_11) { + } else { + __pyx_t_9 = __pyx_t_11; + goto __pyx_L9_bool_binop_done; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":759 + * main_debugger.break_on_caught_exceptions + * or main_debugger.break_on_user_uncaught_exceptions + * or main_debugger.has_plugin_exception_breaks) # <<<<<<<<<<<<<< + * + * stop_frame = info.pydev_step_stop + */ + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_has_plugin_exception_breaks); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 759, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 759, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_9 = __pyx_t_11; + __pyx_L9_bool_binop_done:; + __pyx_v_has_exception_breakpoints = __pyx_t_9; + + /* "_pydevd_bundle/pydevd_cython.pyx":761 + * or main_debugger.has_plugin_exception_breaks) + * + * stop_frame = info.pydev_step_stop # <<<<<<<<<<<<<< + * step_cmd = info.pydev_step_cmd + * function_breakpoint_on_call_event = None + */ + __pyx_t_8 = __pyx_v_info->pydev_step_stop; + __Pyx_INCREF(__pyx_t_8); + __pyx_v_stop_frame = __pyx_t_8; + __pyx_t_8 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":762 + * + * stop_frame = info.pydev_step_stop + * step_cmd = info.pydev_step_cmd # <<<<<<<<<<<<<< + * function_breakpoint_on_call_event = None + * + */ + __pyx_t_5 = __pyx_v_info->pydev_step_cmd; + __pyx_v_step_cmd = __pyx_t_5; + + /* "_pydevd_bundle/pydevd_cython.pyx":763 + * stop_frame = info.pydev_step_stop + * step_cmd = info.pydev_step_cmd + * function_breakpoint_on_call_event = None # <<<<<<<<<<<<<< + * + * if frame.f_code.co_flags & 0xa0: # 0xa0 == CO_GENERATOR = 0x20 | CO_COROUTINE = 0x80 + */ + __Pyx_INCREF(Py_None); + __pyx_v_function_breakpoint_on_call_event = Py_None; + + /* "_pydevd_bundle/pydevd_cython.pyx":765 + * function_breakpoint_on_call_event = None + * + * if frame.f_code.co_flags & 0xa0: # 0xa0 == CO_GENERATOR = 0x20 | CO_COROUTINE = 0x80 # <<<<<<<<<<<<<< + * # Dealing with coroutines and generators: + * # When in a coroutine we change the perceived event to the debugger because + */ + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 765, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_co_flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 765, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = __Pyx_PyInt_AndObjC(__pyx_t_1, __pyx_int_160, 0xa0, 0, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 765, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 765, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (__pyx_t_9) { + + /* "_pydevd_bundle/pydevd_cython.pyx":769 + * # When in a coroutine we change the perceived event to the debugger because + * # a call, StopIteration exception and return are usually just pausing/unpausing it. + * if event == 'line': # <<<<<<<<<<<<<< + * is_line = True + * is_call = False + */ + __pyx_t_9 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_line, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 769, __pyx_L4_error) + __pyx_t_11 = (__pyx_t_9 != 0); + if (__pyx_t_11) { + + /* "_pydevd_bundle/pydevd_cython.pyx":770 + * # a call, StopIteration exception and return are usually just pausing/unpausing it. + * if event == 'line': + * is_line = True # <<<<<<<<<<<<<< + * is_call = False + * is_return = False + */ + __pyx_v_is_line = 1; + + /* "_pydevd_bundle/pydevd_cython.pyx":771 + * if event == 'line': + * is_line = True + * is_call = False # <<<<<<<<<<<<<< + * is_return = False + * is_exception_event = False + */ + __pyx_v_is_call = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":772 + * is_line = True + * is_call = False + * is_return = False # <<<<<<<<<<<<<< + * is_exception_event = False + * + */ + __pyx_v_is_return = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":773 + * is_call = False + * is_return = False + * is_exception_event = False # <<<<<<<<<<<<<< + * + * elif event == 'return': + */ + __pyx_v_is_exception_event = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":769 + * # When in a coroutine we change the perceived event to the debugger because + * # a call, StopIteration exception and return are usually just pausing/unpausing it. + * if event == 'line': # <<<<<<<<<<<<<< + * is_line = True + * is_call = False + */ + goto __pyx_L13; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":775 + * is_exception_event = False + * + * elif event == 'return': # <<<<<<<<<<<<<< + * is_line = False + * is_call = False + */ + __pyx_t_11 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_return, Py_EQ)); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 775, __pyx_L4_error) + __pyx_t_9 = (__pyx_t_11 != 0); + if (__pyx_t_9) { + + /* "_pydevd_bundle/pydevd_cython.pyx":776 + * + * elif event == 'return': + * is_line = False # <<<<<<<<<<<<<< + * is_call = False + * is_return = True + */ + __pyx_v_is_line = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":777 + * elif event == 'return': + * is_line = False + * is_call = False # <<<<<<<<<<<<<< + * is_return = True + * is_exception_event = False + */ + __pyx_v_is_call = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":778 + * is_line = False + * is_call = False + * is_return = True # <<<<<<<<<<<<<< + * is_exception_event = False + * + */ + __pyx_v_is_return = 1; + + /* "_pydevd_bundle/pydevd_cython.pyx":779 + * is_call = False + * is_return = True + * is_exception_event = False # <<<<<<<<<<<<<< + * + * returns_cache_key = (frame_cache_key, 'returns') + */ + __pyx_v_is_exception_event = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":781 + * is_exception_event = False + * + * returns_cache_key = (frame_cache_key, 'returns') # <<<<<<<<<<<<<< + * return_lines = frame_skips_cache.get(returns_cache_key) + * if return_lines is None: + */ + __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 781, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_INCREF(__pyx_v_frame_cache_key); + __Pyx_GIVEREF(__pyx_v_frame_cache_key); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_frame_cache_key); + __Pyx_INCREF(__pyx_n_s_returns); + __Pyx_GIVEREF(__pyx_n_s_returns); + PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_n_s_returns); + __pyx_v_returns_cache_key = ((PyObject*)__pyx_t_8); + __pyx_t_8 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":782 + * + * returns_cache_key = (frame_cache_key, 'returns') + * return_lines = frame_skips_cache.get(returns_cache_key) # <<<<<<<<<<<<<< + * if return_lines is None: + * # Note: we're collecting the return lines by inspecting the bytecode as + */ + if (unlikely(__pyx_v_frame_skips_cache == Py_None)) { + PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "get"); + __PYX_ERR(0, 782, __pyx_L4_error) + } + __pyx_t_8 = __Pyx_PyDict_GetItemDefault(__pyx_v_frame_skips_cache, __pyx_v_returns_cache_key, Py_None); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 782, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_v_return_lines = __pyx_t_8; + __pyx_t_8 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":783 + * returns_cache_key = (frame_cache_key, 'returns') + * return_lines = frame_skips_cache.get(returns_cache_key) + * if return_lines is None: # <<<<<<<<<<<<<< + * # Note: we're collecting the return lines by inspecting the bytecode as + * # there are multiple returns and multiple stop iterations when awaiting and + */ + __pyx_t_9 = (__pyx_v_return_lines == Py_None); + __pyx_t_11 = (__pyx_t_9 != 0); + if (__pyx_t_11) { + + /* "_pydevd_bundle/pydevd_cython.pyx":788 + * # it doesn't give any clear indication when a coroutine or generator is + * # finishing or just pausing. + * return_lines = set() # <<<<<<<<<<<<<< + * for x in main_debugger.collect_return_info(frame.f_code): + * # Note: cython does not support closures in cpdefs (so we can't use + */ + __pyx_t_8 = PySet_New(0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 788, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF_SET(__pyx_v_return_lines, __pyx_t_8); + __pyx_t_8 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":789 + * # finishing or just pausing. + * return_lines = set() + * for x in main_debugger.collect_return_info(frame.f_code): # <<<<<<<<<<<<<< + * # Note: cython does not support closures in cpdefs (so we can't use + * # a list comprehension). + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_collect_return_info); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 789, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 789, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_8 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_4, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_7); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 789, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (likely(PyList_CheckExact(__pyx_t_8)) || PyTuple_CheckExact(__pyx_t_8)) { + __pyx_t_1 = __pyx_t_8; __Pyx_INCREF(__pyx_t_1); __pyx_t_12 = 0; + __pyx_t_13 = NULL; + } else { + __pyx_t_12 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 789, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_13 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 789, __pyx_L4_error) + } + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + for (;;) { + if (likely(!__pyx_t_13)) { + if (likely(PyList_CheckExact(__pyx_t_1))) { + if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_1)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_8 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_12); __Pyx_INCREF(__pyx_t_8); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 789, __pyx_L4_error) + #else + __pyx_t_8 = PySequence_ITEM(__pyx_t_1, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 789, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + #endif + } else { + if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_1)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_12); __Pyx_INCREF(__pyx_t_8); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 789, __pyx_L4_error) + #else + __pyx_t_8 = PySequence_ITEM(__pyx_t_1, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 789, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + #endif + } + } else { + __pyx_t_8 = __pyx_t_13(__pyx_t_1); + if (unlikely(!__pyx_t_8)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 789, __pyx_L4_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_8); + } + __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_8); + __pyx_t_8 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":792 + * # Note: cython does not support closures in cpdefs (so we can't use + * # a list comprehension). + * return_lines.add(x.return_line) # <<<<<<<<<<<<<< + * + * frame_skips_cache[returns_cache_key] = return_lines + */ + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_return_lines, __pyx_n_s_add); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 792, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_return_line); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 792, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + __pyx_t_8 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_6, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_4); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 792, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":789 + * # finishing or just pausing. + * return_lines = set() + * for x in main_debugger.collect_return_info(frame.f_code): # <<<<<<<<<<<<<< + * # Note: cython does not support closures in cpdefs (so we can't use + * # a list comprehension). + */ + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":794 + * return_lines.add(x.return_line) + * + * frame_skips_cache[returns_cache_key] = return_lines # <<<<<<<<<<<<<< + * + * if line not in return_lines: + */ + if (unlikely(__pyx_v_frame_skips_cache == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 794, __pyx_L4_error) + } + if (unlikely(PyDict_SetItem(__pyx_v_frame_skips_cache, __pyx_v_returns_cache_key, __pyx_v_return_lines) < 0)) __PYX_ERR(0, 794, __pyx_L4_error) + + /* "_pydevd_bundle/pydevd_cython.pyx":783 + * returns_cache_key = (frame_cache_key, 'returns') + * return_lines = frame_skips_cache.get(returns_cache_key) + * if return_lines is None: # <<<<<<<<<<<<<< + * # Note: we're collecting the return lines by inspecting the bytecode as + * # there are multiple returns and multiple stop iterations when awaiting and + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":796 + * frame_skips_cache[returns_cache_key] = return_lines + * + * if line not in return_lines: # <<<<<<<<<<<<<< + * # Not really a return (coroutine/generator paused). + * return self.trace_dispatch + */ + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_line); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 796, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_11 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_v_return_lines, Py_NE)); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 796, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_9 = (__pyx_t_11 != 0); + if (__pyx_t_9) { + + /* "_pydevd_bundle/pydevd_cython.pyx":798 + * if line not in return_lines: + * # Not really a return (coroutine/generator paused). + * return self.trace_dispatch # <<<<<<<<<<<<<< + * else: + * if self.exc_info: + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 798, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L3_return; + + /* "_pydevd_bundle/pydevd_cython.pyx":796 + * frame_skips_cache[returns_cache_key] = return_lines + * + * if line not in return_lines: # <<<<<<<<<<<<<< + * # Not really a return (coroutine/generator paused). + * return self.trace_dispatch + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":800 + * return self.trace_dispatch + * else: + * if self.exc_info: # <<<<<<<<<<<<<< + * self.handle_user_exception(frame) + * return self.trace_dispatch + */ + /*else*/ { + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_self->exc_info); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 800, __pyx_L4_error) + if (__pyx_t_9) { + + /* "_pydevd_bundle/pydevd_cython.pyx":801 + * else: + * if self.exc_info: + * self.handle_user_exception(frame) # <<<<<<<<<<<<<< + * return self.trace_dispatch + * + */ + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_handle_user_exception); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 801, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_7 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_8); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_8, function); + } + } + __pyx_t_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_7, __pyx_v_frame) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_v_frame); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 801, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":802 + * if self.exc_info: + * self.handle_user_exception(frame) + * return self.trace_dispatch # <<<<<<<<<<<<<< + * + * # Tricky handling: usually when we're on a frame which is about to exit + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 802, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L3_return; + + /* "_pydevd_bundle/pydevd_cython.pyx":800 + * return self.trace_dispatch + * else: + * if self.exc_info: # <<<<<<<<<<<<<< + * self.handle_user_exception(frame) + * return self.trace_dispatch + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":820 + * # as the return shouldn't mean that we've actually completed executing a + * # frame in this case). + * if stop_frame is frame and not info.pydev_use_scoped_step_frame: # <<<<<<<<<<<<<< + * if step_cmd in (108, 159, 107, 144): + * f = self._get_unfiltered_back_frame(main_debugger, frame) + */ + __pyx_t_11 = (__pyx_v_stop_frame == __pyx_v_frame); + __pyx_t_14 = (__pyx_t_11 != 0); + if (__pyx_t_14) { + } else { + __pyx_t_9 = __pyx_t_14; + goto __pyx_L20_bool_binop_done; + } + __pyx_t_14 = ((!(__pyx_v_info->pydev_use_scoped_step_frame != 0)) != 0); + __pyx_t_9 = __pyx_t_14; + __pyx_L20_bool_binop_done:; + if (__pyx_t_9) { + + /* "_pydevd_bundle/pydevd_cython.pyx":821 + * # frame in this case). + * if stop_frame is frame and not info.pydev_use_scoped_step_frame: + * if step_cmd in (108, 159, 107, 144): # <<<<<<<<<<<<<< + * f = self._get_unfiltered_back_frame(main_debugger, frame) + * if f is not None: + */ + switch (__pyx_v_step_cmd) { + case 0x6C: + case 0x9F: + case 0x6B: + case 0x90: + + /* "_pydevd_bundle/pydevd_cython.pyx":822 + * if stop_frame is frame and not info.pydev_use_scoped_step_frame: + * if step_cmd in (108, 159, 107, 144): + * f = self._get_unfiltered_back_frame(main_debugger, frame) # <<<<<<<<<<<<<< + * if f is not None: + * info.pydev_step_cmd = 206 + */ + __pyx_t_1 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_get_unfiltered_back_frame(__pyx_v_self, __pyx_v_main_debugger, __pyx_v_frame); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 822, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_f = __pyx_t_1; + __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":823 + * if step_cmd in (108, 159, 107, 144): + * f = self._get_unfiltered_back_frame(main_debugger, frame) + * if f is not None: # <<<<<<<<<<<<<< + * info.pydev_step_cmd = 206 + * info.pydev_step_stop = f + */ + __pyx_t_9 = (__pyx_v_f != Py_None); + __pyx_t_14 = (__pyx_t_9 != 0); + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":824 + * f = self._get_unfiltered_back_frame(main_debugger, frame) + * if f is not None: + * info.pydev_step_cmd = 206 # <<<<<<<<<<<<<< + * info.pydev_step_stop = f + * else: + */ + __pyx_v_info->pydev_step_cmd = 0xCE; + + /* "_pydevd_bundle/pydevd_cython.pyx":825 + * if f is not None: + * info.pydev_step_cmd = 206 + * info.pydev_step_stop = f # <<<<<<<<<<<<<< + * else: + * if step_cmd == 108: + */ + __Pyx_INCREF(__pyx_v_f); + __Pyx_GIVEREF(__pyx_v_f); + __Pyx_GOTREF(__pyx_v_info->pydev_step_stop); + __Pyx_DECREF(__pyx_v_info->pydev_step_stop); + __pyx_v_info->pydev_step_stop = __pyx_v_f; + + /* "_pydevd_bundle/pydevd_cython.pyx":823 + * if step_cmd in (108, 159, 107, 144): + * f = self._get_unfiltered_back_frame(main_debugger, frame) + * if f is not None: # <<<<<<<<<<<<<< + * info.pydev_step_cmd = 206 + * info.pydev_step_stop = f + */ + goto __pyx_L22; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":827 + * info.pydev_step_stop = f + * else: + * if step_cmd == 108: # <<<<<<<<<<<<<< + * info.pydev_step_cmd = 107 + * info.pydev_step_stop = None + */ + /*else*/ { + + /* "_pydevd_bundle/pydevd_cython.pyx":831 + * info.pydev_step_stop = None + * + * elif step_cmd == 159: # <<<<<<<<<<<<<< + * info.pydev_step_cmd = 144 + * info.pydev_step_stop = None + */ + switch (__pyx_v_step_cmd) { + case 0x6C: + + /* "_pydevd_bundle/pydevd_cython.pyx":828 + * else: + * if step_cmd == 108: + * info.pydev_step_cmd = 107 # <<<<<<<<<<<<<< + * info.pydev_step_stop = None + * + */ + __pyx_v_info->pydev_step_cmd = 0x6B; + + /* "_pydevd_bundle/pydevd_cython.pyx":829 + * if step_cmd == 108: + * info.pydev_step_cmd = 107 + * info.pydev_step_stop = None # <<<<<<<<<<<<<< + * + * elif step_cmd == 159: + */ + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_info->pydev_step_stop); + __Pyx_DECREF(__pyx_v_info->pydev_step_stop); + __pyx_v_info->pydev_step_stop = Py_None; + + /* "_pydevd_bundle/pydevd_cython.pyx":827 + * info.pydev_step_stop = f + * else: + * if step_cmd == 108: # <<<<<<<<<<<<<< + * info.pydev_step_cmd = 107 + * info.pydev_step_stop = None + */ + break; + case 0x9F: + + /* "_pydevd_bundle/pydevd_cython.pyx":832 + * + * elif step_cmd == 159: + * info.pydev_step_cmd = 144 # <<<<<<<<<<<<<< + * info.pydev_step_stop = None + * + */ + __pyx_v_info->pydev_step_cmd = 0x90; + + /* "_pydevd_bundle/pydevd_cython.pyx":833 + * elif step_cmd == 159: + * info.pydev_step_cmd = 144 + * info.pydev_step_stop = None # <<<<<<<<<<<<<< + * + * elif step_cmd == 206: + */ + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_info->pydev_step_stop); + __Pyx_DECREF(__pyx_v_info->pydev_step_stop); + __pyx_v_info->pydev_step_stop = Py_None; + + /* "_pydevd_bundle/pydevd_cython.pyx":831 + * info.pydev_step_stop = None + * + * elif step_cmd == 159: # <<<<<<<<<<<<<< + * info.pydev_step_cmd = 144 + * info.pydev_step_stop = None + */ + break; + default: break; + } + } + __pyx_L22:; + + /* "_pydevd_bundle/pydevd_cython.pyx":821 + * # frame in this case). + * if stop_frame is frame and not info.pydev_use_scoped_step_frame: + * if step_cmd in (108, 159, 107, 144): # <<<<<<<<<<<<<< + * f = self._get_unfiltered_back_frame(main_debugger, frame) + * if f is not None: + */ + break; + case 0xCE: + + /* "_pydevd_bundle/pydevd_cython.pyx":837 + * elif step_cmd == 206: + * # We're exiting this one, so, mark the new coroutine context. + * f = self._get_unfiltered_back_frame(main_debugger, frame) # <<<<<<<<<<<<<< + * if f is not None: + * info.pydev_step_stop = f + */ + __pyx_t_1 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_get_unfiltered_back_frame(__pyx_v_self, __pyx_v_main_debugger, __pyx_v_frame); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 837, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_f = __pyx_t_1; + __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":838 + * # We're exiting this one, so, mark the new coroutine context. + * f = self._get_unfiltered_back_frame(main_debugger, frame) + * if f is not None: # <<<<<<<<<<<<<< + * info.pydev_step_stop = f + * else: + */ + __pyx_t_14 = (__pyx_v_f != Py_None); + __pyx_t_9 = (__pyx_t_14 != 0); + if (__pyx_t_9) { + + /* "_pydevd_bundle/pydevd_cython.pyx":839 + * f = self._get_unfiltered_back_frame(main_debugger, frame) + * if f is not None: + * info.pydev_step_stop = f # <<<<<<<<<<<<<< + * else: + * info.pydev_step_cmd = 107 + */ + __Pyx_INCREF(__pyx_v_f); + __Pyx_GIVEREF(__pyx_v_f); + __Pyx_GOTREF(__pyx_v_info->pydev_step_stop); + __Pyx_DECREF(__pyx_v_info->pydev_step_stop); + __pyx_v_info->pydev_step_stop = __pyx_v_f; + + /* "_pydevd_bundle/pydevd_cython.pyx":838 + * # We're exiting this one, so, mark the new coroutine context. + * f = self._get_unfiltered_back_frame(main_debugger, frame) + * if f is not None: # <<<<<<<<<<<<<< + * info.pydev_step_stop = f + * else: + */ + goto __pyx_L23; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":841 + * info.pydev_step_stop = f + * else: + * info.pydev_step_cmd = 107 # <<<<<<<<<<<<<< + * info.pydev_step_stop = None + * + */ + /*else*/ { + __pyx_v_info->pydev_step_cmd = 0x6B; + + /* "_pydevd_bundle/pydevd_cython.pyx":842 + * else: + * info.pydev_step_cmd = 107 + * info.pydev_step_stop = None # <<<<<<<<<<<<<< + * + * elif event == 'exception': + */ + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_info->pydev_step_stop); + __Pyx_DECREF(__pyx_v_info->pydev_step_stop); + __pyx_v_info->pydev_step_stop = Py_None; + } + __pyx_L23:; + + /* "_pydevd_bundle/pydevd_cython.pyx":835 + * info.pydev_step_stop = None + * + * elif step_cmd == 206: # <<<<<<<<<<<<<< + * # We're exiting this one, so, mark the new coroutine context. + * f = self._get_unfiltered_back_frame(main_debugger, frame) + */ + break; + default: break; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":820 + * # as the return shouldn't mean that we've actually completed executing a + * # frame in this case). + * if stop_frame is frame and not info.pydev_use_scoped_step_frame: # <<<<<<<<<<<<<< + * if step_cmd in (108, 159, 107, 144): + * f = self._get_unfiltered_back_frame(main_debugger, frame) + */ + } + } + + /* "_pydevd_bundle/pydevd_cython.pyx":775 + * is_exception_event = False + * + * elif event == 'return': # <<<<<<<<<<<<<< + * is_line = False + * is_call = False + */ + goto __pyx_L13; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":844 + * info.pydev_step_stop = None + * + * elif event == 'exception': # <<<<<<<<<<<<<< + * breakpoints_for_file = None + * if has_exception_breakpoints: + */ + __pyx_t_9 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_exception, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 844, __pyx_L4_error) + __pyx_t_14 = (__pyx_t_9 != 0); + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":845 + * + * elif event == 'exception': + * breakpoints_for_file = None # <<<<<<<<<<<<<< + * if has_exception_breakpoints: + * should_stop, frame = self._should_stop_on_exception(frame, event, arg) + */ + __Pyx_INCREF(Py_None); + __pyx_v_breakpoints_for_file = ((PyObject*)Py_None); + + /* "_pydevd_bundle/pydevd_cython.pyx":846 + * elif event == 'exception': + * breakpoints_for_file = None + * if has_exception_breakpoints: # <<<<<<<<<<<<<< + * should_stop, frame = self._should_stop_on_exception(frame, event, arg) + * if should_stop: + */ + __pyx_t_14 = (__pyx_v_has_exception_breakpoints != 0); + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":847 + * breakpoints_for_file = None + * if has_exception_breakpoints: + * should_stop, frame = self._should_stop_on_exception(frame, event, arg) # <<<<<<<<<<<<<< + * if should_stop: + * if self._handle_exception(frame, event, arg, EXCEPTION_TYPE_HANDLED): + */ + __pyx_t_1 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_should_stop_on_exception(__pyx_v_self, __pyx_v_frame, __pyx_v_event, __pyx_v_arg); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 847, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) { + PyObject* sequence = __pyx_t_1; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 2)) { + if (size > 2) __Pyx_RaiseTooManyValuesError(2); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 847, __pyx_L4_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + if (likely(PyTuple_CheckExact(sequence))) { + __pyx_t_8 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_7 = PyTuple_GET_ITEM(sequence, 1); + } else { + __pyx_t_8 = PyList_GET_ITEM(sequence, 0); + __pyx_t_7 = PyList_GET_ITEM(sequence, 1); + } + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(__pyx_t_7); + #else + __pyx_t_8 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 847, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_7 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 847, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + #endif + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } else { + Py_ssize_t index = -1; + __pyx_t_4 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 847, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_15 = Py_TYPE(__pyx_t_4)->tp_iternext; + index = 0; __pyx_t_8 = __pyx_t_15(__pyx_t_4); if (unlikely(!__pyx_t_8)) goto __pyx_L25_unpacking_failed; + __Pyx_GOTREF(__pyx_t_8); + index = 1; __pyx_t_7 = __pyx_t_15(__pyx_t_4); if (unlikely(!__pyx_t_7)) goto __pyx_L25_unpacking_failed; + __Pyx_GOTREF(__pyx_t_7); + if (__Pyx_IternextUnpackEndCheck(__pyx_t_15(__pyx_t_4), 2) < 0) __PYX_ERR(0, 847, __pyx_L4_error) + __pyx_t_15 = NULL; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L26_unpacking_done; + __pyx_L25_unpacking_failed:; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_15 = NULL; + if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); + __PYX_ERR(0, 847, __pyx_L4_error) + __pyx_L26_unpacking_done:; + } + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_14 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 847, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_v_should_stop = __pyx_t_14; + __Pyx_DECREF_SET(__pyx_v_frame, __pyx_t_7); + __pyx_t_7 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":848 + * if has_exception_breakpoints: + * should_stop, frame = self._should_stop_on_exception(frame, event, arg) + * if should_stop: # <<<<<<<<<<<<<< + * if self._handle_exception(frame, event, arg, EXCEPTION_TYPE_HANDLED): + * return self.trace_dispatch + */ + __pyx_t_14 = (__pyx_v_should_stop != 0); + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":849 + * should_stop, frame = self._should_stop_on_exception(frame, event, arg) + * if should_stop: + * if self._handle_exception(frame, event, arg, EXCEPTION_TYPE_HANDLED): # <<<<<<<<<<<<<< + * return self.trace_dispatch + * + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_EXCEPTION_TYPE_HANDLED); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 849, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(PyString_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(0, 849, __pyx_L4_error) + __pyx_t_7 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_handle_exception(__pyx_v_self, __pyx_v_frame, __pyx_v_event, __pyx_v_arg, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 849, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 849, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":850 + * if should_stop: + * if self._handle_exception(frame, event, arg, EXCEPTION_TYPE_HANDLED): + * return self.trace_dispatch # <<<<<<<<<<<<<< + * + * return self.trace_dispatch + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 850, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_r = __pyx_t_7; + __pyx_t_7 = 0; + goto __pyx_L3_return; + + /* "_pydevd_bundle/pydevd_cython.pyx":849 + * should_stop, frame = self._should_stop_on_exception(frame, event, arg) + * if should_stop: + * if self._handle_exception(frame, event, arg, EXCEPTION_TYPE_HANDLED): # <<<<<<<<<<<<<< + * return self.trace_dispatch + * + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":848 + * if has_exception_breakpoints: + * should_stop, frame = self._should_stop_on_exception(frame, event, arg) + * if should_stop: # <<<<<<<<<<<<<< + * if self._handle_exception(frame, event, arg, EXCEPTION_TYPE_HANDLED): + * return self.trace_dispatch + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":846 + * elif event == 'exception': + * breakpoints_for_file = None + * if has_exception_breakpoints: # <<<<<<<<<<<<<< + * should_stop, frame = self._should_stop_on_exception(frame, event, arg) + * if should_stop: + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":852 + * return self.trace_dispatch + * + * return self.trace_dispatch # <<<<<<<<<<<<<< + * else: + * # event == 'call' or event == 'c_XXX' + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 852, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_r = __pyx_t_7; + __pyx_t_7 = 0; + goto __pyx_L3_return; + + /* "_pydevd_bundle/pydevd_cython.pyx":844 + * info.pydev_step_stop = None + * + * elif event == 'exception': # <<<<<<<<<<<<<< + * breakpoints_for_file = None + * if has_exception_breakpoints: + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":855 + * else: + * # event == 'call' or event == 'c_XXX' + * return self.trace_dispatch # <<<<<<<<<<<<<< + * + * else: # Not coroutine nor generator + */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 855, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_r = __pyx_t_7; + __pyx_t_7 = 0; + goto __pyx_L3_return; + } + __pyx_L13:; + + /* "_pydevd_bundle/pydevd_cython.pyx":765 + * function_breakpoint_on_call_event = None + * + * if frame.f_code.co_flags & 0xa0: # 0xa0 == CO_GENERATOR = 0x20 | CO_COROUTINE = 0x80 # <<<<<<<<<<<<<< + * # Dealing with coroutines and generators: + * # When in a coroutine we change the perceived event to the debugger because + */ + goto __pyx_L12; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":858 + * + * else: # Not coroutine nor generator + * if event == 'line': # <<<<<<<<<<<<<< + * is_line = True + * is_call = False + */ + /*else*/ { + __pyx_t_14 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_line, Py_EQ)); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 858, __pyx_L4_error) + __pyx_t_9 = (__pyx_t_14 != 0); + if (__pyx_t_9) { + + /* "_pydevd_bundle/pydevd_cython.pyx":859 + * else: # Not coroutine nor generator + * if event == 'line': + * is_line = True # <<<<<<<<<<<<<< + * is_call = False + * is_return = False + */ + __pyx_v_is_line = 1; + + /* "_pydevd_bundle/pydevd_cython.pyx":860 + * if event == 'line': + * is_line = True + * is_call = False # <<<<<<<<<<<<<< + * is_return = False + * is_exception_event = False + */ + __pyx_v_is_call = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":861 + * is_line = True + * is_call = False + * is_return = False # <<<<<<<<<<<<<< + * is_exception_event = False + * + */ + __pyx_v_is_return = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":862 + * is_call = False + * is_return = False + * is_exception_event = False # <<<<<<<<<<<<<< + * + * elif event == 'return': + */ + __pyx_v_is_exception_event = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":858 + * + * else: # Not coroutine nor generator + * if event == 'line': # <<<<<<<<<<<<<< + * is_line = True + * is_call = False + */ + goto __pyx_L29; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":864 + * is_exception_event = False + * + * elif event == 'return': # <<<<<<<<<<<<<< + * is_line = False + * is_return = True + */ + __pyx_t_9 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_return, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 864, __pyx_L4_error) + __pyx_t_14 = (__pyx_t_9 != 0); + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":865 + * + * elif event == 'return': + * is_line = False # <<<<<<<<<<<<<< + * is_return = True + * is_call = False + */ + __pyx_v_is_line = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":866 + * elif event == 'return': + * is_line = False + * is_return = True # <<<<<<<<<<<<<< + * is_call = False + * is_exception_event = False + */ + __pyx_v_is_return = 1; + + /* "_pydevd_bundle/pydevd_cython.pyx":867 + * is_line = False + * is_return = True + * is_call = False # <<<<<<<<<<<<<< + * is_exception_event = False + * + */ + __pyx_v_is_call = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":868 + * is_return = True + * is_call = False + * is_exception_event = False # <<<<<<<<<<<<<< + * + * # If we are in single step mode and something causes us to exit the current frame, we need to make sure we break + */ + __pyx_v_is_exception_event = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":877 + * # @DontTrace comment. + * if ( + * stop_frame is frame and # <<<<<<<<<<<<<< + * not info.pydev_use_scoped_step_frame and is_return and + * step_cmd in (108, 109, 159, 160, 128) + */ + __pyx_t_9 = (__pyx_v_stop_frame == __pyx_v_frame); + __pyx_t_11 = (__pyx_t_9 != 0); + if (__pyx_t_11) { + } else { + __pyx_t_14 = __pyx_t_11; + goto __pyx_L31_bool_binop_done; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":878 + * if ( + * stop_frame is frame and + * not info.pydev_use_scoped_step_frame and is_return and # <<<<<<<<<<<<<< + * step_cmd in (108, 109, 159, 160, 128) + * ): + */ + __pyx_t_11 = ((!(__pyx_v_info->pydev_use_scoped_step_frame != 0)) != 0); + if (__pyx_t_11) { + } else { + __pyx_t_14 = __pyx_t_11; + goto __pyx_L31_bool_binop_done; + } + __pyx_t_11 = (__pyx_v_is_return != 0); + if (__pyx_t_11) { + } else { + __pyx_t_14 = __pyx_t_11; + goto __pyx_L31_bool_binop_done; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":879 + * stop_frame is frame and + * not info.pydev_use_scoped_step_frame and is_return and + * step_cmd in (108, 109, 159, 160, 128) # <<<<<<<<<<<<<< + * ): + * + */ + switch (__pyx_v_step_cmd) { + case 0x6C: + case 0x6D: + case 0x9F: + case 0xA0: + case 0x80: + __pyx_t_11 = 1; + break; + default: + __pyx_t_11 = 0; + break; + } + __pyx_t_9 = (__pyx_t_11 != 0); + __pyx_t_14 = __pyx_t_9; + __pyx_L31_bool_binop_done:; + + /* "_pydevd_bundle/pydevd_cython.pyx":876 + * # Note: this is especially troublesome when we're skipping code with the + * # @DontTrace comment. + * if ( # <<<<<<<<<<<<<< + * stop_frame is frame and + * not info.pydev_use_scoped_step_frame and is_return and + */ + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":882 + * ): + * + * if step_cmd in (108, 109, 128): # <<<<<<<<<<<<<< + * info.pydev_step_cmd = 107 + * else: + */ + switch (__pyx_v_step_cmd) { + case 0x6C: + case 0x6D: + case 0x80: + + /* "_pydevd_bundle/pydevd_cython.pyx":883 + * + * if step_cmd in (108, 109, 128): + * info.pydev_step_cmd = 107 # <<<<<<<<<<<<<< + * else: + * info.pydev_step_cmd = 144 + */ + __pyx_v_info->pydev_step_cmd = 0x6B; + + /* "_pydevd_bundle/pydevd_cython.pyx":882 + * ): + * + * if step_cmd in (108, 109, 128): # <<<<<<<<<<<<<< + * info.pydev_step_cmd = 107 + * else: + */ + break; + default: + + /* "_pydevd_bundle/pydevd_cython.pyx":885 + * info.pydev_step_cmd = 107 + * else: + * info.pydev_step_cmd = 144 # <<<<<<<<<<<<<< + * info.pydev_step_stop = None + * + */ + __pyx_v_info->pydev_step_cmd = 0x90; + break; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":886 + * else: + * info.pydev_step_cmd = 144 + * info.pydev_step_stop = None # <<<<<<<<<<<<<< + * + * if self.exc_info: + */ + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_info->pydev_step_stop); + __Pyx_DECREF(__pyx_v_info->pydev_step_stop); + __pyx_v_info->pydev_step_stop = Py_None; + + /* "_pydevd_bundle/pydevd_cython.pyx":876 + * # Note: this is especially troublesome when we're skipping code with the + * # @DontTrace comment. + * if ( # <<<<<<<<<<<<<< + * stop_frame is frame and + * not info.pydev_use_scoped_step_frame and is_return and + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":888 + * info.pydev_step_stop = None + * + * if self.exc_info: # <<<<<<<<<<<<<< + * if self.handle_user_exception(frame): + * return self.trace_dispatch + */ + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_v_self->exc_info); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 888, __pyx_L4_error) + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":889 + * + * if self.exc_info: + * if self.handle_user_exception(frame): # <<<<<<<<<<<<<< + * return self.trace_dispatch + * + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_handle_user_exception); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 889, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_8 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_7 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_8, __pyx_v_frame) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_frame); + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 889, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 889, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":890 + * if self.exc_info: + * if self.handle_user_exception(frame): + * return self.trace_dispatch # <<<<<<<<<<<<<< + * + * elif event == 'call': + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 890, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_r = __pyx_t_7; + __pyx_t_7 = 0; + goto __pyx_L3_return; + + /* "_pydevd_bundle/pydevd_cython.pyx":889 + * + * if self.exc_info: + * if self.handle_user_exception(frame): # <<<<<<<<<<<<<< + * return self.trace_dispatch + * + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":888 + * info.pydev_step_stop = None + * + * if self.exc_info: # <<<<<<<<<<<<<< + * if self.handle_user_exception(frame): + * return self.trace_dispatch + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":864 + * is_exception_event = False + * + * elif event == 'return': # <<<<<<<<<<<<<< + * is_line = False + * is_return = True + */ + goto __pyx_L29; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":892 + * return self.trace_dispatch + * + * elif event == 'call': # <<<<<<<<<<<<<< + * is_line = False + * is_call = True + */ + __pyx_t_14 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 892, __pyx_L4_error) + __pyx_t_9 = (__pyx_t_14 != 0); + if (__pyx_t_9) { + + /* "_pydevd_bundle/pydevd_cython.pyx":893 + * + * elif event == 'call': + * is_line = False # <<<<<<<<<<<<<< + * is_call = True + * is_return = False + */ + __pyx_v_is_line = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":894 + * elif event == 'call': + * is_line = False + * is_call = True # <<<<<<<<<<<<<< + * is_return = False + * is_exception_event = False + */ + __pyx_v_is_call = 1; + + /* "_pydevd_bundle/pydevd_cython.pyx":895 + * is_line = False + * is_call = True + * is_return = False # <<<<<<<<<<<<<< + * is_exception_event = False + * if frame.f_code.co_firstlineno == frame.f_lineno: # Check line to deal with async/await. + */ + __pyx_v_is_return = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":896 + * is_call = True + * is_return = False + * is_exception_event = False # <<<<<<<<<<<<<< + * if frame.f_code.co_firstlineno == frame.f_lineno: # Check line to deal with async/await. + * function_breakpoint_on_call_event = main_debugger.function_breakpoint_name_to_breakpoint.get(frame.f_code.co_name) + */ + __pyx_v_is_exception_event = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":897 + * is_return = False + * is_exception_event = False + * if frame.f_code.co_firstlineno == frame.f_lineno: # Check line to deal with async/await. # <<<<<<<<<<<<<< + * function_breakpoint_on_call_event = main_debugger.function_breakpoint_name_to_breakpoint.get(frame.f_code.co_name) + * + */ + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 897, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_co_firstlineno); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 897, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_lineno); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 897, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_8 = PyObject_RichCompare(__pyx_t_1, __pyx_t_7, Py_EQ); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 897, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 897, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (__pyx_t_9) { + + /* "_pydevd_bundle/pydevd_cython.pyx":898 + * is_exception_event = False + * if frame.f_code.co_firstlineno == frame.f_lineno: # Check line to deal with async/await. + * function_breakpoint_on_call_event = main_debugger.function_breakpoint_name_to_breakpoint.get(frame.f_code.co_name) # <<<<<<<<<<<<<< + * + * elif event == 'exception': + */ + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_function_breakpoint_name_to_brea); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 898, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_get); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 898, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 898, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_co_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 898, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_8 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_7, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_4); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 898, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF_SET(__pyx_v_function_breakpoint_on_call_event, __pyx_t_8); + __pyx_t_8 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":897 + * is_return = False + * is_exception_event = False + * if frame.f_code.co_firstlineno == frame.f_lineno: # Check line to deal with async/await. # <<<<<<<<<<<<<< + * function_breakpoint_on_call_event = main_debugger.function_breakpoint_name_to_breakpoint.get(frame.f_code.co_name) + * + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":892 + * return self.trace_dispatch + * + * elif event == 'call': # <<<<<<<<<<<<<< + * is_line = False + * is_call = True + */ + goto __pyx_L29; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":900 + * function_breakpoint_on_call_event = main_debugger.function_breakpoint_name_to_breakpoint.get(frame.f_code.co_name) + * + * elif event == 'exception': # <<<<<<<<<<<<<< + * is_exception_event = True + * breakpoints_for_file = None + */ + __pyx_t_9 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_exception, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 900, __pyx_L4_error) + __pyx_t_14 = (__pyx_t_9 != 0); + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":901 + * + * elif event == 'exception': + * is_exception_event = True # <<<<<<<<<<<<<< + * breakpoints_for_file = None + * if has_exception_breakpoints: + */ + __pyx_v_is_exception_event = 1; + + /* "_pydevd_bundle/pydevd_cython.pyx":902 + * elif event == 'exception': + * is_exception_event = True + * breakpoints_for_file = None # <<<<<<<<<<<<<< + * if has_exception_breakpoints: + * should_stop, frame = self._should_stop_on_exception(frame, event, arg) + */ + __Pyx_INCREF(Py_None); + __pyx_v_breakpoints_for_file = ((PyObject*)Py_None); + + /* "_pydevd_bundle/pydevd_cython.pyx":903 + * is_exception_event = True + * breakpoints_for_file = None + * if has_exception_breakpoints: # <<<<<<<<<<<<<< + * should_stop, frame = self._should_stop_on_exception(frame, event, arg) + * if should_stop: + */ + __pyx_t_14 = (__pyx_v_has_exception_breakpoints != 0); + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":904 + * breakpoints_for_file = None + * if has_exception_breakpoints: + * should_stop, frame = self._should_stop_on_exception(frame, event, arg) # <<<<<<<<<<<<<< + * if should_stop: + * if self._handle_exception(frame, event, arg, EXCEPTION_TYPE_HANDLED): + */ + __pyx_t_8 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_should_stop_on_exception(__pyx_v_self, __pyx_v_frame, __pyx_v_event, __pyx_v_arg); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 904, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + if ((likely(PyTuple_CheckExact(__pyx_t_8))) || (PyList_CheckExact(__pyx_t_8))) { + PyObject* sequence = __pyx_t_8; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 2)) { + if (size > 2) __Pyx_RaiseTooManyValuesError(2); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 904, __pyx_L4_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + if (likely(PyTuple_CheckExact(sequence))) { + __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); + } else { + __pyx_t_1 = PyList_GET_ITEM(sequence, 0); + __pyx_t_4 = PyList_GET_ITEM(sequence, 1); + } + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(__pyx_t_4); + #else + __pyx_t_1 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 904, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 904, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_4); + #endif + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } else { + Py_ssize_t index = -1; + __pyx_t_7 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 904, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_15 = Py_TYPE(__pyx_t_7)->tp_iternext; + index = 0; __pyx_t_1 = __pyx_t_15(__pyx_t_7); if (unlikely(!__pyx_t_1)) goto __pyx_L39_unpacking_failed; + __Pyx_GOTREF(__pyx_t_1); + index = 1; __pyx_t_4 = __pyx_t_15(__pyx_t_7); if (unlikely(!__pyx_t_4)) goto __pyx_L39_unpacking_failed; + __Pyx_GOTREF(__pyx_t_4); + if (__Pyx_IternextUnpackEndCheck(__pyx_t_15(__pyx_t_7), 2) < 0) __PYX_ERR(0, 904, __pyx_L4_error) + __pyx_t_15 = NULL; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + goto __pyx_L40_unpacking_done; + __pyx_L39_unpacking_failed:; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_15 = NULL; + if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); + __PYX_ERR(0, 904, __pyx_L4_error) + __pyx_L40_unpacking_done:; + } + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_14 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 904, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_should_stop = __pyx_t_14; + __Pyx_DECREF_SET(__pyx_v_frame, __pyx_t_4); + __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":905 + * if has_exception_breakpoints: + * should_stop, frame = self._should_stop_on_exception(frame, event, arg) + * if should_stop: # <<<<<<<<<<<<<< + * if self._handle_exception(frame, event, arg, EXCEPTION_TYPE_HANDLED): + * return self.trace_dispatch + */ + __pyx_t_14 = (__pyx_v_should_stop != 0); + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":906 + * should_stop, frame = self._should_stop_on_exception(frame, event, arg) + * if should_stop: + * if self._handle_exception(frame, event, arg, EXCEPTION_TYPE_HANDLED): # <<<<<<<<<<<<<< + * return self.trace_dispatch + * is_line = False + */ + __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_EXCEPTION_TYPE_HANDLED); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 906, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + if (!(likely(PyString_CheckExact(__pyx_t_8))||((__pyx_t_8) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_8)->tp_name), 0))) __PYX_ERR(0, 906, __pyx_L4_error) + __pyx_t_4 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_handle_exception(__pyx_v_self, __pyx_v_frame, __pyx_v_event, __pyx_v_arg, ((PyObject*)__pyx_t_8)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 906, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 906, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":907 + * if should_stop: + * if self._handle_exception(frame, event, arg, EXCEPTION_TYPE_HANDLED): + * return self.trace_dispatch # <<<<<<<<<<<<<< + * is_line = False + * is_return = False + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 907, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; + goto __pyx_L3_return; + + /* "_pydevd_bundle/pydevd_cython.pyx":906 + * should_stop, frame = self._should_stop_on_exception(frame, event, arg) + * if should_stop: + * if self._handle_exception(frame, event, arg, EXCEPTION_TYPE_HANDLED): # <<<<<<<<<<<<<< + * return self.trace_dispatch + * is_line = False + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":905 + * if has_exception_breakpoints: + * should_stop, frame = self._should_stop_on_exception(frame, event, arg) + * if should_stop: # <<<<<<<<<<<<<< + * if self._handle_exception(frame, event, arg, EXCEPTION_TYPE_HANDLED): + * return self.trace_dispatch + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":903 + * is_exception_event = True + * breakpoints_for_file = None + * if has_exception_breakpoints: # <<<<<<<<<<<<<< + * should_stop, frame = self._should_stop_on_exception(frame, event, arg) + * if should_stop: + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":908 + * if self._handle_exception(frame, event, arg, EXCEPTION_TYPE_HANDLED): + * return self.trace_dispatch + * is_line = False # <<<<<<<<<<<<<< + * is_return = False + * is_call = False + */ + __pyx_v_is_line = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":909 + * return self.trace_dispatch + * is_line = False + * is_return = False # <<<<<<<<<<<<<< + * is_call = False + * + */ + __pyx_v_is_return = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":910 + * is_line = False + * is_return = False + * is_call = False # <<<<<<<<<<<<<< + * + * else: + */ + __pyx_v_is_call = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":900 + * function_breakpoint_on_call_event = main_debugger.function_breakpoint_name_to_breakpoint.get(frame.f_code.co_name) + * + * elif event == 'exception': # <<<<<<<<<<<<<< + * is_exception_event = True + * breakpoints_for_file = None + */ + goto __pyx_L29; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":914 + * else: + * # Unexpected: just keep the same trace func (i.e.: event == 'c_XXX'). + * return self.trace_dispatch # <<<<<<<<<<<<<< + * + * if not is_exception_event: + */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 914, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; + goto __pyx_L3_return; + } + __pyx_L29:; + } + __pyx_L12:; + + /* "_pydevd_bundle/pydevd_cython.pyx":916 + * return self.trace_dispatch + * + * if not is_exception_event: # <<<<<<<<<<<<<< + * breakpoints_for_file = main_debugger.breakpoints.get(abs_path_canonical_path_and_base[1]) + * + */ + __pyx_t_14 = ((!(__pyx_v_is_exception_event != 0)) != 0); + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":917 + * + * if not is_exception_event: + * breakpoints_for_file = main_debugger.breakpoints.get(abs_path_canonical_path_and_base[1]) # <<<<<<<<<<<<<< + * + * can_skip = False + */ + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_breakpoints); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 917, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_get); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 917, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(__pyx_v_abs_path_canonical_path_and_base == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 917, __pyx_L4_error) + } + __pyx_t_8 = __Pyx_GetItemInt_Tuple(__pyx_v_abs_path_canonical_path_and_base, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 917, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_7 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_4 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_7, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_8); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 917, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (!(likely(PyDict_CheckExact(__pyx_t_4))||((__pyx_t_4) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_4)->tp_name), 0))) __PYX_ERR(0, 917, __pyx_L4_error) + __Pyx_XDECREF_SET(__pyx_v_breakpoints_for_file, ((PyObject*)__pyx_t_4)); + __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":919 + * breakpoints_for_file = main_debugger.breakpoints.get(abs_path_canonical_path_and_base[1]) + * + * can_skip = False # <<<<<<<<<<<<<< + * + * if info.pydev_state == 1: # 1 = 1 + */ + __pyx_v_can_skip = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":921 + * can_skip = False + * + * if info.pydev_state == 1: # 1 = 1 # <<<<<<<<<<<<<< + * # we can skip if: + * # - we have no stop marked + */ + __pyx_t_14 = ((__pyx_v_info->pydev_state == 1) != 0); + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":926 + * # - we should make a step return/step over and we're not in the current frame + * # - we're stepping into a coroutine context and we're not in that context + * if step_cmd == -1: # <<<<<<<<<<<<<< + * can_skip = True + * + */ + __pyx_t_14 = ((__pyx_v_step_cmd == -1L) != 0); + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":927 + * # - we're stepping into a coroutine context and we're not in that context + * if step_cmd == -1: + * can_skip = True # <<<<<<<<<<<<<< + * + * elif step_cmd in (108, 109, 159, 160) and not self._is_same_frame(stop_frame, frame): + */ + __pyx_v_can_skip = 1; + + /* "_pydevd_bundle/pydevd_cython.pyx":926 + * # - we should make a step return/step over and we're not in the current frame + * # - we're stepping into a coroutine context and we're not in that context + * if step_cmd == -1: # <<<<<<<<<<<<<< + * can_skip = True + * + */ + goto __pyx_L45; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":929 + * can_skip = True + * + * elif step_cmd in (108, 109, 159, 160) and not self._is_same_frame(stop_frame, frame): # <<<<<<<<<<<<<< + * can_skip = True + * + */ + switch (__pyx_v_step_cmd) { + case 0x6C: + case 0x6D: + case 0x9F: + case 0xA0: + __pyx_t_9 = 1; + break; + default: + __pyx_t_9 = 0; + break; + } + __pyx_t_11 = (__pyx_t_9 != 0); + if (__pyx_t_11) { + } else { + __pyx_t_14 = __pyx_t_11; + goto __pyx_L46_bool_binop_done; + } + __pyx_t_4 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_is_same_frame(__pyx_v_self, __pyx_v_stop_frame, __pyx_v_frame); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 929, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 929, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_9 = ((!__pyx_t_11) != 0); + __pyx_t_14 = __pyx_t_9; + __pyx_L46_bool_binop_done:; + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":930 + * + * elif step_cmd in (108, 109, 159, 160) and not self._is_same_frame(stop_frame, frame): + * can_skip = True # <<<<<<<<<<<<<< + * + * elif step_cmd == 128 and ( + */ + __pyx_v_can_skip = 1; + + /* "_pydevd_bundle/pydevd_cython.pyx":929 + * can_skip = True + * + * elif step_cmd in (108, 109, 159, 160) and not self._is_same_frame(stop_frame, frame): # <<<<<<<<<<<<<< + * can_skip = True + * + */ + goto __pyx_L45; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":932 + * can_skip = True + * + * elif step_cmd == 128 and ( # <<<<<<<<<<<<<< + * stop_frame is not None and + * stop_frame is not frame and + */ + __pyx_t_9 = ((__pyx_v_step_cmd == 0x80) != 0); + if (__pyx_t_9) { + } else { + __pyx_t_14 = __pyx_t_9; + goto __pyx_L48_bool_binop_done; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":933 + * + * elif step_cmd == 128 and ( + * stop_frame is not None and # <<<<<<<<<<<<<< + * stop_frame is not frame and + * stop_frame is not frame.f_back and + */ + __pyx_t_9 = (__pyx_v_stop_frame != Py_None); + __pyx_t_11 = (__pyx_t_9 != 0); + if (__pyx_t_11) { + } else { + __pyx_t_14 = __pyx_t_11; + goto __pyx_L48_bool_binop_done; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":934 + * elif step_cmd == 128 and ( + * stop_frame is not None and + * stop_frame is not frame and # <<<<<<<<<<<<<< + * stop_frame is not frame.f_back and + * (frame.f_back is None or stop_frame is not frame.f_back.f_back)): + */ + __pyx_t_11 = (__pyx_v_stop_frame != __pyx_v_frame); + __pyx_t_9 = (__pyx_t_11 != 0); + if (__pyx_t_9) { + } else { + __pyx_t_14 = __pyx_t_9; + goto __pyx_L48_bool_binop_done; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":935 + * stop_frame is not None and + * stop_frame is not frame and + * stop_frame is not frame.f_back and # <<<<<<<<<<<<<< + * (frame.f_back is None or stop_frame is not frame.f_back.f_back)): + * can_skip = True + */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 935, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_9 = (__pyx_v_stop_frame != __pyx_t_4); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_11 = (__pyx_t_9 != 0); + if (__pyx_t_11) { + } else { + __pyx_t_14 = __pyx_t_11; + goto __pyx_L48_bool_binop_done; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":936 + * stop_frame is not frame and + * stop_frame is not frame.f_back and + * (frame.f_back is None or stop_frame is not frame.f_back.f_back)): # <<<<<<<<<<<<<< + * can_skip = True + * + */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 936, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_11 = (__pyx_t_4 == Py_None); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_9 = (__pyx_t_11 != 0); + if (!__pyx_t_9) { + } else { + __pyx_t_14 = __pyx_t_9; + goto __pyx_L48_bool_binop_done; + } + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 936, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_f_back); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 936, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_9 = (__pyx_v_stop_frame != __pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_11 = (__pyx_t_9 != 0); + __pyx_t_14 = __pyx_t_11; + __pyx_L48_bool_binop_done:; + + /* "_pydevd_bundle/pydevd_cython.pyx":932 + * can_skip = True + * + * elif step_cmd == 128 and ( # <<<<<<<<<<<<<< + * stop_frame is not None and + * stop_frame is not frame and + */ + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":937 + * stop_frame is not frame.f_back and + * (frame.f_back is None or stop_frame is not frame.f_back.f_back)): + * can_skip = True # <<<<<<<<<<<<<< + * + * elif step_cmd == 144: + */ + __pyx_v_can_skip = 1; + + /* "_pydevd_bundle/pydevd_cython.pyx":932 + * can_skip = True + * + * elif step_cmd == 128 and ( # <<<<<<<<<<<<<< + * stop_frame is not None and + * stop_frame is not frame and + */ + goto __pyx_L45; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":939 + * can_skip = True + * + * elif step_cmd == 144: # <<<<<<<<<<<<<< + * if ( + * main_debugger.apply_files_filter(frame, frame.f_code.co_filename, True) + */ + __pyx_t_14 = ((__pyx_v_step_cmd == 0x90) != 0); + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":941 + * elif step_cmd == 144: + * if ( + * main_debugger.apply_files_filter(frame, frame.f_code.co_filename, True) # <<<<<<<<<<<<<< + * and (frame.f_back is None or main_debugger.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, True)) + * ): + */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_apply_files_filter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 941, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 941, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_co_filename); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 941, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = NULL; + __pyx_t_5 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + __pyx_t_5 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[4] = {__pyx_t_8, __pyx_v_frame, __pyx_t_7, Py_True}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 941, __pyx_L4_error) + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[4] = {__pyx_t_8, __pyx_v_frame, __pyx_t_7, Py_True}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 941, __pyx_L4_error) + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } else + #endif + { + __pyx_t_6 = PyTuple_New(3+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 941, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_6); + if (__pyx_t_8) { + __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_8); __pyx_t_8 = NULL; + } + __Pyx_INCREF(__pyx_v_frame); + __Pyx_GIVEREF(__pyx_v_frame); + PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_v_frame); + __Pyx_GIVEREF(__pyx_t_7); + PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_t_7); + __Pyx_INCREF(Py_True); + __Pyx_GIVEREF(Py_True); + PyTuple_SET_ITEM(__pyx_t_6, 2+__pyx_t_5, Py_True); + __pyx_t_7 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 941, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 941, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (__pyx_t_11) { + } else { + __pyx_t_14 = __pyx_t_11; + goto __pyx_L55_bool_binop_done; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":942 + * if ( + * main_debugger.apply_files_filter(frame, frame.f_code.co_filename, True) + * and (frame.f_back is None or main_debugger.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, True)) # <<<<<<<<<<<<<< + * ): + * can_skip = True + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 942, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_11 = (__pyx_t_1 == Py_None); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_9 = (__pyx_t_11 != 0); + if (!__pyx_t_9) { + } else { + __pyx_t_14 = __pyx_t_9; + goto __pyx_L55_bool_binop_done; + } + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_apply_files_filter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 942, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 942, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 942, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_f_code); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 942, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_co_filename); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 942, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = NULL; + __pyx_t_5 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + __pyx_t_5 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[4] = {__pyx_t_8, __pyx_t_6, __pyx_t_7, Py_True}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 942, __pyx_L4_error) + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[4] = {__pyx_t_8, __pyx_t_6, __pyx_t_7, Py_True}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 942, __pyx_L4_error) + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } else + #endif + { + __pyx_t_3 = PyTuple_New(3+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 942, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_3); + if (__pyx_t_8) { + __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_8); __pyx_t_8 = NULL; + } + __Pyx_GIVEREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_5, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_7); + PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_5, __pyx_t_7); + __Pyx_INCREF(Py_True); + __Pyx_GIVEREF(Py_True); + PyTuple_SET_ITEM(__pyx_t_3, 2+__pyx_t_5, Py_True); + __pyx_t_6 = 0; + __pyx_t_7 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 942, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 942, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_14 = __pyx_t_9; + __pyx_L55_bool_binop_done:; + + /* "_pydevd_bundle/pydevd_cython.pyx":940 + * + * elif step_cmd == 144: + * if ( # <<<<<<<<<<<<<< + * main_debugger.apply_files_filter(frame, frame.f_code.co_filename, True) + * and (frame.f_back is None or main_debugger.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, True)) + */ + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":944 + * and (frame.f_back is None or main_debugger.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, True)) + * ): + * can_skip = True # <<<<<<<<<<<<<< + * + * elif step_cmd == 206: + */ + __pyx_v_can_skip = 1; + + /* "_pydevd_bundle/pydevd_cython.pyx":940 + * + * elif step_cmd == 144: + * if ( # <<<<<<<<<<<<<< + * main_debugger.apply_files_filter(frame, frame.f_code.co_filename, True) + * and (frame.f_back is None or main_debugger.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, True)) + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":939 + * can_skip = True + * + * elif step_cmd == 144: # <<<<<<<<<<<<<< + * if ( + * main_debugger.apply_files_filter(frame, frame.f_code.co_filename, True) + */ + goto __pyx_L45; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":946 + * can_skip = True + * + * elif step_cmd == 206: # <<<<<<<<<<<<<< + * f = frame + * while f is not None: + */ + __pyx_t_14 = ((__pyx_v_step_cmd == 0xCE) != 0); + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":947 + * + * elif step_cmd == 206: + * f = frame # <<<<<<<<<<<<<< + * while f is not None: + * if self._is_same_frame(stop_frame, f): + */ + __Pyx_INCREF(__pyx_v_frame); + __Pyx_XDECREF_SET(__pyx_v_f, __pyx_v_frame); + + /* "_pydevd_bundle/pydevd_cython.pyx":948 + * elif step_cmd == 206: + * f = frame + * while f is not None: # <<<<<<<<<<<<<< + * if self._is_same_frame(stop_frame, f): + * break + */ + while (1) { + __pyx_t_14 = (__pyx_v_f != Py_None); + __pyx_t_9 = (__pyx_t_14 != 0); + if (!__pyx_t_9) break; + + /* "_pydevd_bundle/pydevd_cython.pyx":949 + * f = frame + * while f is not None: + * if self._is_same_frame(stop_frame, f): # <<<<<<<<<<<<<< + * break + * f = f.f_back + */ + __pyx_t_1 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_is_same_frame(__pyx_v_self, __pyx_v_stop_frame, __pyx_v_f); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 949, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 949, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (__pyx_t_9) { + + /* "_pydevd_bundle/pydevd_cython.pyx":950 + * while f is not None: + * if self._is_same_frame(stop_frame, f): + * break # <<<<<<<<<<<<<< + * f = f.f_back + * else: + */ + goto __pyx_L59_break; + + /* "_pydevd_bundle/pydevd_cython.pyx":949 + * f = frame + * while f is not None: + * if self._is_same_frame(stop_frame, f): # <<<<<<<<<<<<<< + * break + * f = f.f_back + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":951 + * if self._is_same_frame(stop_frame, f): + * break + * f = f.f_back # <<<<<<<<<<<<<< + * else: + * can_skip = True + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_f_back); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 951, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_1); + __pyx_t_1 = 0; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":953 + * f = f.f_back + * else: + * can_skip = True # <<<<<<<<<<<<<< + * + * if can_skip: + */ + /*else*/ { + __pyx_v_can_skip = 1; + } + __pyx_L59_break:; + + /* "_pydevd_bundle/pydevd_cython.pyx":946 + * can_skip = True + * + * elif step_cmd == 206: # <<<<<<<<<<<<<< + * f = frame + * while f is not None: + */ + } + __pyx_L45:; + + /* "_pydevd_bundle/pydevd_cython.pyx":955 + * can_skip = True + * + * if can_skip: # <<<<<<<<<<<<<< + * if plugin_manager is not None and ( + * main_debugger.has_plugin_line_breaks or main_debugger.has_plugin_exception_breaks): + */ + __pyx_t_9 = (__pyx_v_can_skip != 0); + if (__pyx_t_9) { + + /* "_pydevd_bundle/pydevd_cython.pyx":956 + * + * if can_skip: + * if plugin_manager is not None and ( # <<<<<<<<<<<<<< + * main_debugger.has_plugin_line_breaks or main_debugger.has_plugin_exception_breaks): + * can_skip = plugin_manager.can_skip(main_debugger, frame) + */ + __pyx_t_14 = (__pyx_v_plugin_manager != Py_None); + __pyx_t_11 = (__pyx_t_14 != 0); + if (__pyx_t_11) { + } else { + __pyx_t_9 = __pyx_t_11; + goto __pyx_L63_bool_binop_done; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":957 + * if can_skip: + * if plugin_manager is not None and ( + * main_debugger.has_plugin_line_breaks or main_debugger.has_plugin_exception_breaks): # <<<<<<<<<<<<<< + * can_skip = plugin_manager.can_skip(main_debugger, frame) + * + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_has_plugin_line_breaks); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 957, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 957, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (!__pyx_t_11) { + } else { + __pyx_t_9 = __pyx_t_11; + goto __pyx_L63_bool_binop_done; + } + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_has_plugin_exception_breaks); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 957, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 957, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_9 = __pyx_t_11; + __pyx_L63_bool_binop_done:; + + /* "_pydevd_bundle/pydevd_cython.pyx":956 + * + * if can_skip: + * if plugin_manager is not None and ( # <<<<<<<<<<<<<< + * main_debugger.has_plugin_line_breaks or main_debugger.has_plugin_exception_breaks): + * can_skip = plugin_manager.can_skip(main_debugger, frame) + */ + if (__pyx_t_9) { + + /* "_pydevd_bundle/pydevd_cython.pyx":958 + * if plugin_manager is not None and ( + * main_debugger.has_plugin_line_breaks or main_debugger.has_plugin_exception_breaks): + * can_skip = plugin_manager.can_skip(main_debugger, frame) # <<<<<<<<<<<<<< + * + * if can_skip and main_debugger.show_return_values and info.pydev_step_cmd in (108, 159) and self._is_same_frame(stop_frame, frame.f_back): + */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_plugin_manager, __pyx_n_s_can_skip); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 958, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = NULL; + __pyx_t_5 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + __pyx_t_5 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_main_debugger, __pyx_v_frame}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 958, __pyx_L4_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_main_debugger, __pyx_v_frame}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 958, __pyx_L4_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else + #endif + { + __pyx_t_7 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 958, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + if (__pyx_t_3) { + __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_3); __pyx_t_3 = NULL; + } + __Pyx_INCREF(__pyx_v_main_debugger); + __Pyx_GIVEREF(__pyx_v_main_debugger); + PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_5, __pyx_v_main_debugger); + __Pyx_INCREF(__pyx_v_frame); + __Pyx_GIVEREF(__pyx_v_frame); + PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_5, __pyx_v_frame); + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 958, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 958, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_can_skip = __pyx_t_9; + + /* "_pydevd_bundle/pydevd_cython.pyx":956 + * + * if can_skip: + * if plugin_manager is not None and ( # <<<<<<<<<<<<<< + * main_debugger.has_plugin_line_breaks or main_debugger.has_plugin_exception_breaks): + * can_skip = plugin_manager.can_skip(main_debugger, frame) + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":960 + * can_skip = plugin_manager.can_skip(main_debugger, frame) + * + * if can_skip and main_debugger.show_return_values and info.pydev_step_cmd in (108, 159) and self._is_same_frame(stop_frame, frame.f_back): # <<<<<<<<<<<<<< + * # trace function for showing return values after step over + * can_skip = False + */ + __pyx_t_11 = (__pyx_v_can_skip != 0); + if (__pyx_t_11) { + } else { + __pyx_t_9 = __pyx_t_11; + goto __pyx_L67_bool_binop_done; + } + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_show_return_values); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 960, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 960, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (__pyx_t_11) { + } else { + __pyx_t_9 = __pyx_t_11; + goto __pyx_L67_bool_binop_done; + } + switch (__pyx_v_info->pydev_step_cmd) { + case 0x6C: + case 0x9F: + __pyx_t_11 = 1; + break; + default: + __pyx_t_11 = 0; + break; + } + __pyx_t_14 = (__pyx_t_11 != 0); + if (__pyx_t_14) { + } else { + __pyx_t_9 = __pyx_t_14; + goto __pyx_L67_bool_binop_done; + } + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 960, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_is_same_frame(__pyx_v_self, __pyx_v_stop_frame, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 960, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 960, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_9 = __pyx_t_14; + __pyx_L67_bool_binop_done:; + if (__pyx_t_9) { + + /* "_pydevd_bundle/pydevd_cython.pyx":962 + * if can_skip and main_debugger.show_return_values and info.pydev_step_cmd in (108, 159) and self._is_same_frame(stop_frame, frame.f_back): + * # trace function for showing return values after step over + * can_skip = False # <<<<<<<<<<<<<< + * + * # Let's check to see if we are in a function that has a breakpoint. If we don't have a breakpoint, + */ + __pyx_v_can_skip = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":960 + * can_skip = plugin_manager.can_skip(main_debugger, frame) + * + * if can_skip and main_debugger.show_return_values and info.pydev_step_cmd in (108, 159) and self._is_same_frame(stop_frame, frame.f_back): # <<<<<<<<<<<<<< + * # trace function for showing return values after step over + * can_skip = False + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":955 + * can_skip = True + * + * if can_skip: # <<<<<<<<<<<<<< + * if plugin_manager is not None and ( + * main_debugger.has_plugin_line_breaks or main_debugger.has_plugin_exception_breaks): + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":921 + * can_skip = False + * + * if info.pydev_state == 1: # 1 = 1 # <<<<<<<<<<<<<< + * # we can skip if: + * # - we have no stop marked + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":969 + * # so, that's why the additional checks are there. + * + * if function_breakpoint_on_call_event: # <<<<<<<<<<<<<< + * pass # Do nothing here (just keep on going as we can't skip it). + * + */ + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_function_breakpoint_on_call_event); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 969, __pyx_L4_error) + if (__pyx_t_9) { + goto __pyx_L71; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":972 + * pass # Do nothing here (just keep on going as we can't skip it). + * + * elif not breakpoints_for_file: # <<<<<<<<<<<<<< + * if can_skip: + * if has_exception_breakpoints: + */ + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_breakpoints_for_file); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 972, __pyx_L4_error) + __pyx_t_14 = ((!__pyx_t_9) != 0); + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":973 + * + * elif not breakpoints_for_file: + * if can_skip: # <<<<<<<<<<<<<< + * if has_exception_breakpoints: + * return self.trace_exception + */ + __pyx_t_14 = (__pyx_v_can_skip != 0); + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":974 + * elif not breakpoints_for_file: + * if can_skip: + * if has_exception_breakpoints: # <<<<<<<<<<<<<< + * return self.trace_exception + * else: + */ + __pyx_t_14 = (__pyx_v_has_exception_breakpoints != 0); + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":975 + * if can_skip: + * if has_exception_breakpoints: + * return self.trace_exception # <<<<<<<<<<<<<< + * else: + * return None if is_call else NO_FTRACE + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_exception); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 975, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; + goto __pyx_L3_return; + + /* "_pydevd_bundle/pydevd_cython.pyx":974 + * elif not breakpoints_for_file: + * if can_skip: + * if has_exception_breakpoints: # <<<<<<<<<<<<<< + * return self.trace_exception + * else: + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":977 + * return self.trace_exception + * else: + * return None if is_call else NO_FTRACE # <<<<<<<<<<<<<< + * + * else: + */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + if ((__pyx_v_is_call != 0)) { + __Pyx_INCREF(Py_None); + __pyx_t_4 = Py_None; + } else { + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 977, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 = __pyx_t_1; + __pyx_t_1 = 0; + } + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; + goto __pyx_L3_return; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":973 + * + * elif not breakpoints_for_file: + * if can_skip: # <<<<<<<<<<<<<< + * if has_exception_breakpoints: + * return self.trace_exception + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":972 + * pass # Do nothing here (just keep on going as we can't skip it). + * + * elif not breakpoints_for_file: # <<<<<<<<<<<<<< + * if can_skip: + * if has_exception_breakpoints: + */ + goto __pyx_L71; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":981 + * else: + * # When cached, 0 means we don't have a breakpoint and 1 means we have. + * if can_skip: # <<<<<<<<<<<<<< + * breakpoints_in_line_cache = frame_skips_cache.get(line_cache_key, -1) + * if breakpoints_in_line_cache == 0: + */ + /*else*/ { + __pyx_t_14 = (__pyx_v_can_skip != 0); + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":982 + * # When cached, 0 means we don't have a breakpoint and 1 means we have. + * if can_skip: + * breakpoints_in_line_cache = frame_skips_cache.get(line_cache_key, -1) # <<<<<<<<<<<<<< + * if breakpoints_in_line_cache == 0: + * return self.trace_dispatch + */ + if (unlikely(__pyx_v_frame_skips_cache == Py_None)) { + PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "get"); + __PYX_ERR(0, 982, __pyx_L4_error) + } + __pyx_t_4 = __Pyx_PyDict_GetItemDefault(__pyx_v_frame_skips_cache, __pyx_v_line_cache_key, __pyx_int_neg_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 982, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 982, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_v_breakpoints_in_line_cache = __pyx_t_5; + + /* "_pydevd_bundle/pydevd_cython.pyx":983 + * if can_skip: + * breakpoints_in_line_cache = frame_skips_cache.get(line_cache_key, -1) + * if breakpoints_in_line_cache == 0: # <<<<<<<<<<<<<< + * return self.trace_dispatch + * + */ + __pyx_t_14 = ((__pyx_v_breakpoints_in_line_cache == 0) != 0); + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":984 + * breakpoints_in_line_cache = frame_skips_cache.get(line_cache_key, -1) + * if breakpoints_in_line_cache == 0: + * return self.trace_dispatch # <<<<<<<<<<<<<< + * + * breakpoints_in_frame_cache = frame_skips_cache.get(frame_cache_key, -1) + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 984, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; + goto __pyx_L3_return; + + /* "_pydevd_bundle/pydevd_cython.pyx":983 + * if can_skip: + * breakpoints_in_line_cache = frame_skips_cache.get(line_cache_key, -1) + * if breakpoints_in_line_cache == 0: # <<<<<<<<<<<<<< + * return self.trace_dispatch + * + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":981 + * else: + * # When cached, 0 means we don't have a breakpoint and 1 means we have. + * if can_skip: # <<<<<<<<<<<<<< + * breakpoints_in_line_cache = frame_skips_cache.get(line_cache_key, -1) + * if breakpoints_in_line_cache == 0: + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":986 + * return self.trace_dispatch + * + * breakpoints_in_frame_cache = frame_skips_cache.get(frame_cache_key, -1) # <<<<<<<<<<<<<< + * if breakpoints_in_frame_cache != -1: + * # Gotten from cache. + */ + if (unlikely(__pyx_v_frame_skips_cache == Py_None)) { + PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "get"); + __PYX_ERR(0, 986, __pyx_L4_error) + } + __pyx_t_4 = __Pyx_PyDict_GetItemDefault(__pyx_v_frame_skips_cache, __pyx_v_frame_cache_key, __pyx_int_neg_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 986, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 986, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_v_breakpoints_in_frame_cache = __pyx_t_5; + + /* "_pydevd_bundle/pydevd_cython.pyx":987 + * + * breakpoints_in_frame_cache = frame_skips_cache.get(frame_cache_key, -1) + * if breakpoints_in_frame_cache != -1: # <<<<<<<<<<<<<< + * # Gotten from cache. + * has_breakpoint_in_frame = breakpoints_in_frame_cache == 1 + */ + __pyx_t_14 = ((__pyx_v_breakpoints_in_frame_cache != -1L) != 0); + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":989 + * if breakpoints_in_frame_cache != -1: + * # Gotten from cache. + * has_breakpoint_in_frame = breakpoints_in_frame_cache == 1 # <<<<<<<<<<<<<< + * + * else: + */ + __pyx_v_has_breakpoint_in_frame = (__pyx_v_breakpoints_in_frame_cache == 1); + + /* "_pydevd_bundle/pydevd_cython.pyx":987 + * + * breakpoints_in_frame_cache = frame_skips_cache.get(frame_cache_key, -1) + * if breakpoints_in_frame_cache != -1: # <<<<<<<<<<<<<< + * # Gotten from cache. + * has_breakpoint_in_frame = breakpoints_in_frame_cache == 1 + */ + goto __pyx_L76; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":992 + * + * else: + * has_breakpoint_in_frame = False # <<<<<<<<<<<<<< + * + * try: + */ + /*else*/ { + __pyx_v_has_breakpoint_in_frame = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":994 + * has_breakpoint_in_frame = False + * + * try: # <<<<<<<<<<<<<< + * func_lines = set() + * for offset_and_lineno in dis.findlinestarts(frame.f_code): + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_16, &__pyx_t_17, &__pyx_t_18); + __Pyx_XGOTREF(__pyx_t_16); + __Pyx_XGOTREF(__pyx_t_17); + __Pyx_XGOTREF(__pyx_t_18); + /*try:*/ { + + /* "_pydevd_bundle/pydevd_cython.pyx":995 + * + * try: + * func_lines = set() # <<<<<<<<<<<<<< + * for offset_and_lineno in dis.findlinestarts(frame.f_code): + * func_lines.add(offset_and_lineno[1]) + */ + __pyx_t_4 = PySet_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 995, __pyx_L77_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_v_func_lines = ((PyObject*)__pyx_t_4); + __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":996 + * try: + * func_lines = set() + * for offset_and_lineno in dis.findlinestarts(frame.f_code): # <<<<<<<<<<<<<< + * func_lines.add(offset_and_lineno[1]) + * except: + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_dis); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 996, __pyx_L77_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_findlinestarts); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 996, __pyx_L77_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 996, __pyx_L77_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 996, __pyx_L77_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) { + __pyx_t_7 = __pyx_t_4; __Pyx_INCREF(__pyx_t_7); __pyx_t_12 = 0; + __pyx_t_13 = NULL; + } else { + __pyx_t_12 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 996, __pyx_L77_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_13 = Py_TYPE(__pyx_t_7)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 996, __pyx_L77_error) + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + for (;;) { + if (likely(!__pyx_t_13)) { + if (likely(PyList_CheckExact(__pyx_t_7))) { + if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_7)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_4 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_12); __Pyx_INCREF(__pyx_t_4); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 996, __pyx_L77_error) + #else + __pyx_t_4 = PySequence_ITEM(__pyx_t_7, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 996, __pyx_L77_error) + __Pyx_GOTREF(__pyx_t_4); + #endif + } else { + if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_7)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_12); __Pyx_INCREF(__pyx_t_4); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 996, __pyx_L77_error) + #else + __pyx_t_4 = PySequence_ITEM(__pyx_t_7, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 996, __pyx_L77_error) + __Pyx_GOTREF(__pyx_t_4); + #endif + } + } else { + __pyx_t_4 = __pyx_t_13(__pyx_t_7); + if (unlikely(!__pyx_t_4)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 996, __pyx_L77_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_4); + } + __Pyx_XDECREF_SET(__pyx_v_offset_and_lineno, __pyx_t_4); + __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":997 + * func_lines = set() + * for offset_and_lineno in dis.findlinestarts(frame.f_code): + * func_lines.add(offset_and_lineno[1]) # <<<<<<<<<<<<<< + * except: + * # This is a fallback for implementations where we can't get the function + */ + __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_offset_and_lineno, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 997, __pyx_L77_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_19 = PySet_Add(__pyx_v_func_lines, __pyx_t_4); if (unlikely(__pyx_t_19 == ((int)-1))) __PYX_ERR(0, 997, __pyx_L77_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":996 + * try: + * func_lines = set() + * for offset_and_lineno in dis.findlinestarts(frame.f_code): # <<<<<<<<<<<<<< + * func_lines.add(offset_and_lineno[1]) + * except: + */ + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":994 + * has_breakpoint_in_frame = False + * + * try: # <<<<<<<<<<<<<< + * func_lines = set() + * for offset_and_lineno in dis.findlinestarts(frame.f_code): + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1017 + * break + * else: + * for bp_line in breakpoints_for_file: # iterate on keys # <<<<<<<<<<<<<< + * if bp_line in func_lines: + * has_breakpoint_in_frame = True + */ + /*else:*/ { + __pyx_t_12 = 0; + if (unlikely(__pyx_v_breakpoints_for_file == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); + __PYX_ERR(0, 1017, __pyx_L79_except_error) + } + __pyx_t_4 = __Pyx_dict_iterator(__pyx_v_breakpoints_for_file, 1, ((PyObject *)NULL), (&__pyx_t_20), (&__pyx_t_5)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1017, __pyx_L79_except_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_7); + __pyx_t_7 = __pyx_t_4; + __pyx_t_4 = 0; + while (1) { + __pyx_t_10 = __Pyx_dict_iter_next(__pyx_t_7, __pyx_t_20, &__pyx_t_12, &__pyx_t_4, NULL, NULL, __pyx_t_5); + if (unlikely(__pyx_t_10 == 0)) break; + if (unlikely(__pyx_t_10 == -1)) __PYX_ERR(0, 1017, __pyx_L79_except_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_10 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1017, __pyx_L79_except_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_v_bp_line = __pyx_t_10; + + /* "_pydevd_bundle/pydevd_cython.pyx":1018 + * else: + * for bp_line in breakpoints_for_file: # iterate on keys + * if bp_line in func_lines: # <<<<<<<<<<<<<< + * has_breakpoint_in_frame = True + * break + */ + __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_bp_line); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1018, __pyx_L79_except_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_14 = (__Pyx_PySet_ContainsTF(__pyx_t_4, __pyx_v_func_lines, Py_EQ)); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1018, __pyx_L79_except_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_9 = (__pyx_t_14 != 0); + if (__pyx_t_9) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1019 + * for bp_line in breakpoints_for_file: # iterate on keys + * if bp_line in func_lines: + * has_breakpoint_in_frame = True # <<<<<<<<<<<<<< + * break + * + */ + __pyx_v_has_breakpoint_in_frame = 1; + + /* "_pydevd_bundle/pydevd_cython.pyx":1020 + * if bp_line in func_lines: + * has_breakpoint_in_frame = True + * break # <<<<<<<<<<<<<< + * + * # Cache the value (1 or 0 or -1 for default because of cython). + */ + goto __pyx_L86_break; + + /* "_pydevd_bundle/pydevd_cython.pyx":1018 + * else: + * for bp_line in breakpoints_for_file: # iterate on keys + * if bp_line in func_lines: # <<<<<<<<<<<<<< + * has_breakpoint_in_frame = True + * break + */ + } + } + __pyx_L86_break:; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } + __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; + __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; + __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; + goto __pyx_L82_try_end; + __pyx_L77_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":998 + * for offset_and_lineno in dis.findlinestarts(frame.f_code): + * func_lines.add(offset_and_lineno[1]) + * except: # <<<<<<<<<<<<<< + * # This is a fallback for implementations where we can't get the function + * # lines -- i.e.: jython (in this case clients need to provide the function + */ + /*except:*/ { + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame.trace_dispatch", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_4, &__pyx_t_1) < 0) __PYX_ERR(0, 998, __pyx_L79_except_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GOTREF(__pyx_t_1); + + /* "_pydevd_bundle/pydevd_cython.pyx":1005 + * + * # Checks the breakpoint to see if there is a context match in some function. + * curr_func_name = frame.f_code.co_name # <<<<<<<<<<<<<< + * + * # global context is set with an empty name + */ + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1005, __pyx_L79_except_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_co_name); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1005, __pyx_L79_except_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (!(likely(PyString_CheckExact(__pyx_t_6))||((__pyx_t_6) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_6)->tp_name), 0))) __PYX_ERR(0, 1005, __pyx_L79_except_error) + __pyx_v_curr_func_name = ((PyObject*)__pyx_t_6); + __pyx_t_6 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1008 + * + * # global context is set with an empty name + * if curr_func_name in ('?', '', ''): # <<<<<<<<<<<<<< + * curr_func_name = '' + * + */ + __Pyx_INCREF(__pyx_v_curr_func_name); + __pyx_t_21 = __pyx_v_curr_func_name; + __pyx_t_14 = (__Pyx_PyString_Equals(__pyx_t_21, __pyx_kp_s__3, Py_EQ)); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1008, __pyx_L79_except_error) + __pyx_t_11 = (__pyx_t_14 != 0); + if (!__pyx_t_11) { + } else { + __pyx_t_9 = __pyx_t_11; + goto __pyx_L91_bool_binop_done; + } + __pyx_t_11 = (__Pyx_PyString_Equals(__pyx_t_21, __pyx_kp_s_module, Py_EQ)); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 1008, __pyx_L79_except_error) + __pyx_t_14 = (__pyx_t_11 != 0); + if (!__pyx_t_14) { + } else { + __pyx_t_9 = __pyx_t_14; + goto __pyx_L91_bool_binop_done; + } + __pyx_t_14 = (__Pyx_PyString_Equals(__pyx_t_21, __pyx_kp_s_lambda, Py_EQ)); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1008, __pyx_L79_except_error) + __pyx_t_11 = (__pyx_t_14 != 0); + __pyx_t_9 = __pyx_t_11; + __pyx_L91_bool_binop_done:; + __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; + __pyx_t_11 = (__pyx_t_9 != 0); + if (__pyx_t_11) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1009 + * # global context is set with an empty name + * if curr_func_name in ('?', '', ''): + * curr_func_name = '' # <<<<<<<<<<<<<< + * + * for bp in breakpoints_for_file.values(): + */ + __Pyx_INCREF(__pyx_kp_s_); + __Pyx_DECREF_SET(__pyx_v_curr_func_name, __pyx_kp_s_); + + /* "_pydevd_bundle/pydevd_cython.pyx":1008 + * + * # global context is set with an empty name + * if curr_func_name in ('?', '', ''): # <<<<<<<<<<<<<< + * curr_func_name = '' + * + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1011 + * curr_func_name = '' + * + * for bp in breakpoints_for_file.values(): # <<<<<<<<<<<<<< + * # will match either global or some function + * if bp.func_name in ('None', curr_func_name): + */ + if (unlikely(__pyx_v_breakpoints_for_file == Py_None)) { + PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "values"); + __PYX_ERR(0, 1011, __pyx_L79_except_error) + } + __pyx_t_6 = __Pyx_PyDict_Values(__pyx_v_breakpoints_for_file); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1011, __pyx_L79_except_error) + __Pyx_GOTREF(__pyx_t_6); + if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) { + __pyx_t_3 = __pyx_t_6; __Pyx_INCREF(__pyx_t_3); __pyx_t_20 = 0; + __pyx_t_13 = NULL; + } else { + __pyx_t_20 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1011, __pyx_L79_except_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_13 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1011, __pyx_L79_except_error) + } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + for (;;) { + if (likely(!__pyx_t_13)) { + if (likely(PyList_CheckExact(__pyx_t_3))) { + if (__pyx_t_20 >= PyList_GET_SIZE(__pyx_t_3)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_6 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_20); __Pyx_INCREF(__pyx_t_6); __pyx_t_20++; if (unlikely(0 < 0)) __PYX_ERR(0, 1011, __pyx_L79_except_error) + #else + __pyx_t_6 = PySequence_ITEM(__pyx_t_3, __pyx_t_20); __pyx_t_20++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1011, __pyx_L79_except_error) + __Pyx_GOTREF(__pyx_t_6); + #endif + } else { + if (__pyx_t_20 >= PyTuple_GET_SIZE(__pyx_t_3)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_20); __Pyx_INCREF(__pyx_t_6); __pyx_t_20++; if (unlikely(0 < 0)) __PYX_ERR(0, 1011, __pyx_L79_except_error) + #else + __pyx_t_6 = PySequence_ITEM(__pyx_t_3, __pyx_t_20); __pyx_t_20++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1011, __pyx_L79_except_error) + __Pyx_GOTREF(__pyx_t_6); + #endif + } + } else { + __pyx_t_6 = __pyx_t_13(__pyx_t_3); + if (unlikely(!__pyx_t_6)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 1011, __pyx_L79_except_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_6); + } + __Pyx_XDECREF_SET(__pyx_v_bp, __pyx_t_6); + __pyx_t_6 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1013 + * for bp in breakpoints_for_file.values(): + * # will match either global or some function + * if bp.func_name in ('None', curr_func_name): # <<<<<<<<<<<<<< + * has_breakpoint_in_frame = True + * break + */ + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_bp, __pyx_n_s_func_name); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1013, __pyx_L79_except_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_9 = (__Pyx_PyString_Equals(__pyx_t_6, __pyx_n_s_None, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 1013, __pyx_L79_except_error) + if (!__pyx_t_9) { + } else { + __pyx_t_11 = __pyx_t_9; + goto __pyx_L97_bool_binop_done; + } + __pyx_t_9 = (__Pyx_PyString_Equals(__pyx_t_6, __pyx_v_curr_func_name, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 1013, __pyx_L79_except_error) + __pyx_t_11 = __pyx_t_9; + __pyx_L97_bool_binop_done:; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_9 = (__pyx_t_11 != 0); + if (__pyx_t_9) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1014 + * # will match either global or some function + * if bp.func_name in ('None', curr_func_name): + * has_breakpoint_in_frame = True # <<<<<<<<<<<<<< + * break + * else: + */ + __pyx_v_has_breakpoint_in_frame = 1; + + /* "_pydevd_bundle/pydevd_cython.pyx":1015 + * if bp.func_name in ('None', curr_func_name): + * has_breakpoint_in_frame = True + * break # <<<<<<<<<<<<<< + * else: + * for bp_line in breakpoints_for_file: # iterate on keys + */ + goto __pyx_L95_break; + + /* "_pydevd_bundle/pydevd_cython.pyx":1013 + * for bp in breakpoints_for_file.values(): + * # will match either global or some function + * if bp.func_name in ('None', curr_func_name): # <<<<<<<<<<<<<< + * has_breakpoint_in_frame = True + * break + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1011 + * curr_func_name = '' + * + * for bp in breakpoints_for_file.values(): # <<<<<<<<<<<<<< + * # will match either global or some function + * if bp.func_name in ('None', curr_func_name): + */ + } + __pyx_L95_break:; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L78_exception_handled; + } + __pyx_L79_except_error:; + + /* "_pydevd_bundle/pydevd_cython.pyx":994 + * has_breakpoint_in_frame = False + * + * try: # <<<<<<<<<<<<<< + * func_lines = set() + * for offset_and_lineno in dis.findlinestarts(frame.f_code): + */ + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_XGIVEREF(__pyx_t_17); + __Pyx_XGIVEREF(__pyx_t_18); + __Pyx_ExceptionReset(__pyx_t_16, __pyx_t_17, __pyx_t_18); + goto __pyx_L4_error; + __pyx_L78_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_XGIVEREF(__pyx_t_17); + __Pyx_XGIVEREF(__pyx_t_18); + __Pyx_ExceptionReset(__pyx_t_16, __pyx_t_17, __pyx_t_18); + __pyx_L82_try_end:; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1023 + * + * # Cache the value (1 or 0 or -1 for default because of cython). + * if has_breakpoint_in_frame: # <<<<<<<<<<<<<< + * frame_skips_cache[frame_cache_key] = 1 + * else: + */ + __pyx_t_9 = (__pyx_v_has_breakpoint_in_frame != 0); + if (__pyx_t_9) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1024 + * # Cache the value (1 or 0 or -1 for default because of cython). + * if has_breakpoint_in_frame: + * frame_skips_cache[frame_cache_key] = 1 # <<<<<<<<<<<<<< + * else: + * frame_skips_cache[frame_cache_key] = 0 + */ + if (unlikely(__pyx_v_frame_skips_cache == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 1024, __pyx_L4_error) + } + if (unlikely(PyDict_SetItem(__pyx_v_frame_skips_cache, __pyx_v_frame_cache_key, __pyx_int_1) < 0)) __PYX_ERR(0, 1024, __pyx_L4_error) + + /* "_pydevd_bundle/pydevd_cython.pyx":1023 + * + * # Cache the value (1 or 0 or -1 for default because of cython). + * if has_breakpoint_in_frame: # <<<<<<<<<<<<<< + * frame_skips_cache[frame_cache_key] = 1 + * else: + */ + goto __pyx_L99; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1026 + * frame_skips_cache[frame_cache_key] = 1 + * else: + * frame_skips_cache[frame_cache_key] = 0 # <<<<<<<<<<<<<< + * + * if can_skip and not has_breakpoint_in_frame: + */ + /*else*/ { + if (unlikely(__pyx_v_frame_skips_cache == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 1026, __pyx_L4_error) + } + if (unlikely(PyDict_SetItem(__pyx_v_frame_skips_cache, __pyx_v_frame_cache_key, __pyx_int_0) < 0)) __PYX_ERR(0, 1026, __pyx_L4_error) + } + __pyx_L99:; + } + __pyx_L76:; + + /* "_pydevd_bundle/pydevd_cython.pyx":1028 + * frame_skips_cache[frame_cache_key] = 0 + * + * if can_skip and not has_breakpoint_in_frame: # <<<<<<<<<<<<<< + * if has_exception_breakpoints: + * return self.trace_exception + */ + __pyx_t_11 = (__pyx_v_can_skip != 0); + if (__pyx_t_11) { + } else { + __pyx_t_9 = __pyx_t_11; + goto __pyx_L101_bool_binop_done; + } + __pyx_t_11 = ((!(__pyx_v_has_breakpoint_in_frame != 0)) != 0); + __pyx_t_9 = __pyx_t_11; + __pyx_L101_bool_binop_done:; + if (__pyx_t_9) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1029 + * + * if can_skip and not has_breakpoint_in_frame: + * if has_exception_breakpoints: # <<<<<<<<<<<<<< + * return self.trace_exception + * else: + */ + __pyx_t_9 = (__pyx_v_has_exception_breakpoints != 0); + if (__pyx_t_9) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1030 + * if can_skip and not has_breakpoint_in_frame: + * if has_exception_breakpoints: + * return self.trace_exception # <<<<<<<<<<<<<< + * else: + * return None if is_call else NO_FTRACE + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_exception); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1030, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L3_return; + + /* "_pydevd_bundle/pydevd_cython.pyx":1029 + * + * if can_skip and not has_breakpoint_in_frame: + * if has_exception_breakpoints: # <<<<<<<<<<<<<< + * return self.trace_exception + * else: + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1032 + * return self.trace_exception + * else: + * return None if is_call else NO_FTRACE # <<<<<<<<<<<<<< + * + * # We may have hit a breakpoint or we are already in step mode. Either way, let's check what we should do in this frame + */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + if ((__pyx_v_is_call != 0)) { + __Pyx_INCREF(Py_None); + __pyx_t_1 = Py_None; + } else { + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1032, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = __pyx_t_4; + __pyx_t_4 = 0; + } + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L3_return; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1028 + * frame_skips_cache[frame_cache_key] = 0 + * + * if can_skip and not has_breakpoint_in_frame: # <<<<<<<<<<<<<< + * if has_exception_breakpoints: + * return self.trace_exception + */ + } + } + __pyx_L71:; + + /* "_pydevd_bundle/pydevd_cython.pyx":916 + * return self.trace_dispatch + * + * if not is_exception_event: # <<<<<<<<<<<<<< + * breakpoints_for_file = main_debugger.breakpoints.get(abs_path_canonical_path_and_base[1]) + * + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1037 + * # if DEBUG: print('NOT skipped: %s %s %s %s' % (frame.f_lineno, frame.f_code.co_name, event, frame.__class__.__name__)) + * + * try: # <<<<<<<<<<<<<< + * flag = False + * # return is not taken into account for breakpoint hit because we'd have a double-hit in this case + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_18, &__pyx_t_17, &__pyx_t_16); + __Pyx_XGOTREF(__pyx_t_18); + __Pyx_XGOTREF(__pyx_t_17); + __Pyx_XGOTREF(__pyx_t_16); + /*try:*/ { + + /* "_pydevd_bundle/pydevd_cython.pyx":1038 + * + * try: + * flag = False # <<<<<<<<<<<<<< + * # return is not taken into account for breakpoint hit because we'd have a double-hit in this case + * # (one for the line and the other for the return). + */ + __Pyx_INCREF(Py_False); + __pyx_v_flag = Py_False; + + /* "_pydevd_bundle/pydevd_cython.pyx":1042 + * # (one for the line and the other for the return). + * + * stop_info = {} # <<<<<<<<<<<<<< + * breakpoint = None + * exist_result = False + */ + __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1042, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_stop_info = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1043 + * + * stop_info = {} + * breakpoint = None # <<<<<<<<<<<<<< + * exist_result = False + * stop = False + */ + __Pyx_INCREF(Py_None); + __pyx_v_breakpoint = Py_None; + + /* "_pydevd_bundle/pydevd_cython.pyx":1044 + * stop_info = {} + * breakpoint = None + * exist_result = False # <<<<<<<<<<<<<< + * stop = False + * stop_reason = 111 + */ + __pyx_v_exist_result = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1045 + * breakpoint = None + * exist_result = False + * stop = False # <<<<<<<<<<<<<< + * stop_reason = 111 + * bp_type = None + */ + __pyx_v_stop = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1046 + * exist_result = False + * stop = False + * stop_reason = 111 # <<<<<<<<<<<<<< + * bp_type = None + * + */ + __Pyx_INCREF(__pyx_int_111); + __pyx_v_stop_reason = __pyx_int_111; + + /* "_pydevd_bundle/pydevd_cython.pyx":1047 + * stop = False + * stop_reason = 111 + * bp_type = None # <<<<<<<<<<<<<< + * + * if function_breakpoint_on_call_event: + */ + __Pyx_INCREF(Py_None); + __pyx_v_bp_type = Py_None; + + /* "_pydevd_bundle/pydevd_cython.pyx":1049 + * bp_type = None + * + * if function_breakpoint_on_call_event: # <<<<<<<<<<<<<< + * breakpoint = function_breakpoint_on_call_event + * stop = True + */ + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_function_breakpoint_on_call_event); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 1049, __pyx_L104_error) + if (__pyx_t_9) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1050 + * + * if function_breakpoint_on_call_event: + * breakpoint = function_breakpoint_on_call_event # <<<<<<<<<<<<<< + * stop = True + * new_frame = frame + */ + __Pyx_INCREF(__pyx_v_function_breakpoint_on_call_event); + __Pyx_DECREF_SET(__pyx_v_breakpoint, __pyx_v_function_breakpoint_on_call_event); + + /* "_pydevd_bundle/pydevd_cython.pyx":1051 + * if function_breakpoint_on_call_event: + * breakpoint = function_breakpoint_on_call_event + * stop = True # <<<<<<<<<<<<<< + * new_frame = frame + * stop_reason = CMD_SET_FUNCTION_BREAK + */ + __pyx_v_stop = 1; + + /* "_pydevd_bundle/pydevd_cython.pyx":1052 + * breakpoint = function_breakpoint_on_call_event + * stop = True + * new_frame = frame # <<<<<<<<<<<<<< + * stop_reason = CMD_SET_FUNCTION_BREAK + * + */ + __Pyx_INCREF(__pyx_v_frame); + __pyx_v_new_frame = __pyx_v_frame; + + /* "_pydevd_bundle/pydevd_cython.pyx":1053 + * stop = True + * new_frame = frame + * stop_reason = CMD_SET_FUNCTION_BREAK # <<<<<<<<<<<<<< + * + * elif is_line and info.pydev_state != 2 and breakpoints_for_file is not None and line in breakpoints_for_file: + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_CMD_SET_FUNCTION_BREAK); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1053, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF_SET(__pyx_v_stop_reason, __pyx_t_1); + __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1049 + * bp_type = None + * + * if function_breakpoint_on_call_event: # <<<<<<<<<<<<<< + * breakpoint = function_breakpoint_on_call_event + * stop = True + */ + goto __pyx_L110; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1055 + * stop_reason = CMD_SET_FUNCTION_BREAK + * + * elif is_line and info.pydev_state != 2 and breakpoints_for_file is not None and line in breakpoints_for_file: # <<<<<<<<<<<<<< + * breakpoint = breakpoints_for_file[line] + * new_frame = frame + */ + __pyx_t_11 = (__pyx_v_is_line != 0); + if (__pyx_t_11) { + } else { + __pyx_t_9 = __pyx_t_11; + goto __pyx_L111_bool_binop_done; + } + __pyx_t_11 = ((__pyx_v_info->pydev_state != 2) != 0); + if (__pyx_t_11) { + } else { + __pyx_t_9 = __pyx_t_11; + goto __pyx_L111_bool_binop_done; + } + if (unlikely(!__pyx_v_breakpoints_for_file)) { __Pyx_RaiseUnboundLocalError("breakpoints_for_file"); __PYX_ERR(0, 1055, __pyx_L104_error) } + __pyx_t_11 = (__pyx_v_breakpoints_for_file != ((PyObject*)Py_None)); + __pyx_t_14 = (__pyx_t_11 != 0); + if (__pyx_t_14) { + } else { + __pyx_t_9 = __pyx_t_14; + goto __pyx_L111_bool_binop_done; + } + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_line); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1055, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_1); + if (unlikely(!__pyx_v_breakpoints_for_file)) { __Pyx_RaiseUnboundLocalError("breakpoints_for_file"); __PYX_ERR(0, 1055, __pyx_L104_error) } + if (unlikely(__pyx_v_breakpoints_for_file == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); + __PYX_ERR(0, 1055, __pyx_L104_error) + } + __pyx_t_14 = (__Pyx_PyDict_ContainsTF(__pyx_t_1, __pyx_v_breakpoints_for_file, Py_EQ)); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1055, __pyx_L104_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_11 = (__pyx_t_14 != 0); + __pyx_t_9 = __pyx_t_11; + __pyx_L111_bool_binop_done:; + if (__pyx_t_9) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1056 + * + * elif is_line and info.pydev_state != 2 and breakpoints_for_file is not None and line in breakpoints_for_file: + * breakpoint = breakpoints_for_file[line] # <<<<<<<<<<<<<< + * new_frame = frame + * stop = True + */ + if (unlikely(!__pyx_v_breakpoints_for_file)) { __Pyx_RaiseUnboundLocalError("breakpoints_for_file"); __PYX_ERR(0, 1056, __pyx_L104_error) } + if (unlikely(__pyx_v_breakpoints_for_file == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 1056, __pyx_L104_error) + } + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_line); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1056, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 = __Pyx_PyDict_GetItem(__pyx_v_breakpoints_for_file, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1056, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF_SET(__pyx_v_breakpoint, __pyx_t_4); + __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1057 + * elif is_line and info.pydev_state != 2 and breakpoints_for_file is not None and line in breakpoints_for_file: + * breakpoint = breakpoints_for_file[line] + * new_frame = frame # <<<<<<<<<<<<<< + * stop = True + * if step_cmd in (108, 159) and (self._is_same_frame(stop_frame, frame) and is_line): + */ + __Pyx_INCREF(__pyx_v_frame); + __pyx_v_new_frame = __pyx_v_frame; + + /* "_pydevd_bundle/pydevd_cython.pyx":1058 + * breakpoint = breakpoints_for_file[line] + * new_frame = frame + * stop = True # <<<<<<<<<<<<<< + * if step_cmd in (108, 159) and (self._is_same_frame(stop_frame, frame) and is_line): + * stop = False # we don't stop on breakpoint if we have to stop by step-over (it will be processed later) + */ + __pyx_v_stop = 1; + + /* "_pydevd_bundle/pydevd_cython.pyx":1059 + * new_frame = frame + * stop = True + * if step_cmd in (108, 159) and (self._is_same_frame(stop_frame, frame) and is_line): # <<<<<<<<<<<<<< + * stop = False # we don't stop on breakpoint if we have to stop by step-over (it will be processed later) + * elif plugin_manager is not None and main_debugger.has_plugin_line_breaks: + */ + switch (__pyx_v_step_cmd) { + case 0x6C: + case 0x9F: + __pyx_t_11 = 1; + break; + default: + __pyx_t_11 = 0; + break; + } + __pyx_t_14 = (__pyx_t_11 != 0); + if (__pyx_t_14) { + } else { + __pyx_t_9 = __pyx_t_14; + goto __pyx_L116_bool_binop_done; + } + __pyx_t_4 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_is_same_frame(__pyx_v_self, __pyx_v_stop_frame, __pyx_v_frame); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1059, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1059, __pyx_L104_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_14) { + } else { + __pyx_t_9 = __pyx_t_14; + goto __pyx_L116_bool_binop_done; + } + __pyx_t_14 = (__pyx_v_is_line != 0); + __pyx_t_9 = __pyx_t_14; + __pyx_L116_bool_binop_done:; + if (__pyx_t_9) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1060 + * stop = True + * if step_cmd in (108, 159) and (self._is_same_frame(stop_frame, frame) and is_line): + * stop = False # we don't stop on breakpoint if we have to stop by step-over (it will be processed later) # <<<<<<<<<<<<<< + * elif plugin_manager is not None and main_debugger.has_plugin_line_breaks: + * result = plugin_manager.get_breakpoint(main_debugger, self, frame, event, self._args) + */ + __pyx_v_stop = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1059 + * new_frame = frame + * stop = True + * if step_cmd in (108, 159) and (self._is_same_frame(stop_frame, frame) and is_line): # <<<<<<<<<<<<<< + * stop = False # we don't stop on breakpoint if we have to stop by step-over (it will be processed later) + * elif plugin_manager is not None and main_debugger.has_plugin_line_breaks: + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1055 + * stop_reason = CMD_SET_FUNCTION_BREAK + * + * elif is_line and info.pydev_state != 2 and breakpoints_for_file is not None and line in breakpoints_for_file: # <<<<<<<<<<<<<< + * breakpoint = breakpoints_for_file[line] + * new_frame = frame + */ + goto __pyx_L110; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1061 + * if step_cmd in (108, 159) and (self._is_same_frame(stop_frame, frame) and is_line): + * stop = False # we don't stop on breakpoint if we have to stop by step-over (it will be processed later) + * elif plugin_manager is not None and main_debugger.has_plugin_line_breaks: # <<<<<<<<<<<<<< + * result = plugin_manager.get_breakpoint(main_debugger, self, frame, event, self._args) + * if result: + */ + __pyx_t_14 = (__pyx_v_plugin_manager != Py_None); + __pyx_t_11 = (__pyx_t_14 != 0); + if (__pyx_t_11) { + } else { + __pyx_t_9 = __pyx_t_11; + goto __pyx_L119_bool_binop_done; + } + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_has_plugin_line_breaks); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1061, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 1061, __pyx_L104_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_9 = __pyx_t_11; + __pyx_L119_bool_binop_done:; + if (__pyx_t_9) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1062 + * stop = False # we don't stop on breakpoint if we have to stop by step-over (it will be processed later) + * elif plugin_manager is not None and main_debugger.has_plugin_line_breaks: + * result = plugin_manager.get_breakpoint(main_debugger, self, frame, event, self._args) # <<<<<<<<<<<<<< + * if result: + * exist_result = True + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_plugin_manager, __pyx_n_s_get_breakpoint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1062, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_7 = NULL; + __pyx_t_5 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + __pyx_t_5 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[6] = {__pyx_t_7, __pyx_v_main_debugger, ((PyObject *)__pyx_v_self), __pyx_v_frame, __pyx_v_event, __pyx_v_self->_args}; + __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 5+__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1062, __pyx_L104_error) + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_4); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[6] = {__pyx_t_7, __pyx_v_main_debugger, ((PyObject *)__pyx_v_self), __pyx_v_frame, __pyx_v_event, __pyx_v_self->_args}; + __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 5+__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1062, __pyx_L104_error) + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_4); + } else + #endif + { + __pyx_t_3 = PyTuple_New(5+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1062, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_3); + if (__pyx_t_7) { + __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_7); __pyx_t_7 = NULL; + } + __Pyx_INCREF(__pyx_v_main_debugger); + __Pyx_GIVEREF(__pyx_v_main_debugger); + PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_5, __pyx_v_main_debugger); + __Pyx_INCREF(((PyObject *)__pyx_v_self)); + __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); + PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_5, ((PyObject *)__pyx_v_self)); + __Pyx_INCREF(__pyx_v_frame); + __Pyx_GIVEREF(__pyx_v_frame); + PyTuple_SET_ITEM(__pyx_t_3, 2+__pyx_t_5, __pyx_v_frame); + __Pyx_INCREF(__pyx_v_event); + __Pyx_GIVEREF(__pyx_v_event); + PyTuple_SET_ITEM(__pyx_t_3, 3+__pyx_t_5, __pyx_v_event); + __Pyx_INCREF(__pyx_v_self->_args); + __Pyx_GIVEREF(__pyx_v_self->_args); + PyTuple_SET_ITEM(__pyx_t_3, 4+__pyx_t_5, __pyx_v_self->_args); + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1062, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_result = __pyx_t_4; + __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1063 + * elif plugin_manager is not None and main_debugger.has_plugin_line_breaks: + * result = plugin_manager.get_breakpoint(main_debugger, self, frame, event, self._args) + * if result: # <<<<<<<<<<<<<< + * exist_result = True + * flag, breakpoint, new_frame, bp_type = result + */ + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_result); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 1063, __pyx_L104_error) + if (__pyx_t_9) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1064 + * result = plugin_manager.get_breakpoint(main_debugger, self, frame, event, self._args) + * if result: + * exist_result = True # <<<<<<<<<<<<<< + * flag, breakpoint, new_frame, bp_type = result + * + */ + __pyx_v_exist_result = 1; + + /* "_pydevd_bundle/pydevd_cython.pyx":1065 + * if result: + * exist_result = True + * flag, breakpoint, new_frame, bp_type = result # <<<<<<<<<<<<<< + * + * if breakpoint: + */ + if ((likely(PyTuple_CheckExact(__pyx_v_result))) || (PyList_CheckExact(__pyx_v_result))) { + PyObject* sequence = __pyx_v_result; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 4)) { + if (size > 4) __Pyx_RaiseTooManyValuesError(4); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 1065, __pyx_L104_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + if (likely(PyTuple_CheckExact(sequence))) { + __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_1 = PyTuple_GET_ITEM(sequence, 1); + __pyx_t_3 = PyTuple_GET_ITEM(sequence, 2); + __pyx_t_7 = PyTuple_GET_ITEM(sequence, 3); + } else { + __pyx_t_4 = PyList_GET_ITEM(sequence, 0); + __pyx_t_1 = PyList_GET_ITEM(sequence, 1); + __pyx_t_3 = PyList_GET_ITEM(sequence, 2); + __pyx_t_7 = PyList_GET_ITEM(sequence, 3); + } + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(__pyx_t_7); + #else + { + Py_ssize_t i; + PyObject** temps[4] = {&__pyx_t_4,&__pyx_t_1,&__pyx_t_3,&__pyx_t_7}; + for (i=0; i < 4; i++) { + PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 1065, __pyx_L104_error) + __Pyx_GOTREF(item); + *(temps[i]) = item; + } + } + #endif + } else { + Py_ssize_t index = -1; + PyObject** temps[4] = {&__pyx_t_4,&__pyx_t_1,&__pyx_t_3,&__pyx_t_7}; + __pyx_t_6 = PyObject_GetIter(__pyx_v_result); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1065, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_15 = Py_TYPE(__pyx_t_6)->tp_iternext; + for (index=0; index < 4; index++) { + PyObject* item = __pyx_t_15(__pyx_t_6); if (unlikely(!item)) goto __pyx_L122_unpacking_failed; + __Pyx_GOTREF(item); + *(temps[index]) = item; + } + if (__Pyx_IternextUnpackEndCheck(__pyx_t_15(__pyx_t_6), 4) < 0) __PYX_ERR(0, 1065, __pyx_L104_error) + __pyx_t_15 = NULL; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + goto __pyx_L123_unpacking_done; + __pyx_L122_unpacking_failed:; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_15 = NULL; + if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); + __PYX_ERR(0, 1065, __pyx_L104_error) + __pyx_L123_unpacking_done:; + } + __Pyx_DECREF_SET(__pyx_v_flag, __pyx_t_4); + __pyx_t_4 = 0; + __Pyx_DECREF_SET(__pyx_v_breakpoint, __pyx_t_1); + __pyx_t_1 = 0; + __pyx_v_new_frame = __pyx_t_3; + __pyx_t_3 = 0; + __Pyx_DECREF_SET(__pyx_v_bp_type, __pyx_t_7); + __pyx_t_7 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1063 + * elif plugin_manager is not None and main_debugger.has_plugin_line_breaks: + * result = plugin_manager.get_breakpoint(main_debugger, self, frame, event, self._args) + * if result: # <<<<<<<<<<<<<< + * exist_result = True + * flag, breakpoint, new_frame, bp_type = result + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1061 + * if step_cmd in (108, 159) and (self._is_same_frame(stop_frame, frame) and is_line): + * stop = False # we don't stop on breakpoint if we have to stop by step-over (it will be processed later) + * elif plugin_manager is not None and main_debugger.has_plugin_line_breaks: # <<<<<<<<<<<<<< + * result = plugin_manager.get_breakpoint(main_debugger, self, frame, event, self._args) + * if result: + */ + } + __pyx_L110:; + + /* "_pydevd_bundle/pydevd_cython.pyx":1067 + * flag, breakpoint, new_frame, bp_type = result + * + * if breakpoint: # <<<<<<<<<<<<<< + * # ok, hit breakpoint, now, we have to discover if it is a conditional breakpoint + * # lets do the conditional stuff here + */ + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_breakpoint); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 1067, __pyx_L104_error) + if (__pyx_t_9) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1070 + * # ok, hit breakpoint, now, we have to discover if it is a conditional breakpoint + * # lets do the conditional stuff here + * if breakpoint.expression is not None: # <<<<<<<<<<<<<< + * main_debugger.handle_breakpoint_expression(breakpoint, info, new_frame) + * if breakpoint.is_logpoint and info.pydev_message is not None and len(info.pydev_message) > 0: + */ + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_breakpoint, __pyx_n_s_expression); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1070, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = (__pyx_t_7 != Py_None); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_11 = (__pyx_t_9 != 0); + if (__pyx_t_11) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1071 + * # lets do the conditional stuff here + * if breakpoint.expression is not None: + * main_debugger.handle_breakpoint_expression(breakpoint, info, new_frame) # <<<<<<<<<<<<<< + * if breakpoint.is_logpoint and info.pydev_message is not None and len(info.pydev_message) > 0: + * cmd = main_debugger.cmd_factory.make_io_message(info.pydev_message + os.linesep, '1') + */ + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_handle_breakpoint_expression); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1071, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_3); + if (unlikely(!__pyx_v_new_frame)) { __Pyx_RaiseUnboundLocalError("new_frame"); __PYX_ERR(0, 1071, __pyx_L104_error) } + __pyx_t_1 = NULL; + __pyx_t_5 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + __pyx_t_5 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_v_breakpoint, ((PyObject *)__pyx_v_info), __pyx_v_new_frame}; + __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1071, __pyx_L104_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_7); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_v_breakpoint, ((PyObject *)__pyx_v_info), __pyx_v_new_frame}; + __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1071, __pyx_L104_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_7); + } else + #endif + { + __pyx_t_4 = PyTuple_New(3+__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1071, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_4); + if (__pyx_t_1) { + __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __pyx_t_1 = NULL; + } + __Pyx_INCREF(__pyx_v_breakpoint); + __Pyx_GIVEREF(__pyx_v_breakpoint); + PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_5, __pyx_v_breakpoint); + __Pyx_INCREF(((PyObject *)__pyx_v_info)); + __Pyx_GIVEREF(((PyObject *)__pyx_v_info)); + PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_5, ((PyObject *)__pyx_v_info)); + __Pyx_INCREF(__pyx_v_new_frame); + __Pyx_GIVEREF(__pyx_v_new_frame); + PyTuple_SET_ITEM(__pyx_t_4, 2+__pyx_t_5, __pyx_v_new_frame); + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1071, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1072 + * if breakpoint.expression is not None: + * main_debugger.handle_breakpoint_expression(breakpoint, info, new_frame) + * if breakpoint.is_logpoint and info.pydev_message is not None and len(info.pydev_message) > 0: # <<<<<<<<<<<<<< + * cmd = main_debugger.cmd_factory.make_io_message(info.pydev_message + os.linesep, '1') + * main_debugger.writer.add_command(cmd) + */ + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_breakpoint, __pyx_n_s_is_logpoint); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1072, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 1072, __pyx_L104_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (__pyx_t_9) { + } else { + __pyx_t_11 = __pyx_t_9; + goto __pyx_L127_bool_binop_done; + } + __pyx_t_9 = (__pyx_v_info->pydev_message != ((PyObject*)Py_None)); + __pyx_t_14 = (__pyx_t_9 != 0); + if (__pyx_t_14) { + } else { + __pyx_t_11 = __pyx_t_14; + goto __pyx_L127_bool_binop_done; + } + __pyx_t_7 = __pyx_v_info->pydev_message; + __Pyx_INCREF(__pyx_t_7); + __pyx_t_20 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_20 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1072, __pyx_L104_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_14 = ((__pyx_t_20 > 0) != 0); + __pyx_t_11 = __pyx_t_14; + __pyx_L127_bool_binop_done:; + if (__pyx_t_11) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1073 + * main_debugger.handle_breakpoint_expression(breakpoint, info, new_frame) + * if breakpoint.is_logpoint and info.pydev_message is not None and len(info.pydev_message) > 0: + * cmd = main_debugger.cmd_factory.make_io_message(info.pydev_message + os.linesep, '1') # <<<<<<<<<<<<<< + * main_debugger.writer.add_command(cmd) + * + */ + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_cmd_factory); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1073, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_make_io_message); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1073, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_os); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1073, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_linesep); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1073, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyNumber_Add(__pyx_v_info->pydev_message, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1073, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + __pyx_t_5 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + __pyx_t_5 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_t_3, __pyx_kp_s_1}; + __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1073, __pyx_L104_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_t_3, __pyx_kp_s_1}; + __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1073, __pyx_L104_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } else + #endif + { + __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1073, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_6); + if (__pyx_t_1) { + __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1); __pyx_t_1 = NULL; + } + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_t_3); + __Pyx_INCREF(__pyx_kp_s_1); + __Pyx_GIVEREF(__pyx_kp_s_1); + PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_kp_s_1); + __pyx_t_3 = 0; + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1073, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_v_cmd = __pyx_t_7; + __pyx_t_7 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1074 + * if breakpoint.is_logpoint and info.pydev_message is not None and len(info.pydev_message) > 0: + * cmd = main_debugger.cmd_factory.make_io_message(info.pydev_message + os.linesep, '1') + * main_debugger.writer.add_command(cmd) # <<<<<<<<<<<<<< + * + * if stop or exist_result: + */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_writer); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1074, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_add_command); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1074, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + __pyx_t_7 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_4, __pyx_v_cmd) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_cmd); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1074, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1072 + * if breakpoint.expression is not None: + * main_debugger.handle_breakpoint_expression(breakpoint, info, new_frame) + * if breakpoint.is_logpoint and info.pydev_message is not None and len(info.pydev_message) > 0: # <<<<<<<<<<<<<< + * cmd = main_debugger.cmd_factory.make_io_message(info.pydev_message + os.linesep, '1') + * main_debugger.writer.add_command(cmd) + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1070 + * # ok, hit breakpoint, now, we have to discover if it is a conditional breakpoint + * # lets do the conditional stuff here + * if breakpoint.expression is not None: # <<<<<<<<<<<<<< + * main_debugger.handle_breakpoint_expression(breakpoint, info, new_frame) + * if breakpoint.is_logpoint and info.pydev_message is not None and len(info.pydev_message) > 0: + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1076 + * main_debugger.writer.add_command(cmd) + * + * if stop or exist_result: # <<<<<<<<<<<<<< + * eval_result = False + * if breakpoint.has_condition: + */ + __pyx_t_14 = (__pyx_v_stop != 0); + if (!__pyx_t_14) { + } else { + __pyx_t_11 = __pyx_t_14; + goto __pyx_L131_bool_binop_done; + } + __pyx_t_14 = (__pyx_v_exist_result != 0); + __pyx_t_11 = __pyx_t_14; + __pyx_L131_bool_binop_done:; + if (__pyx_t_11) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1077 + * + * if stop or exist_result: + * eval_result = False # <<<<<<<<<<<<<< + * if breakpoint.has_condition: + * eval_result = main_debugger.handle_breakpoint_condition(info, breakpoint, new_frame) + */ + __Pyx_INCREF(Py_False); + __pyx_v_eval_result = Py_False; + + /* "_pydevd_bundle/pydevd_cython.pyx":1078 + * if stop or exist_result: + * eval_result = False + * if breakpoint.has_condition: # <<<<<<<<<<<<<< + * eval_result = main_debugger.handle_breakpoint_condition(info, breakpoint, new_frame) + * + */ + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_breakpoint, __pyx_n_s_has_condition); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1078, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 1078, __pyx_L104_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (__pyx_t_11) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1079 + * eval_result = False + * if breakpoint.has_condition: + * eval_result = main_debugger.handle_breakpoint_condition(info, breakpoint, new_frame) # <<<<<<<<<<<<<< + * + * if breakpoint.has_condition: + */ + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_handle_breakpoint_condition); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1079, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_6); + if (unlikely(!__pyx_v_new_frame)) { __Pyx_RaiseUnboundLocalError("new_frame"); __PYX_ERR(0, 1079, __pyx_L104_error) } + __pyx_t_4 = NULL; + __pyx_t_5 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_t_5 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_6)) { + PyObject *__pyx_temp[4] = {__pyx_t_4, ((PyObject *)__pyx_v_info), __pyx_v_breakpoint, __pyx_v_new_frame}; + __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1079, __pyx_L104_error) + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_7); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) { + PyObject *__pyx_temp[4] = {__pyx_t_4, ((PyObject *)__pyx_v_info), __pyx_v_breakpoint, __pyx_v_new_frame}; + __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1079, __pyx_L104_error) + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_7); + } else + #endif + { + __pyx_t_3 = PyTuple_New(3+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1079, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_3); + if (__pyx_t_4) { + __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __pyx_t_4 = NULL; + } + __Pyx_INCREF(((PyObject *)__pyx_v_info)); + __Pyx_GIVEREF(((PyObject *)__pyx_v_info)); + PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_5, ((PyObject *)__pyx_v_info)); + __Pyx_INCREF(__pyx_v_breakpoint); + __Pyx_GIVEREF(__pyx_v_breakpoint); + PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_5, __pyx_v_breakpoint); + __Pyx_INCREF(__pyx_v_new_frame); + __Pyx_GIVEREF(__pyx_v_new_frame); + PyTuple_SET_ITEM(__pyx_t_3, 2+__pyx_t_5, __pyx_v_new_frame); + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_3, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1079, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF_SET(__pyx_v_eval_result, __pyx_t_7); + __pyx_t_7 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1078 + * if stop or exist_result: + * eval_result = False + * if breakpoint.has_condition: # <<<<<<<<<<<<<< + * eval_result = main_debugger.handle_breakpoint_condition(info, breakpoint, new_frame) + * + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1081 + * eval_result = main_debugger.handle_breakpoint_condition(info, breakpoint, new_frame) + * + * if breakpoint.has_condition: # <<<<<<<<<<<<<< + * if not eval_result: + * stop = False + */ + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_breakpoint, __pyx_n_s_has_condition); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1081, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 1081, __pyx_L104_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (__pyx_t_11) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1082 + * + * if breakpoint.has_condition: + * if not eval_result: # <<<<<<<<<<<<<< + * stop = False + * elif breakpoint.is_logpoint: + */ + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_eval_result); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 1082, __pyx_L104_error) + __pyx_t_14 = ((!__pyx_t_11) != 0); + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1083 + * if breakpoint.has_condition: + * if not eval_result: + * stop = False # <<<<<<<<<<<<<< + * elif breakpoint.is_logpoint: + * stop = False + */ + __pyx_v_stop = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1082 + * + * if breakpoint.has_condition: + * if not eval_result: # <<<<<<<<<<<<<< + * stop = False + * elif breakpoint.is_logpoint: + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1081 + * eval_result = main_debugger.handle_breakpoint_condition(info, breakpoint, new_frame) + * + * if breakpoint.has_condition: # <<<<<<<<<<<<<< + * if not eval_result: + * stop = False + */ + goto __pyx_L134; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1084 + * if not eval_result: + * stop = False + * elif breakpoint.is_logpoint: # <<<<<<<<<<<<<< + * stop = False + * + */ + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_breakpoint, __pyx_n_s_is_logpoint); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1084, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1084, __pyx_L104_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1085 + * stop = False + * elif breakpoint.is_logpoint: + * stop = False # <<<<<<<<<<<<<< + * + * if is_call and (frame.f_code.co_name in ('', '') or (line == 1 and frame.f_code.co_name.startswith('', '') or (line == 1 and frame.f_code.co_name.startswith('. + * + * return self.trace_dispatch # <<<<<<<<<<<<<< + * + * if main_debugger.show_return_values: + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1099, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_r = __pyx_t_6; + __pyx_t_6 = 0; + goto __pyx_L108_try_return; + + /* "_pydevd_bundle/pydevd_cython.pyx":1087 + * stop = False + * + * if is_call and (frame.f_code.co_name in ('', '') or (line == 1 and frame.f_code.co_name.startswith('pydev_step_cmd) { + case 0x6C: + case 0x9F: + case 0x80: + __pyx_t_9 = 1; + break; + default: + __pyx_t_9 = 0; + break; + } + __pyx_t_11 = (__pyx_t_9 != 0); + if (!__pyx_t_11) { + goto __pyx_L147_next_or; + } else { + } + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1103, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_7 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_is_same_frame(__pyx_v_self, __pyx_v_stop_frame, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1103, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 1103, __pyx_L104_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (!__pyx_t_11) { + } else { + __pyx_t_14 = __pyx_t_11; + goto __pyx_L145_bool_binop_done; + } + __pyx_L147_next_or:; + + /* "_pydevd_bundle/pydevd_cython.pyx":1104 + * if is_return and ( + * (info.pydev_step_cmd in (108, 159, 128) and (self._is_same_frame(stop_frame, frame.f_back))) or + * (info.pydev_step_cmd in (109, 160) and (self._is_same_frame(stop_frame, frame))) or # <<<<<<<<<<<<<< + * (info.pydev_step_cmd in (107, 206)) or + * ( + */ + switch (__pyx_v_info->pydev_step_cmd) { + case 0x6D: + case 0xA0: + __pyx_t_11 = 1; + break; + default: + __pyx_t_11 = 0; + break; + } + __pyx_t_9 = (__pyx_t_11 != 0); + if (!__pyx_t_9) { + goto __pyx_L149_next_or; + } else { + } + __pyx_t_7 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_is_same_frame(__pyx_v_self, __pyx_v_stop_frame, __pyx_v_frame); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1104, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 1104, __pyx_L104_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (!__pyx_t_9) { + } else { + __pyx_t_14 = __pyx_t_9; + goto __pyx_L145_bool_binop_done; + } + __pyx_L149_next_or:; + + /* "_pydevd_bundle/pydevd_cython.pyx":1105 + * (info.pydev_step_cmd in (108, 159, 128) and (self._is_same_frame(stop_frame, frame.f_back))) or + * (info.pydev_step_cmd in (109, 160) and (self._is_same_frame(stop_frame, frame))) or + * (info.pydev_step_cmd in (107, 206)) or # <<<<<<<<<<<<<< + * ( + * info.pydev_step_cmd == 144 + */ + switch (__pyx_v_info->pydev_step_cmd) { + case 0x6B: + case 0xCE: + __pyx_t_9 = 1; + break; + default: + __pyx_t_9 = 0; + break; + } + __pyx_t_11 = (__pyx_t_9 != 0); + if (!__pyx_t_11) { + } else { + __pyx_t_14 = __pyx_t_11; + goto __pyx_L145_bool_binop_done; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1107 + * (info.pydev_step_cmd in (107, 206)) or + * ( + * info.pydev_step_cmd == 144 # <<<<<<<<<<<<<< + * and frame.f_back is not None + * and not main_debugger.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, True) + */ + __pyx_t_11 = ((__pyx_v_info->pydev_step_cmd == 0x90) != 0); + if (__pyx_t_11) { + } else { + __pyx_t_14 = __pyx_t_11; + goto __pyx_L145_bool_binop_done; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1108 + * ( + * info.pydev_step_cmd == 144 + * and frame.f_back is not None # <<<<<<<<<<<<<< + * and not main_debugger.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, True) + * ) + */ + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1108, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_11 = (__pyx_t_7 != Py_None); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_9 = (__pyx_t_11 != 0); + if (__pyx_t_9) { + } else { + __pyx_t_14 = __pyx_t_9; + goto __pyx_L145_bool_binop_done; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1109 + * info.pydev_step_cmd == 144 + * and frame.f_back is not None + * and not main_debugger.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, True) # <<<<<<<<<<<<<< + * ) + * ): + */ + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_apply_files_filter); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1109, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1109, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1109, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_f_code); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1109, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_co_filename); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1109, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + __pyx_t_5 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_t_5 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_6)) { + PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_t_3, __pyx_t_4, Py_True}; + __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1109, __pyx_L104_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) { + PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_t_3, __pyx_t_4, Py_True}; + __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1109, __pyx_L104_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } else + #endif + { + __pyx_t_8 = PyTuple_New(3+__pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1109, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_8); + if (__pyx_t_1) { + __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_1); __pyx_t_1 = NULL; + } + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_5, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_5, __pyx_t_4); + __Pyx_INCREF(Py_True); + __Pyx_GIVEREF(Py_True); + PyTuple_SET_ITEM(__pyx_t_8, 2+__pyx_t_5, Py_True); + __pyx_t_3 = 0; + __pyx_t_4 = 0; + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1109, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 1109, __pyx_L104_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_11 = ((!__pyx_t_9) != 0); + __pyx_t_14 = __pyx_t_11; + __pyx_L145_bool_binop_done:; + + /* "_pydevd_bundle/pydevd_cython.pyx":1102 + * + * if main_debugger.show_return_values: + * if is_return and ( # <<<<<<<<<<<<<< + * (info.pydev_step_cmd in (108, 159, 128) and (self._is_same_frame(stop_frame, frame.f_back))) or + * (info.pydev_step_cmd in (109, 160) and (self._is_same_frame(stop_frame, frame))) or + */ + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1112 + * ) + * ): + * self._show_return_values(frame, arg) # <<<<<<<<<<<<<< + * + * elif main_debugger.remove_return_values_flag: + */ + __pyx_t_7 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_show_return_values(__pyx_v_self, __pyx_v_frame, __pyx_v_arg); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1112, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1102 + * + * if main_debugger.show_return_values: + * if is_return and ( # <<<<<<<<<<<<<< + * (info.pydev_step_cmd in (108, 159, 128) and (self._is_same_frame(stop_frame, frame.f_back))) or + * (info.pydev_step_cmd in (109, 160) and (self._is_same_frame(stop_frame, frame))) or + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1101 + * return self.trace_dispatch + * + * if main_debugger.show_return_values: # <<<<<<<<<<<<<< + * if is_return and ( + * (info.pydev_step_cmd in (108, 159, 128) and (self._is_same_frame(stop_frame, frame.f_back))) or + */ + goto __pyx_L143; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1114 + * self._show_return_values(frame, arg) + * + * elif main_debugger.remove_return_values_flag: # <<<<<<<<<<<<<< + * try: + * self._remove_return_values(main_debugger, frame) + */ + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_remove_return_values_flag); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1114, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1114, __pyx_L104_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1115 + * + * elif main_debugger.remove_return_values_flag: + * try: # <<<<<<<<<<<<<< + * self._remove_return_values(main_debugger, frame) + * finally: + */ + /*try:*/ { + + /* "_pydevd_bundle/pydevd_cython.pyx":1116 + * elif main_debugger.remove_return_values_flag: + * try: + * self._remove_return_values(main_debugger, frame) # <<<<<<<<<<<<<< + * finally: + * main_debugger.remove_return_values_flag = False + */ + __pyx_t_7 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_remove_return_values(__pyx_v_self, __pyx_v_main_debugger, __pyx_v_frame); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1116, __pyx_L155_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1118 + * self._remove_return_values(main_debugger, frame) + * finally: + * main_debugger.remove_return_values_flag = False # <<<<<<<<<<<<<< + * + * if stop: + */ + /*finally:*/ { + /*normal exit:*/{ + if (__Pyx_PyObject_SetAttrStr(__pyx_v_main_debugger, __pyx_n_s_remove_return_values_flag, Py_False) < 0) __PYX_ERR(0, 1118, __pyx_L104_error) + goto __pyx_L156; + } + __pyx_L155_error:; + /*exception exit:*/{ + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __pyx_t_23 = 0; __pyx_t_24 = 0; __pyx_t_25 = 0; __pyx_t_26 = 0; __pyx_t_27 = 0; __pyx_t_28 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_26, &__pyx_t_27, &__pyx_t_28); + if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_23, &__pyx_t_24, &__pyx_t_25) < 0)) __Pyx_ErrFetch(&__pyx_t_23, &__pyx_t_24, &__pyx_t_25); + __Pyx_XGOTREF(__pyx_t_23); + __Pyx_XGOTREF(__pyx_t_24); + __Pyx_XGOTREF(__pyx_t_25); + __Pyx_XGOTREF(__pyx_t_26); + __Pyx_XGOTREF(__pyx_t_27); + __Pyx_XGOTREF(__pyx_t_28); + __pyx_t_5 = __pyx_lineno; __pyx_t_10 = __pyx_clineno; __pyx_t_22 = __pyx_filename; + { + if (__Pyx_PyObject_SetAttrStr(__pyx_v_main_debugger, __pyx_n_s_remove_return_values_flag, Py_False) < 0) __PYX_ERR(0, 1118, __pyx_L158_error) + } + if (PY_MAJOR_VERSION >= 3) { + __Pyx_XGIVEREF(__pyx_t_26); + __Pyx_XGIVEREF(__pyx_t_27); + __Pyx_XGIVEREF(__pyx_t_28); + __Pyx_ExceptionReset(__pyx_t_26, __pyx_t_27, __pyx_t_28); + } + __Pyx_XGIVEREF(__pyx_t_23); + __Pyx_XGIVEREF(__pyx_t_24); + __Pyx_XGIVEREF(__pyx_t_25); + __Pyx_ErrRestore(__pyx_t_23, __pyx_t_24, __pyx_t_25); + __pyx_t_23 = 0; __pyx_t_24 = 0; __pyx_t_25 = 0; __pyx_t_26 = 0; __pyx_t_27 = 0; __pyx_t_28 = 0; + __pyx_lineno = __pyx_t_5; __pyx_clineno = __pyx_t_10; __pyx_filename = __pyx_t_22; + goto __pyx_L104_error; + __pyx_L158_error:; + if (PY_MAJOR_VERSION >= 3) { + __Pyx_XGIVEREF(__pyx_t_26); + __Pyx_XGIVEREF(__pyx_t_27); + __Pyx_XGIVEREF(__pyx_t_28); + __Pyx_ExceptionReset(__pyx_t_26, __pyx_t_27, __pyx_t_28); + } + __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; + __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; + __Pyx_XDECREF(__pyx_t_25); __pyx_t_25 = 0; + __pyx_t_26 = 0; __pyx_t_27 = 0; __pyx_t_28 = 0; + goto __pyx_L104_error; + } + __pyx_L156:; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1114 + * self._show_return_values(frame, arg) + * + * elif main_debugger.remove_return_values_flag: # <<<<<<<<<<<<<< + * try: + * self._remove_return_values(main_debugger, frame) + */ + } + __pyx_L143:; + + /* "_pydevd_bundle/pydevd_cython.pyx":1120 + * main_debugger.remove_return_values_flag = False + * + * if stop: # <<<<<<<<<<<<<< + * self.set_suspend( + * thread, + */ + __pyx_t_14 = (__pyx_v_stop != 0); + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1121 + * + * if stop: + * self.set_suspend( # <<<<<<<<<<<<<< + * thread, + * stop_reason, + */ + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_suspend); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1121, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_7); + + /* "_pydevd_bundle/pydevd_cython.pyx":1123 + * self.set_suspend( + * thread, + * stop_reason, # <<<<<<<<<<<<<< + * suspend_other_threads=breakpoint and breakpoint.suspend_policy == "ALL", + * ) + */ + __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1121, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_INCREF(__pyx_v_thread); + __Pyx_GIVEREF(__pyx_v_thread); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_thread); + __Pyx_INCREF(__pyx_v_stop_reason); + __Pyx_GIVEREF(__pyx_v_stop_reason); + PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_v_stop_reason); + + /* "_pydevd_bundle/pydevd_cython.pyx":1124 + * thread, + * stop_reason, + * suspend_other_threads=breakpoint and breakpoint.suspend_policy == "ALL", # <<<<<<<<<<<<<< + * ) + * + */ + __pyx_t_8 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1124, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_v_breakpoint); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1124, __pyx_L104_error) + if (__pyx_t_14) { + } else { + __Pyx_INCREF(__pyx_v_breakpoint); + __pyx_t_4 = __pyx_v_breakpoint; + goto __pyx_L160_bool_binop_done; + } + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_breakpoint, __pyx_n_s_suspend_policy); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1124, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = PyObject_RichCompare(__pyx_t_3, __pyx_n_s_ALL, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1124, __pyx_L104_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_INCREF(__pyx_t_1); + __pyx_t_4 = __pyx_t_1; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_L160_bool_binop_done:; + if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_suspend_other_threads, __pyx_t_4) < 0) __PYX_ERR(0, 1124, __pyx_L104_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1121 + * + * if stop: + * self.set_suspend( # <<<<<<<<<<<<<< + * thread, + * stop_reason, + */ + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_6, __pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1121, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1120 + * main_debugger.remove_return_values_flag = False + * + * if stop: # <<<<<<<<<<<<<< + * self.set_suspend( + * thread, + */ + goto __pyx_L159; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1127 + * ) + * + * elif flag and plugin_manager is not None: # <<<<<<<<<<<<<< + * result = plugin_manager.suspend(main_debugger, thread, frame, bp_type) + * if result: + */ + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_flag); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 1127, __pyx_L104_error) + if (__pyx_t_11) { + } else { + __pyx_t_14 = __pyx_t_11; + goto __pyx_L162_bool_binop_done; + } + __pyx_t_11 = (__pyx_v_plugin_manager != Py_None); + __pyx_t_9 = (__pyx_t_11 != 0); + __pyx_t_14 = __pyx_t_9; + __pyx_L162_bool_binop_done:; + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1128 + * + * elif flag and plugin_manager is not None: + * result = plugin_manager.suspend(main_debugger, thread, frame, bp_type) # <<<<<<<<<<<<<< + * if result: + * frame = result + */ + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_plugin_manager, __pyx_n_s_suspend); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1128, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_6 = NULL; + __pyx_t_10 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_8); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_8, function); + __pyx_t_10 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_8)) { + PyObject *__pyx_temp[5] = {__pyx_t_6, __pyx_v_main_debugger, __pyx_v_thread, __pyx_v_frame, __pyx_v_bp_type}; + __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_10, 4+__pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1128, __pyx_L104_error) + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_4); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) { + PyObject *__pyx_temp[5] = {__pyx_t_6, __pyx_v_main_debugger, __pyx_v_thread, __pyx_v_frame, __pyx_v_bp_type}; + __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_10, 4+__pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1128, __pyx_L104_error) + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_4); + } else + #endif + { + __pyx_t_7 = PyTuple_New(4+__pyx_t_10); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1128, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_7); + if (__pyx_t_6) { + __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL; + } + __Pyx_INCREF(__pyx_v_main_debugger); + __Pyx_GIVEREF(__pyx_v_main_debugger); + PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_10, __pyx_v_main_debugger); + __Pyx_INCREF(__pyx_v_thread); + __Pyx_GIVEREF(__pyx_v_thread); + PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_10, __pyx_v_thread); + __Pyx_INCREF(__pyx_v_frame); + __Pyx_GIVEREF(__pyx_v_frame); + PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_10, __pyx_v_frame); + __Pyx_INCREF(__pyx_v_bp_type); + __Pyx_GIVEREF(__pyx_v_bp_type); + PyTuple_SET_ITEM(__pyx_t_7, 3+__pyx_t_10, __pyx_v_bp_type); + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_7, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1128, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF_SET(__pyx_v_result, __pyx_t_4); + __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1129 + * elif flag and plugin_manager is not None: + * result = plugin_manager.suspend(main_debugger, thread, frame, bp_type) + * if result: # <<<<<<<<<<<<<< + * frame = result + * + */ + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_v_result); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1129, __pyx_L104_error) + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1130 + * result = plugin_manager.suspend(main_debugger, thread, frame, bp_type) + * if result: + * frame = result # <<<<<<<<<<<<<< + * + * # if thread has a suspend flag, we suspend with a busy wait + */ + __Pyx_INCREF(__pyx_v_result); + __Pyx_DECREF_SET(__pyx_v_frame, __pyx_v_result); + + /* "_pydevd_bundle/pydevd_cython.pyx":1129 + * elif flag and plugin_manager is not None: + * result = plugin_manager.suspend(main_debugger, thread, frame, bp_type) + * if result: # <<<<<<<<<<<<<< + * frame = result + * + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1127 + * ) + * + * elif flag and plugin_manager is not None: # <<<<<<<<<<<<<< + * result = plugin_manager.suspend(main_debugger, thread, frame, bp_type) + * if result: + */ + } + __pyx_L159:; + + /* "_pydevd_bundle/pydevd_cython.pyx":1133 + * + * # if thread has a suspend flag, we suspend with a busy wait + * if info.pydev_state == 2: # <<<<<<<<<<<<<< + * self.do_wait_suspend(thread, frame, event, arg) + * return self.trace_dispatch + */ + __pyx_t_14 = ((__pyx_v_info->pydev_state == 2) != 0); + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1134 + * # if thread has a suspend flag, we suspend with a busy wait + * if info.pydev_state == 2: + * self.do_wait_suspend(thread, frame, event, arg) # <<<<<<<<<<<<<< + * return self.trace_dispatch + * else: + */ + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_do_wait_suspend); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1134, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_7 = NULL; + __pyx_t_10 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_8); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_8, function); + __pyx_t_10 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_8)) { + PyObject *__pyx_temp[5] = {__pyx_t_7, __pyx_v_thread, __pyx_v_frame, __pyx_v_event, __pyx_v_arg}; + __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_10, 4+__pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1134, __pyx_L104_error) + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_4); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) { + PyObject *__pyx_temp[5] = {__pyx_t_7, __pyx_v_thread, __pyx_v_frame, __pyx_v_event, __pyx_v_arg}; + __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_10, 4+__pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1134, __pyx_L104_error) + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_4); + } else + #endif + { + __pyx_t_6 = PyTuple_New(4+__pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1134, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_6); + if (__pyx_t_7) { + __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_7); __pyx_t_7 = NULL; + } + __Pyx_INCREF(__pyx_v_thread); + __Pyx_GIVEREF(__pyx_v_thread); + PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_10, __pyx_v_thread); + __Pyx_INCREF(__pyx_v_frame); + __Pyx_GIVEREF(__pyx_v_frame); + PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_10, __pyx_v_frame); + __Pyx_INCREF(__pyx_v_event); + __Pyx_GIVEREF(__pyx_v_event); + PyTuple_SET_ITEM(__pyx_t_6, 2+__pyx_t_10, __pyx_v_event); + __Pyx_INCREF(__pyx_v_arg); + __Pyx_GIVEREF(__pyx_v_arg); + PyTuple_SET_ITEM(__pyx_t_6, 3+__pyx_t_10, __pyx_v_arg); + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_6, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1134, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1135 + * if info.pydev_state == 2: + * self.do_wait_suspend(thread, frame, event, arg) + * return self.trace_dispatch # <<<<<<<<<<<<<< + * else: + * if not breakpoint and is_line: + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1135, __pyx_L104_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; + goto __pyx_L108_try_return; + + /* "_pydevd_bundle/pydevd_cython.pyx":1133 + * + * # if thread has a suspend flag, we suspend with a busy wait + * if info.pydev_state == 2: # <<<<<<<<<<<<<< + * self.do_wait_suspend(thread, frame, event, arg) + * return self.trace_dispatch + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1137 + * return self.trace_dispatch + * else: + * if not breakpoint and is_line: # <<<<<<<<<<<<<< + * # No stop from anyone and no breakpoint found in line (cache that). + * frame_skips_cache[line_cache_key] = 0 + */ + /*else*/ { + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_breakpoint); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 1137, __pyx_L104_error) + __pyx_t_11 = ((!__pyx_t_9) != 0); + if (__pyx_t_11) { + } else { + __pyx_t_14 = __pyx_t_11; + goto __pyx_L167_bool_binop_done; + } + __pyx_t_11 = (__pyx_v_is_line != 0); + __pyx_t_14 = __pyx_t_11; + __pyx_L167_bool_binop_done:; + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1139 + * if not breakpoint and is_line: + * # No stop from anyone and no breakpoint found in line (cache that). + * frame_skips_cache[line_cache_key] = 0 # <<<<<<<<<<<<<< + * + * except: + */ + if (unlikely(__pyx_v_frame_skips_cache == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 1139, __pyx_L104_error) + } + if (unlikely(PyDict_SetItem(__pyx_v_frame_skips_cache, __pyx_v_line_cache_key, __pyx_int_0) < 0)) __PYX_ERR(0, 1139, __pyx_L104_error) + + /* "_pydevd_bundle/pydevd_cython.pyx":1137 + * return self.trace_dispatch + * else: + * if not breakpoint and is_line: # <<<<<<<<<<<<<< + * # No stop from anyone and no breakpoint found in line (cache that). + * frame_skips_cache[line_cache_key] = 0 + */ + } + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1037 + * # if DEBUG: print('NOT skipped: %s %s %s %s' % (frame.f_lineno, frame.f_code.co_name, event, frame.__class__.__name__)) + * + * try: # <<<<<<<<<<<<<< + * flag = False + * # return is not taken into account for breakpoint hit because we'd have a double-hit in this case + */ + } + __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; + __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; + __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; + goto __pyx_L109_try_end; + __pyx_L104_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1141 + * frame_skips_cache[line_cache_key] = 0 + * + * except: # <<<<<<<<<<<<<< + * pydev_log.exception() + * raise + */ + /*except:*/ { + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame.trace_dispatch", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_8, &__pyx_t_6) < 0) __PYX_ERR(0, 1141, __pyx_L106_except_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GOTREF(__pyx_t_8); + __Pyx_GOTREF(__pyx_t_6); + + /* "_pydevd_bundle/pydevd_cython.pyx":1142 + * + * except: + * pydev_log.exception() # <<<<<<<<<<<<<< + * raise + * + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pydev_log); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1142, __pyx_L106_except_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_exception); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1142, __pyx_L106_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_7 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1142, __pyx_L106_except_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1143 + * except: + * pydev_log.exception() + * raise # <<<<<<<<<<<<<< + * + * # step handling. We stop when we hit the right frame + */ + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_GIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_ErrRestoreWithState(__pyx_t_4, __pyx_t_8, __pyx_t_6); + __pyx_t_4 = 0; __pyx_t_8 = 0; __pyx_t_6 = 0; + __PYX_ERR(0, 1143, __pyx_L106_except_error) + } + __pyx_L106_except_error:; + + /* "_pydevd_bundle/pydevd_cython.pyx":1037 + * # if DEBUG: print('NOT skipped: %s %s %s %s' % (frame.f_lineno, frame.f_code.co_name, event, frame.__class__.__name__)) + * + * try: # <<<<<<<<<<<<<< + * flag = False + * # return is not taken into account for breakpoint hit because we'd have a double-hit in this case + */ + __Pyx_XGIVEREF(__pyx_t_18); + __Pyx_XGIVEREF(__pyx_t_17); + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_ExceptionReset(__pyx_t_18, __pyx_t_17, __pyx_t_16); + goto __pyx_L4_error; + __pyx_L108_try_return:; + __Pyx_XGIVEREF(__pyx_t_18); + __Pyx_XGIVEREF(__pyx_t_17); + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_ExceptionReset(__pyx_t_18, __pyx_t_17, __pyx_t_16); + goto __pyx_L3_return; + __pyx_L109_try_end:; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1146 + * + * # step handling. We stop when we hit the right frame + * try: # <<<<<<<<<<<<<< + * should_skip = 0 + * if pydevd_dont_trace.should_trace_hook is not None: + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_16, &__pyx_t_17, &__pyx_t_18); + __Pyx_XGOTREF(__pyx_t_16); + __Pyx_XGOTREF(__pyx_t_17); + __Pyx_XGOTREF(__pyx_t_18); + /*try:*/ { + + /* "_pydevd_bundle/pydevd_cython.pyx":1147 + * # step handling. We stop when we hit the right frame + * try: + * should_skip = 0 # <<<<<<<<<<<<<< + * if pydevd_dont_trace.should_trace_hook is not None: + * if self.should_skip == -1: + */ + __pyx_v_should_skip = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1148 + * try: + * should_skip = 0 + * if pydevd_dont_trace.should_trace_hook is not None: # <<<<<<<<<<<<<< + * if self.should_skip == -1: + * # I.e.: cache the result on self.should_skip (no need to evaluate the same frame multiple times). + */ + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_pydevd_dont_trace); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1148, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_should_trace_hook); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1148, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_14 = (__pyx_t_8 != Py_None); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_11 = (__pyx_t_14 != 0); + if (__pyx_t_11) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1149 + * should_skip = 0 + * if pydevd_dont_trace.should_trace_hook is not None: + * if self.should_skip == -1: # <<<<<<<<<<<<<< + * # I.e.: cache the result on self.should_skip (no need to evaluate the same frame multiple times). + * # Note that on a code reload, we won't re-evaluate this because in practice, the frame.f_code + */ + __pyx_t_11 = ((__pyx_v_self->should_skip == -1L) != 0); + if (__pyx_t_11) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1153 + * # Note that on a code reload, we won't re-evaluate this because in practice, the frame.f_code + * # Which will be handled by this frame is read-only, so, we can cache it safely. + * if not pydevd_dont_trace.should_trace_hook(frame, abs_path_canonical_path_and_base[0]): # <<<<<<<<<<<<<< + * # -1, 0, 1 to be Cython-friendly + * should_skip = self.should_skip = 1 + */ + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_pydevd_dont_trace); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1153, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_should_trace_hook); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1153, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(__pyx_v_abs_path_canonical_path_and_base == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 1153, __pyx_L171_error) + } + __pyx_t_6 = __Pyx_GetItemInt_Tuple(__pyx_v_abs_path_canonical_path_and_base, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1153, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_7 = NULL; + __pyx_t_10 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + __pyx_t_10 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_v_frame, __pyx_t_6}; + __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1153, __pyx_L171_error) + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_v_frame, __pyx_t_6}; + __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1153, __pyx_L171_error) + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } else + #endif + { + __pyx_t_3 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1153, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_3); + if (__pyx_t_7) { + __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_7); __pyx_t_7 = NULL; + } + __Pyx_INCREF(__pyx_v_frame); + __Pyx_GIVEREF(__pyx_v_frame); + PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_10, __pyx_v_frame); + __Pyx_GIVEREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_10, __pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_3, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1153, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 1153, __pyx_L171_error) + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_14 = ((!__pyx_t_11) != 0); + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1155 + * if not pydevd_dont_trace.should_trace_hook(frame, abs_path_canonical_path_and_base[0]): + * # -1, 0, 1 to be Cython-friendly + * should_skip = self.should_skip = 1 # <<<<<<<<<<<<<< + * else: + * should_skip = self.should_skip = 0 + */ + __pyx_v_should_skip = 1; + __pyx_v_self->should_skip = 1; + + /* "_pydevd_bundle/pydevd_cython.pyx":1153 + * # Note that on a code reload, we won't re-evaluate this because in practice, the frame.f_code + * # Which will be handled by this frame is read-only, so, we can cache it safely. + * if not pydevd_dont_trace.should_trace_hook(frame, abs_path_canonical_path_and_base[0]): # <<<<<<<<<<<<<< + * # -1, 0, 1 to be Cython-friendly + * should_skip = self.should_skip = 1 + */ + goto __pyx_L179; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1157 + * should_skip = self.should_skip = 1 + * else: + * should_skip = self.should_skip = 0 # <<<<<<<<<<<<<< + * else: + * should_skip = self.should_skip + */ + /*else*/ { + __pyx_v_should_skip = 0; + __pyx_v_self->should_skip = 0; + } + __pyx_L179:; + + /* "_pydevd_bundle/pydevd_cython.pyx":1149 + * should_skip = 0 + * if pydevd_dont_trace.should_trace_hook is not None: + * if self.should_skip == -1: # <<<<<<<<<<<<<< + * # I.e.: cache the result on self.should_skip (no need to evaluate the same frame multiple times). + * # Note that on a code reload, we won't re-evaluate this because in practice, the frame.f_code + */ + goto __pyx_L178; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1159 + * should_skip = self.should_skip = 0 + * else: + * should_skip = self.should_skip # <<<<<<<<<<<<<< + * + * plugin_stop = False + */ + /*else*/ { + __pyx_t_10 = __pyx_v_self->should_skip; + __pyx_v_should_skip = __pyx_t_10; + } + __pyx_L178:; + + /* "_pydevd_bundle/pydevd_cython.pyx":1148 + * try: + * should_skip = 0 + * if pydevd_dont_trace.should_trace_hook is not None: # <<<<<<<<<<<<<< + * if self.should_skip == -1: + * # I.e.: cache the result on self.should_skip (no need to evaluate the same frame multiple times). + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1161 + * should_skip = self.should_skip + * + * plugin_stop = False # <<<<<<<<<<<<<< + * if should_skip: + * stop = False + */ + __Pyx_INCREF(Py_False); + __pyx_v_plugin_stop = Py_False; + + /* "_pydevd_bundle/pydevd_cython.pyx":1162 + * + * plugin_stop = False + * if should_skip: # <<<<<<<<<<<<<< + * stop = False + * + */ + __pyx_t_14 = (__pyx_v_should_skip != 0); + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1163 + * plugin_stop = False + * if should_skip: + * stop = False # <<<<<<<<<<<<<< + * + * elif step_cmd in (107, 144, 206): + */ + __pyx_v_stop = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1162 + * + * plugin_stop = False + * if should_skip: # <<<<<<<<<<<<<< + * stop = False + * + */ + goto __pyx_L180; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1165 + * stop = False + * + * elif step_cmd in (107, 144, 206): # <<<<<<<<<<<<<< + * force_check_project_scope = step_cmd == 144 + * if is_line: + */ + switch (__pyx_v_step_cmd) { + case 0x6B: + case 0x90: + case 0xCE: + __pyx_t_14 = 1; + break; + default: + __pyx_t_14 = 0; + break; + } + __pyx_t_11 = (__pyx_t_14 != 0); + if (__pyx_t_11) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1166 + * + * elif step_cmd in (107, 144, 206): + * force_check_project_scope = step_cmd == 144 # <<<<<<<<<<<<<< + * if is_line: + * if not info.pydev_use_scoped_step_frame: + */ + __pyx_t_8 = __Pyx_PyBool_FromLong((__pyx_v_step_cmd == 0x90)); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1166, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_v_force_check_project_scope = __pyx_t_8; + __pyx_t_8 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1167 + * elif step_cmd in (107, 144, 206): + * force_check_project_scope = step_cmd == 144 + * if is_line: # <<<<<<<<<<<<<< + * if not info.pydev_use_scoped_step_frame: + * if force_check_project_scope or main_debugger.is_files_filter_enabled: + */ + __pyx_t_11 = (__pyx_v_is_line != 0); + if (__pyx_t_11) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1168 + * force_check_project_scope = step_cmd == 144 + * if is_line: + * if not info.pydev_use_scoped_step_frame: # <<<<<<<<<<<<<< + * if force_check_project_scope or main_debugger.is_files_filter_enabled: + * stop = not main_debugger.apply_files_filter(frame, frame.f_code.co_filename, force_check_project_scope) + */ + __pyx_t_11 = ((!(__pyx_v_info->pydev_use_scoped_step_frame != 0)) != 0); + if (__pyx_t_11) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1169 + * if is_line: + * if not info.pydev_use_scoped_step_frame: + * if force_check_project_scope or main_debugger.is_files_filter_enabled: # <<<<<<<<<<<<<< + * stop = not main_debugger.apply_files_filter(frame, frame.f_code.co_filename, force_check_project_scope) + * else: + */ + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_v_force_check_project_scope); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1169, __pyx_L171_error) + if (!__pyx_t_14) { + } else { + __pyx_t_11 = __pyx_t_14; + goto __pyx_L184_bool_binop_done; + } + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_is_files_filter_enabled); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1169, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1169, __pyx_L171_error) + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_11 = __pyx_t_14; + __pyx_L184_bool_binop_done:; + if (__pyx_t_11) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1170 + * if not info.pydev_use_scoped_step_frame: + * if force_check_project_scope or main_debugger.is_files_filter_enabled: + * stop = not main_debugger.apply_files_filter(frame, frame.f_code.co_filename, force_check_project_scope) # <<<<<<<<<<<<<< + * else: + * stop = True + */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_apply_files_filter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1170, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1170, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_co_filename); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1170, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + __pyx_t_10 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + __pyx_t_10 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_v_frame, __pyx_t_6, __pyx_v_force_check_project_scope}; + __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_10, 3+__pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1170, __pyx_L171_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_v_frame, __pyx_t_6, __pyx_v_force_check_project_scope}; + __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_10, 3+__pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1170, __pyx_L171_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } else + #endif + { + __pyx_t_7 = PyTuple_New(3+__pyx_t_10); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1170, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_7); + if (__pyx_t_3) { + __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_3); __pyx_t_3 = NULL; + } + __Pyx_INCREF(__pyx_v_frame); + __Pyx_GIVEREF(__pyx_v_frame); + PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_10, __pyx_v_frame); + __Pyx_GIVEREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_10, __pyx_t_6); + __Pyx_INCREF(__pyx_v_force_check_project_scope); + __Pyx_GIVEREF(__pyx_v_force_check_project_scope); + PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_10, __pyx_v_force_check_project_scope); + __pyx_t_6 = 0; + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1170, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 1170, __pyx_L171_error) + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_v_stop = (!__pyx_t_11); + + /* "_pydevd_bundle/pydevd_cython.pyx":1169 + * if is_line: + * if not info.pydev_use_scoped_step_frame: + * if force_check_project_scope or main_debugger.is_files_filter_enabled: # <<<<<<<<<<<<<< + * stop = not main_debugger.apply_files_filter(frame, frame.f_code.co_filename, force_check_project_scope) + * else: + */ + goto __pyx_L183; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1172 + * stop = not main_debugger.apply_files_filter(frame, frame.f_code.co_filename, force_check_project_scope) + * else: + * stop = True # <<<<<<<<<<<<<< + * else: + * # We can only stop inside the ipython call. + */ + /*else*/ { + __pyx_v_stop = 1; + } + __pyx_L183:; + + /* "_pydevd_bundle/pydevd_cython.pyx":1168 + * force_check_project_scope = step_cmd == 144 + * if is_line: + * if not info.pydev_use_scoped_step_frame: # <<<<<<<<<<<<<< + * if force_check_project_scope or main_debugger.is_files_filter_enabled: + * stop = not main_debugger.apply_files_filter(frame, frame.f_code.co_filename, force_check_project_scope) + */ + goto __pyx_L182; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1175 + * else: + * # We can only stop inside the ipython call. + * filename = frame.f_code.co_filename # <<<<<<<<<<<<<< + * if filename.endswith('.pyc'): + * filename = filename[:-1] + */ + /*else*/ { + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1175, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_co_filename); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1175, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_v_filename = __pyx_t_4; + __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1176 + * # We can only stop inside the ipython call. + * filename = frame.f_code.co_filename + * if filename.endswith('.pyc'): # <<<<<<<<<<<<<< + * filename = filename[:-1] + * + */ + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_filename, __pyx_n_s_endswith); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1176, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_7 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_8); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_8, function); + } + } + __pyx_t_4 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_7, __pyx_kp_s_pyc) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_kp_s_pyc); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1176, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 1176, __pyx_L171_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_11) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1177 + * filename = frame.f_code.co_filename + * if filename.endswith('.pyc'): + * filename = filename[:-1] # <<<<<<<<<<<<<< + * + * if not filename.endswith(PYDEVD_IPYTHON_CONTEXT[0]): + */ + __pyx_t_4 = __Pyx_PyObject_GetSlice(__pyx_v_filename, 0, -1L, NULL, NULL, &__pyx_slice__4, 0, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1177, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF_SET(__pyx_v_filename, __pyx_t_4); + __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1176 + * # We can only stop inside the ipython call. + * filename = frame.f_code.co_filename + * if filename.endswith('.pyc'): # <<<<<<<<<<<<<< + * filename = filename[:-1] + * + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1179 + * filename = filename[:-1] + * + * if not filename.endswith(PYDEVD_IPYTHON_CONTEXT[0]): # <<<<<<<<<<<<<< + * f = frame.f_back + * while f is not None: + */ + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_filename, __pyx_n_s_endswith); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1179, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_PYDEVD_IPYTHON_CONTEXT); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1179, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_6 = __Pyx_GetItemInt(__pyx_t_7, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1179, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_8); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_8, function); + } + } + __pyx_t_4 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_7, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1179, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 1179, __pyx_L171_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_14 = ((!__pyx_t_11) != 0); + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1180 + * + * if not filename.endswith(PYDEVD_IPYTHON_CONTEXT[0]): + * f = frame.f_back # <<<<<<<<<<<<<< + * while f is not None: + * if f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: + */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1180, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_4); + __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1181 + * if not filename.endswith(PYDEVD_IPYTHON_CONTEXT[0]): + * f = frame.f_back + * while f is not None: # <<<<<<<<<<<<<< + * if f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: + * f2 = f.f_back + */ + while (1) { + __pyx_t_14 = (__pyx_v_f != Py_None); + __pyx_t_11 = (__pyx_t_14 != 0); + if (!__pyx_t_11) break; + + /* "_pydevd_bundle/pydevd_cython.pyx":1182 + * f = frame.f_back + * while f is not None: + * if f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: # <<<<<<<<<<<<<< + * f2 = f.f_back + * if f2 is not None and f2.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[2]: + */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_f_code); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1182, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_co_name); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1182, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_PYDEVD_IPYTHON_CONTEXT); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1182, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = __Pyx_GetItemInt(__pyx_t_4, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1182, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = PyObject_RichCompare(__pyx_t_8, __pyx_t_6, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1182, __pyx_L171_error) + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 1182, __pyx_L171_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_11) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1183 + * while f is not None: + * if f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: + * f2 = f.f_back # <<<<<<<<<<<<<< + * if f2 is not None and f2.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[2]: + * pydev_log.debug('Stop inside ipython call') + */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_f_back); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1183, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_XDECREF_SET(__pyx_v_f2, __pyx_t_4); + __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1184 + * if f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: + * f2 = f.f_back + * if f2 is not None and f2.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[2]: # <<<<<<<<<<<<<< + * pydev_log.debug('Stop inside ipython call') + * stop = True + */ + __pyx_t_14 = (__pyx_v_f2 != Py_None); + __pyx_t_9 = (__pyx_t_14 != 0); + if (__pyx_t_9) { + } else { + __pyx_t_11 = __pyx_t_9; + goto __pyx_L192_bool_binop_done; + } + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f2, __pyx_n_s_f_code); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1184, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_co_name); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1184, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_PYDEVD_IPYTHON_CONTEXT); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1184, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_8 = __Pyx_GetItemInt(__pyx_t_4, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1184, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = PyObject_RichCompare(__pyx_t_6, __pyx_t_8, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1184, __pyx_L171_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 1184, __pyx_L171_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_11 = __pyx_t_9; + __pyx_L192_bool_binop_done:; + if (__pyx_t_11) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1185 + * f2 = f.f_back + * if f2 is not None and f2.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[2]: + * pydev_log.debug('Stop inside ipython call') # <<<<<<<<<<<<<< + * stop = True + * break + */ + __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_pydev_log); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1185, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_debug); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1185, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + __pyx_t_4 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_8, __pyx_kp_s_Stop_inside_ipython_call) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_kp_s_Stop_inside_ipython_call); + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1185, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1186 + * if f2 is not None and f2.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[2]: + * pydev_log.debug('Stop inside ipython call') + * stop = True # <<<<<<<<<<<<<< + * break + * f = f.f_back + */ + __pyx_v_stop = 1; + + /* "_pydevd_bundle/pydevd_cython.pyx":1187 + * pydev_log.debug('Stop inside ipython call') + * stop = True + * break # <<<<<<<<<<<<<< + * f = f.f_back + * + */ + goto __pyx_L189_break; + + /* "_pydevd_bundle/pydevd_cython.pyx":1184 + * if f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: + * f2 = f.f_back + * if f2 is not None and f2.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[2]: # <<<<<<<<<<<<<< + * pydev_log.debug('Stop inside ipython call') + * stop = True + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1182 + * f = frame.f_back + * while f is not None: + * if f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: # <<<<<<<<<<<<<< + * f2 = f.f_back + * if f2 is not None and f2.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[2]: + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1188 + * stop = True + * break + * f = f.f_back # <<<<<<<<<<<<<< + * + * del f + */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_f_back); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1188, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_4); + __pyx_t_4 = 0; + } + __pyx_L189_break:; + + /* "_pydevd_bundle/pydevd_cython.pyx":1190 + * f = f.f_back + * + * del f # <<<<<<<<<<<<<< + * + * if not stop: + */ + __Pyx_DECREF(__pyx_v_f); + __pyx_v_f = NULL; + + /* "_pydevd_bundle/pydevd_cython.pyx":1179 + * filename = filename[:-1] + * + * if not filename.endswith(PYDEVD_IPYTHON_CONTEXT[0]): # <<<<<<<<<<<<<< + * f = frame.f_back + * while f is not None: + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1192 + * del f + * + * if not stop: # <<<<<<<<<<<<<< + * # In scoped mode if step in didn't work in this context it won't work + * # afterwards anyways. + */ + __pyx_t_11 = ((!(__pyx_v_stop != 0)) != 0); + if (__pyx_t_11) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1195 + * # In scoped mode if step in didn't work in this context it won't work + * # afterwards anyways. + * return None if is_call else NO_FTRACE # <<<<<<<<<<<<<< + * + * elif is_return and frame.f_back is not None and not info.pydev_use_scoped_step_frame: + */ + __Pyx_XDECREF(__pyx_r); + if ((__pyx_v_is_call != 0)) { + __Pyx_INCREF(Py_None); + __pyx_t_4 = Py_None; + } else { + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1195, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_4 = __pyx_t_6; + __pyx_t_6 = 0; + } + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; + goto __pyx_L175_try_return; + + /* "_pydevd_bundle/pydevd_cython.pyx":1192 + * del f + * + * if not stop: # <<<<<<<<<<<<<< + * # In scoped mode if step in didn't work in this context it won't work + * # afterwards anyways. + */ + } + } + __pyx_L182:; + + /* "_pydevd_bundle/pydevd_cython.pyx":1167 + * elif step_cmd in (107, 144, 206): + * force_check_project_scope = step_cmd == 144 + * if is_line: # <<<<<<<<<<<<<< + * if not info.pydev_use_scoped_step_frame: + * if force_check_project_scope or main_debugger.is_files_filter_enabled: + */ + goto __pyx_L181; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1197 + * return None if is_call else NO_FTRACE + * + * elif is_return and frame.f_back is not None and not info.pydev_use_scoped_step_frame: # <<<<<<<<<<<<<< + * if main_debugger.get_file_type(frame.f_back) == main_debugger.PYDEV_FILE: + * stop = False + */ + __pyx_t_9 = (__pyx_v_is_return != 0); + if (__pyx_t_9) { + } else { + __pyx_t_11 = __pyx_t_9; + goto __pyx_L195_bool_binop_done; + } + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1197, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_9 = (__pyx_t_4 != Py_None); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_14 = (__pyx_t_9 != 0); + if (__pyx_t_14) { + } else { + __pyx_t_11 = __pyx_t_14; + goto __pyx_L195_bool_binop_done; + } + __pyx_t_14 = ((!(__pyx_v_info->pydev_use_scoped_step_frame != 0)) != 0); + __pyx_t_11 = __pyx_t_14; + __pyx_L195_bool_binop_done:; + if (__pyx_t_11) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1198 + * + * elif is_return and frame.f_back is not None and not info.pydev_use_scoped_step_frame: + * if main_debugger.get_file_type(frame.f_back) == main_debugger.PYDEV_FILE: # <<<<<<<<<<<<<< + * stop = False + * else: + */ + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_get_file_type); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1198, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1198, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_7 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + __pyx_t_4 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_8); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1198, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_PYDEV_FILE); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1198, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_8 = PyObject_RichCompare(__pyx_t_4, __pyx_t_6, Py_EQ); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1198, __pyx_L171_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 1198, __pyx_L171_error) + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (__pyx_t_11) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1199 + * elif is_return and frame.f_back is not None and not info.pydev_use_scoped_step_frame: + * if main_debugger.get_file_type(frame.f_back) == main_debugger.PYDEV_FILE: + * stop = False # <<<<<<<<<<<<<< + * else: + * if force_check_project_scope or main_debugger.is_files_filter_enabled: + */ + __pyx_v_stop = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1198 + * + * elif is_return and frame.f_back is not None and not info.pydev_use_scoped_step_frame: + * if main_debugger.get_file_type(frame.f_back) == main_debugger.PYDEV_FILE: # <<<<<<<<<<<<<< + * stop = False + * else: + */ + goto __pyx_L198; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1201 + * stop = False + * else: + * if force_check_project_scope or main_debugger.is_files_filter_enabled: # <<<<<<<<<<<<<< + * stop = not main_debugger.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, force_check_project_scope) + * if stop: + */ + /*else*/ { + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_v_force_check_project_scope); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1201, __pyx_L171_error) + if (!__pyx_t_14) { + } else { + __pyx_t_11 = __pyx_t_14; + goto __pyx_L200_bool_binop_done; + } + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_is_files_filter_enabled); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1201, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1201, __pyx_L171_error) + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_11 = __pyx_t_14; + __pyx_L200_bool_binop_done:; + if (__pyx_t_11) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1202 + * else: + * if force_check_project_scope or main_debugger.is_files_filter_enabled: + * stop = not main_debugger.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, force_check_project_scope) # <<<<<<<<<<<<<< + * if stop: + * # Prevent stopping in a return to the same location we were initially + */ + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_apply_files_filter); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1202, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1202, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1202, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_f_code); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1202, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_co_filename); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1202, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + __pyx_t_10 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_t_10 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_6)) { + PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_t_4, __pyx_t_7, __pyx_v_force_check_project_scope}; + __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_10, 3+__pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1202, __pyx_L171_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) { + PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_t_4, __pyx_t_7, __pyx_v_force_check_project_scope}; + __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_10, 3+__pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1202, __pyx_L171_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } else + #endif + { + __pyx_t_1 = PyTuple_New(3+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1202, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_1); + if (__pyx_t_3) { + __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3); __pyx_t_3 = NULL; + } + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_10, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_7); + PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_10, __pyx_t_7); + __Pyx_INCREF(__pyx_v_force_check_project_scope); + __Pyx_GIVEREF(__pyx_v_force_check_project_scope); + PyTuple_SET_ITEM(__pyx_t_1, 2+__pyx_t_10, __pyx_v_force_check_project_scope); + __pyx_t_4 = 0; + __pyx_t_7 = 0; + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_1, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1202, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 1202, __pyx_L171_error) + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_v_stop = (!__pyx_t_11); + + /* "_pydevd_bundle/pydevd_cython.pyx":1203 + * if force_check_project_scope or main_debugger.is_files_filter_enabled: + * stop = not main_debugger.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, force_check_project_scope) + * if stop: # <<<<<<<<<<<<<< + * # Prevent stopping in a return to the same location we were initially + * # (i.e.: double-stop at the same place due to some filtering). + */ + __pyx_t_11 = (__pyx_v_stop != 0); + if (__pyx_t_11) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1206 + * # Prevent stopping in a return to the same location we were initially + * # (i.e.: double-stop at the same place due to some filtering). + * if info.step_in_initial_location == (frame.f_back, frame.f_back.f_lineno): # <<<<<<<<<<<<<< + * stop = False + * else: + */ + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1206, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1206, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_f_lineno); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1206, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1206, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GIVEREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_8); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_1); + __pyx_t_8 = 0; + __pyx_t_1 = 0; + __pyx_t_1 = PyObject_RichCompare(__pyx_v_info->step_in_initial_location, __pyx_t_6, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1206, __pyx_L171_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 1206, __pyx_L171_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (__pyx_t_11) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1207 + * # (i.e.: double-stop at the same place due to some filtering). + * if info.step_in_initial_location == (frame.f_back, frame.f_back.f_lineno): + * stop = False # <<<<<<<<<<<<<< + * else: + * stop = True + */ + __pyx_v_stop = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1206 + * # Prevent stopping in a return to the same location we were initially + * # (i.e.: double-stop at the same place due to some filtering). + * if info.step_in_initial_location == (frame.f_back, frame.f_back.f_lineno): # <<<<<<<<<<<<<< + * stop = False + * else: + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1203 + * if force_check_project_scope or main_debugger.is_files_filter_enabled: + * stop = not main_debugger.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, force_check_project_scope) + * if stop: # <<<<<<<<<<<<<< + * # Prevent stopping in a return to the same location we were initially + * # (i.e.: double-stop at the same place due to some filtering). + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1201 + * stop = False + * else: + * if force_check_project_scope or main_debugger.is_files_filter_enabled: # <<<<<<<<<<<<<< + * stop = not main_debugger.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, force_check_project_scope) + * if stop: + */ + goto __pyx_L199; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1209 + * stop = False + * else: + * stop = True # <<<<<<<<<<<<<< + * else: + * stop = False + */ + /*else*/ { + __pyx_v_stop = 1; + } + __pyx_L199:; + } + __pyx_L198:; + + /* "_pydevd_bundle/pydevd_cython.pyx":1197 + * return None if is_call else NO_FTRACE + * + * elif is_return and frame.f_back is not None and not info.pydev_use_scoped_step_frame: # <<<<<<<<<<<<<< + * if main_debugger.get_file_type(frame.f_back) == main_debugger.PYDEV_FILE: + * stop = False + */ + goto __pyx_L181; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1211 + * stop = True + * else: + * stop = False # <<<<<<<<<<<<<< + * + * if stop: + */ + /*else*/ { + __pyx_v_stop = 0; + } + __pyx_L181:; + + /* "_pydevd_bundle/pydevd_cython.pyx":1213 + * stop = False + * + * if stop: # <<<<<<<<<<<<<< + * if step_cmd == 206: + * # i.e.: Check if we're stepping into the proper context. + */ + __pyx_t_11 = (__pyx_v_stop != 0); + if (__pyx_t_11) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1214 + * + * if stop: + * if step_cmd == 206: # <<<<<<<<<<<<<< + * # i.e.: Check if we're stepping into the proper context. + * f = frame + */ + __pyx_t_11 = ((__pyx_v_step_cmd == 0xCE) != 0); + if (__pyx_t_11) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1216 + * if step_cmd == 206: + * # i.e.: Check if we're stepping into the proper context. + * f = frame # <<<<<<<<<<<<<< + * while f is not None: + * if self._is_same_frame(stop_frame, f): + */ + __Pyx_INCREF(__pyx_v_frame); + __Pyx_XDECREF_SET(__pyx_v_f, __pyx_v_frame); + + /* "_pydevd_bundle/pydevd_cython.pyx":1217 + * # i.e.: Check if we're stepping into the proper context. + * f = frame + * while f is not None: # <<<<<<<<<<<<<< + * if self._is_same_frame(stop_frame, f): + * break + */ + while (1) { + __pyx_t_11 = (__pyx_v_f != Py_None); + __pyx_t_14 = (__pyx_t_11 != 0); + if (!__pyx_t_14) break; + + /* "_pydevd_bundle/pydevd_cython.pyx":1218 + * f = frame + * while f is not None: + * if self._is_same_frame(stop_frame, f): # <<<<<<<<<<<<<< + * break + * f = f.f_back + */ + __pyx_t_1 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_is_same_frame(__pyx_v_self, __pyx_v_stop_frame, __pyx_v_f); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1218, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1218, __pyx_L171_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1219 + * while f is not None: + * if self._is_same_frame(stop_frame, f): + * break # <<<<<<<<<<<<<< + * f = f.f_back + * else: + */ + goto __pyx_L207_break; + + /* "_pydevd_bundle/pydevd_cython.pyx":1218 + * f = frame + * while f is not None: + * if self._is_same_frame(stop_frame, f): # <<<<<<<<<<<<<< + * break + * f = f.f_back + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1220 + * if self._is_same_frame(stop_frame, f): + * break + * f = f.f_back # <<<<<<<<<<<<<< + * else: + * stop = False + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_f_back); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1220, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_1); + __pyx_t_1 = 0; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1222 + * f = f.f_back + * else: + * stop = False # <<<<<<<<<<<<<< + * + * if plugin_manager is not None: + */ + /*else*/ { + __pyx_v_stop = 0; + } + __pyx_L207_break:; + + /* "_pydevd_bundle/pydevd_cython.pyx":1214 + * + * if stop: + * if step_cmd == 206: # <<<<<<<<<<<<<< + * # i.e.: Check if we're stepping into the proper context. + * f = frame + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1213 + * stop = False + * + * if stop: # <<<<<<<<<<<<<< + * if step_cmd == 206: + * # i.e.: Check if we're stepping into the proper context. + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1224 + * stop = False + * + * if plugin_manager is not None: # <<<<<<<<<<<<<< + * result = plugin_manager.cmd_step_into(main_debugger, frame, event, self._args, stop_info, stop) + * if result: + */ + __pyx_t_14 = (__pyx_v_plugin_manager != Py_None); + __pyx_t_11 = (__pyx_t_14 != 0); + if (__pyx_t_11) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1225 + * + * if plugin_manager is not None: + * result = plugin_manager.cmd_step_into(main_debugger, frame, event, self._args, stop_info, stop) # <<<<<<<<<<<<<< + * if result: + * stop, plugin_stop = result + */ + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_plugin_manager, __pyx_n_s_cmd_step_into); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1225, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_8 = __Pyx_PyBool_FromLong(__pyx_v_stop); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1225, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_7 = NULL; + __pyx_t_10 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_t_10 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_6)) { + PyObject *__pyx_temp[7] = {__pyx_t_7, __pyx_v_main_debugger, __pyx_v_frame, __pyx_v_event, __pyx_v_self->_args, __pyx_v_stop_info, __pyx_t_8}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_10, 6+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1225, __pyx_L171_error) + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) { + PyObject *__pyx_temp[7] = {__pyx_t_7, __pyx_v_main_debugger, __pyx_v_frame, __pyx_v_event, __pyx_v_self->_args, __pyx_v_stop_info, __pyx_t_8}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_10, 6+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1225, __pyx_L171_error) + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } else + #endif + { + __pyx_t_4 = PyTuple_New(6+__pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1225, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_4); + if (__pyx_t_7) { + __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_7); __pyx_t_7 = NULL; + } + __Pyx_INCREF(__pyx_v_main_debugger); + __Pyx_GIVEREF(__pyx_v_main_debugger); + PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_10, __pyx_v_main_debugger); + __Pyx_INCREF(__pyx_v_frame); + __Pyx_GIVEREF(__pyx_v_frame); + PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_10, __pyx_v_frame); + __Pyx_INCREF(__pyx_v_event); + __Pyx_GIVEREF(__pyx_v_event); + PyTuple_SET_ITEM(__pyx_t_4, 2+__pyx_t_10, __pyx_v_event); + __Pyx_INCREF(__pyx_v_self->_args); + __Pyx_GIVEREF(__pyx_v_self->_args); + PyTuple_SET_ITEM(__pyx_t_4, 3+__pyx_t_10, __pyx_v_self->_args); + __Pyx_INCREF(__pyx_v_stop_info); + __Pyx_GIVEREF(__pyx_v_stop_info); + PyTuple_SET_ITEM(__pyx_t_4, 4+__pyx_t_10, __pyx_v_stop_info); + __Pyx_GIVEREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_4, 5+__pyx_t_10, __pyx_t_8); + __pyx_t_8 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1225, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF_SET(__pyx_v_result, __pyx_t_1); + __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1226 + * if plugin_manager is not None: + * result = plugin_manager.cmd_step_into(main_debugger, frame, event, self._args, stop_info, stop) + * if result: # <<<<<<<<<<<<<< + * stop, plugin_stop = result + * + */ + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_result); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 1226, __pyx_L171_error) + if (__pyx_t_11) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1227 + * result = plugin_manager.cmd_step_into(main_debugger, frame, event, self._args, stop_info, stop) + * if result: + * stop, plugin_stop = result # <<<<<<<<<<<<<< + * + * elif step_cmd in (108, 159): + */ + if ((likely(PyTuple_CheckExact(__pyx_v_result))) || (PyList_CheckExact(__pyx_v_result))) { + PyObject* sequence = __pyx_v_result; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 2)) { + if (size > 2) __Pyx_RaiseTooManyValuesError(2); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 1227, __pyx_L171_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + if (likely(PyTuple_CheckExact(sequence))) { + __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_6 = PyTuple_GET_ITEM(sequence, 1); + } else { + __pyx_t_1 = PyList_GET_ITEM(sequence, 0); + __pyx_t_6 = PyList_GET_ITEM(sequence, 1); + } + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(__pyx_t_6); + #else + __pyx_t_1 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1227, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1227, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_6); + #endif + } else { + Py_ssize_t index = -1; + __pyx_t_4 = PyObject_GetIter(__pyx_v_result); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1227, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_15 = Py_TYPE(__pyx_t_4)->tp_iternext; + index = 0; __pyx_t_1 = __pyx_t_15(__pyx_t_4); if (unlikely(!__pyx_t_1)) goto __pyx_L211_unpacking_failed; + __Pyx_GOTREF(__pyx_t_1); + index = 1; __pyx_t_6 = __pyx_t_15(__pyx_t_4); if (unlikely(!__pyx_t_6)) goto __pyx_L211_unpacking_failed; + __Pyx_GOTREF(__pyx_t_6); + if (__Pyx_IternextUnpackEndCheck(__pyx_t_15(__pyx_t_4), 2) < 0) __PYX_ERR(0, 1227, __pyx_L171_error) + __pyx_t_15 = NULL; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L212_unpacking_done; + __pyx_L211_unpacking_failed:; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_15 = NULL; + if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); + __PYX_ERR(0, 1227, __pyx_L171_error) + __pyx_L212_unpacking_done:; + } + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_11 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1227, __pyx_L171_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_stop = __pyx_t_11; + __Pyx_DECREF_SET(__pyx_v_plugin_stop, __pyx_t_6); + __pyx_t_6 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1226 + * if plugin_manager is not None: + * result = plugin_manager.cmd_step_into(main_debugger, frame, event, self._args, stop_info, stop) + * if result: # <<<<<<<<<<<<<< + * stop, plugin_stop = result + * + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1224 + * stop = False + * + * if plugin_manager is not None: # <<<<<<<<<<<<<< + * result = plugin_manager.cmd_step_into(main_debugger, frame, event, self._args, stop_info, stop) + * if result: + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1165 + * stop = False + * + * elif step_cmd in (107, 144, 206): # <<<<<<<<<<<<<< + * force_check_project_scope = step_cmd == 144 + * if is_line: + */ + goto __pyx_L180; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1229 + * stop, plugin_stop = result + * + * elif step_cmd in (108, 159): # <<<<<<<<<<<<<< + * # Note: when dealing with a step over my code it's the same as a step over (the + * # difference is that when we return from a frame in one we go to regular step + */ + switch (__pyx_v_step_cmd) { + case 0x6C: + case 0x9F: + __pyx_t_11 = 1; + break; + default: + __pyx_t_11 = 0; + break; + } + __pyx_t_14 = (__pyx_t_11 != 0); + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1233 + * # difference is that when we return from a frame in one we go to regular step + * # into and in the other we go to a step into my code). + * stop = self._is_same_frame(stop_frame, frame) and is_line # <<<<<<<<<<<<<< + * # Note: don't stop on a return for step over, only for line events + * # i.e.: don't stop in: (stop_frame is frame.f_back and is_return) as we'd stop twice in that line. + */ + __pyx_t_6 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_is_same_frame(__pyx_v_self, __pyx_v_stop_frame, __pyx_v_frame); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1233, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 1233, __pyx_L171_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (__pyx_t_11) { + } else { + __pyx_t_14 = __pyx_t_11; + goto __pyx_L213_bool_binop_done; + } + __pyx_t_11 = (__pyx_v_is_line != 0); + __pyx_t_14 = __pyx_t_11; + __pyx_L213_bool_binop_done:; + __pyx_v_stop = __pyx_t_14; + + /* "_pydevd_bundle/pydevd_cython.pyx":1237 + * # i.e.: don't stop in: (stop_frame is frame.f_back and is_return) as we'd stop twice in that line. + * + * if plugin_manager is not None: # <<<<<<<<<<<<<< + * result = plugin_manager.cmd_step_over(main_debugger, frame, event, self._args, stop_info, stop) + * if result: + */ + __pyx_t_14 = (__pyx_v_plugin_manager != Py_None); + __pyx_t_11 = (__pyx_t_14 != 0); + if (__pyx_t_11) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1238 + * + * if plugin_manager is not None: + * result = plugin_manager.cmd_step_over(main_debugger, frame, event, self._args, stop_info, stop) # <<<<<<<<<<<<<< + * if result: + * stop, plugin_stop = result + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_plugin_manager, __pyx_n_s_cmd_step_over); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1238, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_v_stop); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1238, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_8 = NULL; + __pyx_t_10 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + __pyx_t_10 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[7] = {__pyx_t_8, __pyx_v_main_debugger, __pyx_v_frame, __pyx_v_event, __pyx_v_self->_args, __pyx_v_stop_info, __pyx_t_4}; + __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_10, 6+__pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1238, __pyx_L171_error) + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[7] = {__pyx_t_8, __pyx_v_main_debugger, __pyx_v_frame, __pyx_v_event, __pyx_v_self->_args, __pyx_v_stop_info, __pyx_t_4}; + __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_10, 6+__pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1238, __pyx_L171_error) + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } else + #endif + { + __pyx_t_7 = PyTuple_New(6+__pyx_t_10); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1238, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_7); + if (__pyx_t_8) { + __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_8); __pyx_t_8 = NULL; + } + __Pyx_INCREF(__pyx_v_main_debugger); + __Pyx_GIVEREF(__pyx_v_main_debugger); + PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_10, __pyx_v_main_debugger); + __Pyx_INCREF(__pyx_v_frame); + __Pyx_GIVEREF(__pyx_v_frame); + PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_10, __pyx_v_frame); + __Pyx_INCREF(__pyx_v_event); + __Pyx_GIVEREF(__pyx_v_event); + PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_10, __pyx_v_event); + __Pyx_INCREF(__pyx_v_self->_args); + __Pyx_GIVEREF(__pyx_v_self->_args); + PyTuple_SET_ITEM(__pyx_t_7, 3+__pyx_t_10, __pyx_v_self->_args); + __Pyx_INCREF(__pyx_v_stop_info); + __Pyx_GIVEREF(__pyx_v_stop_info); + PyTuple_SET_ITEM(__pyx_t_7, 4+__pyx_t_10, __pyx_v_stop_info); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_7, 5+__pyx_t_10, __pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1238, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF_SET(__pyx_v_result, __pyx_t_6); + __pyx_t_6 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1239 + * if plugin_manager is not None: + * result = plugin_manager.cmd_step_over(main_debugger, frame, event, self._args, stop_info, stop) + * if result: # <<<<<<<<<<<<<< + * stop, plugin_stop = result + * + */ + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_result); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 1239, __pyx_L171_error) + if (__pyx_t_11) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1240 + * result = plugin_manager.cmd_step_over(main_debugger, frame, event, self._args, stop_info, stop) + * if result: + * stop, plugin_stop = result # <<<<<<<<<<<<<< + * + * elif step_cmd == 128: + */ + if ((likely(PyTuple_CheckExact(__pyx_v_result))) || (PyList_CheckExact(__pyx_v_result))) { + PyObject* sequence = __pyx_v_result; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 2)) { + if (size > 2) __Pyx_RaiseTooManyValuesError(2); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 1240, __pyx_L171_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + if (likely(PyTuple_CheckExact(sequence))) { + __pyx_t_6 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_1 = PyTuple_GET_ITEM(sequence, 1); + } else { + __pyx_t_6 = PyList_GET_ITEM(sequence, 0); + __pyx_t_1 = PyList_GET_ITEM(sequence, 1); + } + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(__pyx_t_1); + #else + __pyx_t_6 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1240, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_1 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1240, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_1); + #endif + } else { + Py_ssize_t index = -1; + __pyx_t_7 = PyObject_GetIter(__pyx_v_result); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1240, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_15 = Py_TYPE(__pyx_t_7)->tp_iternext; + index = 0; __pyx_t_6 = __pyx_t_15(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L217_unpacking_failed; + __Pyx_GOTREF(__pyx_t_6); + index = 1; __pyx_t_1 = __pyx_t_15(__pyx_t_7); if (unlikely(!__pyx_t_1)) goto __pyx_L217_unpacking_failed; + __Pyx_GOTREF(__pyx_t_1); + if (__Pyx_IternextUnpackEndCheck(__pyx_t_15(__pyx_t_7), 2) < 0) __PYX_ERR(0, 1240, __pyx_L171_error) + __pyx_t_15 = NULL; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + goto __pyx_L218_unpacking_done; + __pyx_L217_unpacking_failed:; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_15 = NULL; + if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); + __PYX_ERR(0, 1240, __pyx_L171_error) + __pyx_L218_unpacking_done:; + } + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_11 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1240, __pyx_L171_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_v_stop = __pyx_t_11; + __Pyx_DECREF_SET(__pyx_v_plugin_stop, __pyx_t_1); + __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1239 + * if plugin_manager is not None: + * result = plugin_manager.cmd_step_over(main_debugger, frame, event, self._args, stop_info, stop) + * if result: # <<<<<<<<<<<<<< + * stop, plugin_stop = result + * + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1237 + * # i.e.: don't stop in: (stop_frame is frame.f_back and is_return) as we'd stop twice in that line. + * + * if plugin_manager is not None: # <<<<<<<<<<<<<< + * result = plugin_manager.cmd_step_over(main_debugger, frame, event, self._args, stop_info, stop) + * if result: + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1229 + * stop, plugin_stop = result + * + * elif step_cmd in (108, 159): # <<<<<<<<<<<<<< + * # Note: when dealing with a step over my code it's the same as a step over (the + * # difference is that when we return from a frame in one we go to regular step + */ + goto __pyx_L180; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1242 + * stop, plugin_stop = result + * + * elif step_cmd == 128: # <<<<<<<<<<<<<< + * stop = False + * back = frame.f_back + */ + __pyx_t_11 = ((__pyx_v_step_cmd == 0x80) != 0); + if (__pyx_t_11) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1243 + * + * elif step_cmd == 128: + * stop = False # <<<<<<<<<<<<<< + * back = frame.f_back + * if self._is_same_frame(stop_frame, frame) and is_return: + */ + __pyx_v_stop = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1244 + * elif step_cmd == 128: + * stop = False + * back = frame.f_back # <<<<<<<<<<<<<< + * if self._is_same_frame(stop_frame, frame) and is_return: + * # We're exiting the smart step into initial frame (so, we probably didn't find our target). + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1244, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_back = __pyx_t_1; + __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1245 + * stop = False + * back = frame.f_back + * if self._is_same_frame(stop_frame, frame) and is_return: # <<<<<<<<<<<<<< + * # We're exiting the smart step into initial frame (so, we probably didn't find our target). + * stop = True + */ + __pyx_t_1 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_is_same_frame(__pyx_v_self, __pyx_v_stop_frame, __pyx_v_frame); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1245, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1245, __pyx_L171_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (__pyx_t_14) { + } else { + __pyx_t_11 = __pyx_t_14; + goto __pyx_L220_bool_binop_done; + } + __pyx_t_14 = (__pyx_v_is_return != 0); + __pyx_t_11 = __pyx_t_14; + __pyx_L220_bool_binop_done:; + if (__pyx_t_11) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1247 + * if self._is_same_frame(stop_frame, frame) and is_return: + * # We're exiting the smart step into initial frame (so, we probably didn't find our target). + * stop = True # <<<<<<<<<<<<<< + * + * elif self._is_same_frame(stop_frame, back) and is_line: + */ + __pyx_v_stop = 1; + + /* "_pydevd_bundle/pydevd_cython.pyx":1245 + * stop = False + * back = frame.f_back + * if self._is_same_frame(stop_frame, frame) and is_return: # <<<<<<<<<<<<<< + * # We're exiting the smart step into initial frame (so, we probably didn't find our target). + * stop = True + */ + goto __pyx_L219; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1249 + * stop = True + * + * elif self._is_same_frame(stop_frame, back) and is_line: # <<<<<<<<<<<<<< + * if info.pydev_smart_child_offset != -1: + * # i.e.: in this case, we're not interested in the pause in the parent, rather + */ + __pyx_t_1 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_is_same_frame(__pyx_v_self, __pyx_v_stop_frame, __pyx_v_back); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1249, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1249, __pyx_L171_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (__pyx_t_14) { + } else { + __pyx_t_11 = __pyx_t_14; + goto __pyx_L222_bool_binop_done; + } + __pyx_t_14 = (__pyx_v_is_line != 0); + __pyx_t_11 = __pyx_t_14; + __pyx_L222_bool_binop_done:; + if (__pyx_t_11) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1250 + * + * elif self._is_same_frame(stop_frame, back) and is_line: + * if info.pydev_smart_child_offset != -1: # <<<<<<<<<<<<<< + * # i.e.: in this case, we're not interested in the pause in the parent, rather + * # we're interested in the pause in the child (when the parent is at the proper place). + */ + __pyx_t_11 = ((__pyx_v_info->pydev_smart_child_offset != -1L) != 0); + if (__pyx_t_11) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1253 + * # i.e.: in this case, we're not interested in the pause in the parent, rather + * # we're interested in the pause in the child (when the parent is at the proper place). + * stop = False # <<<<<<<<<<<<<< + * + * else: + */ + __pyx_v_stop = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1250 + * + * elif self._is_same_frame(stop_frame, back) and is_line: + * if info.pydev_smart_child_offset != -1: # <<<<<<<<<<<<<< + * # i.e.: in this case, we're not interested in the pause in the parent, rather + * # we're interested in the pause in the child (when the parent is at the proper place). + */ + goto __pyx_L224; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1256 + * + * else: + * pydev_smart_parent_offset = info.pydev_smart_parent_offset # <<<<<<<<<<<<<< + * + * pydev_smart_step_into_variants = info.pydev_smart_step_into_variants + */ + /*else*/ { + __pyx_t_10 = __pyx_v_info->pydev_smart_parent_offset; + __pyx_v_pydev_smart_parent_offset = __pyx_t_10; + + /* "_pydevd_bundle/pydevd_cython.pyx":1258 + * pydev_smart_parent_offset = info.pydev_smart_parent_offset + * + * pydev_smart_step_into_variants = info.pydev_smart_step_into_variants # <<<<<<<<<<<<<< + * if pydev_smart_parent_offset >= 0 and pydev_smart_step_into_variants: + * # Preferred mode (when the smart step into variants are available + */ + __pyx_t_1 = __pyx_v_info->pydev_smart_step_into_variants; + __Pyx_INCREF(__pyx_t_1); + __pyx_v_pydev_smart_step_into_variants = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1259 + * + * pydev_smart_step_into_variants = info.pydev_smart_step_into_variants + * if pydev_smart_parent_offset >= 0 and pydev_smart_step_into_variants: # <<<<<<<<<<<<<< + * # Preferred mode (when the smart step into variants are available + * # and the offset is set). + */ + __pyx_t_14 = ((__pyx_v_pydev_smart_parent_offset >= 0) != 0); + if (__pyx_t_14) { + } else { + __pyx_t_11 = __pyx_t_14; + goto __pyx_L226_bool_binop_done; + } + __pyx_t_14 = (__pyx_v_pydev_smart_step_into_variants != Py_None)&&(PyTuple_GET_SIZE(__pyx_v_pydev_smart_step_into_variants) != 0); + __pyx_t_11 = __pyx_t_14; + __pyx_L226_bool_binop_done:; + if (__pyx_t_11) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1262 + * # Preferred mode (when the smart step into variants are available + * # and the offset is set). + * stop = get_smart_step_into_variant_from_frame_offset(back.f_lasti, pydev_smart_step_into_variants) is \ # <<<<<<<<<<<<<< + * get_smart_step_into_variant_from_frame_offset(pydev_smart_parent_offset, pydev_smart_step_into_variants) + * + */ + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_get_smart_step_into_variant_from); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1262, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_back, __pyx_n_s_f_lasti); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1262, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_4 = NULL; + __pyx_t_10 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_t_10 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_6)) { + PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_7, __pyx_v_pydev_smart_step_into_variants}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1262, __pyx_L171_error) + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) { + PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_7, __pyx_v_pydev_smart_step_into_variants}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1262, __pyx_L171_error) + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } else + #endif + { + __pyx_t_8 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1262, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_8); + if (__pyx_t_4) { + __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_4); __pyx_t_4 = NULL; + } + __Pyx_GIVEREF(__pyx_t_7); + PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_10, __pyx_t_7); + __Pyx_INCREF(__pyx_v_pydev_smart_step_into_variants); + __Pyx_GIVEREF(__pyx_v_pydev_smart_step_into_variants); + PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_10, __pyx_v_pydev_smart_step_into_variants); + __pyx_t_7 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1262, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1263 + * # and the offset is set). + * stop = get_smart_step_into_variant_from_frame_offset(back.f_lasti, pydev_smart_step_into_variants) is \ + * get_smart_step_into_variant_from_frame_offset(pydev_smart_parent_offset, pydev_smart_step_into_variants) # <<<<<<<<<<<<<< + * + * else: + */ + __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_get_smart_step_into_variant_from); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1263, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_7 = __Pyx_PyInt_From_int(__pyx_v_pydev_smart_parent_offset); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1263, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_4 = NULL; + __pyx_t_10 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_8); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_8, function); + __pyx_t_10 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_8)) { + PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_7, __pyx_v_pydev_smart_step_into_variants}; + __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1263, __pyx_L171_error) + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) { + PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_7, __pyx_v_pydev_smart_step_into_variants}; + __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1263, __pyx_L171_error) + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } else + #endif + { + __pyx_t_3 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1263, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_3); + if (__pyx_t_4) { + __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __pyx_t_4 = NULL; + } + __Pyx_GIVEREF(__pyx_t_7); + PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_10, __pyx_t_7); + __Pyx_INCREF(__pyx_v_pydev_smart_step_into_variants); + __Pyx_GIVEREF(__pyx_v_pydev_smart_step_into_variants); + PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_10, __pyx_v_pydev_smart_step_into_variants); + __pyx_t_7 = 0; + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_3, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1263, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_11 = (__pyx_t_1 == __pyx_t_6); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_v_stop = __pyx_t_11; + + /* "_pydevd_bundle/pydevd_cython.pyx":1259 + * + * pydev_smart_step_into_variants = info.pydev_smart_step_into_variants + * if pydev_smart_parent_offset >= 0 and pydev_smart_step_into_variants: # <<<<<<<<<<<<<< + * # Preferred mode (when the smart step into variants are available + * # and the offset is set). + */ + goto __pyx_L225; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1267 + * else: + * # Only the name/line is available, so, check that. + * curr_func_name = frame.f_code.co_name # <<<<<<<<<<<<<< + * + * # global context is set with an empty name + */ + /*else*/ { + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1267, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_co_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1267, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (!(likely(PyString_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(0, 1267, __pyx_L171_error) + __Pyx_XDECREF_SET(__pyx_v_curr_func_name, ((PyObject*)__pyx_t_1)); + __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1270 + * + * # global context is set with an empty name + * if curr_func_name in ('?', '') or curr_func_name is None: # <<<<<<<<<<<<<< + * curr_func_name = '' + * if curr_func_name == info.pydev_func_name and stop_frame.f_lineno == info.pydev_next_line: + */ + __Pyx_INCREF(__pyx_v_curr_func_name); + __pyx_t_21 = __pyx_v_curr_func_name; + __pyx_t_9 = (__Pyx_PyString_Equals(__pyx_t_21, __pyx_kp_s__3, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 1270, __pyx_L171_error) + __pyx_t_29 = (__pyx_t_9 != 0); + if (!__pyx_t_29) { + } else { + __pyx_t_14 = __pyx_t_29; + goto __pyx_L231_bool_binop_done; + } + __pyx_t_29 = (__Pyx_PyString_Equals(__pyx_t_21, __pyx_kp_s_module, Py_EQ)); if (unlikely(__pyx_t_29 < 0)) __PYX_ERR(0, 1270, __pyx_L171_error) + __pyx_t_9 = (__pyx_t_29 != 0); + __pyx_t_14 = __pyx_t_9; + __pyx_L231_bool_binop_done:; + __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; + __pyx_t_9 = (__pyx_t_14 != 0); + if (!__pyx_t_9) { + } else { + __pyx_t_11 = __pyx_t_9; + goto __pyx_L229_bool_binop_done; + } + __pyx_t_9 = (__pyx_v_curr_func_name == ((PyObject*)Py_None)); + __pyx_t_14 = (__pyx_t_9 != 0); + __pyx_t_11 = __pyx_t_14; + __pyx_L229_bool_binop_done:; + if (__pyx_t_11) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1271 + * # global context is set with an empty name + * if curr_func_name in ('?', '') or curr_func_name is None: + * curr_func_name = '' # <<<<<<<<<<<<<< + * if curr_func_name == info.pydev_func_name and stop_frame.f_lineno == info.pydev_next_line: + * stop = True + */ + __Pyx_INCREF(__pyx_kp_s_); + __Pyx_DECREF_SET(__pyx_v_curr_func_name, __pyx_kp_s_); + + /* "_pydevd_bundle/pydevd_cython.pyx":1270 + * + * # global context is set with an empty name + * if curr_func_name in ('?', '') or curr_func_name is None: # <<<<<<<<<<<<<< + * curr_func_name = '' + * if curr_func_name == info.pydev_func_name and stop_frame.f_lineno == info.pydev_next_line: + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1272 + * if curr_func_name in ('?', '') or curr_func_name is None: + * curr_func_name = '' + * if curr_func_name == info.pydev_func_name and stop_frame.f_lineno == info.pydev_next_line: # <<<<<<<<<<<<<< + * stop = True + * + */ + __pyx_t_14 = (__Pyx_PyString_Equals(__pyx_v_curr_func_name, __pyx_v_info->pydev_func_name, Py_EQ)); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1272, __pyx_L171_error) + __pyx_t_9 = (__pyx_t_14 != 0); + if (__pyx_t_9) { + } else { + __pyx_t_11 = __pyx_t_9; + goto __pyx_L234_bool_binop_done; + } + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_stop_frame, __pyx_n_s_f_lineno); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1272, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_info->pydev_next_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1272, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_8 = PyObject_RichCompare(__pyx_t_1, __pyx_t_6, Py_EQ); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1272, __pyx_L171_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 1272, __pyx_L171_error) + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_11 = __pyx_t_9; + __pyx_L234_bool_binop_done:; + if (__pyx_t_11) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1273 + * curr_func_name = '' + * if curr_func_name == info.pydev_func_name and stop_frame.f_lineno == info.pydev_next_line: + * stop = True # <<<<<<<<<<<<<< + * + * if not stop: + */ + __pyx_v_stop = 1; + + /* "_pydevd_bundle/pydevd_cython.pyx":1272 + * if curr_func_name in ('?', '') or curr_func_name is None: + * curr_func_name = '' + * if curr_func_name == info.pydev_func_name and stop_frame.f_lineno == info.pydev_next_line: # <<<<<<<<<<<<<< + * stop = True + * + */ + } + } + __pyx_L225:; + } + __pyx_L224:; + + /* "_pydevd_bundle/pydevd_cython.pyx":1275 + * stop = True + * + * if not stop: # <<<<<<<<<<<<<< + * # In smart step into, if we didn't hit it in this frame once, that'll + * # not be the case next time either, so, disable tracing for this frame. + */ + __pyx_t_11 = ((!(__pyx_v_stop != 0)) != 0); + if (__pyx_t_11) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1278 + * # In smart step into, if we didn't hit it in this frame once, that'll + * # not be the case next time either, so, disable tracing for this frame. + * return None if is_call else NO_FTRACE # <<<<<<<<<<<<<< + * + * elif back is not None and self._is_same_frame(stop_frame, back.f_back) and is_line: + */ + __Pyx_XDECREF(__pyx_r); + if ((__pyx_v_is_call != 0)) { + __Pyx_INCREF(Py_None); + __pyx_t_8 = Py_None; + } else { + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1278, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_8 = __pyx_t_6; + __pyx_t_6 = 0; + } + __pyx_r = __pyx_t_8; + __pyx_t_8 = 0; + goto __pyx_L175_try_return; + + /* "_pydevd_bundle/pydevd_cython.pyx":1275 + * stop = True + * + * if not stop: # <<<<<<<<<<<<<< + * # In smart step into, if we didn't hit it in this frame once, that'll + * # not be the case next time either, so, disable tracing for this frame. + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1249 + * stop = True + * + * elif self._is_same_frame(stop_frame, back) and is_line: # <<<<<<<<<<<<<< + * if info.pydev_smart_child_offset != -1: + * # i.e.: in this case, we're not interested in the pause in the parent, rather + */ + goto __pyx_L219; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1280 + * return None if is_call else NO_FTRACE + * + * elif back is not None and self._is_same_frame(stop_frame, back.f_back) and is_line: # <<<<<<<<<<<<<< + * # Ok, we have to track 2 stops at this point, the parent and the child offset. + * # This happens when handling a step into which targets a function inside a list comprehension + */ + __pyx_t_9 = (__pyx_v_back != Py_None); + __pyx_t_14 = (__pyx_t_9 != 0); + if (__pyx_t_14) { + } else { + __pyx_t_11 = __pyx_t_14; + goto __pyx_L237_bool_binop_done; + } + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_back, __pyx_n_s_f_back); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1280, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_6 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_is_same_frame(__pyx_v_self, __pyx_v_stop_frame, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1280, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1280, __pyx_L171_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (__pyx_t_14) { + } else { + __pyx_t_11 = __pyx_t_14; + goto __pyx_L237_bool_binop_done; + } + __pyx_t_14 = (__pyx_v_is_line != 0); + __pyx_t_11 = __pyx_t_14; + __pyx_L237_bool_binop_done:; + if (__pyx_t_11) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1284 + * # This happens when handling a step into which targets a function inside a list comprehension + * # or generator (in which case an intermediary frame is created due to an internal function call). + * pydev_smart_parent_offset = info.pydev_smart_parent_offset # <<<<<<<<<<<<<< + * pydev_smart_child_offset = info.pydev_smart_child_offset + * # print('matched back frame', pydev_smart_parent_offset, pydev_smart_child_offset) + */ + __pyx_t_10 = __pyx_v_info->pydev_smart_parent_offset; + __pyx_v_pydev_smart_parent_offset = __pyx_t_10; + + /* "_pydevd_bundle/pydevd_cython.pyx":1285 + * # or generator (in which case an intermediary frame is created due to an internal function call). + * pydev_smart_parent_offset = info.pydev_smart_parent_offset + * pydev_smart_child_offset = info.pydev_smart_child_offset # <<<<<<<<<<<<<< + * # print('matched back frame', pydev_smart_parent_offset, pydev_smart_child_offset) + * # print('parent f_lasti', back.f_back.f_lasti) + */ + __pyx_t_10 = __pyx_v_info->pydev_smart_child_offset; + __pyx_v_pydev_smart_child_offset = __pyx_t_10; + + /* "_pydevd_bundle/pydevd_cython.pyx":1289 + * # print('parent f_lasti', back.f_back.f_lasti) + * # print('child f_lasti', back.f_lasti) + * stop = False # <<<<<<<<<<<<<< + * if pydev_smart_child_offset >= 0 and pydev_smart_child_offset >= 0: + * pydev_smart_step_into_variants = info.pydev_smart_step_into_variants + */ + __pyx_v_stop = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1290 + * # print('child f_lasti', back.f_lasti) + * stop = False + * if pydev_smart_child_offset >= 0 and pydev_smart_child_offset >= 0: # <<<<<<<<<<<<<< + * pydev_smart_step_into_variants = info.pydev_smart_step_into_variants + * + */ + __pyx_t_14 = ((__pyx_v_pydev_smart_child_offset >= 0) != 0); + if (__pyx_t_14) { + } else { + __pyx_t_11 = __pyx_t_14; + goto __pyx_L241_bool_binop_done; + } + __pyx_t_14 = ((__pyx_v_pydev_smart_child_offset >= 0) != 0); + __pyx_t_11 = __pyx_t_14; + __pyx_L241_bool_binop_done:; + if (__pyx_t_11) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1291 + * stop = False + * if pydev_smart_child_offset >= 0 and pydev_smart_child_offset >= 0: + * pydev_smart_step_into_variants = info.pydev_smart_step_into_variants # <<<<<<<<<<<<<< + * + * if pydev_smart_parent_offset >= 0 and pydev_smart_step_into_variants: + */ + __pyx_t_6 = __pyx_v_info->pydev_smart_step_into_variants; + __Pyx_INCREF(__pyx_t_6); + __pyx_v_pydev_smart_step_into_variants = ((PyObject*)__pyx_t_6); + __pyx_t_6 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1293 + * pydev_smart_step_into_variants = info.pydev_smart_step_into_variants + * + * if pydev_smart_parent_offset >= 0 and pydev_smart_step_into_variants: # <<<<<<<<<<<<<< + * # Note that we don't really check the parent offset, only the offset of + * # the child (because this is a generator, the parent may have moved forward + */ + __pyx_t_14 = ((__pyx_v_pydev_smart_parent_offset >= 0) != 0); + if (__pyx_t_14) { + } else { + __pyx_t_11 = __pyx_t_14; + goto __pyx_L244_bool_binop_done; + } + __pyx_t_14 = (__pyx_v_pydev_smart_step_into_variants != Py_None)&&(PyTuple_GET_SIZE(__pyx_v_pydev_smart_step_into_variants) != 0); + __pyx_t_11 = __pyx_t_14; + __pyx_L244_bool_binop_done:; + if (__pyx_t_11) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1298 + * # already -- and that's ok, so, we just check that the parent frame + * # matches in this case). + * smart_step_into_variant = get_smart_step_into_variant_from_frame_offset(pydev_smart_parent_offset, pydev_smart_step_into_variants) # <<<<<<<<<<<<<< + * # print('matched parent offset', pydev_smart_parent_offset) + * # Ok, now, check the child variant + */ + __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_get_smart_step_into_variant_from); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1298, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_pydev_smart_parent_offset); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1298, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = NULL; + __pyx_t_10 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_8); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_8, function); + __pyx_t_10 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_8)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_t_1, __pyx_v_pydev_smart_step_into_variants}; + __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1298, __pyx_L171_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_t_1, __pyx_v_pydev_smart_step_into_variants}; + __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1298, __pyx_L171_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } else + #endif + { + __pyx_t_7 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1298, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_7); + if (__pyx_t_3) { + __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_3); __pyx_t_3 = NULL; + } + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_10, __pyx_t_1); + __Pyx_INCREF(__pyx_v_pydev_smart_step_into_variants); + __Pyx_GIVEREF(__pyx_v_pydev_smart_step_into_variants); + PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_10, __pyx_v_pydev_smart_step_into_variants); + __pyx_t_1 = 0; + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1298, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_v_smart_step_into_variant = __pyx_t_6; + __pyx_t_6 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1301 + * # print('matched parent offset', pydev_smart_parent_offset) + * # Ok, now, check the child variant + * children_variants = smart_step_into_variant.children_variants # <<<<<<<<<<<<<< + * stop = children_variants and ( + * get_smart_step_into_variant_from_frame_offset(back.f_lasti, children_variants) is \ + */ + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_smart_step_into_variant, __pyx_n_s_children_variants); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1301, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_v_children_variants = __pyx_t_6; + __pyx_t_6 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1302 + * # Ok, now, check the child variant + * children_variants = smart_step_into_variant.children_variants + * stop = children_variants and ( # <<<<<<<<<<<<<< + * get_smart_step_into_variant_from_frame_offset(back.f_lasti, children_variants) is \ + * get_smart_step_into_variant_from_frame_offset(pydev_smart_child_offset, children_variants) + */ + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_v_children_variants); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1302, __pyx_L171_error) + if (__pyx_t_14) { + } else { + __pyx_t_11 = __pyx_t_14; + goto __pyx_L246_bool_binop_done; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1303 + * children_variants = smart_step_into_variant.children_variants + * stop = children_variants and ( + * get_smart_step_into_variant_from_frame_offset(back.f_lasti, children_variants) is \ # <<<<<<<<<<<<<< + * get_smart_step_into_variant_from_frame_offset(pydev_smart_child_offset, children_variants) + * ) + */ + __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_get_smart_step_into_variant_from); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1303, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_back, __pyx_n_s_f_lasti); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1303, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_1 = NULL; + __pyx_t_10 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_8); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_8, function); + __pyx_t_10 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_8)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_t_7, __pyx_v_children_variants}; + __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1303, __pyx_L171_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_t_7, __pyx_v_children_variants}; + __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1303, __pyx_L171_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } else + #endif + { + __pyx_t_3 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1303, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_3); + if (__pyx_t_1) { + __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __pyx_t_1 = NULL; + } + __Pyx_GIVEREF(__pyx_t_7); + PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_10, __pyx_t_7); + __Pyx_INCREF(__pyx_v_children_variants); + __Pyx_GIVEREF(__pyx_v_children_variants); + PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_10, __pyx_v_children_variants); + __pyx_t_7 = 0; + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_3, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1303, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1304 + * stop = children_variants and ( + * get_smart_step_into_variant_from_frame_offset(back.f_lasti, children_variants) is \ + * get_smart_step_into_variant_from_frame_offset(pydev_smart_child_offset, children_variants) # <<<<<<<<<<<<<< + * ) + * # print('stop at child', stop) + */ + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_get_smart_step_into_variant_from); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1304, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_7 = __Pyx_PyInt_From_int(__pyx_v_pydev_smart_child_offset); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1304, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_1 = NULL; + __pyx_t_10 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + __pyx_t_10 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_t_7, __pyx_v_children_variants}; + __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1304, __pyx_L171_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_t_7, __pyx_v_children_variants}; + __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1304, __pyx_L171_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } else + #endif + { + __pyx_t_4 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1304, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_4); + if (__pyx_t_1) { + __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __pyx_t_1 = NULL; + } + __Pyx_GIVEREF(__pyx_t_7); + PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_10, __pyx_t_7); + __Pyx_INCREF(__pyx_v_children_variants); + __Pyx_GIVEREF(__pyx_v_children_variants); + PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_10, __pyx_v_children_variants); + __pyx_t_7 = 0; + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1304, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_14 = (__pyx_t_6 == __pyx_t_8); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1303 + * children_variants = smart_step_into_variant.children_variants + * stop = children_variants and ( + * get_smart_step_into_variant_from_frame_offset(back.f_lasti, children_variants) is \ # <<<<<<<<<<<<<< + * get_smart_step_into_variant_from_frame_offset(pydev_smart_child_offset, children_variants) + * ) + */ + __pyx_t_9 = (__pyx_t_14 != 0); + __pyx_t_11 = __pyx_t_9; + __pyx_L246_bool_binop_done:; + __pyx_v_stop = __pyx_t_11; + + /* "_pydevd_bundle/pydevd_cython.pyx":1293 + * pydev_smart_step_into_variants = info.pydev_smart_step_into_variants + * + * if pydev_smart_parent_offset >= 0 and pydev_smart_step_into_variants: # <<<<<<<<<<<<<< + * # Note that we don't really check the parent offset, only the offset of + * # the child (because this is a generator, the parent may have moved forward + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1290 + * # print('child f_lasti', back.f_lasti) + * stop = False + * if pydev_smart_child_offset >= 0 and pydev_smart_child_offset >= 0: # <<<<<<<<<<<<<< + * pydev_smart_step_into_variants = info.pydev_smart_step_into_variants + * + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1308 + * # print('stop at child', stop) + * + * if not stop: # <<<<<<<<<<<<<< + * # In smart step into, if we didn't hit it in this frame once, that'll + * # not be the case next time either, so, disable tracing for this frame. + */ + __pyx_t_11 = ((!(__pyx_v_stop != 0)) != 0); + if (__pyx_t_11) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1311 + * # In smart step into, if we didn't hit it in this frame once, that'll + * # not be the case next time either, so, disable tracing for this frame. + * return None if is_call else NO_FTRACE # <<<<<<<<<<<<<< + * + * elif step_cmd in (109, 160): + */ + __Pyx_XDECREF(__pyx_r); + if ((__pyx_v_is_call != 0)) { + __Pyx_INCREF(Py_None); + __pyx_t_8 = Py_None; + } else { + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1311, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_8 = __pyx_t_6; + __pyx_t_6 = 0; + } + __pyx_r = __pyx_t_8; + __pyx_t_8 = 0; + goto __pyx_L175_try_return; + + /* "_pydevd_bundle/pydevd_cython.pyx":1308 + * # print('stop at child', stop) + * + * if not stop: # <<<<<<<<<<<<<< + * # In smart step into, if we didn't hit it in this frame once, that'll + * # not be the case next time either, so, disable tracing for this frame. + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1280 + * return None if is_call else NO_FTRACE + * + * elif back is not None and self._is_same_frame(stop_frame, back.f_back) and is_line: # <<<<<<<<<<<<<< + * # Ok, we have to track 2 stops at this point, the parent and the child offset. + * # This happens when handling a step into which targets a function inside a list comprehension + */ + } + __pyx_L219:; + + /* "_pydevd_bundle/pydevd_cython.pyx":1242 + * stop, plugin_stop = result + * + * elif step_cmd == 128: # <<<<<<<<<<<<<< + * stop = False + * back = frame.f_back + */ + goto __pyx_L180; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1313 + * return None if is_call else NO_FTRACE + * + * elif step_cmd in (109, 160): # <<<<<<<<<<<<<< + * stop = is_return and self._is_same_frame(stop_frame, frame) + * + */ + switch (__pyx_v_step_cmd) { + case 0x6D: + case 0xA0: + __pyx_t_11 = 1; + break; + default: + __pyx_t_11 = 0; + break; + } + __pyx_t_9 = (__pyx_t_11 != 0); + if (__pyx_t_9) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1314 + * + * elif step_cmd in (109, 160): + * stop = is_return and self._is_same_frame(stop_frame, frame) # <<<<<<<<<<<<<< + * + * else: + */ + __pyx_t_11 = (__pyx_v_is_return != 0); + if (__pyx_t_11) { + } else { + __pyx_t_9 = __pyx_t_11; + goto __pyx_L249_bool_binop_done; + } + __pyx_t_8 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self->__pyx_vtab)->_is_same_frame(__pyx_v_self, __pyx_v_stop_frame, __pyx_v_frame); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1314, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 1314, __pyx_L171_error) + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_9 = __pyx_t_11; + __pyx_L249_bool_binop_done:; + __pyx_v_stop = __pyx_t_9; + + /* "_pydevd_bundle/pydevd_cython.pyx":1313 + * return None if is_call else NO_FTRACE + * + * elif step_cmd in (109, 160): # <<<<<<<<<<<<<< + * stop = is_return and self._is_same_frame(stop_frame, frame) + * + */ + goto __pyx_L180; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1317 + * + * else: + * stop = False # <<<<<<<<<<<<<< + * + * if stop and step_cmd != -1 and is_return and hasattr(frame, "f_back"): + */ + /*else*/ { + __pyx_v_stop = 0; + } + __pyx_L180:; + + /* "_pydevd_bundle/pydevd_cython.pyx":1319 + * stop = False + * + * if stop and step_cmd != -1 and is_return and hasattr(frame, "f_back"): # <<<<<<<<<<<<<< + * f_code = getattr(frame.f_back, 'f_code', None) + * if f_code is not None: + */ + __pyx_t_11 = (__pyx_v_stop != 0); + if (__pyx_t_11) { + } else { + __pyx_t_9 = __pyx_t_11; + goto __pyx_L252_bool_binop_done; + } + __pyx_t_11 = ((__pyx_v_step_cmd != -1L) != 0); + if (__pyx_t_11) { + } else { + __pyx_t_9 = __pyx_t_11; + goto __pyx_L252_bool_binop_done; + } + __pyx_t_11 = (__pyx_v_is_return != 0); + if (__pyx_t_11) { + } else { + __pyx_t_9 = __pyx_t_11; + goto __pyx_L252_bool_binop_done; + } + __pyx_t_11 = __Pyx_HasAttr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(0, 1319, __pyx_L171_error) + __pyx_t_14 = (__pyx_t_11 != 0); + __pyx_t_9 = __pyx_t_14; + __pyx_L252_bool_binop_done:; + if (__pyx_t_9) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1320 + * + * if stop and step_cmd != -1 and is_return and hasattr(frame, "f_back"): + * f_code = getattr(frame.f_back, 'f_code', None) # <<<<<<<<<<<<<< + * if f_code is not None: + * if main_debugger.get_file_type(frame.f_back) == main_debugger.PYDEV_FILE: + */ + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1320, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_6 = __Pyx_GetAttr3(__pyx_t_8, __pyx_n_s_f_code, Py_None); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1320, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_v_f_code = __pyx_t_6; + __pyx_t_6 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1321 + * if stop and step_cmd != -1 and is_return and hasattr(frame, "f_back"): + * f_code = getattr(frame.f_back, 'f_code', None) + * if f_code is not None: # <<<<<<<<<<<<<< + * if main_debugger.get_file_type(frame.f_back) == main_debugger.PYDEV_FILE: + * stop = False + */ + __pyx_t_9 = (__pyx_v_f_code != Py_None); + __pyx_t_14 = (__pyx_t_9 != 0); + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1322 + * f_code = getattr(frame.f_back, 'f_code', None) + * if f_code is not None: + * if main_debugger.get_file_type(frame.f_back) == main_debugger.PYDEV_FILE: # <<<<<<<<<<<<<< + * stop = False + * + */ + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_get_file_type); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1322, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1322, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_8); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_8, function); + } + } + __pyx_t_6 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1322, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_PYDEV_FILE); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1322, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_3 = PyObject_RichCompare(__pyx_t_6, __pyx_t_8, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1322, __pyx_L171_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1322, __pyx_L171_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1323 + * if f_code is not None: + * if main_debugger.get_file_type(frame.f_back) == main_debugger.PYDEV_FILE: + * stop = False # <<<<<<<<<<<<<< + * + * if plugin_stop: + */ + __pyx_v_stop = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1322 + * f_code = getattr(frame.f_back, 'f_code', None) + * if f_code is not None: + * if main_debugger.get_file_type(frame.f_back) == main_debugger.PYDEV_FILE: # <<<<<<<<<<<<<< + * stop = False + * + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1321 + * if stop and step_cmd != -1 and is_return and hasattr(frame, "f_back"): + * f_code = getattr(frame.f_back, 'f_code', None) + * if f_code is not None: # <<<<<<<<<<<<<< + * if main_debugger.get_file_type(frame.f_back) == main_debugger.PYDEV_FILE: + * stop = False + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1319 + * stop = False + * + * if stop and step_cmd != -1 and is_return and hasattr(frame, "f_back"): # <<<<<<<<<<<<<< + * f_code = getattr(frame.f_back, 'f_code', None) + * if f_code is not None: + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1325 + * stop = False + * + * if plugin_stop: # <<<<<<<<<<<<<< + * stopped_on_plugin = plugin_manager.stop(main_debugger, frame, event, self._args, stop_info, arg, step_cmd) + * elif stop: + */ + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_v_plugin_stop); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1325, __pyx_L171_error) + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1326 + * + * if plugin_stop: + * stopped_on_plugin = plugin_manager.stop(main_debugger, frame, event, self._args, stop_info, arg, step_cmd) # <<<<<<<<<<<<<< + * elif stop: + * if is_line: + */ + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_plugin_manager, __pyx_n_s_stop); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1326, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_step_cmd); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1326, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_4 = NULL; + __pyx_t_10 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_8); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_8, function); + __pyx_t_10 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_8)) { + PyObject *__pyx_temp[8] = {__pyx_t_4, __pyx_v_main_debugger, __pyx_v_frame, __pyx_v_event, __pyx_v_self->_args, __pyx_v_stop_info, __pyx_v_arg, __pyx_t_6}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_10, 7+__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1326, __pyx_L171_error) + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) { + PyObject *__pyx_temp[8] = {__pyx_t_4, __pyx_v_main_debugger, __pyx_v_frame, __pyx_v_event, __pyx_v_self->_args, __pyx_v_stop_info, __pyx_v_arg, __pyx_t_6}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_10, 7+__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1326, __pyx_L171_error) + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } else + #endif + { + __pyx_t_7 = PyTuple_New(7+__pyx_t_10); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1326, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_7); + if (__pyx_t_4) { + __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4); __pyx_t_4 = NULL; + } + __Pyx_INCREF(__pyx_v_main_debugger); + __Pyx_GIVEREF(__pyx_v_main_debugger); + PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_10, __pyx_v_main_debugger); + __Pyx_INCREF(__pyx_v_frame); + __Pyx_GIVEREF(__pyx_v_frame); + PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_10, __pyx_v_frame); + __Pyx_INCREF(__pyx_v_event); + __Pyx_GIVEREF(__pyx_v_event); + PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_10, __pyx_v_event); + __Pyx_INCREF(__pyx_v_self->_args); + __Pyx_GIVEREF(__pyx_v_self->_args); + PyTuple_SET_ITEM(__pyx_t_7, 3+__pyx_t_10, __pyx_v_self->_args); + __Pyx_INCREF(__pyx_v_stop_info); + __Pyx_GIVEREF(__pyx_v_stop_info); + PyTuple_SET_ITEM(__pyx_t_7, 4+__pyx_t_10, __pyx_v_stop_info); + __Pyx_INCREF(__pyx_v_arg); + __Pyx_GIVEREF(__pyx_v_arg); + PyTuple_SET_ITEM(__pyx_t_7, 5+__pyx_t_10, __pyx_v_arg); + __Pyx_GIVEREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_7, 6+__pyx_t_10, __pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_7, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1326, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_v_stopped_on_plugin = __pyx_t_3; + __pyx_t_3 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1325 + * stop = False + * + * if plugin_stop: # <<<<<<<<<<<<<< + * stopped_on_plugin = plugin_manager.stop(main_debugger, frame, event, self._args, stop_info, arg, step_cmd) + * elif stop: + */ + goto __pyx_L258; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1327 + * if plugin_stop: + * stopped_on_plugin = plugin_manager.stop(main_debugger, frame, event, self._args, stop_info, arg, step_cmd) + * elif stop: # <<<<<<<<<<<<<< + * if is_line: + * self.set_suspend(thread, step_cmd, original_step_cmd=info.pydev_original_step_cmd) + */ + __pyx_t_14 = (__pyx_v_stop != 0); + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1328 + * stopped_on_plugin = plugin_manager.stop(main_debugger, frame, event, self._args, stop_info, arg, step_cmd) + * elif stop: + * if is_line: # <<<<<<<<<<<<<< + * self.set_suspend(thread, step_cmd, original_step_cmd=info.pydev_original_step_cmd) + * self.do_wait_suspend(thread, frame, event, arg) + */ + __pyx_t_14 = (__pyx_v_is_line != 0); + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1329 + * elif stop: + * if is_line: + * self.set_suspend(thread, step_cmd, original_step_cmd=info.pydev_original_step_cmd) # <<<<<<<<<<<<<< + * self.do_wait_suspend(thread, frame, event, arg) + * elif is_return: # return event + */ + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_suspend); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1329, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_8 = __Pyx_PyInt_From_int(__pyx_v_step_cmd); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1329, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1329, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_INCREF(__pyx_v_thread); + __Pyx_GIVEREF(__pyx_v_thread); + PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_v_thread); + __Pyx_GIVEREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_8); + __pyx_t_8 = 0; + __pyx_t_8 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1329, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_info->pydev_original_step_cmd); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1329, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_6); + if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_original_step_cmd, __pyx_t_6) < 0) __PYX_ERR(0, 1329, __pyx_L171_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1329, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1330 + * if is_line: + * self.set_suspend(thread, step_cmd, original_step_cmd=info.pydev_original_step_cmd) + * self.do_wait_suspend(thread, frame, event, arg) # <<<<<<<<<<<<<< + * elif is_return: # return event + * back = frame.f_back + */ + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_do_wait_suspend); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1330, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_7 = NULL; + __pyx_t_10 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_8); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_8, function); + __pyx_t_10 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_8)) { + PyObject *__pyx_temp[5] = {__pyx_t_7, __pyx_v_thread, __pyx_v_frame, __pyx_v_event, __pyx_v_arg}; + __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_10, 4+__pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1330, __pyx_L171_error) + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_6); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) { + PyObject *__pyx_temp[5] = {__pyx_t_7, __pyx_v_thread, __pyx_v_frame, __pyx_v_event, __pyx_v_arg}; + __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_10, 4+__pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1330, __pyx_L171_error) + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_6); + } else + #endif + { + __pyx_t_3 = PyTuple_New(4+__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1330, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_3); + if (__pyx_t_7) { + __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_7); __pyx_t_7 = NULL; + } + __Pyx_INCREF(__pyx_v_thread); + __Pyx_GIVEREF(__pyx_v_thread); + PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_10, __pyx_v_thread); + __Pyx_INCREF(__pyx_v_frame); + __Pyx_GIVEREF(__pyx_v_frame); + PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_10, __pyx_v_frame); + __Pyx_INCREF(__pyx_v_event); + __Pyx_GIVEREF(__pyx_v_event); + PyTuple_SET_ITEM(__pyx_t_3, 2+__pyx_t_10, __pyx_v_event); + __Pyx_INCREF(__pyx_v_arg); + __Pyx_GIVEREF(__pyx_v_arg); + PyTuple_SET_ITEM(__pyx_t_3, 3+__pyx_t_10, __pyx_v_arg); + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_3, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1330, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1328 + * stopped_on_plugin = plugin_manager.stop(main_debugger, frame, event, self._args, stop_info, arg, step_cmd) + * elif stop: + * if is_line: # <<<<<<<<<<<<<< + * self.set_suspend(thread, step_cmd, original_step_cmd=info.pydev_original_step_cmd) + * self.do_wait_suspend(thread, frame, event, arg) + */ + goto __pyx_L259; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1331 + * self.set_suspend(thread, step_cmd, original_step_cmd=info.pydev_original_step_cmd) + * self.do_wait_suspend(thread, frame, event, arg) + * elif is_return: # return event # <<<<<<<<<<<<<< + * back = frame.f_back + * if back is not None: + */ + __pyx_t_14 = (__pyx_v_is_return != 0); + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1332 + * self.do_wait_suspend(thread, frame, event, arg) + * elif is_return: # return event + * back = frame.f_back # <<<<<<<<<<<<<< + * if back is not None: + * # When we get to the pydevd run function, the debugging has actually finished for the main thread + */ + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1332, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_XDECREF_SET(__pyx_v_back, __pyx_t_6); + __pyx_t_6 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1333 + * elif is_return: # return event + * back = frame.f_back + * if back is not None: # <<<<<<<<<<<<<< + * # When we get to the pydevd run function, the debugging has actually finished for the main thread + * # (note that it can still go on for other threads, but for this one, we just make it finish) + */ + __pyx_t_14 = (__pyx_v_back != Py_None); + __pyx_t_9 = (__pyx_t_14 != 0); + if (__pyx_t_9) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1337 + * # (note that it can still go on for other threads, but for this one, we just make it finish) + * # So, just setting it to None should be OK + * back_absolute_filename, _, base = get_abs_path_real_path_and_base_from_frame(back) # <<<<<<<<<<<<<< + * if (base, back.f_code.co_name) in (DEBUG_START, DEBUG_START_PY3K): + * back = None + */ + __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_get_abs_path_real_path_and_base); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1337, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_8); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_8, function); + } + } + __pyx_t_6 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_3, __pyx_v_back) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_v_back); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1337, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if ((likely(PyTuple_CheckExact(__pyx_t_6))) || (PyList_CheckExact(__pyx_t_6))) { + PyObject* sequence = __pyx_t_6; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 3)) { + if (size > 3) __Pyx_RaiseTooManyValuesError(3); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 1337, __pyx_L171_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + if (likely(PyTuple_CheckExact(sequence))) { + __pyx_t_8 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_3 = PyTuple_GET_ITEM(sequence, 1); + __pyx_t_7 = PyTuple_GET_ITEM(sequence, 2); + } else { + __pyx_t_8 = PyList_GET_ITEM(sequence, 0); + __pyx_t_3 = PyList_GET_ITEM(sequence, 1); + __pyx_t_7 = PyList_GET_ITEM(sequence, 2); + } + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(__pyx_t_7); + #else + __pyx_t_8 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1337, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_3 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1337, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_7 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1337, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_7); + #endif + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } else { + Py_ssize_t index = -1; + __pyx_t_4 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1337, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_15 = Py_TYPE(__pyx_t_4)->tp_iternext; + index = 0; __pyx_t_8 = __pyx_t_15(__pyx_t_4); if (unlikely(!__pyx_t_8)) goto __pyx_L261_unpacking_failed; + __Pyx_GOTREF(__pyx_t_8); + index = 1; __pyx_t_3 = __pyx_t_15(__pyx_t_4); if (unlikely(!__pyx_t_3)) goto __pyx_L261_unpacking_failed; + __Pyx_GOTREF(__pyx_t_3); + index = 2; __pyx_t_7 = __pyx_t_15(__pyx_t_4); if (unlikely(!__pyx_t_7)) goto __pyx_L261_unpacking_failed; + __Pyx_GOTREF(__pyx_t_7); + if (__Pyx_IternextUnpackEndCheck(__pyx_t_15(__pyx_t_4), 3) < 0) __PYX_ERR(0, 1337, __pyx_L171_error) + __pyx_t_15 = NULL; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L262_unpacking_done; + __pyx_L261_unpacking_failed:; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_15 = NULL; + if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); + __PYX_ERR(0, 1337, __pyx_L171_error) + __pyx_L262_unpacking_done:; + } + __pyx_v_back_absolute_filename = __pyx_t_8; + __pyx_t_8 = 0; + __pyx_v__ = __pyx_t_3; + __pyx_t_3 = 0; + __pyx_v_base = __pyx_t_7; + __pyx_t_7 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1338 + * # So, just setting it to None should be OK + * back_absolute_filename, _, base = get_abs_path_real_path_and_base_from_frame(back) + * if (base, back.f_code.co_name) in (DEBUG_START, DEBUG_START_PY3K): # <<<<<<<<<<<<<< + * back = None + * + */ + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_back, __pyx_n_s_f_code); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1338, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_co_name); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1338, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1338, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_INCREF(__pyx_v_base); + __Pyx_GIVEREF(__pyx_v_base); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_base); + __Pyx_GIVEREF(__pyx_t_7); + PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_7); + __pyx_t_7 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_DEBUG_START); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1338, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_3 = PyObject_RichCompare(__pyx_t_6, __pyx_t_7, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1338, __pyx_L171_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1338, __pyx_L171_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (!__pyx_t_14) { + } else { + __pyx_t_9 = __pyx_t_14; + goto __pyx_L264_bool_binop_done; + } + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_DEBUG_START_PY3K); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1338, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_7 = PyObject_RichCompare(__pyx_t_6, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1338, __pyx_L171_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1338, __pyx_L171_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_9 = __pyx_t_14; + __pyx_L264_bool_binop_done:; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_14 = (__pyx_t_9 != 0); + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1339 + * back_absolute_filename, _, base = get_abs_path_real_path_and_base_from_frame(back) + * if (base, back.f_code.co_name) in (DEBUG_START, DEBUG_START_PY3K): + * back = None # <<<<<<<<<<<<<< + * + * elif base == TRACE_PROPERTY: + */ + __Pyx_INCREF(Py_None); + __Pyx_DECREF_SET(__pyx_v_back, Py_None); + + /* "_pydevd_bundle/pydevd_cython.pyx":1338 + * # So, just setting it to None should be OK + * back_absolute_filename, _, base = get_abs_path_real_path_and_base_from_frame(back) + * if (base, back.f_code.co_name) in (DEBUG_START, DEBUG_START_PY3K): # <<<<<<<<<<<<<< + * back = None + * + */ + goto __pyx_L263; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1341 + * back = None + * + * elif base == TRACE_PROPERTY: # <<<<<<<<<<<<<< + * # We dont want to trace the return event of pydevd_traceproperty (custom property for debugging) + * # if we're in a return, we want it to appear to the user in the previous frame! + */ + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_TRACE_PROPERTY); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1341, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_7 = PyObject_RichCompare(__pyx_v_base, __pyx_t_6, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1341, __pyx_L171_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1341, __pyx_L171_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1344 + * # We dont want to trace the return event of pydevd_traceproperty (custom property for debugging) + * # if we're in a return, we want it to appear to the user in the previous frame! + * return None if is_call else NO_FTRACE # <<<<<<<<<<<<<< + * + * elif pydevd_dont_trace.should_trace_hook is not None: + */ + __Pyx_XDECREF(__pyx_r); + if ((__pyx_v_is_call != 0)) { + __Pyx_INCREF(Py_None); + __pyx_t_7 = Py_None; + } else { + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1344, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_7 = __pyx_t_6; + __pyx_t_6 = 0; + } + __pyx_r = __pyx_t_7; + __pyx_t_7 = 0; + goto __pyx_L175_try_return; + + /* "_pydevd_bundle/pydevd_cython.pyx":1341 + * back = None + * + * elif base == TRACE_PROPERTY: # <<<<<<<<<<<<<< + * # We dont want to trace the return event of pydevd_traceproperty (custom property for debugging) + * # if we're in a return, we want it to appear to the user in the previous frame! + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1346 + * return None if is_call else NO_FTRACE + * + * elif pydevd_dont_trace.should_trace_hook is not None: # <<<<<<<<<<<<<< + * if not pydevd_dont_trace.should_trace_hook(back, back_absolute_filename): + * # In this case, we'll have to skip the previous one because it shouldn't be traced. + */ + __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_pydevd_dont_trace); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1346, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_should_trace_hook); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1346, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_14 = (__pyx_t_6 != Py_None); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_9 = (__pyx_t_14 != 0); + if (__pyx_t_9) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1347 + * + * elif pydevd_dont_trace.should_trace_hook is not None: + * if not pydevd_dont_trace.should_trace_hook(back, back_absolute_filename): # <<<<<<<<<<<<<< + * # In this case, we'll have to skip the previous one because it shouldn't be traced. + * # Also, we have to reset the tracing, because if the parent's parent (or some + */ + __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_pydevd_dont_trace); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1347, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_should_trace_hook); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1347, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = NULL; + __pyx_t_10 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + __pyx_t_10 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_v_back, __pyx_v_back_absolute_filename}; + __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1347, __pyx_L171_error) + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_6); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_v_back, __pyx_v_back_absolute_filename}; + __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1347, __pyx_L171_error) + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_6); + } else + #endif + { + __pyx_t_8 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1347, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_8); + if (__pyx_t_7) { + __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __pyx_t_7 = NULL; + } + __Pyx_INCREF(__pyx_v_back); + __Pyx_GIVEREF(__pyx_v_back); + PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_10, __pyx_v_back); + __Pyx_INCREF(__pyx_v_back_absolute_filename); + __Pyx_GIVEREF(__pyx_v_back_absolute_filename); + PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_10, __pyx_v_back_absolute_filename); + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_8, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1347, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 1347, __pyx_L171_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_14 = ((!__pyx_t_9) != 0); + if (__pyx_t_14) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1353 + * # we should anymore (so, a step in/over/return may not stop anywhere if no parent is traced). + * # Related test: _debugger_case17a.py + * main_debugger.set_trace_for_frame_and_parents(back) # <<<<<<<<<<<<<< + * return None if is_call else NO_FTRACE + * + */ + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_set_trace_for_frame_and_parents); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1353, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_8 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_6 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_8, __pyx_v_back) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_back); + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1353, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1354 + * # Related test: _debugger_case17a.py + * main_debugger.set_trace_for_frame_and_parents(back) + * return None if is_call else NO_FTRACE # <<<<<<<<<<<<<< + * + * if back is not None: + */ + __Pyx_XDECREF(__pyx_r); + if ((__pyx_v_is_call != 0)) { + __Pyx_INCREF(Py_None); + __pyx_t_6 = Py_None; + } else { + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1354, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_6 = __pyx_t_3; + __pyx_t_3 = 0; + } + __pyx_r = __pyx_t_6; + __pyx_t_6 = 0; + goto __pyx_L175_try_return; + + /* "_pydevd_bundle/pydevd_cython.pyx":1347 + * + * elif pydevd_dont_trace.should_trace_hook is not None: + * if not pydevd_dont_trace.should_trace_hook(back, back_absolute_filename): # <<<<<<<<<<<<<< + * # In this case, we'll have to skip the previous one because it shouldn't be traced. + * # Also, we have to reset the tracing, because if the parent's parent (or some + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1346 + * return None if is_call else NO_FTRACE + * + * elif pydevd_dont_trace.should_trace_hook is not None: # <<<<<<<<<<<<<< + * if not pydevd_dont_trace.should_trace_hook(back, back_absolute_filename): + * # In this case, we'll have to skip the previous one because it shouldn't be traced. + */ + } + __pyx_L263:; + + /* "_pydevd_bundle/pydevd_cython.pyx":1333 + * elif is_return: # return event + * back = frame.f_back + * if back is not None: # <<<<<<<<<<<<<< + * # When we get to the pydevd run function, the debugging has actually finished for the main thread + * # (note that it can still go on for other threads, but for this one, we just make it finish) + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1356 + * return None if is_call else NO_FTRACE + * + * if back is not None: # <<<<<<<<<<<<<< + * # if we're in a return, we want it to appear to the user in the previous frame! + * self.set_suspend(thread, step_cmd, original_step_cmd=info.pydev_original_step_cmd) + */ + __pyx_t_14 = (__pyx_v_back != Py_None); + __pyx_t_9 = (__pyx_t_14 != 0); + if (__pyx_t_9) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1358 + * if back is not None: + * # if we're in a return, we want it to appear to the user in the previous frame! + * self.set_suspend(thread, step_cmd, original_step_cmd=info.pydev_original_step_cmd) # <<<<<<<<<<<<<< + * self.do_wait_suspend(thread, back, event, arg) + * else: + */ + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_suspend); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1358, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_step_cmd); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1358, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1358, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_INCREF(__pyx_v_thread); + __Pyx_GIVEREF(__pyx_v_thread); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_thread); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1358, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_7 = __Pyx_PyInt_From_int(__pyx_v_info->pydev_original_step_cmd); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1358, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_7); + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_original_step_cmd, __pyx_t_7) < 0) __PYX_ERR(0, 1358, __pyx_L171_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1358, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1359 + * # if we're in a return, we want it to appear to the user in the previous frame! + * self.set_suspend(thread, step_cmd, original_step_cmd=info.pydev_original_step_cmd) + * self.do_wait_suspend(thread, back, event, arg) # <<<<<<<<<<<<<< + * else: + * # in jython we may not have a back frame + */ + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_do_wait_suspend); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1359, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_8 = NULL; + __pyx_t_10 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + __pyx_t_10 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[5] = {__pyx_t_8, __pyx_v_thread, __pyx_v_back, __pyx_v_event, __pyx_v_arg}; + __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_10, 4+__pyx_t_10); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1359, __pyx_L171_error) + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_GOTREF(__pyx_t_7); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[5] = {__pyx_t_8, __pyx_v_thread, __pyx_v_back, __pyx_v_event, __pyx_v_arg}; + __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_10, 4+__pyx_t_10); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1359, __pyx_L171_error) + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_GOTREF(__pyx_t_7); + } else + #endif + { + __pyx_t_6 = PyTuple_New(4+__pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1359, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_6); + if (__pyx_t_8) { + __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_8); __pyx_t_8 = NULL; + } + __Pyx_INCREF(__pyx_v_thread); + __Pyx_GIVEREF(__pyx_v_thread); + PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_10, __pyx_v_thread); + __Pyx_INCREF(__pyx_v_back); + __Pyx_GIVEREF(__pyx_v_back); + PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_10, __pyx_v_back); + __Pyx_INCREF(__pyx_v_event); + __Pyx_GIVEREF(__pyx_v_event); + PyTuple_SET_ITEM(__pyx_t_6, 2+__pyx_t_10, __pyx_v_event); + __Pyx_INCREF(__pyx_v_arg); + __Pyx_GIVEREF(__pyx_v_arg); + PyTuple_SET_ITEM(__pyx_t_6, 3+__pyx_t_10, __pyx_v_arg); + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1359, __pyx_L171_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1356 + * return None if is_call else NO_FTRACE + * + * if back is not None: # <<<<<<<<<<<<<< + * # if we're in a return, we want it to appear to the user in the previous frame! + * self.set_suspend(thread, step_cmd, original_step_cmd=info.pydev_original_step_cmd) + */ + goto __pyx_L267; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1362 + * else: + * # in jython we may not have a back frame + * info.pydev_step_stop = None # <<<<<<<<<<<<<< + * info.pydev_original_step_cmd = -1 + * info.pydev_step_cmd = -1 + */ + /*else*/ { + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_info->pydev_step_stop); + __Pyx_DECREF(__pyx_v_info->pydev_step_stop); + __pyx_v_info->pydev_step_stop = Py_None; + + /* "_pydevd_bundle/pydevd_cython.pyx":1363 + * # in jython we may not have a back frame + * info.pydev_step_stop = None + * info.pydev_original_step_cmd = -1 # <<<<<<<<<<<<<< + * info.pydev_step_cmd = -1 + * info.pydev_state = 1 + */ + __pyx_v_info->pydev_original_step_cmd = -1; + + /* "_pydevd_bundle/pydevd_cython.pyx":1364 + * info.pydev_step_stop = None + * info.pydev_original_step_cmd = -1 + * info.pydev_step_cmd = -1 # <<<<<<<<<<<<<< + * info.pydev_state = 1 + * + */ + __pyx_v_info->pydev_step_cmd = -1; + + /* "_pydevd_bundle/pydevd_cython.pyx":1365 + * info.pydev_original_step_cmd = -1 + * info.pydev_step_cmd = -1 + * info.pydev_state = 1 # <<<<<<<<<<<<<< + * + * except KeyboardInterrupt: + */ + __pyx_v_info->pydev_state = 1; + } + __pyx_L267:; + + /* "_pydevd_bundle/pydevd_cython.pyx":1331 + * self.set_suspend(thread, step_cmd, original_step_cmd=info.pydev_original_step_cmd) + * self.do_wait_suspend(thread, frame, event, arg) + * elif is_return: # return event # <<<<<<<<<<<<<< + * back = frame.f_back + * if back is not None: + */ + } + __pyx_L259:; + + /* "_pydevd_bundle/pydevd_cython.pyx":1327 + * if plugin_stop: + * stopped_on_plugin = plugin_manager.stop(main_debugger, frame, event, self._args, stop_info, arg, step_cmd) + * elif stop: # <<<<<<<<<<<<<< + * if is_line: + * self.set_suspend(thread, step_cmd, original_step_cmd=info.pydev_original_step_cmd) + */ + } + __pyx_L258:; + + /* "_pydevd_bundle/pydevd_cython.pyx":1146 + * + * # step handling. We stop when we hit the right frame + * try: # <<<<<<<<<<<<<< + * should_skip = 0 + * if pydevd_dont_trace.should_trace_hook is not None: + */ + } + __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; + __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; + __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; + goto __pyx_L176_try_end; + __pyx_L171_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1367 + * info.pydev_state = 1 + * + * except KeyboardInterrupt: # <<<<<<<<<<<<<< + * raise + * except: + */ + __pyx_t_10 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_KeyboardInterrupt); + if (__pyx_t_10) { + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame.trace_dispatch", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_3, &__pyx_t_6) < 0) __PYX_ERR(0, 1367, __pyx_L173_except_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_6); + + /* "_pydevd_bundle/pydevd_cython.pyx":1368 + * + * except KeyboardInterrupt: + * raise # <<<<<<<<<<<<<< + * except: + * try: + */ + __Pyx_GIVEREF(__pyx_t_7); + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_ErrRestoreWithState(__pyx_t_7, __pyx_t_3, __pyx_t_6); + __pyx_t_7 = 0; __pyx_t_3 = 0; __pyx_t_6 = 0; + __PYX_ERR(0, 1368, __pyx_L173_except_error) + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1369 + * except KeyboardInterrupt: + * raise + * except: # <<<<<<<<<<<<<< + * try: + * pydev_log.exception() + */ + /*except:*/ { + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame.trace_dispatch", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_3, &__pyx_t_7) < 0) __PYX_ERR(0, 1369, __pyx_L173_except_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_7); + + /* "_pydevd_bundle/pydevd_cython.pyx":1370 + * raise + * except: + * try: # <<<<<<<<<<<<<< + * pydev_log.exception() + * info.pydev_original_step_cmd = -1 + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_28, &__pyx_t_27, &__pyx_t_26); + __Pyx_XGOTREF(__pyx_t_28); + __Pyx_XGOTREF(__pyx_t_27); + __Pyx_XGOTREF(__pyx_t_26); + /*try:*/ { + + /* "_pydevd_bundle/pydevd_cython.pyx":1371 + * except: + * try: + * pydev_log.exception() # <<<<<<<<<<<<<< + * info.pydev_original_step_cmd = -1 + * info.pydev_step_cmd = -1 + */ + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_pydev_log); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1371, __pyx_L272_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_exception); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1371, __pyx_L272_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_8 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1371, __pyx_L272_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1372 + * try: + * pydev_log.exception() + * info.pydev_original_step_cmd = -1 # <<<<<<<<<<<<<< + * info.pydev_step_cmd = -1 + * info.pydev_step_stop = None + */ + __pyx_v_info->pydev_original_step_cmd = -1; + + /* "_pydevd_bundle/pydevd_cython.pyx":1373 + * pydev_log.exception() + * info.pydev_original_step_cmd = -1 + * info.pydev_step_cmd = -1 # <<<<<<<<<<<<<< + * info.pydev_step_stop = None + * except: + */ + __pyx_v_info->pydev_step_cmd = -1; + + /* "_pydevd_bundle/pydevd_cython.pyx":1374 + * info.pydev_original_step_cmd = -1 + * info.pydev_step_cmd = -1 + * info.pydev_step_stop = None # <<<<<<<<<<<<<< + * except: + * return None if is_call else NO_FTRACE + */ + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_info->pydev_step_stop); + __Pyx_DECREF(__pyx_v_info->pydev_step_stop); + __pyx_v_info->pydev_step_stop = Py_None; + + /* "_pydevd_bundle/pydevd_cython.pyx":1370 + * raise + * except: + * try: # <<<<<<<<<<<<<< + * pydev_log.exception() + * info.pydev_original_step_cmd = -1 + */ + } + __Pyx_XDECREF(__pyx_t_28); __pyx_t_28 = 0; + __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0; + __Pyx_XDECREF(__pyx_t_26); __pyx_t_26 = 0; + goto __pyx_L279_try_end; + __pyx_L272_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1375 + * info.pydev_step_cmd = -1 + * info.pydev_step_stop = None + * except: # <<<<<<<<<<<<<< + * return None if is_call else NO_FTRACE + * + */ + /*except:*/ { + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame.trace_dispatch", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_1, &__pyx_t_4) < 0) __PYX_ERR(0, 1375, __pyx_L274_except_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_4); + + /* "_pydevd_bundle/pydevd_cython.pyx":1376 + * info.pydev_step_stop = None + * except: + * return None if is_call else NO_FTRACE # <<<<<<<<<<<<<< + * + * # if we are quitting, let's stop the tracing + */ + __Pyx_XDECREF(__pyx_r); + if ((__pyx_v_is_call != 0)) { + __Pyx_INCREF(Py_None); + __pyx_t_2 = Py_None; + } else { + __Pyx_GetModuleGlobalName(__pyx_t_30, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 1376, __pyx_L274_except_error) + __Pyx_GOTREF(__pyx_t_30); + __pyx_t_2 = __pyx_t_30; + __pyx_t_30 = 0; + } + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L275_except_return; + } + __pyx_L274_except_error:; + + /* "_pydevd_bundle/pydevd_cython.pyx":1370 + * raise + * except: + * try: # <<<<<<<<<<<<<< + * pydev_log.exception() + * info.pydev_original_step_cmd = -1 + */ + __Pyx_XGIVEREF(__pyx_t_28); + __Pyx_XGIVEREF(__pyx_t_27); + __Pyx_XGIVEREF(__pyx_t_26); + __Pyx_ExceptionReset(__pyx_t_28, __pyx_t_27, __pyx_t_26); + goto __pyx_L173_except_error; + __pyx_L275_except_return:; + __Pyx_XGIVEREF(__pyx_t_28); + __Pyx_XGIVEREF(__pyx_t_27); + __Pyx_XGIVEREF(__pyx_t_26); + __Pyx_ExceptionReset(__pyx_t_28, __pyx_t_27, __pyx_t_26); + goto __pyx_L174_except_return; + __pyx_L279_try_end:; + } + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + goto __pyx_L172_exception_handled; + } + __pyx_L173_except_error:; + + /* "_pydevd_bundle/pydevd_cython.pyx":1146 + * + * # step handling. We stop when we hit the right frame + * try: # <<<<<<<<<<<<<< + * should_skip = 0 + * if pydevd_dont_trace.should_trace_hook is not None: + */ + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_XGIVEREF(__pyx_t_17); + __Pyx_XGIVEREF(__pyx_t_18); + __Pyx_ExceptionReset(__pyx_t_16, __pyx_t_17, __pyx_t_18); + goto __pyx_L4_error; + __pyx_L175_try_return:; + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_XGIVEREF(__pyx_t_17); + __Pyx_XGIVEREF(__pyx_t_18); + __Pyx_ExceptionReset(__pyx_t_16, __pyx_t_17, __pyx_t_18); + goto __pyx_L3_return; + __pyx_L174_except_return:; + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_XGIVEREF(__pyx_t_17); + __Pyx_XGIVEREF(__pyx_t_18); + __Pyx_ExceptionReset(__pyx_t_16, __pyx_t_17, __pyx_t_18); + goto __pyx_L3_return; + __pyx_L172_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_XGIVEREF(__pyx_t_17); + __Pyx_XGIVEREF(__pyx_t_18); + __Pyx_ExceptionReset(__pyx_t_16, __pyx_t_17, __pyx_t_18); + __pyx_L176_try_end:; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1379 + * + * # if we are quitting, let's stop the tracing + * if main_debugger.quitting: # <<<<<<<<<<<<<< + * return None if is_call else NO_FTRACE + * + */ + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_quitting); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1379, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 1379, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (__pyx_t_9) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1380 + * # if we are quitting, let's stop the tracing + * if main_debugger.quitting: + * return None if is_call else NO_FTRACE # <<<<<<<<<<<<<< + * + * return self.trace_dispatch + */ + __Pyx_XDECREF(__pyx_r); + if ((__pyx_v_is_call != 0)) { + __Pyx_INCREF(Py_None); + __pyx_t_7 = Py_None; + } else { + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1380, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_7 = __pyx_t_3; + __pyx_t_3 = 0; + } + __pyx_r = __pyx_t_7; + __pyx_t_7 = 0; + goto __pyx_L3_return; + + /* "_pydevd_bundle/pydevd_cython.pyx":1379 + * + * # if we are quitting, let's stop the tracing + * if main_debugger.quitting: # <<<<<<<<<<<<<< + * return None if is_call else NO_FTRACE + * + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1382 + * return None if is_call else NO_FTRACE + * + * return self.trace_dispatch # <<<<<<<<<<<<<< + * finally: + * info.is_tracing -= 1 + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1382, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_r = __pyx_t_7; + __pyx_t_7 = 0; + goto __pyx_L3_return; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1384 + * return self.trace_dispatch + * finally: + * info.is_tracing -= 1 # <<<<<<<<<<<<<< + * + * # end trace_dispatch + */ + /*finally:*/ { + __pyx_L4_error:; + /*exception exit:*/{ + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __pyx_t_18 = 0; __pyx_t_17 = 0; __pyx_t_16 = 0; __pyx_t_26 = 0; __pyx_t_27 = 0; __pyx_t_28 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_30); __pyx_t_30 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_26, &__pyx_t_27, &__pyx_t_28); + if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_18, &__pyx_t_17, &__pyx_t_16) < 0)) __Pyx_ErrFetch(&__pyx_t_18, &__pyx_t_17, &__pyx_t_16); + __Pyx_XGOTREF(__pyx_t_18); + __Pyx_XGOTREF(__pyx_t_17); + __Pyx_XGOTREF(__pyx_t_16); + __Pyx_XGOTREF(__pyx_t_26); + __Pyx_XGOTREF(__pyx_t_27); + __Pyx_XGOTREF(__pyx_t_28); + __pyx_t_10 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_31 = __pyx_filename; + { + __pyx_v_info->is_tracing = (__pyx_v_info->is_tracing - 1); + } + if (PY_MAJOR_VERSION >= 3) { + __Pyx_XGIVEREF(__pyx_t_26); + __Pyx_XGIVEREF(__pyx_t_27); + __Pyx_XGIVEREF(__pyx_t_28); + __Pyx_ExceptionReset(__pyx_t_26, __pyx_t_27, __pyx_t_28); + } + __Pyx_XGIVEREF(__pyx_t_18); + __Pyx_XGIVEREF(__pyx_t_17); + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_ErrRestore(__pyx_t_18, __pyx_t_17, __pyx_t_16); + __pyx_t_18 = 0; __pyx_t_17 = 0; __pyx_t_16 = 0; __pyx_t_26 = 0; __pyx_t_27 = 0; __pyx_t_28 = 0; + __pyx_lineno = __pyx_t_10; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_31; + goto __pyx_L1_error; + } + __pyx_L3_return: { + __pyx_t_28 = __pyx_r; + __pyx_r = 0; + __pyx_v_info->is_tracing = (__pyx_v_info->is_tracing - 1); + __pyx_r = __pyx_t_28; + __pyx_t_28 = 0; + goto __pyx_L0; + } + } + + /* "_pydevd_bundle/pydevd_cython.pyx":700 + * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * cpdef trace_dispatch(self, frame, str event, arg): # <<<<<<<<<<<<<< + * cdef tuple abs_path_canonical_path_and_base; + * cdef bint is_exception_event; + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_21); + __Pyx_XDECREF(__pyx_t_30); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame.trace_dispatch", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_abs_path_canonical_path_and_base); + __Pyx_XDECREF((PyObject *)__pyx_v_info); + __Pyx_XDECREF(__pyx_v_breakpoints_for_file); + __Pyx_XDECREF(__pyx_v_stop_info); + __Pyx_XDECREF(__pyx_v_curr_func_name); + __Pyx_XDECREF(__pyx_v_frame_skips_cache); + __Pyx_XDECREF(__pyx_v_frame_cache_key); + __Pyx_XDECREF(__pyx_v_line_cache_key); + __Pyx_XDECREF(__pyx_v_bp); + __Pyx_XDECREF(__pyx_v_pydev_smart_step_into_variants); + __Pyx_XDECREF(__pyx_v_main_debugger); + __Pyx_XDECREF(__pyx_v_thread); + __Pyx_XDECREF(__pyx_v_plugin_manager); + __Pyx_XDECREF(__pyx_v_stop_frame); + __Pyx_XDECREF(__pyx_v_function_breakpoint_on_call_event); + __Pyx_XDECREF(__pyx_v_returns_cache_key); + __Pyx_XDECREF(__pyx_v_return_lines); + __Pyx_XDECREF(__pyx_v_x); + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XDECREF(__pyx_v_func_lines); + __Pyx_XDECREF(__pyx_v_offset_and_lineno); + __Pyx_XDECREF(__pyx_v_flag); + __Pyx_XDECREF(__pyx_v_breakpoint); + __Pyx_XDECREF(__pyx_v_stop_reason); + __Pyx_XDECREF(__pyx_v_bp_type); + __Pyx_XDECREF(__pyx_v_new_frame); + __Pyx_XDECREF(__pyx_v_result); + __Pyx_XDECREF(__pyx_v_cmd); + __Pyx_XDECREF(__pyx_v_eval_result); + __Pyx_XDECREF(__pyx_v_plugin_stop); + __Pyx_XDECREF(__pyx_v_force_check_project_scope); + __Pyx_XDECREF(__pyx_v_filename); + __Pyx_XDECREF(__pyx_v_f2); + __Pyx_XDECREF(__pyx_v_back); + __Pyx_XDECREF(__pyx_v_smart_step_into_variant); + __Pyx_XDECREF(__pyx_v_children_variants); + __Pyx_XDECREF(__pyx_v_f_code); + __Pyx_XDECREF(__pyx_v_stopped_on_plugin); + __Pyx_XDECREF(__pyx_v_back_absolute_filename); + __Pyx_XDECREF(__pyx_v__); + __Pyx_XDECREF(__pyx_v_base); + __Pyx_XDECREF(__pyx_v_frame); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_11trace_dispatch(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_11trace_dispatch(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_frame = 0; + PyObject *__pyx_v_event = 0; + PyObject *__pyx_v_arg = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("trace_dispatch (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_frame,&__pyx_n_s_event,&__pyx_n_s_arg,0}; + PyObject* values[3] = {0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_frame)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_event)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("trace_dispatch", 1, 3, 3, 1); __PYX_ERR(0, 700, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_arg)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("trace_dispatch", 1, 3, 3, 2); __PYX_ERR(0, 700, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "trace_dispatch") < 0)) __PYX_ERR(0, 700, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + } + __pyx_v_frame = values[0]; + __pyx_v_event = ((PyObject*)values[1]); + __pyx_v_arg = values[2]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("trace_dispatch", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 700, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame.trace_dispatch", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_event), (&PyString_Type), 1, "event", 1))) __PYX_ERR(0, 700, __pyx_L1_error) + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_10trace_dispatch(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self), __pyx_v_frame, __pyx_v_event, __pyx_v_arg); + + /* function exit code */ + goto __pyx_L0; + __pyx_L1_error:; + __pyx_r = NULL; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_10trace_dispatch(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, PyObject *__pyx_v_frame, PyObject *__pyx_v_event, PyObject *__pyx_v_arg) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("trace_dispatch", 0); + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_trace_dispatch(__pyx_v_self, __pyx_v_frame, __pyx_v_event, __pyx_v_arg, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 700, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame.trace_dispatch", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * cdef tuple state + * cdef object _dict + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_12__reduce_cython__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_12__reduce_cython__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self) { + PyObject *__pyx_v_state = 0; + PyObject *__pyx_v__dict = 0; + int __pyx_v_use_setstate; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + int __pyx_t_3; + int __pyx_t_4; + int __pyx_t_5; + PyObject *__pyx_t_6 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__reduce_cython__", 0); + + /* "(tree fragment)":5 + * cdef object _dict + * cdef bint use_setstate + * state = (self._args, self.exc_info, self.should_skip) # <<<<<<<<<<<<<< + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: + */ + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->should_skip); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v_self->_args); + __Pyx_GIVEREF(__pyx_v_self->_args); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self->_args); + __Pyx_INCREF(__pyx_v_self->exc_info); + __Pyx_GIVEREF(__pyx_v_self->exc_info); + PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_self->exc_info); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_t_1); + __pyx_t_1 = 0; + __pyx_v_state = ((PyObject*)__pyx_t_2); + __pyx_t_2 = 0; + + /* "(tree fragment)":6 + * cdef bint use_setstate + * state = (self._args, self.exc_info, self.should_skip) + * _dict = getattr(self, '__dict__', None) # <<<<<<<<<<<<<< + * if _dict is not None: + * state += (_dict,) + */ + __pyx_t_2 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_v__dict = __pyx_t_2; + __pyx_t_2 = 0; + + /* "(tree fragment)":7 + * state = (self._args, self.exc_info, self.should_skip) + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: # <<<<<<<<<<<<<< + * state += (_dict,) + * use_setstate = True + */ + __pyx_t_3 = (__pyx_v__dict != Py_None); + __pyx_t_4 = (__pyx_t_3 != 0); + if (__pyx_t_4) { + + /* "(tree fragment)":8 + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: + * state += (_dict,) # <<<<<<<<<<<<<< + * use_setstate = True + * else: + */ + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 8, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v__dict); + __Pyx_GIVEREF(__pyx_v__dict); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v__dict); + __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_1)); + __pyx_t_1 = 0; + + /* "(tree fragment)":9 + * if _dict is not None: + * state += (_dict,) + * use_setstate = True # <<<<<<<<<<<<<< + * else: + * use_setstate = self._args is not None or self.exc_info is not None + */ + __pyx_v_use_setstate = 1; + + /* "(tree fragment)":7 + * state = (self._args, self.exc_info, self.should_skip) + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: # <<<<<<<<<<<<<< + * state += (_dict,) + * use_setstate = True + */ + goto __pyx_L3; + } + + /* "(tree fragment)":11 + * use_setstate = True + * else: + * use_setstate = self._args is not None or self.exc_info is not None # <<<<<<<<<<<<<< + * if use_setstate: + * return __pyx_unpickle_PyDBFrame, (type(self), 0x506e682, None), state + */ + /*else*/ { + __pyx_t_3 = (__pyx_v_self->_args != ((PyObject*)Py_None)); + __pyx_t_5 = (__pyx_t_3 != 0); + if (!__pyx_t_5) { + } else { + __pyx_t_4 = __pyx_t_5; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_5 = (__pyx_v_self->exc_info != Py_None); + __pyx_t_3 = (__pyx_t_5 != 0); + __pyx_t_4 = __pyx_t_3; + __pyx_L4_bool_binop_done:; + __pyx_v_use_setstate = __pyx_t_4; + } + __pyx_L3:; + + /* "(tree fragment)":12 + * else: + * use_setstate = self._args is not None or self.exc_info is not None + * if use_setstate: # <<<<<<<<<<<<<< + * return __pyx_unpickle_PyDBFrame, (type(self), 0x506e682, None), state + * else: + */ + __pyx_t_4 = (__pyx_v_use_setstate != 0); + if (__pyx_t_4) { + + /* "(tree fragment)":13 + * use_setstate = self._args is not None or self.exc_info is not None + * if use_setstate: + * return __pyx_unpickle_PyDBFrame, (type(self), 0x506e682, None), state # <<<<<<<<<<<<<< + * else: + * return __pyx_unpickle_PyDBFrame, (type(self), 0x506e682, state) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pyx_unpickle_PyDBFrame); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_INCREF(__pyx_int_84338306); + __Pyx_GIVEREF(__pyx_int_84338306); + PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_int_84338306); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_2, 2, Py_None); + __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_2); + __Pyx_INCREF(__pyx_v_state); + __Pyx_GIVEREF(__pyx_v_state); + PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_v_state); + __pyx_t_1 = 0; + __pyx_t_2 = 0; + __pyx_r = __pyx_t_6; + __pyx_t_6 = 0; + goto __pyx_L0; + + /* "(tree fragment)":12 + * else: + * use_setstate = self._args is not None or self.exc_info is not None + * if use_setstate: # <<<<<<<<<<<<<< + * return __pyx_unpickle_PyDBFrame, (type(self), 0x506e682, None), state + * else: + */ + } + + /* "(tree fragment)":15 + * return __pyx_unpickle_PyDBFrame, (type(self), 0x506e682, None), state + * else: + * return __pyx_unpickle_PyDBFrame, (type(self), 0x506e682, state) # <<<<<<<<<<<<<< + * def __setstate_cython__(self, __pyx_state): + * __pyx_unpickle_PyDBFrame__set_state(self, __pyx_state) + */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_pyx_unpickle_PyDBFrame); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_INCREF(__pyx_int_84338306); + __Pyx_GIVEREF(__pyx_int_84338306); + PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_int_84338306); + __Pyx_INCREF(__pyx_v_state); + __Pyx_GIVEREF(__pyx_v_state); + PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_state); + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_2); + __pyx_t_6 = 0; + __pyx_t_2 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + } + + /* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * cdef tuple state + * cdef object _dict + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_state); + __Pyx_XDECREF(__pyx_v__dict); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":16 + * else: + * return __pyx_unpickle_PyDBFrame, (type(self), 0x506e682, state) + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * __pyx_unpickle_PyDBFrame__set_state(self, __pyx_state) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_14__setstate_cython__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_14__setstate_cython__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v_self, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__setstate_cython__", 0); + + /* "(tree fragment)":17 + * return __pyx_unpickle_PyDBFrame, (type(self), 0x506e682, state) + * def __setstate_cython__(self, __pyx_state): + * __pyx_unpickle_PyDBFrame__set_state(self, __pyx_state) # <<<<<<<<<<<<<< + */ + if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(2, 17, __pyx_L1_error) + __pyx_t_1 = __pyx_f_14_pydevd_bundle_13pydevd_cython___pyx_unpickle_PyDBFrame__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 17, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "(tree fragment)":16 + * else: + * return __pyx_unpickle_PyDBFrame, (type(self), 0x506e682, state) + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * __pyx_unpickle_PyDBFrame__set_state(self, __pyx_state) + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.PyDBFrame.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pyx":1422 + * + * + * def notify_skipped_step_in_because_of_filters(py_db, frame): # <<<<<<<<<<<<<< + * global _global_notify_skipped_step_in + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_5notify_skipped_step_in_because_of_filters(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_14_pydevd_bundle_13pydevd_cython_5notify_skipped_step_in_because_of_filters = {"notify_skipped_step_in_because_of_filters", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_5notify_skipped_step_in_because_of_filters, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_5notify_skipped_step_in_because_of_filters(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_py_db = 0; + PyObject *__pyx_v_frame = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("notify_skipped_step_in_because_of_filters (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_py_db,&__pyx_n_s_frame,0}; + PyObject* values[2] = {0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_py_db)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_frame)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("notify_skipped_step_in_because_of_filters", 1, 2, 2, 1); __PYX_ERR(0, 1422, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "notify_skipped_step_in_because_of_filters") < 0)) __PYX_ERR(0, 1422, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + } + __pyx_v_py_db = values[0]; + __pyx_v_frame = values[1]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("notify_skipped_step_in_because_of_filters", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1422, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.notify_skipped_step_in_because_of_filters", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_4notify_skipped_step_in_because_of_filters(__pyx_self, __pyx_v_py_db, __pyx_v_frame); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_4notify_skipped_step_in_because_of_filters(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_py_db, PyObject *__pyx_v_frame) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + int __pyx_t_9; + PyObject *__pyx_t_10 = NULL; + int __pyx_t_11; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("notify_skipped_step_in_because_of_filters", 0); + + /* "_pydevd_bundle/pydevd_cython.pyx":1425 + * global _global_notify_skipped_step_in + * + * with _global_notify_skipped_step_in_lock: # <<<<<<<<<<<<<< + * if _global_notify_skipped_step_in: + * # Check with lock in place (callers should actually have checked + */ + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_global_notify_skipped_step_in_l); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1425, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1425, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1425, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1425, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_8); + /*try:*/ { + + /* "_pydevd_bundle/pydevd_cython.pyx":1426 + * + * with _global_notify_skipped_step_in_lock: + * if _global_notify_skipped_step_in: # <<<<<<<<<<<<<< + * # Check with lock in place (callers should actually have checked + * # before without the lock in place due to performance). + */ + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_14_pydevd_bundle_13pydevd_cython__global_notify_skipped_step_in); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 1426, __pyx_L7_error) + if (__pyx_t_9) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1429 + * # Check with lock in place (callers should actually have checked + * # before without the lock in place due to performance). + * return # <<<<<<<<<<<<<< + * _global_notify_skipped_step_in = True + * py_db.notify_skipped_step_in_because_of_filters(frame) + */ + __Pyx_XDECREF(__pyx_r); + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L11_try_return; + + /* "_pydevd_bundle/pydevd_cython.pyx":1426 + * + * with _global_notify_skipped_step_in_lock: + * if _global_notify_skipped_step_in: # <<<<<<<<<<<<<< + * # Check with lock in place (callers should actually have checked + * # before without the lock in place due to performance). + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1430 + * # before without the lock in place due to performance). + * return + * _global_notify_skipped_step_in = True # <<<<<<<<<<<<<< + * py_db.notify_skipped_step_in_because_of_filters(frame) + * + */ + __Pyx_INCREF(Py_True); + __Pyx_XGOTREF(__pyx_v_14_pydevd_bundle_13pydevd_cython__global_notify_skipped_step_in); + __Pyx_DECREF_SET(__pyx_v_14_pydevd_bundle_13pydevd_cython__global_notify_skipped_step_in, ((PyObject*)Py_True)); + __Pyx_GIVEREF(Py_True); + + /* "_pydevd_bundle/pydevd_cython.pyx":1431 + * return + * _global_notify_skipped_step_in = True + * py_db.notify_skipped_step_in_because_of_filters(frame) # <<<<<<<<<<<<<< + * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + */ + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_notify_skipped_step_in_because_o); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1431, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_v_frame) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_frame); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1431, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1425 + * global _global_notify_skipped_step_in + * + * with _global_notify_skipped_step_in_lock: # <<<<<<<<<<<<<< + * if _global_notify_skipped_step_in: + * # Check with lock in place (callers should actually have checked + */ + } + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.notify_skipped_step_in_because_of_filters", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_3, &__pyx_t_4) < 0) __PYX_ERR(0, 1425, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1425, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1425, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_10); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (__pyx_t_9 < 0) __PYX_ERR(0, 1425, __pyx_L9_except_error) + __pyx_t_11 = ((!(__pyx_t_9 != 0)) != 0); + if (__pyx_t_11) { + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_4); + __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_3, __pyx_t_4); + __pyx_t_1 = 0; __pyx_t_3 = 0; __pyx_t_4 = 0; + __PYX_ERR(0, 1425, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + goto __pyx_L1_error; + __pyx_L11_try_return:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + goto __pyx_L4_return; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + __pyx_L12_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_2) { + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__2, NULL); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1425, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + goto __pyx_L6; + } + __pyx_L4_return: { + __pyx_t_8 = __pyx_r; + __pyx_r = 0; + if (__pyx_t_2) { + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__2, NULL); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1425, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } + __pyx_r = __pyx_t_8; + __pyx_t_8 = 0; + goto __pyx_L0; + } + __pyx_L6:; + } + goto __pyx_L17; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L1_error; + __pyx_L17:; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1422 + * + * + * def notify_skipped_step_in_because_of_filters(py_db, frame): # <<<<<<<<<<<<<< + * global _global_notify_skipped_step_in + * + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.notify_skipped_step_in_because_of_filters", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pyx":1436 + * cdef class SafeCallWrapper: + * cdef method_object + * def __init__(self, method_object): # <<<<<<<<<<<<<< + * self.method_object = method_object + * def __call__(self, *args): + */ + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_method_object = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_method_object,0}; + PyObject* values[1] = {0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_method_object)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 1436, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 1) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + } + __pyx_v_method_object = values[0]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1436, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.SafeCallWrapper.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return -1; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper___init__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper *)__pyx_v_self), __pyx_v_method_object); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper___init__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper *__pyx_v_self, PyObject *__pyx_v_method_object) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__init__", 0); + + /* "_pydevd_bundle/pydevd_cython.pyx":1437 + * cdef method_object + * def __init__(self, method_object): + * self.method_object = method_object # <<<<<<<<<<<<<< + * def __call__(self, *args): + * #Cannot use 'self' once inside the delegate call since we are borrowing the self reference f_trace field + */ + __Pyx_INCREF(__pyx_v_method_object); + __Pyx_GIVEREF(__pyx_v_method_object); + __Pyx_GOTREF(__pyx_v_self->method_object); + __Pyx_DECREF(__pyx_v_self->method_object); + __pyx_v_self->method_object = __pyx_v_method_object; + + /* "_pydevd_bundle/pydevd_cython.pyx":1436 + * cdef class SafeCallWrapper: + * cdef method_object + * def __init__(self, method_object): # <<<<<<<<<<<<<< + * self.method_object = method_object + * def __call__(self, *args): + */ + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pyx":1438 + * def __init__(self, method_object): + * self.method_object = method_object + * def __call__(self, *args): # <<<<<<<<<<<<<< + * #Cannot use 'self' once inside the delegate call since we are borrowing the self reference f_trace field + * #in the frame, and that reference might get destroyed by set trace on frame and parents + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper_3__call__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper_3__call__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_args = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__call__ (wrapper)", 0); + if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__call__", 0))) return NULL; + __Pyx_INCREF(__pyx_args); + __pyx_v_args = __pyx_args; + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper_2__call__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper *)__pyx_v_self), __pyx_v_args); + + /* function exit code */ + __Pyx_XDECREF(__pyx_v_args); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper_2__call__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper *__pyx_v_self, PyObject *__pyx_v_args) { + PyObject *__pyx_v_method_obj; + PyObject *__pyx_v_ret = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__call__", 0); + + /* "_pydevd_bundle/pydevd_cython.pyx":1441 + * #Cannot use 'self' once inside the delegate call since we are borrowing the self reference f_trace field + * #in the frame, and that reference might get destroyed by set trace on frame and parents + * cdef PyObject* method_obj = self.method_object # <<<<<<<<<<<<<< + * Py_INCREF(method_obj) + * ret = (method_obj)(*args) + */ + __pyx_v_method_obj = ((PyObject *)__pyx_v_self->method_object); + + /* "_pydevd_bundle/pydevd_cython.pyx":1442 + * #in the frame, and that reference might get destroyed by set trace on frame and parents + * cdef PyObject* method_obj = self.method_object + * Py_INCREF(method_obj) # <<<<<<<<<<<<<< + * ret = (method_obj)(*args) + * Py_XDECREF (method_obj) + */ + Py_INCREF(((PyObject *)__pyx_v_method_obj)); + + /* "_pydevd_bundle/pydevd_cython.pyx":1443 + * cdef PyObject* method_obj = self.method_object + * Py_INCREF(method_obj) + * ret = (method_obj)(*args) # <<<<<<<<<<<<<< + * Py_XDECREF (method_obj) + * return SafeCallWrapper(ret) if ret is not None else None + */ + __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_v_method_obj), __pyx_v_args, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1443, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_ret = __pyx_t_1; + __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1444 + * Py_INCREF(method_obj) + * ret = (method_obj)(*args) + * Py_XDECREF (method_obj) # <<<<<<<<<<<<<< + * return SafeCallWrapper(ret) if ret is not None else None + * def get_method_object(self): + */ + Py_XDECREF(__pyx_v_method_obj); + + /* "_pydevd_bundle/pydevd_cython.pyx":1445 + * ret = (method_obj)(*args) + * Py_XDECREF (method_obj) + * return SafeCallWrapper(ret) if ret is not None else None # <<<<<<<<<<<<<< + * def get_method_object(self): + * return self.method_object + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = (__pyx_v_ret != Py_None); + if ((__pyx_t_2 != 0)) { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper), __pyx_v_ret); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1445, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = __pyx_t_3; + __pyx_t_3 = 0; + } else { + __Pyx_INCREF(Py_None); + __pyx_t_1 = Py_None; + } + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1438 + * def __init__(self, method_object): + * self.method_object = method_object + * def __call__(self, *args): # <<<<<<<<<<<<<< + * #Cannot use 'self' once inside the delegate call since we are borrowing the self reference f_trace field + * #in the frame, and that reference might get destroyed by set trace on frame and parents + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.SafeCallWrapper.__call__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_ret); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pyx":1446 + * Py_XDECREF (method_obj) + * return SafeCallWrapper(ret) if ret is not None else None + * def get_method_object(self): # <<<<<<<<<<<<<< + * return self.method_object + * # ELSE + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper_5get_method_object(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper_5get_method_object(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("get_method_object (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper_4get_method_object(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper_4get_method_object(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("get_method_object", 0); + + /* "_pydevd_bundle/pydevd_cython.pyx":1447 + * return SafeCallWrapper(ret) if ret is not None else None + * def get_method_object(self): + * return self.method_object # <<<<<<<<<<<<<< + * # ELSE + * # ENDIF + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->method_object); + __pyx_r = __pyx_v_self->method_object; + goto __pyx_L0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1446 + * Py_XDECREF (method_obj) + * return SafeCallWrapper(ret) if ret is not None else None + * def get_method_object(self): # <<<<<<<<<<<<<< + * return self.method_object + * # ELSE + */ + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * cdef tuple state + * cdef object _dict + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper_6__reduce_cython__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper_6__reduce_cython__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper *__pyx_v_self) { + PyObject *__pyx_v_state = 0; + PyObject *__pyx_v__dict = 0; + int __pyx_v_use_setstate; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + int __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__reduce_cython__", 0); + + /* "(tree fragment)":5 + * cdef object _dict + * cdef bint use_setstate + * state = (self.method_object,) # <<<<<<<<<<<<<< + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: + */ + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v_self->method_object); + __Pyx_GIVEREF(__pyx_v_self->method_object); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self->method_object); + __pyx_v_state = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "(tree fragment)":6 + * cdef bint use_setstate + * state = (self.method_object,) + * _dict = getattr(self, '__dict__', None) # <<<<<<<<<<<<<< + * if _dict is not None: + * state += (_dict,) + */ + __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v__dict = __pyx_t_1; + __pyx_t_1 = 0; + + /* "(tree fragment)":7 + * state = (self.method_object,) + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: # <<<<<<<<<<<<<< + * state += (_dict,) + * use_setstate = True + */ + __pyx_t_2 = (__pyx_v__dict != Py_None); + __pyx_t_3 = (__pyx_t_2 != 0); + if (__pyx_t_3) { + + /* "(tree fragment)":8 + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: + * state += (_dict,) # <<<<<<<<<<<<<< + * use_setstate = True + * else: + */ + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v__dict); + __Pyx_GIVEREF(__pyx_v__dict); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict); + __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 8, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4)); + __pyx_t_4 = 0; + + /* "(tree fragment)":9 + * if _dict is not None: + * state += (_dict,) + * use_setstate = True # <<<<<<<<<<<<<< + * else: + * use_setstate = self.method_object is not None + */ + __pyx_v_use_setstate = 1; + + /* "(tree fragment)":7 + * state = (self.method_object,) + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: # <<<<<<<<<<<<<< + * state += (_dict,) + * use_setstate = True + */ + goto __pyx_L3; + } + + /* "(tree fragment)":11 + * use_setstate = True + * else: + * use_setstate = self.method_object is not None # <<<<<<<<<<<<<< + * if use_setstate: + * return __pyx_unpickle_SafeCallWrapper, (type(self), 0x77c077b, None), state + */ + /*else*/ { + __pyx_t_3 = (__pyx_v_self->method_object != Py_None); + __pyx_v_use_setstate = __pyx_t_3; + } + __pyx_L3:; + + /* "(tree fragment)":12 + * else: + * use_setstate = self.method_object is not None + * if use_setstate: # <<<<<<<<<<<<<< + * return __pyx_unpickle_SafeCallWrapper, (type(self), 0x77c077b, None), state + * else: + */ + __pyx_t_3 = (__pyx_v_use_setstate != 0); + if (__pyx_t_3) { + + /* "(tree fragment)":13 + * use_setstate = self.method_object is not None + * if use_setstate: + * return __pyx_unpickle_SafeCallWrapper, (type(self), 0x77c077b, None), state # <<<<<<<<<<<<<< + * else: + * return __pyx_unpickle_SafeCallWrapper, (type(self), 0x77c077b, state) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_pyx_unpickle_SafeCallWrapper); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_INCREF(__pyx_int_125568891); + __Pyx_GIVEREF(__pyx_int_125568891); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_125568891); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1); + __Pyx_INCREF(__pyx_v_state); + __Pyx_GIVEREF(__pyx_v_state); + PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state); + __pyx_t_4 = 0; + __pyx_t_1 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; + goto __pyx_L0; + + /* "(tree fragment)":12 + * else: + * use_setstate = self.method_object is not None + * if use_setstate: # <<<<<<<<<<<<<< + * return __pyx_unpickle_SafeCallWrapper, (type(self), 0x77c077b, None), state + * else: + */ + } + + /* "(tree fragment)":15 + * return __pyx_unpickle_SafeCallWrapper, (type(self), 0x77c077b, None), state + * else: + * return __pyx_unpickle_SafeCallWrapper, (type(self), 0x77c077b, state) # <<<<<<<<<<<<<< + * def __setstate_cython__(self, __pyx_state): + * __pyx_unpickle_SafeCallWrapper__set_state(self, __pyx_state) + */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pyx_unpickle_SafeCallWrapper); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_INCREF(__pyx_int_125568891); + __Pyx_GIVEREF(__pyx_int_125568891); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_125568891); + __Pyx_INCREF(__pyx_v_state); + __Pyx_GIVEREF(__pyx_v_state); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state); + __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __pyx_t_5 = 0; + __pyx_t_1 = 0; + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; + goto __pyx_L0; + } + + /* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * cdef tuple state + * cdef object _dict + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.SafeCallWrapper.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_state); + __Pyx_XDECREF(__pyx_v__dict); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":16 + * else: + * return __pyx_unpickle_SafeCallWrapper, (type(self), 0x77c077b, state) + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * __pyx_unpickle_SafeCallWrapper__set_state(self, __pyx_state) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper_8__setstate_cython__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper_8__setstate_cython__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper *__pyx_v_self, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__setstate_cython__", 0); + + /* "(tree fragment)":17 + * return __pyx_unpickle_SafeCallWrapper, (type(self), 0x77c077b, state) + * def __setstate_cython__(self, __pyx_state): + * __pyx_unpickle_SafeCallWrapper__set_state(self, __pyx_state) # <<<<<<<<<<<<<< + */ + if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(2, 17, __pyx_L1_error) + __pyx_t_1 = __pyx_f_14_pydevd_bundle_13pydevd_cython___pyx_unpickle_SafeCallWrapper__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 17, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "(tree fragment)":16 + * else: + * return __pyx_unpickle_SafeCallWrapper, (type(self), 0x77c077b, state) + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * __pyx_unpickle_SafeCallWrapper__set_state(self, __pyx_state) + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.SafeCallWrapper.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pyx":1452 + * + * + * def fix_top_level_trace_and_get_trace_func(py_db, frame): # <<<<<<<<<<<<<< + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * cdef str filename; + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_7fix_top_level_trace_and_get_trace_func(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_14_pydevd_bundle_13pydevd_cython_7fix_top_level_trace_and_get_trace_func = {"fix_top_level_trace_and_get_trace_func", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_7fix_top_level_trace_and_get_trace_func, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_7fix_top_level_trace_and_get_trace_func(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_py_db = 0; + PyObject *__pyx_v_frame = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("fix_top_level_trace_and_get_trace_func (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_py_db,&__pyx_n_s_frame,0}; + PyObject* values[2] = {0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_py_db)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_frame)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("fix_top_level_trace_and_get_trace_func", 1, 2, 2, 1); __PYX_ERR(0, 1452, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "fix_top_level_trace_and_get_trace_func") < 0)) __PYX_ERR(0, 1452, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + } + __pyx_v_py_db = values[0]; + __pyx_v_frame = values[1]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("fix_top_level_trace_and_get_trace_func", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1452, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.fix_top_level_trace_and_get_trace_func", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_and_get_trace_func(__pyx_self, __pyx_v_py_db, __pyx_v_frame); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_6fix_top_level_trace_and_get_trace_func(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_py_db, PyObject *__pyx_v_frame) { + PyObject *__pyx_v_name = 0; + PyObject *__pyx_v_args = 0; + PyObject *__pyx_v_thread = NULL; + PyObject *__pyx_v_f_unhandled = NULL; + int __pyx_v_force_only_unhandled_tracer; + PyObject *__pyx_v_i = NULL; + PyObject *__pyx_v_j = NULL; + PyObject *__pyx_v_t = NULL; + PyObject *__pyx_v_additional_info = NULL; + PyObject *__pyx_v_top_level_thread_tracer = NULL; + PyObject *__pyx_v_f_trace = NULL; + PyObject *__pyx_v_thread_tracer = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + PyObject *__pyx_t_7 = NULL; + int __pyx_t_8; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + int __pyx_t_15; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("fix_top_level_trace_and_get_trace_func", 0); + + /* "_pydevd_bundle/pydevd_cython.pyx":1463 + * # where more information is cached (and will also setup the tracing for + * # frames where we should deal with unhandled exceptions). + * thread = None # <<<<<<<<<<<<<< + * # Cache the frame which should be traced to deal with unhandled exceptions. + * # (i.e.: thread entry-points). + */ + __Pyx_INCREF(Py_None); + __pyx_v_thread = Py_None; + + /* "_pydevd_bundle/pydevd_cython.pyx":1467 + * # (i.e.: thread entry-points). + * + * f_unhandled = frame # <<<<<<<<<<<<<< + * # print('called at', f_unhandled.f_code.co_name, f_unhandled.f_code.co_filename, f_unhandled.f_code.co_firstlineno) + * force_only_unhandled_tracer = False + */ + __Pyx_INCREF(__pyx_v_frame); + __pyx_v_f_unhandled = __pyx_v_frame; + + /* "_pydevd_bundle/pydevd_cython.pyx":1469 + * f_unhandled = frame + * # print('called at', f_unhandled.f_code.co_name, f_unhandled.f_code.co_filename, f_unhandled.f_code.co_firstlineno) + * force_only_unhandled_tracer = False # <<<<<<<<<<<<<< + * while f_unhandled is not None: + * # name = splitext(basename(f_unhandled.f_code.co_filename))[0] + */ + __pyx_v_force_only_unhandled_tracer = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1470 + * # print('called at', f_unhandled.f_code.co_name, f_unhandled.f_code.co_filename, f_unhandled.f_code.co_firstlineno) + * force_only_unhandled_tracer = False + * while f_unhandled is not None: # <<<<<<<<<<<<<< + * # name = splitext(basename(f_unhandled.f_code.co_filename))[0] + * + */ + while (1) { + __pyx_t_1 = (__pyx_v_f_unhandled != Py_None); + __pyx_t_2 = (__pyx_t_1 != 0); + if (!__pyx_t_2) break; + + /* "_pydevd_bundle/pydevd_cython.pyx":1473 + * # name = splitext(basename(f_unhandled.f_code.co_filename))[0] + * + * name = f_unhandled.f_code.co_filename # <<<<<<<<<<<<<< + * # basename + * i = name.rfind('/') + */ + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f_unhandled, __pyx_n_s_f_code); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1473, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_co_filename); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1473, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (!(likely(PyString_CheckExact(__pyx_t_4))||((__pyx_t_4) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_4)->tp_name), 0))) __PYX_ERR(0, 1473, __pyx_L1_error) + __Pyx_XDECREF_SET(__pyx_v_name, ((PyObject*)__pyx_t_4)); + __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1475 + * name = f_unhandled.f_code.co_filename + * # basename + * i = name.rfind('/') # <<<<<<<<<<<<<< + * j = name.rfind('\\') + * if j > i: + */ + __pyx_t_4 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyString_Type_rfind, __pyx_v_name, __pyx_kp_s__5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1475, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_4); + __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1476 + * # basename + * i = name.rfind('/') + * j = name.rfind('\\') # <<<<<<<<<<<<<< + * if j > i: + * i = j + */ + __pyx_t_4 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyString_Type_rfind, __pyx_v_name, __pyx_kp_s__6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1476, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_XDECREF_SET(__pyx_v_j, __pyx_t_4); + __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1477 + * i = name.rfind('/') + * j = name.rfind('\\') + * if j > i: # <<<<<<<<<<<<<< + * i = j + * if i >= 0: + */ + __pyx_t_4 = PyObject_RichCompare(__pyx_v_j, __pyx_v_i, Py_GT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1477, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 1477, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_2) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1478 + * j = name.rfind('\\') + * if j > i: + * i = j # <<<<<<<<<<<<<< + * if i >= 0: + * name = name[i + 1:] + */ + __Pyx_INCREF(__pyx_v_j); + __Pyx_DECREF_SET(__pyx_v_i, __pyx_v_j); + + /* "_pydevd_bundle/pydevd_cython.pyx":1477 + * i = name.rfind('/') + * j = name.rfind('\\') + * if j > i: # <<<<<<<<<<<<<< + * i = j + * if i >= 0: + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1479 + * if j > i: + * i = j + * if i >= 0: # <<<<<<<<<<<<<< + * name = name[i + 1:] + * # remove ext + */ + __pyx_t_4 = PyObject_RichCompare(__pyx_v_i, __pyx_int_0, Py_GE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1479, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 1479, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_2) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1480 + * i = j + * if i >= 0: + * name = name[i + 1:] # <<<<<<<<<<<<<< + * # remove ext + * i = name.rfind('.') + */ + if (unlikely(__pyx_v_name == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 1480, __pyx_L1_error) + } + __pyx_t_4 = __Pyx_PyInt_AddObjC(__pyx_v_i, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1480, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_2 = (__pyx_t_4 == Py_None); + if (__pyx_t_2) { + __pyx_t_5 = 0; + } else { + __pyx_t_6 = __Pyx_PyIndex_AsSsize_t(__pyx_t_4); if (unlikely((__pyx_t_6 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 1480, __pyx_L1_error) + __pyx_t_5 = __pyx_t_6; + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = PySequence_GetSlice(__pyx_v_name, __pyx_t_5, PY_SSIZE_T_MAX); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1480, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF_SET(__pyx_v_name, ((PyObject*)__pyx_t_4)); + __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1479 + * if j > i: + * i = j + * if i >= 0: # <<<<<<<<<<<<<< + * name = name[i + 1:] + * # remove ext + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1482 + * name = name[i + 1:] + * # remove ext + * i = name.rfind('.') # <<<<<<<<<<<<<< + * if i >= 0: + * name = name[:i] + */ + __pyx_t_4 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyString_Type_rfind, __pyx_v_name, __pyx_kp_s__7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1482, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF_SET(__pyx_v_i, __pyx_t_4); + __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1483 + * # remove ext + * i = name.rfind('.') + * if i >= 0: # <<<<<<<<<<<<<< + * name = name[:i] + * + */ + __pyx_t_4 = PyObject_RichCompare(__pyx_v_i, __pyx_int_0, Py_GE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1483, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 1483, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_2) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1484 + * i = name.rfind('.') + * if i >= 0: + * name = name[:i] # <<<<<<<<<<<<<< + * + * if name == 'threading': + */ + if (unlikely(__pyx_v_name == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 1484, __pyx_L1_error) + } + __Pyx_INCREF(__pyx_v_i); + __pyx_t_4 = __pyx_v_i; + __pyx_t_2 = (__pyx_t_4 == Py_None); + if (__pyx_t_2) { + __pyx_t_5 = PY_SSIZE_T_MAX; + } else { + __pyx_t_6 = __Pyx_PyIndex_AsSsize_t(__pyx_t_4); if (unlikely((__pyx_t_6 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 1484, __pyx_L1_error) + __pyx_t_5 = __pyx_t_6; + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = PySequence_GetSlice(__pyx_v_name, 0, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1484, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF_SET(__pyx_v_name, ((PyObject*)__pyx_t_4)); + __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1483 + * # remove ext + * i = name.rfind('.') + * if i >= 0: # <<<<<<<<<<<<<< + * name = name[:i] + * + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1486 + * name = name[:i] + * + * if name == 'threading': # <<<<<<<<<<<<<< + * if f_unhandled.f_code.co_name in ('__bootstrap', '_bootstrap'): + * # We need __bootstrap_inner, not __bootstrap. + */ + __pyx_t_2 = (__Pyx_PyString_Equals(__pyx_v_name, __pyx_n_s_threading, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 1486, __pyx_L1_error) + __pyx_t_1 = (__pyx_t_2 != 0); + if (__pyx_t_1) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1487 + * + * if name == 'threading': + * if f_unhandled.f_code.co_name in ('__bootstrap', '_bootstrap'): # <<<<<<<<<<<<<< + * # We need __bootstrap_inner, not __bootstrap. + * return None, False + */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f_unhandled, __pyx_n_s_f_code); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1487, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_co_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1487, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_2 = (__Pyx_PyString_Equals(__pyx_t_3, __pyx_n_s_bootstrap, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 1487, __pyx_L1_error) + if (!__pyx_t_2) { + } else { + __pyx_t_1 = __pyx_t_2; + goto __pyx_L10_bool_binop_done; + } + __pyx_t_2 = (__Pyx_PyString_Equals(__pyx_t_3, __pyx_n_s_bootstrap_2, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 1487, __pyx_L1_error) + __pyx_t_1 = __pyx_t_2; + __pyx_L10_bool_binop_done:; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_2 = (__pyx_t_1 != 0); + if (__pyx_t_2) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1489 + * if f_unhandled.f_code.co_name in ('__bootstrap', '_bootstrap'): + * # We need __bootstrap_inner, not __bootstrap. + * return None, False # <<<<<<<<<<<<<< + * + * elif f_unhandled.f_code.co_name in ('__bootstrap_inner', '_bootstrap_inner'): + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_tuple__8); + __pyx_r = __pyx_tuple__8; + goto __pyx_L0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1487 + * + * if name == 'threading': + * if f_unhandled.f_code.co_name in ('__bootstrap', '_bootstrap'): # <<<<<<<<<<<<<< + * # We need __bootstrap_inner, not __bootstrap. + * return None, False + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1491 + * return None, False + * + * elif f_unhandled.f_code.co_name in ('__bootstrap_inner', '_bootstrap_inner'): # <<<<<<<<<<<<<< + * # Note: be careful not to use threading.currentThread to avoid creating a dummy thread. + * t = f_unhandled.f_locals.get('self') + */ + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f_unhandled, __pyx_n_s_f_code); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1491, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_co_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1491, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_1 = (__Pyx_PyString_Equals(__pyx_t_4, __pyx_n_s_bootstrap_inner, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1491, __pyx_L1_error) + if (!__pyx_t_1) { + } else { + __pyx_t_2 = __pyx_t_1; + goto __pyx_L12_bool_binop_done; + } + __pyx_t_1 = (__Pyx_PyString_Equals(__pyx_t_4, __pyx_n_s_bootstrap_inner_2, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1491, __pyx_L1_error) + __pyx_t_2 = __pyx_t_1; + __pyx_L12_bool_binop_done:; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_1 = (__pyx_t_2 != 0); + if (__pyx_t_1) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1493 + * elif f_unhandled.f_code.co_name in ('__bootstrap_inner', '_bootstrap_inner'): + * # Note: be careful not to use threading.currentThread to avoid creating a dummy thread. + * t = f_unhandled.f_locals.get('self') # <<<<<<<<<<<<<< + * force_only_unhandled_tracer = True + * if t is not None and isinstance(t, threading.Thread): + */ + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f_unhandled, __pyx_n_s_f_locals); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1493, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_get); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1493, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_3, __pyx_n_s_self) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_n_s_self); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1493, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); + __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1494 + * # Note: be careful not to use threading.currentThread to avoid creating a dummy thread. + * t = f_unhandled.f_locals.get('self') + * force_only_unhandled_tracer = True # <<<<<<<<<<<<<< + * if t is not None and isinstance(t, threading.Thread): + * thread = t + */ + __pyx_v_force_only_unhandled_tracer = 1; + + /* "_pydevd_bundle/pydevd_cython.pyx":1495 + * t = f_unhandled.f_locals.get('self') + * force_only_unhandled_tracer = True + * if t is not None and isinstance(t, threading.Thread): # <<<<<<<<<<<<<< + * thread = t + * break + */ + __pyx_t_2 = (__pyx_v_t != Py_None); + __pyx_t_8 = (__pyx_t_2 != 0); + if (__pyx_t_8) { + } else { + __pyx_t_1 = __pyx_t_8; + goto __pyx_L15_bool_binop_done; + } + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_threading); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1495, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_Thread); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1495, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_8 = PyObject_IsInstance(__pyx_v_t, __pyx_t_7); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(0, 1495, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_2 = (__pyx_t_8 != 0); + __pyx_t_1 = __pyx_t_2; + __pyx_L15_bool_binop_done:; + if (__pyx_t_1) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1496 + * force_only_unhandled_tracer = True + * if t is not None and isinstance(t, threading.Thread): + * thread = t # <<<<<<<<<<<<<< + * break + * + */ + __Pyx_INCREF(__pyx_v_t); + __Pyx_DECREF_SET(__pyx_v_thread, __pyx_v_t); + + /* "_pydevd_bundle/pydevd_cython.pyx":1497 + * if t is not None and isinstance(t, threading.Thread): + * thread = t + * break # <<<<<<<<<<<<<< + * + * elif name == 'pydev_monkey': + */ + goto __pyx_L4_break; + + /* "_pydevd_bundle/pydevd_cython.pyx":1495 + * t = f_unhandled.f_locals.get('self') + * force_only_unhandled_tracer = True + * if t is not None and isinstance(t, threading.Thread): # <<<<<<<<<<<<<< + * thread = t + * break + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1491 + * return None, False + * + * elif f_unhandled.f_code.co_name in ('__bootstrap_inner', '_bootstrap_inner'): # <<<<<<<<<<<<<< + * # Note: be careful not to use threading.currentThread to avoid creating a dummy thread. + * t = f_unhandled.f_locals.get('self') + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1486 + * name = name[:i] + * + * if name == 'threading': # <<<<<<<<<<<<<< + * if f_unhandled.f_code.co_name in ('__bootstrap', '_bootstrap'): + * # We need __bootstrap_inner, not __bootstrap. + */ + goto __pyx_L8; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1499 + * break + * + * elif name == 'pydev_monkey': # <<<<<<<<<<<<<< + * if f_unhandled.f_code.co_name == '__call__': + * force_only_unhandled_tracer = True + */ + __pyx_t_1 = (__Pyx_PyString_Equals(__pyx_v_name, __pyx_n_s_pydev_monkey, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1499, __pyx_L1_error) + __pyx_t_2 = (__pyx_t_1 != 0); + if (__pyx_t_2) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1500 + * + * elif name == 'pydev_monkey': + * if f_unhandled.f_code.co_name == '__call__': # <<<<<<<<<<<<<< + * force_only_unhandled_tracer = True + * break + */ + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_f_unhandled, __pyx_n_s_f_code); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1500, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_co_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1500, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_2 = (__Pyx_PyString_Equals(__pyx_t_4, __pyx_n_s_call_2, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 1500, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_2) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1501 + * elif name == 'pydev_monkey': + * if f_unhandled.f_code.co_name == '__call__': + * force_only_unhandled_tracer = True # <<<<<<<<<<<<<< + * break + * + */ + __pyx_v_force_only_unhandled_tracer = 1; + + /* "_pydevd_bundle/pydevd_cython.pyx":1502 + * if f_unhandled.f_code.co_name == '__call__': + * force_only_unhandled_tracer = True + * break # <<<<<<<<<<<<<< + * + * elif name == 'pydevd': + */ + goto __pyx_L4_break; + + /* "_pydevd_bundle/pydevd_cython.pyx":1500 + * + * elif name == 'pydev_monkey': + * if f_unhandled.f_code.co_name == '__call__': # <<<<<<<<<<<<<< + * force_only_unhandled_tracer = True + * break + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1499 + * break + * + * elif name == 'pydev_monkey': # <<<<<<<<<<<<<< + * if f_unhandled.f_code.co_name == '__call__': + * force_only_unhandled_tracer = True + */ + goto __pyx_L8; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1504 + * break + * + * elif name == 'pydevd': # <<<<<<<<<<<<<< + * if f_unhandled.f_code.co_name in ('run', 'main'): + * # We need to get to _exec + */ + __pyx_t_2 = (__Pyx_PyString_Equals(__pyx_v_name, __pyx_n_s_pydevd, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 1504, __pyx_L1_error) + __pyx_t_1 = (__pyx_t_2 != 0); + if (__pyx_t_1) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1505 + * + * elif name == 'pydevd': + * if f_unhandled.f_code.co_name in ('run', 'main'): # <<<<<<<<<<<<<< + * # We need to get to _exec + * return None, False + */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f_unhandled, __pyx_n_s_f_code); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1505, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_co_name); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1505, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_2 = (__Pyx_PyString_Equals(__pyx_t_7, __pyx_n_s_run, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 1505, __pyx_L1_error) + if (!__pyx_t_2) { + } else { + __pyx_t_1 = __pyx_t_2; + goto __pyx_L19_bool_binop_done; + } + __pyx_t_2 = (__Pyx_PyString_Equals(__pyx_t_7, __pyx_n_s_main, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 1505, __pyx_L1_error) + __pyx_t_1 = __pyx_t_2; + __pyx_L19_bool_binop_done:; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_2 = (__pyx_t_1 != 0); + if (__pyx_t_2) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1507 + * if f_unhandled.f_code.co_name in ('run', 'main'): + * # We need to get to _exec + * return None, False # <<<<<<<<<<<<<< + * + * if f_unhandled.f_code.co_name == '_exec': + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_tuple__8); + __pyx_r = __pyx_tuple__8; + goto __pyx_L0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1505 + * + * elif name == 'pydevd': + * if f_unhandled.f_code.co_name in ('run', 'main'): # <<<<<<<<<<<<<< + * # We need to get to _exec + * return None, False + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1509 + * return None, False + * + * if f_unhandled.f_code.co_name == '_exec': # <<<<<<<<<<<<<< + * force_only_unhandled_tracer = True + * break + */ + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_f_unhandled, __pyx_n_s_f_code); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1509, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_co_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1509, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_2 = (__Pyx_PyString_Equals(__pyx_t_4, __pyx_n_s_exec, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 1509, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_2) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1510 + * + * if f_unhandled.f_code.co_name == '_exec': + * force_only_unhandled_tracer = True # <<<<<<<<<<<<<< + * break + * + */ + __pyx_v_force_only_unhandled_tracer = 1; + + /* "_pydevd_bundle/pydevd_cython.pyx":1511 + * if f_unhandled.f_code.co_name == '_exec': + * force_only_unhandled_tracer = True + * break # <<<<<<<<<<<<<< + * + * elif name == 'pydevd_tracing': + */ + goto __pyx_L4_break; + + /* "_pydevd_bundle/pydevd_cython.pyx":1509 + * return None, False + * + * if f_unhandled.f_code.co_name == '_exec': # <<<<<<<<<<<<<< + * force_only_unhandled_tracer = True + * break + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1504 + * break + * + * elif name == 'pydevd': # <<<<<<<<<<<<<< + * if f_unhandled.f_code.co_name in ('run', 'main'): + * # We need to get to _exec + */ + goto __pyx_L8; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1513 + * break + * + * elif name == 'pydevd_tracing': # <<<<<<<<<<<<<< + * return None, False + * + */ + __pyx_t_2 = (__Pyx_PyString_Equals(__pyx_v_name, __pyx_n_s_pydevd_tracing, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 1513, __pyx_L1_error) + __pyx_t_1 = (__pyx_t_2 != 0); + if (__pyx_t_1) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1514 + * + * elif name == 'pydevd_tracing': + * return None, False # <<<<<<<<<<<<<< + * + * elif f_unhandled.f_back is None: + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_tuple__8); + __pyx_r = __pyx_tuple__8; + goto __pyx_L0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1513 + * break + * + * elif name == 'pydevd_tracing': # <<<<<<<<<<<<<< + * return None, False + * + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1516 + * return None, False + * + * elif f_unhandled.f_back is None: # <<<<<<<<<<<<<< + * break + * + */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f_unhandled, __pyx_n_s_f_back); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1516, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = (__pyx_t_4 == Py_None); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_2 = (__pyx_t_1 != 0); + if (__pyx_t_2) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1517 + * + * elif f_unhandled.f_back is None: + * break # <<<<<<<<<<<<<< + * + * f_unhandled = f_unhandled.f_back + */ + goto __pyx_L4_break; + + /* "_pydevd_bundle/pydevd_cython.pyx":1516 + * return None, False + * + * elif f_unhandled.f_back is None: # <<<<<<<<<<<<<< + * break + * + */ + } + __pyx_L8:; + + /* "_pydevd_bundle/pydevd_cython.pyx":1519 + * break + * + * f_unhandled = f_unhandled.f_back # <<<<<<<<<<<<<< + * + * if thread is None: + */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f_unhandled, __pyx_n_s_f_back); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1519, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF_SET(__pyx_v_f_unhandled, __pyx_t_4); + __pyx_t_4 = 0; + } + __pyx_L4_break:; + + /* "_pydevd_bundle/pydevd_cython.pyx":1521 + * f_unhandled = f_unhandled.f_back + * + * if thread is None: # <<<<<<<<<<<<<< + * # Important: don't call threadingCurrentThread if we're in the threading module + * # to avoid creating dummy threads. + */ + __pyx_t_2 = (__pyx_v_thread == Py_None); + __pyx_t_1 = (__pyx_t_2 != 0); + if (__pyx_t_1) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1524 + * # Important: don't call threadingCurrentThread if we're in the threading module + * # to avoid creating dummy threads. + * if py_db.threading_get_ident is not None: # <<<<<<<<<<<<<< + * thread = py_db.threading_active.get(py_db.threading_get_ident()) + * if thread is None: + */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_threading_get_ident); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1524, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = (__pyx_t_4 != Py_None); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_2 = (__pyx_t_1 != 0); + if (__pyx_t_2) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1525 + * # to avoid creating dummy threads. + * if py_db.threading_get_ident is not None: + * thread = py_db.threading_active.get(py_db.threading_get_ident()) # <<<<<<<<<<<<<< + * if thread is None: + * return None, False + */ + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_threading_active); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1525, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_get); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1525, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_threading_get_ident); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1525, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_10 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_10)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_10); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_9, function); + } + } + __pyx_t_7 = (__pyx_t_10) ? __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_10) : __Pyx_PyObject_CallNoArg(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1525, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_t_9 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_4 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_9, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_7); + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1525, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF_SET(__pyx_v_thread, __pyx_t_4); + __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1526 + * if py_db.threading_get_ident is not None: + * thread = py_db.threading_active.get(py_db.threading_get_ident()) + * if thread is None: # <<<<<<<<<<<<<< + * return None, False + * else: + */ + __pyx_t_2 = (__pyx_v_thread == Py_None); + __pyx_t_1 = (__pyx_t_2 != 0); + if (__pyx_t_1) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1527 + * thread = py_db.threading_active.get(py_db.threading_get_ident()) + * if thread is None: + * return None, False # <<<<<<<<<<<<<< + * else: + * # Jython does not have threading.get_ident(). + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_tuple__8); + __pyx_r = __pyx_tuple__8; + goto __pyx_L0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1526 + * if py_db.threading_get_ident is not None: + * thread = py_db.threading_active.get(py_db.threading_get_ident()) + * if thread is None: # <<<<<<<<<<<<<< + * return None, False + * else: + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1524 + * # Important: don't call threadingCurrentThread if we're in the threading module + * # to avoid creating dummy threads. + * if py_db.threading_get_ident is not None: # <<<<<<<<<<<<<< + * thread = py_db.threading_active.get(py_db.threading_get_ident()) + * if thread is None: + */ + goto __pyx_L23; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1530 + * else: + * # Jython does not have threading.get_ident(). + * thread = py_db.threading_current_thread() # <<<<<<<<<<<<<< + * + * if getattr(thread, 'pydev_do_not_trace', None): + */ + /*else*/ { + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_threading_current_thread); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1530, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_7 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_4 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1530, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF_SET(__pyx_v_thread, __pyx_t_4); + __pyx_t_4 = 0; + } + __pyx_L23:; + + /* "_pydevd_bundle/pydevd_cython.pyx":1521 + * f_unhandled = f_unhandled.f_back + * + * if thread is None: # <<<<<<<<<<<<<< + * # Important: don't call threadingCurrentThread if we're in the threading module + * # to avoid creating dummy threads. + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1532 + * thread = py_db.threading_current_thread() + * + * if getattr(thread, 'pydev_do_not_trace', None): # <<<<<<<<<<<<<< + * py_db.disable_tracing() + * return None, False + */ + __pyx_t_4 = __Pyx_GetAttr3(__pyx_v_thread, __pyx_n_s_pydev_do_not_trace, Py_None); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1532, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1532, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_1) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1533 + * + * if getattr(thread, 'pydev_do_not_trace', None): + * py_db.disable_tracing() # <<<<<<<<<<<<<< + * return None, False + * + */ + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_disable_tracing); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1533, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_7 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_4 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1533, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1534 + * if getattr(thread, 'pydev_do_not_trace', None): + * py_db.disable_tracing() + * return None, False # <<<<<<<<<<<<<< + * + * try: + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_tuple__8); + __pyx_r = __pyx_tuple__8; + goto __pyx_L0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1532 + * thread = py_db.threading_current_thread() + * + * if getattr(thread, 'pydev_do_not_trace', None): # <<<<<<<<<<<<<< + * py_db.disable_tracing() + * return None, False + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1536 + * return None, False + * + * try: # <<<<<<<<<<<<<< + * additional_info = thread.additional_info + * if additional_info is None: + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_13); + /*try:*/ { + + /* "_pydevd_bundle/pydevd_cython.pyx":1537 + * + * try: + * additional_info = thread.additional_info # <<<<<<<<<<<<<< + * if additional_info is None: + * raise AttributeError() + */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_thread, __pyx_n_s_additional_info); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1537, __pyx_L26_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_v_additional_info = __pyx_t_4; + __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1538 + * try: + * additional_info = thread.additional_info + * if additional_info is None: # <<<<<<<<<<<<<< + * raise AttributeError() + * except: + */ + __pyx_t_1 = (__pyx_v_additional_info == Py_None); + __pyx_t_2 = (__pyx_t_1 != 0); + if (unlikely(__pyx_t_2)) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1539 + * additional_info = thread.additional_info + * if additional_info is None: + * raise AttributeError() # <<<<<<<<<<<<<< + * except: + * additional_info = py_db.set_additional_thread_info(thread) + */ + __pyx_t_4 = __Pyx_PyObject_CallNoArg(__pyx_builtin_AttributeError); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1539, __pyx_L26_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_Raise(__pyx_t_4, 0, 0, 0); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __PYX_ERR(0, 1539, __pyx_L26_error) + + /* "_pydevd_bundle/pydevd_cython.pyx":1538 + * try: + * additional_info = thread.additional_info + * if additional_info is None: # <<<<<<<<<<<<<< + * raise AttributeError() + * except: + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1536 + * return None, False + * + * try: # <<<<<<<<<<<<<< + * additional_info = thread.additional_info + * if additional_info is None: + */ + } + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + goto __pyx_L31_try_end; + __pyx_L26_error:; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1540 + * if additional_info is None: + * raise AttributeError() + * except: # <<<<<<<<<<<<<< + * additional_info = py_db.set_additional_thread_info(thread) + * + */ + /*except:*/ { + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.fix_top_level_trace_and_get_trace_func", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_3, &__pyx_t_7) < 0) __PYX_ERR(0, 1540, __pyx_L28_except_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_7); + + /* "_pydevd_bundle/pydevd_cython.pyx":1541 + * raise AttributeError() + * except: + * additional_info = py_db.set_additional_thread_info(thread) # <<<<<<<<<<<<<< + * + * # print('enter thread tracer', thread, get_current_thread_id(thread)) + */ + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_set_additional_thread_info); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1541, __pyx_L28_except_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_14 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_14)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_14); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); + } + } + __pyx_t_9 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_14, __pyx_v_thread) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_v_thread); + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1541, __pyx_L28_except_error) + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF_SET(__pyx_v_additional_info, __pyx_t_9); + __pyx_t_9 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + goto __pyx_L27_exception_handled; + } + __pyx_L28_except_error:; + + /* "_pydevd_bundle/pydevd_cython.pyx":1536 + * return None, False + * + * try: # <<<<<<<<<<<<<< + * additional_info = thread.additional_info + * if additional_info is None: + */ + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); + goto __pyx_L1_error; + __pyx_L27_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); + __pyx_L31_try_end:; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1544 + * + * # print('enter thread tracer', thread, get_current_thread_id(thread)) + * args = (py_db, thread, additional_info, global_cache_skips, global_cache_frame_skips) # <<<<<<<<<<<<<< + * + * if f_unhandled is not None: + */ + __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_global_cache_skips); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1544, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_global_cache_frame_skips); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1544, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyTuple_New(5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1544, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_INCREF(__pyx_v_py_db); + __Pyx_GIVEREF(__pyx_v_py_db); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_py_db); + __Pyx_INCREF(__pyx_v_thread); + __Pyx_GIVEREF(__pyx_v_thread); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_thread); + __Pyx_INCREF(__pyx_v_additional_info); + __Pyx_GIVEREF(__pyx_v_additional_info); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_additional_info); + __Pyx_GIVEREF(__pyx_t_7); + PyTuple_SET_ITEM(__pyx_t_4, 3, __pyx_t_7); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_4, 4, __pyx_t_3); + __pyx_t_7 = 0; + __pyx_t_3 = 0; + __pyx_v_args = ((PyObject*)__pyx_t_4); + __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1546 + * args = (py_db, thread, additional_info, global_cache_skips, global_cache_frame_skips) + * + * if f_unhandled is not None: # <<<<<<<<<<<<<< + * if f_unhandled.f_back is None and not force_only_unhandled_tracer: + * # Happens when we attach to a running program (cannot reuse instance because it's mutable). + */ + __pyx_t_2 = (__pyx_v_f_unhandled != Py_None); + __pyx_t_1 = (__pyx_t_2 != 0); + if (__pyx_t_1) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1547 + * + * if f_unhandled is not None: + * if f_unhandled.f_back is None and not force_only_unhandled_tracer: # <<<<<<<<<<<<<< + * # Happens when we attach to a running program (cannot reuse instance because it's mutable). + * top_level_thread_tracer = TopLevelThreadTracerNoBackFrame(ThreadTracer(args), args) + */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f_unhandled, __pyx_n_s_f_back); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1547, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_2 = (__pyx_t_4 == Py_None); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_8 = (__pyx_t_2 != 0); + if (__pyx_t_8) { + } else { + __pyx_t_1 = __pyx_t_8; + goto __pyx_L37_bool_binop_done; + } + __pyx_t_8 = ((!(__pyx_v_force_only_unhandled_tracer != 0)) != 0); + __pyx_t_1 = __pyx_t_8; + __pyx_L37_bool_binop_done:; + if (__pyx_t_1) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1549 + * if f_unhandled.f_back is None and not force_only_unhandled_tracer: + * # Happens when we attach to a running program (cannot reuse instance because it's mutable). + * top_level_thread_tracer = TopLevelThreadTracerNoBackFrame(ThreadTracer(args), args) # <<<<<<<<<<<<<< + * additional_info.top_level_thread_tracer_no_back_frames.append(top_level_thread_tracer) # Hack for cython to keep it alive while the thread is alive (just the method in the SetTrace is not enough). + * else: + */ + __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_ThreadTracer), __pyx_v_args); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1549, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1549, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); + __Pyx_INCREF(__pyx_v_args); + __Pyx_GIVEREF(__pyx_v_args); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_args); + __pyx_t_4 = 0; + __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame), __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1549, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_top_level_thread_tracer = __pyx_t_4; + __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1550 + * # Happens when we attach to a running program (cannot reuse instance because it's mutable). + * top_level_thread_tracer = TopLevelThreadTracerNoBackFrame(ThreadTracer(args), args) + * additional_info.top_level_thread_tracer_no_back_frames.append(top_level_thread_tracer) # Hack for cython to keep it alive while the thread is alive (just the method in the SetTrace is not enough). # <<<<<<<<<<<<<< + * else: + * top_level_thread_tracer = additional_info.top_level_thread_tracer_unhandled + */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_additional_info, __pyx_n_s_top_level_thread_tracer_no_back); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1550, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_15 = __Pyx_PyObject_Append(__pyx_t_4, __pyx_v_top_level_thread_tracer); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 1550, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1547 + * + * if f_unhandled is not None: + * if f_unhandled.f_back is None and not force_only_unhandled_tracer: # <<<<<<<<<<<<<< + * # Happens when we attach to a running program (cannot reuse instance because it's mutable). + * top_level_thread_tracer = TopLevelThreadTracerNoBackFrame(ThreadTracer(args), args) + */ + goto __pyx_L36; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1552 + * additional_info.top_level_thread_tracer_no_back_frames.append(top_level_thread_tracer) # Hack for cython to keep it alive while the thread is alive (just the method in the SetTrace is not enough). + * else: + * top_level_thread_tracer = additional_info.top_level_thread_tracer_unhandled # <<<<<<<<<<<<<< + * if top_level_thread_tracer is None: + * # Stop in some internal place to report about unhandled exceptions + */ + /*else*/ { + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_additional_info, __pyx_n_s_top_level_thread_tracer_unhandle); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1552, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_v_top_level_thread_tracer = __pyx_t_4; + __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1553 + * else: + * top_level_thread_tracer = additional_info.top_level_thread_tracer_unhandled + * if top_level_thread_tracer is None: # <<<<<<<<<<<<<< + * # Stop in some internal place to report about unhandled exceptions + * top_level_thread_tracer = TopLevelThreadTracerOnlyUnhandledExceptions(args) + */ + __pyx_t_1 = (__pyx_v_top_level_thread_tracer == Py_None); + __pyx_t_8 = (__pyx_t_1 != 0); + if (__pyx_t_8) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1555 + * if top_level_thread_tracer is None: + * # Stop in some internal place to report about unhandled exceptions + * top_level_thread_tracer = TopLevelThreadTracerOnlyUnhandledExceptions(args) # <<<<<<<<<<<<<< + * additional_info.top_level_thread_tracer_unhandled = top_level_thread_tracer # Hack for cython to keep it alive while the thread is alive (just the method in the SetTrace is not enough). + * + */ + __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions), __pyx_v_args); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1555, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF_SET(__pyx_v_top_level_thread_tracer, __pyx_t_4); + __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1556 + * # Stop in some internal place to report about unhandled exceptions + * top_level_thread_tracer = TopLevelThreadTracerOnlyUnhandledExceptions(args) + * additional_info.top_level_thread_tracer_unhandled = top_level_thread_tracer # Hack for cython to keep it alive while the thread is alive (just the method in the SetTrace is not enough). # <<<<<<<<<<<<<< + * + * # print(' --> found to trace unhandled', f_unhandled.f_code.co_name, f_unhandled.f_code.co_filename, f_unhandled.f_code.co_firstlineno) + */ + if (__Pyx_PyObject_SetAttrStr(__pyx_v_additional_info, __pyx_n_s_top_level_thread_tracer_unhandle, __pyx_v_top_level_thread_tracer) < 0) __PYX_ERR(0, 1556, __pyx_L1_error) + + /* "_pydevd_bundle/pydevd_cython.pyx":1553 + * else: + * top_level_thread_tracer = additional_info.top_level_thread_tracer_unhandled + * if top_level_thread_tracer is None: # <<<<<<<<<<<<<< + * # Stop in some internal place to report about unhandled exceptions + * top_level_thread_tracer = TopLevelThreadTracerOnlyUnhandledExceptions(args) + */ + } + } + __pyx_L36:; + + /* "_pydevd_bundle/pydevd_cython.pyx":1559 + * + * # print(' --> found to trace unhandled', f_unhandled.f_code.co_name, f_unhandled.f_code.co_filename, f_unhandled.f_code.co_firstlineno) + * f_trace = top_level_thread_tracer.get_trace_dispatch_func() # <<<<<<<<<<<<<< + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * f_trace = SafeCallWrapper(f_trace) + */ + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_top_level_thread_tracer, __pyx_n_s_get_trace_dispatch_func); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1559, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_7 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_4 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1559, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_f_trace = __pyx_t_4; + __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1561 + * f_trace = top_level_thread_tracer.get_trace_dispatch_func() + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * f_trace = SafeCallWrapper(f_trace) # <<<<<<<<<<<<<< + * # ENDIF + * f_unhandled.f_trace = f_trace + */ + __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper), __pyx_v_f_trace); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1561, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF_SET(__pyx_v_f_trace, __pyx_t_4); + __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1563 + * f_trace = SafeCallWrapper(f_trace) + * # ENDIF + * f_unhandled.f_trace = f_trace # <<<<<<<<<<<<<< + * + * if frame is f_unhandled: + */ + if (__Pyx_PyObject_SetAttrStr(__pyx_v_f_unhandled, __pyx_n_s_f_trace, __pyx_v_f_trace) < 0) __PYX_ERR(0, 1563, __pyx_L1_error) + + /* "_pydevd_bundle/pydevd_cython.pyx":1565 + * f_unhandled.f_trace = f_trace + * + * if frame is f_unhandled: # <<<<<<<<<<<<<< + * return f_trace, False + * + */ + __pyx_t_8 = (__pyx_v_frame == __pyx_v_f_unhandled); + __pyx_t_1 = (__pyx_t_8 != 0); + if (__pyx_t_1) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1566 + * + * if frame is f_unhandled: + * return f_trace, False # <<<<<<<<<<<<<< + * + * thread_tracer = additional_info.thread_tracer + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1566, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_INCREF(__pyx_v_f_trace); + __Pyx_GIVEREF(__pyx_v_f_trace); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_f_trace); + __Pyx_INCREF(Py_False); + __Pyx_GIVEREF(Py_False); + PyTuple_SET_ITEM(__pyx_t_4, 1, Py_False); + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; + goto __pyx_L0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1565 + * f_unhandled.f_trace = f_trace + * + * if frame is f_unhandled: # <<<<<<<<<<<<<< + * return f_trace, False + * + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1546 + * args = (py_db, thread, additional_info, global_cache_skips, global_cache_frame_skips) + * + * if f_unhandled is not None: # <<<<<<<<<<<<<< + * if f_unhandled.f_back is None and not force_only_unhandled_tracer: + * # Happens when we attach to a running program (cannot reuse instance because it's mutable). + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1568 + * return f_trace, False + * + * thread_tracer = additional_info.thread_tracer # <<<<<<<<<<<<<< + * if thread_tracer is None or thread_tracer._args[0] is not py_db: + * thread_tracer = ThreadTracer(args) + */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_additional_info, __pyx_n_s_thread_tracer); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1568, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_v_thread_tracer = __pyx_t_4; + __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1569 + * + * thread_tracer = additional_info.thread_tracer + * if thread_tracer is None or thread_tracer._args[0] is not py_db: # <<<<<<<<<<<<<< + * thread_tracer = ThreadTracer(args) + * additional_info.thread_tracer = thread_tracer + */ + __pyx_t_8 = (__pyx_v_thread_tracer == Py_None); + __pyx_t_2 = (__pyx_t_8 != 0); + if (!__pyx_t_2) { + } else { + __pyx_t_1 = __pyx_t_2; + goto __pyx_L42_bool_binop_done; + } + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_thread_tracer, __pyx_n_s_args_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1569, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_4, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1569, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_2 = (__pyx_t_3 != __pyx_v_py_db); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_8 = (__pyx_t_2 != 0); + __pyx_t_1 = __pyx_t_8; + __pyx_L42_bool_binop_done:; + if (__pyx_t_1) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1570 + * thread_tracer = additional_info.thread_tracer + * if thread_tracer is None or thread_tracer._args[0] is not py_db: + * thread_tracer = ThreadTracer(args) # <<<<<<<<<<<<<< + * additional_info.thread_tracer = thread_tracer + * + */ + __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_ThreadTracer), __pyx_v_args); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1570, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF_SET(__pyx_v_thread_tracer, __pyx_t_3); + __pyx_t_3 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1571 + * if thread_tracer is None or thread_tracer._args[0] is not py_db: + * thread_tracer = ThreadTracer(args) + * additional_info.thread_tracer = thread_tracer # <<<<<<<<<<<<<< + * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + */ + if (__Pyx_PyObject_SetAttrStr(__pyx_v_additional_info, __pyx_n_s_thread_tracer, __pyx_v_thread_tracer) < 0) __PYX_ERR(0, 1571, __pyx_L1_error) + + /* "_pydevd_bundle/pydevd_cython.pyx":1569 + * + * thread_tracer = additional_info.thread_tracer + * if thread_tracer is None or thread_tracer._args[0] is not py_db: # <<<<<<<<<<<<<< + * thread_tracer = ThreadTracer(args) + * additional_info.thread_tracer = thread_tracer + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1574 + * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * return SafeCallWrapper(thread_tracer), True # <<<<<<<<<<<<<< + * # ELSE + * # return thread_tracer, True + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper), __pyx_v_thread_tracer); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1574, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1574, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); + __Pyx_INCREF(Py_True); + __Pyx_GIVEREF(Py_True); + PyTuple_SET_ITEM(__pyx_t_4, 1, Py_True); + __pyx_t_3 = 0; + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; + goto __pyx_L0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1452 + * + * + * def fix_top_level_trace_and_get_trace_func(py_db, frame): # <<<<<<<<<<<<<< + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * cdef str filename; + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_14); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.fix_top_level_trace_and_get_trace_func", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_name); + __Pyx_XDECREF(__pyx_v_args); + __Pyx_XDECREF(__pyx_v_thread); + __Pyx_XDECREF(__pyx_v_f_unhandled); + __Pyx_XDECREF(__pyx_v_i); + __Pyx_XDECREF(__pyx_v_j); + __Pyx_XDECREF(__pyx_v_t); + __Pyx_XDECREF(__pyx_v_additional_info); + __Pyx_XDECREF(__pyx_v_top_level_thread_tracer); + __Pyx_XDECREF(__pyx_v_f_trace); + __Pyx_XDECREF(__pyx_v_thread_tracer); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pyx":1580 + * + * + * def trace_dispatch(py_db, frame, event, arg): # <<<<<<<<<<<<<< + * thread_trace_func, apply_to_settrace = py_db.fix_top_level_trace_and_get_trace_func(py_db, frame) + * if thread_trace_func is None: + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_9trace_dispatch(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_14_pydevd_bundle_13pydevd_cython_9trace_dispatch = {"trace_dispatch", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_9trace_dispatch, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_9trace_dispatch(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_py_db = 0; + PyObject *__pyx_v_frame = 0; + PyObject *__pyx_v_event = 0; + PyObject *__pyx_v_arg = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("trace_dispatch (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_py_db,&__pyx_n_s_frame,&__pyx_n_s_event,&__pyx_n_s_arg,0}; + PyObject* values[4] = {0,0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + CYTHON_FALLTHROUGH; + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_py_db)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_frame)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("trace_dispatch", 1, 4, 4, 1); __PYX_ERR(0, 1580, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_event)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("trace_dispatch", 1, 4, 4, 2); __PYX_ERR(0, 1580, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 3: + if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_arg)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("trace_dispatch", 1, 4, 4, 3); __PYX_ERR(0, 1580, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "trace_dispatch") < 0)) __PYX_ERR(0, 1580, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + } + __pyx_v_py_db = values[0]; + __pyx_v_frame = values[1]; + __pyx_v_event = values[2]; + __pyx_v_arg = values[3]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("trace_dispatch", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1580, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.trace_dispatch", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_8trace_dispatch(__pyx_self, __pyx_v_py_db, __pyx_v_frame, __pyx_v_event, __pyx_v_arg); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_8trace_dispatch(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_py_db, PyObject *__pyx_v_frame, PyObject *__pyx_v_event, PyObject *__pyx_v_arg) { + PyObject *__pyx_v_thread_trace_func = NULL; + PyObject *__pyx_v_apply_to_settrace = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + PyObject *(*__pyx_t_6)(PyObject *); + int __pyx_t_7; + int __pyx_t_8; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("trace_dispatch", 0); + + /* "_pydevd_bundle/pydevd_cython.pyx":1581 + * + * def trace_dispatch(py_db, frame, event, arg): + * thread_trace_func, apply_to_settrace = py_db.fix_top_level_trace_and_get_trace_func(py_db, frame) # <<<<<<<<<<<<<< + * if thread_trace_func is None: + * return None if event == 'call' else NO_FTRACE + */ + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_fix_top_level_trace_and_get_trac); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1581, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + __pyx_t_4 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + __pyx_t_4 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_py_db, __pyx_v_frame}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1581, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_py_db, __pyx_v_frame}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1581, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else + #endif + { + __pyx_t_5 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1581, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + if (__pyx_t_3) { + __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL; + } + __Pyx_INCREF(__pyx_v_py_db); + __Pyx_GIVEREF(__pyx_v_py_db); + PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_4, __pyx_v_py_db); + __Pyx_INCREF(__pyx_v_frame); + __Pyx_GIVEREF(__pyx_v_frame); + PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_v_frame); + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1581, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) { + PyObject* sequence = __pyx_t_1; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 2)) { + if (size > 2) __Pyx_RaiseTooManyValuesError(2); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 1581, __pyx_L1_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + if (likely(PyTuple_CheckExact(sequence))) { + __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1); + } else { + __pyx_t_2 = PyList_GET_ITEM(sequence, 0); + __pyx_t_5 = PyList_GET_ITEM(sequence, 1); + } + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + #else + __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1581, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1581, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + #endif + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } else { + Py_ssize_t index = -1; + __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1581, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_6 = Py_TYPE(__pyx_t_3)->tp_iternext; + index = 0; __pyx_t_2 = __pyx_t_6(__pyx_t_3); if (unlikely(!__pyx_t_2)) goto __pyx_L3_unpacking_failed; + __Pyx_GOTREF(__pyx_t_2); + index = 1; __pyx_t_5 = __pyx_t_6(__pyx_t_3); if (unlikely(!__pyx_t_5)) goto __pyx_L3_unpacking_failed; + __Pyx_GOTREF(__pyx_t_5); + if (__Pyx_IternextUnpackEndCheck(__pyx_t_6(__pyx_t_3), 2) < 0) __PYX_ERR(0, 1581, __pyx_L1_error) + __pyx_t_6 = NULL; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L4_unpacking_done; + __pyx_L3_unpacking_failed:; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = NULL; + if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); + __PYX_ERR(0, 1581, __pyx_L1_error) + __pyx_L4_unpacking_done:; + } + __pyx_v_thread_trace_func = __pyx_t_2; + __pyx_t_2 = 0; + __pyx_v_apply_to_settrace = __pyx_t_5; + __pyx_t_5 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1582 + * def trace_dispatch(py_db, frame, event, arg): + * thread_trace_func, apply_to_settrace = py_db.fix_top_level_trace_and_get_trace_func(py_db, frame) + * if thread_trace_func is None: # <<<<<<<<<<<<<< + * return None if event == 'call' else NO_FTRACE + * if apply_to_settrace: + */ + __pyx_t_7 = (__pyx_v_thread_trace_func == Py_None); + __pyx_t_8 = (__pyx_t_7 != 0); + if (__pyx_t_8) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1583 + * thread_trace_func, apply_to_settrace = py_db.fix_top_level_trace_and_get_trace_func(py_db, frame) + * if thread_trace_func is None: + * return None if event == 'call' else NO_FTRACE # <<<<<<<<<<<<<< + * if apply_to_settrace: + * py_db.enable_tracing(thread_trace_func) + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_8 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 1583, __pyx_L1_error) + if (__pyx_t_8) { + __Pyx_INCREF(Py_None); + __pyx_t_1 = Py_None; + } else { + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1583, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = __pyx_t_5; + __pyx_t_5 = 0; + } + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1582 + * def trace_dispatch(py_db, frame, event, arg): + * thread_trace_func, apply_to_settrace = py_db.fix_top_level_trace_and_get_trace_func(py_db, frame) + * if thread_trace_func is None: # <<<<<<<<<<<<<< + * return None if event == 'call' else NO_FTRACE + * if apply_to_settrace: + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1584 + * if thread_trace_func is None: + * return None if event == 'call' else NO_FTRACE + * if apply_to_settrace: # <<<<<<<<<<<<<< + * py_db.enable_tracing(thread_trace_func) + * return thread_trace_func(frame, event, arg) + */ + __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_v_apply_to_settrace); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 1584, __pyx_L1_error) + if (__pyx_t_8) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1585 + * return None if event == 'call' else NO_FTRACE + * if apply_to_settrace: + * py_db.enable_tracing(thread_trace_func) # <<<<<<<<<<<<<< + * return thread_trace_func(frame, event, arg) + * + */ + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_enable_tracing); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1585, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_v_thread_trace_func) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_thread_trace_func); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1585, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1584 + * if thread_trace_func is None: + * return None if event == 'call' else NO_FTRACE + * if apply_to_settrace: # <<<<<<<<<<<<<< + * py_db.enable_tracing(thread_trace_func) + * return thread_trace_func(frame, event, arg) + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1586 + * if apply_to_settrace: + * py_db.enable_tracing(thread_trace_func) + * return thread_trace_func(frame, event, arg) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_thread_trace_func); + __pyx_t_5 = __pyx_v_thread_trace_func; __pyx_t_2 = NULL; + __pyx_t_4 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_4 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[4] = {__pyx_t_2, __pyx_v_frame, __pyx_v_event, __pyx_v_arg}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_4, 3+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1586, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[4] = {__pyx_t_2, __pyx_v_frame, __pyx_v_event, __pyx_v_arg}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_4, 3+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1586, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else + #endif + { + __pyx_t_3 = PyTuple_New(3+__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1586, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (__pyx_t_2) { + __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); __pyx_t_2 = NULL; + } + __Pyx_INCREF(__pyx_v_frame); + __Pyx_GIVEREF(__pyx_v_frame); + PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_4, __pyx_v_frame); + __Pyx_INCREF(__pyx_v_event); + __Pyx_GIVEREF(__pyx_v_event); + PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_4, __pyx_v_event); + __Pyx_INCREF(__pyx_v_arg); + __Pyx_GIVEREF(__pyx_v_arg); + PyTuple_SET_ITEM(__pyx_t_3, 2+__pyx_t_4, __pyx_v_arg); + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1586, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1580 + * + * + * def trace_dispatch(py_db, frame, event, arg): # <<<<<<<<<<<<<< + * thread_trace_func, apply_to_settrace = py_db.fix_top_level_trace_and_get_trace_func(py_db, frame) + * if thread_trace_func is None: + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.trace_dispatch", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_thread_trace_func); + __Pyx_XDECREF(__pyx_v_apply_to_settrace); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pyx":1592 + * cdef class TopLevelThreadTracerOnlyUnhandledExceptions: + * cdef public tuple _args; + * def __init__(self, tuple args): # <<<<<<<<<<<<<< + * self._args = args + * # ELSE + */ + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_args = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_args,0}; + PyObject* values[1] = {0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_args)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 1592, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 1) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + } + __pyx_v_args = ((PyObject*)values[0]); + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1592, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.TopLevelThreadTracerOnlyUnhandledExceptions.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return -1; + __pyx_L4_argument_unpacking_done:; + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(0, 1592, __pyx_L1_error) + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions___init__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions *)__pyx_v_self), __pyx_v_args); + + /* function exit code */ + goto __pyx_L0; + __pyx_L1_error:; + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions___init__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions *__pyx_v_self, PyObject *__pyx_v_args) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__init__", 0); + + /* "_pydevd_bundle/pydevd_cython.pyx":1593 + * cdef public tuple _args; + * def __init__(self, tuple args): + * self._args = args # <<<<<<<<<<<<<< + * # ELSE + * # class TopLevelThreadTracerOnlyUnhandledExceptions(object): + */ + __Pyx_INCREF(__pyx_v_args); + __Pyx_GIVEREF(__pyx_v_args); + __Pyx_GOTREF(__pyx_v_self->_args); + __Pyx_DECREF(__pyx_v_self->_args); + __pyx_v_self->_args = __pyx_v_args; + + /* "_pydevd_bundle/pydevd_cython.pyx":1592 + * cdef class TopLevelThreadTracerOnlyUnhandledExceptions: + * cdef public tuple _args; + * def __init__(self, tuple args): # <<<<<<<<<<<<<< + * self._args = args + * # ELSE + */ + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pyx":1601 + * # ENDIF + * + * def trace_unhandled_exceptions(self, frame, event, arg): # <<<<<<<<<<<<<< + * # Note that we ignore the frame as this tracing method should only be put in topmost frames already. + * # print('trace_unhandled_exceptions', event, frame.f_code.co_name, frame.f_code.co_filename, frame.f_code.co_firstlineno) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions_3trace_unhandled_exceptions(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions_3trace_unhandled_exceptions(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + CYTHON_UNUSED PyObject *__pyx_v_frame = 0; + PyObject *__pyx_v_event = 0; + PyObject *__pyx_v_arg = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("trace_unhandled_exceptions (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_frame,&__pyx_n_s_event,&__pyx_n_s_arg,0}; + PyObject* values[3] = {0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_frame)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_event)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("trace_unhandled_exceptions", 1, 3, 3, 1); __PYX_ERR(0, 1601, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_arg)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("trace_unhandled_exceptions", 1, 3, 3, 2); __PYX_ERR(0, 1601, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "trace_unhandled_exceptions") < 0)) __PYX_ERR(0, 1601, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + } + __pyx_v_frame = values[0]; + __pyx_v_event = values[1]; + __pyx_v_arg = values[2]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("trace_unhandled_exceptions", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1601, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.TopLevelThreadTracerOnlyUnhandledExceptions.trace_unhandled_exceptions", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions_2trace_unhandled_exceptions(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions *)__pyx_v_self), __pyx_v_frame, __pyx_v_event, __pyx_v_arg); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions_2trace_unhandled_exceptions(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_frame, PyObject *__pyx_v_event, PyObject *__pyx_v_arg) { + PyObject *__pyx_v_py_db = NULL; + PyObject *__pyx_v_t = NULL; + PyObject *__pyx_v_additional_info = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_t_2; + int __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + int __pyx_t_8; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("trace_unhandled_exceptions", 0); + + /* "_pydevd_bundle/pydevd_cython.pyx":1604 + * # Note that we ignore the frame as this tracing method should only be put in topmost frames already. + * # print('trace_unhandled_exceptions', event, frame.f_code.co_name, frame.f_code.co_filename, frame.f_code.co_firstlineno) + * if event == 'exception' and arg is not None: # <<<<<<<<<<<<<< + * py_db, t, additional_info = self._args[0:3] + * if arg is not None: + */ + __pyx_t_2 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_exception, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 1604, __pyx_L1_error) + if (__pyx_t_2) { + } else { + __pyx_t_1 = __pyx_t_2; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_2 = (__pyx_v_arg != Py_None); + __pyx_t_3 = (__pyx_t_2 != 0); + __pyx_t_1 = __pyx_t_3; + __pyx_L4_bool_binop_done:; + if (__pyx_t_1) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1605 + * # print('trace_unhandled_exceptions', event, frame.f_code.co_name, frame.f_code.co_filename, frame.f_code.co_firstlineno) + * if event == 'exception' and arg is not None: + * py_db, t, additional_info = self._args[0:3] # <<<<<<<<<<<<<< + * if arg is not None: + * if not additional_info.suspended_at_unhandled: + */ + if (unlikely(__pyx_v_self->_args == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 1605, __pyx_L1_error) + } + __pyx_t_4 = __Pyx_PyTuple_GetSlice(__pyx_v_self->_args, 0, 3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1605, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + if (1) { + PyObject* sequence = __pyx_t_4; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 3)) { + if (size > 3) __Pyx_RaiseTooManyValuesError(3); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 1605, __pyx_L1_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_5 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_6 = PyTuple_GET_ITEM(sequence, 1); + __pyx_t_7 = PyTuple_GET_ITEM(sequence, 2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(__pyx_t_7); + #else + __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1605, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1605, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_7 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1605, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + #endif + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } + __pyx_v_py_db = __pyx_t_5; + __pyx_t_5 = 0; + __pyx_v_t = __pyx_t_6; + __pyx_t_6 = 0; + __pyx_v_additional_info = __pyx_t_7; + __pyx_t_7 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1606 + * if event == 'exception' and arg is not None: + * py_db, t, additional_info = self._args[0:3] + * if arg is not None: # <<<<<<<<<<<<<< + * if not additional_info.suspended_at_unhandled: + * additional_info.suspended_at_unhandled = True + */ + __pyx_t_1 = (__pyx_v_arg != Py_None); + __pyx_t_3 = (__pyx_t_1 != 0); + if (__pyx_t_3) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1607 + * py_db, t, additional_info = self._args[0:3] + * if arg is not None: + * if not additional_info.suspended_at_unhandled: # <<<<<<<<<<<<<< + * additional_info.suspended_at_unhandled = True + * + */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_additional_info, __pyx_n_s_suspended_at_unhandled); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1607, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 1607, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_1 = ((!__pyx_t_3) != 0); + if (__pyx_t_1) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1608 + * if arg is not None: + * if not additional_info.suspended_at_unhandled: + * additional_info.suspended_at_unhandled = True # <<<<<<<<<<<<<< + * + * py_db.stop_on_unhandled_exception(py_db, t, additional_info, arg) + */ + if (__Pyx_PyObject_SetAttrStr(__pyx_v_additional_info, __pyx_n_s_suspended_at_unhandled, Py_True) < 0) __PYX_ERR(0, 1608, __pyx_L1_error) + + /* "_pydevd_bundle/pydevd_cython.pyx":1610 + * additional_info.suspended_at_unhandled = True + * + * py_db.stop_on_unhandled_exception(py_db, t, additional_info, arg) # <<<<<<<<<<<<<< + * + * # No need to reset frame.f_trace to keep the same trace function. + */ + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_stop_on_unhandled_exception); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1610, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_6 = NULL; + __pyx_t_8 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + __pyx_t_8 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_7)) { + PyObject *__pyx_temp[5] = {__pyx_t_6, __pyx_v_py_db, __pyx_v_t, __pyx_v_additional_info, __pyx_v_arg}; + __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_8, 4+__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1610, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_4); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) { + PyObject *__pyx_temp[5] = {__pyx_t_6, __pyx_v_py_db, __pyx_v_t, __pyx_v_additional_info, __pyx_v_arg}; + __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_8, 4+__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1610, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_4); + } else + #endif + { + __pyx_t_5 = PyTuple_New(4+__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1610, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + if (__pyx_t_6) { + __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_6); __pyx_t_6 = NULL; + } + __Pyx_INCREF(__pyx_v_py_db); + __Pyx_GIVEREF(__pyx_v_py_db); + PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_8, __pyx_v_py_db); + __Pyx_INCREF(__pyx_v_t); + __Pyx_GIVEREF(__pyx_v_t); + PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_8, __pyx_v_t); + __Pyx_INCREF(__pyx_v_additional_info); + __Pyx_GIVEREF(__pyx_v_additional_info); + PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_8, __pyx_v_additional_info); + __Pyx_INCREF(__pyx_v_arg); + __Pyx_GIVEREF(__pyx_v_arg); + PyTuple_SET_ITEM(__pyx_t_5, 3+__pyx_t_8, __pyx_v_arg); + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1610, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1607 + * py_db, t, additional_info = self._args[0:3] + * if arg is not None: + * if not additional_info.suspended_at_unhandled: # <<<<<<<<<<<<<< + * additional_info.suspended_at_unhandled = True + * + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1606 + * if event == 'exception' and arg is not None: + * py_db, t, additional_info = self._args[0:3] + * if arg is not None: # <<<<<<<<<<<<<< + * if not additional_info.suspended_at_unhandled: + * additional_info.suspended_at_unhandled = True + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1604 + * # Note that we ignore the frame as this tracing method should only be put in topmost frames already. + * # print('trace_unhandled_exceptions', event, frame.f_code.co_name, frame.f_code.co_filename, frame.f_code.co_firstlineno) + * if event == 'exception' and arg is not None: # <<<<<<<<<<<<<< + * py_db, t, additional_info = self._args[0:3] + * if arg is not None: + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1613 + * + * # No need to reset frame.f_trace to keep the same trace function. + * return self.trace_unhandled_exceptions # <<<<<<<<<<<<<< + * + * def get_trace_dispatch_func(self): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_unhandled_exceptions); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1613, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; + goto __pyx_L0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1601 + * # ENDIF + * + * def trace_unhandled_exceptions(self, frame, event, arg): # <<<<<<<<<<<<<< + * # Note that we ignore the frame as this tracing method should only be put in topmost frames already. + * # print('trace_unhandled_exceptions', event, frame.f_code.co_name, frame.f_code.co_filename, frame.f_code.co_firstlineno) + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.TopLevelThreadTracerOnlyUnhandledExceptions.trace_unhandled_exceptions", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_py_db); + __Pyx_XDECREF(__pyx_v_t); + __Pyx_XDECREF(__pyx_v_additional_info); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pyx":1615 + * return self.trace_unhandled_exceptions + * + * def get_trace_dispatch_func(self): # <<<<<<<<<<<<<< + * return self.trace_unhandled_exceptions + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions_5get_trace_dispatch_func(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions_5get_trace_dispatch_func(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("get_trace_dispatch_func (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions_4get_trace_dispatch_func(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions_4get_trace_dispatch_func(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("get_trace_dispatch_func", 0); + + /* "_pydevd_bundle/pydevd_cython.pyx":1616 + * + * def get_trace_dispatch_func(self): + * return self.trace_unhandled_exceptions # <<<<<<<<<<<<<< + * + * + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_unhandled_exceptions); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1616, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1615 + * return self.trace_unhandled_exceptions + * + * def get_trace_dispatch_func(self): # <<<<<<<<<<<<<< + * return self.trace_unhandled_exceptions + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.TopLevelThreadTracerOnlyUnhandledExceptions.get_trace_dispatch_func", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pyx":1591 + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * cdef class TopLevelThreadTracerOnlyUnhandledExceptions: + * cdef public tuple _args; # <<<<<<<<<<<<<< + * def __init__(self, tuple args): + * self._args = args + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions_5_args_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions_5_args_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions_5_args___get__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions_5_args___get__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->_args); + __pyx_r = __pyx_v_self->_args; + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions_5_args_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions_5_args_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions_5_args_2__set__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions_5_args_2__set__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__set__", 0); + if (!(likely(PyTuple_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v_value)->tp_name), 0))) __PYX_ERR(0, 1591, __pyx_L1_error) + __pyx_t_1 = __pyx_v_value; + __Pyx_INCREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v_self->_args); + __Pyx_DECREF(__pyx_v_self->_args); + __pyx_v_self->_args = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.TopLevelThreadTracerOnlyUnhandledExceptions._args.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions_5_args_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions_5_args_5__del__(PyObject *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions_5_args_4__del__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions_5_args_4__del__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__", 0); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->_args); + __Pyx_DECREF(__pyx_v_self->_args); + __pyx_v_self->_args = ((PyObject*)Py_None); + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * cdef tuple state + * cdef object _dict + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions_6__reduce_cython__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions_6__reduce_cython__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions *__pyx_v_self) { + PyObject *__pyx_v_state = 0; + PyObject *__pyx_v__dict = 0; + int __pyx_v_use_setstate; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + int __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__reduce_cython__", 0); + + /* "(tree fragment)":5 + * cdef object _dict + * cdef bint use_setstate + * state = (self._args,) # <<<<<<<<<<<<<< + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: + */ + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v_self->_args); + __Pyx_GIVEREF(__pyx_v_self->_args); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self->_args); + __pyx_v_state = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "(tree fragment)":6 + * cdef bint use_setstate + * state = (self._args,) + * _dict = getattr(self, '__dict__', None) # <<<<<<<<<<<<<< + * if _dict is not None: + * state += (_dict,) + */ + __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v__dict = __pyx_t_1; + __pyx_t_1 = 0; + + /* "(tree fragment)":7 + * state = (self._args,) + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: # <<<<<<<<<<<<<< + * state += (_dict,) + * use_setstate = True + */ + __pyx_t_2 = (__pyx_v__dict != Py_None); + __pyx_t_3 = (__pyx_t_2 != 0); + if (__pyx_t_3) { + + /* "(tree fragment)":8 + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: + * state += (_dict,) # <<<<<<<<<<<<<< + * use_setstate = True + * else: + */ + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v__dict); + __Pyx_GIVEREF(__pyx_v__dict); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict); + __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 8, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4)); + __pyx_t_4 = 0; + + /* "(tree fragment)":9 + * if _dict is not None: + * state += (_dict,) + * use_setstate = True # <<<<<<<<<<<<<< + * else: + * use_setstate = self._args is not None + */ + __pyx_v_use_setstate = 1; + + /* "(tree fragment)":7 + * state = (self._args,) + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: # <<<<<<<<<<<<<< + * state += (_dict,) + * use_setstate = True + */ + goto __pyx_L3; + } + + /* "(tree fragment)":11 + * use_setstate = True + * else: + * use_setstate = self._args is not None # <<<<<<<<<<<<<< + * if use_setstate: + * return __pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions, (type(self), 0x3d7902a, None), state + */ + /*else*/ { + __pyx_t_3 = (__pyx_v_self->_args != ((PyObject*)Py_None)); + __pyx_v_use_setstate = __pyx_t_3; + } + __pyx_L3:; + + /* "(tree fragment)":12 + * else: + * use_setstate = self._args is not None + * if use_setstate: # <<<<<<<<<<<<<< + * return __pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions, (type(self), 0x3d7902a, None), state + * else: + */ + __pyx_t_3 = (__pyx_v_use_setstate != 0); + if (__pyx_t_3) { + + /* "(tree fragment)":13 + * use_setstate = self._args is not None + * if use_setstate: + * return __pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions, (type(self), 0x3d7902a, None), state # <<<<<<<<<<<<<< + * else: + * return __pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions, (type(self), 0x3d7902a, state) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_pyx_unpickle_TopLevelThreadTra); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_INCREF(__pyx_int_64458794); + __Pyx_GIVEREF(__pyx_int_64458794); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_64458794); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1); + __Pyx_INCREF(__pyx_v_state); + __Pyx_GIVEREF(__pyx_v_state); + PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state); + __pyx_t_4 = 0; + __pyx_t_1 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; + goto __pyx_L0; + + /* "(tree fragment)":12 + * else: + * use_setstate = self._args is not None + * if use_setstate: # <<<<<<<<<<<<<< + * return __pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions, (type(self), 0x3d7902a, None), state + * else: + */ + } + + /* "(tree fragment)":15 + * return __pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions, (type(self), 0x3d7902a, None), state + * else: + * return __pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions, (type(self), 0x3d7902a, state) # <<<<<<<<<<<<<< + * def __setstate_cython__(self, __pyx_state): + * __pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions__set_state(self, __pyx_state) + */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pyx_unpickle_TopLevelThreadTra); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_INCREF(__pyx_int_64458794); + __Pyx_GIVEREF(__pyx_int_64458794); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_64458794); + __Pyx_INCREF(__pyx_v_state); + __Pyx_GIVEREF(__pyx_v_state); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state); + __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __pyx_t_5 = 0; + __pyx_t_1 = 0; + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; + goto __pyx_L0; + } + + /* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * cdef tuple state + * cdef object _dict + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.TopLevelThreadTracerOnlyUnhandledExceptions.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_state); + __Pyx_XDECREF(__pyx_v__dict); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":16 + * else: + * return __pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions, (type(self), 0x3d7902a, state) + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * __pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions__set_state(self, __pyx_state) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions_8__setstate_cython__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions_8__setstate_cython__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions *__pyx_v_self, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__setstate_cython__", 0); + + /* "(tree fragment)":17 + * return __pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions, (type(self), 0x3d7902a, state) + * def __setstate_cython__(self, __pyx_state): + * __pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions__set_state(self, __pyx_state) # <<<<<<<<<<<<<< + */ + if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(2, 17, __pyx_L1_error) + __pyx_t_1 = __pyx_f_14_pydevd_bundle_13pydevd_cython___pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 17, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "(tree fragment)":16 + * else: + * return __pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions, (type(self), 0x3d7902a, state) + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * __pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions__set_state(self, __pyx_state) + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.TopLevelThreadTracerOnlyUnhandledExceptions.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pyx":1627 + * cdef public set _raise_lines; + * cdef public int _last_raise_line; + * def __init__(self, frame_trace_dispatch, tuple args): # <<<<<<<<<<<<<< + * self._frame_trace_dispatch = frame_trace_dispatch + * self._args = args + */ + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_frame_trace_dispatch = 0; + PyObject *__pyx_v_args = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_frame_trace_dispatch,&__pyx_n_s_args,0}; + PyObject* values[2] = {0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_frame_trace_dispatch)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_args)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(0, 1627, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 1627, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + } + __pyx_v_frame_trace_dispatch = values[0]; + __pyx_v_args = ((PyObject*)values[1]); + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1627, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.TopLevelThreadTracerNoBackFrame.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return -1; + __pyx_L4_argument_unpacking_done:; + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(0, 1627, __pyx_L1_error) + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame___init__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *)__pyx_v_self), __pyx_v_frame_trace_dispatch, __pyx_v_args); + + /* function exit code */ + goto __pyx_L0; + __pyx_L1_error:; + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame___init__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *__pyx_v_self, PyObject *__pyx_v_frame_trace_dispatch, PyObject *__pyx_v_args) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__init__", 0); + + /* "_pydevd_bundle/pydevd_cython.pyx":1628 + * cdef public int _last_raise_line; + * def __init__(self, frame_trace_dispatch, tuple args): + * self._frame_trace_dispatch = frame_trace_dispatch # <<<<<<<<<<<<<< + * self._args = args + * self.try_except_infos = None + */ + __Pyx_INCREF(__pyx_v_frame_trace_dispatch); + __Pyx_GIVEREF(__pyx_v_frame_trace_dispatch); + __Pyx_GOTREF(__pyx_v_self->_frame_trace_dispatch); + __Pyx_DECREF(__pyx_v_self->_frame_trace_dispatch); + __pyx_v_self->_frame_trace_dispatch = __pyx_v_frame_trace_dispatch; + + /* "_pydevd_bundle/pydevd_cython.pyx":1629 + * def __init__(self, frame_trace_dispatch, tuple args): + * self._frame_trace_dispatch = frame_trace_dispatch + * self._args = args # <<<<<<<<<<<<<< + * self.try_except_infos = None + * self._last_exc_arg = None + */ + __Pyx_INCREF(__pyx_v_args); + __Pyx_GIVEREF(__pyx_v_args); + __Pyx_GOTREF(__pyx_v_self->_args); + __Pyx_DECREF(__pyx_v_self->_args); + __pyx_v_self->_args = __pyx_v_args; + + /* "_pydevd_bundle/pydevd_cython.pyx":1630 + * self._frame_trace_dispatch = frame_trace_dispatch + * self._args = args + * self.try_except_infos = None # <<<<<<<<<<<<<< + * self._last_exc_arg = None + * self._raise_lines = set() + */ + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->try_except_infos); + __Pyx_DECREF(__pyx_v_self->try_except_infos); + __pyx_v_self->try_except_infos = Py_None; + + /* "_pydevd_bundle/pydevd_cython.pyx":1631 + * self._args = args + * self.try_except_infos = None + * self._last_exc_arg = None # <<<<<<<<<<<<<< + * self._raise_lines = set() + * self._last_raise_line = -1 + */ + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->_last_exc_arg); + __Pyx_DECREF(__pyx_v_self->_last_exc_arg); + __pyx_v_self->_last_exc_arg = Py_None; + + /* "_pydevd_bundle/pydevd_cython.pyx":1632 + * self.try_except_infos = None + * self._last_exc_arg = None + * self._raise_lines = set() # <<<<<<<<<<<<<< + * self._last_raise_line = -1 + * # ELSE + */ + __pyx_t_1 = PySet_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1632, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v_self->_raise_lines); + __Pyx_DECREF(__pyx_v_self->_raise_lines); + __pyx_v_self->_raise_lines = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1633 + * self._last_exc_arg = None + * self._raise_lines = set() + * self._last_raise_line = -1 # <<<<<<<<<<<<<< + * # ELSE + * # class TopLevelThreadTracerNoBackFrame(object): + */ + __pyx_v_self->_last_raise_line = -1; + + /* "_pydevd_bundle/pydevd_cython.pyx":1627 + * cdef public set _raise_lines; + * cdef public int _last_raise_line; + * def __init__(self, frame_trace_dispatch, tuple args): # <<<<<<<<<<<<<< + * self._frame_trace_dispatch = frame_trace_dispatch + * self._args = args + */ + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.TopLevelThreadTracerNoBackFrame.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pyx":1657 + * # ENDIF + * + * def trace_dispatch_and_unhandled_exceptions(self, frame, event, arg): # <<<<<<<<<<<<<< + * # DEBUG = 'code_to_debug' in frame.f_code.co_filename + * # if DEBUG: print('trace_dispatch_and_unhandled_exceptions: %s %s %s %s %s %s' % (event, frame.f_code.co_name, frame.f_code.co_filename, frame.f_code.co_firstlineno, self._frame_trace_dispatch, frame.f_lineno)) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_3trace_dispatch_and_unhandled_exceptions(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_3trace_dispatch_and_unhandled_exceptions(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_frame = 0; + PyObject *__pyx_v_event = 0; + PyObject *__pyx_v_arg = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("trace_dispatch_and_unhandled_exceptions (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_frame,&__pyx_n_s_event,&__pyx_n_s_arg,0}; + PyObject* values[3] = {0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_frame)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_event)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("trace_dispatch_and_unhandled_exceptions", 1, 3, 3, 1); __PYX_ERR(0, 1657, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_arg)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("trace_dispatch_and_unhandled_exceptions", 1, 3, 3, 2); __PYX_ERR(0, 1657, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "trace_dispatch_and_unhandled_exceptions") < 0)) __PYX_ERR(0, 1657, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + } + __pyx_v_frame = values[0]; + __pyx_v_event = values[1]; + __pyx_v_arg = values[2]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("trace_dispatch_and_unhandled_exceptions", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1657, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.TopLevelThreadTracerNoBackFrame.trace_dispatch_and_unhandled_exceptions", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_2trace_dispatch_and_unhandled_exceptions(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *)__pyx_v_self), __pyx_v_frame, __pyx_v_event, __pyx_v_arg); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_2trace_dispatch_and_unhandled_exceptions(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *__pyx_v_self, PyObject *__pyx_v_frame, PyObject *__pyx_v_event, PyObject *__pyx_v_arg) { + PyObject *__pyx_v_frame_trace_dispatch = NULL; + PyObject *__pyx_v_py_db = NULL; + PyObject *__pyx_v_t = NULL; + PyObject *__pyx_v_additional_info = NULL; + PyObject *__pyx_v_ret = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + int __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + int __pyx_t_6; + PyObject *__pyx_t_7 = NULL; + int __pyx_t_8; + int __pyx_t_9; + int __pyx_t_10; + char const *__pyx_t_11; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + PyObject *__pyx_t_15 = NULL; + PyObject *__pyx_t_16 = NULL; + PyObject *__pyx_t_17 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("trace_dispatch_and_unhandled_exceptions", 0); + + /* "_pydevd_bundle/pydevd_cython.pyx":1660 + * # DEBUG = 'code_to_debug' in frame.f_code.co_filename + * # if DEBUG: print('trace_dispatch_and_unhandled_exceptions: %s %s %s %s %s %s' % (event, frame.f_code.co_name, frame.f_code.co_filename, frame.f_code.co_firstlineno, self._frame_trace_dispatch, frame.f_lineno)) + * frame_trace_dispatch = self._frame_trace_dispatch # <<<<<<<<<<<<<< + * if frame_trace_dispatch is not None: + * self._frame_trace_dispatch = frame_trace_dispatch(frame, event, arg) + */ + __pyx_t_1 = __pyx_v_self->_frame_trace_dispatch; + __Pyx_INCREF(__pyx_t_1); + __pyx_v_frame_trace_dispatch = __pyx_t_1; + __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1661 + * # if DEBUG: print('trace_dispatch_and_unhandled_exceptions: %s %s %s %s %s %s' % (event, frame.f_code.co_name, frame.f_code.co_filename, frame.f_code.co_firstlineno, self._frame_trace_dispatch, frame.f_lineno)) + * frame_trace_dispatch = self._frame_trace_dispatch + * if frame_trace_dispatch is not None: # <<<<<<<<<<<<<< + * self._frame_trace_dispatch = frame_trace_dispatch(frame, event, arg) + * + */ + __pyx_t_2 = (__pyx_v_frame_trace_dispatch != Py_None); + __pyx_t_3 = (__pyx_t_2 != 0); + if (__pyx_t_3) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1662 + * frame_trace_dispatch = self._frame_trace_dispatch + * if frame_trace_dispatch is not None: + * self._frame_trace_dispatch = frame_trace_dispatch(frame, event, arg) # <<<<<<<<<<<<<< + * + * if event == 'exception': + */ + __Pyx_INCREF(__pyx_v_frame_trace_dispatch); + __pyx_t_4 = __pyx_v_frame_trace_dispatch; __pyx_t_5 = NULL; + __pyx_t_6 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + __pyx_t_6 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_v_frame, __pyx_v_event, __pyx_v_arg}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1662, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_v_frame, __pyx_v_event, __pyx_v_arg}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1662, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else + #endif + { + __pyx_t_7 = PyTuple_New(3+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1662, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + if (__pyx_t_5) { + __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL; + } + __Pyx_INCREF(__pyx_v_frame); + __Pyx_GIVEREF(__pyx_v_frame); + PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_v_frame); + __Pyx_INCREF(__pyx_v_event); + __Pyx_GIVEREF(__pyx_v_event); + PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_v_event); + __Pyx_INCREF(__pyx_v_arg); + __Pyx_GIVEREF(__pyx_v_arg); + PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_6, __pyx_v_arg); + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1662, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v_self->_frame_trace_dispatch); + __Pyx_DECREF(__pyx_v_self->_frame_trace_dispatch); + __pyx_v_self->_frame_trace_dispatch = __pyx_t_1; + __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1661 + * # if DEBUG: print('trace_dispatch_and_unhandled_exceptions: %s %s %s %s %s %s' % (event, frame.f_code.co_name, frame.f_code.co_filename, frame.f_code.co_firstlineno, self._frame_trace_dispatch, frame.f_lineno)) + * frame_trace_dispatch = self._frame_trace_dispatch + * if frame_trace_dispatch is not None: # <<<<<<<<<<<<<< + * self._frame_trace_dispatch = frame_trace_dispatch(frame, event, arg) + * + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1664 + * self._frame_trace_dispatch = frame_trace_dispatch(frame, event, arg) + * + * if event == 'exception': # <<<<<<<<<<<<<< + * self._last_exc_arg = arg + * self._raise_lines.add(frame.f_lineno) + */ + __pyx_t_3 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_exception, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 1664, __pyx_L1_error) + if (__pyx_t_3) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1665 + * + * if event == 'exception': + * self._last_exc_arg = arg # <<<<<<<<<<<<<< + * self._raise_lines.add(frame.f_lineno) + * self._last_raise_line = frame.f_lineno + */ + __Pyx_INCREF(__pyx_v_arg); + __Pyx_GIVEREF(__pyx_v_arg); + __Pyx_GOTREF(__pyx_v_self->_last_exc_arg); + __Pyx_DECREF(__pyx_v_self->_last_exc_arg); + __pyx_v_self->_last_exc_arg = __pyx_v_arg; + + /* "_pydevd_bundle/pydevd_cython.pyx":1666 + * if event == 'exception': + * self._last_exc_arg = arg + * self._raise_lines.add(frame.f_lineno) # <<<<<<<<<<<<<< + * self._last_raise_line = frame.f_lineno + * + */ + if (unlikely(__pyx_v_self->_raise_lines == Py_None)) { + PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "add"); + __PYX_ERR(0, 1666, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_lineno); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1666, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_8 = PySet_Add(__pyx_v_self->_raise_lines, __pyx_t_1); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(0, 1666, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1667 + * self._last_exc_arg = arg + * self._raise_lines.add(frame.f_lineno) + * self._last_raise_line = frame.f_lineno # <<<<<<<<<<<<<< + * + * elif event == 'return' and self._last_exc_arg is not None: + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_lineno); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1667, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_6 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1667, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_self->_last_raise_line = __pyx_t_6; + + /* "_pydevd_bundle/pydevd_cython.pyx":1664 + * self._frame_trace_dispatch = frame_trace_dispatch(frame, event, arg) + * + * if event == 'exception': # <<<<<<<<<<<<<< + * self._last_exc_arg = arg + * self._raise_lines.add(frame.f_lineno) + */ + goto __pyx_L4; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1669 + * self._last_raise_line = frame.f_lineno + * + * elif event == 'return' and self._last_exc_arg is not None: # <<<<<<<<<<<<<< + * # For unhandled exceptions we actually track the return when at the topmost level. + * try: + */ + __pyx_t_2 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_return, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 1669, __pyx_L1_error) + if (__pyx_t_2) { + } else { + __pyx_t_3 = __pyx_t_2; + goto __pyx_L5_bool_binop_done; + } + __pyx_t_2 = (__pyx_v_self->_last_exc_arg != Py_None); + __pyx_t_9 = (__pyx_t_2 != 0); + __pyx_t_3 = __pyx_t_9; + __pyx_L5_bool_binop_done:; + if (__pyx_t_3) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1671 + * elif event == 'return' and self._last_exc_arg is not None: + * # For unhandled exceptions we actually track the return when at the topmost level. + * try: # <<<<<<<<<<<<<< + * py_db, t, additional_info = self._args[0:3] + * if not additional_info.suspended_at_unhandled: # Note: only check it here, don't set. + */ + /*try:*/ { + + /* "_pydevd_bundle/pydevd_cython.pyx":1672 + * # For unhandled exceptions we actually track the return when at the topmost level. + * try: + * py_db, t, additional_info = self._args[0:3] # <<<<<<<<<<<<<< + * if not additional_info.suspended_at_unhandled: # Note: only check it here, don't set. + * if is_unhandled_exception(self, py_db, frame, self._last_raise_line, self._raise_lines): + */ + if (unlikely(__pyx_v_self->_args == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 1672, __pyx_L8_error) + } + __pyx_t_1 = __Pyx_PyTuple_GetSlice(__pyx_v_self->_args, 0, 3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1672, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_1); + if (1) { + PyObject* sequence = __pyx_t_1; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 3)) { + if (size > 3) __Pyx_RaiseTooManyValuesError(3); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 1672, __pyx_L8_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_7 = PyTuple_GET_ITEM(sequence, 1); + __pyx_t_5 = PyTuple_GET_ITEM(sequence, 2); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(__pyx_t_5); + #else + __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1672, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_7 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1672, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_5 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1672, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_5); + #endif + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + __pyx_v_py_db = __pyx_t_4; + __pyx_t_4 = 0; + __pyx_v_t = __pyx_t_7; + __pyx_t_7 = 0; + __pyx_v_additional_info = __pyx_t_5; + __pyx_t_5 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1673 + * try: + * py_db, t, additional_info = self._args[0:3] + * if not additional_info.suspended_at_unhandled: # Note: only check it here, don't set. # <<<<<<<<<<<<<< + * if is_unhandled_exception(self, py_db, frame, self._last_raise_line, self._raise_lines): + * py_db.stop_on_unhandled_exception(py_db, t, additional_info, self._last_exc_arg) + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_additional_info, __pyx_n_s_suspended_at_unhandled); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1673, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 1673, __pyx_L8_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_9 = ((!__pyx_t_3) != 0); + if (__pyx_t_9) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1674 + * py_db, t, additional_info = self._args[0:3] + * if not additional_info.suspended_at_unhandled: # Note: only check it here, don't set. + * if is_unhandled_exception(self, py_db, frame, self._last_raise_line, self._raise_lines): # <<<<<<<<<<<<<< + * py_db.stop_on_unhandled_exception(py_db, t, additional_info, self._last_exc_arg) + * finally: + */ + __pyx_t_1 = __pyx_v_self->_raise_lines; + __Pyx_INCREF(__pyx_t_1); + __pyx_t_5 = __pyx_f_14_pydevd_bundle_13pydevd_cython_is_unhandled_exception(((PyObject *)__pyx_v_self), __pyx_v_py_db, __pyx_v_frame, __pyx_v_self->_last_raise_line, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1674, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 1674, __pyx_L8_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (__pyx_t_9) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1675 + * if not additional_info.suspended_at_unhandled: # Note: only check it here, don't set. + * if is_unhandled_exception(self, py_db, frame, self._last_raise_line, self._raise_lines): + * py_db.stop_on_unhandled_exception(py_db, t, additional_info, self._last_exc_arg) # <<<<<<<<<<<<<< + * finally: + * # Remove reference to exception after handling it. + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_stop_on_unhandled_exception); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1675, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_7 = NULL; + __pyx_t_6 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + __pyx_t_6 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[5] = {__pyx_t_7, __pyx_v_py_db, __pyx_v_t, __pyx_v_additional_info, __pyx_v_self->_last_exc_arg}; + __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1675, __pyx_L8_error) + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_5); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[5] = {__pyx_t_7, __pyx_v_py_db, __pyx_v_t, __pyx_v_additional_info, __pyx_v_self->_last_exc_arg}; + __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1675, __pyx_L8_error) + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_5); + } else + #endif + { + __pyx_t_4 = PyTuple_New(4+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1675, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_4); + if (__pyx_t_7) { + __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_7); __pyx_t_7 = NULL; + } + __Pyx_INCREF(__pyx_v_py_db); + __Pyx_GIVEREF(__pyx_v_py_db); + PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_6, __pyx_v_py_db); + __Pyx_INCREF(__pyx_v_t); + __Pyx_GIVEREF(__pyx_v_t); + PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_6, __pyx_v_t); + __Pyx_INCREF(__pyx_v_additional_info); + __Pyx_GIVEREF(__pyx_v_additional_info); + PyTuple_SET_ITEM(__pyx_t_4, 2+__pyx_t_6, __pyx_v_additional_info); + __Pyx_INCREF(__pyx_v_self->_last_exc_arg); + __Pyx_GIVEREF(__pyx_v_self->_last_exc_arg); + PyTuple_SET_ITEM(__pyx_t_4, 3+__pyx_t_6, __pyx_v_self->_last_exc_arg); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1675, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1674 + * py_db, t, additional_info = self._args[0:3] + * if not additional_info.suspended_at_unhandled: # Note: only check it here, don't set. + * if is_unhandled_exception(self, py_db, frame, self._last_raise_line, self._raise_lines): # <<<<<<<<<<<<<< + * py_db.stop_on_unhandled_exception(py_db, t, additional_info, self._last_exc_arg) + * finally: + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1673 + * try: + * py_db, t, additional_info = self._args[0:3] + * if not additional_info.suspended_at_unhandled: # Note: only check it here, don't set. # <<<<<<<<<<<<<< + * if is_unhandled_exception(self, py_db, frame, self._last_raise_line, self._raise_lines): + * py_db.stop_on_unhandled_exception(py_db, t, additional_info, self._last_exc_arg) + */ + } + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1678 + * finally: + * # Remove reference to exception after handling it. + * self._last_exc_arg = None # <<<<<<<<<<<<<< + * + * ret = self.trace_dispatch_and_unhandled_exceptions + */ + /*finally:*/ { + /*normal exit:*/{ + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->_last_exc_arg); + __Pyx_DECREF(__pyx_v_self->_last_exc_arg); + __pyx_v_self->_last_exc_arg = Py_None; + goto __pyx_L9; + } + __pyx_L8_error:; + /*exception exit:*/{ + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_15, &__pyx_t_16, &__pyx_t_17); + if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14) < 0)) __Pyx_ErrFetch(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_14); + __Pyx_XGOTREF(__pyx_t_15); + __Pyx_XGOTREF(__pyx_t_16); + __Pyx_XGOTREF(__pyx_t_17); + __pyx_t_6 = __pyx_lineno; __pyx_t_10 = __pyx_clineno; __pyx_t_11 = __pyx_filename; + { + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->_last_exc_arg); + __Pyx_DECREF(__pyx_v_self->_last_exc_arg); + __pyx_v_self->_last_exc_arg = Py_None; + } + if (PY_MAJOR_VERSION >= 3) { + __Pyx_XGIVEREF(__pyx_t_15); + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_XGIVEREF(__pyx_t_17); + __Pyx_ExceptionReset(__pyx_t_15, __pyx_t_16, __pyx_t_17); + } + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_ErrRestore(__pyx_t_12, __pyx_t_13, __pyx_t_14); + __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; + __pyx_lineno = __pyx_t_6; __pyx_clineno = __pyx_t_10; __pyx_filename = __pyx_t_11; + goto __pyx_L1_error; + } + __pyx_L9:; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1669 + * self._last_raise_line = frame.f_lineno + * + * elif event == 'return' and self._last_exc_arg is not None: # <<<<<<<<<<<<<< + * # For unhandled exceptions we actually track the return when at the topmost level. + * try: + */ + } + __pyx_L4:; + + /* "_pydevd_bundle/pydevd_cython.pyx":1680 + * self._last_exc_arg = None + * + * ret = self.trace_dispatch_and_unhandled_exceptions # <<<<<<<<<<<<<< + * + * # Need to reset (the call to _frame_trace_dispatch may have changed it). + */ + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch_and_unhandled_exc); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1680, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_v_ret = __pyx_t_5; + __pyx_t_5 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1684 + * # Need to reset (the call to _frame_trace_dispatch may have changed it). + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * frame.f_trace = SafeCallWrapper(ret) # <<<<<<<<<<<<<< + * # ELSE + * # frame.f_trace = ret + */ + __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper), __pyx_v_ret); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1684, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + if (__Pyx_PyObject_SetAttrStr(__pyx_v_frame, __pyx_n_s_f_trace, __pyx_t_5) < 0) __PYX_ERR(0, 1684, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1688 + * # frame.f_trace = ret + * # ENDIF + * return ret # <<<<<<<<<<<<<< + * + * def get_trace_dispatch_func(self): + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_ret); + __pyx_r = __pyx_v_ret; + goto __pyx_L0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1657 + * # ENDIF + * + * def trace_dispatch_and_unhandled_exceptions(self, frame, event, arg): # <<<<<<<<<<<<<< + * # DEBUG = 'code_to_debug' in frame.f_code.co_filename + * # if DEBUG: print('trace_dispatch_and_unhandled_exceptions: %s %s %s %s %s %s' % (event, frame.f_code.co_name, frame.f_code.co_filename, frame.f_code.co_firstlineno, self._frame_trace_dispatch, frame.f_lineno)) + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.TopLevelThreadTracerNoBackFrame.trace_dispatch_and_unhandled_exceptions", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_frame_trace_dispatch); + __Pyx_XDECREF(__pyx_v_py_db); + __Pyx_XDECREF(__pyx_v_t); + __Pyx_XDECREF(__pyx_v_additional_info); + __Pyx_XDECREF(__pyx_v_ret); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pyx":1690 + * return ret + * + * def get_trace_dispatch_func(self): # <<<<<<<<<<<<<< + * return self.trace_dispatch_and_unhandled_exceptions + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_5get_trace_dispatch_func(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_5get_trace_dispatch_func(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("get_trace_dispatch_func (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_4get_trace_dispatch_func(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_4get_trace_dispatch_func(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("get_trace_dispatch_func", 0); + + /* "_pydevd_bundle/pydevd_cython.pyx":1691 + * + * def get_trace_dispatch_func(self): + * return self.trace_dispatch_and_unhandled_exceptions # <<<<<<<<<<<<<< + * + * + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_trace_dispatch_and_unhandled_exc); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1691, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1690 + * return ret + * + * def get_trace_dispatch_func(self): # <<<<<<<<<<<<<< + * return self.trace_dispatch_and_unhandled_exceptions + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.TopLevelThreadTracerNoBackFrame.get_trace_dispatch_func", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pyx":1621 + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * cdef class TopLevelThreadTracerNoBackFrame: + * cdef public object _frame_trace_dispatch; # <<<<<<<<<<<<<< + * cdef public tuple _args; + * cdef public object try_except_infos; + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_21_frame_trace_dispatch_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_21_frame_trace_dispatch_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_21_frame_trace_dispatch___get__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_21_frame_trace_dispatch___get__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->_frame_trace_dispatch); + __pyx_r = __pyx_v_self->_frame_trace_dispatch; + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_21_frame_trace_dispatch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_21_frame_trace_dispatch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_21_frame_trace_dispatch_2__set__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_21_frame_trace_dispatch_2__set__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__", 0); + __Pyx_INCREF(__pyx_v_value); + __Pyx_GIVEREF(__pyx_v_value); + __Pyx_GOTREF(__pyx_v_self->_frame_trace_dispatch); + __Pyx_DECREF(__pyx_v_self->_frame_trace_dispatch); + __pyx_v_self->_frame_trace_dispatch = __pyx_v_value; + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_21_frame_trace_dispatch_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_21_frame_trace_dispatch_5__del__(PyObject *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_21_frame_trace_dispatch_4__del__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_21_frame_trace_dispatch_4__del__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__", 0); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->_frame_trace_dispatch); + __Pyx_DECREF(__pyx_v_self->_frame_trace_dispatch); + __pyx_v_self->_frame_trace_dispatch = Py_None; + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pyx":1622 + * cdef class TopLevelThreadTracerNoBackFrame: + * cdef public object _frame_trace_dispatch; + * cdef public tuple _args; # <<<<<<<<<<<<<< + * cdef public object try_except_infos; + * cdef public object _last_exc_arg; + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_5_args_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_5_args_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_5_args___get__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_5_args___get__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->_args); + __pyx_r = __pyx_v_self->_args; + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_5_args_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_5_args_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_5_args_2__set__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_5_args_2__set__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__set__", 0); + if (!(likely(PyTuple_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v_value)->tp_name), 0))) __PYX_ERR(0, 1622, __pyx_L1_error) + __pyx_t_1 = __pyx_v_value; + __Pyx_INCREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v_self->_args); + __Pyx_DECREF(__pyx_v_self->_args); + __pyx_v_self->_args = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.TopLevelThreadTracerNoBackFrame._args.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_5_args_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_5_args_5__del__(PyObject *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_5_args_4__del__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_5_args_4__del__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__", 0); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->_args); + __Pyx_DECREF(__pyx_v_self->_args); + __pyx_v_self->_args = ((PyObject*)Py_None); + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pyx":1623 + * cdef public object _frame_trace_dispatch; + * cdef public tuple _args; + * cdef public object try_except_infos; # <<<<<<<<<<<<<< + * cdef public object _last_exc_arg; + * cdef public set _raise_lines; + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_16try_except_infos_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_16try_except_infos_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_16try_except_infos___get__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_16try_except_infos___get__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->try_except_infos); + __pyx_r = __pyx_v_self->try_except_infos; + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_16try_except_infos_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_16try_except_infos_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_16try_except_infos_2__set__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_16try_except_infos_2__set__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__", 0); + __Pyx_INCREF(__pyx_v_value); + __Pyx_GIVEREF(__pyx_v_value); + __Pyx_GOTREF(__pyx_v_self->try_except_infos); + __Pyx_DECREF(__pyx_v_self->try_except_infos); + __pyx_v_self->try_except_infos = __pyx_v_value; + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_16try_except_infos_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_16try_except_infos_5__del__(PyObject *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_16try_except_infos_4__del__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_16try_except_infos_4__del__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__", 0); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->try_except_infos); + __Pyx_DECREF(__pyx_v_self->try_except_infos); + __pyx_v_self->try_except_infos = Py_None; + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pyx":1624 + * cdef public tuple _args; + * cdef public object try_except_infos; + * cdef public object _last_exc_arg; # <<<<<<<<<<<<<< + * cdef public set _raise_lines; + * cdef public int _last_raise_line; + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_13_last_exc_arg_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_13_last_exc_arg_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_13_last_exc_arg___get__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_13_last_exc_arg___get__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->_last_exc_arg); + __pyx_r = __pyx_v_self->_last_exc_arg; + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_13_last_exc_arg_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_13_last_exc_arg_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_13_last_exc_arg_2__set__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_13_last_exc_arg_2__set__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__", 0); + __Pyx_INCREF(__pyx_v_value); + __Pyx_GIVEREF(__pyx_v_value); + __Pyx_GOTREF(__pyx_v_self->_last_exc_arg); + __Pyx_DECREF(__pyx_v_self->_last_exc_arg); + __pyx_v_self->_last_exc_arg = __pyx_v_value; + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_13_last_exc_arg_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_13_last_exc_arg_5__del__(PyObject *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_13_last_exc_arg_4__del__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_13_last_exc_arg_4__del__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__", 0); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->_last_exc_arg); + __Pyx_DECREF(__pyx_v_self->_last_exc_arg); + __pyx_v_self->_last_exc_arg = Py_None; + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pyx":1625 + * cdef public object try_except_infos; + * cdef public object _last_exc_arg; + * cdef public set _raise_lines; # <<<<<<<<<<<<<< + * cdef public int _last_raise_line; + * def __init__(self, frame_trace_dispatch, tuple args): + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_12_raise_lines_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_12_raise_lines_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_12_raise_lines___get__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_12_raise_lines___get__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->_raise_lines); + __pyx_r = __pyx_v_self->_raise_lines; + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_12_raise_lines_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_12_raise_lines_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_12_raise_lines_2__set__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_12_raise_lines_2__set__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__set__", 0); + if (!(likely(PySet_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "set", Py_TYPE(__pyx_v_value)->tp_name), 0))) __PYX_ERR(0, 1625, __pyx_L1_error) + __pyx_t_1 = __pyx_v_value; + __Pyx_INCREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v_self->_raise_lines); + __Pyx_DECREF(__pyx_v_self->_raise_lines); + __pyx_v_self->_raise_lines = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.TopLevelThreadTracerNoBackFrame._raise_lines.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_12_raise_lines_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_12_raise_lines_5__del__(PyObject *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_12_raise_lines_4__del__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_12_raise_lines_4__del__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__", 0); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->_raise_lines); + __Pyx_DECREF(__pyx_v_self->_raise_lines); + __pyx_v_self->_raise_lines = ((PyObject*)Py_None); + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pyx":1626 + * cdef public object _last_exc_arg; + * cdef public set _raise_lines; + * cdef public int _last_raise_line; # <<<<<<<<<<<<<< + * def __init__(self, frame_trace_dispatch, tuple args): + * self._frame_trace_dispatch = frame_trace_dispatch + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_16_last_raise_line_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_16_last_raise_line_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_16_last_raise_line___get__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_16_last_raise_line___get__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->_last_raise_line); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1626, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.TopLevelThreadTracerNoBackFrame._last_raise_line.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_16_last_raise_line_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_16_last_raise_line_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_16_last_raise_line_2__set__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_16_last_raise_line_2__set__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__set__", 0); + __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1626, __pyx_L1_error) + __pyx_v_self->_last_raise_line = __pyx_t_1; + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.TopLevelThreadTracerNoBackFrame._last_raise_line.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * cdef tuple state + * cdef object _dict + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_6__reduce_cython__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_6__reduce_cython__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *__pyx_v_self) { + PyObject *__pyx_v_state = 0; + PyObject *__pyx_v__dict = 0; + int __pyx_v_use_setstate; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + int __pyx_t_3; + int __pyx_t_4; + int __pyx_t_5; + PyObject *__pyx_t_6 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__reduce_cython__", 0); + + /* "(tree fragment)":5 + * cdef object _dict + * cdef bint use_setstate + * state = (self._args, self._frame_trace_dispatch, self._last_exc_arg, self._last_raise_line, self._raise_lines, self.try_except_infos) # <<<<<<<<<<<<<< + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: + */ + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->_last_raise_line); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = PyTuple_New(6); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v_self->_args); + __Pyx_GIVEREF(__pyx_v_self->_args); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self->_args); + __Pyx_INCREF(__pyx_v_self->_frame_trace_dispatch); + __Pyx_GIVEREF(__pyx_v_self->_frame_trace_dispatch); + PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_self->_frame_trace_dispatch); + __Pyx_INCREF(__pyx_v_self->_last_exc_arg); + __Pyx_GIVEREF(__pyx_v_self->_last_exc_arg); + PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_self->_last_exc_arg); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_t_1); + __Pyx_INCREF(__pyx_v_self->_raise_lines); + __Pyx_GIVEREF(__pyx_v_self->_raise_lines); + PyTuple_SET_ITEM(__pyx_t_2, 4, __pyx_v_self->_raise_lines); + __Pyx_INCREF(__pyx_v_self->try_except_infos); + __Pyx_GIVEREF(__pyx_v_self->try_except_infos); + PyTuple_SET_ITEM(__pyx_t_2, 5, __pyx_v_self->try_except_infos); + __pyx_t_1 = 0; + __pyx_v_state = ((PyObject*)__pyx_t_2); + __pyx_t_2 = 0; + + /* "(tree fragment)":6 + * cdef bint use_setstate + * state = (self._args, self._frame_trace_dispatch, self._last_exc_arg, self._last_raise_line, self._raise_lines, self.try_except_infos) + * _dict = getattr(self, '__dict__', None) # <<<<<<<<<<<<<< + * if _dict is not None: + * state += (_dict,) + */ + __pyx_t_2 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_v__dict = __pyx_t_2; + __pyx_t_2 = 0; + + /* "(tree fragment)":7 + * state = (self._args, self._frame_trace_dispatch, self._last_exc_arg, self._last_raise_line, self._raise_lines, self.try_except_infos) + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: # <<<<<<<<<<<<<< + * state += (_dict,) + * use_setstate = True + */ + __pyx_t_3 = (__pyx_v__dict != Py_None); + __pyx_t_4 = (__pyx_t_3 != 0); + if (__pyx_t_4) { + + /* "(tree fragment)":8 + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: + * state += (_dict,) # <<<<<<<<<<<<<< + * use_setstate = True + * else: + */ + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 8, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v__dict); + __Pyx_GIVEREF(__pyx_v__dict); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v__dict); + __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_1)); + __pyx_t_1 = 0; + + /* "(tree fragment)":9 + * if _dict is not None: + * state += (_dict,) + * use_setstate = True # <<<<<<<<<<<<<< + * else: + * use_setstate = self._args is not None or self._frame_trace_dispatch is not None or self._last_exc_arg is not None or self._raise_lines is not None or self.try_except_infos is not None + */ + __pyx_v_use_setstate = 1; + + /* "(tree fragment)":7 + * state = (self._args, self._frame_trace_dispatch, self._last_exc_arg, self._last_raise_line, self._raise_lines, self.try_except_infos) + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: # <<<<<<<<<<<<<< + * state += (_dict,) + * use_setstate = True + */ + goto __pyx_L3; + } + + /* "(tree fragment)":11 + * use_setstate = True + * else: + * use_setstate = self._args is not None or self._frame_trace_dispatch is not None or self._last_exc_arg is not None or self._raise_lines is not None or self.try_except_infos is not None # <<<<<<<<<<<<<< + * if use_setstate: + * return __pyx_unpickle_TopLevelThreadTracerNoBackFrame, (type(self), 0xa3a9ec1, None), state + */ + /*else*/ { + __pyx_t_3 = (__pyx_v_self->_args != ((PyObject*)Py_None)); + __pyx_t_5 = (__pyx_t_3 != 0); + if (!__pyx_t_5) { + } else { + __pyx_t_4 = __pyx_t_5; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_5 = (__pyx_v_self->_frame_trace_dispatch != Py_None); + __pyx_t_3 = (__pyx_t_5 != 0); + if (!__pyx_t_3) { + } else { + __pyx_t_4 = __pyx_t_3; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_3 = (__pyx_v_self->_last_exc_arg != Py_None); + __pyx_t_5 = (__pyx_t_3 != 0); + if (!__pyx_t_5) { + } else { + __pyx_t_4 = __pyx_t_5; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_5 = (__pyx_v_self->_raise_lines != ((PyObject*)Py_None)); + __pyx_t_3 = (__pyx_t_5 != 0); + if (!__pyx_t_3) { + } else { + __pyx_t_4 = __pyx_t_3; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_3 = (__pyx_v_self->try_except_infos != Py_None); + __pyx_t_5 = (__pyx_t_3 != 0); + __pyx_t_4 = __pyx_t_5; + __pyx_L4_bool_binop_done:; + __pyx_v_use_setstate = __pyx_t_4; + } + __pyx_L3:; + + /* "(tree fragment)":12 + * else: + * use_setstate = self._args is not None or self._frame_trace_dispatch is not None or self._last_exc_arg is not None or self._raise_lines is not None or self.try_except_infos is not None + * if use_setstate: # <<<<<<<<<<<<<< + * return __pyx_unpickle_TopLevelThreadTracerNoBackFrame, (type(self), 0xa3a9ec1, None), state + * else: + */ + __pyx_t_4 = (__pyx_v_use_setstate != 0); + if (__pyx_t_4) { + + /* "(tree fragment)":13 + * use_setstate = self._args is not None or self._frame_trace_dispatch is not None or self._last_exc_arg is not None or self._raise_lines is not None or self.try_except_infos is not None + * if use_setstate: + * return __pyx_unpickle_TopLevelThreadTracerNoBackFrame, (type(self), 0xa3a9ec1, None), state # <<<<<<<<<<<<<< + * else: + * return __pyx_unpickle_TopLevelThreadTracerNoBackFrame, (type(self), 0xa3a9ec1, state) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pyx_unpickle_TopLevelThreadTra_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_INCREF(__pyx_int_171613889); + __Pyx_GIVEREF(__pyx_int_171613889); + PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_int_171613889); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_2, 2, Py_None); + __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_2); + __Pyx_INCREF(__pyx_v_state); + __Pyx_GIVEREF(__pyx_v_state); + PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_v_state); + __pyx_t_1 = 0; + __pyx_t_2 = 0; + __pyx_r = __pyx_t_6; + __pyx_t_6 = 0; + goto __pyx_L0; + + /* "(tree fragment)":12 + * else: + * use_setstate = self._args is not None or self._frame_trace_dispatch is not None or self._last_exc_arg is not None or self._raise_lines is not None or self.try_except_infos is not None + * if use_setstate: # <<<<<<<<<<<<<< + * return __pyx_unpickle_TopLevelThreadTracerNoBackFrame, (type(self), 0xa3a9ec1, None), state + * else: + */ + } + + /* "(tree fragment)":15 + * return __pyx_unpickle_TopLevelThreadTracerNoBackFrame, (type(self), 0xa3a9ec1, None), state + * else: + * return __pyx_unpickle_TopLevelThreadTracerNoBackFrame, (type(self), 0xa3a9ec1, state) # <<<<<<<<<<<<<< + * def __setstate_cython__(self, __pyx_state): + * __pyx_unpickle_TopLevelThreadTracerNoBackFrame__set_state(self, __pyx_state) + */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_pyx_unpickle_TopLevelThreadTra_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_INCREF(__pyx_int_171613889); + __Pyx_GIVEREF(__pyx_int_171613889); + PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_int_171613889); + __Pyx_INCREF(__pyx_v_state); + __Pyx_GIVEREF(__pyx_v_state); + PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_state); + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_2); + __pyx_t_6 = 0; + __pyx_t_2 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + } + + /* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * cdef tuple state + * cdef object _dict + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.TopLevelThreadTracerNoBackFrame.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_state); + __Pyx_XDECREF(__pyx_v__dict); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":16 + * else: + * return __pyx_unpickle_TopLevelThreadTracerNoBackFrame, (type(self), 0xa3a9ec1, state) + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * __pyx_unpickle_TopLevelThreadTracerNoBackFrame__set_state(self, __pyx_state) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_8__setstate_cython__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_8__setstate_cython__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *__pyx_v_self, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__setstate_cython__", 0); + + /* "(tree fragment)":17 + * return __pyx_unpickle_TopLevelThreadTracerNoBackFrame, (type(self), 0xa3a9ec1, state) + * def __setstate_cython__(self, __pyx_state): + * __pyx_unpickle_TopLevelThreadTracerNoBackFrame__set_state(self, __pyx_state) # <<<<<<<<<<<<<< + */ + if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(2, 17, __pyx_L1_error) + __pyx_t_1 = __pyx_f_14_pydevd_bundle_13pydevd_cython___pyx_unpickle_TopLevelThreadTracerNoBackFrame__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 17, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "(tree fragment)":16 + * else: + * return __pyx_unpickle_TopLevelThreadTracerNoBackFrame, (type(self), 0xa3a9ec1, state) + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * __pyx_unpickle_TopLevelThreadTracerNoBackFrame__set_state(self, __pyx_state) + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.TopLevelThreadTracerNoBackFrame.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pyx":1697 + * cdef class ThreadTracer: + * cdef public tuple _args; + * def __init__(self, tuple args): # <<<<<<<<<<<<<< + * self._args = args + * # ELSE + */ + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_args = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_args,0}; + PyObject* values[1] = {0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_args)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 1697, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 1) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + } + __pyx_v_args = ((PyObject*)values[0]); + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1697, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.ThreadTracer.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return -1; + __pyx_L4_argument_unpacking_done:; + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_args), (&PyTuple_Type), 1, "args", 1))) __PYX_ERR(0, 1697, __pyx_L1_error) + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer___init__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_ThreadTracer *)__pyx_v_self), __pyx_v_args); + + /* function exit code */ + goto __pyx_L0; + __pyx_L1_error:; + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer___init__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_ThreadTracer *__pyx_v_self, PyObject *__pyx_v_args) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__init__", 0); + + /* "_pydevd_bundle/pydevd_cython.pyx":1698 + * cdef public tuple _args; + * def __init__(self, tuple args): + * self._args = args # <<<<<<<<<<<<<< + * # ELSE + * # class ThreadTracer(object): + */ + __Pyx_INCREF(__pyx_v_args); + __Pyx_GIVEREF(__pyx_v_args); + __Pyx_GOTREF(__pyx_v_self->_args); + __Pyx_DECREF(__pyx_v_self->_args); + __pyx_v_self->_args = __pyx_v_args; + + /* "_pydevd_bundle/pydevd_cython.pyx":1697 + * cdef class ThreadTracer: + * cdef public tuple _args; + * def __init__(self, tuple args): # <<<<<<<<<<<<<< + * self._args = args + * # ELSE + */ + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pyx":1706 + * # ENDIF + * + * def __call__(self, frame, event, arg): # <<<<<<<<<<<<<< + * ''' This is the callback used when we enter some context in the debugger. + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_3__call__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__call__[] = " This is the callback used when we enter some context in the debugger.\n\n We also decorate the thread we are in with info about the debugging.\n The attributes added are:\n pydev_state\n pydev_step_stop\n pydev_step_cmd\n pydev_notify_kill\n\n :param PyDB py_db:\n This is the global debugger (this method should actually be added as a method to it).\n "; +#if CYTHON_UPDATE_DESCRIPTOR_DOC +struct wrapperbase __pyx_wrapperbase_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__call__; +#endif +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_3__call__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_frame = 0; + PyObject *__pyx_v_event = 0; + PyObject *__pyx_v_arg = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__call__ (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_frame,&__pyx_n_s_event,&__pyx_n_s_arg,0}; + PyObject* values[3] = {0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_frame)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_event)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__call__", 1, 3, 3, 1); __PYX_ERR(0, 1706, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_arg)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__call__", 1, 3, 3, 2); __PYX_ERR(0, 1706, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__call__") < 0)) __PYX_ERR(0, 1706, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + } + __pyx_v_frame = values[0]; + __pyx_v_event = values[1]; + __pyx_v_arg = values[2]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("__call__", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1706, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.ThreadTracer.__call__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__call__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_ThreadTracer *)__pyx_v_self), __pyx_v_frame, __pyx_v_event, __pyx_v_arg); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__call__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_ThreadTracer *__pyx_v_self, PyObject *__pyx_v_frame, PyObject *__pyx_v_event, PyObject *__pyx_v_arg) { + int __pyx_v_pydev_step_cmd; + PyObject *__pyx_v_frame_cache_key = 0; + PyObject *__pyx_v_cache_skips = 0; + int __pyx_v_is_stepping; + PyObject *__pyx_v_abs_path_canonical_path_and_base = 0; + struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_additional_info = 0; + PyObject *__pyx_v_py_db = NULL; + PyObject *__pyx_v_t = NULL; + PyObject *__pyx_v_frame_skips_cache = NULL; + PyObject *__pyx_v_back_frame = NULL; + PyObject *__pyx_v_back_frame_cache_key = NULL; + PyObject *__pyx_v_file_type = NULL; + PyObject *__pyx_v_ret = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + int __pyx_t_7; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + int __pyx_t_11; + int __pyx_t_12; + int __pyx_t_13; + PyObject *__pyx_t_14 = NULL; + PyObject *__pyx_t_15 = NULL; + PyObject *__pyx_t_16 = NULL; + int __pyx_t_17; + char const *__pyx_t_18; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__call__", 0); + + /* "_pydevd_bundle/pydevd_cython.pyx":1732 + * # DEBUG = 'code_to_debug' in frame.f_code.co_filename + * # if DEBUG: print('ENTER: trace_dispatch: %s %s %s %s' % (frame.f_code.co_filename, frame.f_lineno, event, frame.f_code.co_name)) + * py_db, t, additional_info, cache_skips, frame_skips_cache = self._args # <<<<<<<<<<<<<< + * if additional_info.is_tracing: + * return None if event == 'call' else NO_FTRACE # we don't wan't to trace code invoked from pydevd_frame.trace_dispatch + */ + __pyx_t_1 = __pyx_v_self->_args; + __Pyx_INCREF(__pyx_t_1); + if (likely(__pyx_t_1 != Py_None)) { + PyObject* sequence = __pyx_t_1; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 5)) { + if (size > 5) __Pyx_RaiseTooManyValuesError(5); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 1732, __pyx_L1_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_3 = PyTuple_GET_ITEM(sequence, 1); + __pyx_t_4 = PyTuple_GET_ITEM(sequence, 2); + __pyx_t_5 = PyTuple_GET_ITEM(sequence, 3); + __pyx_t_6 = PyTuple_GET_ITEM(sequence, 4); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(__pyx_t_6); + #else + { + Py_ssize_t i; + PyObject** temps[5] = {&__pyx_t_2,&__pyx_t_3,&__pyx_t_4,&__pyx_t_5,&__pyx_t_6}; + for (i=0; i < 5; i++) { + PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 1732, __pyx_L1_error) + __Pyx_GOTREF(item); + *(temps[i]) = item; + } + } + #endif + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } else { + __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(0, 1732, __pyx_L1_error) + } + if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo))))) __PYX_ERR(0, 1732, __pyx_L1_error) + if (!(likely(PyDict_CheckExact(__pyx_t_5))||((__pyx_t_5) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_5)->tp_name), 0))) __PYX_ERR(0, 1732, __pyx_L1_error) + __pyx_v_py_db = __pyx_t_2; + __pyx_t_2 = 0; + __pyx_v_t = __pyx_t_3; + __pyx_t_3 = 0; + __pyx_v_additional_info = ((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_t_4); + __pyx_t_4 = 0; + __pyx_v_cache_skips = ((PyObject*)__pyx_t_5); + __pyx_t_5 = 0; + __pyx_v_frame_skips_cache = __pyx_t_6; + __pyx_t_6 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1733 + * # if DEBUG: print('ENTER: trace_dispatch: %s %s %s %s' % (frame.f_code.co_filename, frame.f_lineno, event, frame.f_code.co_name)) + * py_db, t, additional_info, cache_skips, frame_skips_cache = self._args + * if additional_info.is_tracing: # <<<<<<<<<<<<<< + * return None if event == 'call' else NO_FTRACE # we don't wan't to trace code invoked from pydevd_frame.trace_dispatch + * + */ + __pyx_t_7 = (__pyx_v_additional_info->is_tracing != 0); + if (__pyx_t_7) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1734 + * py_db, t, additional_info, cache_skips, frame_skips_cache = self._args + * if additional_info.is_tracing: + * return None if event == 'call' else NO_FTRACE # we don't wan't to trace code invoked from pydevd_frame.trace_dispatch # <<<<<<<<<<<<<< + * + * additional_info.is_tracing += 1 + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1734, __pyx_L1_error) + if (__pyx_t_7) { + __Pyx_INCREF(Py_None); + __pyx_t_1 = Py_None; + } else { + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1734, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_1 = __pyx_t_6; + __pyx_t_6 = 0; + } + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1733 + * # if DEBUG: print('ENTER: trace_dispatch: %s %s %s %s' % (frame.f_code.co_filename, frame.f_lineno, event, frame.f_code.co_name)) + * py_db, t, additional_info, cache_skips, frame_skips_cache = self._args + * if additional_info.is_tracing: # <<<<<<<<<<<<<< + * return None if event == 'call' else NO_FTRACE # we don't wan't to trace code invoked from pydevd_frame.trace_dispatch + * + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1736 + * return None if event == 'call' else NO_FTRACE # we don't wan't to trace code invoked from pydevd_frame.trace_dispatch + * + * additional_info.is_tracing += 1 # <<<<<<<<<<<<<< + * try: + * pydev_step_cmd = additional_info.pydev_step_cmd + */ + __pyx_v_additional_info->is_tracing = (__pyx_v_additional_info->is_tracing + 1); + + /* "_pydevd_bundle/pydevd_cython.pyx":1737 + * + * additional_info.is_tracing += 1 + * try: # <<<<<<<<<<<<<< + * pydev_step_cmd = additional_info.pydev_step_cmd + * is_stepping = pydev_step_cmd != -1 + */ + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_9); + __Pyx_XGOTREF(__pyx_t_10); + /*try:*/ { + + /* "_pydevd_bundle/pydevd_cython.pyx":1738 + * additional_info.is_tracing += 1 + * try: + * pydev_step_cmd = additional_info.pydev_step_cmd # <<<<<<<<<<<<<< + * is_stepping = pydev_step_cmd != -1 + * if py_db.pydb_disposed: + */ + __pyx_t_11 = __pyx_v_additional_info->pydev_step_cmd; + __pyx_v_pydev_step_cmd = __pyx_t_11; + + /* "_pydevd_bundle/pydevd_cython.pyx":1739 + * try: + * pydev_step_cmd = additional_info.pydev_step_cmd + * is_stepping = pydev_step_cmd != -1 # <<<<<<<<<<<<<< + * if py_db.pydb_disposed: + * return None if event == 'call' else NO_FTRACE + */ + __pyx_v_is_stepping = (__pyx_v_pydev_step_cmd != -1L); + + /* "_pydevd_bundle/pydevd_cython.pyx":1740 + * pydev_step_cmd = additional_info.pydev_step_cmd + * is_stepping = pydev_step_cmd != -1 + * if py_db.pydb_disposed: # <<<<<<<<<<<<<< + * return None if event == 'call' else NO_FTRACE + * + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_pydb_disposed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1740, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1740, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (__pyx_t_7) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1741 + * is_stepping = pydev_step_cmd != -1 + * if py_db.pydb_disposed: + * return None if event == 'call' else NO_FTRACE # <<<<<<<<<<<<<< + * + * # if thread is not alive, cancel trace_dispatch processing + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1741, __pyx_L7_error) + if (__pyx_t_7) { + __Pyx_INCREF(Py_None); + __pyx_t_1 = Py_None; + } else { + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1741, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_1 = __pyx_t_6; + __pyx_t_6 = 0; + } + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L11_try_return; + + /* "_pydevd_bundle/pydevd_cython.pyx":1740 + * pydev_step_cmd = additional_info.pydev_step_cmd + * is_stepping = pydev_step_cmd != -1 + * if py_db.pydb_disposed: # <<<<<<<<<<<<<< + * return None if event == 'call' else NO_FTRACE + * + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1744 + * + * # if thread is not alive, cancel trace_dispatch processing + * if not is_thread_alive(t): # <<<<<<<<<<<<<< + * py_db.notify_thread_not_alive(get_current_thread_id(t)) + * return None if event == 'call' else NO_FTRACE + */ + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_is_thread_alive); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1744, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_5, __pyx_v_t) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_t); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1744, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1744, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_12 = ((!__pyx_t_7) != 0); + if (__pyx_t_12) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1745 + * # if thread is not alive, cancel trace_dispatch processing + * if not is_thread_alive(t): + * py_db.notify_thread_not_alive(get_current_thread_id(t)) # <<<<<<<<<<<<<< + * return None if event == 'call' else NO_FTRACE + * + */ + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_notify_thread_not_alive); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1745, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_get_current_thread_id); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1745, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_v_t) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_t); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1745, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1745, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1746 + * if not is_thread_alive(t): + * py_db.notify_thread_not_alive(get_current_thread_id(t)) + * return None if event == 'call' else NO_FTRACE # <<<<<<<<<<<<<< + * + * # Note: it's important that the context name is also given because we may hit something once + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_12 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 1746, __pyx_L7_error) + if (__pyx_t_12) { + __Pyx_INCREF(Py_None); + __pyx_t_1 = Py_None; + } else { + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1746, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_1 = __pyx_t_6; + __pyx_t_6 = 0; + } + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L11_try_return; + + /* "_pydevd_bundle/pydevd_cython.pyx":1744 + * + * # if thread is not alive, cancel trace_dispatch processing + * if not is_thread_alive(t): # <<<<<<<<<<<<<< + * py_db.notify_thread_not_alive(get_current_thread_id(t)) + * return None if event == 'call' else NO_FTRACE + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1750 + * # Note: it's important that the context name is also given because we may hit something once + * # in the global context and another in the local context. + * frame_cache_key = frame.f_code # <<<<<<<<<<<<<< + * if frame_cache_key in cache_skips: + * if not is_stepping: + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1750, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_frame_cache_key = __pyx_t_1; + __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1751 + * # in the global context and another in the local context. + * frame_cache_key = frame.f_code + * if frame_cache_key in cache_skips: # <<<<<<<<<<<<<< + * if not is_stepping: + * # if DEBUG: print('skipped: trace_dispatch (cache hit)', frame_cache_key, frame.f_lineno, event, frame.f_code.co_name) + */ + if (unlikely(__pyx_v_cache_skips == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); + __PYX_ERR(0, 1751, __pyx_L7_error) + } + __pyx_t_12 = (__Pyx_PyDict_ContainsTF(__pyx_v_frame_cache_key, __pyx_v_cache_skips, Py_EQ)); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 1751, __pyx_L7_error) + __pyx_t_7 = (__pyx_t_12 != 0); + if (__pyx_t_7) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1752 + * frame_cache_key = frame.f_code + * if frame_cache_key in cache_skips: + * if not is_stepping: # <<<<<<<<<<<<<< + * # if DEBUG: print('skipped: trace_dispatch (cache hit)', frame_cache_key, frame.f_lineno, event, frame.f_code.co_name) + * return None if event == 'call' else NO_FTRACE + */ + __pyx_t_7 = ((!(__pyx_v_is_stepping != 0)) != 0); + if (__pyx_t_7) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1754 + * if not is_stepping: + * # if DEBUG: print('skipped: trace_dispatch (cache hit)', frame_cache_key, frame.f_lineno, event, frame.f_code.co_name) + * return None if event == 'call' else NO_FTRACE # <<<<<<<<<<<<<< + * else: + * # When stepping we can't take into account caching based on the breakpoints (only global filtering). + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1754, __pyx_L7_error) + if (__pyx_t_7) { + __Pyx_INCREF(Py_None); + __pyx_t_1 = Py_None; + } else { + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1754, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_1 = __pyx_t_6; + __pyx_t_6 = 0; + } + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L11_try_return; + + /* "_pydevd_bundle/pydevd_cython.pyx":1752 + * frame_cache_key = frame.f_code + * if frame_cache_key in cache_skips: + * if not is_stepping: # <<<<<<<<<<<<<< + * # if DEBUG: print('skipped: trace_dispatch (cache hit)', frame_cache_key, frame.f_lineno, event, frame.f_code.co_name) + * return None if event == 'call' else NO_FTRACE + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1757 + * else: + * # When stepping we can't take into account caching based on the breakpoints (only global filtering). + * if cache_skips.get(frame_cache_key) == 1: # <<<<<<<<<<<<<< + * + * if additional_info.pydev_original_step_cmd in (107, 144) and not _global_notify_skipped_step_in: + */ + /*else*/ { + if (unlikely(__pyx_v_cache_skips == Py_None)) { + PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "get"); + __PYX_ERR(0, 1757, __pyx_L7_error) + } + __pyx_t_1 = __Pyx_PyDict_GetItemDefault(__pyx_v_cache_skips, __pyx_v_frame_cache_key, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1757, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_6 = __Pyx_PyInt_EqObjC(__pyx_t_1, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1757, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1757, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (__pyx_t_7) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1759 + * if cache_skips.get(frame_cache_key) == 1: + * + * if additional_info.pydev_original_step_cmd in (107, 144) and not _global_notify_skipped_step_in: # <<<<<<<<<<<<<< + * notify_skipped_step_in_because_of_filters(py_db, frame) + * + */ + switch (__pyx_v_additional_info->pydev_original_step_cmd) { + case 0x6B: + case 0x90: + __pyx_t_12 = 1; + break; + default: + __pyx_t_12 = 0; + break; + } + __pyx_t_13 = (__pyx_t_12 != 0); + if (__pyx_t_13) { + } else { + __pyx_t_7 = __pyx_t_13; + goto __pyx_L19_bool_binop_done; + } + __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_v_14_pydevd_bundle_13pydevd_cython__global_notify_skipped_step_in); if (unlikely(__pyx_t_13 < 0)) __PYX_ERR(0, 1759, __pyx_L7_error) + __pyx_t_12 = ((!__pyx_t_13) != 0); + __pyx_t_7 = __pyx_t_12; + __pyx_L19_bool_binop_done:; + if (__pyx_t_7) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1760 + * + * if additional_info.pydev_original_step_cmd in (107, 144) and not _global_notify_skipped_step_in: + * notify_skipped_step_in_because_of_filters(py_db, frame) # <<<<<<<<<<<<<< + * + * back_frame = frame.f_back + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_notify_skipped_step_in_because_o); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1760, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = NULL; + __pyx_t_11 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + __pyx_t_11 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_py_db, __pyx_v_frame}; + __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1760, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_6); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_py_db, __pyx_v_frame}; + __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1760, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_6); + } else + #endif + { + __pyx_t_4 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1760, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + if (__pyx_t_5) { + __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __pyx_t_5 = NULL; + } + __Pyx_INCREF(__pyx_v_py_db); + __Pyx_GIVEREF(__pyx_v_py_db); + PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_11, __pyx_v_py_db); + __Pyx_INCREF(__pyx_v_frame); + __Pyx_GIVEREF(__pyx_v_frame); + PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_11, __pyx_v_frame); + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1760, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1759 + * if cache_skips.get(frame_cache_key) == 1: + * + * if additional_info.pydev_original_step_cmd in (107, 144) and not _global_notify_skipped_step_in: # <<<<<<<<<<<<<< + * notify_skipped_step_in_because_of_filters(py_db, frame) + * + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1762 + * notify_skipped_step_in_because_of_filters(py_db, frame) + * + * back_frame = frame.f_back # <<<<<<<<<<<<<< + * if back_frame is not None and pydev_step_cmd in (107, 144, 109, 160): + * back_frame_cache_key = back_frame.f_code + */ + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1762, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_v_back_frame = __pyx_t_6; + __pyx_t_6 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1763 + * + * back_frame = frame.f_back + * if back_frame is not None and pydev_step_cmd in (107, 144, 109, 160): # <<<<<<<<<<<<<< + * back_frame_cache_key = back_frame.f_code + * if cache_skips.get(back_frame_cache_key) == 1: + */ + __pyx_t_12 = (__pyx_v_back_frame != Py_None); + __pyx_t_13 = (__pyx_t_12 != 0); + if (__pyx_t_13) { + } else { + __pyx_t_7 = __pyx_t_13; + goto __pyx_L22_bool_binop_done; + } + switch (__pyx_v_pydev_step_cmd) { + case 0x6B: + case 0x90: + case 0x6D: + case 0xA0: + __pyx_t_13 = 1; + break; + default: + __pyx_t_13 = 0; + break; + } + __pyx_t_12 = (__pyx_t_13 != 0); + __pyx_t_7 = __pyx_t_12; + __pyx_L22_bool_binop_done:; + if (__pyx_t_7) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1764 + * back_frame = frame.f_back + * if back_frame is not None and pydev_step_cmd in (107, 144, 109, 160): + * back_frame_cache_key = back_frame.f_code # <<<<<<<<<<<<<< + * if cache_skips.get(back_frame_cache_key) == 1: + * # if DEBUG: print('skipped: trace_dispatch (cache hit: 1)', frame_cache_key, frame.f_lineno, event, frame.f_code.co_name) + */ + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_back_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1764, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_v_back_frame_cache_key = __pyx_t_6; + __pyx_t_6 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1765 + * if back_frame is not None and pydev_step_cmd in (107, 144, 109, 160): + * back_frame_cache_key = back_frame.f_code + * if cache_skips.get(back_frame_cache_key) == 1: # <<<<<<<<<<<<<< + * # if DEBUG: print('skipped: trace_dispatch (cache hit: 1)', frame_cache_key, frame.f_lineno, event, frame.f_code.co_name) + * return None if event == 'call' else NO_FTRACE + */ + if (unlikely(__pyx_v_cache_skips == Py_None)) { + PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "get"); + __PYX_ERR(0, 1765, __pyx_L7_error) + } + __pyx_t_6 = __Pyx_PyDict_GetItemDefault(__pyx_v_cache_skips, __pyx_v_back_frame_cache_key, Py_None); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1765, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_t_6, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1765, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1765, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (__pyx_t_7) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1767 + * if cache_skips.get(back_frame_cache_key) == 1: + * # if DEBUG: print('skipped: trace_dispatch (cache hit: 1)', frame_cache_key, frame.f_lineno, event, frame.f_code.co_name) + * return None if event == 'call' else NO_FTRACE # <<<<<<<<<<<<<< + * else: + * # if DEBUG: print('skipped: trace_dispatch (cache hit: 2)', frame_cache_key, frame.f_lineno, event, frame.f_code.co_name) + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1767, __pyx_L7_error) + if (__pyx_t_7) { + __Pyx_INCREF(Py_None); + __pyx_t_1 = Py_None; + } else { + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1767, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_1 = __pyx_t_6; + __pyx_t_6 = 0; + } + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L11_try_return; + + /* "_pydevd_bundle/pydevd_cython.pyx":1765 + * if back_frame is not None and pydev_step_cmd in (107, 144, 109, 160): + * back_frame_cache_key = back_frame.f_code + * if cache_skips.get(back_frame_cache_key) == 1: # <<<<<<<<<<<<<< + * # if DEBUG: print('skipped: trace_dispatch (cache hit: 1)', frame_cache_key, frame.f_lineno, event, frame.f_code.co_name) + * return None if event == 'call' else NO_FTRACE + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1763 + * + * back_frame = frame.f_back + * if back_frame is not None and pydev_step_cmd in (107, 144, 109, 160): # <<<<<<<<<<<<<< + * back_frame_cache_key = back_frame.f_code + * if cache_skips.get(back_frame_cache_key) == 1: + */ + goto __pyx_L21; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1770 + * else: + * # if DEBUG: print('skipped: trace_dispatch (cache hit: 2)', frame_cache_key, frame.f_lineno, event, frame.f_code.co_name) + * return None if event == 'call' else NO_FTRACE # <<<<<<<<<<<<<< + * + * try: + */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1770, __pyx_L7_error) + if (__pyx_t_7) { + __Pyx_INCREF(Py_None); + __pyx_t_1 = Py_None; + } else { + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1770, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_1 = __pyx_t_6; + __pyx_t_6 = 0; + } + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L11_try_return; + } + __pyx_L21:; + + /* "_pydevd_bundle/pydevd_cython.pyx":1757 + * else: + * # When stepping we can't take into account caching based on the breakpoints (only global filtering). + * if cache_skips.get(frame_cache_key) == 1: # <<<<<<<<<<<<<< + * + * if additional_info.pydev_original_step_cmd in (107, 144) and not _global_notify_skipped_step_in: + */ + } + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1751 + * # in the global context and another in the local context. + * frame_cache_key = frame.f_code + * if frame_cache_key in cache_skips: # <<<<<<<<<<<<<< + * if not is_stepping: + * # if DEBUG: print('skipped: trace_dispatch (cache hit)', frame_cache_key, frame.f_lineno, event, frame.f_code.co_name) + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1772 + * return None if event == 'call' else NO_FTRACE + * + * try: # <<<<<<<<<<<<<< + * # Make fast path faster! + * abs_path_canonical_path_and_base = NORM_PATHS_AND_BASE_CONTAINER[frame.f_code.co_filename] + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_14, &__pyx_t_15, &__pyx_t_16); + __Pyx_XGOTREF(__pyx_t_14); + __Pyx_XGOTREF(__pyx_t_15); + __Pyx_XGOTREF(__pyx_t_16); + /*try:*/ { + + /* "_pydevd_bundle/pydevd_cython.pyx":1774 + * try: + * # Make fast path faster! + * abs_path_canonical_path_and_base = NORM_PATHS_AND_BASE_CONTAINER[frame.f_code.co_filename] # <<<<<<<<<<<<<< + * except: + * abs_path_canonical_path_and_base = get_abs_path_real_path_and_base_from_frame(frame) + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_NORM_PATHS_AND_BASE_CONTAINER); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1774, __pyx_L25_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1774, __pyx_L25_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_co_filename); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1774, __pyx_L25_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1774, __pyx_L25_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (!(likely(PyTuple_CheckExact(__pyx_t_6))||((__pyx_t_6) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_t_6)->tp_name), 0))) __PYX_ERR(0, 1774, __pyx_L25_error) + __pyx_v_abs_path_canonical_path_and_base = ((PyObject*)__pyx_t_6); + __pyx_t_6 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1772 + * return None if event == 'call' else NO_FTRACE + * + * try: # <<<<<<<<<<<<<< + * # Make fast path faster! + * abs_path_canonical_path_and_base = NORM_PATHS_AND_BASE_CONTAINER[frame.f_code.co_filename] + */ + } + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; + goto __pyx_L30_try_end; + __pyx_L25_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1775 + * # Make fast path faster! + * abs_path_canonical_path_and_base = NORM_PATHS_AND_BASE_CONTAINER[frame.f_code.co_filename] + * except: # <<<<<<<<<<<<<< + * abs_path_canonical_path_and_base = get_abs_path_real_path_and_base_from_frame(frame) + * + */ + /*except:*/ { + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.ThreadTracer.__call__", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_4, &__pyx_t_1) < 0) __PYX_ERR(0, 1775, __pyx_L27_except_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GOTREF(__pyx_t_1); + + /* "_pydevd_bundle/pydevd_cython.pyx":1776 + * abs_path_canonical_path_and_base = NORM_PATHS_AND_BASE_CONTAINER[frame.f_code.co_filename] + * except: + * abs_path_canonical_path_and_base = get_abs_path_real_path_and_base_from_frame(frame) # <<<<<<<<<<<<<< + * + * file_type = py_db.get_file_type(frame, abs_path_canonical_path_and_base) # we don't want to debug threading or anything related to pydevd + */ + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_get_abs_path_real_path_and_base); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1776, __pyx_L27_except_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_v_frame) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_frame); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1776, __pyx_L27_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (!(likely(PyTuple_CheckExact(__pyx_t_5))||((__pyx_t_5) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_t_5)->tp_name), 0))) __PYX_ERR(0, 1776, __pyx_L27_except_error) + __Pyx_XDECREF_SET(__pyx_v_abs_path_canonical_path_and_base, ((PyObject*)__pyx_t_5)); + __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L26_exception_handled; + } + __pyx_L27_except_error:; + + /* "_pydevd_bundle/pydevd_cython.pyx":1772 + * return None if event == 'call' else NO_FTRACE + * + * try: # <<<<<<<<<<<<<< + * # Make fast path faster! + * abs_path_canonical_path_and_base = NORM_PATHS_AND_BASE_CONTAINER[frame.f_code.co_filename] + */ + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_XGIVEREF(__pyx_t_15); + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_ExceptionReset(__pyx_t_14, __pyx_t_15, __pyx_t_16); + goto __pyx_L7_error; + __pyx_L26_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_XGIVEREF(__pyx_t_15); + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_ExceptionReset(__pyx_t_14, __pyx_t_15, __pyx_t_16); + __pyx_L30_try_end:; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1778 + * abs_path_canonical_path_and_base = get_abs_path_real_path_and_base_from_frame(frame) + * + * file_type = py_db.get_file_type(frame, abs_path_canonical_path_and_base) # we don't want to debug threading or anything related to pydevd # <<<<<<<<<<<<<< + * + * if file_type is not None: + */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_get_file_type); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1778, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = NULL; + __pyx_t_11 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + __pyx_t_11 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_frame, __pyx_v_abs_path_canonical_path_and_base}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1778, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_frame, __pyx_v_abs_path_canonical_path_and_base}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1778, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else + #endif + { + __pyx_t_5 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1778, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + if (__pyx_t_6) { + __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_6); __pyx_t_6 = NULL; + } + __Pyx_INCREF(__pyx_v_frame); + __Pyx_GIVEREF(__pyx_v_frame); + PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_11, __pyx_v_frame); + __Pyx_INCREF(__pyx_v_abs_path_canonical_path_and_base); + __Pyx_GIVEREF(__pyx_v_abs_path_canonical_path_and_base); + PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_11, __pyx_v_abs_path_canonical_path_and_base); + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1778, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_v_file_type = __pyx_t_1; + __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1780 + * file_type = py_db.get_file_type(frame, abs_path_canonical_path_and_base) # we don't want to debug threading or anything related to pydevd + * + * if file_type is not None: # <<<<<<<<<<<<<< + * if file_type == 1: # inlining LIB_FILE = 1 + * if not py_db.in_project_scope(frame, abs_path_canonical_path_and_base[0]): + */ + __pyx_t_7 = (__pyx_v_file_type != Py_None); + __pyx_t_12 = (__pyx_t_7 != 0); + if (__pyx_t_12) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1781 + * + * if file_type is not None: + * if file_type == 1: # inlining LIB_FILE = 1 # <<<<<<<<<<<<<< + * if not py_db.in_project_scope(frame, abs_path_canonical_path_and_base[0]): + * # if DEBUG: print('skipped: trace_dispatch (not in scope)', abs_path_canonical_path_and_base[2], frame.f_lineno, event, frame.f_code.co_name, file_type) + */ + __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_file_type, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1781, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 1781, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (__pyx_t_12) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1782 + * if file_type is not None: + * if file_type == 1: # inlining LIB_FILE = 1 + * if not py_db.in_project_scope(frame, abs_path_canonical_path_and_base[0]): # <<<<<<<<<<<<<< + * # if DEBUG: print('skipped: trace_dispatch (not in scope)', abs_path_canonical_path_and_base[2], frame.f_lineno, event, frame.f_code.co_name, file_type) + * cache_skips[frame_cache_key] = 1 + */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_in_project_scope); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1782, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + if (unlikely(__pyx_v_abs_path_canonical_path_and_base == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 1782, __pyx_L7_error) + } + __pyx_t_5 = __Pyx_GetItemInt_Tuple(__pyx_v_abs_path_canonical_path_and_base, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1782, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = NULL; + __pyx_t_11 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + __pyx_t_11 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_frame, __pyx_t_5}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1782, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_frame, __pyx_t_5}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1782, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } else + #endif + { + __pyx_t_3 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1782, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + if (__pyx_t_6) { + __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_6); __pyx_t_6 = NULL; + } + __Pyx_INCREF(__pyx_v_frame); + __Pyx_GIVEREF(__pyx_v_frame); + PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_11, __pyx_v_frame); + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_11, __pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1782, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 1782, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_7 = ((!__pyx_t_12) != 0); + if (__pyx_t_7) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1784 + * if not py_db.in_project_scope(frame, abs_path_canonical_path_and_base[0]): + * # if DEBUG: print('skipped: trace_dispatch (not in scope)', abs_path_canonical_path_and_base[2], frame.f_lineno, event, frame.f_code.co_name, file_type) + * cache_skips[frame_cache_key] = 1 # <<<<<<<<<<<<<< + * return None if event == 'call' else NO_FTRACE + * else: + */ + if (unlikely(__pyx_v_cache_skips == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 1784, __pyx_L7_error) + } + if (unlikely(PyDict_SetItem(__pyx_v_cache_skips, __pyx_v_frame_cache_key, __pyx_int_1) < 0)) __PYX_ERR(0, 1784, __pyx_L7_error) + + /* "_pydevd_bundle/pydevd_cython.pyx":1785 + * # if DEBUG: print('skipped: trace_dispatch (not in scope)', abs_path_canonical_path_and_base[2], frame.f_lineno, event, frame.f_code.co_name, file_type) + * cache_skips[frame_cache_key] = 1 + * return None if event == 'call' else NO_FTRACE # <<<<<<<<<<<<<< + * else: + * # if DEBUG: print('skipped: trace_dispatch', abs_path_canonical_path_and_base[2], frame.f_lineno, event, frame.f_code.co_name, file_type) + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1785, __pyx_L7_error) + if (__pyx_t_7) { + __Pyx_INCREF(Py_None); + __pyx_t_1 = Py_None; + } else { + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1785, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = __pyx_t_4; + __pyx_t_4 = 0; + } + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L11_try_return; + + /* "_pydevd_bundle/pydevd_cython.pyx":1782 + * if file_type is not None: + * if file_type == 1: # inlining LIB_FILE = 1 + * if not py_db.in_project_scope(frame, abs_path_canonical_path_and_base[0]): # <<<<<<<<<<<<<< + * # if DEBUG: print('skipped: trace_dispatch (not in scope)', abs_path_canonical_path_and_base[2], frame.f_lineno, event, frame.f_code.co_name, file_type) + * cache_skips[frame_cache_key] = 1 + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1781 + * + * if file_type is not None: + * if file_type == 1: # inlining LIB_FILE = 1 # <<<<<<<<<<<<<< + * if not py_db.in_project_scope(frame, abs_path_canonical_path_and_base[0]): + * # if DEBUG: print('skipped: trace_dispatch (not in scope)', abs_path_canonical_path_and_base[2], frame.f_lineno, event, frame.f_code.co_name, file_type) + */ + goto __pyx_L34; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1788 + * else: + * # if DEBUG: print('skipped: trace_dispatch', abs_path_canonical_path_and_base[2], frame.f_lineno, event, frame.f_code.co_name, file_type) + * cache_skips[frame_cache_key] = 1 # <<<<<<<<<<<<<< + * return None if event == 'call' else NO_FTRACE + * + */ + /*else*/ { + if (unlikely(__pyx_v_cache_skips == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 1788, __pyx_L7_error) + } + if (unlikely(PyDict_SetItem(__pyx_v_cache_skips, __pyx_v_frame_cache_key, __pyx_int_1) < 0)) __PYX_ERR(0, 1788, __pyx_L7_error) + + /* "_pydevd_bundle/pydevd_cython.pyx":1789 + * # if DEBUG: print('skipped: trace_dispatch', abs_path_canonical_path_and_base[2], frame.f_lineno, event, frame.f_code.co_name, file_type) + * cache_skips[frame_cache_key] = 1 + * return None if event == 'call' else NO_FTRACE # <<<<<<<<<<<<<< + * + * if py_db.is_files_filter_enabled: + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1789, __pyx_L7_error) + if (__pyx_t_7) { + __Pyx_INCREF(Py_None); + __pyx_t_1 = Py_None; + } else { + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1789, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = __pyx_t_4; + __pyx_t_4 = 0; + } + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L11_try_return; + } + __pyx_L34:; + + /* "_pydevd_bundle/pydevd_cython.pyx":1780 + * file_type = py_db.get_file_type(frame, abs_path_canonical_path_and_base) # we don't want to debug threading or anything related to pydevd + * + * if file_type is not None: # <<<<<<<<<<<<<< + * if file_type == 1: # inlining LIB_FILE = 1 + * if not py_db.in_project_scope(frame, abs_path_canonical_path_and_base[0]): + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1791 + * return None if event == 'call' else NO_FTRACE + * + * if py_db.is_files_filter_enabled: # <<<<<<<<<<<<<< + * if py_db.apply_files_filter(frame, abs_path_canonical_path_and_base[0], False): + * cache_skips[frame_cache_key] = 1 + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_is_files_filter_enabled); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1791, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1791, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (__pyx_t_7) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1792 + * + * if py_db.is_files_filter_enabled: + * if py_db.apply_files_filter(frame, abs_path_canonical_path_and_base[0], False): # <<<<<<<<<<<<<< + * cache_skips[frame_cache_key] = 1 + * + */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_apply_files_filter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1792, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + if (unlikely(__pyx_v_abs_path_canonical_path_and_base == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 1792, __pyx_L7_error) + } + __pyx_t_3 = __Pyx_GetItemInt_Tuple(__pyx_v_abs_path_canonical_path_and_base, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1792, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + __pyx_t_11 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + __pyx_t_11 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_v_frame, __pyx_t_3, Py_False}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_11, 3+__pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1792, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_v_frame, __pyx_t_3, Py_False}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_11, 3+__pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1792, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } else + #endif + { + __pyx_t_6 = PyTuple_New(3+__pyx_t_11); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1792, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_6); + if (__pyx_t_5) { + __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL; + } + __Pyx_INCREF(__pyx_v_frame); + __Pyx_GIVEREF(__pyx_v_frame); + PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_11, __pyx_v_frame); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_11, __pyx_t_3); + __Pyx_INCREF(Py_False); + __Pyx_GIVEREF(Py_False); + PyTuple_SET_ITEM(__pyx_t_6, 2+__pyx_t_11, Py_False); + __pyx_t_3 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1792, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1792, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (__pyx_t_7) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1793 + * if py_db.is_files_filter_enabled: + * if py_db.apply_files_filter(frame, abs_path_canonical_path_and_base[0], False): + * cache_skips[frame_cache_key] = 1 # <<<<<<<<<<<<<< + * + * if is_stepping and additional_info.pydev_original_step_cmd in (107, 144) and not _global_notify_skipped_step_in: + */ + if (unlikely(__pyx_v_cache_skips == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 1793, __pyx_L7_error) + } + if (unlikely(PyDict_SetItem(__pyx_v_cache_skips, __pyx_v_frame_cache_key, __pyx_int_1) < 0)) __PYX_ERR(0, 1793, __pyx_L7_error) + + /* "_pydevd_bundle/pydevd_cython.pyx":1795 + * cache_skips[frame_cache_key] = 1 + * + * if is_stepping and additional_info.pydev_original_step_cmd in (107, 144) and not _global_notify_skipped_step_in: # <<<<<<<<<<<<<< + * notify_skipped_step_in_because_of_filters(py_db, frame) + * + */ + __pyx_t_12 = (__pyx_v_is_stepping != 0); + if (__pyx_t_12) { + } else { + __pyx_t_7 = __pyx_t_12; + goto __pyx_L39_bool_binop_done; + } + switch (__pyx_v_additional_info->pydev_original_step_cmd) { + case 0x6B: + case 0x90: + __pyx_t_12 = 1; + break; + default: + __pyx_t_12 = 0; + break; + } + __pyx_t_13 = (__pyx_t_12 != 0); + if (__pyx_t_13) { + } else { + __pyx_t_7 = __pyx_t_13; + goto __pyx_L39_bool_binop_done; + } + __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_v_14_pydevd_bundle_13pydevd_cython__global_notify_skipped_step_in); if (unlikely(__pyx_t_13 < 0)) __PYX_ERR(0, 1795, __pyx_L7_error) + __pyx_t_12 = ((!__pyx_t_13) != 0); + __pyx_t_7 = __pyx_t_12; + __pyx_L39_bool_binop_done:; + if (__pyx_t_7) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1796 + * + * if is_stepping and additional_info.pydev_original_step_cmd in (107, 144) and not _global_notify_skipped_step_in: + * notify_skipped_step_in_because_of_filters(py_db, frame) # <<<<<<<<<<<<<< + * + * # A little gotcha, sometimes when we're stepping in we have to stop in a + */ + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_notify_skipped_step_in_because_o); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1796, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = NULL; + __pyx_t_11 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + __pyx_t_11 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_py_db, __pyx_v_frame}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1796, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_py_db, __pyx_v_frame}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1796, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else + #endif + { + __pyx_t_3 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1796, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + if (__pyx_t_6) { + __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_6); __pyx_t_6 = NULL; + } + __Pyx_INCREF(__pyx_v_py_db); + __Pyx_GIVEREF(__pyx_v_py_db); + PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_11, __pyx_v_py_db); + __Pyx_INCREF(__pyx_v_frame); + __Pyx_GIVEREF(__pyx_v_frame); + PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_11, __pyx_v_frame); + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1796, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1795 + * cache_skips[frame_cache_key] = 1 + * + * if is_stepping and additional_info.pydev_original_step_cmd in (107, 144) and not _global_notify_skipped_step_in: # <<<<<<<<<<<<<< + * notify_skipped_step_in_because_of_filters(py_db, frame) + * + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1801 + * # return event showing the back frame as the current frame, so, we need + * # to check not only the current frame but the back frame too. + * back_frame = frame.f_back # <<<<<<<<<<<<<< + * if back_frame is not None and pydev_step_cmd in (107, 144, 109, 160): + * if py_db.apply_files_filter(back_frame, back_frame.f_code.co_filename, False): + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1801, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_XDECREF_SET(__pyx_v_back_frame, __pyx_t_1); + __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1802 + * # to check not only the current frame but the back frame too. + * back_frame = frame.f_back + * if back_frame is not None and pydev_step_cmd in (107, 144, 109, 160): # <<<<<<<<<<<<<< + * if py_db.apply_files_filter(back_frame, back_frame.f_code.co_filename, False): + * back_frame_cache_key = back_frame.f_code + */ + __pyx_t_12 = (__pyx_v_back_frame != Py_None); + __pyx_t_13 = (__pyx_t_12 != 0); + if (__pyx_t_13) { + } else { + __pyx_t_7 = __pyx_t_13; + goto __pyx_L43_bool_binop_done; + } + switch (__pyx_v_pydev_step_cmd) { + case 0x6B: + case 0x90: + case 0x6D: + case 0xA0: + __pyx_t_13 = 1; + break; + default: + __pyx_t_13 = 0; + break; + } + __pyx_t_12 = (__pyx_t_13 != 0); + __pyx_t_7 = __pyx_t_12; + __pyx_L43_bool_binop_done:; + if (__pyx_t_7) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1803 + * back_frame = frame.f_back + * if back_frame is not None and pydev_step_cmd in (107, 144, 109, 160): + * if py_db.apply_files_filter(back_frame, back_frame.f_code.co_filename, False): # <<<<<<<<<<<<<< + * back_frame_cache_key = back_frame.f_code + * cache_skips[back_frame_cache_key] = 1 + */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_apply_files_filter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1803, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_back_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1803, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_co_filename); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1803, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + __pyx_t_11 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + __pyx_t_11 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_v_back_frame, __pyx_t_6, Py_False}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_11, 3+__pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1803, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_v_back_frame, __pyx_t_6, Py_False}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_11, 3+__pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1803, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } else + #endif + { + __pyx_t_5 = PyTuple_New(3+__pyx_t_11); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1803, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + if (__pyx_t_3) { + __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL; + } + __Pyx_INCREF(__pyx_v_back_frame); + __Pyx_GIVEREF(__pyx_v_back_frame); + PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_11, __pyx_v_back_frame); + __Pyx_GIVEREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_11, __pyx_t_6); + __Pyx_INCREF(Py_False); + __Pyx_GIVEREF(Py_False); + PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_11, Py_False); + __pyx_t_6 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1803, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1803, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (__pyx_t_7) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1804 + * if back_frame is not None and pydev_step_cmd in (107, 144, 109, 160): + * if py_db.apply_files_filter(back_frame, back_frame.f_code.co_filename, False): + * back_frame_cache_key = back_frame.f_code # <<<<<<<<<<<<<< + * cache_skips[back_frame_cache_key] = 1 + * # if DEBUG: print('skipped: trace_dispatch (filtered out: 1)', frame_cache_key, frame.f_lineno, event, frame.f_code.co_name) + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_back_frame, __pyx_n_s_f_code); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1804, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_XDECREF_SET(__pyx_v_back_frame_cache_key, __pyx_t_1); + __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1805 + * if py_db.apply_files_filter(back_frame, back_frame.f_code.co_filename, False): + * back_frame_cache_key = back_frame.f_code + * cache_skips[back_frame_cache_key] = 1 # <<<<<<<<<<<<<< + * # if DEBUG: print('skipped: trace_dispatch (filtered out: 1)', frame_cache_key, frame.f_lineno, event, frame.f_code.co_name) + * return None if event == 'call' else NO_FTRACE + */ + if (unlikely(__pyx_v_cache_skips == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 1805, __pyx_L7_error) + } + if (unlikely(PyDict_SetItem(__pyx_v_cache_skips, __pyx_v_back_frame_cache_key, __pyx_int_1) < 0)) __PYX_ERR(0, 1805, __pyx_L7_error) + + /* "_pydevd_bundle/pydevd_cython.pyx":1807 + * cache_skips[back_frame_cache_key] = 1 + * # if DEBUG: print('skipped: trace_dispatch (filtered out: 1)', frame_cache_key, frame.f_lineno, event, frame.f_code.co_name) + * return None if event == 'call' else NO_FTRACE # <<<<<<<<<<<<<< + * else: + * # if DEBUG: print('skipped: trace_dispatch (filtered out: 2)', frame_cache_key, frame.f_lineno, event, frame.f_code.co_name) + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1807, __pyx_L7_error) + if (__pyx_t_7) { + __Pyx_INCREF(Py_None); + __pyx_t_1 = Py_None; + } else { + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1807, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = __pyx_t_4; + __pyx_t_4 = 0; + } + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L11_try_return; + + /* "_pydevd_bundle/pydevd_cython.pyx":1803 + * back_frame = frame.f_back + * if back_frame is not None and pydev_step_cmd in (107, 144, 109, 160): + * if py_db.apply_files_filter(back_frame, back_frame.f_code.co_filename, False): # <<<<<<<<<<<<<< + * back_frame_cache_key = back_frame.f_code + * cache_skips[back_frame_cache_key] = 1 + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1802 + * # to check not only the current frame but the back frame too. + * back_frame = frame.f_back + * if back_frame is not None and pydev_step_cmd in (107, 144, 109, 160): # <<<<<<<<<<<<<< + * if py_db.apply_files_filter(back_frame, back_frame.f_code.co_filename, False): + * back_frame_cache_key = back_frame.f_code + */ + goto __pyx_L42; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1810 + * else: + * # if DEBUG: print('skipped: trace_dispatch (filtered out: 2)', frame_cache_key, frame.f_lineno, event, frame.f_code.co_name) + * return None if event == 'call' else NO_FTRACE # <<<<<<<<<<<<<< + * + * # if DEBUG: print('trace_dispatch', filename, frame.f_lineno, event, frame.f_code.co_name, file_type) + */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1810, __pyx_L7_error) + if (__pyx_t_7) { + __Pyx_INCREF(Py_None); + __pyx_t_1 = Py_None; + } else { + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1810, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = __pyx_t_4; + __pyx_t_4 = 0; + } + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L11_try_return; + } + __pyx_L42:; + + /* "_pydevd_bundle/pydevd_cython.pyx":1792 + * + * if py_db.is_files_filter_enabled: + * if py_db.apply_files_filter(frame, abs_path_canonical_path_and_base[0], False): # <<<<<<<<<<<<<< + * cache_skips[frame_cache_key] = 1 + * + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1791 + * return None if event == 'call' else NO_FTRACE + * + * if py_db.is_files_filter_enabled: # <<<<<<<<<<<<<< + * if py_db.apply_files_filter(frame, abs_path_canonical_path_and_base[0], False): + * cache_skips[frame_cache_key] = 1 + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1818 + * ret = PyDBFrame( + * ( + * py_db, abs_path_canonical_path_and_base, additional_info, t, frame_skips_cache, frame_cache_key, # <<<<<<<<<<<<<< + * ) + * ).trace_dispatch(frame, event, arg) + */ + __pyx_t_1 = PyTuple_New(6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1818, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v_py_db); + __Pyx_GIVEREF(__pyx_v_py_db); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_py_db); + __Pyx_INCREF(__pyx_v_abs_path_canonical_path_and_base); + __Pyx_GIVEREF(__pyx_v_abs_path_canonical_path_and_base); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_abs_path_canonical_path_and_base); + __Pyx_INCREF(((PyObject *)__pyx_v_additional_info)); + __Pyx_GIVEREF(((PyObject *)__pyx_v_additional_info)); + PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_additional_info)); + __Pyx_INCREF(__pyx_v_t); + __Pyx_GIVEREF(__pyx_v_t); + PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_t); + __Pyx_INCREF(__pyx_v_frame_skips_cache); + __Pyx_GIVEREF(__pyx_v_frame_skips_cache); + PyTuple_SET_ITEM(__pyx_t_1, 4, __pyx_v_frame_skips_cache); + __Pyx_INCREF(__pyx_v_frame_cache_key); + __Pyx_GIVEREF(__pyx_v_frame_cache_key); + PyTuple_SET_ITEM(__pyx_t_1, 5, __pyx_v_frame_cache_key); + + /* "_pydevd_bundle/pydevd_cython.pyx":1816 + * # Just create PyDBFrame directly (removed support for Python versions < 2.5, which required keeping a weak + * # reference to the frame). + * ret = PyDBFrame( # <<<<<<<<<<<<<< + * ( + * py_db, abs_path_canonical_path_and_base, additional_info, t, frame_skips_cache, frame_cache_key, + */ + __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBFrame), __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1816, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1820 + * py_db, abs_path_canonical_path_and_base, additional_info, t, frame_skips_cache, frame_cache_key, + * ) + * ).trace_dispatch(frame, event, arg) # <<<<<<<<<<<<<< + * if ret is None: + * # 1 means skipped because of filters. + */ + if (!(likely(PyString_CheckExact(__pyx_v_event))||((__pyx_v_event) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_v_event)->tp_name), 0))) __PYX_ERR(0, 1820, __pyx_L7_error) + __pyx_t_1 = ((struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_t_4)->__pyx_vtab)->trace_dispatch(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_t_4), __pyx_v_frame, ((PyObject*)__pyx_v_event), __pyx_v_arg, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1820, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_v_ret = __pyx_t_1; + __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1821 + * ) + * ).trace_dispatch(frame, event, arg) + * if ret is None: # <<<<<<<<<<<<<< + * # 1 means skipped because of filters. + * # 2 means skipped because no breakpoints were hit. + */ + __pyx_t_7 = (__pyx_v_ret == Py_None); + __pyx_t_12 = (__pyx_t_7 != 0); + if (__pyx_t_12) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1824 + * # 1 means skipped because of filters. + * # 2 means skipped because no breakpoints were hit. + * cache_skips[frame_cache_key] = 2 # <<<<<<<<<<<<<< + * return None if event == 'call' else NO_FTRACE + * + */ + if (unlikely(__pyx_v_cache_skips == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 1824, __pyx_L7_error) + } + if (unlikely(PyDict_SetItem(__pyx_v_cache_skips, __pyx_v_frame_cache_key, __pyx_int_2) < 0)) __PYX_ERR(0, 1824, __pyx_L7_error) + + /* "_pydevd_bundle/pydevd_cython.pyx":1825 + * # 2 means skipped because no breakpoints were hit. + * cache_skips[frame_cache_key] = 2 + * return None if event == 'call' else NO_FTRACE # <<<<<<<<<<<<<< + * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_12 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 1825, __pyx_L7_error) + if (__pyx_t_12) { + __Pyx_INCREF(Py_None); + __pyx_t_1 = Py_None; + } else { + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1825, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = __pyx_t_4; + __pyx_t_4 = 0; + } + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L11_try_return; + + /* "_pydevd_bundle/pydevd_cython.pyx":1821 + * ) + * ).trace_dispatch(frame, event, arg) + * if ret is None: # <<<<<<<<<<<<<< + * # 1 means skipped because of filters. + * # 2 means skipped because no breakpoints were hit. + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1828 + * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * frame.f_trace = SafeCallWrapper(ret) # Make sure we keep the returned tracer. # <<<<<<<<<<<<<< + * # ELSE + * # frame.f_trace = ret # Make sure we keep the returned tracer. + */ + __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper), __pyx_v_ret); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1828, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + if (__Pyx_PyObject_SetAttrStr(__pyx_v_frame, __pyx_n_s_f_trace, __pyx_t_1) < 0) __PYX_ERR(0, 1828, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1832 + * # frame.f_trace = ret # Make sure we keep the returned tracer. + * # ENDIF + * return ret # <<<<<<<<<<<<<< + * + * except SystemExit: + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_ret); + __pyx_r = __pyx_v_ret; + goto __pyx_L11_try_return; + + /* "_pydevd_bundle/pydevd_cython.pyx":1737 + * + * additional_info.is_tracing += 1 + * try: # <<<<<<<<<<<<<< + * pydev_step_cmd = additional_info.pydev_step_cmd + * is_stepping = pydev_step_cmd != -1 + */ + } + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1834 + * return ret + * + * except SystemExit: # <<<<<<<<<<<<<< + * return None if event == 'call' else NO_FTRACE + * + */ + __pyx_t_11 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_SystemExit); + if (__pyx_t_11) { + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.ThreadTracer.__call__", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_5) < 0) __PYX_ERR(0, 1834, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GOTREF(__pyx_t_5); + + /* "_pydevd_bundle/pydevd_cython.pyx":1835 + * + * except SystemExit: + * return None if event == 'call' else NO_FTRACE # <<<<<<<<<<<<<< + * + * except Exception: + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_12 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 1835, __pyx_L9_except_error) + if (__pyx_t_12) { + __Pyx_INCREF(Py_None); + __pyx_t_6 = Py_None; + } else { + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1835, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_6 = __pyx_t_3; + __pyx_t_3 = 0; + } + __pyx_r = __pyx_t_6; + __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L10_except_return; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1837 + * return None if event == 'call' else NO_FTRACE + * + * except Exception: # <<<<<<<<<<<<<< + * if py_db.pydb_disposed: + * return None if event == 'call' else NO_FTRACE # Don't log errors when we're shutting down. + */ + __pyx_t_11 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); + if (__pyx_t_11) { + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.ThreadTracer.__call__", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_4, &__pyx_t_1) < 0) __PYX_ERR(0, 1837, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GOTREF(__pyx_t_1); + + /* "_pydevd_bundle/pydevd_cython.pyx":1838 + * + * except Exception: + * if py_db.pydb_disposed: # <<<<<<<<<<<<<< + * return None if event == 'call' else NO_FTRACE # Don't log errors when we're shutting down. + * # Log it + */ + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_py_db, __pyx_n_s_pydb_disposed); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1838, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 1838, __pyx_L9_except_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (__pyx_t_12) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1839 + * except Exception: + * if py_db.pydb_disposed: + * return None if event == 'call' else NO_FTRACE # Don't log errors when we're shutting down. # <<<<<<<<<<<<<< + * # Log it + * try: + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_12 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 1839, __pyx_L9_except_error) + if (__pyx_t_12) { + __Pyx_INCREF(Py_None); + __pyx_t_6 = Py_None; + } else { + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1839, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_6 = __pyx_t_3; + __pyx_t_3 = 0; + } + __pyx_r = __pyx_t_6; + __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L10_except_return; + + /* "_pydevd_bundle/pydevd_cython.pyx":1838 + * + * except Exception: + * if py_db.pydb_disposed: # <<<<<<<<<<<<<< + * return None if event == 'call' else NO_FTRACE # Don't log errors when we're shutting down. + * # Log it + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1841 + * return None if event == 'call' else NO_FTRACE # Don't log errors when we're shutting down. + * # Log it + * try: # <<<<<<<<<<<<<< + * if pydev_log_exception is not None: + * # This can actually happen during the interpreter shutdown in Python 2.7 + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_16, &__pyx_t_15, &__pyx_t_14); + __Pyx_XGOTREF(__pyx_t_16); + __Pyx_XGOTREF(__pyx_t_15); + __Pyx_XGOTREF(__pyx_t_14); + /*try:*/ { + + /* "_pydevd_bundle/pydevd_cython.pyx":1842 + * # Log it + * try: + * if pydev_log_exception is not None: # <<<<<<<<<<<<<< + * # This can actually happen during the interpreter shutdown in Python 2.7 + * pydev_log_exception() + */ + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_pydev_log_exception); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1842, __pyx_L52_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_12 = (__pyx_t_6 != Py_None); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_7 = (__pyx_t_12 != 0); + if (__pyx_t_7) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1844 + * if pydev_log_exception is not None: + * # This can actually happen during the interpreter shutdown in Python 2.7 + * pydev_log_exception() # <<<<<<<<<<<<<< + * except: + * # Error logging? We're really in the interpreter shutdown... + */ + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pydev_log_exception); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1844, __pyx_L52_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_6 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1844, __pyx_L52_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1842 + * # Log it + * try: + * if pydev_log_exception is not None: # <<<<<<<<<<<<<< + * # This can actually happen during the interpreter shutdown in Python 2.7 + * pydev_log_exception() + */ + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1841 + * return None if event == 'call' else NO_FTRACE # Don't log errors when we're shutting down. + * # Log it + * try: # <<<<<<<<<<<<<< + * if pydev_log_exception is not None: + * # This can actually happen during the interpreter shutdown in Python 2.7 + */ + } + __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; + __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + goto __pyx_L59_try_end; + __pyx_L52_error:; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1845 + * # This can actually happen during the interpreter shutdown in Python 2.7 + * pydev_log_exception() + * except: # <<<<<<<<<<<<<< + * # Error logging? We're really in the interpreter shutdown... + * # (https://github.com/fabioz/PyDev.Debugger/issues/8) + */ + /*except:*/ { + __Pyx_ErrRestore(0,0,0); + goto __pyx_L53_exception_handled; + } + __pyx_L53_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_XGIVEREF(__pyx_t_15); + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_ExceptionReset(__pyx_t_16, __pyx_t_15, __pyx_t_14); + __pyx_L59_try_end:; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1849 + * # (https://github.com/fabioz/PyDev.Debugger/issues/8) + * pass + * return None if event == 'call' else NO_FTRACE # <<<<<<<<<<<<<< + * finally: + * additional_info.is_tracing -= 1 + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_7 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1849, __pyx_L9_except_error) + if (__pyx_t_7) { + __Pyx_INCREF(Py_None); + __pyx_t_6 = Py_None; + } else { + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1849, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_6 = __pyx_t_3; + __pyx_t_3 = 0; + } + __pyx_r = __pyx_t_6; + __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L10_except_return; + } + goto __pyx_L9_except_error; + __pyx_L9_except_error:; + + /* "_pydevd_bundle/pydevd_cython.pyx":1737 + * + * additional_info.is_tracing += 1 + * try: # <<<<<<<<<<<<<< + * pydev_step_cmd = additional_info.pydev_step_cmd + * is_stepping = pydev_step_cmd != -1 + */ + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); + goto __pyx_L5_error; + __pyx_L11_try_return:; + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); + goto __pyx_L4_return; + __pyx_L10_except_return:; + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); + goto __pyx_L4_return; + } + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1851 + * return None if event == 'call' else NO_FTRACE + * finally: + * additional_info.is_tracing -= 1 # <<<<<<<<<<<<<< + * + * + */ + /*finally:*/ { + __pyx_L5_error:; + /*exception exit:*/{ + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __pyx_t_10 = 0; __pyx_t_9 = 0; __pyx_t_8 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_14, &__pyx_t_15, &__pyx_t_16); + if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_10, &__pyx_t_9, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_10, &__pyx_t_9, &__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_9); + __Pyx_XGOTREF(__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_14); + __Pyx_XGOTREF(__pyx_t_15); + __Pyx_XGOTREF(__pyx_t_16); + __pyx_t_11 = __pyx_lineno; __pyx_t_17 = __pyx_clineno; __pyx_t_18 = __pyx_filename; + { + __pyx_v_additional_info->is_tracing = (__pyx_v_additional_info->is_tracing - 1); + } + if (PY_MAJOR_VERSION >= 3) { + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_XGIVEREF(__pyx_t_15); + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_ExceptionReset(__pyx_t_14, __pyx_t_15, __pyx_t_16); + } + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ErrRestore(__pyx_t_10, __pyx_t_9, __pyx_t_8); + __pyx_t_10 = 0; __pyx_t_9 = 0; __pyx_t_8 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; + __pyx_lineno = __pyx_t_11; __pyx_clineno = __pyx_t_17; __pyx_filename = __pyx_t_18; + goto __pyx_L1_error; + } + __pyx_L4_return: { + __pyx_t_16 = __pyx_r; + __pyx_r = 0; + __pyx_v_additional_info->is_tracing = (__pyx_v_additional_info->is_tracing - 1); + __pyx_r = __pyx_t_16; + __pyx_t_16 = 0; + goto __pyx_L0; + } + } + + /* "_pydevd_bundle/pydevd_cython.pyx":1706 + * # ENDIF + * + * def __call__(self, frame, event, arg): # <<<<<<<<<<<<<< + * ''' This is the callback used when we enter some context in the debugger. + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.ThreadTracer.__call__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_frame_cache_key); + __Pyx_XDECREF(__pyx_v_cache_skips); + __Pyx_XDECREF(__pyx_v_abs_path_canonical_path_and_base); + __Pyx_XDECREF((PyObject *)__pyx_v_additional_info); + __Pyx_XDECREF(__pyx_v_py_db); + __Pyx_XDECREF(__pyx_v_t); + __Pyx_XDECREF(__pyx_v_frame_skips_cache); + __Pyx_XDECREF(__pyx_v_back_frame); + __Pyx_XDECREF(__pyx_v_back_frame_cache_key); + __Pyx_XDECREF(__pyx_v_file_type); + __Pyx_XDECREF(__pyx_v_ret); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pyx":1696 + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * cdef class ThreadTracer: + * cdef public tuple _args; # <<<<<<<<<<<<<< + * def __init__(self, tuple args): + * self._args = args + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_5_args_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_5_args_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_5_args___get__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_ThreadTracer *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_5_args___get__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_ThreadTracer *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->_args); + __pyx_r = __pyx_v_self->_args; + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_5_args_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_5_args_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_5_args_2__set__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_ThreadTracer *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_5_args_2__set__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_ThreadTracer *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__set__", 0); + if (!(likely(PyTuple_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v_value)->tp_name), 0))) __PYX_ERR(0, 1696, __pyx_L1_error) + __pyx_t_1 = __pyx_v_value; + __Pyx_INCREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v_self->_args); + __Pyx_DECREF(__pyx_v_self->_args); + __pyx_v_self->_args = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.ThreadTracer._args.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_5_args_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_5_args_5__del__(PyObject *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_5_args_4__del__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_ThreadTracer *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_5_args_4__del__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_ThreadTracer *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__", 0); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->_args); + __Pyx_DECREF(__pyx_v_self->_args); + __pyx_v_self->_args = ((PyObject*)Py_None); + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * cdef tuple state + * cdef object _dict + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_4__reduce_cython__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_ThreadTracer *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_4__reduce_cython__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_ThreadTracer *__pyx_v_self) { + PyObject *__pyx_v_state = 0; + PyObject *__pyx_v__dict = 0; + int __pyx_v_use_setstate; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + int __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__reduce_cython__", 0); + + /* "(tree fragment)":5 + * cdef object _dict + * cdef bint use_setstate + * state = (self._args,) # <<<<<<<<<<<<<< + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: + */ + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v_self->_args); + __Pyx_GIVEREF(__pyx_v_self->_args); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self->_args); + __pyx_v_state = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "(tree fragment)":6 + * cdef bint use_setstate + * state = (self._args,) + * _dict = getattr(self, '__dict__', None) # <<<<<<<<<<<<<< + * if _dict is not None: + * state += (_dict,) + */ + __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v__dict = __pyx_t_1; + __pyx_t_1 = 0; + + /* "(tree fragment)":7 + * state = (self._args,) + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: # <<<<<<<<<<<<<< + * state += (_dict,) + * use_setstate = True + */ + __pyx_t_2 = (__pyx_v__dict != Py_None); + __pyx_t_3 = (__pyx_t_2 != 0); + if (__pyx_t_3) { + + /* "(tree fragment)":8 + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: + * state += (_dict,) # <<<<<<<<<<<<<< + * use_setstate = True + * else: + */ + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v__dict); + __Pyx_GIVEREF(__pyx_v__dict); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict); + __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 8, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4)); + __pyx_t_4 = 0; + + /* "(tree fragment)":9 + * if _dict is not None: + * state += (_dict,) + * use_setstate = True # <<<<<<<<<<<<<< + * else: + * use_setstate = self._args is not None + */ + __pyx_v_use_setstate = 1; + + /* "(tree fragment)":7 + * state = (self._args,) + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: # <<<<<<<<<<<<<< + * state += (_dict,) + * use_setstate = True + */ + goto __pyx_L3; + } + + /* "(tree fragment)":11 + * use_setstate = True + * else: + * use_setstate = self._args is not None # <<<<<<<<<<<<<< + * if use_setstate: + * return __pyx_unpickle_ThreadTracer, (type(self), 0x3d7902a, None), state + */ + /*else*/ { + __pyx_t_3 = (__pyx_v_self->_args != ((PyObject*)Py_None)); + __pyx_v_use_setstate = __pyx_t_3; + } + __pyx_L3:; + + /* "(tree fragment)":12 + * else: + * use_setstate = self._args is not None + * if use_setstate: # <<<<<<<<<<<<<< + * return __pyx_unpickle_ThreadTracer, (type(self), 0x3d7902a, None), state + * else: + */ + __pyx_t_3 = (__pyx_v_use_setstate != 0); + if (__pyx_t_3) { + + /* "(tree fragment)":13 + * use_setstate = self._args is not None + * if use_setstate: + * return __pyx_unpickle_ThreadTracer, (type(self), 0x3d7902a, None), state # <<<<<<<<<<<<<< + * else: + * return __pyx_unpickle_ThreadTracer, (type(self), 0x3d7902a, state) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_pyx_unpickle_ThreadTracer); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_INCREF(__pyx_int_64458794); + __Pyx_GIVEREF(__pyx_int_64458794); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_64458794); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1); + __Pyx_INCREF(__pyx_v_state); + __Pyx_GIVEREF(__pyx_v_state); + PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state); + __pyx_t_4 = 0; + __pyx_t_1 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; + goto __pyx_L0; + + /* "(tree fragment)":12 + * else: + * use_setstate = self._args is not None + * if use_setstate: # <<<<<<<<<<<<<< + * return __pyx_unpickle_ThreadTracer, (type(self), 0x3d7902a, None), state + * else: + */ + } + + /* "(tree fragment)":15 + * return __pyx_unpickle_ThreadTracer, (type(self), 0x3d7902a, None), state + * else: + * return __pyx_unpickle_ThreadTracer, (type(self), 0x3d7902a, state) # <<<<<<<<<<<<<< + * def __setstate_cython__(self, __pyx_state): + * __pyx_unpickle_ThreadTracer__set_state(self, __pyx_state) + */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pyx_unpickle_ThreadTracer); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_INCREF(__pyx_int_64458794); + __Pyx_GIVEREF(__pyx_int_64458794); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_64458794); + __Pyx_INCREF(__pyx_v_state); + __Pyx_GIVEREF(__pyx_v_state); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state); + __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __pyx_t_5 = 0; + __pyx_t_1 = 0; + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; + goto __pyx_L0; + } + + /* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * cdef tuple state + * cdef object _dict + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.ThreadTracer.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_state); + __Pyx_XDECREF(__pyx_v__dict); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":16 + * else: + * return __pyx_unpickle_ThreadTracer, (type(self), 0x3d7902a, state) + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * __pyx_unpickle_ThreadTracer__set_state(self, __pyx_state) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0); + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_6__setstate_cython__(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_ThreadTracer *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_6__setstate_cython__(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_ThreadTracer *__pyx_v_self, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__setstate_cython__", 0); + + /* "(tree fragment)":17 + * return __pyx_unpickle_ThreadTracer, (type(self), 0x3d7902a, state) + * def __setstate_cython__(self, __pyx_state): + * __pyx_unpickle_ThreadTracer__set_state(self, __pyx_state) # <<<<<<<<<<<<<< + */ + if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(2, 17, __pyx_L1_error) + __pyx_t_1 = __pyx_f_14_pydevd_bundle_13pydevd_cython___pyx_unpickle_ThreadTracer__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 17, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "(tree fragment)":16 + * else: + * return __pyx_unpickle_ThreadTracer, (type(self), 0x3d7902a, state) + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * __pyx_unpickle_ThreadTracer__set_state(self, __pyx_state) + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.ThreadTracer.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_bundle/pydevd_cython.pyx":1866 + * _original_call = ThreadTracer.__call__ + * + * def __call__(self, frame, event, arg): # <<<<<<<<<<<<<< + * constructed_tid_to_last_frame[self._args[1].ident] = frame + * return _original_call(self, frame, event, arg) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_11__call__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_14_pydevd_bundle_13pydevd_cython_11__call__ = {"__call__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_11__call__, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_11__call__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_self = 0; + PyObject *__pyx_v_frame = 0; + PyObject *__pyx_v_event = 0; + PyObject *__pyx_v_arg = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__call__ (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_frame,&__pyx_n_s_event,&__pyx_n_s_arg,0}; + PyObject* values[4] = {0,0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + CYTHON_FALLTHROUGH; + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_frame)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__call__", 1, 4, 4, 1); __PYX_ERR(0, 1866, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_event)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__call__", 1, 4, 4, 2); __PYX_ERR(0, 1866, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 3: + if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_arg)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__call__", 1, 4, 4, 3); __PYX_ERR(0, 1866, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__call__") < 0)) __PYX_ERR(0, 1866, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + } + __pyx_v_self = values[0]; + __pyx_v_frame = values[1]; + __pyx_v_event = values[2]; + __pyx_v_arg = values[3]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("__call__", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1866, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.__call__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_10__call__(__pyx_self, __pyx_v_self, __pyx_v_frame, __pyx_v_event, __pyx_v_arg); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_10__call__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_frame, PyObject *__pyx_v_event, PyObject *__pyx_v_arg) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__call__", 0); + + /* "_pydevd_bundle/pydevd_cython.pyx":1867 + * + * def __call__(self, frame, event, arg): + * constructed_tid_to_last_frame[self._args[1].ident] = frame # <<<<<<<<<<<<<< + * return _original_call(self, frame, event, arg) + * + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_constructed_tid_to_last_frame); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1867, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_args_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1867, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1867, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ident); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1867, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_t_2, __pyx_v_frame) < 0)) __PYX_ERR(0, 1867, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1868 + * def __call__(self, frame, event, arg): + * constructed_tid_to_last_frame[self._args[1].ident] = frame + * return _original_call(self, frame, event, arg) # <<<<<<<<<<<<<< + * + * ThreadTracer.__call__ = __call__ + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_original_call); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1868, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = NULL; + __pyx_t_4 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + __pyx_t_4 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[5] = {__pyx_t_3, __pyx_v_self, __pyx_v_frame, __pyx_v_event, __pyx_v_arg}; + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_4, 4+__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1868, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[5] = {__pyx_t_3, __pyx_v_self, __pyx_v_frame, __pyx_v_event, __pyx_v_arg}; + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_4, 4+__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1868, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + { + __pyx_t_5 = PyTuple_New(4+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1868, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + if (__pyx_t_3) { + __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL; + } + __Pyx_INCREF(__pyx_v_self); + __Pyx_GIVEREF(__pyx_v_self); + PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_4, __pyx_v_self); + __Pyx_INCREF(__pyx_v_frame); + __Pyx_GIVEREF(__pyx_v_frame); + PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_v_frame); + __Pyx_INCREF(__pyx_v_event); + __Pyx_GIVEREF(__pyx_v_event); + PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_4, __pyx_v_event); + __Pyx_INCREF(__pyx_v_arg); + __Pyx_GIVEREF(__pyx_v_arg); + PyTuple_SET_ITEM(__pyx_t_5, 3+__pyx_t_4, __pyx_v_arg); + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1868, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1866 + * _original_call = ThreadTracer.__call__ + * + * def __call__(self, frame, event, arg): # <<<<<<<<<<<<<< + * constructed_tid_to_last_frame[self._args[1].ident] = frame + * return _original_call(self, frame, event, arg) + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.__call__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":1 + * def __pyx_unpickle_PyDBAdditionalThreadInfo(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * cdef object __pyx_PickleError + * cdef object __pyx_result + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_13__pyx_unpickle_PyDBAdditionalThreadInfo(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_14_pydevd_bundle_13pydevd_cython_13__pyx_unpickle_PyDBAdditionalThreadInfo = {"__pyx_unpickle_PyDBAdditionalThreadInfo", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_13__pyx_unpickle_PyDBAdditionalThreadInfo, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_13__pyx_unpickle_PyDBAdditionalThreadInfo(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v___pyx_type = 0; + long __pyx_v___pyx_checksum; + PyObject *__pyx_v___pyx_state = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__pyx_unpickle_PyDBAdditionalThreadInfo (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0}; + PyObject* values[3] = {0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PyDBAdditionalThreadInfo", 1, 3, 3, 1); __PYX_ERR(2, 1, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PyDBAdditionalThreadInfo", 1, 3, 3, 2); __PYX_ERR(2, 1, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_PyDBAdditionalThreadInfo") < 0)) __PYX_ERR(2, 1, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + } + __pyx_v___pyx_type = values[0]; + __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(2, 1, __pyx_L3_error) + __pyx_v___pyx_state = values[2]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PyDBAdditionalThreadInfo", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(2, 1, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.__pyx_unpickle_PyDBAdditionalThreadInfo", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_12__pyx_unpickle_PyDBAdditionalThreadInfo(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_12__pyx_unpickle_PyDBAdditionalThreadInfo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_v___pyx_PickleError = 0; + PyObject *__pyx_v___pyx_result = 0; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + int __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__pyx_unpickle_PyDBAdditionalThreadInfo", 0); + + /* "(tree fragment)":4 + * cdef object __pyx_PickleError + * cdef object __pyx_result + * if __pyx_checksum not in (0x75b3b02, 0x5f02be1, 0xa5a0d63): # <<<<<<<<<<<<<< + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x75b3b02, 0x5f02be1, 0xa5a0d63) = (conditional_breakpoint_exception, is_tracing, pydev_call_from_jinja2, pydev_call_inside_jinja2, pydev_django_resolve_frame, pydev_func_name, pydev_message, pydev_next_line, pydev_notify_kill, pydev_original_step_cmd, pydev_smart_child_offset, pydev_smart_parent_offset, pydev_smart_step_into_variants, pydev_smart_step_stop, pydev_state, pydev_step_cmd, pydev_step_stop, pydev_use_scoped_step_frame, step_in_initial_location, suspend_type, suspended_at_unhandled, target_id_to_smart_step_into_variant, thread_tracer, top_level_thread_tracer_no_back_frames, top_level_thread_tracer_unhandled, trace_suspend_type))" % __pyx_checksum) + */ + __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_tuple__9, Py_NE)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(2, 4, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_3 = (__pyx_t_2 != 0); + if (__pyx_t_3) { + + /* "(tree fragment)":5 + * cdef object __pyx_result + * if __pyx_checksum not in (0x75b3b02, 0x5f02be1, 0xa5a0d63): + * from pickle import PickleError as __pyx_PickleError # <<<<<<<<<<<<<< + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x75b3b02, 0x5f02be1, 0xa5a0d63) = (conditional_breakpoint_exception, is_tracing, pydev_call_from_jinja2, pydev_call_inside_jinja2, pydev_django_resolve_frame, pydev_func_name, pydev_message, pydev_next_line, pydev_notify_kill, pydev_original_step_cmd, pydev_smart_child_offset, pydev_smart_parent_offset, pydev_smart_step_into_variants, pydev_smart_step_stop, pydev_state, pydev_step_cmd, pydev_step_stop, pydev_use_scoped_step_frame, step_in_initial_location, suspend_type, suspended_at_unhandled, target_id_to_smart_step_into_variant, thread_tracer, top_level_thread_tracer_no_back_frames, top_level_thread_tracer_unhandled, trace_suspend_type))" % __pyx_checksum) + * __pyx_result = PyDBAdditionalThreadInfo.__new__(__pyx_type) + */ + __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_s_PickleError); + __Pyx_GIVEREF(__pyx_n_s_PickleError); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_PickleError); + __pyx_t_4 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_1, -1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_4, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_t_1); + __pyx_v___pyx_PickleError = __pyx_t_1; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "(tree fragment)":6 + * if __pyx_checksum not in (0x75b3b02, 0x5f02be1, 0xa5a0d63): + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x75b3b02, 0x5f02be1, 0xa5a0d63) = (conditional_breakpoint_exception, is_tracing, pydev_call_from_jinja2, pydev_call_inside_jinja2, pydev_django_resolve_frame, pydev_func_name, pydev_message, pydev_next_line, pydev_notify_kill, pydev_original_step_cmd, pydev_smart_child_offset, pydev_smart_parent_offset, pydev_smart_step_into_variants, pydev_smart_step_stop, pydev_state, pydev_step_cmd, pydev_step_stop, pydev_use_scoped_step_frame, step_in_initial_location, suspend_type, suspended_at_unhandled, target_id_to_smart_step_into_variant, thread_tracer, top_level_thread_tracer_no_back_frames, top_level_thread_tracer_unhandled, trace_suspend_type))" % __pyx_checksum) # <<<<<<<<<<<<<< + * __pyx_result = PyDBAdditionalThreadInfo.__new__(__pyx_type) + * if __pyx_state is not None: + */ + __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_0x_x_vs_0, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_INCREF(__pyx_v___pyx_PickleError); + __pyx_t_1 = __pyx_v___pyx_PickleError; __pyx_t_6 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_Raise(__pyx_t_4, 0, 0, 0); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __PYX_ERR(2, 6, __pyx_L1_error) + + /* "(tree fragment)":4 + * cdef object __pyx_PickleError + * cdef object __pyx_result + * if __pyx_checksum not in (0x75b3b02, 0x5f02be1, 0xa5a0d63): # <<<<<<<<<<<<<< + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x75b3b02, 0x5f02be1, 0xa5a0d63) = (conditional_breakpoint_exception, is_tracing, pydev_call_from_jinja2, pydev_call_inside_jinja2, pydev_django_resolve_frame, pydev_func_name, pydev_message, pydev_next_line, pydev_notify_kill, pydev_original_step_cmd, pydev_smart_child_offset, pydev_smart_parent_offset, pydev_smart_step_into_variants, pydev_smart_step_stop, pydev_state, pydev_step_cmd, pydev_step_stop, pydev_use_scoped_step_frame, step_in_initial_location, suspend_type, suspended_at_unhandled, target_id_to_smart_step_into_variant, thread_tracer, top_level_thread_tracer_no_back_frames, top_level_thread_tracer_unhandled, trace_suspend_type))" % __pyx_checksum) + */ + } + + /* "(tree fragment)":7 + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x75b3b02, 0x5f02be1, 0xa5a0d63) = (conditional_breakpoint_exception, is_tracing, pydev_call_from_jinja2, pydev_call_inside_jinja2, pydev_django_resolve_frame, pydev_func_name, pydev_message, pydev_next_line, pydev_notify_kill, pydev_original_step_cmd, pydev_smart_child_offset, pydev_smart_parent_offset, pydev_smart_step_into_variants, pydev_smart_step_stop, pydev_state, pydev_step_cmd, pydev_step_stop, pydev_use_scoped_step_frame, step_in_initial_location, suspend_type, suspended_at_unhandled, target_id_to_smart_step_into_variant, thread_tracer, top_level_thread_tracer_no_back_frames, top_level_thread_tracer_unhandled, trace_suspend_type))" % __pyx_checksum) + * __pyx_result = PyDBAdditionalThreadInfo.__new__(__pyx_type) # <<<<<<<<<<<<<< + * if __pyx_state is not None: + * __pyx_unpickle_PyDBAdditionalThreadInfo__set_state( __pyx_result, __pyx_state) + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo), __pyx_n_s_new); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v___pyx_type); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v___pyx_result = __pyx_t_4; + __pyx_t_4 = 0; + + /* "(tree fragment)":8 + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x75b3b02, 0x5f02be1, 0xa5a0d63) = (conditional_breakpoint_exception, is_tracing, pydev_call_from_jinja2, pydev_call_inside_jinja2, pydev_django_resolve_frame, pydev_func_name, pydev_message, pydev_next_line, pydev_notify_kill, pydev_original_step_cmd, pydev_smart_child_offset, pydev_smart_parent_offset, pydev_smart_step_into_variants, pydev_smart_step_stop, pydev_state, pydev_step_cmd, pydev_step_stop, pydev_use_scoped_step_frame, step_in_initial_location, suspend_type, suspended_at_unhandled, target_id_to_smart_step_into_variant, thread_tracer, top_level_thread_tracer_no_back_frames, top_level_thread_tracer_unhandled, trace_suspend_type))" % __pyx_checksum) + * __pyx_result = PyDBAdditionalThreadInfo.__new__(__pyx_type) + * if __pyx_state is not None: # <<<<<<<<<<<<<< + * __pyx_unpickle_PyDBAdditionalThreadInfo__set_state( __pyx_result, __pyx_state) + * return __pyx_result + */ + __pyx_t_3 = (__pyx_v___pyx_state != Py_None); + __pyx_t_2 = (__pyx_t_3 != 0); + if (__pyx_t_2) { + + /* "(tree fragment)":9 + * __pyx_result = PyDBAdditionalThreadInfo.__new__(__pyx_type) + * if __pyx_state is not None: + * __pyx_unpickle_PyDBAdditionalThreadInfo__set_state( __pyx_result, __pyx_state) # <<<<<<<<<<<<<< + * return __pyx_result + * cdef __pyx_unpickle_PyDBAdditionalThreadInfo__set_state(PyDBAdditionalThreadInfo __pyx_result, tuple __pyx_state): + */ + if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(2, 9, __pyx_L1_error) + __pyx_t_4 = __pyx_f_14_pydevd_bundle_13pydevd_cython___pyx_unpickle_PyDBAdditionalThreadInfo__set_state(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "(tree fragment)":8 + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x75b3b02, 0x5f02be1, 0xa5a0d63) = (conditional_breakpoint_exception, is_tracing, pydev_call_from_jinja2, pydev_call_inside_jinja2, pydev_django_resolve_frame, pydev_func_name, pydev_message, pydev_next_line, pydev_notify_kill, pydev_original_step_cmd, pydev_smart_child_offset, pydev_smart_parent_offset, pydev_smart_step_into_variants, pydev_smart_step_stop, pydev_state, pydev_step_cmd, pydev_step_stop, pydev_use_scoped_step_frame, step_in_initial_location, suspend_type, suspended_at_unhandled, target_id_to_smart_step_into_variant, thread_tracer, top_level_thread_tracer_no_back_frames, top_level_thread_tracer_unhandled, trace_suspend_type))" % __pyx_checksum) + * __pyx_result = PyDBAdditionalThreadInfo.__new__(__pyx_type) + * if __pyx_state is not None: # <<<<<<<<<<<<<< + * __pyx_unpickle_PyDBAdditionalThreadInfo__set_state( __pyx_result, __pyx_state) + * return __pyx_result + */ + } + + /* "(tree fragment)":10 + * if __pyx_state is not None: + * __pyx_unpickle_PyDBAdditionalThreadInfo__set_state( __pyx_result, __pyx_state) + * return __pyx_result # <<<<<<<<<<<<<< + * cdef __pyx_unpickle_PyDBAdditionalThreadInfo__set_state(PyDBAdditionalThreadInfo __pyx_result, tuple __pyx_state): + * __pyx_result.conditional_breakpoint_exception = __pyx_state[0]; __pyx_result.is_tracing = __pyx_state[1]; __pyx_result.pydev_call_from_jinja2 = __pyx_state[2]; __pyx_result.pydev_call_inside_jinja2 = __pyx_state[3]; __pyx_result.pydev_django_resolve_frame = __pyx_state[4]; __pyx_result.pydev_func_name = __pyx_state[5]; __pyx_result.pydev_message = __pyx_state[6]; __pyx_result.pydev_next_line = __pyx_state[7]; __pyx_result.pydev_notify_kill = __pyx_state[8]; __pyx_result.pydev_original_step_cmd = __pyx_state[9]; __pyx_result.pydev_smart_child_offset = __pyx_state[10]; __pyx_result.pydev_smart_parent_offset = __pyx_state[11]; __pyx_result.pydev_smart_step_into_variants = __pyx_state[12]; __pyx_result.pydev_smart_step_stop = __pyx_state[13]; __pyx_result.pydev_state = __pyx_state[14]; __pyx_result.pydev_step_cmd = __pyx_state[15]; __pyx_result.pydev_step_stop = __pyx_state[16]; __pyx_result.pydev_use_scoped_step_frame = __pyx_state[17]; __pyx_result.step_in_initial_location = __pyx_state[18]; __pyx_result.suspend_type = __pyx_state[19]; __pyx_result.suspended_at_unhandled = __pyx_state[20]; __pyx_result.target_id_to_smart_step_into_variant = __pyx_state[21]; __pyx_result.thread_tracer = __pyx_state[22]; __pyx_result.top_level_thread_tracer_no_back_frames = __pyx_state[23]; __pyx_result.top_level_thread_tracer_unhandled = __pyx_state[24]; __pyx_result.trace_suspend_type = __pyx_state[25] + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v___pyx_result); + __pyx_r = __pyx_v___pyx_result; + goto __pyx_L0; + + /* "(tree fragment)":1 + * def __pyx_unpickle_PyDBAdditionalThreadInfo(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * cdef object __pyx_PickleError + * cdef object __pyx_result + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.__pyx_unpickle_PyDBAdditionalThreadInfo", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v___pyx_PickleError); + __Pyx_XDECREF(__pyx_v___pyx_result); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":11 + * __pyx_unpickle_PyDBAdditionalThreadInfo__set_state( __pyx_result, __pyx_state) + * return __pyx_result + * cdef __pyx_unpickle_PyDBAdditionalThreadInfo__set_state(PyDBAdditionalThreadInfo __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<< + * __pyx_result.conditional_breakpoint_exception = __pyx_state[0]; __pyx_result.is_tracing = __pyx_state[1]; __pyx_result.pydev_call_from_jinja2 = __pyx_state[2]; __pyx_result.pydev_call_inside_jinja2 = __pyx_state[3]; __pyx_result.pydev_django_resolve_frame = __pyx_state[4]; __pyx_result.pydev_func_name = __pyx_state[5]; __pyx_result.pydev_message = __pyx_state[6]; __pyx_result.pydev_next_line = __pyx_state[7]; __pyx_result.pydev_notify_kill = __pyx_state[8]; __pyx_result.pydev_original_step_cmd = __pyx_state[9]; __pyx_result.pydev_smart_child_offset = __pyx_state[10]; __pyx_result.pydev_smart_parent_offset = __pyx_state[11]; __pyx_result.pydev_smart_step_into_variants = __pyx_state[12]; __pyx_result.pydev_smart_step_stop = __pyx_state[13]; __pyx_result.pydev_state = __pyx_state[14]; __pyx_result.pydev_step_cmd = __pyx_state[15]; __pyx_result.pydev_step_stop = __pyx_state[16]; __pyx_result.pydev_use_scoped_step_frame = __pyx_state[17]; __pyx_result.step_in_initial_location = __pyx_state[18]; __pyx_result.suspend_type = __pyx_state[19]; __pyx_result.suspended_at_unhandled = __pyx_state[20]; __pyx_result.target_id_to_smart_step_into_variant = __pyx_state[21]; __pyx_result.thread_tracer = __pyx_state[22]; __pyx_result.top_level_thread_tracer_no_back_frames = __pyx_state[23]; __pyx_result.top_level_thread_tracer_unhandled = __pyx_state[24]; __pyx_result.trace_suspend_type = __pyx_state[25] + * if len(__pyx_state) > 26 and hasattr(__pyx_result, '__dict__'): + */ + +static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython___pyx_unpickle_PyDBAdditionalThreadInfo__set_state(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + int __pyx_t_3; + Py_ssize_t __pyx_t_4; + int __pyx_t_5; + int __pyx_t_6; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__pyx_unpickle_PyDBAdditionalThreadInfo__set_state", 0); + + /* "(tree fragment)":12 + * return __pyx_result + * cdef __pyx_unpickle_PyDBAdditionalThreadInfo__set_state(PyDBAdditionalThreadInfo __pyx_result, tuple __pyx_state): + * __pyx_result.conditional_breakpoint_exception = __pyx_state[0]; __pyx_result.is_tracing = __pyx_state[1]; __pyx_result.pydev_call_from_jinja2 = __pyx_state[2]; __pyx_result.pydev_call_inside_jinja2 = __pyx_state[3]; __pyx_result.pydev_django_resolve_frame = __pyx_state[4]; __pyx_result.pydev_func_name = __pyx_state[5]; __pyx_result.pydev_message = __pyx_state[6]; __pyx_result.pydev_next_line = __pyx_state[7]; __pyx_result.pydev_notify_kill = __pyx_state[8]; __pyx_result.pydev_original_step_cmd = __pyx_state[9]; __pyx_result.pydev_smart_child_offset = __pyx_state[10]; __pyx_result.pydev_smart_parent_offset = __pyx_state[11]; __pyx_result.pydev_smart_step_into_variants = __pyx_state[12]; __pyx_result.pydev_smart_step_stop = __pyx_state[13]; __pyx_result.pydev_state = __pyx_state[14]; __pyx_result.pydev_step_cmd = __pyx_state[15]; __pyx_result.pydev_step_stop = __pyx_state[16]; __pyx_result.pydev_use_scoped_step_frame = __pyx_state[17]; __pyx_result.step_in_initial_location = __pyx_state[18]; __pyx_result.suspend_type = __pyx_state[19]; __pyx_result.suspended_at_unhandled = __pyx_state[20]; __pyx_result.target_id_to_smart_step_into_variant = __pyx_state[21]; __pyx_result.thread_tracer = __pyx_state[22]; __pyx_result.top_level_thread_tracer_no_back_frames = __pyx_state[23]; __pyx_result.top_level_thread_tracer_unhandled = __pyx_state[24]; __pyx_result.trace_suspend_type = __pyx_state[25] # <<<<<<<<<<<<<< + * if len(__pyx_state) > 26 and hasattr(__pyx_result, '__dict__'): + * __pyx_result.__dict__.update(__pyx_state[26]) + */ + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(2, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->conditional_breakpoint_exception); + __Pyx_DECREF(__pyx_v___pyx_result->conditional_breakpoint_exception); + __pyx_v___pyx_result->conditional_breakpoint_exception = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(2, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v___pyx_result->is_tracing = __pyx_t_2; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(2, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->pydev_call_from_jinja2); + __Pyx_DECREF(__pyx_v___pyx_result->pydev_call_from_jinja2); + __pyx_v___pyx_result->pydev_call_from_jinja2 = __pyx_t_1; + __pyx_t_1 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(2, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->pydev_call_inside_jinja2); + __Pyx_DECREF(__pyx_v___pyx_result->pydev_call_inside_jinja2); + __pyx_v___pyx_result->pydev_call_inside_jinja2 = __pyx_t_1; + __pyx_t_1 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(2, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v___pyx_result->pydev_django_resolve_frame = __pyx_t_3; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(2, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 5, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(PyString_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->pydev_func_name); + __Pyx_DECREF(__pyx_v___pyx_result->pydev_func_name); + __pyx_v___pyx_result->pydev_func_name = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(2, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 6, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(PyString_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->pydev_message); + __Pyx_DECREF(__pyx_v___pyx_result->pydev_message); + __pyx_v___pyx_result->pydev_message = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(2, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 7, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v___pyx_result->pydev_next_line = __pyx_t_2; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(2, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 8, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v___pyx_result->pydev_notify_kill = __pyx_t_3; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(2, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 9, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v___pyx_result->pydev_original_step_cmd = __pyx_t_2; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(2, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 10, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v___pyx_result->pydev_smart_child_offset = __pyx_t_2; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(2, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 11, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v___pyx_result->pydev_smart_parent_offset = __pyx_t_2; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(2, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 12, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->pydev_smart_step_into_variants); + __Pyx_DECREF(__pyx_v___pyx_result->pydev_smart_step_into_variants); + __pyx_v___pyx_result->pydev_smart_step_into_variants = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(2, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 13, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->pydev_smart_step_stop); + __Pyx_DECREF(__pyx_v___pyx_result->pydev_smart_step_stop); + __pyx_v___pyx_result->pydev_smart_step_stop = __pyx_t_1; + __pyx_t_1 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(2, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 14, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v___pyx_result->pydev_state = __pyx_t_2; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(2, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 15, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v___pyx_result->pydev_step_cmd = __pyx_t_2; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(2, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 16, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->pydev_step_stop); + __Pyx_DECREF(__pyx_v___pyx_result->pydev_step_stop); + __pyx_v___pyx_result->pydev_step_stop = __pyx_t_1; + __pyx_t_1 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(2, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 17, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v___pyx_result->pydev_use_scoped_step_frame = __pyx_t_3; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(2, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 18, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->step_in_initial_location); + __Pyx_DECREF(__pyx_v___pyx_result->step_in_initial_location); + __pyx_v___pyx_result->step_in_initial_location = __pyx_t_1; + __pyx_t_1 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(2, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 19, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v___pyx_result->suspend_type = __pyx_t_2; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(2, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 20, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v___pyx_result->suspended_at_unhandled = __pyx_t_3; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(2, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 21, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(PyDict_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->target_id_to_smart_step_into_variant); + __Pyx_DECREF(__pyx_v___pyx_result->target_id_to_smart_step_into_variant); + __pyx_v___pyx_result->target_id_to_smart_step_into_variant = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(2, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 22, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->thread_tracer); + __Pyx_DECREF(__pyx_v___pyx_result->thread_tracer); + __pyx_v___pyx_result->thread_tracer = __pyx_t_1; + __pyx_t_1 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(2, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 23, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->top_level_thread_tracer_no_back_frames); + __Pyx_DECREF(__pyx_v___pyx_result->top_level_thread_tracer_no_back_frames); + __pyx_v___pyx_result->top_level_thread_tracer_no_back_frames = __pyx_t_1; + __pyx_t_1 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(2, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 24, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->top_level_thread_tracer_unhandled); + __Pyx_DECREF(__pyx_v___pyx_result->top_level_thread_tracer_unhandled); + __pyx_v___pyx_result->top_level_thread_tracer_unhandled = __pyx_t_1; + __pyx_t_1 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(2, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 25, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(PyString_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->trace_suspend_type); + __Pyx_DECREF(__pyx_v___pyx_result->trace_suspend_type); + __pyx_v___pyx_result->trace_suspend_type = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "(tree fragment)":13 + * cdef __pyx_unpickle_PyDBAdditionalThreadInfo__set_state(PyDBAdditionalThreadInfo __pyx_result, tuple __pyx_state): + * __pyx_result.conditional_breakpoint_exception = __pyx_state[0]; __pyx_result.is_tracing = __pyx_state[1]; __pyx_result.pydev_call_from_jinja2 = __pyx_state[2]; __pyx_result.pydev_call_inside_jinja2 = __pyx_state[3]; __pyx_result.pydev_django_resolve_frame = __pyx_state[4]; __pyx_result.pydev_func_name = __pyx_state[5]; __pyx_result.pydev_message = __pyx_state[6]; __pyx_result.pydev_next_line = __pyx_state[7]; __pyx_result.pydev_notify_kill = __pyx_state[8]; __pyx_result.pydev_original_step_cmd = __pyx_state[9]; __pyx_result.pydev_smart_child_offset = __pyx_state[10]; __pyx_result.pydev_smart_parent_offset = __pyx_state[11]; __pyx_result.pydev_smart_step_into_variants = __pyx_state[12]; __pyx_result.pydev_smart_step_stop = __pyx_state[13]; __pyx_result.pydev_state = __pyx_state[14]; __pyx_result.pydev_step_cmd = __pyx_state[15]; __pyx_result.pydev_step_stop = __pyx_state[16]; __pyx_result.pydev_use_scoped_step_frame = __pyx_state[17]; __pyx_result.step_in_initial_location = __pyx_state[18]; __pyx_result.suspend_type = __pyx_state[19]; __pyx_result.suspended_at_unhandled = __pyx_state[20]; __pyx_result.target_id_to_smart_step_into_variant = __pyx_state[21]; __pyx_result.thread_tracer = __pyx_state[22]; __pyx_result.top_level_thread_tracer_no_back_frames = __pyx_state[23]; __pyx_result.top_level_thread_tracer_unhandled = __pyx_state[24]; __pyx_result.trace_suspend_type = __pyx_state[25] + * if len(__pyx_state) > 26 and hasattr(__pyx_result, '__dict__'): # <<<<<<<<<<<<<< + * __pyx_result.__dict__.update(__pyx_state[26]) + */ + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); + __PYX_ERR(2, 13, __pyx_L1_error) + } + __pyx_t_4 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(2, 13, __pyx_L1_error) + __pyx_t_5 = ((__pyx_t_4 > 26) != 0); + if (__pyx_t_5) { + } else { + __pyx_t_3 = __pyx_t_5; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_5 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(2, 13, __pyx_L1_error) + __pyx_t_6 = (__pyx_t_5 != 0); + __pyx_t_3 = __pyx_t_6; + __pyx_L4_bool_binop_done:; + if (__pyx_t_3) { + + /* "(tree fragment)":14 + * __pyx_result.conditional_breakpoint_exception = __pyx_state[0]; __pyx_result.is_tracing = __pyx_state[1]; __pyx_result.pydev_call_from_jinja2 = __pyx_state[2]; __pyx_result.pydev_call_inside_jinja2 = __pyx_state[3]; __pyx_result.pydev_django_resolve_frame = __pyx_state[4]; __pyx_result.pydev_func_name = __pyx_state[5]; __pyx_result.pydev_message = __pyx_state[6]; __pyx_result.pydev_next_line = __pyx_state[7]; __pyx_result.pydev_notify_kill = __pyx_state[8]; __pyx_result.pydev_original_step_cmd = __pyx_state[9]; __pyx_result.pydev_smart_child_offset = __pyx_state[10]; __pyx_result.pydev_smart_parent_offset = __pyx_state[11]; __pyx_result.pydev_smart_step_into_variants = __pyx_state[12]; __pyx_result.pydev_smart_step_stop = __pyx_state[13]; __pyx_result.pydev_state = __pyx_state[14]; __pyx_result.pydev_step_cmd = __pyx_state[15]; __pyx_result.pydev_step_stop = __pyx_state[16]; __pyx_result.pydev_use_scoped_step_frame = __pyx_state[17]; __pyx_result.step_in_initial_location = __pyx_state[18]; __pyx_result.suspend_type = __pyx_state[19]; __pyx_result.suspended_at_unhandled = __pyx_state[20]; __pyx_result.target_id_to_smart_step_into_variant = __pyx_state[21]; __pyx_result.thread_tracer = __pyx_state[22]; __pyx_result.top_level_thread_tracer_no_back_frames = __pyx_state[23]; __pyx_result.top_level_thread_tracer_unhandled = __pyx_state[24]; __pyx_result.trace_suspend_type = __pyx_state[25] + * if len(__pyx_state) > 26 and hasattr(__pyx_result, '__dict__'): + * __pyx_result.__dict__.update(__pyx_state[26]) # <<<<<<<<<<<<<< + */ + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_update); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(2, 14, __pyx_L1_error) + } + __pyx_t_7 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 26, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_8, function); + } + } + __pyx_t_1 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_9, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_7); + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "(tree fragment)":13 + * cdef __pyx_unpickle_PyDBAdditionalThreadInfo__set_state(PyDBAdditionalThreadInfo __pyx_result, tuple __pyx_state): + * __pyx_result.conditional_breakpoint_exception = __pyx_state[0]; __pyx_result.is_tracing = __pyx_state[1]; __pyx_result.pydev_call_from_jinja2 = __pyx_state[2]; __pyx_result.pydev_call_inside_jinja2 = __pyx_state[3]; __pyx_result.pydev_django_resolve_frame = __pyx_state[4]; __pyx_result.pydev_func_name = __pyx_state[5]; __pyx_result.pydev_message = __pyx_state[6]; __pyx_result.pydev_next_line = __pyx_state[7]; __pyx_result.pydev_notify_kill = __pyx_state[8]; __pyx_result.pydev_original_step_cmd = __pyx_state[9]; __pyx_result.pydev_smart_child_offset = __pyx_state[10]; __pyx_result.pydev_smart_parent_offset = __pyx_state[11]; __pyx_result.pydev_smart_step_into_variants = __pyx_state[12]; __pyx_result.pydev_smart_step_stop = __pyx_state[13]; __pyx_result.pydev_state = __pyx_state[14]; __pyx_result.pydev_step_cmd = __pyx_state[15]; __pyx_result.pydev_step_stop = __pyx_state[16]; __pyx_result.pydev_use_scoped_step_frame = __pyx_state[17]; __pyx_result.step_in_initial_location = __pyx_state[18]; __pyx_result.suspend_type = __pyx_state[19]; __pyx_result.suspended_at_unhandled = __pyx_state[20]; __pyx_result.target_id_to_smart_step_into_variant = __pyx_state[21]; __pyx_result.thread_tracer = __pyx_state[22]; __pyx_result.top_level_thread_tracer_no_back_frames = __pyx_state[23]; __pyx_result.top_level_thread_tracer_unhandled = __pyx_state[24]; __pyx_result.trace_suspend_type = __pyx_state[25] + * if len(__pyx_state) > 26 and hasattr(__pyx_result, '__dict__'): # <<<<<<<<<<<<<< + * __pyx_result.__dict__.update(__pyx_state[26]) + */ + } + + /* "(tree fragment)":11 + * __pyx_unpickle_PyDBAdditionalThreadInfo__set_state( __pyx_result, __pyx_state) + * return __pyx_result + * cdef __pyx_unpickle_PyDBAdditionalThreadInfo__set_state(PyDBAdditionalThreadInfo __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<< + * __pyx_result.conditional_breakpoint_exception = __pyx_state[0]; __pyx_result.is_tracing = __pyx_state[1]; __pyx_result.pydev_call_from_jinja2 = __pyx_state[2]; __pyx_result.pydev_call_inside_jinja2 = __pyx_state[3]; __pyx_result.pydev_django_resolve_frame = __pyx_state[4]; __pyx_result.pydev_func_name = __pyx_state[5]; __pyx_result.pydev_message = __pyx_state[6]; __pyx_result.pydev_next_line = __pyx_state[7]; __pyx_result.pydev_notify_kill = __pyx_state[8]; __pyx_result.pydev_original_step_cmd = __pyx_state[9]; __pyx_result.pydev_smart_child_offset = __pyx_state[10]; __pyx_result.pydev_smart_parent_offset = __pyx_state[11]; __pyx_result.pydev_smart_step_into_variants = __pyx_state[12]; __pyx_result.pydev_smart_step_stop = __pyx_state[13]; __pyx_result.pydev_state = __pyx_state[14]; __pyx_result.pydev_step_cmd = __pyx_state[15]; __pyx_result.pydev_step_stop = __pyx_state[16]; __pyx_result.pydev_use_scoped_step_frame = __pyx_state[17]; __pyx_result.step_in_initial_location = __pyx_state[18]; __pyx_result.suspend_type = __pyx_state[19]; __pyx_result.suspended_at_unhandled = __pyx_state[20]; __pyx_result.target_id_to_smart_step_into_variant = __pyx_state[21]; __pyx_result.thread_tracer = __pyx_state[22]; __pyx_result.top_level_thread_tracer_no_back_frames = __pyx_state[23]; __pyx_result.top_level_thread_tracer_unhandled = __pyx_state[24]; __pyx_result.trace_suspend_type = __pyx_state[25] + * if len(__pyx_state) > 26 and hasattr(__pyx_result, '__dict__'): + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.__pyx_unpickle_PyDBAdditionalThreadInfo__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":1 + * def __pyx_unpickle__TryExceptContainerObj(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * cdef object __pyx_PickleError + * cdef object __pyx_result + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_15__pyx_unpickle__TryExceptContainerObj(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_14_pydevd_bundle_13pydevd_cython_15__pyx_unpickle__TryExceptContainerObj = {"__pyx_unpickle__TryExceptContainerObj", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_15__pyx_unpickle__TryExceptContainerObj, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_15__pyx_unpickle__TryExceptContainerObj(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v___pyx_type = 0; + long __pyx_v___pyx_checksum; + PyObject *__pyx_v___pyx_state = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__pyx_unpickle__TryExceptContainerObj (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0}; + PyObject* values[3] = {0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle__TryExceptContainerObj", 1, 3, 3, 1); __PYX_ERR(2, 1, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle__TryExceptContainerObj", 1, 3, 3, 2); __PYX_ERR(2, 1, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle__TryExceptContainerObj") < 0)) __PYX_ERR(2, 1, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + } + __pyx_v___pyx_type = values[0]; + __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(2, 1, __pyx_L3_error) + __pyx_v___pyx_state = values[2]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle__TryExceptContainerObj", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(2, 1, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.__pyx_unpickle__TryExceptContainerObj", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_14__pyx_unpickle__TryExceptContainerObj(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_14__pyx_unpickle__TryExceptContainerObj(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_v___pyx_PickleError = 0; + PyObject *__pyx_v___pyx_result = 0; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + int __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__pyx_unpickle__TryExceptContainerObj", 0); + + /* "(tree fragment)":4 + * cdef object __pyx_PickleError + * cdef object __pyx_result + * if __pyx_checksum not in (0xc8b6eb1, 0xdbf5e44, 0xde17cd3): # <<<<<<<<<<<<<< + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0xc8b6eb1, 0xdbf5e44, 0xde17cd3) = (try_except_infos))" % __pyx_checksum) + */ + __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_tuple__10, Py_NE)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(2, 4, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_3 = (__pyx_t_2 != 0); + if (__pyx_t_3) { + + /* "(tree fragment)":5 + * cdef object __pyx_result + * if __pyx_checksum not in (0xc8b6eb1, 0xdbf5e44, 0xde17cd3): + * from pickle import PickleError as __pyx_PickleError # <<<<<<<<<<<<<< + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0xc8b6eb1, 0xdbf5e44, 0xde17cd3) = (try_except_infos))" % __pyx_checksum) + * __pyx_result = _TryExceptContainerObj.__new__(__pyx_type) + */ + __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_s_PickleError); + __Pyx_GIVEREF(__pyx_n_s_PickleError); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_PickleError); + __pyx_t_4 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_1, -1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_4, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_t_1); + __pyx_v___pyx_PickleError = __pyx_t_1; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "(tree fragment)":6 + * if __pyx_checksum not in (0xc8b6eb1, 0xdbf5e44, 0xde17cd3): + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0xc8b6eb1, 0xdbf5e44, 0xde17cd3) = (try_except_infos))" % __pyx_checksum) # <<<<<<<<<<<<<< + * __pyx_result = _TryExceptContainerObj.__new__(__pyx_type) + * if __pyx_state is not None: + */ + __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_2, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_INCREF(__pyx_v___pyx_PickleError); + __pyx_t_1 = __pyx_v___pyx_PickleError; __pyx_t_6 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_Raise(__pyx_t_4, 0, 0, 0); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __PYX_ERR(2, 6, __pyx_L1_error) + + /* "(tree fragment)":4 + * cdef object __pyx_PickleError + * cdef object __pyx_result + * if __pyx_checksum not in (0xc8b6eb1, 0xdbf5e44, 0xde17cd3): # <<<<<<<<<<<<<< + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0xc8b6eb1, 0xdbf5e44, 0xde17cd3) = (try_except_infos))" % __pyx_checksum) + */ + } + + /* "(tree fragment)":7 + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0xc8b6eb1, 0xdbf5e44, 0xde17cd3) = (try_except_infos))" % __pyx_checksum) + * __pyx_result = _TryExceptContainerObj.__new__(__pyx_type) # <<<<<<<<<<<<<< + * if __pyx_state is not None: + * __pyx_unpickle__TryExceptContainerObj__set_state(<_TryExceptContainerObj> __pyx_result, __pyx_state) + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj), __pyx_n_s_new); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v___pyx_type); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v___pyx_result = __pyx_t_4; + __pyx_t_4 = 0; + + /* "(tree fragment)":8 + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0xc8b6eb1, 0xdbf5e44, 0xde17cd3) = (try_except_infos))" % __pyx_checksum) + * __pyx_result = _TryExceptContainerObj.__new__(__pyx_type) + * if __pyx_state is not None: # <<<<<<<<<<<<<< + * __pyx_unpickle__TryExceptContainerObj__set_state(<_TryExceptContainerObj> __pyx_result, __pyx_state) + * return __pyx_result + */ + __pyx_t_3 = (__pyx_v___pyx_state != Py_None); + __pyx_t_2 = (__pyx_t_3 != 0); + if (__pyx_t_2) { + + /* "(tree fragment)":9 + * __pyx_result = _TryExceptContainerObj.__new__(__pyx_type) + * if __pyx_state is not None: + * __pyx_unpickle__TryExceptContainerObj__set_state(<_TryExceptContainerObj> __pyx_result, __pyx_state) # <<<<<<<<<<<<<< + * return __pyx_result + * cdef __pyx_unpickle__TryExceptContainerObj__set_state(_TryExceptContainerObj __pyx_result, tuple __pyx_state): + */ + if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(2, 9, __pyx_L1_error) + __pyx_t_4 = __pyx_f_14_pydevd_bundle_13pydevd_cython___pyx_unpickle__TryExceptContainerObj__set_state(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "(tree fragment)":8 + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0xc8b6eb1, 0xdbf5e44, 0xde17cd3) = (try_except_infos))" % __pyx_checksum) + * __pyx_result = _TryExceptContainerObj.__new__(__pyx_type) + * if __pyx_state is not None: # <<<<<<<<<<<<<< + * __pyx_unpickle__TryExceptContainerObj__set_state(<_TryExceptContainerObj> __pyx_result, __pyx_state) + * return __pyx_result + */ + } + + /* "(tree fragment)":10 + * if __pyx_state is not None: + * __pyx_unpickle__TryExceptContainerObj__set_state(<_TryExceptContainerObj> __pyx_result, __pyx_state) + * return __pyx_result # <<<<<<<<<<<<<< + * cdef __pyx_unpickle__TryExceptContainerObj__set_state(_TryExceptContainerObj __pyx_result, tuple __pyx_state): + * __pyx_result.try_except_infos = __pyx_state[0] + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v___pyx_result); + __pyx_r = __pyx_v___pyx_result; + goto __pyx_L0; + + /* "(tree fragment)":1 + * def __pyx_unpickle__TryExceptContainerObj(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * cdef object __pyx_PickleError + * cdef object __pyx_result + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.__pyx_unpickle__TryExceptContainerObj", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v___pyx_PickleError); + __Pyx_XDECREF(__pyx_v___pyx_result); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":11 + * __pyx_unpickle__TryExceptContainerObj__set_state(<_TryExceptContainerObj> __pyx_result, __pyx_state) + * return __pyx_result + * cdef __pyx_unpickle__TryExceptContainerObj__set_state(_TryExceptContainerObj __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<< + * __pyx_result.try_except_infos = __pyx_state[0] + * if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'): + */ + +static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython___pyx_unpickle__TryExceptContainerObj__set_state(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + Py_ssize_t __pyx_t_3; + int __pyx_t_4; + int __pyx_t_5; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__pyx_unpickle__TryExceptContainerObj__set_state", 0); + + /* "(tree fragment)":12 + * return __pyx_result + * cdef __pyx_unpickle__TryExceptContainerObj__set_state(_TryExceptContainerObj __pyx_result, tuple __pyx_state): + * __pyx_result.try_except_infos = __pyx_state[0] # <<<<<<<<<<<<<< + * if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'): + * __pyx_result.__dict__.update(__pyx_state[1]) + */ + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(2, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(PyList_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->try_except_infos); + __Pyx_DECREF(__pyx_v___pyx_result->try_except_infos); + __pyx_v___pyx_result->try_except_infos = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "(tree fragment)":13 + * cdef __pyx_unpickle__TryExceptContainerObj__set_state(_TryExceptContainerObj __pyx_result, tuple __pyx_state): + * __pyx_result.try_except_infos = __pyx_state[0] + * if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'): # <<<<<<<<<<<<<< + * __pyx_result.__dict__.update(__pyx_state[1]) + */ + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); + __PYX_ERR(2, 13, __pyx_L1_error) + } + __pyx_t_3 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(2, 13, __pyx_L1_error) + __pyx_t_4 = ((__pyx_t_3 > 1) != 0); + if (__pyx_t_4) { + } else { + __pyx_t_2 = __pyx_t_4; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_4 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(2, 13, __pyx_L1_error) + __pyx_t_5 = (__pyx_t_4 != 0); + __pyx_t_2 = __pyx_t_5; + __pyx_L4_bool_binop_done:; + if (__pyx_t_2) { + + /* "(tree fragment)":14 + * __pyx_result.try_except_infos = __pyx_state[0] + * if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'): + * __pyx_result.__dict__.update(__pyx_state[1]) # <<<<<<<<<<<<<< + */ + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_update); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(2, 14, __pyx_L1_error) + } + __pyx_t_6 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_8 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + __pyx_t_1 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "(tree fragment)":13 + * cdef __pyx_unpickle__TryExceptContainerObj__set_state(_TryExceptContainerObj __pyx_result, tuple __pyx_state): + * __pyx_result.try_except_infos = __pyx_state[0] + * if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'): # <<<<<<<<<<<<<< + * __pyx_result.__dict__.update(__pyx_state[1]) + */ + } + + /* "(tree fragment)":11 + * __pyx_unpickle__TryExceptContainerObj__set_state(<_TryExceptContainerObj> __pyx_result, __pyx_state) + * return __pyx_result + * cdef __pyx_unpickle__TryExceptContainerObj__set_state(_TryExceptContainerObj __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<< + * __pyx_result.try_except_infos = __pyx_state[0] + * if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'): + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.__pyx_unpickle__TryExceptContainerObj__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":1 + * def __pyx_unpickle_PyDBFrame(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * cdef object __pyx_PickleError + * cdef object __pyx_result + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_17__pyx_unpickle_PyDBFrame(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_14_pydevd_bundle_13pydevd_cython_17__pyx_unpickle_PyDBFrame = {"__pyx_unpickle_PyDBFrame", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_17__pyx_unpickle_PyDBFrame, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_17__pyx_unpickle_PyDBFrame(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v___pyx_type = 0; + long __pyx_v___pyx_checksum; + PyObject *__pyx_v___pyx_state = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__pyx_unpickle_PyDBFrame (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0}; + PyObject* values[3] = {0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PyDBFrame", 1, 3, 3, 1); __PYX_ERR(2, 1, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PyDBFrame", 1, 3, 3, 2); __PYX_ERR(2, 1, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_PyDBFrame") < 0)) __PYX_ERR(2, 1, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + } + __pyx_v___pyx_type = values[0]; + __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(2, 1, __pyx_L3_error) + __pyx_v___pyx_state = values[2]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PyDBFrame", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(2, 1, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.__pyx_unpickle_PyDBFrame", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_16__pyx_unpickle_PyDBFrame(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_16__pyx_unpickle_PyDBFrame(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_v___pyx_PickleError = 0; + PyObject *__pyx_v___pyx_result = 0; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + int __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__pyx_unpickle_PyDBFrame", 0); + + /* "(tree fragment)":4 + * cdef object __pyx_PickleError + * cdef object __pyx_result + * if __pyx_checksum not in (0x506e682, 0x3a8c26e, 0xb793695): # <<<<<<<<<<<<<< + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x506e682, 0x3a8c26e, 0xb793695) = (_args, exc_info, should_skip))" % __pyx_checksum) + */ + __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_tuple__11, Py_NE)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(2, 4, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_3 = (__pyx_t_2 != 0); + if (__pyx_t_3) { + + /* "(tree fragment)":5 + * cdef object __pyx_result + * if __pyx_checksum not in (0x506e682, 0x3a8c26e, 0xb793695): + * from pickle import PickleError as __pyx_PickleError # <<<<<<<<<<<<<< + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x506e682, 0x3a8c26e, 0xb793695) = (_args, exc_info, should_skip))" % __pyx_checksum) + * __pyx_result = PyDBFrame.__new__(__pyx_type) + */ + __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_s_PickleError); + __Pyx_GIVEREF(__pyx_n_s_PickleError); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_PickleError); + __pyx_t_4 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_1, -1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_4, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_t_1); + __pyx_v___pyx_PickleError = __pyx_t_1; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "(tree fragment)":6 + * if __pyx_checksum not in (0x506e682, 0x3a8c26e, 0xb793695): + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x506e682, 0x3a8c26e, 0xb793695) = (_args, exc_info, should_skip))" % __pyx_checksum) # <<<<<<<<<<<<<< + * __pyx_result = PyDBFrame.__new__(__pyx_type) + * if __pyx_state is not None: + */ + __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_INCREF(__pyx_v___pyx_PickleError); + __pyx_t_1 = __pyx_v___pyx_PickleError; __pyx_t_6 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_Raise(__pyx_t_4, 0, 0, 0); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __PYX_ERR(2, 6, __pyx_L1_error) + + /* "(tree fragment)":4 + * cdef object __pyx_PickleError + * cdef object __pyx_result + * if __pyx_checksum not in (0x506e682, 0x3a8c26e, 0xb793695): # <<<<<<<<<<<<<< + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x506e682, 0x3a8c26e, 0xb793695) = (_args, exc_info, should_skip))" % __pyx_checksum) + */ + } + + /* "(tree fragment)":7 + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x506e682, 0x3a8c26e, 0xb793695) = (_args, exc_info, should_skip))" % __pyx_checksum) + * __pyx_result = PyDBFrame.__new__(__pyx_type) # <<<<<<<<<<<<<< + * if __pyx_state is not None: + * __pyx_unpickle_PyDBFrame__set_state( __pyx_result, __pyx_state) + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBFrame), __pyx_n_s_new); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v___pyx_type); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v___pyx_result = __pyx_t_4; + __pyx_t_4 = 0; + + /* "(tree fragment)":8 + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x506e682, 0x3a8c26e, 0xb793695) = (_args, exc_info, should_skip))" % __pyx_checksum) + * __pyx_result = PyDBFrame.__new__(__pyx_type) + * if __pyx_state is not None: # <<<<<<<<<<<<<< + * __pyx_unpickle_PyDBFrame__set_state( __pyx_result, __pyx_state) + * return __pyx_result + */ + __pyx_t_3 = (__pyx_v___pyx_state != Py_None); + __pyx_t_2 = (__pyx_t_3 != 0); + if (__pyx_t_2) { + + /* "(tree fragment)":9 + * __pyx_result = PyDBFrame.__new__(__pyx_type) + * if __pyx_state is not None: + * __pyx_unpickle_PyDBFrame__set_state( __pyx_result, __pyx_state) # <<<<<<<<<<<<<< + * return __pyx_result + * cdef __pyx_unpickle_PyDBFrame__set_state(PyDBFrame __pyx_result, tuple __pyx_state): + */ + if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(2, 9, __pyx_L1_error) + __pyx_t_4 = __pyx_f_14_pydevd_bundle_13pydevd_cython___pyx_unpickle_PyDBFrame__set_state(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "(tree fragment)":8 + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x506e682, 0x3a8c26e, 0xb793695) = (_args, exc_info, should_skip))" % __pyx_checksum) + * __pyx_result = PyDBFrame.__new__(__pyx_type) + * if __pyx_state is not None: # <<<<<<<<<<<<<< + * __pyx_unpickle_PyDBFrame__set_state( __pyx_result, __pyx_state) + * return __pyx_result + */ + } + + /* "(tree fragment)":10 + * if __pyx_state is not None: + * __pyx_unpickle_PyDBFrame__set_state( __pyx_result, __pyx_state) + * return __pyx_result # <<<<<<<<<<<<<< + * cdef __pyx_unpickle_PyDBFrame__set_state(PyDBFrame __pyx_result, tuple __pyx_state): + * __pyx_result._args = __pyx_state[0]; __pyx_result.exc_info = __pyx_state[1]; __pyx_result.should_skip = __pyx_state[2] + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v___pyx_result); + __pyx_r = __pyx_v___pyx_result; + goto __pyx_L0; + + /* "(tree fragment)":1 + * def __pyx_unpickle_PyDBFrame(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * cdef object __pyx_PickleError + * cdef object __pyx_result + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.__pyx_unpickle_PyDBFrame", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v___pyx_PickleError); + __Pyx_XDECREF(__pyx_v___pyx_result); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":11 + * __pyx_unpickle_PyDBFrame__set_state( __pyx_result, __pyx_state) + * return __pyx_result + * cdef __pyx_unpickle_PyDBFrame__set_state(PyDBFrame __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<< + * __pyx_result._args = __pyx_state[0]; __pyx_result.exc_info = __pyx_state[1]; __pyx_result.should_skip = __pyx_state[2] + * if len(__pyx_state) > 3 and hasattr(__pyx_result, '__dict__'): + */ + +static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython___pyx_unpickle_PyDBFrame__set_state(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + int __pyx_t_3; + Py_ssize_t __pyx_t_4; + int __pyx_t_5; + int __pyx_t_6; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__pyx_unpickle_PyDBFrame__set_state", 0); + + /* "(tree fragment)":12 + * return __pyx_result + * cdef __pyx_unpickle_PyDBFrame__set_state(PyDBFrame __pyx_result, tuple __pyx_state): + * __pyx_result._args = __pyx_state[0]; __pyx_result.exc_info = __pyx_state[1]; __pyx_result.should_skip = __pyx_state[2] # <<<<<<<<<<<<<< + * if len(__pyx_state) > 3 and hasattr(__pyx_result, '__dict__'): + * __pyx_result.__dict__.update(__pyx_state[3]) + */ + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(2, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->_args); + __Pyx_DECREF(__pyx_v___pyx_result->_args); + __pyx_v___pyx_result->_args = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(2, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->exc_info); + __Pyx_DECREF(__pyx_v___pyx_result->exc_info); + __pyx_v___pyx_result->exc_info = __pyx_t_1; + __pyx_t_1 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(2, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v___pyx_result->should_skip = __pyx_t_2; + + /* "(tree fragment)":13 + * cdef __pyx_unpickle_PyDBFrame__set_state(PyDBFrame __pyx_result, tuple __pyx_state): + * __pyx_result._args = __pyx_state[0]; __pyx_result.exc_info = __pyx_state[1]; __pyx_result.should_skip = __pyx_state[2] + * if len(__pyx_state) > 3 and hasattr(__pyx_result, '__dict__'): # <<<<<<<<<<<<<< + * __pyx_result.__dict__.update(__pyx_state[3]) + */ + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); + __PYX_ERR(2, 13, __pyx_L1_error) + } + __pyx_t_4 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(2, 13, __pyx_L1_error) + __pyx_t_5 = ((__pyx_t_4 > 3) != 0); + if (__pyx_t_5) { + } else { + __pyx_t_3 = __pyx_t_5; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_5 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(2, 13, __pyx_L1_error) + __pyx_t_6 = (__pyx_t_5 != 0); + __pyx_t_3 = __pyx_t_6; + __pyx_L4_bool_binop_done:; + if (__pyx_t_3) { + + /* "(tree fragment)":14 + * __pyx_result._args = __pyx_state[0]; __pyx_result.exc_info = __pyx_state[1]; __pyx_result.should_skip = __pyx_state[2] + * if len(__pyx_state) > 3 and hasattr(__pyx_result, '__dict__'): + * __pyx_result.__dict__.update(__pyx_state[3]) # <<<<<<<<<<<<<< + */ + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_update); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(2, 14, __pyx_L1_error) + } + __pyx_t_7 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_8, function); + } + } + __pyx_t_1 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_9, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_7); + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "(tree fragment)":13 + * cdef __pyx_unpickle_PyDBFrame__set_state(PyDBFrame __pyx_result, tuple __pyx_state): + * __pyx_result._args = __pyx_state[0]; __pyx_result.exc_info = __pyx_state[1]; __pyx_result.should_skip = __pyx_state[2] + * if len(__pyx_state) > 3 and hasattr(__pyx_result, '__dict__'): # <<<<<<<<<<<<<< + * __pyx_result.__dict__.update(__pyx_state[3]) + */ + } + + /* "(tree fragment)":11 + * __pyx_unpickle_PyDBFrame__set_state( __pyx_result, __pyx_state) + * return __pyx_result + * cdef __pyx_unpickle_PyDBFrame__set_state(PyDBFrame __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<< + * __pyx_result._args = __pyx_state[0]; __pyx_result.exc_info = __pyx_state[1]; __pyx_result.should_skip = __pyx_state[2] + * if len(__pyx_state) > 3 and hasattr(__pyx_result, '__dict__'): + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.__pyx_unpickle_PyDBFrame__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":1 + * def __pyx_unpickle_SafeCallWrapper(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * cdef object __pyx_PickleError + * cdef object __pyx_result + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_19__pyx_unpickle_SafeCallWrapper(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_14_pydevd_bundle_13pydevd_cython_19__pyx_unpickle_SafeCallWrapper = {"__pyx_unpickle_SafeCallWrapper", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_19__pyx_unpickle_SafeCallWrapper, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_19__pyx_unpickle_SafeCallWrapper(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v___pyx_type = 0; + long __pyx_v___pyx_checksum; + PyObject *__pyx_v___pyx_state = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__pyx_unpickle_SafeCallWrapper (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0}; + PyObject* values[3] = {0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_SafeCallWrapper", 1, 3, 3, 1); __PYX_ERR(2, 1, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_SafeCallWrapper", 1, 3, 3, 2); __PYX_ERR(2, 1, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_SafeCallWrapper") < 0)) __PYX_ERR(2, 1, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + } + __pyx_v___pyx_type = values[0]; + __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(2, 1, __pyx_L3_error) + __pyx_v___pyx_state = values[2]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_SafeCallWrapper", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(2, 1, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.__pyx_unpickle_SafeCallWrapper", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_18__pyx_unpickle_SafeCallWrapper(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_18__pyx_unpickle_SafeCallWrapper(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_v___pyx_PickleError = 0; + PyObject *__pyx_v___pyx_result = 0; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + int __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__pyx_unpickle_SafeCallWrapper", 0); + + /* "(tree fragment)":4 + * cdef object __pyx_PickleError + * cdef object __pyx_result + * if __pyx_checksum not in (0x77c077b, 0xa14289b, 0x3cc10aa): # <<<<<<<<<<<<<< + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x77c077b, 0xa14289b, 0x3cc10aa) = (method_object))" % __pyx_checksum) + */ + __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_tuple__12, Py_NE)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(2, 4, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_3 = (__pyx_t_2 != 0); + if (__pyx_t_3) { + + /* "(tree fragment)":5 + * cdef object __pyx_result + * if __pyx_checksum not in (0x77c077b, 0xa14289b, 0x3cc10aa): + * from pickle import PickleError as __pyx_PickleError # <<<<<<<<<<<<<< + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x77c077b, 0xa14289b, 0x3cc10aa) = (method_object))" % __pyx_checksum) + * __pyx_result = SafeCallWrapper.__new__(__pyx_type) + */ + __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_s_PickleError); + __Pyx_GIVEREF(__pyx_n_s_PickleError); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_PickleError); + __pyx_t_4 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_1, -1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_4, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_t_1); + __pyx_v___pyx_PickleError = __pyx_t_1; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "(tree fragment)":6 + * if __pyx_checksum not in (0x77c077b, 0xa14289b, 0x3cc10aa): + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x77c077b, 0xa14289b, 0x3cc10aa) = (method_object))" % __pyx_checksum) # <<<<<<<<<<<<<< + * __pyx_result = SafeCallWrapper.__new__(__pyx_type) + * if __pyx_state is not None: + */ + __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_4, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_INCREF(__pyx_v___pyx_PickleError); + __pyx_t_1 = __pyx_v___pyx_PickleError; __pyx_t_6 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_Raise(__pyx_t_4, 0, 0, 0); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __PYX_ERR(2, 6, __pyx_L1_error) + + /* "(tree fragment)":4 + * cdef object __pyx_PickleError + * cdef object __pyx_result + * if __pyx_checksum not in (0x77c077b, 0xa14289b, 0x3cc10aa): # <<<<<<<<<<<<<< + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x77c077b, 0xa14289b, 0x3cc10aa) = (method_object))" % __pyx_checksum) + */ + } + + /* "(tree fragment)":7 + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x77c077b, 0xa14289b, 0x3cc10aa) = (method_object))" % __pyx_checksum) + * __pyx_result = SafeCallWrapper.__new__(__pyx_type) # <<<<<<<<<<<<<< + * if __pyx_state is not None: + * __pyx_unpickle_SafeCallWrapper__set_state( __pyx_result, __pyx_state) + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper), __pyx_n_s_new); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v___pyx_type); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v___pyx_result = __pyx_t_4; + __pyx_t_4 = 0; + + /* "(tree fragment)":8 + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x77c077b, 0xa14289b, 0x3cc10aa) = (method_object))" % __pyx_checksum) + * __pyx_result = SafeCallWrapper.__new__(__pyx_type) + * if __pyx_state is not None: # <<<<<<<<<<<<<< + * __pyx_unpickle_SafeCallWrapper__set_state( __pyx_result, __pyx_state) + * return __pyx_result + */ + __pyx_t_3 = (__pyx_v___pyx_state != Py_None); + __pyx_t_2 = (__pyx_t_3 != 0); + if (__pyx_t_2) { + + /* "(tree fragment)":9 + * __pyx_result = SafeCallWrapper.__new__(__pyx_type) + * if __pyx_state is not None: + * __pyx_unpickle_SafeCallWrapper__set_state( __pyx_result, __pyx_state) # <<<<<<<<<<<<<< + * return __pyx_result + * cdef __pyx_unpickle_SafeCallWrapper__set_state(SafeCallWrapper __pyx_result, tuple __pyx_state): + */ + if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(2, 9, __pyx_L1_error) + __pyx_t_4 = __pyx_f_14_pydevd_bundle_13pydevd_cython___pyx_unpickle_SafeCallWrapper__set_state(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "(tree fragment)":8 + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x77c077b, 0xa14289b, 0x3cc10aa) = (method_object))" % __pyx_checksum) + * __pyx_result = SafeCallWrapper.__new__(__pyx_type) + * if __pyx_state is not None: # <<<<<<<<<<<<<< + * __pyx_unpickle_SafeCallWrapper__set_state( __pyx_result, __pyx_state) + * return __pyx_result + */ + } + + /* "(tree fragment)":10 + * if __pyx_state is not None: + * __pyx_unpickle_SafeCallWrapper__set_state( __pyx_result, __pyx_state) + * return __pyx_result # <<<<<<<<<<<<<< + * cdef __pyx_unpickle_SafeCallWrapper__set_state(SafeCallWrapper __pyx_result, tuple __pyx_state): + * __pyx_result.method_object = __pyx_state[0] + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v___pyx_result); + __pyx_r = __pyx_v___pyx_result; + goto __pyx_L0; + + /* "(tree fragment)":1 + * def __pyx_unpickle_SafeCallWrapper(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * cdef object __pyx_PickleError + * cdef object __pyx_result + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.__pyx_unpickle_SafeCallWrapper", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v___pyx_PickleError); + __Pyx_XDECREF(__pyx_v___pyx_result); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":11 + * __pyx_unpickle_SafeCallWrapper__set_state( __pyx_result, __pyx_state) + * return __pyx_result + * cdef __pyx_unpickle_SafeCallWrapper__set_state(SafeCallWrapper __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<< + * __pyx_result.method_object = __pyx_state[0] + * if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'): + */ + +static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython___pyx_unpickle_SafeCallWrapper__set_state(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + Py_ssize_t __pyx_t_3; + int __pyx_t_4; + int __pyx_t_5; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__pyx_unpickle_SafeCallWrapper__set_state", 0); + + /* "(tree fragment)":12 + * return __pyx_result + * cdef __pyx_unpickle_SafeCallWrapper__set_state(SafeCallWrapper __pyx_result, tuple __pyx_state): + * __pyx_result.method_object = __pyx_state[0] # <<<<<<<<<<<<<< + * if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'): + * __pyx_result.__dict__.update(__pyx_state[1]) + */ + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(2, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->method_object); + __Pyx_DECREF(__pyx_v___pyx_result->method_object); + __pyx_v___pyx_result->method_object = __pyx_t_1; + __pyx_t_1 = 0; + + /* "(tree fragment)":13 + * cdef __pyx_unpickle_SafeCallWrapper__set_state(SafeCallWrapper __pyx_result, tuple __pyx_state): + * __pyx_result.method_object = __pyx_state[0] + * if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'): # <<<<<<<<<<<<<< + * __pyx_result.__dict__.update(__pyx_state[1]) + */ + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); + __PYX_ERR(2, 13, __pyx_L1_error) + } + __pyx_t_3 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(2, 13, __pyx_L1_error) + __pyx_t_4 = ((__pyx_t_3 > 1) != 0); + if (__pyx_t_4) { + } else { + __pyx_t_2 = __pyx_t_4; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_4 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(2, 13, __pyx_L1_error) + __pyx_t_5 = (__pyx_t_4 != 0); + __pyx_t_2 = __pyx_t_5; + __pyx_L4_bool_binop_done:; + if (__pyx_t_2) { + + /* "(tree fragment)":14 + * __pyx_result.method_object = __pyx_state[0] + * if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'): + * __pyx_result.__dict__.update(__pyx_state[1]) # <<<<<<<<<<<<<< + */ + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_update); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(2, 14, __pyx_L1_error) + } + __pyx_t_6 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_8 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + __pyx_t_1 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "(tree fragment)":13 + * cdef __pyx_unpickle_SafeCallWrapper__set_state(SafeCallWrapper __pyx_result, tuple __pyx_state): + * __pyx_result.method_object = __pyx_state[0] + * if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'): # <<<<<<<<<<<<<< + * __pyx_result.__dict__.update(__pyx_state[1]) + */ + } + + /* "(tree fragment)":11 + * __pyx_unpickle_SafeCallWrapper__set_state( __pyx_result, __pyx_state) + * return __pyx_result + * cdef __pyx_unpickle_SafeCallWrapper__set_state(SafeCallWrapper __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<< + * __pyx_result.method_object = __pyx_state[0] + * if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'): + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.__pyx_unpickle_SafeCallWrapper__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":1 + * def __pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * cdef object __pyx_PickleError + * cdef object __pyx_result + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_21__pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_14_pydevd_bundle_13pydevd_cython_21__pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions = {"__pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_21__pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_21__pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v___pyx_type = 0; + long __pyx_v___pyx_checksum; + PyObject *__pyx_v___pyx_state = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0}; + PyObject* values[3] = {0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions", 1, 3, 3, 1); __PYX_ERR(2, 1, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions", 1, 3, 3, 2); __PYX_ERR(2, 1, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions") < 0)) __PYX_ERR(2, 1, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + } + __pyx_v___pyx_type = values[0]; + __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(2, 1, __pyx_L3_error) + __pyx_v___pyx_state = values[2]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(2, 1, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.__pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_20__pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_20__pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_v___pyx_PickleError = 0; + PyObject *__pyx_v___pyx_result = 0; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + int __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions", 0); + + /* "(tree fragment)":4 + * cdef object __pyx_PickleError + * cdef object __pyx_result + * if __pyx_checksum not in (0x3d7902a, 0x121e1fb, 0xf3a61b1): # <<<<<<<<<<<<<< + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x3d7902a, 0x121e1fb, 0xf3a61b1) = (_args))" % __pyx_checksum) + */ + __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_tuple__13, Py_NE)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(2, 4, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_3 = (__pyx_t_2 != 0); + if (__pyx_t_3) { + + /* "(tree fragment)":5 + * cdef object __pyx_result + * if __pyx_checksum not in (0x3d7902a, 0x121e1fb, 0xf3a61b1): + * from pickle import PickleError as __pyx_PickleError # <<<<<<<<<<<<<< + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x3d7902a, 0x121e1fb, 0xf3a61b1) = (_args))" % __pyx_checksum) + * __pyx_result = TopLevelThreadTracerOnlyUnhandledExceptions.__new__(__pyx_type) + */ + __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_s_PickleError); + __Pyx_GIVEREF(__pyx_n_s_PickleError); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_PickleError); + __pyx_t_4 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_1, -1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_4, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_t_1); + __pyx_v___pyx_PickleError = __pyx_t_1; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "(tree fragment)":6 + * if __pyx_checksum not in (0x3d7902a, 0x121e1fb, 0xf3a61b1): + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x3d7902a, 0x121e1fb, 0xf3a61b1) = (_args))" % __pyx_checksum) # <<<<<<<<<<<<<< + * __pyx_result = TopLevelThreadTracerOnlyUnhandledExceptions.__new__(__pyx_type) + * if __pyx_state is not None: + */ + __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_5, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_INCREF(__pyx_v___pyx_PickleError); + __pyx_t_1 = __pyx_v___pyx_PickleError; __pyx_t_6 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_Raise(__pyx_t_4, 0, 0, 0); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __PYX_ERR(2, 6, __pyx_L1_error) + + /* "(tree fragment)":4 + * cdef object __pyx_PickleError + * cdef object __pyx_result + * if __pyx_checksum not in (0x3d7902a, 0x121e1fb, 0xf3a61b1): # <<<<<<<<<<<<<< + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x3d7902a, 0x121e1fb, 0xf3a61b1) = (_args))" % __pyx_checksum) + */ + } + + /* "(tree fragment)":7 + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x3d7902a, 0x121e1fb, 0xf3a61b1) = (_args))" % __pyx_checksum) + * __pyx_result = TopLevelThreadTracerOnlyUnhandledExceptions.__new__(__pyx_type) # <<<<<<<<<<<<<< + * if __pyx_state is not None: + * __pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions__set_state( __pyx_result, __pyx_state) + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions), __pyx_n_s_new); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v___pyx_type); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v___pyx_result = __pyx_t_4; + __pyx_t_4 = 0; + + /* "(tree fragment)":8 + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x3d7902a, 0x121e1fb, 0xf3a61b1) = (_args))" % __pyx_checksum) + * __pyx_result = TopLevelThreadTracerOnlyUnhandledExceptions.__new__(__pyx_type) + * if __pyx_state is not None: # <<<<<<<<<<<<<< + * __pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions__set_state( __pyx_result, __pyx_state) + * return __pyx_result + */ + __pyx_t_3 = (__pyx_v___pyx_state != Py_None); + __pyx_t_2 = (__pyx_t_3 != 0); + if (__pyx_t_2) { + + /* "(tree fragment)":9 + * __pyx_result = TopLevelThreadTracerOnlyUnhandledExceptions.__new__(__pyx_type) + * if __pyx_state is not None: + * __pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions__set_state( __pyx_result, __pyx_state) # <<<<<<<<<<<<<< + * return __pyx_result + * cdef __pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions__set_state(TopLevelThreadTracerOnlyUnhandledExceptions __pyx_result, tuple __pyx_state): + */ + if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(2, 9, __pyx_L1_error) + __pyx_t_4 = __pyx_f_14_pydevd_bundle_13pydevd_cython___pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions__set_state(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "(tree fragment)":8 + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x3d7902a, 0x121e1fb, 0xf3a61b1) = (_args))" % __pyx_checksum) + * __pyx_result = TopLevelThreadTracerOnlyUnhandledExceptions.__new__(__pyx_type) + * if __pyx_state is not None: # <<<<<<<<<<<<<< + * __pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions__set_state( __pyx_result, __pyx_state) + * return __pyx_result + */ + } + + /* "(tree fragment)":10 + * if __pyx_state is not None: + * __pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions__set_state( __pyx_result, __pyx_state) + * return __pyx_result # <<<<<<<<<<<<<< + * cdef __pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions__set_state(TopLevelThreadTracerOnlyUnhandledExceptions __pyx_result, tuple __pyx_state): + * __pyx_result._args = __pyx_state[0] + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v___pyx_result); + __pyx_r = __pyx_v___pyx_result; + goto __pyx_L0; + + /* "(tree fragment)":1 + * def __pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * cdef object __pyx_PickleError + * cdef object __pyx_result + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.__pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v___pyx_PickleError); + __Pyx_XDECREF(__pyx_v___pyx_result); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":11 + * __pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions__set_state( __pyx_result, __pyx_state) + * return __pyx_result + * cdef __pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions__set_state(TopLevelThreadTracerOnlyUnhandledExceptions __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<< + * __pyx_result._args = __pyx_state[0] + * if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'): + */ + +static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython___pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions__set_state(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + Py_ssize_t __pyx_t_3; + int __pyx_t_4; + int __pyx_t_5; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions__set_state", 0); + + /* "(tree fragment)":12 + * return __pyx_result + * cdef __pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions__set_state(TopLevelThreadTracerOnlyUnhandledExceptions __pyx_result, tuple __pyx_state): + * __pyx_result._args = __pyx_state[0] # <<<<<<<<<<<<<< + * if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'): + * __pyx_result.__dict__.update(__pyx_state[1]) + */ + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(2, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->_args); + __Pyx_DECREF(__pyx_v___pyx_result->_args); + __pyx_v___pyx_result->_args = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "(tree fragment)":13 + * cdef __pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions__set_state(TopLevelThreadTracerOnlyUnhandledExceptions __pyx_result, tuple __pyx_state): + * __pyx_result._args = __pyx_state[0] + * if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'): # <<<<<<<<<<<<<< + * __pyx_result.__dict__.update(__pyx_state[1]) + */ + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); + __PYX_ERR(2, 13, __pyx_L1_error) + } + __pyx_t_3 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(2, 13, __pyx_L1_error) + __pyx_t_4 = ((__pyx_t_3 > 1) != 0); + if (__pyx_t_4) { + } else { + __pyx_t_2 = __pyx_t_4; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_4 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(2, 13, __pyx_L1_error) + __pyx_t_5 = (__pyx_t_4 != 0); + __pyx_t_2 = __pyx_t_5; + __pyx_L4_bool_binop_done:; + if (__pyx_t_2) { + + /* "(tree fragment)":14 + * __pyx_result._args = __pyx_state[0] + * if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'): + * __pyx_result.__dict__.update(__pyx_state[1]) # <<<<<<<<<<<<<< + */ + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_update); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(2, 14, __pyx_L1_error) + } + __pyx_t_6 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_8 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + __pyx_t_1 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "(tree fragment)":13 + * cdef __pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions__set_state(TopLevelThreadTracerOnlyUnhandledExceptions __pyx_result, tuple __pyx_state): + * __pyx_result._args = __pyx_state[0] + * if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'): # <<<<<<<<<<<<<< + * __pyx_result.__dict__.update(__pyx_state[1]) + */ + } + + /* "(tree fragment)":11 + * __pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions__set_state( __pyx_result, __pyx_state) + * return __pyx_result + * cdef __pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions__set_state(TopLevelThreadTracerOnlyUnhandledExceptions __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<< + * __pyx_result._args = __pyx_state[0] + * if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'): + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.__pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":1 + * def __pyx_unpickle_TopLevelThreadTracerNoBackFrame(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * cdef object __pyx_PickleError + * cdef object __pyx_result + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_23__pyx_unpickle_TopLevelThreadTracerNoBackFrame(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_14_pydevd_bundle_13pydevd_cython_23__pyx_unpickle_TopLevelThreadTracerNoBackFrame = {"__pyx_unpickle_TopLevelThreadTracerNoBackFrame", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_23__pyx_unpickle_TopLevelThreadTracerNoBackFrame, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_23__pyx_unpickle_TopLevelThreadTracerNoBackFrame(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v___pyx_type = 0; + long __pyx_v___pyx_checksum; + PyObject *__pyx_v___pyx_state = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__pyx_unpickle_TopLevelThreadTracerNoBackFrame (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0}; + PyObject* values[3] = {0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_TopLevelThreadTracerNoBackFrame", 1, 3, 3, 1); __PYX_ERR(2, 1, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_TopLevelThreadTracerNoBackFrame", 1, 3, 3, 2); __PYX_ERR(2, 1, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_TopLevelThreadTracerNoBackFrame") < 0)) __PYX_ERR(2, 1, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + } + __pyx_v___pyx_type = values[0]; + __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(2, 1, __pyx_L3_error) + __pyx_v___pyx_state = values[2]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_TopLevelThreadTracerNoBackFrame", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(2, 1, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.__pyx_unpickle_TopLevelThreadTracerNoBackFrame", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_22__pyx_unpickle_TopLevelThreadTracerNoBackFrame(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_22__pyx_unpickle_TopLevelThreadTracerNoBackFrame(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_v___pyx_PickleError = 0; + PyObject *__pyx_v___pyx_result = 0; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + int __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__pyx_unpickle_TopLevelThreadTracerNoBackFrame", 0); + + /* "(tree fragment)":4 + * cdef object __pyx_PickleError + * cdef object __pyx_result + * if __pyx_checksum not in (0xa3a9ec1, 0x3f5f7e9, 0x0ff9c96): # <<<<<<<<<<<<<< + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0xa3a9ec1, 0x3f5f7e9, 0x0ff9c96) = (_args, _frame_trace_dispatch, _last_exc_arg, _last_raise_line, _raise_lines, try_except_infos))" % __pyx_checksum) + */ + __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_tuple__14, Py_NE)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(2, 4, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_3 = (__pyx_t_2 != 0); + if (__pyx_t_3) { + + /* "(tree fragment)":5 + * cdef object __pyx_result + * if __pyx_checksum not in (0xa3a9ec1, 0x3f5f7e9, 0x0ff9c96): + * from pickle import PickleError as __pyx_PickleError # <<<<<<<<<<<<<< + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0xa3a9ec1, 0x3f5f7e9, 0x0ff9c96) = (_args, _frame_trace_dispatch, _last_exc_arg, _last_raise_line, _raise_lines, try_except_infos))" % __pyx_checksum) + * __pyx_result = TopLevelThreadTracerNoBackFrame.__new__(__pyx_type) + */ + __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_s_PickleError); + __Pyx_GIVEREF(__pyx_n_s_PickleError); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_PickleError); + __pyx_t_4 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_1, -1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_4, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_t_1); + __pyx_v___pyx_PickleError = __pyx_t_1; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "(tree fragment)":6 + * if __pyx_checksum not in (0xa3a9ec1, 0x3f5f7e9, 0x0ff9c96): + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0xa3a9ec1, 0x3f5f7e9, 0x0ff9c96) = (_args, _frame_trace_dispatch, _last_exc_arg, _last_raise_line, _raise_lines, try_except_infos))" % __pyx_checksum) # <<<<<<<<<<<<<< + * __pyx_result = TopLevelThreadTracerNoBackFrame.__new__(__pyx_type) + * if __pyx_state is not None: + */ + __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_6, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_INCREF(__pyx_v___pyx_PickleError); + __pyx_t_1 = __pyx_v___pyx_PickleError; __pyx_t_6 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_Raise(__pyx_t_4, 0, 0, 0); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __PYX_ERR(2, 6, __pyx_L1_error) + + /* "(tree fragment)":4 + * cdef object __pyx_PickleError + * cdef object __pyx_result + * if __pyx_checksum not in (0xa3a9ec1, 0x3f5f7e9, 0x0ff9c96): # <<<<<<<<<<<<<< + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0xa3a9ec1, 0x3f5f7e9, 0x0ff9c96) = (_args, _frame_trace_dispatch, _last_exc_arg, _last_raise_line, _raise_lines, try_except_infos))" % __pyx_checksum) + */ + } + + /* "(tree fragment)":7 + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0xa3a9ec1, 0x3f5f7e9, 0x0ff9c96) = (_args, _frame_trace_dispatch, _last_exc_arg, _last_raise_line, _raise_lines, try_except_infos))" % __pyx_checksum) + * __pyx_result = TopLevelThreadTracerNoBackFrame.__new__(__pyx_type) # <<<<<<<<<<<<<< + * if __pyx_state is not None: + * __pyx_unpickle_TopLevelThreadTracerNoBackFrame__set_state( __pyx_result, __pyx_state) + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame), __pyx_n_s_new); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v___pyx_type); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v___pyx_result = __pyx_t_4; + __pyx_t_4 = 0; + + /* "(tree fragment)":8 + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0xa3a9ec1, 0x3f5f7e9, 0x0ff9c96) = (_args, _frame_trace_dispatch, _last_exc_arg, _last_raise_line, _raise_lines, try_except_infos))" % __pyx_checksum) + * __pyx_result = TopLevelThreadTracerNoBackFrame.__new__(__pyx_type) + * if __pyx_state is not None: # <<<<<<<<<<<<<< + * __pyx_unpickle_TopLevelThreadTracerNoBackFrame__set_state( __pyx_result, __pyx_state) + * return __pyx_result + */ + __pyx_t_3 = (__pyx_v___pyx_state != Py_None); + __pyx_t_2 = (__pyx_t_3 != 0); + if (__pyx_t_2) { + + /* "(tree fragment)":9 + * __pyx_result = TopLevelThreadTracerNoBackFrame.__new__(__pyx_type) + * if __pyx_state is not None: + * __pyx_unpickle_TopLevelThreadTracerNoBackFrame__set_state( __pyx_result, __pyx_state) # <<<<<<<<<<<<<< + * return __pyx_result + * cdef __pyx_unpickle_TopLevelThreadTracerNoBackFrame__set_state(TopLevelThreadTracerNoBackFrame __pyx_result, tuple __pyx_state): + */ + if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(2, 9, __pyx_L1_error) + __pyx_t_4 = __pyx_f_14_pydevd_bundle_13pydevd_cython___pyx_unpickle_TopLevelThreadTracerNoBackFrame__set_state(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "(tree fragment)":8 + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0xa3a9ec1, 0x3f5f7e9, 0x0ff9c96) = (_args, _frame_trace_dispatch, _last_exc_arg, _last_raise_line, _raise_lines, try_except_infos))" % __pyx_checksum) + * __pyx_result = TopLevelThreadTracerNoBackFrame.__new__(__pyx_type) + * if __pyx_state is not None: # <<<<<<<<<<<<<< + * __pyx_unpickle_TopLevelThreadTracerNoBackFrame__set_state( __pyx_result, __pyx_state) + * return __pyx_result + */ + } + + /* "(tree fragment)":10 + * if __pyx_state is not None: + * __pyx_unpickle_TopLevelThreadTracerNoBackFrame__set_state( __pyx_result, __pyx_state) + * return __pyx_result # <<<<<<<<<<<<<< + * cdef __pyx_unpickle_TopLevelThreadTracerNoBackFrame__set_state(TopLevelThreadTracerNoBackFrame __pyx_result, tuple __pyx_state): + * __pyx_result._args = __pyx_state[0]; __pyx_result._frame_trace_dispatch = __pyx_state[1]; __pyx_result._last_exc_arg = __pyx_state[2]; __pyx_result._last_raise_line = __pyx_state[3]; __pyx_result._raise_lines = __pyx_state[4]; __pyx_result.try_except_infos = __pyx_state[5] + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v___pyx_result); + __pyx_r = __pyx_v___pyx_result; + goto __pyx_L0; + + /* "(tree fragment)":1 + * def __pyx_unpickle_TopLevelThreadTracerNoBackFrame(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * cdef object __pyx_PickleError + * cdef object __pyx_result + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.__pyx_unpickle_TopLevelThreadTracerNoBackFrame", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v___pyx_PickleError); + __Pyx_XDECREF(__pyx_v___pyx_result); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":11 + * __pyx_unpickle_TopLevelThreadTracerNoBackFrame__set_state( __pyx_result, __pyx_state) + * return __pyx_result + * cdef __pyx_unpickle_TopLevelThreadTracerNoBackFrame__set_state(TopLevelThreadTracerNoBackFrame __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<< + * __pyx_result._args = __pyx_state[0]; __pyx_result._frame_trace_dispatch = __pyx_state[1]; __pyx_result._last_exc_arg = __pyx_state[2]; __pyx_result._last_raise_line = __pyx_state[3]; __pyx_result._raise_lines = __pyx_state[4]; __pyx_result.try_except_infos = __pyx_state[5] + * if len(__pyx_state) > 6 and hasattr(__pyx_result, '__dict__'): + */ + +static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython___pyx_unpickle_TopLevelThreadTracerNoBackFrame__set_state(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + int __pyx_t_3; + Py_ssize_t __pyx_t_4; + int __pyx_t_5; + int __pyx_t_6; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__pyx_unpickle_TopLevelThreadTracerNoBackFrame__set_state", 0); + + /* "(tree fragment)":12 + * return __pyx_result + * cdef __pyx_unpickle_TopLevelThreadTracerNoBackFrame__set_state(TopLevelThreadTracerNoBackFrame __pyx_result, tuple __pyx_state): + * __pyx_result._args = __pyx_state[0]; __pyx_result._frame_trace_dispatch = __pyx_state[1]; __pyx_result._last_exc_arg = __pyx_state[2]; __pyx_result._last_raise_line = __pyx_state[3]; __pyx_result._raise_lines = __pyx_state[4]; __pyx_result.try_except_infos = __pyx_state[5] # <<<<<<<<<<<<<< + * if len(__pyx_state) > 6 and hasattr(__pyx_result, '__dict__'): + * __pyx_result.__dict__.update(__pyx_state[6]) + */ + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(2, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->_args); + __Pyx_DECREF(__pyx_v___pyx_result->_args); + __pyx_v___pyx_result->_args = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(2, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->_frame_trace_dispatch); + __Pyx_DECREF(__pyx_v___pyx_result->_frame_trace_dispatch); + __pyx_v___pyx_result->_frame_trace_dispatch = __pyx_t_1; + __pyx_t_1 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(2, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->_last_exc_arg); + __Pyx_DECREF(__pyx_v___pyx_result->_last_exc_arg); + __pyx_v___pyx_result->_last_exc_arg = __pyx_t_1; + __pyx_t_1 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(2, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v___pyx_result->_last_raise_line = __pyx_t_2; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(2, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(PySet_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "set", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->_raise_lines); + __Pyx_DECREF(__pyx_v___pyx_result->_raise_lines); + __pyx_v___pyx_result->_raise_lines = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(2, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 5, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->try_except_infos); + __Pyx_DECREF(__pyx_v___pyx_result->try_except_infos); + __pyx_v___pyx_result->try_except_infos = __pyx_t_1; + __pyx_t_1 = 0; + + /* "(tree fragment)":13 + * cdef __pyx_unpickle_TopLevelThreadTracerNoBackFrame__set_state(TopLevelThreadTracerNoBackFrame __pyx_result, tuple __pyx_state): + * __pyx_result._args = __pyx_state[0]; __pyx_result._frame_trace_dispatch = __pyx_state[1]; __pyx_result._last_exc_arg = __pyx_state[2]; __pyx_result._last_raise_line = __pyx_state[3]; __pyx_result._raise_lines = __pyx_state[4]; __pyx_result.try_except_infos = __pyx_state[5] + * if len(__pyx_state) > 6 and hasattr(__pyx_result, '__dict__'): # <<<<<<<<<<<<<< + * __pyx_result.__dict__.update(__pyx_state[6]) + */ + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); + __PYX_ERR(2, 13, __pyx_L1_error) + } + __pyx_t_4 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(2, 13, __pyx_L1_error) + __pyx_t_5 = ((__pyx_t_4 > 6) != 0); + if (__pyx_t_5) { + } else { + __pyx_t_3 = __pyx_t_5; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_5 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(2, 13, __pyx_L1_error) + __pyx_t_6 = (__pyx_t_5 != 0); + __pyx_t_3 = __pyx_t_6; + __pyx_L4_bool_binop_done:; + if (__pyx_t_3) { + + /* "(tree fragment)":14 + * __pyx_result._args = __pyx_state[0]; __pyx_result._frame_trace_dispatch = __pyx_state[1]; __pyx_result._last_exc_arg = __pyx_state[2]; __pyx_result._last_raise_line = __pyx_state[3]; __pyx_result._raise_lines = __pyx_state[4]; __pyx_result.try_except_infos = __pyx_state[5] + * if len(__pyx_state) > 6 and hasattr(__pyx_result, '__dict__'): + * __pyx_result.__dict__.update(__pyx_state[6]) # <<<<<<<<<<<<<< + */ + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_update); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(2, 14, __pyx_L1_error) + } + __pyx_t_7 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 6, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_8, function); + } + } + __pyx_t_1 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_9, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_7); + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "(tree fragment)":13 + * cdef __pyx_unpickle_TopLevelThreadTracerNoBackFrame__set_state(TopLevelThreadTracerNoBackFrame __pyx_result, tuple __pyx_state): + * __pyx_result._args = __pyx_state[0]; __pyx_result._frame_trace_dispatch = __pyx_state[1]; __pyx_result._last_exc_arg = __pyx_state[2]; __pyx_result._last_raise_line = __pyx_state[3]; __pyx_result._raise_lines = __pyx_state[4]; __pyx_result.try_except_infos = __pyx_state[5] + * if len(__pyx_state) > 6 and hasattr(__pyx_result, '__dict__'): # <<<<<<<<<<<<<< + * __pyx_result.__dict__.update(__pyx_state[6]) + */ + } + + /* "(tree fragment)":11 + * __pyx_unpickle_TopLevelThreadTracerNoBackFrame__set_state( __pyx_result, __pyx_state) + * return __pyx_result + * cdef __pyx_unpickle_TopLevelThreadTracerNoBackFrame__set_state(TopLevelThreadTracerNoBackFrame __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<< + * __pyx_result._args = __pyx_state[0]; __pyx_result._frame_trace_dispatch = __pyx_state[1]; __pyx_result._last_exc_arg = __pyx_state[2]; __pyx_result._last_raise_line = __pyx_state[3]; __pyx_result._raise_lines = __pyx_state[4]; __pyx_result.try_except_infos = __pyx_state[5] + * if len(__pyx_state) > 6 and hasattr(__pyx_result, '__dict__'): + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.__pyx_unpickle_TopLevelThreadTracerNoBackFrame__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":1 + * def __pyx_unpickle_ThreadTracer(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * cdef object __pyx_PickleError + * cdef object __pyx_result + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_25__pyx_unpickle_ThreadTracer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_14_pydevd_bundle_13pydevd_cython_25__pyx_unpickle_ThreadTracer = {"__pyx_unpickle_ThreadTracer", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_25__pyx_unpickle_ThreadTracer, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_14_pydevd_bundle_13pydevd_cython_25__pyx_unpickle_ThreadTracer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v___pyx_type = 0; + long __pyx_v___pyx_checksum; + PyObject *__pyx_v___pyx_state = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__pyx_unpickle_ThreadTracer (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0}; + PyObject* values[3] = {0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_ThreadTracer", 1, 3, 3, 1); __PYX_ERR(2, 1, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_ThreadTracer", 1, 3, 3, 2); __PYX_ERR(2, 1, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_ThreadTracer") < 0)) __PYX_ERR(2, 1, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + } + __pyx_v___pyx_type = values[0]; + __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(2, 1, __pyx_L3_error) + __pyx_v___pyx_state = values[2]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_ThreadTracer", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(2, 1, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.__pyx_unpickle_ThreadTracer", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_14_pydevd_bundle_13pydevd_cython_24__pyx_unpickle_ThreadTracer(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_14_pydevd_bundle_13pydevd_cython_24__pyx_unpickle_ThreadTracer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_v___pyx_PickleError = 0; + PyObject *__pyx_v___pyx_result = 0; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + int __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__pyx_unpickle_ThreadTracer", 0); + + /* "(tree fragment)":4 + * cdef object __pyx_PickleError + * cdef object __pyx_result + * if __pyx_checksum not in (0x3d7902a, 0x121e1fb, 0xf3a61b1): # <<<<<<<<<<<<<< + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x3d7902a, 0x121e1fb, 0xf3a61b1) = (_args))" % __pyx_checksum) + */ + __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_tuple__13, Py_NE)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(2, 4, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_3 = (__pyx_t_2 != 0); + if (__pyx_t_3) { + + /* "(tree fragment)":5 + * cdef object __pyx_result + * if __pyx_checksum not in (0x3d7902a, 0x121e1fb, 0xf3a61b1): + * from pickle import PickleError as __pyx_PickleError # <<<<<<<<<<<<<< + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x3d7902a, 0x121e1fb, 0xf3a61b1) = (_args))" % __pyx_checksum) + * __pyx_result = ThreadTracer.__new__(__pyx_type) + */ + __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_s_PickleError); + __Pyx_GIVEREF(__pyx_n_s_PickleError); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_PickleError); + __pyx_t_4 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_1, -1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_4, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_t_1); + __pyx_v___pyx_PickleError = __pyx_t_1; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "(tree fragment)":6 + * if __pyx_checksum not in (0x3d7902a, 0x121e1fb, 0xf3a61b1): + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x3d7902a, 0x121e1fb, 0xf3a61b1) = (_args))" % __pyx_checksum) # <<<<<<<<<<<<<< + * __pyx_result = ThreadTracer.__new__(__pyx_type) + * if __pyx_state is not None: + */ + __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_5, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_INCREF(__pyx_v___pyx_PickleError); + __pyx_t_1 = __pyx_v___pyx_PickleError; __pyx_t_6 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_Raise(__pyx_t_4, 0, 0, 0); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __PYX_ERR(2, 6, __pyx_L1_error) + + /* "(tree fragment)":4 + * cdef object __pyx_PickleError + * cdef object __pyx_result + * if __pyx_checksum not in (0x3d7902a, 0x121e1fb, 0xf3a61b1): # <<<<<<<<<<<<<< + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x3d7902a, 0x121e1fb, 0xf3a61b1) = (_args))" % __pyx_checksum) + */ + } + + /* "(tree fragment)":7 + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x3d7902a, 0x121e1fb, 0xf3a61b1) = (_args))" % __pyx_checksum) + * __pyx_result = ThreadTracer.__new__(__pyx_type) # <<<<<<<<<<<<<< + * if __pyx_state is not None: + * __pyx_unpickle_ThreadTracer__set_state( __pyx_result, __pyx_state) + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_ThreadTracer), __pyx_n_s_new); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v___pyx_type); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v___pyx_result = __pyx_t_4; + __pyx_t_4 = 0; + + /* "(tree fragment)":8 + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x3d7902a, 0x121e1fb, 0xf3a61b1) = (_args))" % __pyx_checksum) + * __pyx_result = ThreadTracer.__new__(__pyx_type) + * if __pyx_state is not None: # <<<<<<<<<<<<<< + * __pyx_unpickle_ThreadTracer__set_state( __pyx_result, __pyx_state) + * return __pyx_result + */ + __pyx_t_3 = (__pyx_v___pyx_state != Py_None); + __pyx_t_2 = (__pyx_t_3 != 0); + if (__pyx_t_2) { + + /* "(tree fragment)":9 + * __pyx_result = ThreadTracer.__new__(__pyx_type) + * if __pyx_state is not None: + * __pyx_unpickle_ThreadTracer__set_state( __pyx_result, __pyx_state) # <<<<<<<<<<<<<< + * return __pyx_result + * cdef __pyx_unpickle_ThreadTracer__set_state(ThreadTracer __pyx_result, tuple __pyx_state): + */ + if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(2, 9, __pyx_L1_error) + __pyx_t_4 = __pyx_f_14_pydevd_bundle_13pydevd_cython___pyx_unpickle_ThreadTracer__set_state(((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_ThreadTracer *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "(tree fragment)":8 + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x3d7902a, 0x121e1fb, 0xf3a61b1) = (_args))" % __pyx_checksum) + * __pyx_result = ThreadTracer.__new__(__pyx_type) + * if __pyx_state is not None: # <<<<<<<<<<<<<< + * __pyx_unpickle_ThreadTracer__set_state( __pyx_result, __pyx_state) + * return __pyx_result + */ + } + + /* "(tree fragment)":10 + * if __pyx_state is not None: + * __pyx_unpickle_ThreadTracer__set_state( __pyx_result, __pyx_state) + * return __pyx_result # <<<<<<<<<<<<<< + * cdef __pyx_unpickle_ThreadTracer__set_state(ThreadTracer __pyx_result, tuple __pyx_state): + * __pyx_result._args = __pyx_state[0] + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v___pyx_result); + __pyx_r = __pyx_v___pyx_result; + goto __pyx_L0; + + /* "(tree fragment)":1 + * def __pyx_unpickle_ThreadTracer(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * cdef object __pyx_PickleError + * cdef object __pyx_result + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.__pyx_unpickle_ThreadTracer", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v___pyx_PickleError); + __Pyx_XDECREF(__pyx_v___pyx_result); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":11 + * __pyx_unpickle_ThreadTracer__set_state( __pyx_result, __pyx_state) + * return __pyx_result + * cdef __pyx_unpickle_ThreadTracer__set_state(ThreadTracer __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<< + * __pyx_result._args = __pyx_state[0] + * if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'): + */ + +static PyObject *__pyx_f_14_pydevd_bundle_13pydevd_cython___pyx_unpickle_ThreadTracer__set_state(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_ThreadTracer *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + Py_ssize_t __pyx_t_3; + int __pyx_t_4; + int __pyx_t_5; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__pyx_unpickle_ThreadTracer__set_state", 0); + + /* "(tree fragment)":12 + * return __pyx_result + * cdef __pyx_unpickle_ThreadTracer__set_state(ThreadTracer __pyx_result, tuple __pyx_state): + * __pyx_result._args = __pyx_state[0] # <<<<<<<<<<<<<< + * if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'): + * __pyx_result.__dict__.update(__pyx_state[1]) + */ + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(2, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(2, 12, __pyx_L1_error) + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->_args); + __Pyx_DECREF(__pyx_v___pyx_result->_args); + __pyx_v___pyx_result->_args = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "(tree fragment)":13 + * cdef __pyx_unpickle_ThreadTracer__set_state(ThreadTracer __pyx_result, tuple __pyx_state): + * __pyx_result._args = __pyx_state[0] + * if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'): # <<<<<<<<<<<<<< + * __pyx_result.__dict__.update(__pyx_state[1]) + */ + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); + __PYX_ERR(2, 13, __pyx_L1_error) + } + __pyx_t_3 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(2, 13, __pyx_L1_error) + __pyx_t_4 = ((__pyx_t_3 > 1) != 0); + if (__pyx_t_4) { + } else { + __pyx_t_2 = __pyx_t_4; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_4 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(2, 13, __pyx_L1_error) + __pyx_t_5 = (__pyx_t_4 != 0); + __pyx_t_2 = __pyx_t_5; + __pyx_L4_bool_binop_done:; + if (__pyx_t_2) { + + /* "(tree fragment)":14 + * __pyx_result._args = __pyx_state[0] + * if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'): + * __pyx_result.__dict__.update(__pyx_state[1]) # <<<<<<<<<<<<<< + */ + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_update); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(2, 14, __pyx_L1_error) + } + __pyx_t_6 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_8 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + __pyx_t_1 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "(tree fragment)":13 + * cdef __pyx_unpickle_ThreadTracer__set_state(ThreadTracer __pyx_result, tuple __pyx_state): + * __pyx_result._args = __pyx_state[0] + * if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'): # <<<<<<<<<<<<<< + * __pyx_result.__dict__.update(__pyx_state[1]) + */ + } + + /* "(tree fragment)":11 + * __pyx_unpickle_ThreadTracer__set_state( __pyx_result, __pyx_state) + * return __pyx_result + * cdef __pyx_unpickle_ThreadTracer__set_state(ThreadTracer __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<< + * __pyx_result._args = __pyx_state[0] + * if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'): + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython.__pyx_unpickle_ThreadTracer__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_tp_new_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { + struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *p; + PyObject *o; + if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) { + o = (*t->tp_alloc)(t, 0); + } else { + o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0); + } + if (unlikely(!o)) return 0; + p = ((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)o); + p->pydev_step_stop = Py_None; Py_INCREF(Py_None); + p->pydev_smart_step_stop = Py_None; Py_INCREF(Py_None); + p->pydev_call_from_jinja2 = Py_None; Py_INCREF(Py_None); + p->pydev_call_inside_jinja2 = Py_None; Py_INCREF(Py_None); + p->conditional_breakpoint_exception = ((PyObject*)Py_None); Py_INCREF(Py_None); + p->pydev_message = ((PyObject*)Py_None); Py_INCREF(Py_None); + p->pydev_func_name = ((PyObject*)Py_None); Py_INCREF(Py_None); + p->trace_suspend_type = ((PyObject*)Py_None); Py_INCREF(Py_None); + p->top_level_thread_tracer_no_back_frames = Py_None; Py_INCREF(Py_None); + p->top_level_thread_tracer_unhandled = Py_None; Py_INCREF(Py_None); + p->thread_tracer = Py_None; Py_INCREF(Py_None); + p->step_in_initial_location = Py_None; Py_INCREF(Py_None); + p->pydev_smart_step_into_variants = ((PyObject*)Py_None); Py_INCREF(Py_None); + p->target_id_to_smart_step_into_variant = ((PyObject*)Py_None); Py_INCREF(Py_None); + return o; +} + +static void __pyx_tp_dealloc_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo(PyObject *o) { + struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *p = (struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)o; + #if CYTHON_USE_TP_FINALIZE + if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) { + if (PyObject_CallFinalizerFromDealloc(o)) return; + } + #endif + PyObject_GC_UnTrack(o); + Py_CLEAR(p->pydev_step_stop); + Py_CLEAR(p->pydev_smart_step_stop); + Py_CLEAR(p->pydev_call_from_jinja2); + Py_CLEAR(p->pydev_call_inside_jinja2); + Py_CLEAR(p->conditional_breakpoint_exception); + Py_CLEAR(p->pydev_message); + Py_CLEAR(p->pydev_func_name); + Py_CLEAR(p->trace_suspend_type); + Py_CLEAR(p->top_level_thread_tracer_no_back_frames); + Py_CLEAR(p->top_level_thread_tracer_unhandled); + Py_CLEAR(p->thread_tracer); + Py_CLEAR(p->step_in_initial_location); + Py_CLEAR(p->pydev_smart_step_into_variants); + Py_CLEAR(p->target_id_to_smart_step_into_variant); + (*Py_TYPE(o)->tp_free)(o); +} + +static int __pyx_tp_traverse_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo(PyObject *o, visitproc v, void *a) { + int e; + struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *p = (struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)o; + if (p->pydev_step_stop) { + e = (*v)(p->pydev_step_stop, a); if (e) return e; + } + if (p->pydev_smart_step_stop) { + e = (*v)(p->pydev_smart_step_stop, a); if (e) return e; + } + if (p->pydev_call_from_jinja2) { + e = (*v)(p->pydev_call_from_jinja2, a); if (e) return e; + } + if (p->pydev_call_inside_jinja2) { + e = (*v)(p->pydev_call_inside_jinja2, a); if (e) return e; + } + if (p->conditional_breakpoint_exception) { + e = (*v)(p->conditional_breakpoint_exception, a); if (e) return e; + } + if (p->top_level_thread_tracer_no_back_frames) { + e = (*v)(p->top_level_thread_tracer_no_back_frames, a); if (e) return e; + } + if (p->top_level_thread_tracer_unhandled) { + e = (*v)(p->top_level_thread_tracer_unhandled, a); if (e) return e; + } + if (p->thread_tracer) { + e = (*v)(p->thread_tracer, a); if (e) return e; + } + if (p->step_in_initial_location) { + e = (*v)(p->step_in_initial_location, a); if (e) return e; + } + if (p->pydev_smart_step_into_variants) { + e = (*v)(p->pydev_smart_step_into_variants, a); if (e) return e; + } + if (p->target_id_to_smart_step_into_variant) { + e = (*v)(p->target_id_to_smart_step_into_variant, a); if (e) return e; + } + return 0; +} + +static int __pyx_tp_clear_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo(PyObject *o) { + PyObject* tmp; + struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *p = (struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)o; + tmp = ((PyObject*)p->pydev_step_stop); + p->pydev_step_stop = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->pydev_smart_step_stop); + p->pydev_smart_step_stop = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->pydev_call_from_jinja2); + p->pydev_call_from_jinja2 = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->pydev_call_inside_jinja2); + p->pydev_call_inside_jinja2 = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->conditional_breakpoint_exception); + p->conditional_breakpoint_exception = ((PyObject*)Py_None); Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->top_level_thread_tracer_no_back_frames); + p->top_level_thread_tracer_no_back_frames = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->top_level_thread_tracer_unhandled); + p->top_level_thread_tracer_unhandled = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->thread_tracer); + p->thread_tracer = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->step_in_initial_location); + p->step_in_initial_location = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->pydev_smart_step_into_variants); + p->pydev_smart_step_into_variants = ((PyObject*)Py_None); Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->target_id_to_smart_step_into_variant); + p->target_id_to_smart_step_into_variant = ((PyObject*)Py_None); Py_INCREF(Py_None); + Py_XDECREF(tmp); + return 0; +} + +static PyObject *__pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_state(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_11pydev_state_1__get__(o); +} + +static int __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_state(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_11pydev_state_3__set__(o, v); + } + else { + PyErr_SetString(PyExc_NotImplementedError, "__del__"); + return -1; + } +} + +static PyObject *__pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_step_stop(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_15pydev_step_stop_1__get__(o); +} + +static int __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_step_stop(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_15pydev_step_stop_3__set__(o, v); + } + else { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_15pydev_step_stop_5__del__(o); + } +} + +static PyObject *__pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_original_step_cmd(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_23pydev_original_step_cmd_1__get__(o); +} + +static int __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_original_step_cmd(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_23pydev_original_step_cmd_3__set__(o, v); + } + else { + PyErr_SetString(PyExc_NotImplementedError, "__del__"); + return -1; + } +} + +static PyObject *__pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_step_cmd(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_14pydev_step_cmd_1__get__(o); +} + +static int __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_step_cmd(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_14pydev_step_cmd_3__set__(o, v); + } + else { + PyErr_SetString(PyExc_NotImplementedError, "__del__"); + return -1; + } +} + +static PyObject *__pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_notify_kill(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_17pydev_notify_kill_1__get__(o); +} + +static int __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_notify_kill(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_17pydev_notify_kill_3__set__(o, v); + } + else { + PyErr_SetString(PyExc_NotImplementedError, "__del__"); + return -1; + } +} + +static PyObject *__pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_smart_step_stop(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_21pydev_smart_step_stop_1__get__(o); +} + +static int __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_smart_step_stop(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_21pydev_smart_step_stop_3__set__(o, v); + } + else { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_21pydev_smart_step_stop_5__del__(o); + } +} + +static PyObject *__pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_django_resolve_frame(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_26pydev_django_resolve_frame_1__get__(o); +} + +static int __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_django_resolve_frame(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_26pydev_django_resolve_frame_3__set__(o, v); + } + else { + PyErr_SetString(PyExc_NotImplementedError, "__del__"); + return -1; + } +} + +static PyObject *__pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_call_from_jinja2(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_22pydev_call_from_jinja2_1__get__(o); +} + +static int __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_call_from_jinja2(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_22pydev_call_from_jinja2_3__set__(o, v); + } + else { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_22pydev_call_from_jinja2_5__del__(o); + } +} + +static PyObject *__pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_call_inside_jinja2(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_24pydev_call_inside_jinja2_1__get__(o); +} + +static int __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_call_inside_jinja2(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_24pydev_call_inside_jinja2_3__set__(o, v); + } + else { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_24pydev_call_inside_jinja2_5__del__(o); + } +} + +static PyObject *__pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_is_tracing(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_10is_tracing_1__get__(o); +} + +static int __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_is_tracing(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_10is_tracing_3__set__(o, v); + } + else { + PyErr_SetString(PyExc_NotImplementedError, "__del__"); + return -1; + } +} + +static PyObject *__pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_conditional_breakpoint_exception(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_32conditional_breakpoint_exception_1__get__(o); +} + +static int __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_conditional_breakpoint_exception(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_32conditional_breakpoint_exception_3__set__(o, v); + } + else { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_32conditional_breakpoint_exception_5__del__(o); + } +} + +static PyObject *__pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_message(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_13pydev_message_1__get__(o); +} + +static int __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_message(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_13pydev_message_3__set__(o, v); + } + else { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_13pydev_message_5__del__(o); + } +} + +static PyObject *__pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_suspend_type(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_12suspend_type_1__get__(o); +} + +static int __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_suspend_type(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_12suspend_type_3__set__(o, v); + } + else { + PyErr_SetString(PyExc_NotImplementedError, "__del__"); + return -1; + } +} + +static PyObject *__pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_next_line(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_15pydev_next_line_1__get__(o); +} + +static int __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_next_line(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_15pydev_next_line_3__set__(o, v); + } + else { + PyErr_SetString(PyExc_NotImplementedError, "__del__"); + return -1; + } +} + +static PyObject *__pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_func_name(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_15pydev_func_name_1__get__(o); +} + +static int __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_func_name(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_15pydev_func_name_3__set__(o, v); + } + else { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_15pydev_func_name_5__del__(o); + } +} + +static PyObject *__pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_suspended_at_unhandled(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_22suspended_at_unhandled_1__get__(o); +} + +static int __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_suspended_at_unhandled(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_22suspended_at_unhandled_3__set__(o, v); + } + else { + PyErr_SetString(PyExc_NotImplementedError, "__del__"); + return -1; + } +} + +static PyObject *__pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_trace_suspend_type(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_18trace_suspend_type_1__get__(o); +} + +static int __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_trace_suspend_type(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_18trace_suspend_type_3__set__(o, v); + } + else { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_18trace_suspend_type_5__del__(o); + } +} + +static PyObject *__pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_top_level_thread_tracer_no_back_frames(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_38top_level_thread_tracer_no_back_frames_1__get__(o); +} + +static int __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_top_level_thread_tracer_no_back_frames(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_38top_level_thread_tracer_no_back_frames_3__set__(o, v); + } + else { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_38top_level_thread_tracer_no_back_frames_5__del__(o); + } +} + +static PyObject *__pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_top_level_thread_tracer_unhandled(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_33top_level_thread_tracer_unhandled_1__get__(o); +} + +static int __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_top_level_thread_tracer_unhandled(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_33top_level_thread_tracer_unhandled_3__set__(o, v); + } + else { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_33top_level_thread_tracer_unhandled_5__del__(o); + } +} + +static PyObject *__pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_thread_tracer(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_13thread_tracer_1__get__(o); +} + +static int __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_thread_tracer(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_13thread_tracer_3__set__(o, v); + } + else { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_13thread_tracer_5__del__(o); + } +} + +static PyObject *__pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_step_in_initial_location(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_24step_in_initial_location_1__get__(o); +} + +static int __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_step_in_initial_location(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_24step_in_initial_location_3__set__(o, v); + } + else { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_24step_in_initial_location_5__del__(o); + } +} + +static PyObject *__pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_smart_parent_offset(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_25pydev_smart_parent_offset_1__get__(o); +} + +static int __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_smart_parent_offset(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_25pydev_smart_parent_offset_3__set__(o, v); + } + else { + PyErr_SetString(PyExc_NotImplementedError, "__del__"); + return -1; + } +} + +static PyObject *__pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_smart_child_offset(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_24pydev_smart_child_offset_1__get__(o); +} + +static int __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_smart_child_offset(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_24pydev_smart_child_offset_3__set__(o, v); + } + else { + PyErr_SetString(PyExc_NotImplementedError, "__del__"); + return -1; + } +} + +static PyObject *__pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_smart_step_into_variants(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_30pydev_smart_step_into_variants_1__get__(o); +} + +static int __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_smart_step_into_variants(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_30pydev_smart_step_into_variants_3__set__(o, v); + } + else { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_30pydev_smart_step_into_variants_5__del__(o); + } +} + +static PyObject *__pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_target_id_to_smart_step_into_variant(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_36target_id_to_smart_step_into_variant_1__get__(o); +} + +static int __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_target_id_to_smart_step_into_variant(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_36target_id_to_smart_step_into_variant_3__set__(o, v); + } + else { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_36target_id_to_smart_step_into_variant_5__del__(o); + } +} + +static PyObject *__pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_use_scoped_step_frame(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_27pydev_use_scoped_step_frame_1__get__(o); +} + +static int __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_use_scoped_step_frame(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_27pydev_use_scoped_step_frame_3__set__(o, v); + } + else { + PyErr_SetString(PyExc_NotImplementedError, "__del__"); + return -1; + } +} + +static PyMethodDef __pyx_methods_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo[] = { + {"get_topmost_frame", (PyCFunction)__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_3get_topmost_frame, METH_O, __pyx_doc_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_2get_topmost_frame}, + {"__reduce_cython__", (PyCFunction)__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_7__reduce_cython__, METH_NOARGS, 0}, + {"__setstate_cython__", (PyCFunction)__pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_9__setstate_cython__, METH_O, 0}, + {0, 0, 0, 0} +}; + +static struct PyGetSetDef __pyx_getsets_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo[] = { + {(char *)"pydev_state", __pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_state, __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_state, (char *)0, 0}, + {(char *)"pydev_step_stop", __pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_step_stop, __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_step_stop, (char *)0, 0}, + {(char *)"pydev_original_step_cmd", __pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_original_step_cmd, __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_original_step_cmd, (char *)0, 0}, + {(char *)"pydev_step_cmd", __pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_step_cmd, __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_step_cmd, (char *)0, 0}, + {(char *)"pydev_notify_kill", __pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_notify_kill, __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_notify_kill, (char *)0, 0}, + {(char *)"pydev_smart_step_stop", __pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_smart_step_stop, __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_smart_step_stop, (char *)0, 0}, + {(char *)"pydev_django_resolve_frame", __pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_django_resolve_frame, __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_django_resolve_frame, (char *)0, 0}, + {(char *)"pydev_call_from_jinja2", __pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_call_from_jinja2, __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_call_from_jinja2, (char *)0, 0}, + {(char *)"pydev_call_inside_jinja2", __pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_call_inside_jinja2, __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_call_inside_jinja2, (char *)0, 0}, + {(char *)"is_tracing", __pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_is_tracing, __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_is_tracing, (char *)0, 0}, + {(char *)"conditional_breakpoint_exception", __pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_conditional_breakpoint_exception, __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_conditional_breakpoint_exception, (char *)0, 0}, + {(char *)"pydev_message", __pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_message, __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_message, (char *)0, 0}, + {(char *)"suspend_type", __pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_suspend_type, __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_suspend_type, (char *)0, 0}, + {(char *)"pydev_next_line", __pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_next_line, __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_next_line, (char *)0, 0}, + {(char *)"pydev_func_name", __pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_func_name, __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_func_name, (char *)0, 0}, + {(char *)"suspended_at_unhandled", __pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_suspended_at_unhandled, __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_suspended_at_unhandled, (char *)0, 0}, + {(char *)"trace_suspend_type", __pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_trace_suspend_type, __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_trace_suspend_type, (char *)0, 0}, + {(char *)"top_level_thread_tracer_no_back_frames", __pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_top_level_thread_tracer_no_back_frames, __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_top_level_thread_tracer_no_back_frames, (char *)0, 0}, + {(char *)"top_level_thread_tracer_unhandled", __pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_top_level_thread_tracer_unhandled, __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_top_level_thread_tracer_unhandled, (char *)0, 0}, + {(char *)"thread_tracer", __pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_thread_tracer, __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_thread_tracer, (char *)0, 0}, + {(char *)"step_in_initial_location", __pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_step_in_initial_location, __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_step_in_initial_location, (char *)0, 0}, + {(char *)"pydev_smart_parent_offset", __pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_smart_parent_offset, __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_smart_parent_offset, (char *)0, 0}, + {(char *)"pydev_smart_child_offset", __pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_smart_child_offset, __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_smart_child_offset, (char *)0, 0}, + {(char *)"pydev_smart_step_into_variants", __pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_smart_step_into_variants, __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_smart_step_into_variants, (char *)0, 0}, + {(char *)"target_id_to_smart_step_into_variant", __pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_target_id_to_smart_step_into_variant, __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_target_id_to_smart_step_into_variant, (char *)0, 0}, + {(char *)"pydev_use_scoped_step_frame", __pyx_getprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_use_scoped_step_frame, __pyx_setprop_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_pydev_use_scoped_step_frame, (char *)0, 0}, + {0, 0, 0, 0, 0} +}; + +static PyTypeObject __pyx_type_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo = { + PyVarObject_HEAD_INIT(0, 0) + "_pydevd_bundle.pydevd_cython.PyDBAdditionalThreadInfo", /*tp_name*/ + sizeof(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + __pyx_tp_dealloc_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 + 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + #if PY_MAJOR_VERSION < 3 + 0, /*tp_compare*/ + #endif + #if PY_MAJOR_VERSION >= 3 + 0, /*tp_as_async*/ + #endif + 0, /*tp_repr*/ + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash*/ + 0, /*tp_call*/ + __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_5__str__, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ + 0, /*tp_doc*/ + __pyx_tp_traverse_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo, /*tp_traverse*/ + __pyx_tp_clear_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo, /*tp_clear*/ + 0, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + 0, /*tp_iter*/ + 0, /*tp_iternext*/ + __pyx_methods_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo, /*tp_methods*/ + 0, /*tp_members*/ + __pyx_getsets_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo, /*tp_getset*/ + 0, /*tp_base*/ + 0, /*tp_dict*/ + 0, /*tp_descr_get*/ + 0, /*tp_descr_set*/ + 0, /*tp_dictoffset*/ + __pyx_pw_14_pydevd_bundle_13pydevd_cython_24PyDBAdditionalThreadInfo_1__init__, /*tp_init*/ + 0, /*tp_alloc*/ + __pyx_tp_new_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo, /*tp_new*/ + 0, /*tp_free*/ + 0, /*tp_is_gc*/ + 0, /*tp_bases*/ + 0, /*tp_mro*/ + 0, /*tp_cache*/ + 0, /*tp_subclasses*/ + 0, /*tp_weaklist*/ + 0, /*tp_del*/ + 0, /*tp_version_tag*/ + #if PY_VERSION_HEX >= 0x030400a1 + 0, /*tp_finalize*/ + #endif + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) + 0, /*tp_vectorcall*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 + 0, /*tp_pypy_flags*/ + #endif +}; + +static PyObject *__pyx_tp_new_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { + struct __pyx_obj_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj *p; + PyObject *o; + if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) { + o = (*t->tp_alloc)(t, 0); + } else { + o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0); + } + if (unlikely(!o)) return 0; + p = ((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj *)o); + p->try_except_infos = ((PyObject*)Py_None); Py_INCREF(Py_None); + return o; +} + +static void __pyx_tp_dealloc_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj(PyObject *o) { + struct __pyx_obj_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj *p = (struct __pyx_obj_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj *)o; + #if CYTHON_USE_TP_FINALIZE + if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) { + if (PyObject_CallFinalizerFromDealloc(o)) return; + } + #endif + PyObject_GC_UnTrack(o); + Py_CLEAR(p->try_except_infos); + (*Py_TYPE(o)->tp_free)(o); +} + +static int __pyx_tp_traverse_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj(PyObject *o, visitproc v, void *a) { + int e; + struct __pyx_obj_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj *p = (struct __pyx_obj_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj *)o; + if (p->try_except_infos) { + e = (*v)(p->try_except_infos, a); if (e) return e; + } + return 0; +} + +static int __pyx_tp_clear_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj(PyObject *o) { + PyObject* tmp; + struct __pyx_obj_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj *p = (struct __pyx_obj_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj *)o; + tmp = ((PyObject*)p->try_except_infos); + p->try_except_infos = ((PyObject*)Py_None); Py_INCREF(Py_None); + Py_XDECREF(tmp); + return 0; +} + +static PyObject *__pyx_getprop_14_pydevd_bundle_13pydevd_cython_22_TryExceptContainerObj_try_except_infos(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_22_TryExceptContainerObj_16try_except_infos_1__get__(o); +} + +static int __pyx_setprop_14_pydevd_bundle_13pydevd_cython_22_TryExceptContainerObj_try_except_infos(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_22_TryExceptContainerObj_16try_except_infos_3__set__(o, v); + } + else { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_22_TryExceptContainerObj_16try_except_infos_5__del__(o); + } +} + +static PyMethodDef __pyx_methods_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj[] = { + {"__reduce_cython__", (PyCFunction)__pyx_pw_14_pydevd_bundle_13pydevd_cython_22_TryExceptContainerObj_3__reduce_cython__, METH_NOARGS, 0}, + {"__setstate_cython__", (PyCFunction)__pyx_pw_14_pydevd_bundle_13pydevd_cython_22_TryExceptContainerObj_5__setstate_cython__, METH_O, 0}, + {0, 0, 0, 0} +}; + +static struct PyGetSetDef __pyx_getsets_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj[] = { + {(char *)"try_except_infos", __pyx_getprop_14_pydevd_bundle_13pydevd_cython_22_TryExceptContainerObj_try_except_infos, __pyx_setprop_14_pydevd_bundle_13pydevd_cython_22_TryExceptContainerObj_try_except_infos, (char *)0, 0}, + {0, 0, 0, 0, 0} +}; + +static PyTypeObject __pyx_type_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj = { + PyVarObject_HEAD_INIT(0, 0) + "_pydevd_bundle.pydevd_cython._TryExceptContainerObj", /*tp_name*/ + sizeof(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + __pyx_tp_dealloc_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 + 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + #if PY_MAJOR_VERSION < 3 + 0, /*tp_compare*/ + #endif + #if PY_MAJOR_VERSION >= 3 + 0, /*tp_as_async*/ + #endif + 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|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ + 0, /*tp_doc*/ + __pyx_tp_traverse_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj, /*tp_traverse*/ + __pyx_tp_clear_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj, /*tp_clear*/ + 0, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + 0, /*tp_iter*/ + 0, /*tp_iternext*/ + __pyx_methods_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj, /*tp_methods*/ + 0, /*tp_members*/ + __pyx_getsets_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj, /*tp_getset*/ + 0, /*tp_base*/ + 0, /*tp_dict*/ + 0, /*tp_descr_get*/ + 0, /*tp_descr_set*/ + 0, /*tp_dictoffset*/ + __pyx_pw_14_pydevd_bundle_13pydevd_cython_22_TryExceptContainerObj_1__init__, /*tp_init*/ + 0, /*tp_alloc*/ + __pyx_tp_new_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj, /*tp_new*/ + 0, /*tp_free*/ + 0, /*tp_is_gc*/ + 0, /*tp_bases*/ + 0, /*tp_mro*/ + 0, /*tp_cache*/ + 0, /*tp_subclasses*/ + 0, /*tp_weaklist*/ + 0, /*tp_del*/ + 0, /*tp_version_tag*/ + #if PY_VERSION_HEX >= 0x030400a1 + 0, /*tp_finalize*/ + #endif + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) + 0, /*tp_vectorcall*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 + 0, /*tp_pypy_flags*/ + #endif +}; +static struct __pyx_vtabstruct_14_pydevd_bundle_13pydevd_cython_PyDBFrame __pyx_vtable_14_pydevd_bundle_13pydevd_cython_PyDBFrame; + +static PyObject *__pyx_tp_new_14_pydevd_bundle_13pydevd_cython_PyDBFrame(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { + struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *p; + PyObject *o; + if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) { + o = (*t->tp_alloc)(t, 0); + } else { + o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0); + } + if (unlikely(!o)) return 0; + p = ((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)o); + p->__pyx_vtab = __pyx_vtabptr_14_pydevd_bundle_13pydevd_cython_PyDBFrame; + p->_args = ((PyObject*)Py_None); Py_INCREF(Py_None); + p->exc_info = Py_None; Py_INCREF(Py_None); + return o; +} + +static void __pyx_tp_dealloc_14_pydevd_bundle_13pydevd_cython_PyDBFrame(PyObject *o) { + struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *p = (struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)o; + #if CYTHON_USE_TP_FINALIZE + if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) { + if (PyObject_CallFinalizerFromDealloc(o)) return; + } + #endif + PyObject_GC_UnTrack(o); + Py_CLEAR(p->_args); + Py_CLEAR(p->exc_info); + (*Py_TYPE(o)->tp_free)(o); +} + +static int __pyx_tp_traverse_14_pydevd_bundle_13pydevd_cython_PyDBFrame(PyObject *o, visitproc v, void *a) { + int e; + struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *p = (struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)o; + if (p->_args) { + e = (*v)(p->_args, a); if (e) return e; + } + if (p->exc_info) { + e = (*v)(p->exc_info, a); if (e) return e; + } + return 0; +} + +static int __pyx_tp_clear_14_pydevd_bundle_13pydevd_cython_PyDBFrame(PyObject *o) { + PyObject* tmp; + struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *p = (struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *)o; + tmp = ((PyObject*)p->_args); + p->_args = ((PyObject*)Py_None); Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->exc_info); + p->exc_info = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + return 0; +} + +static PyMethodDef __pyx_methods_14_pydevd_bundle_13pydevd_cython_PyDBFrame[] = { + {"set_suspend", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_3set_suspend, METH_VARARGS|METH_KEYWORDS, 0}, + {"do_wait_suspend", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_5do_wait_suspend, METH_VARARGS|METH_KEYWORDS, 0}, + {"trace_exception", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_7trace_exception, METH_VARARGS|METH_KEYWORDS, 0}, + {"handle_user_exception", (PyCFunction)__pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_9handle_user_exception, METH_O, 0}, + {"trace_dispatch", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_11trace_dispatch, METH_VARARGS|METH_KEYWORDS, 0}, + {"__reduce_cython__", (PyCFunction)__pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_13__reduce_cython__, METH_NOARGS, 0}, + {"__setstate_cython__", (PyCFunction)__pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_15__setstate_cython__, METH_O, 0}, + {0, 0, 0, 0} +}; + +static PyTypeObject __pyx_type_14_pydevd_bundle_13pydevd_cython_PyDBFrame = { + PyVarObject_HEAD_INIT(0, 0) + "_pydevd_bundle.pydevd_cython.PyDBFrame", /*tp_name*/ + sizeof(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + __pyx_tp_dealloc_14_pydevd_bundle_13pydevd_cython_PyDBFrame, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 + 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + #if PY_MAJOR_VERSION < 3 + 0, /*tp_compare*/ + #endif + #if PY_MAJOR_VERSION >= 3 + 0, /*tp_as_async*/ + #endif + 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|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ + 0, /*tp_doc*/ + __pyx_tp_traverse_14_pydevd_bundle_13pydevd_cython_PyDBFrame, /*tp_traverse*/ + __pyx_tp_clear_14_pydevd_bundle_13pydevd_cython_PyDBFrame, /*tp_clear*/ + 0, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + 0, /*tp_iter*/ + 0, /*tp_iternext*/ + __pyx_methods_14_pydevd_bundle_13pydevd_cython_PyDBFrame, /*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*/ + __pyx_pw_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_1__init__, /*tp_init*/ + 0, /*tp_alloc*/ + __pyx_tp_new_14_pydevd_bundle_13pydevd_cython_PyDBFrame, /*tp_new*/ + 0, /*tp_free*/ + 0, /*tp_is_gc*/ + 0, /*tp_bases*/ + 0, /*tp_mro*/ + 0, /*tp_cache*/ + 0, /*tp_subclasses*/ + 0, /*tp_weaklist*/ + 0, /*tp_del*/ + 0, /*tp_version_tag*/ + #if PY_VERSION_HEX >= 0x030400a1 + 0, /*tp_finalize*/ + #endif + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) + 0, /*tp_vectorcall*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 + 0, /*tp_pypy_flags*/ + #endif +}; + +static PyObject *__pyx_tp_new_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { + struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper *p; + PyObject *o; + if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) { + o = (*t->tp_alloc)(t, 0); + } else { + o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0); + } + if (unlikely(!o)) return 0; + p = ((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper *)o); + p->method_object = Py_None; Py_INCREF(Py_None); + return o; +} + +static void __pyx_tp_dealloc_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper(PyObject *o) { + struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper *p = (struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper *)o; + #if CYTHON_USE_TP_FINALIZE + if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) { + if (PyObject_CallFinalizerFromDealloc(o)) return; + } + #endif + PyObject_GC_UnTrack(o); + Py_CLEAR(p->method_object); + (*Py_TYPE(o)->tp_free)(o); +} + +static int __pyx_tp_traverse_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper(PyObject *o, visitproc v, void *a) { + int e; + struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper *p = (struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper *)o; + if (p->method_object) { + e = (*v)(p->method_object, a); if (e) return e; + } + return 0; +} + +static int __pyx_tp_clear_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper(PyObject *o) { + PyObject* tmp; + struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper *p = (struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper *)o; + tmp = ((PyObject*)p->method_object); + p->method_object = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + return 0; +} + +static PyMethodDef __pyx_methods_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper[] = { + {"get_method_object", (PyCFunction)__pyx_pw_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper_5get_method_object, METH_NOARGS, 0}, + {"__reduce_cython__", (PyCFunction)__pyx_pw_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper_7__reduce_cython__, METH_NOARGS, 0}, + {"__setstate_cython__", (PyCFunction)__pyx_pw_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper_9__setstate_cython__, METH_O, 0}, + {0, 0, 0, 0} +}; + +static PyTypeObject __pyx_type_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper = { + PyVarObject_HEAD_INIT(0, 0) + "_pydevd_bundle.pydevd_cython.SafeCallWrapper", /*tp_name*/ + sizeof(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + __pyx_tp_dealloc_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 + 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + #if PY_MAJOR_VERSION < 3 + 0, /*tp_compare*/ + #endif + #if PY_MAJOR_VERSION >= 3 + 0, /*tp_as_async*/ + #endif + 0, /*tp_repr*/ + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash*/ + __pyx_pw_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper_3__call__, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ + 0, /*tp_doc*/ + __pyx_tp_traverse_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper, /*tp_traverse*/ + __pyx_tp_clear_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper, /*tp_clear*/ + 0, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + 0, /*tp_iter*/ + 0, /*tp_iternext*/ + __pyx_methods_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper, /*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*/ + __pyx_pw_14_pydevd_bundle_13pydevd_cython_15SafeCallWrapper_1__init__, /*tp_init*/ + 0, /*tp_alloc*/ + __pyx_tp_new_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper, /*tp_new*/ + 0, /*tp_free*/ + 0, /*tp_is_gc*/ + 0, /*tp_bases*/ + 0, /*tp_mro*/ + 0, /*tp_cache*/ + 0, /*tp_subclasses*/ + 0, /*tp_weaklist*/ + 0, /*tp_del*/ + 0, /*tp_version_tag*/ + #if PY_VERSION_HEX >= 0x030400a1 + 0, /*tp_finalize*/ + #endif + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) + 0, /*tp_vectorcall*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 + 0, /*tp_pypy_flags*/ + #endif +}; + +static PyObject *__pyx_tp_new_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { + struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions *p; + PyObject *o; + if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) { + o = (*t->tp_alloc)(t, 0); + } else { + o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0); + } + if (unlikely(!o)) return 0; + p = ((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions *)o); + p->_args = ((PyObject*)Py_None); Py_INCREF(Py_None); + return o; +} + +static void __pyx_tp_dealloc_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions(PyObject *o) { + struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions *p = (struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions *)o; + #if CYTHON_USE_TP_FINALIZE + if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) { + if (PyObject_CallFinalizerFromDealloc(o)) return; + } + #endif + PyObject_GC_UnTrack(o); + Py_CLEAR(p->_args); + (*Py_TYPE(o)->tp_free)(o); +} + +static int __pyx_tp_traverse_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions(PyObject *o, visitproc v, void *a) { + int e; + struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions *p = (struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions *)o; + if (p->_args) { + e = (*v)(p->_args, a); if (e) return e; + } + return 0; +} + +static int __pyx_tp_clear_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions(PyObject *o) { + PyObject* tmp; + struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions *p = (struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions *)o; + tmp = ((PyObject*)p->_args); + p->_args = ((PyObject*)Py_None); Py_INCREF(Py_None); + Py_XDECREF(tmp); + return 0; +} + +static PyObject *__pyx_getprop_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions__args(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions_5_args_1__get__(o); +} + +static int __pyx_setprop_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions__args(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions_5_args_3__set__(o, v); + } + else { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions_5_args_5__del__(o); + } +} + +static PyMethodDef __pyx_methods_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions[] = { + {"trace_unhandled_exceptions", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions_3trace_unhandled_exceptions, METH_VARARGS|METH_KEYWORDS, 0}, + {"get_trace_dispatch_func", (PyCFunction)__pyx_pw_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions_5get_trace_dispatch_func, METH_NOARGS, 0}, + {"__reduce_cython__", (PyCFunction)__pyx_pw_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions_7__reduce_cython__, METH_NOARGS, 0}, + {"__setstate_cython__", (PyCFunction)__pyx_pw_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions_9__setstate_cython__, METH_O, 0}, + {0, 0, 0, 0} +}; + +static struct PyGetSetDef __pyx_getsets_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions[] = { + {(char *)"_args", __pyx_getprop_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions__args, __pyx_setprop_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions__args, (char *)0, 0}, + {0, 0, 0, 0, 0} +}; + +static PyTypeObject __pyx_type_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions = { + PyVarObject_HEAD_INIT(0, 0) + "_pydevd_bundle.pydevd_cython.TopLevelThreadTracerOnlyUnhandledExceptions", /*tp_name*/ + sizeof(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + __pyx_tp_dealloc_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 + 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + #if PY_MAJOR_VERSION < 3 + 0, /*tp_compare*/ + #endif + #if PY_MAJOR_VERSION >= 3 + 0, /*tp_as_async*/ + #endif + 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|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ + 0, /*tp_doc*/ + __pyx_tp_traverse_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions, /*tp_traverse*/ + __pyx_tp_clear_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions, /*tp_clear*/ + 0, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + 0, /*tp_iter*/ + 0, /*tp_iternext*/ + __pyx_methods_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions, /*tp_methods*/ + 0, /*tp_members*/ + __pyx_getsets_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions, /*tp_getset*/ + 0, /*tp_base*/ + 0, /*tp_dict*/ + 0, /*tp_descr_get*/ + 0, /*tp_descr_set*/ + 0, /*tp_dictoffset*/ + __pyx_pw_14_pydevd_bundle_13pydevd_cython_43TopLevelThreadTracerOnlyUnhandledExceptions_1__init__, /*tp_init*/ + 0, /*tp_alloc*/ + __pyx_tp_new_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions, /*tp_new*/ + 0, /*tp_free*/ + 0, /*tp_is_gc*/ + 0, /*tp_bases*/ + 0, /*tp_mro*/ + 0, /*tp_cache*/ + 0, /*tp_subclasses*/ + 0, /*tp_weaklist*/ + 0, /*tp_del*/ + 0, /*tp_version_tag*/ + #if PY_VERSION_HEX >= 0x030400a1 + 0, /*tp_finalize*/ + #endif + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) + 0, /*tp_vectorcall*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 + 0, /*tp_pypy_flags*/ + #endif +}; + +static PyObject *__pyx_tp_new_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { + struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *p; + PyObject *o; + if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) { + o = (*t->tp_alloc)(t, 0); + } else { + o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0); + } + if (unlikely(!o)) return 0; + p = ((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *)o); + p->_frame_trace_dispatch = Py_None; Py_INCREF(Py_None); + p->_args = ((PyObject*)Py_None); Py_INCREF(Py_None); + p->try_except_infos = Py_None; Py_INCREF(Py_None); + p->_last_exc_arg = Py_None; Py_INCREF(Py_None); + p->_raise_lines = ((PyObject*)Py_None); Py_INCREF(Py_None); + return o; +} + +static void __pyx_tp_dealloc_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame(PyObject *o) { + struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *p = (struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *)o; + #if CYTHON_USE_TP_FINALIZE + if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) { + if (PyObject_CallFinalizerFromDealloc(o)) return; + } + #endif + PyObject_GC_UnTrack(o); + Py_CLEAR(p->_frame_trace_dispatch); + Py_CLEAR(p->_args); + Py_CLEAR(p->try_except_infos); + Py_CLEAR(p->_last_exc_arg); + Py_CLEAR(p->_raise_lines); + (*Py_TYPE(o)->tp_free)(o); +} + +static int __pyx_tp_traverse_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame(PyObject *o, visitproc v, void *a) { + int e; + struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *p = (struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *)o; + if (p->_frame_trace_dispatch) { + e = (*v)(p->_frame_trace_dispatch, a); if (e) return e; + } + if (p->_args) { + e = (*v)(p->_args, a); if (e) return e; + } + if (p->try_except_infos) { + e = (*v)(p->try_except_infos, a); if (e) return e; + } + if (p->_last_exc_arg) { + e = (*v)(p->_last_exc_arg, a); if (e) return e; + } + if (p->_raise_lines) { + e = (*v)(p->_raise_lines, a); if (e) return e; + } + return 0; +} + +static int __pyx_tp_clear_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame(PyObject *o) { + PyObject* tmp; + struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *p = (struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame *)o; + tmp = ((PyObject*)p->_frame_trace_dispatch); + p->_frame_trace_dispatch = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->_args); + p->_args = ((PyObject*)Py_None); Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->try_except_infos); + p->try_except_infos = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->_last_exc_arg); + p->_last_exc_arg = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->_raise_lines); + p->_raise_lines = ((PyObject*)Py_None); Py_INCREF(Py_None); + Py_XDECREF(tmp); + return 0; +} + +static PyObject *__pyx_getprop_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame__frame_trace_dispatch(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_21_frame_trace_dispatch_1__get__(o); +} + +static int __pyx_setprop_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame__frame_trace_dispatch(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_21_frame_trace_dispatch_3__set__(o, v); + } + else { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_21_frame_trace_dispatch_5__del__(o); + } +} + +static PyObject *__pyx_getprop_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame__args(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_5_args_1__get__(o); +} + +static int __pyx_setprop_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame__args(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_5_args_3__set__(o, v); + } + else { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_5_args_5__del__(o); + } +} + +static PyObject *__pyx_getprop_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_try_except_infos(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_16try_except_infos_1__get__(o); +} + +static int __pyx_setprop_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_try_except_infos(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_16try_except_infos_3__set__(o, v); + } + else { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_16try_except_infos_5__del__(o); + } +} + +static PyObject *__pyx_getprop_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame__last_exc_arg(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_13_last_exc_arg_1__get__(o); +} + +static int __pyx_setprop_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame__last_exc_arg(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_13_last_exc_arg_3__set__(o, v); + } + else { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_13_last_exc_arg_5__del__(o); + } +} + +static PyObject *__pyx_getprop_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame__raise_lines(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_12_raise_lines_1__get__(o); +} + +static int __pyx_setprop_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame__raise_lines(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_12_raise_lines_3__set__(o, v); + } + else { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_12_raise_lines_5__del__(o); + } +} + +static PyObject *__pyx_getprop_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame__last_raise_line(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_16_last_raise_line_1__get__(o); +} + +static int __pyx_setprop_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame__last_raise_line(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_16_last_raise_line_3__set__(o, v); + } + else { + PyErr_SetString(PyExc_NotImplementedError, "__del__"); + return -1; + } +} + +static PyMethodDef __pyx_methods_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame[] = { + {"trace_dispatch_and_unhandled_exceptions", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_3trace_dispatch_and_unhandled_exceptions, METH_VARARGS|METH_KEYWORDS, 0}, + {"get_trace_dispatch_func", (PyCFunction)__pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_5get_trace_dispatch_func, METH_NOARGS, 0}, + {"__reduce_cython__", (PyCFunction)__pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_7__reduce_cython__, METH_NOARGS, 0}, + {"__setstate_cython__", (PyCFunction)__pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_9__setstate_cython__, METH_O, 0}, + {0, 0, 0, 0} +}; + +static struct PyGetSetDef __pyx_getsets_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame[] = { + {(char *)"_frame_trace_dispatch", __pyx_getprop_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame__frame_trace_dispatch, __pyx_setprop_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame__frame_trace_dispatch, (char *)0, 0}, + {(char *)"_args", __pyx_getprop_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame__args, __pyx_setprop_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame__args, (char *)0, 0}, + {(char *)"try_except_infos", __pyx_getprop_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_try_except_infos, __pyx_setprop_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_try_except_infos, (char *)0, 0}, + {(char *)"_last_exc_arg", __pyx_getprop_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame__last_exc_arg, __pyx_setprop_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame__last_exc_arg, (char *)0, 0}, + {(char *)"_raise_lines", __pyx_getprop_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame__raise_lines, __pyx_setprop_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame__raise_lines, (char *)0, 0}, + {(char *)"_last_raise_line", __pyx_getprop_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame__last_raise_line, __pyx_setprop_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame__last_raise_line, (char *)0, 0}, + {0, 0, 0, 0, 0} +}; + +static PyTypeObject __pyx_type_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame = { + PyVarObject_HEAD_INIT(0, 0) + "_pydevd_bundle.pydevd_cython.TopLevelThreadTracerNoBackFrame", /*tp_name*/ + sizeof(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + __pyx_tp_dealloc_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 + 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + #if PY_MAJOR_VERSION < 3 + 0, /*tp_compare*/ + #endif + #if PY_MAJOR_VERSION >= 3 + 0, /*tp_as_async*/ + #endif + 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|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ + 0, /*tp_doc*/ + __pyx_tp_traverse_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame, /*tp_traverse*/ + __pyx_tp_clear_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame, /*tp_clear*/ + 0, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + 0, /*tp_iter*/ + 0, /*tp_iternext*/ + __pyx_methods_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame, /*tp_methods*/ + 0, /*tp_members*/ + __pyx_getsets_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame, /*tp_getset*/ + 0, /*tp_base*/ + 0, /*tp_dict*/ + 0, /*tp_descr_get*/ + 0, /*tp_descr_set*/ + 0, /*tp_dictoffset*/ + __pyx_pw_14_pydevd_bundle_13pydevd_cython_31TopLevelThreadTracerNoBackFrame_1__init__, /*tp_init*/ + 0, /*tp_alloc*/ + __pyx_tp_new_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame, /*tp_new*/ + 0, /*tp_free*/ + 0, /*tp_is_gc*/ + 0, /*tp_bases*/ + 0, /*tp_mro*/ + 0, /*tp_cache*/ + 0, /*tp_subclasses*/ + 0, /*tp_weaklist*/ + 0, /*tp_del*/ + 0, /*tp_version_tag*/ + #if PY_VERSION_HEX >= 0x030400a1 + 0, /*tp_finalize*/ + #endif + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) + 0, /*tp_vectorcall*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 + 0, /*tp_pypy_flags*/ + #endif +}; + +static PyObject *__pyx_tp_new_14_pydevd_bundle_13pydevd_cython_ThreadTracer(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { + struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_ThreadTracer *p; + PyObject *o; + if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) { + o = (*t->tp_alloc)(t, 0); + } else { + o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0); + } + if (unlikely(!o)) return 0; + p = ((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_ThreadTracer *)o); + p->_args = ((PyObject*)Py_None); Py_INCREF(Py_None); + return o; +} + +static void __pyx_tp_dealloc_14_pydevd_bundle_13pydevd_cython_ThreadTracer(PyObject *o) { + struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_ThreadTracer *p = (struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_ThreadTracer *)o; + #if CYTHON_USE_TP_FINALIZE + if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) { + if (PyObject_CallFinalizerFromDealloc(o)) return; + } + #endif + PyObject_GC_UnTrack(o); + Py_CLEAR(p->_args); + (*Py_TYPE(o)->tp_free)(o); +} + +static int __pyx_tp_traverse_14_pydevd_bundle_13pydevd_cython_ThreadTracer(PyObject *o, visitproc v, void *a) { + int e; + struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_ThreadTracer *p = (struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_ThreadTracer *)o; + if (p->_args) { + e = (*v)(p->_args, a); if (e) return e; + } + return 0; +} + +static int __pyx_tp_clear_14_pydevd_bundle_13pydevd_cython_ThreadTracer(PyObject *o) { + PyObject* tmp; + struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_ThreadTracer *p = (struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_ThreadTracer *)o; + tmp = ((PyObject*)p->_args); + p->_args = ((PyObject*)Py_None); Py_INCREF(Py_None); + Py_XDECREF(tmp); + return 0; +} + +static PyObject *__pyx_getprop_14_pydevd_bundle_13pydevd_cython_12ThreadTracer__args(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_5_args_1__get__(o); +} + +static int __pyx_setprop_14_pydevd_bundle_13pydevd_cython_12ThreadTracer__args(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_5_args_3__set__(o, v); + } + else { + return __pyx_pw_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_5_args_5__del__(o); + } +} + +static PyMethodDef __pyx_methods_14_pydevd_bundle_13pydevd_cython_ThreadTracer[] = { + {"__reduce_cython__", (PyCFunction)__pyx_pw_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_5__reduce_cython__, METH_NOARGS, 0}, + {"__setstate_cython__", (PyCFunction)__pyx_pw_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_7__setstate_cython__, METH_O, 0}, + {0, 0, 0, 0} +}; + +static struct PyGetSetDef __pyx_getsets_14_pydevd_bundle_13pydevd_cython_ThreadTracer[] = { + {(char *)"_args", __pyx_getprop_14_pydevd_bundle_13pydevd_cython_12ThreadTracer__args, __pyx_setprop_14_pydevd_bundle_13pydevd_cython_12ThreadTracer__args, (char *)0, 0}, + {0, 0, 0, 0, 0} +}; + +static PyTypeObject __pyx_type_14_pydevd_bundle_13pydevd_cython_ThreadTracer = { + PyVarObject_HEAD_INIT(0, 0) + "_pydevd_bundle.pydevd_cython.ThreadTracer", /*tp_name*/ + sizeof(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_ThreadTracer), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + __pyx_tp_dealloc_14_pydevd_bundle_13pydevd_cython_ThreadTracer, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 + 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + #if PY_MAJOR_VERSION < 3 + 0, /*tp_compare*/ + #endif + #if PY_MAJOR_VERSION >= 3 + 0, /*tp_as_async*/ + #endif + 0, /*tp_repr*/ + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash*/ + __pyx_pw_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_3__call__, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ + 0, /*tp_doc*/ + __pyx_tp_traverse_14_pydevd_bundle_13pydevd_cython_ThreadTracer, /*tp_traverse*/ + __pyx_tp_clear_14_pydevd_bundle_13pydevd_cython_ThreadTracer, /*tp_clear*/ + 0, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + 0, /*tp_iter*/ + 0, /*tp_iternext*/ + __pyx_methods_14_pydevd_bundle_13pydevd_cython_ThreadTracer, /*tp_methods*/ + 0, /*tp_members*/ + __pyx_getsets_14_pydevd_bundle_13pydevd_cython_ThreadTracer, /*tp_getset*/ + 0, /*tp_base*/ + 0, /*tp_dict*/ + 0, /*tp_descr_get*/ + 0, /*tp_descr_set*/ + 0, /*tp_dictoffset*/ + __pyx_pw_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_1__init__, /*tp_init*/ + 0, /*tp_alloc*/ + __pyx_tp_new_14_pydevd_bundle_13pydevd_cython_ThreadTracer, /*tp_new*/ + 0, /*tp_free*/ + 0, /*tp_is_gc*/ + 0, /*tp_bases*/ + 0, /*tp_mro*/ + 0, /*tp_cache*/ + 0, /*tp_subclasses*/ + 0, /*tp_weaklist*/ + 0, /*tp_del*/ + 0, /*tp_version_tag*/ + #if PY_VERSION_HEX >= 0x030400a1 + 0, /*tp_finalize*/ + #endif + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) + 0, /*tp_vectorcall*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 + 0, /*tp_pypy_flags*/ + #endif +}; + +static PyMethodDef __pyx_methods[] = { + {0, 0, 0, 0} +}; + +#if PY_MAJOR_VERSION >= 3 +#if CYTHON_PEP489_MULTI_PHASE_INIT +static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/ +static int __pyx_pymod_exec_pydevd_cython(PyObject* module); /*proto*/ +static PyModuleDef_Slot __pyx_moduledef_slots[] = { + {Py_mod_create, (void*)__pyx_pymod_create}, + {Py_mod_exec, (void*)__pyx_pymod_exec_pydevd_cython}, + {0, NULL} +}; +#endif + +static struct PyModuleDef __pyx_moduledef = { + PyModuleDef_HEAD_INIT, + "pydevd_cython", + 0, /* m_doc */ + #if CYTHON_PEP489_MULTI_PHASE_INIT + 0, /* m_size */ + #else + -1, /* m_size */ + #endif + __pyx_methods /* m_methods */, + #if CYTHON_PEP489_MULTI_PHASE_INIT + __pyx_moduledef_slots, /* m_slots */ + #else + NULL, /* m_reload */ + #endif + NULL, /* m_traverse */ + NULL, /* m_clear */ + NULL /* m_free */ +}; +#endif +#ifndef CYTHON_SMALL_CODE +#if defined(__clang__) + #define CYTHON_SMALL_CODE +#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) + #define CYTHON_SMALL_CODE __attribute__((cold)) +#else + #define CYTHON_SMALL_CODE +#endif +#endif + +static __Pyx_StringTabEntry __pyx_string_tab[] = { + {&__pyx_kp_s_, __pyx_k_, sizeof(__pyx_k_), 0, 0, 1, 0}, + {&__pyx_kp_s_1, __pyx_k_1, sizeof(__pyx_k_1), 0, 0, 1, 0}, + {&__pyx_n_s_ALL, __pyx_k_ALL, sizeof(__pyx_k_ALL), 0, 0, 1, 1}, + {&__pyx_n_s_AttributeError, __pyx_k_AttributeError, sizeof(__pyx_k_AttributeError), 0, 0, 1, 1}, + {&__pyx_n_s_CMD_SET_FUNCTION_BREAK, __pyx_k_CMD_SET_FUNCTION_BREAK, sizeof(__pyx_k_CMD_SET_FUNCTION_BREAK), 0, 0, 1, 1}, + {&__pyx_n_s_DEBUG_START, __pyx_k_DEBUG_START, sizeof(__pyx_k_DEBUG_START), 0, 0, 1, 1}, + {&__pyx_n_s_DEBUG_START_PY3K, __pyx_k_DEBUG_START_PY3K, sizeof(__pyx_k_DEBUG_START_PY3K), 0, 0, 1, 1}, + {&__pyx_n_s_EXCEPTION_TYPE_HANDLED, __pyx_k_EXCEPTION_TYPE_HANDLED, sizeof(__pyx_k_EXCEPTION_TYPE_HANDLED), 0, 0, 1, 1}, + {&__pyx_n_s_EXCEPTION_TYPE_USER_UNHANDLED, __pyx_k_EXCEPTION_TYPE_USER_UNHANDLED, sizeof(__pyx_k_EXCEPTION_TYPE_USER_UNHANDLED), 0, 0, 1, 1}, + {&__pyx_kp_s_Error_in_linecache_checkcache_r, __pyx_k_Error_in_linecache_checkcache_r, sizeof(__pyx_k_Error_in_linecache_checkcache_r), 0, 0, 1, 0}, + {&__pyx_kp_s_Error_in_linecache_getline_r_s_f, __pyx_k_Error_in_linecache_getline_r_s_f, sizeof(__pyx_k_Error_in_linecache_getline_r_s_f), 0, 0, 1, 0}, + {&__pyx_n_s_ForkSafeLock, __pyx_k_ForkSafeLock, sizeof(__pyx_k_ForkSafeLock), 0, 0, 1, 1}, + {&__pyx_n_s_GeneratorExit, __pyx_k_GeneratorExit, sizeof(__pyx_k_GeneratorExit), 0, 0, 1, 1}, + {&__pyx_n_s_IGNORE_EXCEPTION_TAG, __pyx_k_IGNORE_EXCEPTION_TAG, sizeof(__pyx_k_IGNORE_EXCEPTION_TAG), 0, 0, 1, 1}, + {&__pyx_kp_s_IgnoreException, __pyx_k_IgnoreException, sizeof(__pyx_k_IgnoreException), 0, 0, 1, 0}, + {&__pyx_kp_s_Ignore_exception_s_in_library_s, __pyx_k_Ignore_exception_s_in_library_s, sizeof(__pyx_k_Ignore_exception_s_in_library_s), 0, 0, 1, 0}, + {&__pyx_n_s_ImportError, __pyx_k_ImportError, sizeof(__pyx_k_ImportError), 0, 0, 1, 1}, + {&__pyx_kp_s_Incompatible_checksums_0x_x_vs_0, __pyx_k_Incompatible_checksums_0x_x_vs_0, sizeof(__pyx_k_Incompatible_checksums_0x_x_vs_0), 0, 0, 1, 0}, + {&__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_2, __pyx_k_Incompatible_checksums_0x_x_vs_0_2, sizeof(__pyx_k_Incompatible_checksums_0x_x_vs_0_2), 0, 0, 1, 0}, + {&__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_3, __pyx_k_Incompatible_checksums_0x_x_vs_0_3, sizeof(__pyx_k_Incompatible_checksums_0x_x_vs_0_3), 0, 0, 1, 0}, + {&__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_4, __pyx_k_Incompatible_checksums_0x_x_vs_0_4, sizeof(__pyx_k_Incompatible_checksums_0x_x_vs_0_4), 0, 0, 1, 0}, + {&__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_5, __pyx_k_Incompatible_checksums_0x_x_vs_0_5, sizeof(__pyx_k_Incompatible_checksums_0x_x_vs_0_5), 0, 0, 1, 0}, + {&__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_6, __pyx_k_Incompatible_checksums_0x_x_vs_0_6, sizeof(__pyx_k_Incompatible_checksums_0x_x_vs_0_6), 0, 0, 1, 0}, + {&__pyx_n_s_KeyboardInterrupt, __pyx_k_KeyboardInterrupt, sizeof(__pyx_k_KeyboardInterrupt), 0, 0, 1, 1}, + {&__pyx_n_s_NORM_PATHS_AND_BASE_CONTAINER, __pyx_k_NORM_PATHS_AND_BASE_CONTAINER, sizeof(__pyx_k_NORM_PATHS_AND_BASE_CONTAINER), 0, 0, 1, 1}, + {&__pyx_n_s_NO_FTRACE, __pyx_k_NO_FTRACE, sizeof(__pyx_k_NO_FTRACE), 0, 0, 1, 1}, + {&__pyx_n_s_NameError, __pyx_k_NameError, sizeof(__pyx_k_NameError), 0, 0, 1, 1}, + {&__pyx_n_s_None, __pyx_k_None, sizeof(__pyx_k_None), 0, 0, 1, 1}, + {&__pyx_n_s_PYDEVD_IPYTHON_CONTEXT, __pyx_k_PYDEVD_IPYTHON_CONTEXT, sizeof(__pyx_k_PYDEVD_IPYTHON_CONTEXT), 0, 0, 1, 1}, + {&__pyx_n_s_PYDEV_FILE, __pyx_k_PYDEV_FILE, sizeof(__pyx_k_PYDEV_FILE), 0, 0, 1, 1}, + {&__pyx_n_s_PYTHON_SUSPEND, __pyx_k_PYTHON_SUSPEND, sizeof(__pyx_k_PYTHON_SUSPEND), 0, 0, 1, 1}, + {&__pyx_n_s_PickleError, __pyx_k_PickleError, sizeof(__pyx_k_PickleError), 0, 0, 1, 1}, + {&__pyx_n_s_PyDBAdditionalThreadInfo, __pyx_k_PyDBAdditionalThreadInfo, sizeof(__pyx_k_PyDBAdditionalThreadInfo), 0, 0, 1, 1}, + {&__pyx_n_s_PyDBFrame, __pyx_k_PyDBFrame, sizeof(__pyx_k_PyDBFrame), 0, 0, 1, 1}, + {&__pyx_n_s_RETURN_VALUES_DICT, __pyx_k_RETURN_VALUES_DICT, sizeof(__pyx_k_RETURN_VALUES_DICT), 0, 0, 1, 1}, + {&__pyx_n_s_STATE_RUN, __pyx_k_STATE_RUN, sizeof(__pyx_k_STATE_RUN), 0, 0, 1, 1}, + {&__pyx_n_s_SUPPORT_GEVENT, __pyx_k_SUPPORT_GEVENT, sizeof(__pyx_k_SUPPORT_GEVENT), 0, 0, 1, 1}, + {&__pyx_n_s_SafeCallWrapper, __pyx_k_SafeCallWrapper, sizeof(__pyx_k_SafeCallWrapper), 0, 0, 1, 1}, + {&__pyx_kp_s_State_s_Stop_s_Cmd_s_Kill_s, __pyx_k_State_s_Stop_s_Cmd_s_Kill_s, sizeof(__pyx_k_State_s_Stop_s_Cmd_s_Kill_s), 0, 0, 1, 0}, + {&__pyx_n_s_StopAsyncIteration, __pyx_k_StopAsyncIteration, sizeof(__pyx_k_StopAsyncIteration), 0, 0, 1, 1}, + {&__pyx_n_s_StopIteration, __pyx_k_StopIteration, sizeof(__pyx_k_StopIteration), 0, 0, 1, 1}, + {&__pyx_kp_s_Stop_inside_ipython_call, __pyx_k_Stop_inside_ipython_call, sizeof(__pyx_k_Stop_inside_ipython_call), 0, 0, 1, 0}, + {&__pyx_n_s_SystemExit, __pyx_k_SystemExit, sizeof(__pyx_k_SystemExit), 0, 0, 1, 1}, + {&__pyx_n_s_TRACE_PROPERTY, __pyx_k_TRACE_PROPERTY, sizeof(__pyx_k_TRACE_PROPERTY), 0, 0, 1, 1}, + {&__pyx_n_s_Thread, __pyx_k_Thread, sizeof(__pyx_k_Thread), 0, 0, 1, 1}, + {&__pyx_n_s_ThreadTracer, __pyx_k_ThreadTracer, sizeof(__pyx_k_ThreadTracer), 0, 0, 1, 1}, + {&__pyx_n_s_TopLevelThreadTracerNoBackFrame, __pyx_k_TopLevelThreadTracerNoBackFrame, sizeof(__pyx_k_TopLevelThreadTracerNoBackFrame), 0, 0, 1, 1}, + {&__pyx_n_s_TopLevelThreadTracerOnlyUnhandle, __pyx_k_TopLevelThreadTracerOnlyUnhandle, sizeof(__pyx_k_TopLevelThreadTracerOnlyUnhandle), 0, 0, 1, 1}, + {&__pyx_n_s_TryExceptContainerObj, __pyx_k_TryExceptContainerObj, sizeof(__pyx_k_TryExceptContainerObj), 0, 0, 1, 1}, + {&__pyx_n_s_USE_CUSTOM_SYS_CURRENT_FRAMES_MA, __pyx_k_USE_CUSTOM_SYS_CURRENT_FRAMES_MA, sizeof(__pyx_k_USE_CUSTOM_SYS_CURRENT_FRAMES_MA), 0, 0, 1, 1}, + {&__pyx_kp_s_Unable_to_get_topmost_frame_for, __pyx_k_Unable_to_get_topmost_frame_for, sizeof(__pyx_k_Unable_to_get_topmost_frame_for), 0, 0, 1, 0}, + {&__pyx_kp_s_Using_Cython_speedups, __pyx_k_Using_Cython_speedups, sizeof(__pyx_k_Using_Cython_speedups), 0, 0, 1, 0}, + {&__pyx_kp_s__3, __pyx_k__3, sizeof(__pyx_k__3), 0, 0, 1, 0}, + {&__pyx_kp_s__5, __pyx_k__5, sizeof(__pyx_k__5), 0, 0, 1, 0}, + {&__pyx_kp_s__6, __pyx_k__6, sizeof(__pyx_k__6), 0, 0, 1, 0}, + {&__pyx_kp_s__7, __pyx_k__7, sizeof(__pyx_k__7), 0, 0, 1, 0}, + {&__pyx_n_s_add, __pyx_k_add, sizeof(__pyx_k_add), 0, 0, 1, 1}, + {&__pyx_n_s_add_command, __pyx_k_add_command, sizeof(__pyx_k_add_command), 0, 0, 1, 1}, + {&__pyx_n_s_add_exception_to_frame, __pyx_k_add_exception_to_frame, sizeof(__pyx_k_add_exception_to_frame), 0, 0, 1, 1}, + {&__pyx_n_s_additional_info, __pyx_k_additional_info, sizeof(__pyx_k_additional_info), 0, 0, 1, 1}, + {&__pyx_n_s_append, __pyx_k_append, sizeof(__pyx_k_append), 0, 0, 1, 1}, + {&__pyx_n_s_apply_files_filter, __pyx_k_apply_files_filter, sizeof(__pyx_k_apply_files_filter), 0, 0, 1, 1}, + {&__pyx_n_s_apply_to_settrace, __pyx_k_apply_to_settrace, sizeof(__pyx_k_apply_to_settrace), 0, 0, 1, 1}, + {&__pyx_n_s_arg, __pyx_k_arg, sizeof(__pyx_k_arg), 0, 0, 1, 1}, + {&__pyx_n_s_args, __pyx_k_args, sizeof(__pyx_k_args), 0, 0, 1, 1}, + {&__pyx_n_s_args_2, __pyx_k_args_2, sizeof(__pyx_k_args_2), 0, 0, 1, 1}, + {&__pyx_n_s_basename, __pyx_k_basename, sizeof(__pyx_k_basename), 0, 0, 1, 1}, + {&__pyx_n_s_bootstrap, __pyx_k_bootstrap, sizeof(__pyx_k_bootstrap), 0, 0, 1, 1}, + {&__pyx_n_s_bootstrap_2, __pyx_k_bootstrap_2, sizeof(__pyx_k_bootstrap_2), 0, 0, 1, 1}, + {&__pyx_n_s_bootstrap_inner, __pyx_k_bootstrap_inner, sizeof(__pyx_k_bootstrap_inner), 0, 0, 1, 1}, + {&__pyx_n_s_bootstrap_inner_2, __pyx_k_bootstrap_inner_2, sizeof(__pyx_k_bootstrap_inner_2), 0, 0, 1, 1}, + {&__pyx_n_s_break_on_caught_exceptions, __pyx_k_break_on_caught_exceptions, sizeof(__pyx_k_break_on_caught_exceptions), 0, 0, 1, 1}, + {&__pyx_n_s_break_on_user_uncaught_exception, __pyx_k_break_on_user_uncaught_exception, sizeof(__pyx_k_break_on_user_uncaught_exception), 0, 0, 1, 1}, + {&__pyx_n_s_breakpoints, __pyx_k_breakpoints, sizeof(__pyx_k_breakpoints), 0, 0, 1, 1}, + {&__pyx_n_s_call, __pyx_k_call, sizeof(__pyx_k_call), 0, 0, 1, 1}, + {&__pyx_n_s_call_2, __pyx_k_call_2, sizeof(__pyx_k_call_2), 0, 0, 1, 1}, + {&__pyx_n_s_can_skip, __pyx_k_can_skip, sizeof(__pyx_k_can_skip), 0, 0, 1, 1}, + {&__pyx_kp_s_cell, __pyx_k_cell, sizeof(__pyx_k_cell), 0, 0, 1, 0}, + {&__pyx_n_s_checkcache, __pyx_k_checkcache, sizeof(__pyx_k_checkcache), 0, 0, 1, 1}, + {&__pyx_n_s_children_variants, __pyx_k_children_variants, sizeof(__pyx_k_children_variants), 0, 0, 1, 1}, + {&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1}, + {&__pyx_n_s_cmd_factory, __pyx_k_cmd_factory, sizeof(__pyx_k_cmd_factory), 0, 0, 1, 1}, + {&__pyx_n_s_cmd_step_into, __pyx_k_cmd_step_into, sizeof(__pyx_k_cmd_step_into), 0, 0, 1, 1}, + {&__pyx_n_s_cmd_step_over, __pyx_k_cmd_step_over, sizeof(__pyx_k_cmd_step_over), 0, 0, 1, 1}, + {&__pyx_n_s_co_filename, __pyx_k_co_filename, sizeof(__pyx_k_co_filename), 0, 0, 1, 1}, + {&__pyx_n_s_co_firstlineno, __pyx_k_co_firstlineno, sizeof(__pyx_k_co_firstlineno), 0, 0, 1, 1}, + {&__pyx_n_s_co_flags, __pyx_k_co_flags, sizeof(__pyx_k_co_flags), 0, 0, 1, 1}, + {&__pyx_n_s_co_name, __pyx_k_co_name, sizeof(__pyx_k_co_name), 0, 0, 1, 1}, + {&__pyx_n_s_collect_return_info, __pyx_k_collect_return_info, sizeof(__pyx_k_collect_return_info), 0, 0, 1, 1}, + {&__pyx_n_s_collect_try_except_info, __pyx_k_collect_try_except_info, sizeof(__pyx_k_collect_try_except_info), 0, 0, 1, 1}, + {&__pyx_n_s_compile, __pyx_k_compile, sizeof(__pyx_k_compile), 0, 0, 1, 1}, + {&__pyx_n_s_condition, __pyx_k_condition, sizeof(__pyx_k_condition), 0, 0, 1, 1}, + {&__pyx_n_s_constant_to_str, __pyx_k_constant_to_str, sizeof(__pyx_k_constant_to_str), 0, 0, 1, 1}, + {&__pyx_n_s_constructed_tid_to_last_frame, __pyx_k_constructed_tid_to_last_frame, sizeof(__pyx_k_constructed_tid_to_last_frame), 0, 0, 1, 1}, + {&__pyx_n_s_current_frames, __pyx_k_current_frames, sizeof(__pyx_k_current_frames), 0, 0, 1, 1}, + {&__pyx_n_s_debug, __pyx_k_debug, sizeof(__pyx_k_debug), 0, 0, 1, 1}, + {&__pyx_n_s_dict, __pyx_k_dict, sizeof(__pyx_k_dict), 0, 0, 1, 1}, + {&__pyx_n_s_dis, __pyx_k_dis, sizeof(__pyx_k_dis), 0, 0, 1, 1}, + {&__pyx_n_s_disable_tracing, __pyx_k_disable_tracing, sizeof(__pyx_k_disable_tracing), 0, 0, 1, 1}, + {&__pyx_n_s_do_wait_suspend, __pyx_k_do_wait_suspend, sizeof(__pyx_k_do_wait_suspend), 0, 0, 1, 1}, + {&__pyx_n_s_enable_tracing, __pyx_k_enable_tracing, sizeof(__pyx_k_enable_tracing), 0, 0, 1, 1}, + {&__pyx_n_s_encode, __pyx_k_encode, sizeof(__pyx_k_encode), 0, 0, 1, 1}, + {&__pyx_n_s_endswith, __pyx_k_endswith, sizeof(__pyx_k_endswith), 0, 0, 1, 1}, + {&__pyx_n_s_enter, __pyx_k_enter, sizeof(__pyx_k_enter), 0, 0, 1, 1}, + {&__pyx_n_s_event, __pyx_k_event, sizeof(__pyx_k_event), 0, 0, 1, 1}, + {&__pyx_n_s_except_line, __pyx_k_except_line, sizeof(__pyx_k_except_line), 0, 0, 1, 1}, + {&__pyx_n_s_exception, __pyx_k_exception, sizeof(__pyx_k_exception), 0, 0, 1, 1}, + {&__pyx_n_s_exception_break, __pyx_k_exception_break, sizeof(__pyx_k_exception_break), 0, 0, 1, 1}, + {&__pyx_n_s_exception_type, __pyx_k_exception_type, sizeof(__pyx_k_exception_type), 0, 0, 1, 1}, + {&__pyx_n_s_exclude_exception_by_filter, __pyx_k_exclude_exception_by_filter, sizeof(__pyx_k_exclude_exception_by_filter), 0, 0, 1, 1}, + {&__pyx_n_s_exec, __pyx_k_exec, sizeof(__pyx_k_exec), 0, 0, 1, 1}, + {&__pyx_n_s_execfile, __pyx_k_execfile, sizeof(__pyx_k_execfile), 0, 0, 1, 1}, + {&__pyx_n_s_exit, __pyx_k_exit, sizeof(__pyx_k_exit), 0, 0, 1, 1}, + {&__pyx_n_s_expression, __pyx_k_expression, sizeof(__pyx_k_expression), 0, 0, 1, 1}, + {&__pyx_n_s_f_back, __pyx_k_f_back, sizeof(__pyx_k_f_back), 0, 0, 1, 1}, + {&__pyx_n_s_f_code, __pyx_k_f_code, sizeof(__pyx_k_f_code), 0, 0, 1, 1}, + {&__pyx_n_s_f_globals, __pyx_k_f_globals, sizeof(__pyx_k_f_globals), 0, 0, 1, 1}, + {&__pyx_n_s_f_lasti, __pyx_k_f_lasti, sizeof(__pyx_k_f_lasti), 0, 0, 1, 1}, + {&__pyx_n_s_f_lineno, __pyx_k_f_lineno, sizeof(__pyx_k_f_lineno), 0, 0, 1, 1}, + {&__pyx_n_s_f_locals, __pyx_k_f_locals, sizeof(__pyx_k_f_locals), 0, 0, 1, 1}, + {&__pyx_n_s_f_trace, __pyx_k_f_trace, sizeof(__pyx_k_f_trace), 0, 0, 1, 1}, + {&__pyx_n_s_f_unhandled, __pyx_k_f_unhandled, sizeof(__pyx_k_f_unhandled), 0, 0, 1, 1}, + {&__pyx_n_s_filename, __pyx_k_filename, sizeof(__pyx_k_filename), 0, 0, 1, 1}, + {&__pyx_n_s_filename_to_lines_where_exceptio, __pyx_k_filename_to_lines_where_exceptio, sizeof(__pyx_k_filename_to_lines_where_exceptio), 0, 0, 1, 1}, + {&__pyx_n_s_filename_to_stat_info, __pyx_k_filename_to_stat_info, sizeof(__pyx_k_filename_to_stat_info), 0, 0, 1, 1}, + {&__pyx_n_s_findlinestarts, __pyx_k_findlinestarts, sizeof(__pyx_k_findlinestarts), 0, 0, 1, 1}, + {&__pyx_n_s_fix_top_level_trace_and_get_trac, __pyx_k_fix_top_level_trace_and_get_trac, sizeof(__pyx_k_fix_top_level_trace_and_get_trac), 0, 0, 1, 1}, + {&__pyx_n_s_force_only_unhandled_tracer, __pyx_k_force_only_unhandled_tracer, sizeof(__pyx_k_force_only_unhandled_tracer), 0, 0, 1, 1}, + {&__pyx_n_s_frame, __pyx_k_frame, sizeof(__pyx_k_frame), 0, 0, 1, 1}, + {&__pyx_n_s_frame_trace_dispatch, __pyx_k_frame_trace_dispatch, sizeof(__pyx_k_frame_trace_dispatch), 0, 0, 1, 1}, + {&__pyx_n_s_func_name, __pyx_k_func_name, sizeof(__pyx_k_func_name), 0, 0, 1, 1}, + {&__pyx_n_s_function_breakpoint_name_to_brea, __pyx_k_function_breakpoint_name_to_brea, sizeof(__pyx_k_function_breakpoint_name_to_brea), 0, 0, 1, 1}, + {&__pyx_n_s_get, __pyx_k_get, sizeof(__pyx_k_get), 0, 0, 1, 1}, + {&__pyx_n_s_get_abs_path_real_path_and_base, __pyx_k_get_abs_path_real_path_and_base, sizeof(__pyx_k_get_abs_path_real_path_and_base), 0, 0, 1, 1}, + {&__pyx_n_s_get_breakpoint, __pyx_k_get_breakpoint, sizeof(__pyx_k_get_breakpoint), 0, 0, 1, 1}, + {&__pyx_n_s_get_clsname_for_code, __pyx_k_get_clsname_for_code, sizeof(__pyx_k_get_clsname_for_code), 0, 0, 1, 1}, + {&__pyx_n_s_get_current_thread_id, __pyx_k_get_current_thread_id, sizeof(__pyx_k_get_current_thread_id), 0, 0, 1, 1}, + {&__pyx_n_s_get_exception_breakpoint, __pyx_k_get_exception_breakpoint, sizeof(__pyx_k_get_exception_breakpoint), 0, 0, 1, 1}, + {&__pyx_n_s_get_file_type, __pyx_k_get_file_type, sizeof(__pyx_k_get_file_type), 0, 0, 1, 1}, + {&__pyx_n_s_get_smart_step_into_variant_from, __pyx_k_get_smart_step_into_variant_from, sizeof(__pyx_k_get_smart_step_into_variant_from), 0, 0, 1, 1}, + {&__pyx_n_s_get_trace_dispatch_func, __pyx_k_get_trace_dispatch_func, sizeof(__pyx_k_get_trace_dispatch_func), 0, 0, 1, 1}, + {&__pyx_n_s_getline, __pyx_k_getline, sizeof(__pyx_k_getline), 0, 0, 1, 1}, + {&__pyx_n_s_getstate, __pyx_k_getstate, sizeof(__pyx_k_getstate), 0, 0, 1, 1}, + {&__pyx_n_s_global_cache_frame_skips, __pyx_k_global_cache_frame_skips, sizeof(__pyx_k_global_cache_frame_skips), 0, 0, 1, 1}, + {&__pyx_n_s_global_cache_skips, __pyx_k_global_cache_skips, sizeof(__pyx_k_global_cache_skips), 0, 0, 1, 1}, + {&__pyx_n_s_global_notify_skipped_step_in_l, __pyx_k_global_notify_skipped_step_in_l, sizeof(__pyx_k_global_notify_skipped_step_in_l), 0, 0, 1, 1}, + {&__pyx_n_s_handle_breakpoint_condition, __pyx_k_handle_breakpoint_condition, sizeof(__pyx_k_handle_breakpoint_condition), 0, 0, 1, 1}, + {&__pyx_n_s_handle_breakpoint_expression, __pyx_k_handle_breakpoint_expression, sizeof(__pyx_k_handle_breakpoint_expression), 0, 0, 1, 1}, + {&__pyx_n_s_handle_user_exception, __pyx_k_handle_user_exception, sizeof(__pyx_k_handle_user_exception), 0, 0, 1, 1}, + {&__pyx_n_s_has_condition, __pyx_k_has_condition, sizeof(__pyx_k_has_condition), 0, 0, 1, 1}, + {&__pyx_n_s_has_plugin_exception_breaks, __pyx_k_has_plugin_exception_breaks, sizeof(__pyx_k_has_plugin_exception_breaks), 0, 0, 1, 1}, + {&__pyx_n_s_has_plugin_line_breaks, __pyx_k_has_plugin_line_breaks, sizeof(__pyx_k_has_plugin_line_breaks), 0, 0, 1, 1}, + {&__pyx_n_s_i, __pyx_k_i, sizeof(__pyx_k_i), 0, 0, 1, 1}, + {&__pyx_n_s_id, __pyx_k_id, sizeof(__pyx_k_id), 0, 0, 1, 1}, + {&__pyx_n_s_ident, __pyx_k_ident, sizeof(__pyx_k_ident), 0, 0, 1, 1}, + {&__pyx_n_s_ignore_exception_trace, __pyx_k_ignore_exception_trace, sizeof(__pyx_k_ignore_exception_trace), 0, 0, 1, 1}, + {&__pyx_n_s_ignore_exceptions_thrown_in_line, __pyx_k_ignore_exceptions_thrown_in_line, sizeof(__pyx_k_ignore_exceptions_thrown_in_line), 0, 0, 1, 1}, + {&__pyx_n_s_ignore_system_exit_code, __pyx_k_ignore_system_exit_code, sizeof(__pyx_k_ignore_system_exit_code), 0, 0, 1, 1}, + {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1}, + {&__pyx_n_s_in_project_scope, __pyx_k_in_project_scope, sizeof(__pyx_k_in_project_scope), 0, 0, 1, 1}, + {&__pyx_n_s_info, __pyx_k_info, sizeof(__pyx_k_info), 0, 0, 1, 1}, + {&__pyx_kp_s_invalid, __pyx_k_invalid, sizeof(__pyx_k_invalid), 0, 0, 1, 0}, + {&__pyx_n_s_is_files_filter_enabled, __pyx_k_is_files_filter_enabled, sizeof(__pyx_k_is_files_filter_enabled), 0, 0, 1, 1}, + {&__pyx_n_s_is_line_in_except_block, __pyx_k_is_line_in_except_block, sizeof(__pyx_k_is_line_in_except_block), 0, 0, 1, 1}, + {&__pyx_n_s_is_line_in_try_block, __pyx_k_is_line_in_try_block, sizeof(__pyx_k_is_line_in_try_block), 0, 0, 1, 1}, + {&__pyx_n_s_is_logpoint, __pyx_k_is_logpoint, sizeof(__pyx_k_is_logpoint), 0, 0, 1, 1}, + {&__pyx_n_s_is_thread_alive, __pyx_k_is_thread_alive, sizeof(__pyx_k_is_thread_alive), 0, 0, 1, 1}, + {&__pyx_n_s_j, __pyx_k_j, sizeof(__pyx_k_j), 0, 0, 1, 1}, + {&__pyx_n_s_just_raised, __pyx_k_just_raised, sizeof(__pyx_k_just_raised), 0, 0, 1, 1}, + {&__pyx_n_s_kwargs, __pyx_k_kwargs, sizeof(__pyx_k_kwargs), 0, 0, 1, 1}, + {&__pyx_kp_s_lambda, __pyx_k_lambda, sizeof(__pyx_k_lambda), 0, 0, 1, 0}, + {&__pyx_n_s_line, __pyx_k_line, sizeof(__pyx_k_line), 0, 0, 1, 1}, + {&__pyx_n_s_linecache, __pyx_k_linecache, sizeof(__pyx_k_linecache), 0, 0, 1, 1}, + {&__pyx_n_s_linesep, __pyx_k_linesep, sizeof(__pyx_k_linesep), 0, 0, 1, 1}, + {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1}, + {&__pyx_n_s_main_2, __pyx_k_main_2, sizeof(__pyx_k_main_2), 0, 0, 1, 1}, + {&__pyx_n_s_make_io_message, __pyx_k_make_io_message, sizeof(__pyx_k_make_io_message), 0, 0, 1, 1}, + {&__pyx_n_s_match, __pyx_k_match, sizeof(__pyx_k_match), 0, 0, 1, 1}, + {&__pyx_n_s_method_object, __pyx_k_method_object, sizeof(__pyx_k_method_object), 0, 0, 1, 1}, + {&__pyx_kp_s_module, __pyx_k_module, sizeof(__pyx_k_module), 0, 0, 1, 0}, + {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1}, + {&__pyx_n_s_name_2, __pyx_k_name_2, sizeof(__pyx_k_name_2), 0, 0, 1, 1}, + {&__pyx_n_s_new, __pyx_k_new, sizeof(__pyx_k_new), 0, 0, 1, 1}, + {&__pyx_n_s_notify_on_first_raise_only, __pyx_k_notify_on_first_raise_only, sizeof(__pyx_k_notify_on_first_raise_only), 0, 0, 1, 1}, + {&__pyx_n_s_notify_skipped_step_in_because_o, __pyx_k_notify_skipped_step_in_because_o, sizeof(__pyx_k_notify_skipped_step_in_because_o), 0, 0, 1, 1}, + {&__pyx_n_s_notify_thread_not_alive, __pyx_k_notify_thread_not_alive, sizeof(__pyx_k_notify_thread_not_alive), 0, 0, 1, 1}, + {&__pyx_n_s_original_call, __pyx_k_original_call, sizeof(__pyx_k_original_call), 0, 0, 1, 1}, + {&__pyx_n_s_original_step_cmd, __pyx_k_original_step_cmd, sizeof(__pyx_k_original_step_cmd), 0, 0, 1, 1}, + {&__pyx_n_s_os, __pyx_k_os, sizeof(__pyx_k_os), 0, 0, 1, 1}, + {&__pyx_n_s_os_path, __pyx_k_os_path, sizeof(__pyx_k_os_path), 0, 0, 1, 1}, + {&__pyx_n_s_path, __pyx_k_path, sizeof(__pyx_k_path), 0, 0, 1, 1}, + {&__pyx_n_s_pickle, __pyx_k_pickle, sizeof(__pyx_k_pickle), 0, 0, 1, 1}, + {&__pyx_n_s_plugin, __pyx_k_plugin, sizeof(__pyx_k_plugin), 0, 0, 1, 1}, + {&__pyx_n_s_pop, __pyx_k_pop, sizeof(__pyx_k_pop), 0, 0, 1, 1}, + {&__pyx_n_s_py_db, __pyx_k_py_db, sizeof(__pyx_k_py_db), 0, 0, 1, 1}, + {&__pyx_kp_s_pyc, __pyx_k_pyc, sizeof(__pyx_k_pyc), 0, 0, 1, 0}, + {&__pyx_n_s_pydb_disposed, __pyx_k_pydb_disposed, sizeof(__pyx_k_pydb_disposed), 0, 0, 1, 1}, + {&__pyx_n_s_pydev_bundle, __pyx_k_pydev_bundle, sizeof(__pyx_k_pydev_bundle), 0, 0, 1, 1}, + {&__pyx_n_s_pydev_bundle__pydev_saved_modul, __pyx_k_pydev_bundle__pydev_saved_modul, sizeof(__pyx_k_pydev_bundle__pydev_saved_modul), 0, 0, 1, 1}, + {&__pyx_n_s_pydev_bundle_pydev_is_thread_al, __pyx_k_pydev_bundle_pydev_is_thread_al, sizeof(__pyx_k_pydev_bundle_pydev_is_thread_al), 0, 0, 1, 1}, + {&__pyx_n_s_pydev_bundle_pydev_log, __pyx_k_pydev_bundle_pydev_log, sizeof(__pyx_k_pydev_bundle_pydev_log), 0, 0, 1, 1}, + {&__pyx_n_s_pydev_do_not_trace, __pyx_k_pydev_do_not_trace, sizeof(__pyx_k_pydev_do_not_trace), 0, 0, 1, 1}, + {&__pyx_kp_s_pydev_execfile_py, __pyx_k_pydev_execfile_py, sizeof(__pyx_k_pydev_execfile_py), 0, 0, 1, 0}, + {&__pyx_n_s_pydev_log, __pyx_k_pydev_log, sizeof(__pyx_k_pydev_log), 0, 0, 1, 1}, + {&__pyx_n_s_pydev_log_exception, __pyx_k_pydev_log_exception, sizeof(__pyx_k_pydev_log_exception), 0, 0, 1, 1}, + {&__pyx_n_s_pydev_monkey, __pyx_k_pydev_monkey, sizeof(__pyx_k_pydev_monkey), 0, 0, 1, 1}, + {&__pyx_n_s_pydevd, __pyx_k_pydevd, sizeof(__pyx_k_pydevd), 0, 0, 1, 1}, + {&__pyx_n_s_pydevd_bundle, __pyx_k_pydevd_bundle, sizeof(__pyx_k_pydevd_bundle), 0, 0, 1, 1}, + {&__pyx_n_s_pydevd_bundle_pydevd_bytecode_u, __pyx_k_pydevd_bundle_pydevd_bytecode_u, sizeof(__pyx_k_pydevd_bundle_pydevd_bytecode_u), 0, 0, 1, 1}, + {&__pyx_n_s_pydevd_bundle_pydevd_comm_const, __pyx_k_pydevd_bundle_pydevd_comm_const, sizeof(__pyx_k_pydevd_bundle_pydevd_comm_const), 0, 0, 1, 1}, + {&__pyx_n_s_pydevd_bundle_pydevd_constants, __pyx_k_pydevd_bundle_pydevd_constants, sizeof(__pyx_k_pydevd_bundle_pydevd_constants), 0, 0, 1, 1}, + {&__pyx_n_s_pydevd_bundle_pydevd_cython, __pyx_k_pydevd_bundle_pydevd_cython, sizeof(__pyx_k_pydevd_bundle_pydevd_cython), 0, 0, 1, 1}, + {&__pyx_kp_s_pydevd_bundle_pydevd_cython_pyx, __pyx_k_pydevd_bundle_pydevd_cython_pyx, sizeof(__pyx_k_pydevd_bundle_pydevd_cython_pyx), 0, 0, 1, 0}, + {&__pyx_n_s_pydevd_bundle_pydevd_frame_util, __pyx_k_pydevd_bundle_pydevd_frame_util, sizeof(__pyx_k_pydevd_bundle_pydevd_frame_util), 0, 0, 1, 1}, + {&__pyx_n_s_pydevd_bundle_pydevd_utils, __pyx_k_pydevd_bundle_pydevd_utils, sizeof(__pyx_k_pydevd_bundle_pydevd_utils), 0, 0, 1, 1}, + {&__pyx_n_s_pydevd_dont_trace, __pyx_k_pydevd_dont_trace, sizeof(__pyx_k_pydevd_dont_trace), 0, 0, 1, 1}, + {&__pyx_n_s_pydevd_file_utils, __pyx_k_pydevd_file_utils, sizeof(__pyx_k_pydevd_file_utils), 0, 0, 1, 1}, + {&__pyx_kp_s_pydevd_py, __pyx_k_pydevd_py, sizeof(__pyx_k_pydevd_py), 0, 0, 1, 0}, + {&__pyx_kp_s_pydevd_traceproperty_py, __pyx_k_pydevd_traceproperty_py, sizeof(__pyx_k_pydevd_traceproperty_py), 0, 0, 1, 0}, + {&__pyx_n_s_pydevd_tracing, __pyx_k_pydevd_tracing, sizeof(__pyx_k_pydevd_tracing), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_PickleError, __pyx_k_pyx_PickleError, sizeof(__pyx_k_pyx_PickleError), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_checksum, __pyx_k_pyx_checksum, sizeof(__pyx_k_pyx_checksum), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_result, __pyx_k_pyx_result, sizeof(__pyx_k_pyx_result), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_state, __pyx_k_pyx_state, sizeof(__pyx_k_pyx_state), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_type, __pyx_k_pyx_type, sizeof(__pyx_k_pyx_type), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_unpickle_PyDBAdditionalThr, __pyx_k_pyx_unpickle_PyDBAdditionalThr, sizeof(__pyx_k_pyx_unpickle_PyDBAdditionalThr), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_unpickle_PyDBFrame, __pyx_k_pyx_unpickle_PyDBFrame, sizeof(__pyx_k_pyx_unpickle_PyDBFrame), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_unpickle_SafeCallWrapper, __pyx_k_pyx_unpickle_SafeCallWrapper, sizeof(__pyx_k_pyx_unpickle_SafeCallWrapper), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_unpickle_ThreadTracer, __pyx_k_pyx_unpickle_ThreadTracer, sizeof(__pyx_k_pyx_unpickle_ThreadTracer), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_unpickle_TopLevelThreadTra, __pyx_k_pyx_unpickle_TopLevelThreadTra, sizeof(__pyx_k_pyx_unpickle_TopLevelThreadTra), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_unpickle_TopLevelThreadTra_2, __pyx_k_pyx_unpickle_TopLevelThreadTra_2, sizeof(__pyx_k_pyx_unpickle_TopLevelThreadTra_2), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_unpickle__TryExceptContain, __pyx_k_pyx_unpickle__TryExceptContain, sizeof(__pyx_k_pyx_unpickle__TryExceptContain), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_vtable, __pyx_k_pyx_vtable, sizeof(__pyx_k_pyx_vtable), 0, 0, 1, 1}, + {&__pyx_n_s_qname, __pyx_k_qname, sizeof(__pyx_k_qname), 0, 0, 1, 1}, + {&__pyx_n_s_quitting, __pyx_k_quitting, sizeof(__pyx_k_quitting), 0, 0, 1, 1}, + {&__pyx_n_s_raise_lines_in_except, __pyx_k_raise_lines_in_except, sizeof(__pyx_k_raise_lines_in_except), 0, 0, 1, 1}, + {&__pyx_n_s_re, __pyx_k_re, sizeof(__pyx_k_re), 0, 0, 1, 1}, + {&__pyx_n_s_reduce, __pyx_k_reduce, sizeof(__pyx_k_reduce), 0, 0, 1, 1}, + {&__pyx_n_s_reduce_cython, __pyx_k_reduce_cython, sizeof(__pyx_k_reduce_cython), 0, 0, 1, 1}, + {&__pyx_n_s_reduce_ex, __pyx_k_reduce_ex, sizeof(__pyx_k_reduce_ex), 0, 0, 1, 1}, + {&__pyx_n_s_remove_exception_from_frame, __pyx_k_remove_exception_from_frame, sizeof(__pyx_k_remove_exception_from_frame), 0, 0, 1, 1}, + {&__pyx_n_s_remove_return_values_flag, __pyx_k_remove_return_values_flag, sizeof(__pyx_k_remove_return_values_flag), 0, 0, 1, 1}, + {&__pyx_n_s_return, __pyx_k_return, sizeof(__pyx_k_return), 0, 0, 1, 1}, + {&__pyx_n_s_return_line, __pyx_k_return_line, sizeof(__pyx_k_return_line), 0, 0, 1, 1}, + {&__pyx_n_s_returns, __pyx_k_returns, sizeof(__pyx_k_returns), 0, 0, 1, 1}, + {&__pyx_n_s_rfind, __pyx_k_rfind, sizeof(__pyx_k_rfind), 0, 0, 1, 1}, + {&__pyx_n_s_run, __pyx_k_run, sizeof(__pyx_k_run), 0, 0, 1, 1}, + {&__pyx_kp_s_s_s, __pyx_k_s_s, sizeof(__pyx_k_s_s), 0, 0, 1, 0}, + {&__pyx_n_s_self, __pyx_k_self, sizeof(__pyx_k_self), 0, 0, 1, 1}, + {&__pyx_n_s_send_caught_exception_stack, __pyx_k_send_caught_exception_stack, sizeof(__pyx_k_send_caught_exception_stack), 0, 0, 1, 1}, + {&__pyx_n_s_send_caught_exception_stack_proc, __pyx_k_send_caught_exception_stack_proc, sizeof(__pyx_k_send_caught_exception_stack_proc), 0, 0, 1, 1}, + {&__pyx_n_s_set_additional_thread_info, __pyx_k_set_additional_thread_info, sizeof(__pyx_k_set_additional_thread_info), 0, 0, 1, 1}, + {&__pyx_n_s_set_additional_thread_info_lock, __pyx_k_set_additional_thread_info_lock, sizeof(__pyx_k_set_additional_thread_info_lock), 0, 0, 1, 1}, + {&__pyx_n_s_set_suspend, __pyx_k_set_suspend, sizeof(__pyx_k_set_suspend), 0, 0, 1, 1}, + {&__pyx_n_s_set_trace_for_frame_and_parents, __pyx_k_set_trace_for_frame_and_parents, sizeof(__pyx_k_set_trace_for_frame_and_parents), 0, 0, 1, 1}, + {&__pyx_n_s_setstate, __pyx_k_setstate, sizeof(__pyx_k_setstate), 0, 0, 1, 1}, + {&__pyx_n_s_setstate_cython, __pyx_k_setstate_cython, sizeof(__pyx_k_setstate_cython), 0, 0, 1, 1}, + {&__pyx_n_s_should_trace_hook, __pyx_k_should_trace_hook, sizeof(__pyx_k_should_trace_hook), 0, 0, 1, 1}, + {&__pyx_n_s_show_return_values, __pyx_k_show_return_values, sizeof(__pyx_k_show_return_values), 0, 0, 1, 1}, + {&__pyx_n_s_skip_on_exceptions_thrown_in_sam, __pyx_k_skip_on_exceptions_thrown_in_sam, sizeof(__pyx_k_skip_on_exceptions_thrown_in_sam), 0, 0, 1, 1}, + {&__pyx_n_s_st_mtime, __pyx_k_st_mtime, sizeof(__pyx_k_st_mtime), 0, 0, 1, 1}, + {&__pyx_n_s_st_size, __pyx_k_st_size, sizeof(__pyx_k_st_size), 0, 0, 1, 1}, + {&__pyx_n_s_startswith, __pyx_k_startswith, sizeof(__pyx_k_startswith), 0, 0, 1, 1}, + {&__pyx_n_s_stat, __pyx_k_stat, sizeof(__pyx_k_stat), 0, 0, 1, 1}, + {&__pyx_n_s_stop, __pyx_k_stop, sizeof(__pyx_k_stop), 0, 0, 1, 1}, + {&__pyx_n_s_stop_on_unhandled_exception, __pyx_k_stop_on_unhandled_exception, sizeof(__pyx_k_stop_on_unhandled_exception), 0, 0, 1, 1}, + {&__pyx_kp_s_stringsource, __pyx_k_stringsource, sizeof(__pyx_k_stringsource), 0, 0, 1, 0}, + {&__pyx_n_s_suspend, __pyx_k_suspend, sizeof(__pyx_k_suspend), 0, 0, 1, 1}, + {&__pyx_n_s_suspend_other_threads, __pyx_k_suspend_other_threads, sizeof(__pyx_k_suspend_other_threads), 0, 0, 1, 1}, + {&__pyx_n_s_suspend_policy, __pyx_k_suspend_policy, sizeof(__pyx_k_suspend_policy), 0, 0, 1, 1}, + {&__pyx_n_s_suspended_at_unhandled, __pyx_k_suspended_at_unhandled, sizeof(__pyx_k_suspended_at_unhandled), 0, 0, 1, 1}, + {&__pyx_n_s_t, __pyx_k_t, sizeof(__pyx_k_t), 0, 0, 1, 1}, + {&__pyx_n_s_tb_frame, __pyx_k_tb_frame, sizeof(__pyx_k_tb_frame), 0, 0, 1, 1}, + {&__pyx_n_s_tb_lineno, __pyx_k_tb_lineno, sizeof(__pyx_k_tb_lineno), 0, 0, 1, 1}, + {&__pyx_n_s_tb_next, __pyx_k_tb_next, sizeof(__pyx_k_tb_next), 0, 0, 1, 1}, + {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1}, + {&__pyx_n_s_thread, __pyx_k_thread, sizeof(__pyx_k_thread), 0, 0, 1, 1}, + {&__pyx_n_s_thread_trace_func, __pyx_k_thread_trace_func, sizeof(__pyx_k_thread_trace_func), 0, 0, 1, 1}, + {&__pyx_n_s_thread_tracer, __pyx_k_thread_tracer, sizeof(__pyx_k_thread_tracer), 0, 0, 1, 1}, + {&__pyx_n_s_threading, __pyx_k_threading, sizeof(__pyx_k_threading), 0, 0, 1, 1}, + {&__pyx_n_s_threading_active, __pyx_k_threading_active, sizeof(__pyx_k_threading_active), 0, 0, 1, 1}, + {&__pyx_n_s_threading_current_thread, __pyx_k_threading_current_thread, sizeof(__pyx_k_threading_current_thread), 0, 0, 1, 1}, + {&__pyx_n_s_threading_get_ident, __pyx_k_threading_get_ident, sizeof(__pyx_k_threading_get_ident), 0, 0, 1, 1}, + {&__pyx_n_s_top_level_thread_tracer, __pyx_k_top_level_thread_tracer, sizeof(__pyx_k_top_level_thread_tracer), 0, 0, 1, 1}, + {&__pyx_n_s_top_level_thread_tracer_no_back, __pyx_k_top_level_thread_tracer_no_back, sizeof(__pyx_k_top_level_thread_tracer_no_back), 0, 0, 1, 1}, + {&__pyx_n_s_top_level_thread_tracer_unhandle, __pyx_k_top_level_thread_tracer_unhandle, sizeof(__pyx_k_top_level_thread_tracer_unhandle), 0, 0, 1, 1}, + {&__pyx_n_s_trace, __pyx_k_trace, sizeof(__pyx_k_trace), 0, 0, 1, 1}, + {&__pyx_n_s_trace_dispatch, __pyx_k_trace_dispatch, sizeof(__pyx_k_trace_dispatch), 0, 0, 1, 1}, + {&__pyx_n_s_trace_dispatch_and_unhandled_exc, __pyx_k_trace_dispatch_and_unhandled_exc, sizeof(__pyx_k_trace_dispatch_and_unhandled_exc), 0, 0, 1, 1}, + {&__pyx_n_s_trace_exception, __pyx_k_trace_exception, sizeof(__pyx_k_trace_exception), 0, 0, 1, 1}, + {&__pyx_n_s_trace_unhandled_exceptions, __pyx_k_trace_unhandled_exceptions, sizeof(__pyx_k_trace_unhandled_exceptions), 0, 0, 1, 1}, + {&__pyx_n_s_try_exc_info, __pyx_k_try_exc_info, sizeof(__pyx_k_try_exc_info), 0, 0, 1, 1}, + {&__pyx_n_s_try_except_infos, __pyx_k_try_except_infos, sizeof(__pyx_k_try_except_infos), 0, 0, 1, 1}, + {&__pyx_n_s_update, __pyx_k_update, sizeof(__pyx_k_update), 0, 0, 1, 1}, + {&__pyx_kp_s_utf_8, __pyx_k_utf_8, sizeof(__pyx_k_utf_8), 0, 0, 1, 0}, + {&__pyx_n_s_values, __pyx_k_values, sizeof(__pyx_k_values), 0, 0, 1, 1}, + {&__pyx_n_s_version, __pyx_k_version, sizeof(__pyx_k_version), 0, 0, 1, 1}, + {&__pyx_n_s_writer, __pyx_k_writer, sizeof(__pyx_k_writer), 0, 0, 1, 1}, + {0, 0, 0, 0, 0, 0, 0} +}; +static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) { + __pyx_builtin_ImportError = __Pyx_GetBuiltinName(__pyx_n_s_ImportError); if (!__pyx_builtin_ImportError) __PYX_ERR(0, 174, __pyx_L1_error) + __pyx_builtin_NameError = __Pyx_GetBuiltinName(__pyx_n_s_NameError); if (!__pyx_builtin_NameError) __PYX_ERR(0, 207, __pyx_L1_error) + __pyx_builtin_StopIteration = __Pyx_GetBuiltinName(__pyx_n_s_StopIteration); if (!__pyx_builtin_StopIteration) __PYX_ERR(0, 208, __pyx_L1_error) + __pyx_builtin_id = __Pyx_GetBuiltinName(__pyx_n_s_id); if (!__pyx_builtin_id) __PYX_ERR(0, 130, __pyx_L1_error) + __pyx_builtin_AttributeError = __Pyx_GetBuiltinName(__pyx_n_s_AttributeError); if (!__pyx_builtin_AttributeError) __PYX_ERR(0, 149, __pyx_L1_error) + __pyx_builtin_SystemExit = __Pyx_GetBuiltinName(__pyx_n_s_SystemExit); if (!__pyx_builtin_SystemExit) __PYX_ERR(0, 375, __pyx_L1_error) + __pyx_builtin_GeneratorExit = __Pyx_GetBuiltinName(__pyx_n_s_GeneratorExit); if (!__pyx_builtin_GeneratorExit) __PYX_ERR(0, 378, __pyx_L1_error) + __pyx_builtin_KeyboardInterrupt = __Pyx_GetBuiltinName(__pyx_n_s_KeyboardInterrupt); if (!__pyx_builtin_KeyboardInterrupt) __PYX_ERR(0, 1367, __pyx_L1_error) + return 0; + __pyx_L1_error:; + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); + + /* "_pydevd_bundle/pydevd_cython.pyx":151 + * raise AttributeError() + * except: + * with _set_additional_thread_info_lock: # <<<<<<<<<<<<<< + * # If it's not there, set it within a lock to avoid any racing + * # conditions. + */ + __pyx_tuple__2 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__2)) __PYX_ERR(0, 151, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__2); + __Pyx_GIVEREF(__pyx_tuple__2); + + /* "_pydevd_bundle/pydevd_cython.pyx":1177 + * filename = frame.f_code.co_filename + * if filename.endswith('.pyc'): + * filename = filename[:-1] # <<<<<<<<<<<<<< + * + * if not filename.endswith(PYDEVD_IPYTHON_CONTEXT[0]): + */ + __pyx_slice__4 = PySlice_New(Py_None, __pyx_int_neg_1, Py_None); if (unlikely(!__pyx_slice__4)) __PYX_ERR(0, 1177, __pyx_L1_error) + __Pyx_GOTREF(__pyx_slice__4); + __Pyx_GIVEREF(__pyx_slice__4); + + /* "_pydevd_bundle/pydevd_cython.pyx":1489 + * if f_unhandled.f_code.co_name in ('__bootstrap', '_bootstrap'): + * # We need __bootstrap_inner, not __bootstrap. + * return None, False # <<<<<<<<<<<<<< + * + * elif f_unhandled.f_code.co_name in ('__bootstrap_inner', '_bootstrap_inner'): + */ + __pyx_tuple__8 = PyTuple_Pack(2, Py_None, Py_False); if (unlikely(!__pyx_tuple__8)) __PYX_ERR(0, 1489, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__8); + __Pyx_GIVEREF(__pyx_tuple__8); + + /* "(tree fragment)":4 + * cdef object __pyx_PickleError + * cdef object __pyx_result + * if __pyx_checksum not in (0x75b3b02, 0x5f02be1, 0xa5a0d63): # <<<<<<<<<<<<<< + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x75b3b02, 0x5f02be1, 0xa5a0d63) = (conditional_breakpoint_exception, is_tracing, pydev_call_from_jinja2, pydev_call_inside_jinja2, pydev_django_resolve_frame, pydev_func_name, pydev_message, pydev_next_line, pydev_notify_kill, pydev_original_step_cmd, pydev_smart_child_offset, pydev_smart_parent_offset, pydev_smart_step_into_variants, pydev_smart_step_stop, pydev_state, pydev_step_cmd, pydev_step_stop, pydev_use_scoped_step_frame, step_in_initial_location, suspend_type, suspended_at_unhandled, target_id_to_smart_step_into_variant, thread_tracer, top_level_thread_tracer_no_back_frames, top_level_thread_tracer_unhandled, trace_suspend_type))" % __pyx_checksum) + */ + __pyx_tuple__9 = PyTuple_Pack(3, __pyx_int_123419394, __pyx_int_99625953, __pyx_int_173673827); if (unlikely(!__pyx_tuple__9)) __PYX_ERR(2, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__9); + __Pyx_GIVEREF(__pyx_tuple__9); + __pyx_tuple__10 = PyTuple_Pack(3, __pyx_int_210464433, __pyx_int_230645316, __pyx_int_232881363); if (unlikely(!__pyx_tuple__10)) __PYX_ERR(2, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__10); + __Pyx_GIVEREF(__pyx_tuple__10); + __pyx_tuple__11 = PyTuple_Pack(3, __pyx_int_84338306, __pyx_int_61391470, __pyx_int_192493205); if (unlikely(!__pyx_tuple__11)) __PYX_ERR(2, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__11); + __Pyx_GIVEREF(__pyx_tuple__11); + __pyx_tuple__12 = PyTuple_Pack(3, __pyx_int_125568891, __pyx_int_169093275, __pyx_int_63705258); if (unlikely(!__pyx_tuple__12)) __PYX_ERR(2, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__12); + __Pyx_GIVEREF(__pyx_tuple__12); + __pyx_tuple__13 = PyTuple_Pack(3, __pyx_int_64458794, __pyx_int_18997755, __pyx_int_255484337); if (unlikely(!__pyx_tuple__13)) __PYX_ERR(2, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__13); + __Pyx_GIVEREF(__pyx_tuple__13); + __pyx_tuple__14 = PyTuple_Pack(3, __pyx_int_171613889, __pyx_int_66451433, __pyx_int_16751766); if (unlikely(!__pyx_tuple__14)) __PYX_ERR(2, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__14); + __Pyx_GIVEREF(__pyx_tuple__14); + + /* "_pydevd_bundle/pydevd_cython.pyx":11 + * from _pydev_bundle import pydev_log + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * pydev_log.debug("Using Cython speedups") # <<<<<<<<<<<<<< + * # ELSE + * # from _pydevd_bundle.pydevd_frame import PyDBFrame + */ + __pyx_tuple__15 = PyTuple_Pack(1, __pyx_kp_s_Using_Cython_speedups); if (unlikely(!__pyx_tuple__15)) __PYX_ERR(0, 11, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__15); + __Pyx_GIVEREF(__pyx_tuple__15); + + /* "_pydevd_bundle/pydevd_cython.pyx":145 + * + * + * def set_additional_thread_info(thread): # <<<<<<<<<<<<<< + * try: + * additional_info = thread.additional_info + */ + __pyx_tuple__16 = PyTuple_Pack(2, __pyx_n_s_thread, __pyx_n_s_additional_info); if (unlikely(!__pyx_tuple__16)) __PYX_ERR(0, 145, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__16); + __Pyx_GIVEREF(__pyx_tuple__16); + __pyx_codeobj__17 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__16, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pydevd_bundle_pydevd_cython_pyx, __pyx_n_s_set_additional_thread_info, 145, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__17)) __PYX_ERR(0, 145, __pyx_L1_error) + + /* "_pydevd_bundle/pydevd_cython.pyx":176 + * except ImportError: + * + * def get_smart_step_into_variant_from_frame_offset(*args, **kwargs): # <<<<<<<<<<<<<< + * return None + * + */ + __pyx_tuple__18 = PyTuple_Pack(2, __pyx_n_s_args, __pyx_n_s_kwargs); if (unlikely(!__pyx_tuple__18)) __PYX_ERR(0, 176, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__18); + __Pyx_GIVEREF(__pyx_tuple__18); + __pyx_codeobj__19 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__18, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pydevd_bundle_pydevd_cython_pyx, __pyx_n_s_get_smart_step_into_variant_from, 176, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__19)) __PYX_ERR(0, 176, __pyx_L1_error) + + /* "_pydevd_bundle/pydevd_cython.pyx":198 + * basename = os.path.basename + * + * IGNORE_EXCEPTION_TAG = re.compile('[^#]*#.*@IgnoreException') # <<<<<<<<<<<<<< + * DEBUG_START = ('pydevd.py', 'run') + * DEBUG_START_PY3K = ('_pydev_execfile.py', 'execfile') + */ + __pyx_tuple__20 = PyTuple_Pack(1, __pyx_kp_s_IgnoreException); if (unlikely(!__pyx_tuple__20)) __PYX_ERR(0, 198, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__20); + __Pyx_GIVEREF(__pyx_tuple__20); + + /* "_pydevd_bundle/pydevd_cython.pyx":199 + * + * IGNORE_EXCEPTION_TAG = re.compile('[^#]*#.*@IgnoreException') + * DEBUG_START = ('pydevd.py', 'run') # <<<<<<<<<<<<<< + * DEBUG_START_PY3K = ('_pydev_execfile.py', 'execfile') + * TRACE_PROPERTY = 'pydevd_traceproperty.py' + */ + __pyx_tuple__21 = PyTuple_Pack(2, __pyx_kp_s_pydevd_py, __pyx_n_s_run); if (unlikely(!__pyx_tuple__21)) __PYX_ERR(0, 199, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__21); + __Pyx_GIVEREF(__pyx_tuple__21); + + /* "_pydevd_bundle/pydevd_cython.pyx":200 + * IGNORE_EXCEPTION_TAG = re.compile('[^#]*#.*@IgnoreException') + * DEBUG_START = ('pydevd.py', 'run') + * DEBUG_START_PY3K = ('_pydev_execfile.py', 'execfile') # <<<<<<<<<<<<<< + * TRACE_PROPERTY = 'pydevd_traceproperty.py' + * + */ + __pyx_tuple__22 = PyTuple_Pack(2, __pyx_kp_s_pydev_execfile_py, __pyx_n_s_execfile); if (unlikely(!__pyx_tuple__22)) __PYX_ERR(0, 200, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__22); + __Pyx_GIVEREF(__pyx_tuple__22); + + /* "_pydevd_bundle/pydevd_cython.pyx":1422 + * + * + * def notify_skipped_step_in_because_of_filters(py_db, frame): # <<<<<<<<<<<<<< + * global _global_notify_skipped_step_in + * + */ + __pyx_tuple__23 = PyTuple_Pack(2, __pyx_n_s_py_db, __pyx_n_s_frame); if (unlikely(!__pyx_tuple__23)) __PYX_ERR(0, 1422, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__23); + __Pyx_GIVEREF(__pyx_tuple__23); + __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pydevd_bundle_pydevd_cython_pyx, __pyx_n_s_notify_skipped_step_in_because_o, 1422, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) __PYX_ERR(0, 1422, __pyx_L1_error) + + /* "_pydevd_bundle/pydevd_cython.pyx":1452 + * + * + * def fix_top_level_trace_and_get_trace_func(py_db, frame): # <<<<<<<<<<<<<< + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * cdef str filename; + */ + __pyx_tuple__25 = PyTuple_Pack(15, __pyx_n_s_py_db, __pyx_n_s_frame, __pyx_n_s_filename, __pyx_n_s_name_2, __pyx_n_s_args, __pyx_n_s_thread, __pyx_n_s_f_unhandled, __pyx_n_s_force_only_unhandled_tracer, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_t, __pyx_n_s_additional_info, __pyx_n_s_top_level_thread_tracer, __pyx_n_s_f_trace, __pyx_n_s_thread_tracer); if (unlikely(!__pyx_tuple__25)) __PYX_ERR(0, 1452, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__25); + __Pyx_GIVEREF(__pyx_tuple__25); + __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pydevd_bundle_pydevd_cython_pyx, __pyx_n_s_fix_top_level_trace_and_get_trac, 1452, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) __PYX_ERR(0, 1452, __pyx_L1_error) + + /* "_pydevd_bundle/pydevd_cython.pyx":1580 + * + * + * def trace_dispatch(py_db, frame, event, arg): # <<<<<<<<<<<<<< + * thread_trace_func, apply_to_settrace = py_db.fix_top_level_trace_and_get_trace_func(py_db, frame) + * if thread_trace_func is None: + */ + __pyx_tuple__27 = PyTuple_Pack(6, __pyx_n_s_py_db, __pyx_n_s_frame, __pyx_n_s_event, __pyx_n_s_arg, __pyx_n_s_thread_trace_func, __pyx_n_s_apply_to_settrace); if (unlikely(!__pyx_tuple__27)) __PYX_ERR(0, 1580, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__27); + __Pyx_GIVEREF(__pyx_tuple__27); + __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(4, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pydevd_bundle_pydevd_cython_pyx, __pyx_n_s_trace_dispatch, 1580, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) __PYX_ERR(0, 1580, __pyx_L1_error) + + /* "_pydevd_bundle/pydevd_cython.pyx":1866 + * _original_call = ThreadTracer.__call__ + * + * def __call__(self, frame, event, arg): # <<<<<<<<<<<<<< + * constructed_tid_to_last_frame[self._args[1].ident] = frame + * return _original_call(self, frame, event, arg) + */ + __pyx_tuple__29 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_frame, __pyx_n_s_event, __pyx_n_s_arg); if (unlikely(!__pyx_tuple__29)) __PYX_ERR(0, 1866, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__29); + __Pyx_GIVEREF(__pyx_tuple__29); + __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pydevd_bundle_pydevd_cython_pyx, __pyx_n_s_call_2, 1866, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) __PYX_ERR(0, 1866, __pyx_L1_error) + + /* "(tree fragment)":1 + * def __pyx_unpickle_PyDBAdditionalThreadInfo(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * cdef object __pyx_PickleError + * cdef object __pyx_result + */ + __pyx_tuple__31 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__31)) __PYX_ERR(2, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__31); + __Pyx_GIVEREF(__pyx_tuple__31); + __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_PyDBAdditionalThr, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) __PYX_ERR(2, 1, __pyx_L1_error) + __pyx_tuple__33 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__33)) __PYX_ERR(2, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__33); + __Pyx_GIVEREF(__pyx_tuple__33); + __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle__TryExceptContain, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) __PYX_ERR(2, 1, __pyx_L1_error) + __pyx_tuple__35 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__35)) __PYX_ERR(2, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__35); + __Pyx_GIVEREF(__pyx_tuple__35); + __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_PyDBFrame, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) __PYX_ERR(2, 1, __pyx_L1_error) + __pyx_tuple__37 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__37)) __PYX_ERR(2, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__37); + __Pyx_GIVEREF(__pyx_tuple__37); + __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_SafeCallWrapper, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) __PYX_ERR(2, 1, __pyx_L1_error) + __pyx_tuple__39 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__39)) __PYX_ERR(2, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__39); + __Pyx_GIVEREF(__pyx_tuple__39); + __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_TopLevelThreadTra, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) __PYX_ERR(2, 1, __pyx_L1_error) + __pyx_tuple__41 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__41)) __PYX_ERR(2, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__41); + __Pyx_GIVEREF(__pyx_tuple__41); + __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_TopLevelThreadTra_2, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) __PYX_ERR(2, 1, __pyx_L1_error) + __pyx_tuple__43 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__43)) __PYX_ERR(2, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__43); + __Pyx_GIVEREF(__pyx_tuple__43); + __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_ThreadTracer, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) __PYX_ERR(2, 1, __pyx_L1_error) + __Pyx_RefNannyFinishContext(); + return 0; + __pyx_L1_error:; + __Pyx_RefNannyFinishContext(); + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) { + __pyx_umethod_PyDict_Type_get.type = (PyObject*)&PyDict_Type; + __pyx_umethod_PyDict_Type_update.type = (PyObject*)&PyDict_Type; + __pyx_umethod_PyDict_Type_values.type = (PyObject*)&PyDict_Type; + __pyx_umethod_PyString_Type_rfind.type = (PyObject*)&PyString_Type; + if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 1, __pyx_L1_error); + __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_11 = PyInt_FromLong(11); if (unlikely(!__pyx_int_11)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_111 = PyInt_FromLong(111); if (unlikely(!__pyx_int_111)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_137 = PyInt_FromLong(137); if (unlikely(!__pyx_int_137)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_160 = PyInt_FromLong(160); if (unlikely(!__pyx_int_160)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_16751766 = PyInt_FromLong(16751766L); if (unlikely(!__pyx_int_16751766)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_18997755 = PyInt_FromLong(18997755L); if (unlikely(!__pyx_int_18997755)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_61391470 = PyInt_FromLong(61391470L); if (unlikely(!__pyx_int_61391470)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_63705258 = PyInt_FromLong(63705258L); if (unlikely(!__pyx_int_63705258)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_64458794 = PyInt_FromLong(64458794L); if (unlikely(!__pyx_int_64458794)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_66451433 = PyInt_FromLong(66451433L); if (unlikely(!__pyx_int_66451433)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_84338306 = PyInt_FromLong(84338306L); if (unlikely(!__pyx_int_84338306)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_99625953 = PyInt_FromLong(99625953L); if (unlikely(!__pyx_int_99625953)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_123419394 = PyInt_FromLong(123419394L); if (unlikely(!__pyx_int_123419394)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_125568891 = PyInt_FromLong(125568891L); if (unlikely(!__pyx_int_125568891)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_169093275 = PyInt_FromLong(169093275L); if (unlikely(!__pyx_int_169093275)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_171613889 = PyInt_FromLong(171613889L); if (unlikely(!__pyx_int_171613889)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_173673827 = PyInt_FromLong(173673827L); if (unlikely(!__pyx_int_173673827)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_192493205 = PyInt_FromLong(192493205L); if (unlikely(!__pyx_int_192493205)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_210464433 = PyInt_FromLong(210464433L); if (unlikely(!__pyx_int_210464433)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_230645316 = PyInt_FromLong(230645316L); if (unlikely(!__pyx_int_230645316)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_232881363 = PyInt_FromLong(232881363L); if (unlikely(!__pyx_int_232881363)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_255484337 = PyInt_FromLong(255484337L); if (unlikely(!__pyx_int_255484337)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_neg_1 = PyInt_FromLong(-1); if (unlikely(!__pyx_int_neg_1)) __PYX_ERR(0, 1, __pyx_L1_error) + return 0; + __pyx_L1_error:; + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_modinit_global_init_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_variable_export_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_function_export_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_type_init_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_type_import_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_variable_import_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_function_import_code(void); /*proto*/ + +static int __Pyx_modinit_global_init_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_global_init_code", 0); + /*--- Global init code ---*/ + __pyx_v_14_pydevd_bundle_13pydevd_cython__global_notify_skipped_step_in = ((PyObject*)Py_None); Py_INCREF(Py_None); + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_variable_export_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_variable_export_code", 0); + /*--- Variable export code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_function_export_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_function_export_code", 0); + /*--- Function export code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_type_init_code(void) { + __Pyx_RefNannyDeclarations + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0); + /*--- Type init code ---*/ + if (PyType_Ready(&__pyx_type_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo) < 0) __PYX_ERR(0, 23, __pyx_L1_error) + #if PY_VERSION_HEX < 0x030800B1 + __pyx_type_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo.tp_print = 0; + #endif + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo.tp_dictoffset && __pyx_type_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo.tp_getattro == PyObject_GenericGetAttr)) { + __pyx_type_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo.tp_getattro = __Pyx_PyObject_GenericGetAttr; + } + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PyDBAdditionalThreadInfo, (PyObject *)&__pyx_type_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo) < 0) __PYX_ERR(0, 23, __pyx_L1_error) + if (__Pyx_setup_reduce((PyObject*)&__pyx_type_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo) < 0) __PYX_ERR(0, 23, __pyx_L1_error) + __pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo = &__pyx_type_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo; + if (PyType_Ready(&__pyx_type_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj) < 0) __PYX_ERR(0, 255, __pyx_L1_error) + #if PY_VERSION_HEX < 0x030800B1 + __pyx_type_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj.tp_print = 0; + #endif + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj.tp_dictoffset && __pyx_type_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj.tp_getattro == PyObject_GenericGetAttr)) { + __pyx_type_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj.tp_getattro = __Pyx_PyObject_GenericGetAttr; + } + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_TryExceptContainerObj, (PyObject *)&__pyx_type_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj) < 0) __PYX_ERR(0, 255, __pyx_L1_error) + if (__Pyx_setup_reduce((PyObject*)&__pyx_type_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj) < 0) __PYX_ERR(0, 255, __pyx_L1_error) + __pyx_ptype_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj = &__pyx_type_14_pydevd_bundle_13pydevd_cython__TryExceptContainerObj; + __pyx_vtabptr_14_pydevd_bundle_13pydevd_cython_PyDBFrame = &__pyx_vtable_14_pydevd_bundle_13pydevd_cython_PyDBFrame; + __pyx_vtable_14_pydevd_bundle_13pydevd_cython_PyDBFrame._should_stop_on_exception = (PyObject *(*)(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *, PyObject *, PyObject *, PyObject *))__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame__should_stop_on_exception; + __pyx_vtable_14_pydevd_bundle_13pydevd_cython_PyDBFrame._handle_exception = (PyObject *(*)(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *, PyObject *, PyObject *, PyObject *, PyObject *))__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame__handle_exception; + __pyx_vtable_14_pydevd_bundle_13pydevd_cython_PyDBFrame.get_func_name = (PyObject *(*)(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *, PyObject *))__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_get_func_name; + __pyx_vtable_14_pydevd_bundle_13pydevd_cython_PyDBFrame._show_return_values = (PyObject *(*)(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *, PyObject *, PyObject *))__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame__show_return_values; + __pyx_vtable_14_pydevd_bundle_13pydevd_cython_PyDBFrame._remove_return_values = (PyObject *(*)(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *, PyObject *, PyObject *))__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame__remove_return_values; + __pyx_vtable_14_pydevd_bundle_13pydevd_cython_PyDBFrame._get_unfiltered_back_frame = (PyObject *(*)(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *, PyObject *, PyObject *))__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame__get_unfiltered_back_frame; + __pyx_vtable_14_pydevd_bundle_13pydevd_cython_PyDBFrame._is_same_frame = (PyObject *(*)(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *, PyObject *, PyObject *))__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame__is_same_frame; + __pyx_vtable_14_pydevd_bundle_13pydevd_cython_PyDBFrame.trace_dispatch = (PyObject *(*)(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBFrame *, PyObject *, PyObject *, PyObject *, int __pyx_skip_dispatch))__pyx_f_14_pydevd_bundle_13pydevd_cython_9PyDBFrame_trace_dispatch; + if (PyType_Ready(&__pyx_type_14_pydevd_bundle_13pydevd_cython_PyDBFrame) < 0) __PYX_ERR(0, 273, __pyx_L1_error) + #if PY_VERSION_HEX < 0x030800B1 + __pyx_type_14_pydevd_bundle_13pydevd_cython_PyDBFrame.tp_print = 0; + #endif + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_14_pydevd_bundle_13pydevd_cython_PyDBFrame.tp_dictoffset && __pyx_type_14_pydevd_bundle_13pydevd_cython_PyDBFrame.tp_getattro == PyObject_GenericGetAttr)) { + __pyx_type_14_pydevd_bundle_13pydevd_cython_PyDBFrame.tp_getattro = __Pyx_PyObject_GenericGetAttr; + } + if (__Pyx_SetVtable(__pyx_type_14_pydevd_bundle_13pydevd_cython_PyDBFrame.tp_dict, __pyx_vtabptr_14_pydevd_bundle_13pydevd_cython_PyDBFrame) < 0) __PYX_ERR(0, 273, __pyx_L1_error) + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PyDBFrame, (PyObject *)&__pyx_type_14_pydevd_bundle_13pydevd_cython_PyDBFrame) < 0) __PYX_ERR(0, 273, __pyx_L1_error) + if (__Pyx_setup_reduce((PyObject*)&__pyx_type_14_pydevd_bundle_13pydevd_cython_PyDBFrame) < 0) __PYX_ERR(0, 273, __pyx_L1_error) + __pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBFrame = &__pyx_type_14_pydevd_bundle_13pydevd_cython_PyDBFrame; + if (PyType_Ready(&__pyx_type_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper) < 0) __PYX_ERR(0, 1434, __pyx_L1_error) + #if PY_VERSION_HEX < 0x030800B1 + __pyx_type_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper.tp_print = 0; + #endif + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper.tp_dictoffset && __pyx_type_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper.tp_getattro == PyObject_GenericGetAttr)) { + __pyx_type_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper.tp_getattro = __Pyx_PyObject_GenericGetAttr; + } + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_SafeCallWrapper, (PyObject *)&__pyx_type_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper) < 0) __PYX_ERR(0, 1434, __pyx_L1_error) + if (__Pyx_setup_reduce((PyObject*)&__pyx_type_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper) < 0) __PYX_ERR(0, 1434, __pyx_L1_error) + __pyx_ptype_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper = &__pyx_type_14_pydevd_bundle_13pydevd_cython_SafeCallWrapper; + if (PyType_Ready(&__pyx_type_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions) < 0) __PYX_ERR(0, 1590, __pyx_L1_error) + #if PY_VERSION_HEX < 0x030800B1 + __pyx_type_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions.tp_print = 0; + #endif + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions.tp_dictoffset && __pyx_type_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions.tp_getattro == PyObject_GenericGetAttr)) { + __pyx_type_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions.tp_getattro = __Pyx_PyObject_GenericGetAttr; + } + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_TopLevelThreadTracerOnlyUnhandle, (PyObject *)&__pyx_type_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions) < 0) __PYX_ERR(0, 1590, __pyx_L1_error) + if (__Pyx_setup_reduce((PyObject*)&__pyx_type_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions) < 0) __PYX_ERR(0, 1590, __pyx_L1_error) + __pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions = &__pyx_type_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerOnlyUnhandledExceptions; + if (PyType_Ready(&__pyx_type_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame) < 0) __PYX_ERR(0, 1620, __pyx_L1_error) + #if PY_VERSION_HEX < 0x030800B1 + __pyx_type_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame.tp_print = 0; + #endif + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame.tp_dictoffset && __pyx_type_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame.tp_getattro == PyObject_GenericGetAttr)) { + __pyx_type_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame.tp_getattro = __Pyx_PyObject_GenericGetAttr; + } + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_TopLevelThreadTracerNoBackFrame, (PyObject *)&__pyx_type_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame) < 0) __PYX_ERR(0, 1620, __pyx_L1_error) + if (__Pyx_setup_reduce((PyObject*)&__pyx_type_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame) < 0) __PYX_ERR(0, 1620, __pyx_L1_error) + __pyx_ptype_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame = &__pyx_type_14_pydevd_bundle_13pydevd_cython_TopLevelThreadTracerNoBackFrame; + if (PyType_Ready(&__pyx_type_14_pydevd_bundle_13pydevd_cython_ThreadTracer) < 0) __PYX_ERR(0, 1695, __pyx_L1_error) + #if PY_VERSION_HEX < 0x030800B1 + __pyx_type_14_pydevd_bundle_13pydevd_cython_ThreadTracer.tp_print = 0; + #endif + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_14_pydevd_bundle_13pydevd_cython_ThreadTracer.tp_dictoffset && __pyx_type_14_pydevd_bundle_13pydevd_cython_ThreadTracer.tp_getattro == PyObject_GenericGetAttr)) { + __pyx_type_14_pydevd_bundle_13pydevd_cython_ThreadTracer.tp_getattro = __Pyx_PyObject_GenericGetAttr; + } + #if CYTHON_UPDATE_DESCRIPTOR_DOC + { + PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_14_pydevd_bundle_13pydevd_cython_ThreadTracer, "__call__"); if (unlikely(!wrapper)) __PYX_ERR(0, 1695, __pyx_L1_error) + if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) { + __pyx_wrapperbase_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__call__ = *((PyWrapperDescrObject *)wrapper)->d_base; + __pyx_wrapperbase_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__call__.doc = __pyx_doc_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__call__; + ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_14_pydevd_bundle_13pydevd_cython_12ThreadTracer_2__call__; + } + } + #endif + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ThreadTracer, (PyObject *)&__pyx_type_14_pydevd_bundle_13pydevd_cython_ThreadTracer) < 0) __PYX_ERR(0, 1695, __pyx_L1_error) + if (__Pyx_setup_reduce((PyObject*)&__pyx_type_14_pydevd_bundle_13pydevd_cython_ThreadTracer) < 0) __PYX_ERR(0, 1695, __pyx_L1_error) + __pyx_ptype_14_pydevd_bundle_13pydevd_cython_ThreadTracer = &__pyx_type_14_pydevd_bundle_13pydevd_cython_ThreadTracer; + __Pyx_RefNannyFinishContext(); + return 0; + __pyx_L1_error:; + __Pyx_RefNannyFinishContext(); + return -1; +} + +static int __Pyx_modinit_type_import_code(void) { + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0); + /*--- Type import code ---*/ + __pyx_t_1 = PyImport_ImportModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_ptype_7cpython_4type_type = __Pyx_ImportType(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME, "type", + #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000 + sizeof(PyTypeObject), + #else + sizeof(PyHeapTypeObject), + #endif + __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_7cpython_4type_type) __PYX_ERR(3, 9, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_RefNannyFinishContext(); + return 0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_RefNannyFinishContext(); + return -1; +} + +static int __Pyx_modinit_variable_import_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_variable_import_code", 0); + /*--- Variable import code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_function_import_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_function_import_code", 0); + /*--- Function import code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + + +#ifndef CYTHON_NO_PYINIT_EXPORT +#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC +#elif PY_MAJOR_VERSION < 3 +#ifdef __cplusplus +#define __Pyx_PyMODINIT_FUNC extern "C" void +#else +#define __Pyx_PyMODINIT_FUNC void +#endif +#else +#ifdef __cplusplus +#define __Pyx_PyMODINIT_FUNC extern "C" PyObject * +#else +#define __Pyx_PyMODINIT_FUNC PyObject * +#endif +#endif + + +#if PY_MAJOR_VERSION < 3 +__Pyx_PyMODINIT_FUNC initpydevd_cython(void) CYTHON_SMALL_CODE; /*proto*/ +__Pyx_PyMODINIT_FUNC initpydevd_cython(void) +#else +__Pyx_PyMODINIT_FUNC PyInit_pydevd_cython(void) CYTHON_SMALL_CODE; /*proto*/ +__Pyx_PyMODINIT_FUNC PyInit_pydevd_cython(void) +#if CYTHON_PEP489_MULTI_PHASE_INIT +{ + return PyModuleDef_Init(&__pyx_moduledef); +} +static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) { + #if PY_VERSION_HEX >= 0x030700A1 + static PY_INT64_T main_interpreter_id = -1; + PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp); + if (main_interpreter_id == -1) { + main_interpreter_id = current_id; + return (unlikely(current_id == -1)) ? -1 : 0; + } else if (unlikely(main_interpreter_id != current_id)) + #else + static PyInterpreterState *main_interpreter = NULL; + PyInterpreterState *current_interpreter = PyThreadState_Get()->interp; + if (!main_interpreter) { + main_interpreter = current_interpreter; + } else if (unlikely(main_interpreter != current_interpreter)) + #endif + { + PyErr_SetString( + PyExc_ImportError, + "Interpreter change detected - this module can only be loaded into one interpreter per process."); + return -1; + } + return 0; +} +static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name, int allow_none) { + PyObject *value = PyObject_GetAttrString(spec, from_name); + int result = 0; + if (likely(value)) { + if (allow_none || value != Py_None) { + result = PyDict_SetItemString(moddict, to_name, value); + } + Py_DECREF(value); + } else if (PyErr_ExceptionMatches(PyExc_AttributeError)) { + PyErr_Clear(); + } else { + result = -1; + } + return result; +} +static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, CYTHON_UNUSED PyModuleDef *def) { + PyObject *module = NULL, *moddict, *modname; + if (__Pyx_check_single_interpreter()) + return NULL; + if (__pyx_m) + return __Pyx_NewRef(__pyx_m); + modname = PyObject_GetAttrString(spec, "name"); + if (unlikely(!modname)) goto bad; + module = PyModule_NewObject(modname); + Py_DECREF(modname); + if (unlikely(!module)) goto bad; + moddict = PyModule_GetDict(module); + if (unlikely(!moddict)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__", 1) < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__", 1) < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__", 1) < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__", 0) < 0)) goto bad; + return module; +bad: + Py_XDECREF(module); + return NULL; +} + + +static CYTHON_SMALL_CODE int __pyx_pymod_exec_pydevd_cython(PyObject *__pyx_pyinit_module) +#endif +#endif +{ + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + int __pyx_t_6; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + int __pyx_t_9; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannyDeclarations + #if CYTHON_PEP489_MULTI_PHASE_INIT + if (__pyx_m) { + if (__pyx_m == __pyx_pyinit_module) return 0; + PyErr_SetString(PyExc_RuntimeError, "Module 'pydevd_cython' has already been imported. Re-initialisation is not supported."); + return -1; + } + #elif PY_MAJOR_VERSION >= 3 + if (__pyx_m) return __Pyx_NewRef(__pyx_m); + #endif + #if CYTHON_REFNANNY +__Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny"); +if (!__Pyx_RefNanny) { + PyErr_Clear(); + __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny"); + if (!__Pyx_RefNanny) + Py_FatalError("failed to import 'refnanny' module"); +} +#endif + __Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit_pydevd_cython(void)", 0); + if (__Pyx_check_binary_version() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #ifdef __Pxy_PyFrame_Initialize_Offsets + __Pxy_PyFrame_Initialize_Offsets(); + #endif + __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error) + #ifdef __Pyx_CyFunction_USED + if (__pyx_CyFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_FusedFunction_USED + if (__pyx_FusedFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_Coroutine_USED + if (__pyx_Coroutine_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_Generator_USED + if (__pyx_Generator_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_AsyncGen_USED + if (__pyx_AsyncGen_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_StopAsyncIteration_USED + if (__pyx_StopAsyncIteration_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + /*--- Library function declarations ---*/ + /*--- Threads initialization code ---*/ + #if defined(WITH_THREAD) && PY_VERSION_HEX < 0x030700F0 && defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS + PyEval_InitThreads(); + #endif + /*--- Module creation code ---*/ + #if CYTHON_PEP489_MULTI_PHASE_INIT + __pyx_m = __pyx_pyinit_module; + Py_INCREF(__pyx_m); + #else + #if PY_MAJOR_VERSION < 3 + __pyx_m = Py_InitModule4("pydevd_cython", __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m); + #else + __pyx_m = PyModule_Create(&__pyx_moduledef); + #endif + if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error) + Py_INCREF(__pyx_d); + __pyx_b = PyImport_AddModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error) + Py_INCREF(__pyx_b); + __pyx_cython_runtime = PyImport_AddModule((char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error) + Py_INCREF(__pyx_cython_runtime); + if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error); + /*--- Initialize various global constants etc. ---*/ + if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT) + if (__Pyx_init_sys_getdefaultencoding_params() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + if (__pyx_module_is_main__pydevd_bundle__pydevd_cython) { + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_name, __pyx_n_s_main_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error) + } + #if PY_MAJOR_VERSION >= 3 + { + PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error) + if (!PyDict_GetItemString(modules, "_pydevd_bundle.pydevd_cython")) { + if (unlikely(PyDict_SetItemString(modules, "_pydevd_bundle.pydevd_cython", __pyx_m) < 0)) __PYX_ERR(0, 1, __pyx_L1_error) + } + } + #endif + /*--- Builtin init code ---*/ + if (__Pyx_InitCachedBuiltins() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + /*--- Constants init code ---*/ + if (__Pyx_InitCachedConstants() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + /*--- Global type/function init code ---*/ + (void)__Pyx_modinit_global_init_code(); + (void)__Pyx_modinit_variable_export_code(); + (void)__Pyx_modinit_function_export_code(); + if (unlikely(__Pyx_modinit_type_init_code() < 0)) __PYX_ERR(0, 1, __pyx_L1_error) + if (unlikely(__Pyx_modinit_type_import_code() < 0)) __PYX_ERR(0, 1, __pyx_L1_error) + (void)__Pyx_modinit_variable_import_code(); + (void)__Pyx_modinit_function_import_code(); + /*--- Execution code ---*/ + #if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) + if (__Pyx_patch_abc() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + + /* "_pydevd_bundle/pydevd_cython.pyx":7 + * # DO NOT edit manually! + * # DO NOT edit manually! + * from _pydevd_bundle.pydevd_constants import (STATE_RUN, PYTHON_SUSPEND, SUPPORT_GEVENT, ForkSafeLock, # <<<<<<<<<<<<<< + * _current_frames) + * from _pydev_bundle import pydev_log + */ + __pyx_t_1 = PyList_New(5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_s_STATE_RUN); + __Pyx_GIVEREF(__pyx_n_s_STATE_RUN); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_STATE_RUN); + __Pyx_INCREF(__pyx_n_s_PYTHON_SUSPEND); + __Pyx_GIVEREF(__pyx_n_s_PYTHON_SUSPEND); + PyList_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_PYTHON_SUSPEND); + __Pyx_INCREF(__pyx_n_s_SUPPORT_GEVENT); + __Pyx_GIVEREF(__pyx_n_s_SUPPORT_GEVENT); + PyList_SET_ITEM(__pyx_t_1, 2, __pyx_n_s_SUPPORT_GEVENT); + __Pyx_INCREF(__pyx_n_s_ForkSafeLock); + __Pyx_GIVEREF(__pyx_n_s_ForkSafeLock); + PyList_SET_ITEM(__pyx_t_1, 3, __pyx_n_s_ForkSafeLock); + __Pyx_INCREF(__pyx_n_s_current_frames); + __Pyx_GIVEREF(__pyx_n_s_current_frames); + PyList_SET_ITEM(__pyx_t_1, 4, __pyx_n_s_current_frames); + __pyx_t_2 = __Pyx_Import(__pyx_n_s_pydevd_bundle_pydevd_constants, __pyx_t_1, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_STATE_RUN); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_STATE_RUN, __pyx_t_1) < 0) __PYX_ERR(0, 7, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_PYTHON_SUSPEND); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_PYTHON_SUSPEND, __pyx_t_1) < 0) __PYX_ERR(0, 7, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_SUPPORT_GEVENT); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_SUPPORT_GEVENT, __pyx_t_1) < 0) __PYX_ERR(0, 7, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_ForkSafeLock); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ForkSafeLock, __pyx_t_1) < 0) __PYX_ERR(0, 7, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_current_frames); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_current_frames, __pyx_t_1) < 0) __PYX_ERR(0, 8, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":9 + * from _pydevd_bundle.pydevd_constants import (STATE_RUN, PYTHON_SUSPEND, SUPPORT_GEVENT, ForkSafeLock, + * _current_frames) + * from _pydev_bundle import pydev_log # <<<<<<<<<<<<<< + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * pydev_log.debug("Using Cython speedups") + */ + __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_n_s_pydev_log); + __Pyx_GIVEREF(__pyx_n_s_pydev_log); + PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_pydev_log); + __pyx_t_1 = __Pyx_Import(__pyx_n_s_pydev_bundle, __pyx_t_2, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_pydev_log); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_pydev_log, __pyx_t_2) < 0) __PYX_ERR(0, 9, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":11 + * from _pydev_bundle import pydev_log + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * pydev_log.debug("Using Cython speedups") # <<<<<<<<<<<<<< + * # ELSE + * # from _pydevd_bundle.pydevd_frame import PyDBFrame + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pydev_log); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_debug); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__15, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":16 + * # ENDIF + * + * version = 11 # <<<<<<<<<<<<<< + * + * + */ + if (PyDict_SetItem(__pyx_d, __pyx_n_s_version, __pyx_int_11) < 0) __PYX_ERR(0, 16, __pyx_L1_error) + + /* "_pydevd_bundle/pydevd_cython.pyx":142 + * + * + * _set_additional_thread_info_lock = ForkSafeLock() # <<<<<<<<<<<<<< + * + * + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_ForkSafeLock); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 142, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 142, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (PyDict_SetItem(__pyx_d, __pyx_n_s_set_additional_thread_info_lock, __pyx_t_2) < 0) __PYX_ERR(0, 142, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":145 + * + * + * def set_additional_thread_info(thread): # <<<<<<<<<<<<<< + * try: + * additional_info = thread.additional_info + */ + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_1set_additional_thread_info, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 145, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_set_additional_thread_info, __pyx_t_2) < 0) __PYX_ERR(0, 145, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":160 + * + * return additional_info + * import linecache # <<<<<<<<<<<<<< + * import os.path + * import re + */ + __pyx_t_2 = __Pyx_Import(__pyx_n_s_linecache, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 160, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_linecache, __pyx_t_2) < 0) __PYX_ERR(0, 160, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":161 + * return additional_info + * import linecache + * import os.path # <<<<<<<<<<<<<< + * import re + * + */ + __pyx_t_2 = __Pyx_Import(__pyx_n_s_os_path, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 161, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_os, __pyx_t_2) < 0) __PYX_ERR(0, 161, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":162 + * import linecache + * import os.path + * import re # <<<<<<<<<<<<<< + * + * from _pydev_bundle import pydev_log + */ + __pyx_t_2 = __Pyx_Import(__pyx_n_s_re, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 162, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_re, __pyx_t_2) < 0) __PYX_ERR(0, 162, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":164 + * import re + * + * from _pydev_bundle import pydev_log # <<<<<<<<<<<<<< + * from _pydevd_bundle import pydevd_dont_trace + * from _pydevd_bundle.pydevd_constants import (RETURN_VALUES_DICT, NO_FTRACE, + */ + __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 164, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_n_s_pydev_log); + __Pyx_GIVEREF(__pyx_n_s_pydev_log); + PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_pydev_log); + __pyx_t_1 = __Pyx_Import(__pyx_n_s_pydev_bundle, __pyx_t_2, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 164, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_pydev_log); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 164, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_pydev_log, __pyx_t_2) < 0) __PYX_ERR(0, 164, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":165 + * + * from _pydev_bundle import pydev_log + * from _pydevd_bundle import pydevd_dont_trace # <<<<<<<<<<<<<< + * from _pydevd_bundle.pydevd_constants import (RETURN_VALUES_DICT, NO_FTRACE, + * EXCEPTION_TYPE_HANDLED, EXCEPTION_TYPE_USER_UNHANDLED, PYDEVD_IPYTHON_CONTEXT) + */ + __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 165, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_s_pydevd_dont_trace); + __Pyx_GIVEREF(__pyx_n_s_pydevd_dont_trace); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_pydevd_dont_trace); + __pyx_t_2 = __Pyx_Import(__pyx_n_s_pydevd_bundle, __pyx_t_1, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 165, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_pydevd_dont_trace); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 165, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_pydevd_dont_trace, __pyx_t_1) < 0) __PYX_ERR(0, 165, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":166 + * from _pydev_bundle import pydev_log + * from _pydevd_bundle import pydevd_dont_trace + * from _pydevd_bundle.pydevd_constants import (RETURN_VALUES_DICT, NO_FTRACE, # <<<<<<<<<<<<<< + * EXCEPTION_TYPE_HANDLED, EXCEPTION_TYPE_USER_UNHANDLED, PYDEVD_IPYTHON_CONTEXT) + * from _pydevd_bundle.pydevd_frame_utils import add_exception_to_frame, just_raised, remove_exception_from_frame, ignore_exception_trace + */ + __pyx_t_2 = PyList_New(5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 166, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_n_s_RETURN_VALUES_DICT); + __Pyx_GIVEREF(__pyx_n_s_RETURN_VALUES_DICT); + PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_RETURN_VALUES_DICT); + __Pyx_INCREF(__pyx_n_s_NO_FTRACE); + __Pyx_GIVEREF(__pyx_n_s_NO_FTRACE); + PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_NO_FTRACE); + __Pyx_INCREF(__pyx_n_s_EXCEPTION_TYPE_HANDLED); + __Pyx_GIVEREF(__pyx_n_s_EXCEPTION_TYPE_HANDLED); + PyList_SET_ITEM(__pyx_t_2, 2, __pyx_n_s_EXCEPTION_TYPE_HANDLED); + __Pyx_INCREF(__pyx_n_s_EXCEPTION_TYPE_USER_UNHANDLED); + __Pyx_GIVEREF(__pyx_n_s_EXCEPTION_TYPE_USER_UNHANDLED); + PyList_SET_ITEM(__pyx_t_2, 3, __pyx_n_s_EXCEPTION_TYPE_USER_UNHANDLED); + __Pyx_INCREF(__pyx_n_s_PYDEVD_IPYTHON_CONTEXT); + __Pyx_GIVEREF(__pyx_n_s_PYDEVD_IPYTHON_CONTEXT); + PyList_SET_ITEM(__pyx_t_2, 4, __pyx_n_s_PYDEVD_IPYTHON_CONTEXT); + __pyx_t_1 = __Pyx_Import(__pyx_n_s_pydevd_bundle_pydevd_constants, __pyx_t_2, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 166, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_RETURN_VALUES_DICT); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 166, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_RETURN_VALUES_DICT, __pyx_t_2) < 0) __PYX_ERR(0, 166, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 166, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_NO_FTRACE, __pyx_t_2) < 0) __PYX_ERR(0, 166, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_EXCEPTION_TYPE_HANDLED); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 166, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_EXCEPTION_TYPE_HANDLED, __pyx_t_2) < 0) __PYX_ERR(0, 167, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_EXCEPTION_TYPE_USER_UNHANDLED); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 166, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_EXCEPTION_TYPE_USER_UNHANDLED, __pyx_t_2) < 0) __PYX_ERR(0, 167, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_PYDEVD_IPYTHON_CONTEXT); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 166, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_PYDEVD_IPYTHON_CONTEXT, __pyx_t_2) < 0) __PYX_ERR(0, 167, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":168 + * from _pydevd_bundle.pydevd_constants import (RETURN_VALUES_DICT, NO_FTRACE, + * EXCEPTION_TYPE_HANDLED, EXCEPTION_TYPE_USER_UNHANDLED, PYDEVD_IPYTHON_CONTEXT) + * from _pydevd_bundle.pydevd_frame_utils import add_exception_to_frame, just_raised, remove_exception_from_frame, ignore_exception_trace # <<<<<<<<<<<<<< + * from _pydevd_bundle.pydevd_utils import get_clsname_for_code + * from pydevd_file_utils import get_abs_path_real_path_and_base_from_frame + */ + __pyx_t_1 = PyList_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 168, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_s_add_exception_to_frame); + __Pyx_GIVEREF(__pyx_n_s_add_exception_to_frame); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_add_exception_to_frame); + __Pyx_INCREF(__pyx_n_s_just_raised); + __Pyx_GIVEREF(__pyx_n_s_just_raised); + PyList_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_just_raised); + __Pyx_INCREF(__pyx_n_s_remove_exception_from_frame); + __Pyx_GIVEREF(__pyx_n_s_remove_exception_from_frame); + PyList_SET_ITEM(__pyx_t_1, 2, __pyx_n_s_remove_exception_from_frame); + __Pyx_INCREF(__pyx_n_s_ignore_exception_trace); + __Pyx_GIVEREF(__pyx_n_s_ignore_exception_trace); + PyList_SET_ITEM(__pyx_t_1, 3, __pyx_n_s_ignore_exception_trace); + __pyx_t_2 = __Pyx_Import(__pyx_n_s_pydevd_bundle_pydevd_frame_util, __pyx_t_1, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 168, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_add_exception_to_frame); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 168, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_add_exception_to_frame, __pyx_t_1) < 0) __PYX_ERR(0, 168, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_just_raised); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 168, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_just_raised, __pyx_t_1) < 0) __PYX_ERR(0, 168, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_remove_exception_from_frame); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 168, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_remove_exception_from_frame, __pyx_t_1) < 0) __PYX_ERR(0, 168, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_ignore_exception_trace); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 168, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ignore_exception_trace, __pyx_t_1) < 0) __PYX_ERR(0, 168, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":169 + * EXCEPTION_TYPE_HANDLED, EXCEPTION_TYPE_USER_UNHANDLED, PYDEVD_IPYTHON_CONTEXT) + * from _pydevd_bundle.pydevd_frame_utils import add_exception_to_frame, just_raised, remove_exception_from_frame, ignore_exception_trace + * from _pydevd_bundle.pydevd_utils import get_clsname_for_code # <<<<<<<<<<<<<< + * from pydevd_file_utils import get_abs_path_real_path_and_base_from_frame + * from _pydevd_bundle.pydevd_comm_constants import constant_to_str, CMD_SET_FUNCTION_BREAK + */ + __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 169, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_n_s_get_clsname_for_code); + __Pyx_GIVEREF(__pyx_n_s_get_clsname_for_code); + PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_get_clsname_for_code); + __pyx_t_1 = __Pyx_Import(__pyx_n_s_pydevd_bundle_pydevd_utils, __pyx_t_2, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 169, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_get_clsname_for_code); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 169, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_clsname_for_code, __pyx_t_2) < 0) __PYX_ERR(0, 169, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":170 + * from _pydevd_bundle.pydevd_frame_utils import add_exception_to_frame, just_raised, remove_exception_from_frame, ignore_exception_trace + * from _pydevd_bundle.pydevd_utils import get_clsname_for_code + * from pydevd_file_utils import get_abs_path_real_path_and_base_from_frame # <<<<<<<<<<<<<< + * from _pydevd_bundle.pydevd_comm_constants import constant_to_str, CMD_SET_FUNCTION_BREAK + * try: + */ + __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 170, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_s_get_abs_path_real_path_and_base); + __Pyx_GIVEREF(__pyx_n_s_get_abs_path_real_path_and_base); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_get_abs_path_real_path_and_base); + __pyx_t_2 = __Pyx_Import(__pyx_n_s_pydevd_file_utils, __pyx_t_1, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 170, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_get_abs_path_real_path_and_base); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 170, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_abs_path_real_path_and_base, __pyx_t_1) < 0) __PYX_ERR(0, 170, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":171 + * from _pydevd_bundle.pydevd_utils import get_clsname_for_code + * from pydevd_file_utils import get_abs_path_real_path_and_base_from_frame + * from _pydevd_bundle.pydevd_comm_constants import constant_to_str, CMD_SET_FUNCTION_BREAK # <<<<<<<<<<<<<< + * try: + * from _pydevd_bundle.pydevd_bytecode_utils import get_smart_step_into_variant_from_frame_offset + */ + __pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 171, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_n_s_constant_to_str); + __Pyx_GIVEREF(__pyx_n_s_constant_to_str); + PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_constant_to_str); + __Pyx_INCREF(__pyx_n_s_CMD_SET_FUNCTION_BREAK); + __Pyx_GIVEREF(__pyx_n_s_CMD_SET_FUNCTION_BREAK); + PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_CMD_SET_FUNCTION_BREAK); + __pyx_t_1 = __Pyx_Import(__pyx_n_s_pydevd_bundle_pydevd_comm_const, __pyx_t_2, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 171, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_constant_to_str); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 171, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_constant_to_str, __pyx_t_2) < 0) __PYX_ERR(0, 171, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_CMD_SET_FUNCTION_BREAK); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 171, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_CMD_SET_FUNCTION_BREAK, __pyx_t_2) < 0) __PYX_ERR(0, 171, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":172 + * from pydevd_file_utils import get_abs_path_real_path_and_base_from_frame + * from _pydevd_bundle.pydevd_comm_constants import constant_to_str, CMD_SET_FUNCTION_BREAK + * try: # <<<<<<<<<<<<<< + * from _pydevd_bundle.pydevd_bytecode_utils import get_smart_step_into_variant_from_frame_offset + * except ImportError: + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5); + __Pyx_XGOTREF(__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_4); + __Pyx_XGOTREF(__pyx_t_5); + /*try:*/ { + + /* "_pydevd_bundle/pydevd_cython.pyx":173 + * from _pydevd_bundle.pydevd_comm_constants import constant_to_str, CMD_SET_FUNCTION_BREAK + * try: + * from _pydevd_bundle.pydevd_bytecode_utils import get_smart_step_into_variant_from_frame_offset # <<<<<<<<<<<<<< + * except ImportError: + * + */ + __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 173, __pyx_L2_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_s_get_smart_step_into_variant_from); + __Pyx_GIVEREF(__pyx_n_s_get_smart_step_into_variant_from); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_get_smart_step_into_variant_from); + __pyx_t_2 = __Pyx_Import(__pyx_n_s_pydevd_bundle_pydevd_bytecode_u, __pyx_t_1, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 173, __pyx_L2_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_get_smart_step_into_variant_from); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 173, __pyx_L2_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_smart_step_into_variant_from, __pyx_t_1) < 0) __PYX_ERR(0, 173, __pyx_L2_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":172 + * from pydevd_file_utils import get_abs_path_real_path_and_base_from_frame + * from _pydevd_bundle.pydevd_comm_constants import constant_to_str, CMD_SET_FUNCTION_BREAK + * try: # <<<<<<<<<<<<<< + * from _pydevd_bundle.pydevd_bytecode_utils import get_smart_step_into_variant_from_frame_offset + * except ImportError: + */ + } + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L7_try_end; + __pyx_L2_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":174 + * try: + * from _pydevd_bundle.pydevd_bytecode_utils import get_smart_step_into_variant_from_frame_offset + * except ImportError: # <<<<<<<<<<<<<< + * + * def get_smart_step_into_variant_from_frame_offset(*args, **kwargs): + */ + __pyx_t_6 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ImportError); + if (__pyx_t_6) { + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_7) < 0) __PYX_ERR(0, 174, __pyx_L4_except_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_7); + + /* "_pydevd_bundle/pydevd_cython.pyx":176 + * except ImportError: + * + * def get_smart_step_into_variant_from_frame_offset(*args, **kwargs): # <<<<<<<<<<<<<< + * return None + * + */ + __pyx_t_8 = PyCFunction_NewEx(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_3get_smart_step_into_variant_from_frame_offset, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 176, __pyx_L4_except_error) + __Pyx_GOTREF(__pyx_t_8); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_smart_step_into_variant_from, __pyx_t_8) < 0) __PYX_ERR(0, 176, __pyx_L4_except_error) + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + goto __pyx_L3_exception_handled; + } + goto __pyx_L4_except_error; + __pyx_L4_except_error:; + + /* "_pydevd_bundle/pydevd_cython.pyx":172 + * from pydevd_file_utils import get_abs_path_real_path_and_base_from_frame + * from _pydevd_bundle.pydevd_comm_constants import constant_to_str, CMD_SET_FUNCTION_BREAK + * try: # <<<<<<<<<<<<<< + * from _pydevd_bundle.pydevd_bytecode_utils import get_smart_step_into_variant_from_frame_offset + * except ImportError: + */ + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_4); + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5); + goto __pyx_L1_error; + __pyx_L3_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_4); + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5); + __pyx_L7_try_end:; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":196 + * # ENDIF + * + * basename = os.path.basename # <<<<<<<<<<<<<< + * + * IGNORE_EXCEPTION_TAG = re.compile('[^#]*#.*@IgnoreException') + */ + __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_os); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 196, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_path); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 196, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_basename); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 196, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (PyDict_SetItem(__pyx_d, __pyx_n_s_basename, __pyx_t_7) < 0) __PYX_ERR(0, 196, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":198 + * basename = os.path.basename + * + * IGNORE_EXCEPTION_TAG = re.compile('[^#]*#.*@IgnoreException') # <<<<<<<<<<<<<< + * DEBUG_START = ('pydevd.py', 'run') + * DEBUG_START_PY3K = ('_pydev_execfile.py', 'execfile') + */ + __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_re); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 198, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_compile); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 198, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__20, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 198, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (PyDict_SetItem(__pyx_d, __pyx_n_s_IGNORE_EXCEPTION_TAG, __pyx_t_7) < 0) __PYX_ERR(0, 198, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":199 + * + * IGNORE_EXCEPTION_TAG = re.compile('[^#]*#.*@IgnoreException') + * DEBUG_START = ('pydevd.py', 'run') # <<<<<<<<<<<<<< + * DEBUG_START_PY3K = ('_pydev_execfile.py', 'execfile') + * TRACE_PROPERTY = 'pydevd_traceproperty.py' + */ + if (PyDict_SetItem(__pyx_d, __pyx_n_s_DEBUG_START, __pyx_tuple__21) < 0) __PYX_ERR(0, 199, __pyx_L1_error) + + /* "_pydevd_bundle/pydevd_cython.pyx":200 + * IGNORE_EXCEPTION_TAG = re.compile('[^#]*#.*@IgnoreException') + * DEBUG_START = ('pydevd.py', 'run') + * DEBUG_START_PY3K = ('_pydev_execfile.py', 'execfile') # <<<<<<<<<<<<<< + * TRACE_PROPERTY = 'pydevd_traceproperty.py' + * + */ + if (PyDict_SetItem(__pyx_d, __pyx_n_s_DEBUG_START_PY3K, __pyx_tuple__22) < 0) __PYX_ERR(0, 200, __pyx_L1_error) + + /* "_pydevd_bundle/pydevd_cython.pyx":201 + * DEBUG_START = ('pydevd.py', 'run') + * DEBUG_START_PY3K = ('_pydev_execfile.py', 'execfile') + * TRACE_PROPERTY = 'pydevd_traceproperty.py' # <<<<<<<<<<<<<< + * + * import dis + */ + if (PyDict_SetItem(__pyx_d, __pyx_n_s_TRACE_PROPERTY, __pyx_kp_s_pydevd_traceproperty_py) < 0) __PYX_ERR(0, 201, __pyx_L1_error) + + /* "_pydevd_bundle/pydevd_cython.pyx":203 + * TRACE_PROPERTY = 'pydevd_traceproperty.py' + * + * import dis # <<<<<<<<<<<<<< + * + * try: + */ + __pyx_t_7 = __Pyx_Import(__pyx_n_s_dis, 0, -1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 203, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_dis, __pyx_t_7) < 0) __PYX_ERR(0, 203, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":205 + * import dis + * + * try: # <<<<<<<<<<<<<< + * StopAsyncIteration + * except NameError: + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_5); + __Pyx_XGOTREF(__pyx_t_4); + __Pyx_XGOTREF(__pyx_t_3); + /*try:*/ { + + /* "_pydevd_bundle/pydevd_cython.pyx":206 + * + * try: + * StopAsyncIteration # <<<<<<<<<<<<<< + * except NameError: + * StopAsyncIteration = StopIteration + */ + __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_StopAsyncIteration); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 206, __pyx_L10_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":205 + * import dis + * + * try: # <<<<<<<<<<<<<< + * StopAsyncIteration + * except NameError: + */ + } + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L15_try_end; + __pyx_L10_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":207 + * try: + * StopAsyncIteration + * except NameError: # <<<<<<<<<<<<<< + * StopAsyncIteration = StopIteration + * + */ + __pyx_t_6 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_NameError); + if (__pyx_t_6) { + __Pyx_AddTraceback("_pydevd_bundle.pydevd_cython", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_1, &__pyx_t_2) < 0) __PYX_ERR(0, 207, __pyx_L12_except_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_2); + + /* "_pydevd_bundle/pydevd_cython.pyx":208 + * StopAsyncIteration + * except NameError: + * StopAsyncIteration = StopIteration # <<<<<<<<<<<<<< + * + * + */ + if (PyDict_SetItem(__pyx_d, __pyx_n_s_StopAsyncIteration, __pyx_builtin_StopIteration) < 0) __PYX_ERR(0, 208, __pyx_L12_except_error) + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L11_exception_handled; + } + goto __pyx_L12_except_error; + __pyx_L12_except_error:; + + /* "_pydevd_bundle/pydevd_cython.pyx":205 + * import dis + * + * try: # <<<<<<<<<<<<<< + * StopAsyncIteration + * except NameError: + */ + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_XGIVEREF(__pyx_t_4); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3); + goto __pyx_L1_error; + __pyx_L11_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_XGIVEREF(__pyx_t_4); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3); + __pyx_L15_try_end:; + } + + /* "_pydevd_bundle/pydevd_cython.pyx":286 + * # Same thing in the main debugger but only considering the file contents, while the one in the main debugger + * # considers the user input (so, the actual result must be a join of both). + * filename_to_lines_where_exceptions_are_ignored = {} # <<<<<<<<<<<<<< + * filename_to_stat_info = {} + * + */ + __pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 286, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBFrame->tp_dict, __pyx_n_s_filename_to_lines_where_exceptio, __pyx_t_2) < 0) __PYX_ERR(0, 286, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + PyType_Modified(__pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBFrame); + + /* "_pydevd_bundle/pydevd_cython.pyx":287 + * # considers the user input (so, the actual result must be a join of both). + * filename_to_lines_where_exceptions_are_ignored = {} + * filename_to_stat_info = {} # <<<<<<<<<<<<<< + * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + */ + __pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 287, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBFrame->tp_dict, __pyx_n_s_filename_to_stat_info, __pyx_t_2) < 0) __PYX_ERR(0, 287, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + PyType_Modified(__pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBFrame); + + /* "_pydevd_bundle/pydevd_cython.pyx":1387 + * + * # end trace_dispatch + * from _pydev_bundle.pydev_is_thread_alive import is_thread_alive # <<<<<<<<<<<<<< + * from _pydev_bundle.pydev_log import exception as pydev_log_exception + * from _pydev_bundle._pydev_saved_modules import threading + */ + __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1387, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_n_s_is_thread_alive); + __Pyx_GIVEREF(__pyx_n_s_is_thread_alive); + PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_is_thread_alive); + __pyx_t_1 = __Pyx_Import(__pyx_n_s_pydev_bundle_pydev_is_thread_al, __pyx_t_2, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1387, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_is_thread_alive); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1387, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_is_thread_alive, __pyx_t_2) < 0) __PYX_ERR(0, 1387, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1388 + * # end trace_dispatch + * from _pydev_bundle.pydev_is_thread_alive import is_thread_alive + * from _pydev_bundle.pydev_log import exception as pydev_log_exception # <<<<<<<<<<<<<< + * from _pydev_bundle._pydev_saved_modules import threading + * from _pydevd_bundle.pydevd_constants import (get_current_thread_id, NO_FTRACE, + */ + __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1388, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_s_exception); + __Pyx_GIVEREF(__pyx_n_s_exception); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_exception); + __pyx_t_2 = __Pyx_Import(__pyx_n_s_pydev_bundle_pydev_log, __pyx_t_1, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1388, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_exception); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1388, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_pydev_log_exception, __pyx_t_1) < 0) __PYX_ERR(0, 1388, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1389 + * from _pydev_bundle.pydev_is_thread_alive import is_thread_alive + * from _pydev_bundle.pydev_log import exception as pydev_log_exception + * from _pydev_bundle._pydev_saved_modules import threading # <<<<<<<<<<<<<< + * from _pydevd_bundle.pydevd_constants import (get_current_thread_id, NO_FTRACE, + * USE_CUSTOM_SYS_CURRENT_FRAMES_MAP, ForkSafeLock) + */ + __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1389, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_n_s_threading); + __Pyx_GIVEREF(__pyx_n_s_threading); + PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_threading); + __pyx_t_1 = __Pyx_Import(__pyx_n_s_pydev_bundle__pydev_saved_modul, __pyx_t_2, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1389, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_threading); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1389, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_threading, __pyx_t_2) < 0) __PYX_ERR(0, 1389, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1390 + * from _pydev_bundle.pydev_log import exception as pydev_log_exception + * from _pydev_bundle._pydev_saved_modules import threading + * from _pydevd_bundle.pydevd_constants import (get_current_thread_id, NO_FTRACE, # <<<<<<<<<<<<<< + * USE_CUSTOM_SYS_CURRENT_FRAMES_MAP, ForkSafeLock) + * from pydevd_file_utils import get_abs_path_real_path_and_base_from_frame, NORM_PATHS_AND_BASE_CONTAINER + */ + __pyx_t_1 = PyList_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1390, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_s_get_current_thread_id); + __Pyx_GIVEREF(__pyx_n_s_get_current_thread_id); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_get_current_thread_id); + __Pyx_INCREF(__pyx_n_s_NO_FTRACE); + __Pyx_GIVEREF(__pyx_n_s_NO_FTRACE); + PyList_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_NO_FTRACE); + __Pyx_INCREF(__pyx_n_s_USE_CUSTOM_SYS_CURRENT_FRAMES_MA); + __Pyx_GIVEREF(__pyx_n_s_USE_CUSTOM_SYS_CURRENT_FRAMES_MA); + PyList_SET_ITEM(__pyx_t_1, 2, __pyx_n_s_USE_CUSTOM_SYS_CURRENT_FRAMES_MA); + __Pyx_INCREF(__pyx_n_s_ForkSafeLock); + __Pyx_GIVEREF(__pyx_n_s_ForkSafeLock); + PyList_SET_ITEM(__pyx_t_1, 3, __pyx_n_s_ForkSafeLock); + __pyx_t_2 = __Pyx_Import(__pyx_n_s_pydevd_bundle_pydevd_constants, __pyx_t_1, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1390, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_get_current_thread_id); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1390, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_current_thread_id, __pyx_t_1) < 0) __PYX_ERR(0, 1390, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_NO_FTRACE); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1390, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_NO_FTRACE, __pyx_t_1) < 0) __PYX_ERR(0, 1390, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_USE_CUSTOM_SYS_CURRENT_FRAMES_MA); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1390, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_USE_CUSTOM_SYS_CURRENT_FRAMES_MA, __pyx_t_1) < 0) __PYX_ERR(0, 1391, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_ForkSafeLock); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1390, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ForkSafeLock, __pyx_t_1) < 0) __PYX_ERR(0, 1391, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1392 + * from _pydevd_bundle.pydevd_constants import (get_current_thread_id, NO_FTRACE, + * USE_CUSTOM_SYS_CURRENT_FRAMES_MAP, ForkSafeLock) + * from pydevd_file_utils import get_abs_path_real_path_and_base_from_frame, NORM_PATHS_AND_BASE_CONTAINER # <<<<<<<<<<<<<< + * + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + */ + __pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1392, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_n_s_get_abs_path_real_path_and_base); + __Pyx_GIVEREF(__pyx_n_s_get_abs_path_real_path_and_base); + PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_get_abs_path_real_path_and_base); + __Pyx_INCREF(__pyx_n_s_NORM_PATHS_AND_BASE_CONTAINER); + __Pyx_GIVEREF(__pyx_n_s_NORM_PATHS_AND_BASE_CONTAINER); + PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_NORM_PATHS_AND_BASE_CONTAINER); + __pyx_t_1 = __Pyx_Import(__pyx_n_s_pydevd_file_utils, __pyx_t_2, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1392, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_get_abs_path_real_path_and_base); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1392, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_abs_path_real_path_and_base, __pyx_t_2) < 0) __PYX_ERR(0, 1392, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_NORM_PATHS_AND_BASE_CONTAINER); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1392, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_NORM_PATHS_AND_BASE_CONTAINER, __pyx_t_2) < 0) __PYX_ERR(0, 1392, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1415 + * # - Breakpoints are changed + * # It can be used when running regularly (without step over/step in/step return) + * global_cache_skips = {} # <<<<<<<<<<<<<< + * global_cache_frame_skips = {} + * + */ + __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1415, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_global_cache_skips, __pyx_t_1) < 0) __PYX_ERR(0, 1415, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1416 + * # It can be used when running regularly (without step over/step in/step return) + * global_cache_skips = {} + * global_cache_frame_skips = {} # <<<<<<<<<<<<<< + * + * _global_notify_skipped_step_in = False + */ + __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1416, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_global_cache_frame_skips, __pyx_t_1) < 0) __PYX_ERR(0, 1416, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1418 + * global_cache_frame_skips = {} + * + * _global_notify_skipped_step_in = False # <<<<<<<<<<<<<< + * _global_notify_skipped_step_in_lock = ForkSafeLock() + * + */ + __Pyx_INCREF(Py_False); + __Pyx_XGOTREF(__pyx_v_14_pydevd_bundle_13pydevd_cython__global_notify_skipped_step_in); + __Pyx_DECREF_SET(__pyx_v_14_pydevd_bundle_13pydevd_cython__global_notify_skipped_step_in, ((PyObject*)Py_False)); + __Pyx_GIVEREF(Py_False); + + /* "_pydevd_bundle/pydevd_cython.pyx":1419 + * + * _global_notify_skipped_step_in = False + * _global_notify_skipped_step_in_lock = ForkSafeLock() # <<<<<<<<<<<<<< + * + * + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_ForkSafeLock); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1419, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1419, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (PyDict_SetItem(__pyx_d, __pyx_n_s_global_notify_skipped_step_in_l, __pyx_t_2) < 0) __PYX_ERR(0, 1419, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1422 + * + * + * def notify_skipped_step_in_because_of_filters(py_db, frame): # <<<<<<<<<<<<<< + * global _global_notify_skipped_step_in + * + */ + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_5notify_skipped_step_in_because_of_filters, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1422, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_notify_skipped_step_in_because_o, __pyx_t_2) < 0) __PYX_ERR(0, 1422, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1452 + * + * + * def fix_top_level_trace_and_get_trace_func(py_db, frame): # <<<<<<<<<<<<<< + * # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + * cdef str filename; + */ + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_7fix_top_level_trace_and_get_trace_func, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1452, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_fix_top_level_trace_and_get_trac, __pyx_t_2) < 0) __PYX_ERR(0, 1452, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1580 + * + * + * def trace_dispatch(py_db, frame, event, arg): # <<<<<<<<<<<<<< + * thread_trace_func, apply_to_settrace = py_db.fix_top_level_trace_and_get_trace_func(py_db, frame) + * if thread_trace_func is None: + */ + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_9trace_dispatch, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1580, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_trace_dispatch, __pyx_t_2) < 0) __PYX_ERR(0, 1580, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1854 + * + * + * if USE_CUSTOM_SYS_CURRENT_FRAMES_MAP: # <<<<<<<<<<<<<< + * # This is far from ideal, as we'll leak frames (we'll always have the last created frame, not really + * # the last topmost frame saved -- this should be Ok for our usage, but it may leak frames and things + */ + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_USE_CUSTOM_SYS_CURRENT_FRAMES_MA); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1854, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 1854, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (__pyx_t_9) { + + /* "_pydevd_bundle/pydevd_cython.pyx":1862 + * # + * # See: https://github.com/IronLanguages/main/issues/1630 + * from _pydevd_bundle.pydevd_constants import constructed_tid_to_last_frame # <<<<<<<<<<<<<< + * + * _original_call = ThreadTracer.__call__ + */ + __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1862, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_n_s_constructed_tid_to_last_frame); + __Pyx_GIVEREF(__pyx_n_s_constructed_tid_to_last_frame); + PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_constructed_tid_to_last_frame); + __pyx_t_1 = __Pyx_Import(__pyx_n_s_pydevd_bundle_pydevd_constants, __pyx_t_2, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1862, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_constructed_tid_to_last_frame); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1862, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_constructed_tid_to_last_frame, __pyx_t_2) < 0) __PYX_ERR(0, 1862, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1864 + * from _pydevd_bundle.pydevd_constants import constructed_tid_to_last_frame + * + * _original_call = ThreadTracer.__call__ # <<<<<<<<<<<<<< + * + * def __call__(self, frame, event, arg): + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_ThreadTracer), __pyx_n_s_call_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1864, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_original_call, __pyx_t_1) < 0) __PYX_ERR(0, 1864, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1866 + * _original_call = ThreadTracer.__call__ + * + * def __call__(self, frame, event, arg): # <<<<<<<<<<<<<< + * constructed_tid_to_last_frame[self._args[1].ident] = frame + * return _original_call(self, frame, event, arg) + */ + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_11__call__, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1866, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_call_2, __pyx_t_1) < 0) __PYX_ERR(0, 1866, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1870 + * return _original_call(self, frame, event, arg) + * + * ThreadTracer.__call__ = __call__ # <<<<<<<<<<<<<< + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_call_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1870, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_ThreadTracer), __pyx_n_s_call_2, __pyx_t_1) < 0) __PYX_ERR(0, 1870, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1854 + * + * + * if USE_CUSTOM_SYS_CURRENT_FRAMES_MAP: # <<<<<<<<<<<<<< + * # This is far from ideal, as we'll leak frames (we'll always have the last created frame, not really + * # the last topmost frame saved -- this should be Ok for our usage, but it may leak frames and things + */ + } + + /* "(tree fragment)":1 + * def __pyx_unpickle_PyDBAdditionalThreadInfo(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * cdef object __pyx_PickleError + * cdef object __pyx_result + */ + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_13__pyx_unpickle_PyDBAdditionalThreadInfo, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_PyDBAdditionalThr, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "(tree fragment)":11 + * __pyx_unpickle_PyDBAdditionalThreadInfo__set_state( __pyx_result, __pyx_state) + * return __pyx_result + * cdef __pyx_unpickle_PyDBAdditionalThreadInfo__set_state(PyDBAdditionalThreadInfo __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<< + * __pyx_result.conditional_breakpoint_exception = __pyx_state[0]; __pyx_result.is_tracing = __pyx_state[1]; __pyx_result.pydev_call_from_jinja2 = __pyx_state[2]; __pyx_result.pydev_call_inside_jinja2 = __pyx_state[3]; __pyx_result.pydev_django_resolve_frame = __pyx_state[4]; __pyx_result.pydev_func_name = __pyx_state[5]; __pyx_result.pydev_message = __pyx_state[6]; __pyx_result.pydev_next_line = __pyx_state[7]; __pyx_result.pydev_notify_kill = __pyx_state[8]; __pyx_result.pydev_original_step_cmd = __pyx_state[9]; __pyx_result.pydev_smart_child_offset = __pyx_state[10]; __pyx_result.pydev_smart_parent_offset = __pyx_state[11]; __pyx_result.pydev_smart_step_into_variants = __pyx_state[12]; __pyx_result.pydev_smart_step_stop = __pyx_state[13]; __pyx_result.pydev_state = __pyx_state[14]; __pyx_result.pydev_step_cmd = __pyx_state[15]; __pyx_result.pydev_step_stop = __pyx_state[16]; __pyx_result.pydev_use_scoped_step_frame = __pyx_state[17]; __pyx_result.step_in_initial_location = __pyx_state[18]; __pyx_result.suspend_type = __pyx_state[19]; __pyx_result.suspended_at_unhandled = __pyx_state[20]; __pyx_result.target_id_to_smart_step_into_variant = __pyx_state[21]; __pyx_result.thread_tracer = __pyx_state[22]; __pyx_result.top_level_thread_tracer_no_back_frames = __pyx_state[23]; __pyx_result.top_level_thread_tracer_unhandled = __pyx_state[24]; __pyx_result.trace_suspend_type = __pyx_state[25] + * if len(__pyx_state) > 26 and hasattr(__pyx_result, '__dict__'): + */ + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_15__pyx_unpickle__TryExceptContainerObj, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle__TryExceptContain, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "(tree fragment)":1 + * def __pyx_unpickle_PyDBFrame(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * cdef object __pyx_PickleError + * cdef object __pyx_result + */ + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_17__pyx_unpickle_PyDBFrame, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_PyDBFrame, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "(tree fragment)":11 + * __pyx_unpickle_PyDBFrame__set_state( __pyx_result, __pyx_state) + * return __pyx_result + * cdef __pyx_unpickle_PyDBFrame__set_state(PyDBFrame __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<< + * __pyx_result._args = __pyx_state[0]; __pyx_result.exc_info = __pyx_state[1]; __pyx_result.should_skip = __pyx_state[2] + * if len(__pyx_state) > 3 and hasattr(__pyx_result, '__dict__'): + */ + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_19__pyx_unpickle_SafeCallWrapper, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_SafeCallWrapper, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "(tree fragment)":1 + * def __pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * cdef object __pyx_PickleError + * cdef object __pyx_result + */ + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_21__pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_TopLevelThreadTra, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "(tree fragment)":11 + * __pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions__set_state( __pyx_result, __pyx_state) + * return __pyx_result + * cdef __pyx_unpickle_TopLevelThreadTracerOnlyUnhandledExceptions__set_state(TopLevelThreadTracerOnlyUnhandledExceptions __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<< + * __pyx_result._args = __pyx_state[0] + * if len(__pyx_state) > 1 and hasattr(__pyx_result, '__dict__'): + */ + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_23__pyx_unpickle_TopLevelThreadTracerNoBackFrame, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_TopLevelThreadTra_2, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "(tree fragment)":1 + * def __pyx_unpickle_ThreadTracer(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * cdef object __pyx_PickleError + * cdef object __pyx_result + */ + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_14_pydevd_bundle_13pydevd_cython_25__pyx_unpickle_ThreadTracer, NULL, __pyx_n_s_pydevd_bundle_pydevd_cython); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_ThreadTracer, __pyx_t_1) < 0) __PYX_ERR(2, 1, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_bundle/pydevd_cython.pyx":1 + * from __future__ import print_function # <<<<<<<<<<<<<< + * + * # Important: Autogenerated file. + */ + __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_1) < 0) __PYX_ERR(0, 1, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /*--- Wrapped vars code ---*/ + + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + if (__pyx_m) { + if (__pyx_d) { + __Pyx_AddTraceback("init _pydevd_bundle.pydevd_cython", __pyx_clineno, __pyx_lineno, __pyx_filename); + } + Py_CLEAR(__pyx_m); + } else if (!PyErr_Occurred()) { + PyErr_SetString(PyExc_ImportError, "init _pydevd_bundle.pydevd_cython"); + } + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + #if CYTHON_PEP489_MULTI_PHASE_INIT + return (__pyx_m != NULL) ? 0 : -1; + #elif PY_MAJOR_VERSION >= 3 + return __pyx_m; + #else + return; + #endif +} + +/* --- Runtime support code --- */ +/* Refnanny */ +#if CYTHON_REFNANNY +static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) { + PyObject *m = NULL, *p = NULL; + void *r = NULL; + m = PyImport_ImportModule(modname); + if (!m) goto end; + p = PyObject_GetAttrString(m, "RefNannyAPI"); + if (!p) goto end; + r = PyLong_AsVoidPtr(p); +end: + Py_XDECREF(p); + Py_XDECREF(m); + return (__Pyx_RefNannyAPIStruct *)r; +} +#endif + +/* PyObjectGetAttrStr */ +#if CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) { + PyTypeObject* tp = Py_TYPE(obj); + if (likely(tp->tp_getattro)) + return tp->tp_getattro(obj, attr_name); +#if PY_MAJOR_VERSION < 3 + if (likely(tp->tp_getattr)) + return tp->tp_getattr(obj, PyString_AS_STRING(attr_name)); +#endif + return PyObject_GetAttr(obj, attr_name); +} +#endif + +/* GetBuiltinName */ +static PyObject *__Pyx_GetBuiltinName(PyObject *name) { + PyObject* result = __Pyx_PyObject_GetAttrStr(__pyx_b, name); + if (unlikely(!result)) { + PyErr_Format(PyExc_NameError, +#if PY_MAJOR_VERSION >= 3 + "name '%U' is not defined", name); +#else + "name '%.200s' is not defined", PyString_AS_STRING(name)); +#endif + } + return result; +} + +/* RaiseArgTupleInvalid */ +static void __Pyx_RaiseArgtupleInvalid( + const char* func_name, + int exact, + Py_ssize_t num_min, + Py_ssize_t num_max, + Py_ssize_t num_found) +{ + Py_ssize_t num_expected; + const char *more_or_less; + if (num_found < num_min) { + num_expected = num_min; + more_or_less = "at least"; + } else { + num_expected = num_max; + more_or_less = "at most"; + } + if (exact) { + more_or_less = "exactly"; + } + PyErr_Format(PyExc_TypeError, + "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)", + func_name, more_or_less, num_expected, + (num_expected == 1) ? "" : "s", num_found); +} + +/* KeywordStringCheck */ +static int __Pyx_CheckKeywordStrings( + PyObject *kwdict, + const char* function_name, + int kw_allowed) +{ + PyObject* key = 0; + Py_ssize_t pos = 0; +#if CYTHON_COMPILING_IN_PYPY + if (!kw_allowed && PyDict_Next(kwdict, &pos, &key, 0)) + goto invalid_keyword; + return 1; +#else + while (PyDict_Next(kwdict, &pos, &key, 0)) { + #if PY_MAJOR_VERSION < 3 + if (unlikely(!PyString_Check(key))) + #endif + if (unlikely(!PyUnicode_Check(key))) + goto invalid_keyword_type; + } + if ((!kw_allowed) && unlikely(key)) + goto invalid_keyword; + return 1; +invalid_keyword_type: + PyErr_Format(PyExc_TypeError, + "%.200s() keywords must be strings", function_name); + return 0; +#endif +invalid_keyword: + PyErr_Format(PyExc_TypeError, + #if PY_MAJOR_VERSION < 3 + "%.200s() got an unexpected keyword argument '%.200s'", + function_name, PyString_AsString(key)); + #else + "%s() got an unexpected keyword argument '%U'", + function_name, key); + #endif + return 0; +} + +/* PyDictVersioning */ +#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj) { + PyObject *dict = Py_TYPE(obj)->tp_dict; + return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0; +} +static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj) { + PyObject **dictptr = NULL; + Py_ssize_t offset = Py_TYPE(obj)->tp_dictoffset; + if (offset) { +#if CYTHON_COMPILING_IN_CPYTHON + dictptr = (likely(offset > 0)) ? (PyObject **) ((char *)obj + offset) : _PyObject_GetDictPtr(obj); +#else + dictptr = _PyObject_GetDictPtr(obj); +#endif + } + return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0; +} +static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version) { + PyObject *dict = Py_TYPE(obj)->tp_dict; + if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict))) + return 0; + return obj_dict_version == __Pyx_get_object_dict_version(obj); +} +#endif + +/* GetModuleGlobalName */ +#if CYTHON_USE_DICT_VERSIONS +static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value) +#else +static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name) +#endif +{ + PyObject *result; +#if !CYTHON_AVOID_BORROWED_REFS +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 + result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash); + __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) + if (likely(result)) { + return __Pyx_NewRef(result); + } else if (unlikely(PyErr_Occurred())) { + return NULL; + } +#else + result = PyDict_GetItem(__pyx_d, name); + __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) + if (likely(result)) { + return __Pyx_NewRef(result); + } +#endif +#else + result = PyObject_GetItem(__pyx_d, name); + __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) + if (likely(result)) { + return __Pyx_NewRef(result); + } + PyErr_Clear(); +#endif + return __Pyx_GetBuiltinName(name); +} + +/* PyFunctionFastCall */ +#if CYTHON_FAST_PYCALL +static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na, + PyObject *globals) { + PyFrameObject *f; + PyThreadState *tstate = __Pyx_PyThreadState_Current; + PyObject **fastlocals; + Py_ssize_t i; + PyObject *result; + assert(globals != NULL); + /* XXX Perhaps we should create a specialized + PyFrame_New() that doesn't take locals, but does + take builtins without sanity checking them. + */ + assert(tstate != NULL); + f = PyFrame_New(tstate, co, globals, NULL); + if (f == NULL) { + return NULL; + } + fastlocals = __Pyx_PyFrame_GetLocalsplus(f); + for (i = 0; i < na; i++) { + Py_INCREF(*args); + fastlocals[i] = *args++; + } + result = PyEval_EvalFrameEx(f,0); + ++tstate->recursion_depth; + Py_DECREF(f); + --tstate->recursion_depth; + return result; +} +#if 1 || PY_VERSION_HEX < 0x030600B1 +static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs) { + PyCodeObject *co = (PyCodeObject *)PyFunction_GET_CODE(func); + PyObject *globals = PyFunction_GET_GLOBALS(func); + PyObject *argdefs = PyFunction_GET_DEFAULTS(func); + PyObject *closure; +#if PY_MAJOR_VERSION >= 3 + PyObject *kwdefs; +#endif + PyObject *kwtuple, **k; + PyObject **d; + Py_ssize_t nd; + Py_ssize_t nk; + PyObject *result; + assert(kwargs == NULL || PyDict_Check(kwargs)); + nk = kwargs ? PyDict_Size(kwargs) : 0; + if (Py_EnterRecursiveCall((char*)" while calling a Python object")) { + return NULL; + } + if ( +#if PY_MAJOR_VERSION >= 3 + co->co_kwonlyargcount == 0 && +#endif + likely(kwargs == NULL || nk == 0) && + co->co_flags == (CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE)) { + if (argdefs == NULL && co->co_argcount == nargs) { + result = __Pyx_PyFunction_FastCallNoKw(co, args, nargs, globals); + goto done; + } + else if (nargs == 0 && argdefs != NULL + && co->co_argcount == Py_SIZE(argdefs)) { + /* function called with no arguments, but all parameters have + a default value: use default values as arguments .*/ + args = &PyTuple_GET_ITEM(argdefs, 0); + result =__Pyx_PyFunction_FastCallNoKw(co, args, Py_SIZE(argdefs), globals); + goto done; + } + } + if (kwargs != NULL) { + Py_ssize_t pos, i; + kwtuple = PyTuple_New(2 * nk); + if (kwtuple == NULL) { + result = NULL; + goto done; + } + k = &PyTuple_GET_ITEM(kwtuple, 0); + pos = i = 0; + while (PyDict_Next(kwargs, &pos, &k[i], &k[i+1])) { + Py_INCREF(k[i]); + Py_INCREF(k[i+1]); + i += 2; + } + nk = i / 2; + } + else { + kwtuple = NULL; + k = NULL; + } + closure = PyFunction_GET_CLOSURE(func); +#if PY_MAJOR_VERSION >= 3 + kwdefs = PyFunction_GET_KW_DEFAULTS(func); +#endif + if (argdefs != NULL) { + d = &PyTuple_GET_ITEM(argdefs, 0); + nd = Py_SIZE(argdefs); + } + else { + d = NULL; + nd = 0; + } +#if PY_MAJOR_VERSION >= 3 + result = PyEval_EvalCodeEx((PyObject*)co, globals, (PyObject *)NULL, + args, (int)nargs, + k, (int)nk, + d, (int)nd, kwdefs, closure); +#else + result = PyEval_EvalCodeEx(co, globals, (PyObject *)NULL, + args, (int)nargs, + k, (int)nk, + d, (int)nd, closure); +#endif + Py_XDECREF(kwtuple); +done: + Py_LeaveRecursiveCall(); + return result; +} +#endif +#endif + +/* PyObjectCall */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) { + PyObject *result; + ternaryfunc call = Py_TYPE(func)->tp_call; + if (unlikely(!call)) + return PyObject_Call(func, arg, kw); + if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) + return NULL; + result = (*call)(func, arg, kw); + Py_LeaveRecursiveCall(); + if (unlikely(!result) && unlikely(!PyErr_Occurred())) { + PyErr_SetString( + PyExc_SystemError, + "NULL result without error in PyObject_Call"); + } + return result; +} +#endif + +/* PyObjectCallMethO */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) { + PyObject *self, *result; + PyCFunction cfunc; + cfunc = PyCFunction_GET_FUNCTION(func); + self = PyCFunction_GET_SELF(func); + if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) + return NULL; + result = cfunc(self, arg); + Py_LeaveRecursiveCall(); + if (unlikely(!result) && unlikely(!PyErr_Occurred())) { + PyErr_SetString( + PyExc_SystemError, + "NULL result without error in PyObject_Call"); + } + return result; +} +#endif + +/* PyObjectCallNoArg */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) { +#if CYTHON_FAST_PYCALL + if (PyFunction_Check(func)) { + return __Pyx_PyFunction_FastCall(func, NULL, 0); + } +#endif +#ifdef __Pyx_CyFunction_USED + if (likely(PyCFunction_Check(func) || __Pyx_CyFunction_Check(func))) +#else + if (likely(PyCFunction_Check(func))) +#endif + { + if (likely(PyCFunction_GET_FLAGS(func) & METH_NOARGS)) { + return __Pyx_PyObject_CallMethO(func, NULL); + } + } + return __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL); +} +#endif + +/* PyCFunctionFastCall */ +#if CYTHON_FAST_PYCCALL +static CYTHON_INLINE PyObject * __Pyx_PyCFunction_FastCall(PyObject *func_obj, PyObject **args, Py_ssize_t nargs) { + PyCFunctionObject *func = (PyCFunctionObject*)func_obj; + PyCFunction meth = PyCFunction_GET_FUNCTION(func); + PyObject *self = PyCFunction_GET_SELF(func); + int flags = PyCFunction_GET_FLAGS(func); + assert(PyCFunction_Check(func)); + assert(METH_FASTCALL == (flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS))); + assert(nargs >= 0); + assert(nargs == 0 || args != NULL); + /* _PyCFunction_FastCallDict() must not be called with an exception set, + because it may clear it (directly or indirectly) and so the + caller loses its exception */ + assert(!PyErr_Occurred()); + if ((PY_VERSION_HEX < 0x030700A0) || unlikely(flags & METH_KEYWORDS)) { + return (*((__Pyx_PyCFunctionFastWithKeywords)(void*)meth)) (self, args, nargs, NULL); + } else { + return (*((__Pyx_PyCFunctionFast)(void*)meth)) (self, args, nargs); + } +} +#endif + +/* PyObjectCallOneArg */ +#if CYTHON_COMPILING_IN_CPYTHON +static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) { + PyObject *result; + PyObject *args = PyTuple_New(1); + if (unlikely(!args)) return NULL; + Py_INCREF(arg); + PyTuple_SET_ITEM(args, 0, arg); + result = __Pyx_PyObject_Call(func, args, NULL); + Py_DECREF(args); + return result; +} +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { +#if CYTHON_FAST_PYCALL + if (PyFunction_Check(func)) { + return __Pyx_PyFunction_FastCall(func, &arg, 1); + } +#endif + if (likely(PyCFunction_Check(func))) { + if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) { + return __Pyx_PyObject_CallMethO(func, arg); +#if CYTHON_FAST_PYCCALL + } else if (__Pyx_PyFastCFunction_Check(func)) { + return __Pyx_PyCFunction_FastCall(func, &arg, 1); +#endif + } + } + return __Pyx__PyObject_CallOneArg(func, arg); +} +#else +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { + PyObject *result; + PyObject *args = PyTuple_Pack(1, arg); + if (unlikely(!args)) return NULL; + result = __Pyx_PyObject_Call(func, args, NULL); + Py_DECREF(args); + return result; +} +#endif + +/* PyObjectCall2Args */ +static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) { + PyObject *args, *result = NULL; + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(function)) { + PyObject *args[2] = {arg1, arg2}; + return __Pyx_PyFunction_FastCall(function, args, 2); + } + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(function)) { + PyObject *args[2] = {arg1, arg2}; + return __Pyx_PyCFunction_FastCall(function, args, 2); + } + #endif + args = PyTuple_New(2); + if (unlikely(!args)) goto done; + Py_INCREF(arg1); + PyTuple_SET_ITEM(args, 0, arg1); + Py_INCREF(arg2); + PyTuple_SET_ITEM(args, 1, arg2); + Py_INCREF(function); + result = __Pyx_PyObject_Call(function, args, NULL); + Py_DECREF(args); + Py_DECREF(function); +done: + return result; +} + +/* PyErrExceptionMatches */ +#if CYTHON_FAST_THREAD_STATE +static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { + Py_ssize_t i, n; + n = PyTuple_GET_SIZE(tuple); +#if PY_MAJOR_VERSION >= 3 + for (i=0; icurexc_type; + if (exc_type == err) return 1; + if (unlikely(!exc_type)) return 0; + if (unlikely(PyTuple_Check(err))) + return __Pyx_PyErr_ExceptionMatchesTuple(exc_type, err); + return __Pyx_PyErr_GivenExceptionMatches(exc_type, err); +} +#endif + +/* PyErrFetchRestore */ +#if CYTHON_FAST_THREAD_STATE +static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + tmp_type = tstate->curexc_type; + tmp_value = tstate->curexc_value; + tmp_tb = tstate->curexc_traceback; + tstate->curexc_type = type; + tstate->curexc_value = value; + tstate->curexc_traceback = tb; + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +} +static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { + *type = tstate->curexc_type; + *value = tstate->curexc_value; + *tb = tstate->curexc_traceback; + tstate->curexc_type = 0; + tstate->curexc_value = 0; + tstate->curexc_traceback = 0; +} +#endif + +/* GetAttr */ +static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *o, PyObject *n) { +#if CYTHON_USE_TYPE_SLOTS +#if PY_MAJOR_VERSION >= 3 + if (likely(PyUnicode_Check(n))) +#else + if (likely(PyString_Check(n))) +#endif + return __Pyx_PyObject_GetAttrStr(o, n); +#endif + return PyObject_GetAttr(o, n); +} + +/* GetAttr3 */ +static PyObject *__Pyx_GetAttr3Default(PyObject *d) { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + if (unlikely(!__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError))) + return NULL; + __Pyx_PyErr_Clear(); + Py_INCREF(d); + return d; +} +static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *o, PyObject *n, PyObject *d) { + PyObject *r = __Pyx_GetAttr(o, n); + return (likely(r)) ? r : __Pyx_GetAttr3Default(d); +} + +/* RaiseException */ +#if PY_MAJOR_VERSION < 3 +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, + CYTHON_UNUSED PyObject *cause) { + __Pyx_PyThreadState_declare + Py_XINCREF(type); + if (!value || value == Py_None) + value = NULL; + else + Py_INCREF(value); + if (!tb || tb == Py_None) + tb = NULL; + else { + Py_INCREF(tb); + if (!PyTraceBack_Check(tb)) { + PyErr_SetString(PyExc_TypeError, + "raise: arg 3 must be a traceback or None"); + goto raise_error; + } + } + if (PyType_Check(type)) { +#if CYTHON_COMPILING_IN_PYPY + if (!value) { + Py_INCREF(Py_None); + value = Py_None; + } +#endif + PyErr_NormalizeException(&type, &value, &tb); + } else { + if (value) { + PyErr_SetString(PyExc_TypeError, + "instance exception may not have a separate value"); + goto raise_error; + } + value = type; + type = (PyObject*) Py_TYPE(type); + Py_INCREF(type); + if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) { + PyErr_SetString(PyExc_TypeError, + "raise: exception class must be a subclass of BaseException"); + goto raise_error; + } + } + __Pyx_PyThreadState_assign + __Pyx_ErrRestore(type, value, tb); + return; +raise_error: + Py_XDECREF(value); + Py_XDECREF(type); + Py_XDECREF(tb); + return; +} +#else +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { + PyObject* owned_instance = NULL; + if (tb == Py_None) { + tb = 0; + } else if (tb && !PyTraceBack_Check(tb)) { + PyErr_SetString(PyExc_TypeError, + "raise: arg 3 must be a traceback or None"); + goto bad; + } + if (value == Py_None) + value = 0; + if (PyExceptionInstance_Check(type)) { + if (value) { + PyErr_SetString(PyExc_TypeError, + "instance exception may not have a separate value"); + goto bad; + } + value = type; + type = (PyObject*) Py_TYPE(value); + } else if (PyExceptionClass_Check(type)) { + PyObject *instance_class = NULL; + if (value && PyExceptionInstance_Check(value)) { + instance_class = (PyObject*) Py_TYPE(value); + if (instance_class != type) { + int is_subclass = PyObject_IsSubclass(instance_class, type); + if (!is_subclass) { + instance_class = NULL; + } else if (unlikely(is_subclass == -1)) { + goto bad; + } else { + type = instance_class; + } + } + } + if (!instance_class) { + PyObject *args; + if (!value) + args = PyTuple_New(0); + else if (PyTuple_Check(value)) { + Py_INCREF(value); + args = value; + } else + args = PyTuple_Pack(1, value); + if (!args) + goto bad; + owned_instance = PyObject_Call(type, args, NULL); + Py_DECREF(args); + if (!owned_instance) + goto bad; + value = owned_instance; + if (!PyExceptionInstance_Check(value)) { + PyErr_Format(PyExc_TypeError, + "calling %R should have returned an instance of " + "BaseException, not %R", + type, Py_TYPE(value)); + goto bad; + } + } + } else { + PyErr_SetString(PyExc_TypeError, + "raise: exception class must be a subclass of BaseException"); + goto bad; + } + if (cause) { + PyObject *fixed_cause; + if (cause == Py_None) { + fixed_cause = NULL; + } else if (PyExceptionClass_Check(cause)) { + fixed_cause = PyObject_CallObject(cause, NULL); + if (fixed_cause == NULL) + goto bad; + } else if (PyExceptionInstance_Check(cause)) { + fixed_cause = cause; + Py_INCREF(fixed_cause); + } else { + PyErr_SetString(PyExc_TypeError, + "exception causes must derive from " + "BaseException"); + goto bad; + } + PyException_SetCause(value, fixed_cause); + } + PyErr_SetObject(type, value); + if (tb) { +#if CYTHON_COMPILING_IN_PYPY + PyObject *tmp_type, *tmp_value, *tmp_tb; + PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb); + Py_INCREF(tb); + PyErr_Restore(tmp_type, tmp_value, tb); + Py_XDECREF(tmp_tb); +#else + PyThreadState *tstate = __Pyx_PyThreadState_Current; + PyObject* tmp_tb = tstate->curexc_traceback; + if (tb != tmp_tb) { + Py_INCREF(tb); + tstate->curexc_traceback = tb; + Py_XDECREF(tmp_tb); + } +#endif + } +bad: + Py_XDECREF(owned_instance); + return; +} +#endif + +/* GetTopmostException */ +#if CYTHON_USE_EXC_INFO_STACK +static _PyErr_StackItem * +__Pyx_PyErr_GetTopmostException(PyThreadState *tstate) +{ + _PyErr_StackItem *exc_info = tstate->exc_info; + while ((exc_info->exc_type == NULL || exc_info->exc_type == Py_None) && + exc_info->previous_item != NULL) + { + exc_info = exc_info->previous_item; + } + return exc_info; +} +#endif + +/* SaveResetException */ +#if CYTHON_FAST_THREAD_STATE +static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { + #if CYTHON_USE_EXC_INFO_STACK + _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate); + *type = exc_info->exc_type; + *value = exc_info->exc_value; + *tb = exc_info->exc_traceback; + #else + *type = tstate->exc_type; + *value = tstate->exc_value; + *tb = tstate->exc_traceback; + #endif + Py_XINCREF(*type); + Py_XINCREF(*value); + Py_XINCREF(*tb); +} +static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + #if CYTHON_USE_EXC_INFO_STACK + _PyErr_StackItem *exc_info = tstate->exc_info; + tmp_type = exc_info->exc_type; + tmp_value = exc_info->exc_value; + tmp_tb = exc_info->exc_traceback; + exc_info->exc_type = type; + exc_info->exc_value = value; + exc_info->exc_traceback = tb; + #else + tmp_type = tstate->exc_type; + tmp_value = tstate->exc_value; + tmp_tb = tstate->exc_traceback; + tstate->exc_type = type; + tstate->exc_value = value; + tstate->exc_traceback = tb; + #endif + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +} +#endif + +/* GetException */ +#if CYTHON_FAST_THREAD_STATE +static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) +#else +static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) +#endif +{ + PyObject *local_type, *local_value, *local_tb; +#if CYTHON_FAST_THREAD_STATE + PyObject *tmp_type, *tmp_value, *tmp_tb; + local_type = tstate->curexc_type; + local_value = tstate->curexc_value; + local_tb = tstate->curexc_traceback; + tstate->curexc_type = 0; + tstate->curexc_value = 0; + tstate->curexc_traceback = 0; +#else + PyErr_Fetch(&local_type, &local_value, &local_tb); +#endif + PyErr_NormalizeException(&local_type, &local_value, &local_tb); +#if CYTHON_FAST_THREAD_STATE + if (unlikely(tstate->curexc_type)) +#else + if (unlikely(PyErr_Occurred())) +#endif + goto bad; + #if PY_MAJOR_VERSION >= 3 + if (local_tb) { + if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0)) + goto bad; + } + #endif + Py_XINCREF(local_tb); + Py_XINCREF(local_type); + Py_XINCREF(local_value); + *type = local_type; + *value = local_value; + *tb = local_tb; +#if CYTHON_FAST_THREAD_STATE + #if CYTHON_USE_EXC_INFO_STACK + { + _PyErr_StackItem *exc_info = tstate->exc_info; + tmp_type = exc_info->exc_type; + tmp_value = exc_info->exc_value; + tmp_tb = exc_info->exc_traceback; + exc_info->exc_type = local_type; + exc_info->exc_value = local_value; + exc_info->exc_traceback = local_tb; + } + #else + tmp_type = tstate->exc_type; + tmp_value = tstate->exc_value; + tmp_tb = tstate->exc_traceback; + tstate->exc_type = local_type; + tstate->exc_value = local_value; + tstate->exc_traceback = local_tb; + #endif + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +#else + PyErr_SetExcInfo(local_type, local_value, local_tb); +#endif + return 0; +bad: + *type = 0; + *value = 0; + *tb = 0; + Py_XDECREF(local_type); + Py_XDECREF(local_value); + Py_XDECREF(local_tb); + return -1; +} + +/* PyObjectSetAttrStr */ +#if CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value) { + PyTypeObject* tp = Py_TYPE(obj); + if (likely(tp->tp_setattro)) + return tp->tp_setattro(obj, attr_name, value); +#if PY_MAJOR_VERSION < 3 + if (likely(tp->tp_setattr)) + return tp->tp_setattr(obj, PyString_AS_STRING(attr_name), value); +#endif + return PyObject_SetAttr(obj, attr_name, value); +} +#endif + +/* None */ +static CYTHON_INLINE void __Pyx_RaiseUnboundLocalError(const char *varname) { + PyErr_Format(PyExc_UnboundLocalError, "local variable '%s' referenced before assignment", varname); +} + +/* pyfrozenset_new */ +static CYTHON_INLINE PyObject* __Pyx_PyFrozenSet_New(PyObject* it) { + if (it) { + PyObject* result; +#if CYTHON_COMPILING_IN_PYPY + PyObject* args; + args = PyTuple_Pack(1, it); + if (unlikely(!args)) + return NULL; + result = PyObject_Call((PyObject*)&PyFrozenSet_Type, args, NULL); + Py_DECREF(args); + return result; +#else + if (PyFrozenSet_CheckExact(it)) { + Py_INCREF(it); + return it; + } + result = PyFrozenSet_New(it); + if (unlikely(!result)) + return NULL; + if ((PY_VERSION_HEX >= 0x031000A1) || likely(PySet_GET_SIZE(result))) + return result; + Py_DECREF(result); +#endif + } +#if CYTHON_USE_TYPE_SLOTS + return PyFrozenSet_Type.tp_new(&PyFrozenSet_Type, __pyx_empty_tuple, NULL); +#else + return PyObject_Call((PyObject*)&PyFrozenSet_Type, __pyx_empty_tuple, NULL); +#endif +} + +/* PySetContains */ +static int __Pyx_PySet_ContainsUnhashable(PyObject *set, PyObject *key) { + int result = -1; + if (PySet_Check(key) && PyErr_ExceptionMatches(PyExc_TypeError)) { + PyObject *tmpkey; + PyErr_Clear(); + tmpkey = __Pyx_PyFrozenSet_New(key); + if (tmpkey != NULL) { + result = PySet_Contains(set, tmpkey); + Py_DECREF(tmpkey); + } + } + return result; +} +static CYTHON_INLINE int __Pyx_PySet_ContainsTF(PyObject* key, PyObject* set, int eq) { + int result = PySet_Contains(set, key); + if (unlikely(result < 0)) { + result = __Pyx_PySet_ContainsUnhashable(set, key); + } + return unlikely(result < 0) ? result : (result == (eq == Py_EQ)); +} + +/* RaiseDoubleKeywords */ +static void __Pyx_RaiseDoubleKeywordsError( + const char* func_name, + PyObject* kw_name) +{ + PyErr_Format(PyExc_TypeError, + #if PY_MAJOR_VERSION >= 3 + "%s() got multiple values for keyword argument '%U'", func_name, kw_name); + #else + "%s() got multiple values for keyword argument '%s'", func_name, + PyString_AsString(kw_name)); + #endif +} + +/* ParseKeywords */ +static int __Pyx_ParseOptionalKeywords( + PyObject *kwds, + PyObject **argnames[], + PyObject *kwds2, + PyObject *values[], + Py_ssize_t num_pos_args, + const char* function_name) +{ + PyObject *key = 0, *value = 0; + Py_ssize_t pos = 0; + PyObject*** name; + PyObject*** first_kw_arg = argnames + num_pos_args; + while (PyDict_Next(kwds, &pos, &key, &value)) { + name = first_kw_arg; + while (*name && (**name != key)) name++; + if (*name) { + values[name-argnames] = value; + continue; + } + name = first_kw_arg; + #if PY_MAJOR_VERSION < 3 + if (likely(PyString_Check(key))) { + while (*name) { + if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key)) + && _PyString_Eq(**name, key)) { + values[name-argnames] = value; + break; + } + name++; + } + if (*name) continue; + else { + PyObject*** argname = argnames; + while (argname != first_kw_arg) { + if ((**argname == key) || ( + (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key)) + && _PyString_Eq(**argname, key))) { + goto arg_passed_twice; + } + argname++; + } + } + } else + #endif + if (likely(PyUnicode_Check(key))) { + while (*name) { + int cmp = (**name == key) ? 0 : + #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 + (__Pyx_PyUnicode_GET_LENGTH(**name) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 : + #endif + PyUnicode_Compare(**name, key); + if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; + if (cmp == 0) { + values[name-argnames] = value; + break; + } + name++; + } + if (*name) continue; + else { + PyObject*** argname = argnames; + while (argname != first_kw_arg) { + int cmp = (**argname == key) ? 0 : + #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 + (__Pyx_PyUnicode_GET_LENGTH(**argname) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 : + #endif + PyUnicode_Compare(**argname, key); + if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; + if (cmp == 0) goto arg_passed_twice; + argname++; + } + } + } else + goto invalid_keyword_type; + if (kwds2) { + if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad; + } else { + goto invalid_keyword; + } + } + return 0; +arg_passed_twice: + __Pyx_RaiseDoubleKeywordsError(function_name, key); + goto bad; +invalid_keyword_type: + PyErr_Format(PyExc_TypeError, + "%.200s() keywords must be strings", function_name); + goto bad; +invalid_keyword: + PyErr_Format(PyExc_TypeError, + #if PY_MAJOR_VERSION < 3 + "%.200s() got an unexpected keyword argument '%.200s'", + function_name, PyString_AsString(key)); + #else + "%s() got an unexpected keyword argument '%U'", + function_name, key); + #endif +bad: + return -1; +} + +/* ArgTypeTest */ +static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact) +{ + if (unlikely(!type)) { + PyErr_SetString(PyExc_SystemError, "Missing type object"); + return 0; + } + else if (exact) { + #if PY_MAJOR_VERSION == 2 + if ((type == &PyBaseString_Type) && likely(__Pyx_PyBaseString_CheckExact(obj))) return 1; + #endif + } + else { + if (likely(__Pyx_TypeCheck(obj, type))) return 1; + } + PyErr_Format(PyExc_TypeError, + "Argument '%.200s' has incorrect type (expected %.200s, got %.200s)", + name, type->tp_name, Py_TYPE(obj)->tp_name); + return 0; +} + +/* GetItemInt */ +static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) { + PyObject *r; + if (!j) return NULL; + r = PyObject_GetItem(o, j); + Py_DECREF(j); + return r; +} +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, + CYTHON_NCP_UNUSED int wraparound, + CYTHON_NCP_UNUSED int boundscheck) { +#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + Py_ssize_t wrapped_i = i; + if (wraparound & unlikely(i < 0)) { + wrapped_i += PyList_GET_SIZE(o); + } + if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyList_GET_SIZE(o)))) { + PyObject *r = PyList_GET_ITEM(o, wrapped_i); + Py_INCREF(r); + return r; + } + return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); +#else + return PySequence_GetItem(o, i); +#endif +} +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, + CYTHON_NCP_UNUSED int wraparound, + CYTHON_NCP_UNUSED int boundscheck) { +#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + Py_ssize_t wrapped_i = i; + if (wraparound & unlikely(i < 0)) { + wrapped_i += PyTuple_GET_SIZE(o); + } + if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyTuple_GET_SIZE(o)))) { + PyObject *r = PyTuple_GET_ITEM(o, wrapped_i); + Py_INCREF(r); + return r; + } + return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); +#else + return PySequence_GetItem(o, i); +#endif +} +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list, + CYTHON_NCP_UNUSED int wraparound, + CYTHON_NCP_UNUSED int boundscheck) { +#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS + if (is_list || PyList_CheckExact(o)) { + Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o); + if ((!boundscheck) || (likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o))))) { + PyObject *r = PyList_GET_ITEM(o, n); + Py_INCREF(r); + return r; + } + } + else if (PyTuple_CheckExact(o)) { + Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o); + if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyTuple_GET_SIZE(o)))) { + PyObject *r = PyTuple_GET_ITEM(o, n); + Py_INCREF(r); + return r; + } + } else { + PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence; + if (likely(m && m->sq_item)) { + if (wraparound && unlikely(i < 0) && likely(m->sq_length)) { + Py_ssize_t l = m->sq_length(o); + if (likely(l >= 0)) { + i += l; + } else { + if (!PyErr_ExceptionMatches(PyExc_OverflowError)) + return NULL; + PyErr_Clear(); + } + } + return m->sq_item(o, i); + } + } +#else + if (is_list || PySequence_Check(o)) { + return PySequence_GetItem(o, i); + } +#endif + return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); +} + +/* BytesEquals */ +static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals) { +#if CYTHON_COMPILING_IN_PYPY + return PyObject_RichCompareBool(s1, s2, equals); +#else + if (s1 == s2) { + return (equals == Py_EQ); + } else if (PyBytes_CheckExact(s1) & PyBytes_CheckExact(s2)) { + const char *ps1, *ps2; + Py_ssize_t length = PyBytes_GET_SIZE(s1); + if (length != PyBytes_GET_SIZE(s2)) + return (equals == Py_NE); + ps1 = PyBytes_AS_STRING(s1); + ps2 = PyBytes_AS_STRING(s2); + if (ps1[0] != ps2[0]) { + return (equals == Py_NE); + } else if (length == 1) { + return (equals == Py_EQ); + } else { + int result; +#if CYTHON_USE_UNICODE_INTERNALS && (PY_VERSION_HEX < 0x030B0000) + Py_hash_t hash1, hash2; + hash1 = ((PyBytesObject*)s1)->ob_shash; + hash2 = ((PyBytesObject*)s2)->ob_shash; + if (hash1 != hash2 && hash1 != -1 && hash2 != -1) { + return (equals == Py_NE); + } +#endif + result = memcmp(ps1, ps2, (size_t)length); + return (equals == Py_EQ) ? (result == 0) : (result != 0); + } + } else if ((s1 == Py_None) & PyBytes_CheckExact(s2)) { + return (equals == Py_NE); + } else if ((s2 == Py_None) & PyBytes_CheckExact(s1)) { + return (equals == Py_NE); + } else { + int result; + PyObject* py_result = PyObject_RichCompare(s1, s2, equals); + if (!py_result) + return -1; + result = __Pyx_PyObject_IsTrue(py_result); + Py_DECREF(py_result); + return result; + } +#endif +} + +/* UnicodeEquals */ +static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals) { +#if CYTHON_COMPILING_IN_PYPY + return PyObject_RichCompareBool(s1, s2, equals); +#else +#if PY_MAJOR_VERSION < 3 + PyObject* owned_ref = NULL; +#endif + int s1_is_unicode, s2_is_unicode; + if (s1 == s2) { + goto return_eq; + } + s1_is_unicode = PyUnicode_CheckExact(s1); + s2_is_unicode = PyUnicode_CheckExact(s2); +#if PY_MAJOR_VERSION < 3 + if ((s1_is_unicode & (!s2_is_unicode)) && PyString_CheckExact(s2)) { + owned_ref = PyUnicode_FromObject(s2); + if (unlikely(!owned_ref)) + return -1; + s2 = owned_ref; + s2_is_unicode = 1; + } else if ((s2_is_unicode & (!s1_is_unicode)) && PyString_CheckExact(s1)) { + owned_ref = PyUnicode_FromObject(s1); + if (unlikely(!owned_ref)) + return -1; + s1 = owned_ref; + s1_is_unicode = 1; + } else if (((!s2_is_unicode) & (!s1_is_unicode))) { + return __Pyx_PyBytes_Equals(s1, s2, equals); + } +#endif + if (s1_is_unicode & s2_is_unicode) { + Py_ssize_t length; + int kind; + void *data1, *data2; + if (unlikely(__Pyx_PyUnicode_READY(s1) < 0) || unlikely(__Pyx_PyUnicode_READY(s2) < 0)) + return -1; + length = __Pyx_PyUnicode_GET_LENGTH(s1); + if (length != __Pyx_PyUnicode_GET_LENGTH(s2)) { + goto return_ne; + } +#if CYTHON_USE_UNICODE_INTERNALS + { + Py_hash_t hash1, hash2; + #if CYTHON_PEP393_ENABLED + hash1 = ((PyASCIIObject*)s1)->hash; + hash2 = ((PyASCIIObject*)s2)->hash; + #else + hash1 = ((PyUnicodeObject*)s1)->hash; + hash2 = ((PyUnicodeObject*)s2)->hash; + #endif + if (hash1 != hash2 && hash1 != -1 && hash2 != -1) { + goto return_ne; + } + } +#endif + kind = __Pyx_PyUnicode_KIND(s1); + if (kind != __Pyx_PyUnicode_KIND(s2)) { + goto return_ne; + } + data1 = __Pyx_PyUnicode_DATA(s1); + data2 = __Pyx_PyUnicode_DATA(s2); + if (__Pyx_PyUnicode_READ(kind, data1, 0) != __Pyx_PyUnicode_READ(kind, data2, 0)) { + goto return_ne; + } else if (length == 1) { + goto return_eq; + } else { + int result = memcmp(data1, data2, (size_t)(length * kind)); + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(owned_ref); + #endif + return (equals == Py_EQ) ? (result == 0) : (result != 0); + } + } else if ((s1 == Py_None) & s2_is_unicode) { + goto return_ne; + } else if ((s2 == Py_None) & s1_is_unicode) { + goto return_ne; + } else { + int result; + PyObject* py_result = PyObject_RichCompare(s1, s2, equals); + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(owned_ref); + #endif + if (!py_result) + return -1; + result = __Pyx_PyObject_IsTrue(py_result); + Py_DECREF(py_result); + return result; + } +return_eq: + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(owned_ref); + #endif + return (equals == Py_EQ); +return_ne: + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(owned_ref); + #endif + return (equals == Py_NE); +#endif +} + +/* RaiseTooManyValuesToUnpack */ +static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) { + PyErr_Format(PyExc_ValueError, + "too many values to unpack (expected %" CYTHON_FORMAT_SSIZE_T "d)", expected); +} + +/* RaiseNeedMoreValuesToUnpack */ +static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) { + PyErr_Format(PyExc_ValueError, + "need more than %" CYTHON_FORMAT_SSIZE_T "d value%.1s to unpack", + index, (index == 1) ? "" : "s"); +} + +/* IterFinish */ +static CYTHON_INLINE int __Pyx_IterFinish(void) { +#if CYTHON_FAST_THREAD_STATE + PyThreadState *tstate = __Pyx_PyThreadState_Current; + PyObject* exc_type = tstate->curexc_type; + if (unlikely(exc_type)) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) { + PyObject *exc_value, *exc_tb; + exc_value = tstate->curexc_value; + exc_tb = tstate->curexc_traceback; + tstate->curexc_type = 0; + tstate->curexc_value = 0; + tstate->curexc_traceback = 0; + Py_DECREF(exc_type); + Py_XDECREF(exc_value); + Py_XDECREF(exc_tb); + return 0; + } else { + return -1; + } + } + return 0; +#else + if (unlikely(PyErr_Occurred())) { + if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) { + PyErr_Clear(); + return 0; + } else { + return -1; + } + } + return 0; +#endif +} + +/* UnpackItemEndCheck */ +static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected) { + if (unlikely(retval)) { + Py_DECREF(retval); + __Pyx_RaiseTooManyValuesError(expected); + return -1; + } else { + return __Pyx_IterFinish(); + } + return 0; +} + +/* ExtTypeTest */ +static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) { + if (unlikely(!type)) { + PyErr_SetString(PyExc_SystemError, "Missing type object"); + return 0; + } + if (likely(__Pyx_TypeCheck(obj, type))) + return 1; + PyErr_Format(PyExc_TypeError, "Cannot convert %.200s to %.200s", + Py_TYPE(obj)->tp_name, type->tp_name); + return 0; +} + +/* HasAttr */ +static CYTHON_INLINE int __Pyx_HasAttr(PyObject *o, PyObject *n) { + PyObject *r; + if (unlikely(!__Pyx_PyBaseString_Check(n))) { + PyErr_SetString(PyExc_TypeError, + "hasattr(): attribute name must be string"); + return -1; + } + r = __Pyx_GetAttr(o, n); + if (unlikely(!r)) { + PyErr_Clear(); + return 0; + } else { + Py_DECREF(r); + return 1; + } +} + +/* UnpackUnboundCMethod */ +static int __Pyx_TryUnpackUnboundCMethod(__Pyx_CachedCFunction* target) { + PyObject *method; + method = __Pyx_PyObject_GetAttrStr(target->type, *target->method_name); + if (unlikely(!method)) + return -1; + target->method = method; +#if CYTHON_COMPILING_IN_CPYTHON + #if PY_MAJOR_VERSION >= 3 + if (likely(__Pyx_TypeCheck(method, &PyMethodDescr_Type))) + #endif + { + PyMethodDescrObject *descr = (PyMethodDescrObject*) method; + target->func = descr->d_method->ml_meth; + target->flag = descr->d_method->ml_flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_STACKLESS); + } +#endif + return 0; +} + +/* CallUnboundCMethod1 */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_CallUnboundCMethod1(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg) { + if (likely(cfunc->func)) { + int flag = cfunc->flag; + if (flag == METH_O) { + return (*(cfunc->func))(self, arg); + } else if (PY_VERSION_HEX >= 0x030600B1 && flag == METH_FASTCALL) { + if (PY_VERSION_HEX >= 0x030700A0) { + return (*(__Pyx_PyCFunctionFast)(void*)(PyCFunction)cfunc->func)(self, &arg, 1); + } else { + return (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)cfunc->func)(self, &arg, 1, NULL); + } + } else if (PY_VERSION_HEX >= 0x030700A0 && flag == (METH_FASTCALL | METH_KEYWORDS)) { + return (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)cfunc->func)(self, &arg, 1, NULL); + } + } + return __Pyx__CallUnboundCMethod1(cfunc, self, arg); +} +#endif +static PyObject* __Pyx__CallUnboundCMethod1(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg){ + PyObject *args, *result = NULL; + if (unlikely(!cfunc->func && !cfunc->method) && unlikely(__Pyx_TryUnpackUnboundCMethod(cfunc) < 0)) return NULL; +#if CYTHON_COMPILING_IN_CPYTHON + if (cfunc->func && (cfunc->flag & METH_VARARGS)) { + args = PyTuple_New(1); + if (unlikely(!args)) goto bad; + Py_INCREF(arg); + PyTuple_SET_ITEM(args, 0, arg); + if (cfunc->flag & METH_KEYWORDS) + result = (*(PyCFunctionWithKeywords)(void*)(PyCFunction)cfunc->func)(self, args, NULL); + else + result = (*cfunc->func)(self, args); + } else { + args = PyTuple_New(2); + if (unlikely(!args)) goto bad; + Py_INCREF(self); + PyTuple_SET_ITEM(args, 0, self); + Py_INCREF(arg); + PyTuple_SET_ITEM(args, 1, arg); + result = __Pyx_PyObject_Call(cfunc->method, args, NULL); + } +#else + args = PyTuple_Pack(2, self, arg); + if (unlikely(!args)) goto bad; + result = __Pyx_PyObject_Call(cfunc->method, args, NULL); +#endif +bad: + Py_XDECREF(args); + return result; +} + +/* CallUnboundCMethod2 */ +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030600B1 +static CYTHON_INLINE PyObject *__Pyx_CallUnboundCMethod2(__Pyx_CachedCFunction *cfunc, PyObject *self, PyObject *arg1, PyObject *arg2) { + if (likely(cfunc->func)) { + PyObject *args[2] = {arg1, arg2}; + if (cfunc->flag == METH_FASTCALL) { + #if PY_VERSION_HEX >= 0x030700A0 + return (*(__Pyx_PyCFunctionFast)(void*)(PyCFunction)cfunc->func)(self, args, 2); + #else + return (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)cfunc->func)(self, args, 2, NULL); + #endif + } + #if PY_VERSION_HEX >= 0x030700A0 + if (cfunc->flag == (METH_FASTCALL | METH_KEYWORDS)) + return (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)cfunc->func)(self, args, 2, NULL); + #endif + } + return __Pyx__CallUnboundCMethod2(cfunc, self, arg1, arg2); +} +#endif +static PyObject* __Pyx__CallUnboundCMethod2(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg1, PyObject* arg2){ + PyObject *args, *result = NULL; + if (unlikely(!cfunc->func && !cfunc->method) && unlikely(__Pyx_TryUnpackUnboundCMethod(cfunc) < 0)) return NULL; +#if CYTHON_COMPILING_IN_CPYTHON + if (cfunc->func && (cfunc->flag & METH_VARARGS)) { + args = PyTuple_New(2); + if (unlikely(!args)) goto bad; + Py_INCREF(arg1); + PyTuple_SET_ITEM(args, 0, arg1); + Py_INCREF(arg2); + PyTuple_SET_ITEM(args, 1, arg2); + if (cfunc->flag & METH_KEYWORDS) + result = (*(PyCFunctionWithKeywords)(void*)(PyCFunction)cfunc->func)(self, args, NULL); + else + result = (*cfunc->func)(self, args); + } else { + args = PyTuple_New(3); + if (unlikely(!args)) goto bad; + Py_INCREF(self); + PyTuple_SET_ITEM(args, 0, self); + Py_INCREF(arg1); + PyTuple_SET_ITEM(args, 1, arg1); + Py_INCREF(arg2); + PyTuple_SET_ITEM(args, 2, arg2); + result = __Pyx_PyObject_Call(cfunc->method, args, NULL); + } +#else + args = PyTuple_Pack(3, self, arg1, arg2); + if (unlikely(!args)) goto bad; + result = __Pyx_PyObject_Call(cfunc->method, args, NULL); +#endif +bad: + Py_XDECREF(args); + return result; +} + +/* dict_getitem_default */ +static PyObject* __Pyx_PyDict_GetItemDefault(PyObject* d, PyObject* key, PyObject* default_value) { + PyObject* value; +#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY + value = PyDict_GetItemWithError(d, key); + if (unlikely(!value)) { + if (unlikely(PyErr_Occurred())) + return NULL; + value = default_value; + } + Py_INCREF(value); + if ((1)); +#else + if (PyString_CheckExact(key) || PyUnicode_CheckExact(key) || PyInt_CheckExact(key)) { + value = PyDict_GetItem(d, key); + if (unlikely(!value)) { + value = default_value; + } + Py_INCREF(value); + } +#endif + else { + if (default_value == Py_None) + value = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyDict_Type_get, d, key); + else + value = __Pyx_CallUnboundCMethod2(&__pyx_umethod_PyDict_Type_get, d, key, default_value); + } + return value; +} + +/* SwapException */ +#if CYTHON_FAST_THREAD_STATE +static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + #if CYTHON_USE_EXC_INFO_STACK + _PyErr_StackItem *exc_info = tstate->exc_info; + tmp_type = exc_info->exc_type; + tmp_value = exc_info->exc_value; + tmp_tb = exc_info->exc_traceback; + exc_info->exc_type = *type; + exc_info->exc_value = *value; + exc_info->exc_traceback = *tb; + #else + tmp_type = tstate->exc_type; + tmp_value = tstate->exc_value; + tmp_tb = tstate->exc_traceback; + tstate->exc_type = *type; + tstate->exc_value = *value; + tstate->exc_traceback = *tb; + #endif + *type = tmp_type; + *value = tmp_value; + *tb = tmp_tb; +} +#else +static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + PyErr_GetExcInfo(&tmp_type, &tmp_value, &tmp_tb); + PyErr_SetExcInfo(*type, *value, *tb); + *type = tmp_type; + *value = tmp_value; + *tb = tmp_tb; +} +#endif + +/* RaiseNoneIterError */ +static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); +} + +/* PyIntBinop */ +#if !CYTHON_COMPILING_IN_PYPY +static PyObject* __Pyx_PyInt_AndObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, int inplace, int zerodivision_check) { + (void)inplace; + (void)zerodivision_check; + #if PY_MAJOR_VERSION < 3 + if (likely(PyInt_CheckExact(op1))) { + const long b = intval; + long a = PyInt_AS_LONG(op1); + return PyInt_FromLong(a & b); + } + #endif + #if CYTHON_USE_PYLONG_INTERNALS + if (likely(PyLong_CheckExact(op1))) { + const long b = intval; + long a, x; +#ifdef HAVE_LONG_LONG + const PY_LONG_LONG llb = intval; + PY_LONG_LONG lla, llx; +#endif + const digit* digits = ((PyLongObject*)op1)->ob_digit; + const Py_ssize_t size = Py_SIZE(op1); + if (likely(__Pyx_sst_abs(size) <= 1)) { + a = likely(size) ? digits[0] : 0; + if (size == -1) a = -a; + } else { + switch (size) { + case -2: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + a = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { + lla = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 2: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { + lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case -3: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + a = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { + lla = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 3: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { + lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case -4: + if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + a = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { + lla = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 4: + if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { + lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + default: return PyLong_Type.tp_as_number->nb_and(op1, op2); + } + } + x = a & b; + return PyLong_FromLong(x); +#ifdef HAVE_LONG_LONG + long_long: + llx = lla & llb; + return PyLong_FromLongLong(llx); +#endif + + + } + #endif + return (inplace ? PyNumber_InPlaceAnd : PyNumber_And)(op1, op2); +} +#endif + +/* PyObjectGetMethod */ +static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method) { + PyObject *attr; +#if CYTHON_UNPACK_METHODS && CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_PYTYPE_LOOKUP + PyTypeObject *tp = Py_TYPE(obj); + PyObject *descr; + descrgetfunc f = NULL; + PyObject **dictptr, *dict; + int meth_found = 0; + assert (*method == NULL); + if (unlikely(tp->tp_getattro != PyObject_GenericGetAttr)) { + attr = __Pyx_PyObject_GetAttrStr(obj, name); + goto try_unpack; + } + if (unlikely(tp->tp_dict == NULL) && unlikely(PyType_Ready(tp) < 0)) { + return 0; + } + descr = _PyType_Lookup(tp, name); + if (likely(descr != NULL)) { + Py_INCREF(descr); +#if PY_MAJOR_VERSION >= 3 + #ifdef __Pyx_CyFunction_USED + if (likely(PyFunction_Check(descr) || (Py_TYPE(descr) == &PyMethodDescr_Type) || __Pyx_CyFunction_Check(descr))) + #else + if (likely(PyFunction_Check(descr) || (Py_TYPE(descr) == &PyMethodDescr_Type))) + #endif +#else + #ifdef __Pyx_CyFunction_USED + if (likely(PyFunction_Check(descr) || __Pyx_CyFunction_Check(descr))) + #else + if (likely(PyFunction_Check(descr))) + #endif +#endif + { + meth_found = 1; + } else { + f = Py_TYPE(descr)->tp_descr_get; + if (f != NULL && PyDescr_IsData(descr)) { + attr = f(descr, obj, (PyObject *)Py_TYPE(obj)); + Py_DECREF(descr); + goto try_unpack; + } + } + } + dictptr = _PyObject_GetDictPtr(obj); + if (dictptr != NULL && (dict = *dictptr) != NULL) { + Py_INCREF(dict); + attr = __Pyx_PyDict_GetItemStr(dict, name); + if (attr != NULL) { + Py_INCREF(attr); + Py_DECREF(dict); + Py_XDECREF(descr); + goto try_unpack; + } + Py_DECREF(dict); + } + if (meth_found) { + *method = descr; + return 1; + } + if (f != NULL) { + attr = f(descr, obj, (PyObject *)Py_TYPE(obj)); + Py_DECREF(descr); + goto try_unpack; + } + if (descr != NULL) { + *method = descr; + return 0; + } + PyErr_Format(PyExc_AttributeError, +#if PY_MAJOR_VERSION >= 3 + "'%.50s' object has no attribute '%U'", + tp->tp_name, name); +#else + "'%.50s' object has no attribute '%.400s'", + tp->tp_name, PyString_AS_STRING(name)); +#endif + return 0; +#else + attr = __Pyx_PyObject_GetAttrStr(obj, name); + goto try_unpack; +#endif +try_unpack: +#if CYTHON_UNPACK_METHODS + if (likely(attr) && PyMethod_Check(attr) && likely(PyMethod_GET_SELF(attr) == obj)) { + PyObject *function = PyMethod_GET_FUNCTION(attr); + Py_INCREF(function); + Py_DECREF(attr); + *method = function; + return 1; + } +#endif + *method = attr; + return 0; +} + +/* PyObjectCallMethod0 */ +static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name) { + PyObject *method = NULL, *result = NULL; + int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method); + if (likely(is_method)) { + result = __Pyx_PyObject_CallOneArg(method, obj); + Py_DECREF(method); + return result; + } + if (unlikely(!method)) goto bad; + result = __Pyx_PyObject_CallNoArg(method); + Py_DECREF(method); +bad: + return result; +} + +/* UnpackTupleError */ +static void __Pyx_UnpackTupleError(PyObject *t, Py_ssize_t index) { + if (t == Py_None) { + __Pyx_RaiseNoneNotIterableError(); + } else if (PyTuple_GET_SIZE(t) < index) { + __Pyx_RaiseNeedMoreValuesError(PyTuple_GET_SIZE(t)); + } else { + __Pyx_RaiseTooManyValuesError(index); + } +} + +/* UnpackTuple2 */ +static CYTHON_INLINE int __Pyx_unpack_tuple2_exact( + PyObject* tuple, PyObject** pvalue1, PyObject** pvalue2, int decref_tuple) { + PyObject *value1 = NULL, *value2 = NULL; +#if CYTHON_COMPILING_IN_PYPY + value1 = PySequence_ITEM(tuple, 0); if (unlikely(!value1)) goto bad; + value2 = PySequence_ITEM(tuple, 1); if (unlikely(!value2)) goto bad; +#else + value1 = PyTuple_GET_ITEM(tuple, 0); Py_INCREF(value1); + value2 = PyTuple_GET_ITEM(tuple, 1); Py_INCREF(value2); +#endif + if (decref_tuple) { + Py_DECREF(tuple); + } + *pvalue1 = value1; + *pvalue2 = value2; + return 0; +#if CYTHON_COMPILING_IN_PYPY +bad: + Py_XDECREF(value1); + Py_XDECREF(value2); + if (decref_tuple) { Py_XDECREF(tuple); } + return -1; +#endif +} +static int __Pyx_unpack_tuple2_generic(PyObject* tuple, PyObject** pvalue1, PyObject** pvalue2, + int has_known_size, int decref_tuple) { + Py_ssize_t index; + PyObject *value1 = NULL, *value2 = NULL, *iter = NULL; + iternextfunc iternext; + iter = PyObject_GetIter(tuple); + if (unlikely(!iter)) goto bad; + if (decref_tuple) { Py_DECREF(tuple); tuple = NULL; } + iternext = Py_TYPE(iter)->tp_iternext; + value1 = iternext(iter); if (unlikely(!value1)) { index = 0; goto unpacking_failed; } + value2 = iternext(iter); if (unlikely(!value2)) { index = 1; goto unpacking_failed; } + if (!has_known_size && unlikely(__Pyx_IternextUnpackEndCheck(iternext(iter), 2))) goto bad; + Py_DECREF(iter); + *pvalue1 = value1; + *pvalue2 = value2; + return 0; +unpacking_failed: + if (!has_known_size && __Pyx_IterFinish() == 0) + __Pyx_RaiseNeedMoreValuesError(index); +bad: + Py_XDECREF(iter); + Py_XDECREF(value1); + Py_XDECREF(value2); + if (decref_tuple) { Py_XDECREF(tuple); } + return -1; +} + +/* dict_iter */ +static CYTHON_INLINE PyObject* __Pyx_dict_iterator(PyObject* iterable, int is_dict, PyObject* method_name, + Py_ssize_t* p_orig_length, int* p_source_is_dict) { + is_dict = is_dict || likely(PyDict_CheckExact(iterable)); + *p_source_is_dict = is_dict; + if (is_dict) { +#if !CYTHON_COMPILING_IN_PYPY + *p_orig_length = PyDict_Size(iterable); + Py_INCREF(iterable); + return iterable; +#elif PY_MAJOR_VERSION >= 3 + static PyObject *py_items = NULL, *py_keys = NULL, *py_values = NULL; + PyObject **pp = NULL; + if (method_name) { + const char *name = PyUnicode_AsUTF8(method_name); + if (strcmp(name, "iteritems") == 0) pp = &py_items; + else if (strcmp(name, "iterkeys") == 0) pp = &py_keys; + else if (strcmp(name, "itervalues") == 0) pp = &py_values; + if (pp) { + if (!*pp) { + *pp = PyUnicode_FromString(name + 4); + if (!*pp) + return NULL; + } + method_name = *pp; + } + } +#endif + } + *p_orig_length = 0; + if (method_name) { + PyObject* iter; + iterable = __Pyx_PyObject_CallMethod0(iterable, method_name); + if (!iterable) + return NULL; +#if !CYTHON_COMPILING_IN_PYPY + if (PyTuple_CheckExact(iterable) || PyList_CheckExact(iterable)) + return iterable; +#endif + iter = PyObject_GetIter(iterable); + Py_DECREF(iterable); + return iter; + } + return PyObject_GetIter(iterable); +} +static CYTHON_INLINE int __Pyx_dict_iter_next( + PyObject* iter_obj, CYTHON_NCP_UNUSED Py_ssize_t orig_length, CYTHON_NCP_UNUSED Py_ssize_t* ppos, + PyObject** pkey, PyObject** pvalue, PyObject** pitem, int source_is_dict) { + PyObject* next_item; +#if !CYTHON_COMPILING_IN_PYPY + if (source_is_dict) { + PyObject *key, *value; + if (unlikely(orig_length != PyDict_Size(iter_obj))) { + PyErr_SetString(PyExc_RuntimeError, "dictionary changed size during iteration"); + return -1; + } + if (unlikely(!PyDict_Next(iter_obj, ppos, &key, &value))) { + return 0; + } + if (pitem) { + PyObject* tuple = PyTuple_New(2); + if (unlikely(!tuple)) { + return -1; + } + Py_INCREF(key); + Py_INCREF(value); + PyTuple_SET_ITEM(tuple, 0, key); + PyTuple_SET_ITEM(tuple, 1, value); + *pitem = tuple; + } else { + if (pkey) { + Py_INCREF(key); + *pkey = key; + } + if (pvalue) { + Py_INCREF(value); + *pvalue = value; + } + } + return 1; + } else if (PyTuple_CheckExact(iter_obj)) { + Py_ssize_t pos = *ppos; + if (unlikely(pos >= PyTuple_GET_SIZE(iter_obj))) return 0; + *ppos = pos + 1; + next_item = PyTuple_GET_ITEM(iter_obj, pos); + Py_INCREF(next_item); + } else if (PyList_CheckExact(iter_obj)) { + Py_ssize_t pos = *ppos; + if (unlikely(pos >= PyList_GET_SIZE(iter_obj))) return 0; + *ppos = pos + 1; + next_item = PyList_GET_ITEM(iter_obj, pos); + Py_INCREF(next_item); + } else +#endif + { + next_item = PyIter_Next(iter_obj); + if (unlikely(!next_item)) { + return __Pyx_IterFinish(); + } + } + if (pitem) { + *pitem = next_item; + } else if (pkey && pvalue) { + if (__Pyx_unpack_tuple2(next_item, pkey, pvalue, source_is_dict, source_is_dict, 1)) + return -1; + } else if (pkey) { + *pkey = next_item; + } else { + *pvalue = next_item; + } + return 1; +} + +/* CallUnboundCMethod0 */ +static PyObject* __Pyx__CallUnboundCMethod0(__Pyx_CachedCFunction* cfunc, PyObject* self) { + PyObject *args, *result = NULL; + if (unlikely(!cfunc->method) && unlikely(__Pyx_TryUnpackUnboundCMethod(cfunc) < 0)) return NULL; +#if CYTHON_ASSUME_SAFE_MACROS + args = PyTuple_New(1); + if (unlikely(!args)) goto bad; + Py_INCREF(self); + PyTuple_SET_ITEM(args, 0, self); +#else + args = PyTuple_Pack(1, self); + if (unlikely(!args)) goto bad; +#endif + result = __Pyx_PyObject_Call(cfunc->method, args, NULL); + Py_DECREF(args); +bad: + return result; +} + +/* py_dict_values */ +static CYTHON_INLINE PyObject* __Pyx_PyDict_Values(PyObject* d) { + if (PY_MAJOR_VERSION >= 3) + return __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyDict_Type_values, d); + else + return PyDict_Values(d); +} + +/* DictGetItem */ +#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY +static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key) { + PyObject *value; + value = PyDict_GetItemWithError(d, key); + if (unlikely(!value)) { + if (!PyErr_Occurred()) { + if (unlikely(PyTuple_Check(key))) { + PyObject* args = PyTuple_Pack(1, key); + if (likely(args)) { + PyErr_SetObject(PyExc_KeyError, args); + Py_DECREF(args); + } + } else { + PyErr_SetObject(PyExc_KeyError, key); + } + } + return NULL; + } + Py_INCREF(value); + return value; +} +#endif + +/* SliceObject */ +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice(PyObject* obj, + Py_ssize_t cstart, Py_ssize_t cstop, + PyObject** _py_start, PyObject** _py_stop, PyObject** _py_slice, + int has_cstart, int has_cstop, CYTHON_UNUSED int wraparound) { +#if CYTHON_USE_TYPE_SLOTS + PyMappingMethods* mp; +#if PY_MAJOR_VERSION < 3 + PySequenceMethods* ms = Py_TYPE(obj)->tp_as_sequence; + if (likely(ms && ms->sq_slice)) { + if (!has_cstart) { + if (_py_start && (*_py_start != Py_None)) { + cstart = __Pyx_PyIndex_AsSsize_t(*_py_start); + if ((cstart == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad; + } else + cstart = 0; + } + if (!has_cstop) { + if (_py_stop && (*_py_stop != Py_None)) { + cstop = __Pyx_PyIndex_AsSsize_t(*_py_stop); + if ((cstop == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad; + } else + cstop = PY_SSIZE_T_MAX; + } + if (wraparound && unlikely((cstart < 0) | (cstop < 0)) && likely(ms->sq_length)) { + Py_ssize_t l = ms->sq_length(obj); + if (likely(l >= 0)) { + if (cstop < 0) { + cstop += l; + if (cstop < 0) cstop = 0; + } + if (cstart < 0) { + cstart += l; + if (cstart < 0) cstart = 0; + } + } else { + if (!PyErr_ExceptionMatches(PyExc_OverflowError)) + goto bad; + PyErr_Clear(); + } + } + return ms->sq_slice(obj, cstart, cstop); + } +#endif + mp = Py_TYPE(obj)->tp_as_mapping; + if (likely(mp && mp->mp_subscript)) +#endif + { + PyObject* result; + PyObject *py_slice, *py_start, *py_stop; + if (_py_slice) { + py_slice = *_py_slice; + } else { + PyObject* owned_start = NULL; + PyObject* owned_stop = NULL; + if (_py_start) { + py_start = *_py_start; + } else { + if (has_cstart) { + owned_start = py_start = PyInt_FromSsize_t(cstart); + if (unlikely(!py_start)) goto bad; + } else + py_start = Py_None; + } + if (_py_stop) { + py_stop = *_py_stop; + } else { + if (has_cstop) { + owned_stop = py_stop = PyInt_FromSsize_t(cstop); + if (unlikely(!py_stop)) { + Py_XDECREF(owned_start); + goto bad; + } + } else + py_stop = Py_None; + } + py_slice = PySlice_New(py_start, py_stop, Py_None); + Py_XDECREF(owned_start); + Py_XDECREF(owned_stop); + if (unlikely(!py_slice)) goto bad; + } +#if CYTHON_USE_TYPE_SLOTS + result = mp->mp_subscript(obj, py_slice); +#else + result = PyObject_GetItem(obj, py_slice); +#endif + if (!_py_slice) { + Py_DECREF(py_slice); + } + return result; + } + PyErr_Format(PyExc_TypeError, + "'%.200s' object is unsliceable", Py_TYPE(obj)->tp_name); +bad: + return NULL; +} + +/* PyIntBinop */ +#if !CYTHON_COMPILING_IN_PYPY +static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, int inplace, int zerodivision_check) { + (void)inplace; + (void)zerodivision_check; + #if PY_MAJOR_VERSION < 3 + if (likely(PyInt_CheckExact(op1))) { + const long b = intval; + long x; + long a = PyInt_AS_LONG(op1); + x = (long)((unsigned long)a + b); + if (likely((x^a) >= 0 || (x^b) >= 0)) + return PyInt_FromLong(x); + return PyLong_Type.tp_as_number->nb_add(op1, op2); + } + #endif + #if CYTHON_USE_PYLONG_INTERNALS + if (likely(PyLong_CheckExact(op1))) { + const long b = intval; + long a, x; +#ifdef HAVE_LONG_LONG + const PY_LONG_LONG llb = intval; + PY_LONG_LONG lla, llx; +#endif + const digit* digits = ((PyLongObject*)op1)->ob_digit; + const Py_ssize_t size = Py_SIZE(op1); + if (likely(__Pyx_sst_abs(size) <= 1)) { + a = likely(size) ? digits[0] : 0; + if (size == -1) a = -a; + } else { + switch (size) { + case -2: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + a = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { + lla = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 2: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { + lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case -3: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + a = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { + lla = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 3: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { + lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case -4: + if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + a = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { + lla = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 4: + if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { + lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + default: return PyLong_Type.tp_as_number->nb_add(op1, op2); + } + } + x = a + b; + return PyLong_FromLong(x); +#ifdef HAVE_LONG_LONG + long_long: + llx = lla + llb; + return PyLong_FromLongLong(llx); +#endif + + + } + #endif + if (PyFloat_CheckExact(op1)) { + const long b = intval; + double a = PyFloat_AS_DOUBLE(op1); + double result; + PyFPE_START_PROTECT("add", return NULL) + result = ((double)a) + (double)b; + PyFPE_END_PROTECT(result) + return PyFloat_FromDouble(result); + } + return (inplace ? PyNumber_InPlaceAdd : PyNumber_Add)(op1, op2); +} +#endif + +/* PyObjectCallMethod1 */ +static PyObject* __Pyx__PyObject_CallMethod1(PyObject* method, PyObject* arg) { + PyObject *result = __Pyx_PyObject_CallOneArg(method, arg); + Py_DECREF(method); + return result; +} +static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg) { + PyObject *method = NULL, *result; + int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method); + if (likely(is_method)) { + result = __Pyx_PyObject_Call2Args(method, obj, arg); + Py_DECREF(method); + return result; + } + if (unlikely(!method)) return NULL; + return __Pyx__PyObject_CallMethod1(method, arg); +} + +/* append */ +static CYTHON_INLINE int __Pyx_PyObject_Append(PyObject* L, PyObject* x) { + if (likely(PyList_CheckExact(L))) { + if (unlikely(__Pyx_PyList_Append(L, x) < 0)) return -1; + } else { + PyObject* retval = __Pyx_PyObject_CallMethod1(L, __pyx_n_s_append, x); + if (unlikely(!retval)) + return -1; + Py_DECREF(retval); + } + return 0; +} + +/* SliceTupleAndList */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE void __Pyx_crop_slice(Py_ssize_t* _start, Py_ssize_t* _stop, Py_ssize_t* _length) { + Py_ssize_t start = *_start, stop = *_stop, length = *_length; + if (start < 0) { + start += length; + if (start < 0) + start = 0; + } + if (stop < 0) + stop += length; + else if (stop > length) + stop = length; + *_length = stop - start; + *_start = start; + *_stop = stop; +} +static CYTHON_INLINE void __Pyx_copy_object_array(PyObject** CYTHON_RESTRICT src, PyObject** CYTHON_RESTRICT dest, Py_ssize_t length) { + PyObject *v; + Py_ssize_t i; + for (i = 0; i < length; i++) { + v = dest[i] = src[i]; + Py_INCREF(v); + } +} +static CYTHON_INLINE PyObject* __Pyx_PyList_GetSlice( + PyObject* src, Py_ssize_t start, Py_ssize_t stop) { + PyObject* dest; + Py_ssize_t length = PyList_GET_SIZE(src); + __Pyx_crop_slice(&start, &stop, &length); + if (unlikely(length <= 0)) + return PyList_New(0); + dest = PyList_New(length); + if (unlikely(!dest)) + return NULL; + __Pyx_copy_object_array( + ((PyListObject*)src)->ob_item + start, + ((PyListObject*)dest)->ob_item, + length); + return dest; +} +static CYTHON_INLINE PyObject* __Pyx_PyTuple_GetSlice( + PyObject* src, Py_ssize_t start, Py_ssize_t stop) { + PyObject* dest; + Py_ssize_t length = PyTuple_GET_SIZE(src); + __Pyx_crop_slice(&start, &stop, &length); + if (unlikely(length <= 0)) + return PyTuple_New(0); + dest = PyTuple_New(length); + if (unlikely(!dest)) + return NULL; + __Pyx_copy_object_array( + ((PyTupleObject*)src)->ob_item + start, + ((PyTupleObject*)dest)->ob_item, + length); + return dest; +} +#endif + +/* PyIntCompare */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_EqObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, CYTHON_UNUSED long inplace) { + if (op1 == op2) { + Py_RETURN_TRUE; + } + #if PY_MAJOR_VERSION < 3 + if (likely(PyInt_CheckExact(op1))) { + const long b = intval; + long a = PyInt_AS_LONG(op1); + if (a == b) Py_RETURN_TRUE; else Py_RETURN_FALSE; + } + #endif + #if CYTHON_USE_PYLONG_INTERNALS + if (likely(PyLong_CheckExact(op1))) { + int unequal; + unsigned long uintval; + Py_ssize_t size = Py_SIZE(op1); + const digit* digits = ((PyLongObject*)op1)->ob_digit; + if (intval == 0) { + if (size == 0) Py_RETURN_TRUE; else Py_RETURN_FALSE; + } else if (intval < 0) { + if (size >= 0) + Py_RETURN_FALSE; + intval = -intval; + size = -size; + } else { + if (size <= 0) + Py_RETURN_FALSE; + } + uintval = (unsigned long) intval; +#if PyLong_SHIFT * 4 < SIZEOF_LONG*8 + if (uintval >> (PyLong_SHIFT * 4)) { + unequal = (size != 5) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) + | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[4] != ((uintval >> (4 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); + } else +#endif +#if PyLong_SHIFT * 3 < SIZEOF_LONG*8 + if (uintval >> (PyLong_SHIFT * 3)) { + unequal = (size != 4) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) + | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); + } else +#endif +#if PyLong_SHIFT * 2 < SIZEOF_LONG*8 + if (uintval >> (PyLong_SHIFT * 2)) { + unequal = (size != 3) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) + | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); + } else +#endif +#if PyLong_SHIFT * 1 < SIZEOF_LONG*8 + if (uintval >> (PyLong_SHIFT * 1)) { + unequal = (size != 2) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) + | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); + } else +#endif + unequal = (size != 1) || (((unsigned long) digits[0]) != (uintval & (unsigned long) PyLong_MASK)); + if (unequal == 0) Py_RETURN_TRUE; else Py_RETURN_FALSE; + } + #endif + if (PyFloat_CheckExact(op1)) { + const long b = intval; + double a = PyFloat_AS_DOUBLE(op1); + if ((double)a == (double)b) Py_RETURN_TRUE; else Py_RETURN_FALSE; + } + return ( + PyObject_RichCompare(op1, op2, Py_EQ)); +} + +/* ObjectGetItem */ +#if CYTHON_USE_TYPE_SLOTS +static PyObject *__Pyx_PyObject_GetIndex(PyObject *obj, PyObject* index) { + PyObject *runerr; + Py_ssize_t key_value; + PySequenceMethods *m = Py_TYPE(obj)->tp_as_sequence; + if (unlikely(!(m && m->sq_item))) { + PyErr_Format(PyExc_TypeError, "'%.200s' object is not subscriptable", Py_TYPE(obj)->tp_name); + return NULL; + } + key_value = __Pyx_PyIndex_AsSsize_t(index); + if (likely(key_value != -1 || !(runerr = PyErr_Occurred()))) { + return __Pyx_GetItemInt_Fast(obj, key_value, 0, 1, 1); + } + if (PyErr_GivenExceptionMatches(runerr, PyExc_OverflowError)) { + PyErr_Clear(); + PyErr_Format(PyExc_IndexError, "cannot fit '%.200s' into an index-sized integer", Py_TYPE(index)->tp_name); + } + return NULL; +} +static PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject* key) { + PyMappingMethods *m = Py_TYPE(obj)->tp_as_mapping; + if (likely(m && m->mp_subscript)) { + return m->mp_subscript(obj, key); + } + return __Pyx_PyObject_GetIndex(obj, key); +} +#endif + +/* Import */ +static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) { + PyObject *empty_list = 0; + PyObject *module = 0; + PyObject *global_dict = 0; + PyObject *empty_dict = 0; + PyObject *list; + #if PY_MAJOR_VERSION < 3 + PyObject *py_import; + py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import); + if (!py_import) + goto bad; + #endif + if (from_list) + list = from_list; + else { + empty_list = PyList_New(0); + if (!empty_list) + goto bad; + list = empty_list; + } + global_dict = PyModule_GetDict(__pyx_m); + if (!global_dict) + goto bad; + empty_dict = PyDict_New(); + if (!empty_dict) + goto bad; + { + #if PY_MAJOR_VERSION >= 3 + if (level == -1) { + if ((1) && (strchr(__Pyx_MODULE_NAME, '.'))) { + module = PyImport_ImportModuleLevelObject( + name, global_dict, empty_dict, list, 1); + if (!module) { + if (!PyErr_ExceptionMatches(PyExc_ImportError)) + goto bad; + PyErr_Clear(); + } + } + level = 0; + } + #endif + if (!module) { + #if PY_MAJOR_VERSION < 3 + PyObject *py_level = PyInt_FromLong(level); + if (!py_level) + goto bad; + module = PyObject_CallFunctionObjArgs(py_import, + name, global_dict, empty_dict, list, py_level, (PyObject *)NULL); + Py_DECREF(py_level); + #else + module = PyImport_ImportModuleLevelObject( + name, global_dict, empty_dict, list, level); + #endif + } + } +bad: + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(py_import); + #endif + Py_XDECREF(empty_list); + Py_XDECREF(empty_dict); + return module; +} + +/* ImportFrom */ +static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) { + PyObject* value = __Pyx_PyObject_GetAttrStr(module, name); + if (unlikely(!value) && PyErr_ExceptionMatches(PyExc_AttributeError)) { + PyErr_Format(PyExc_ImportError, + #if PY_MAJOR_VERSION < 3 + "cannot import name %.230s", PyString_AS_STRING(name)); + #else + "cannot import name %S", name); + #endif + } + return value; +} + +/* PyObject_GenericGetAttrNoDict */ +#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 +static PyObject *__Pyx_RaiseGenericGetAttributeError(PyTypeObject *tp, PyObject *attr_name) { + PyErr_Format(PyExc_AttributeError, +#if PY_MAJOR_VERSION >= 3 + "'%.50s' object has no attribute '%U'", + tp->tp_name, attr_name); +#else + "'%.50s' object has no attribute '%.400s'", + tp->tp_name, PyString_AS_STRING(attr_name)); +#endif + return NULL; +} +static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name) { + PyObject *descr; + PyTypeObject *tp = Py_TYPE(obj); + if (unlikely(!PyString_Check(attr_name))) { + return PyObject_GenericGetAttr(obj, attr_name); + } + assert(!tp->tp_dictoffset); + descr = _PyType_Lookup(tp, attr_name); + if (unlikely(!descr)) { + return __Pyx_RaiseGenericGetAttributeError(tp, attr_name); + } + Py_INCREF(descr); + #if PY_MAJOR_VERSION < 3 + if (likely(PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_HAVE_CLASS))) + #endif + { + descrgetfunc f = Py_TYPE(descr)->tp_descr_get; + if (unlikely(f)) { + PyObject *res = f(descr, obj, (PyObject *)tp); + Py_DECREF(descr); + return res; + } + } + return descr; +} +#endif + +/* PyObject_GenericGetAttr */ +#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 +static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name) { + if (unlikely(Py_TYPE(obj)->tp_dictoffset)) { + return PyObject_GenericGetAttr(obj, attr_name); + } + return __Pyx_PyObject_GenericGetAttrNoDict(obj, attr_name); +} +#endif + +/* PyObjectGetAttrStrNoError */ +static void __Pyx_PyObject_GetAttrStr_ClearAttributeError(void) { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + if (likely(__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError))) + __Pyx_PyErr_Clear(); +} +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name) { + PyObject *result; +#if CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_TYPE_SLOTS && PY_VERSION_HEX >= 0x030700B1 + PyTypeObject* tp = Py_TYPE(obj); + if (likely(tp->tp_getattro == PyObject_GenericGetAttr)) { + return _PyObject_GenericGetAttrWithDict(obj, attr_name, NULL, 1); + } +#endif + result = __Pyx_PyObject_GetAttrStr(obj, attr_name); + if (unlikely(!result)) { + __Pyx_PyObject_GetAttrStr_ClearAttributeError(); + } + return result; +} + +/* SetupReduce */ +static int __Pyx_setup_reduce_is_named(PyObject* meth, PyObject* name) { + int ret; + PyObject *name_attr; + name_attr = __Pyx_PyObject_GetAttrStr(meth, __pyx_n_s_name); + if (likely(name_attr)) { + ret = PyObject_RichCompareBool(name_attr, name, Py_EQ); + } else { + ret = -1; + } + if (unlikely(ret < 0)) { + PyErr_Clear(); + ret = 0; + } + Py_XDECREF(name_attr); + return ret; +} +static int __Pyx_setup_reduce(PyObject* type_obj) { + int ret = 0; + PyObject *object_reduce = NULL; + PyObject *object_getstate = NULL; + PyObject *object_reduce_ex = NULL; + PyObject *reduce = NULL; + PyObject *reduce_ex = NULL; + PyObject *reduce_cython = NULL; + PyObject *setstate = NULL; + PyObject *setstate_cython = NULL; + PyObject *getstate = NULL; +#if CYTHON_USE_PYTYPE_LOOKUP + getstate = _PyType_Lookup((PyTypeObject*)type_obj, __pyx_n_s_getstate); +#else + getstate = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_n_s_getstate); + if (!getstate && PyErr_Occurred()) { + goto __PYX_BAD; + } +#endif + if (getstate) { +#if CYTHON_USE_PYTYPE_LOOKUP + object_getstate = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_getstate); +#else + object_getstate = __Pyx_PyObject_GetAttrStrNoError((PyObject*)&PyBaseObject_Type, __pyx_n_s_getstate); + if (!object_getstate && PyErr_Occurred()) { + goto __PYX_BAD; + } +#endif + if (object_getstate != getstate) { + goto __PYX_GOOD; + } + } +#if CYTHON_USE_PYTYPE_LOOKUP + object_reduce_ex = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_reduce_ex); if (!object_reduce_ex) goto __PYX_BAD; +#else + object_reduce_ex = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_n_s_reduce_ex); if (!object_reduce_ex) goto __PYX_BAD; +#endif + reduce_ex = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce_ex); if (unlikely(!reduce_ex)) goto __PYX_BAD; + if (reduce_ex == object_reduce_ex) { +#if CYTHON_USE_PYTYPE_LOOKUP + object_reduce = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_reduce); if (!object_reduce) goto __PYX_BAD; +#else + object_reduce = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_n_s_reduce); if (!object_reduce) goto __PYX_BAD; +#endif + reduce = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce); if (unlikely(!reduce)) goto __PYX_BAD; + if (reduce == object_reduce || __Pyx_setup_reduce_is_named(reduce, __pyx_n_s_reduce_cython)) { + reduce_cython = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_n_s_reduce_cython); + if (likely(reduce_cython)) { + ret = PyDict_SetItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_reduce, reduce_cython); if (unlikely(ret < 0)) goto __PYX_BAD; + ret = PyDict_DelItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_reduce_cython); if (unlikely(ret < 0)) goto __PYX_BAD; + } else if (reduce == object_reduce || PyErr_Occurred()) { + goto __PYX_BAD; + } + setstate = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_setstate); + if (!setstate) PyErr_Clear(); + if (!setstate || __Pyx_setup_reduce_is_named(setstate, __pyx_n_s_setstate_cython)) { + setstate_cython = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_n_s_setstate_cython); + if (likely(setstate_cython)) { + ret = PyDict_SetItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_setstate, setstate_cython); if (unlikely(ret < 0)) goto __PYX_BAD; + ret = PyDict_DelItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_setstate_cython); if (unlikely(ret < 0)) goto __PYX_BAD; + } else if (!setstate || PyErr_Occurred()) { + goto __PYX_BAD; + } + } + PyType_Modified((PyTypeObject*)type_obj); + } + } + goto __PYX_GOOD; +__PYX_BAD: + if (!PyErr_Occurred()) + PyErr_Format(PyExc_RuntimeError, "Unable to initialize pickling for %s", ((PyTypeObject*)type_obj)->tp_name); + ret = -1; +__PYX_GOOD: +#if !CYTHON_USE_PYTYPE_LOOKUP + Py_XDECREF(object_reduce); + Py_XDECREF(object_reduce_ex); + Py_XDECREF(object_getstate); + Py_XDECREF(getstate); +#endif + Py_XDECREF(reduce); + Py_XDECREF(reduce_ex); + Py_XDECREF(reduce_cython); + Py_XDECREF(setstate); + Py_XDECREF(setstate_cython); + return ret; +} + +/* SetVTable */ +static int __Pyx_SetVtable(PyObject *dict, void *vtable) { +#if PY_VERSION_HEX >= 0x02070000 + PyObject *ob = PyCapsule_New(vtable, 0, 0); +#else + PyObject *ob = PyCObject_FromVoidPtr(vtable, 0); +#endif + if (!ob) + goto bad; + if (PyDict_SetItem(dict, __pyx_n_s_pyx_vtable, ob) < 0) + goto bad; + Py_DECREF(ob); + return 0; +bad: + Py_XDECREF(ob); + return -1; +} + +/* TypeImport */ +#ifndef __PYX_HAVE_RT_ImportType +#define __PYX_HAVE_RT_ImportType +static PyTypeObject *__Pyx_ImportType(PyObject *module, const char *module_name, const char *class_name, + size_t size, enum __Pyx_ImportType_CheckSize check_size) +{ + PyObject *result = 0; + char warning[200]; + Py_ssize_t basicsize; +#ifdef Py_LIMITED_API + PyObject *py_basicsize; +#endif + result = PyObject_GetAttrString(module, class_name); + if (!result) + goto bad; + if (!PyType_Check(result)) { + PyErr_Format(PyExc_TypeError, + "%.200s.%.200s is not a type object", + module_name, class_name); + goto bad; + } +#ifndef Py_LIMITED_API + basicsize = ((PyTypeObject *)result)->tp_basicsize; +#else + py_basicsize = PyObject_GetAttrString(result, "__basicsize__"); + if (!py_basicsize) + goto bad; + basicsize = PyLong_AsSsize_t(py_basicsize); + Py_DECREF(py_basicsize); + py_basicsize = 0; + if (basicsize == (Py_ssize_t)-1 && PyErr_Occurred()) + goto bad; +#endif + if ((size_t)basicsize < size) { + PyErr_Format(PyExc_ValueError, + "%.200s.%.200s size changed, may indicate binary incompatibility. " + "Expected %zd from C header, got %zd from PyObject", + module_name, class_name, size, basicsize); + goto bad; + } + if (check_size == __Pyx_ImportType_CheckSize_Error && (size_t)basicsize != size) { + PyErr_Format(PyExc_ValueError, + "%.200s.%.200s size changed, may indicate binary incompatibility. " + "Expected %zd from C header, got %zd from PyObject", + module_name, class_name, size, basicsize); + goto bad; + } + else if (check_size == __Pyx_ImportType_CheckSize_Warn && (size_t)basicsize > size) { + PyOS_snprintf(warning, sizeof(warning), + "%s.%s size changed, may indicate binary incompatibility. " + "Expected %zd from C header, got %zd from PyObject", + module_name, class_name, size, basicsize); + if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad; + } + return (PyTypeObject *)result; +bad: + Py_XDECREF(result); + return NULL; +} +#endif + +/* CLineInTraceback */ +#ifndef CYTHON_CLINE_IN_TRACEBACK +static int __Pyx_CLineForTraceback(CYTHON_NCP_UNUSED PyThreadState *tstate, int c_line) { + PyObject *use_cline; + PyObject *ptype, *pvalue, *ptraceback; +#if CYTHON_COMPILING_IN_CPYTHON + PyObject **cython_runtime_dict; +#endif + if (unlikely(!__pyx_cython_runtime)) { + return c_line; + } + __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback); +#if CYTHON_COMPILING_IN_CPYTHON + cython_runtime_dict = _PyObject_GetDictPtr(__pyx_cython_runtime); + if (likely(cython_runtime_dict)) { + __PYX_PY_DICT_LOOKUP_IF_MODIFIED( + use_cline, *cython_runtime_dict, + __Pyx_PyDict_GetItemStr(*cython_runtime_dict, __pyx_n_s_cline_in_traceback)) + } else +#endif + { + PyObject *use_cline_obj = __Pyx_PyObject_GetAttrStr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback); + if (use_cline_obj) { + use_cline = PyObject_Not(use_cline_obj) ? Py_False : Py_True; + Py_DECREF(use_cline_obj); + } else { + PyErr_Clear(); + use_cline = NULL; + } + } + if (!use_cline) { + c_line = 0; + (void) PyObject_SetAttr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback, Py_False); + } + else if (use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) { + c_line = 0; + } + __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback); + return c_line; +} +#endif + +/* CodeObjectCache */ +static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) { + int start = 0, mid = 0, end = count - 1; + if (end >= 0 && code_line > entries[end].code_line) { + return count; + } + while (start < end) { + mid = start + (end - start) / 2; + if (code_line < entries[mid].code_line) { + end = mid; + } else if (code_line > entries[mid].code_line) { + start = mid + 1; + } else { + return mid; + } + } + if (code_line <= entries[mid].code_line) { + return mid; + } else { + return mid + 1; + } +} +static PyCodeObject *__pyx_find_code_object(int code_line) { + PyCodeObject* code_object; + int pos; + if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) { + return NULL; + } + pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); + if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) { + return NULL; + } + code_object = __pyx_code_cache.entries[pos].code_object; + Py_INCREF(code_object); + return code_object; +} +static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) { + int pos, i; + __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries; + if (unlikely(!code_line)) { + return; + } + if (unlikely(!entries)) { + entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry)); + if (likely(entries)) { + __pyx_code_cache.entries = entries; + __pyx_code_cache.max_count = 64; + __pyx_code_cache.count = 1; + entries[0].code_line = code_line; + entries[0].code_object = code_object; + Py_INCREF(code_object); + } + return; + } + pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); + if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) { + PyCodeObject* tmp = entries[pos].code_object; + entries[pos].code_object = code_object; + Py_DECREF(tmp); + return; + } + if (__pyx_code_cache.count == __pyx_code_cache.max_count) { + int new_max = __pyx_code_cache.max_count + 64; + entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc( + __pyx_code_cache.entries, ((size_t)new_max) * sizeof(__Pyx_CodeObjectCacheEntry)); + if (unlikely(!entries)) { + return; + } + __pyx_code_cache.entries = entries; + __pyx_code_cache.max_count = new_max; + } + for (i=__pyx_code_cache.count; i>pos; i--) { + entries[i] = entries[i-1]; + } + entries[pos].code_line = code_line; + entries[pos].code_object = code_object; + __pyx_code_cache.count++; + Py_INCREF(code_object); +} + +/* AddTraceback */ +#include "compile.h" +#include "frameobject.h" +#include "traceback.h" +#if PY_VERSION_HEX >= 0x030b00a6 + #ifndef Py_BUILD_CORE + #define Py_BUILD_CORE 1 + #endif + #include "internal/pycore_frame.h" +#endif +static PyCodeObject* __Pyx_CreateCodeObjectForTraceback( + const char *funcname, int c_line, + int py_line, const char *filename) { + PyCodeObject *py_code = NULL; + PyObject *py_funcname = NULL; + #if PY_MAJOR_VERSION < 3 + PyObject *py_srcfile = NULL; + py_srcfile = PyString_FromString(filename); + if (!py_srcfile) goto bad; + #endif + if (c_line) { + #if PY_MAJOR_VERSION < 3 + py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); + if (!py_funcname) goto bad; + #else + py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); + if (!py_funcname) goto bad; + funcname = PyUnicode_AsUTF8(py_funcname); + if (!funcname) goto bad; + #endif + } + else { + #if PY_MAJOR_VERSION < 3 + py_funcname = PyString_FromString(funcname); + if (!py_funcname) goto bad; + #endif + } + #if PY_MAJOR_VERSION < 3 + py_code = __Pyx_PyCode_New( + 0, + 0, + 0, + 0, + 0, + __pyx_empty_bytes, /*PyObject *code,*/ + __pyx_empty_tuple, /*PyObject *consts,*/ + __pyx_empty_tuple, /*PyObject *names,*/ + __pyx_empty_tuple, /*PyObject *varnames,*/ + __pyx_empty_tuple, /*PyObject *freevars,*/ + __pyx_empty_tuple, /*PyObject *cellvars,*/ + py_srcfile, /*PyObject *filename,*/ + py_funcname, /*PyObject *name,*/ + py_line, + __pyx_empty_bytes /*PyObject *lnotab*/ + ); + Py_DECREF(py_srcfile); + #else + py_code = PyCode_NewEmpty(filename, funcname, py_line); + #endif + Py_XDECREF(py_funcname); // XDECREF since it's only set on Py3 if cline + return py_code; +bad: + Py_XDECREF(py_funcname); + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(py_srcfile); + #endif + return NULL; +} +static void __Pyx_AddTraceback(const char *funcname, int c_line, + int py_line, const char *filename) { + PyCodeObject *py_code = 0; + PyFrameObject *py_frame = 0; + PyThreadState *tstate = __Pyx_PyThreadState_Current; + PyObject *ptype, *pvalue, *ptraceback; + if (c_line) { + c_line = __Pyx_CLineForTraceback(tstate, c_line); + } + py_code = __pyx_find_code_object(c_line ? -c_line : py_line); + if (!py_code) { + __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback); + py_code = __Pyx_CreateCodeObjectForTraceback( + funcname, c_line, py_line, filename); + if (!py_code) { + /* If the code object creation fails, then we should clear the + fetched exception references and propagate the new exception */ + Py_XDECREF(ptype); + Py_XDECREF(pvalue); + Py_XDECREF(ptraceback); + goto bad; + } + __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback); + __pyx_insert_code_object(c_line ? -c_line : py_line, py_code); + } + py_frame = PyFrame_New( + tstate, /*PyThreadState *tstate,*/ + py_code, /*PyCodeObject *code,*/ + __pyx_d, /*PyObject *globals,*/ + 0 /*PyObject *locals*/ + ); + if (!py_frame) goto bad; + __Pyx_PyFrame_SetLineNumber(py_frame, py_line); + PyTraceBack_Here(py_frame); +bad: + Py_XDECREF(py_code); + Py_XDECREF(py_frame); +} + +/* CIntFromPyVerify */ +#define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\ + __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0) +#define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\ + __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1) +#define __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, exc)\ + {\ + func_type value = func_value;\ + if (sizeof(target_type) < sizeof(func_type)) {\ + if (unlikely(value != (func_type) (target_type) value)) {\ + func_type zero = 0;\ + if (exc && unlikely(value == (func_type)-1 && PyErr_Occurred()))\ + return (target_type) -1;\ + if (is_unsigned && unlikely(value < zero))\ + goto raise_neg_overflow;\ + else\ + goto raise_overflow;\ + }\ + }\ + return (target_type) value;\ + } + +/* CIntToPy */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) { +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" +#endif + const int neg_one = (int) -1, const_zero = (int) 0; +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic pop +#endif + const int is_unsigned = neg_one > const_zero; + if (is_unsigned) { + if (sizeof(int) < sizeof(long)) { + return PyInt_FromLong((long) value); + } else if (sizeof(int) <= sizeof(unsigned long)) { + return PyLong_FromUnsignedLong((unsigned long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) { + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); +#endif + } + } else { + if (sizeof(int) <= sizeof(long)) { + return PyInt_FromLong((long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) { + return PyLong_FromLongLong((PY_LONG_LONG) value); +#endif + } + } + { + int one = 1; int little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&value; + return _PyLong_FromByteArray(bytes, sizeof(int), + little, !is_unsigned); + } +} + +/* CIntFromPy */ +static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) { +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" +#endif + const int neg_one = (int) -1, const_zero = (int) 0; +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic pop +#endif + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(int) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (int) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (int) 0; + case 1: __PYX_VERIFY_RETURN_INT(int, digit, digits[0]) + case 2: + if (8 * sizeof(int) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) >= 2 * PyLong_SHIFT) { + return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(int) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) >= 3 * PyLong_SHIFT) { + return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(int) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) >= 4 * PyLong_SHIFT) { + return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (int) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(int) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (int) 0; + case -1: __PYX_VERIFY_RETURN_INT(int, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(int, digit, +digits[0]) + case -2: + if (8 * sizeof(int) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { + return (int) (((int)-1)*(((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(int) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { + return (int) ((((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { + return (int) (((int)-1)*(((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(int) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { + return (int) ((((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) { + return (int) (((int)-1)*(((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(int) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) { + return (int) ((((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + } +#endif + if (sizeof(int) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + int val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (int) -1; + } + } else { + int val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (int) -1; + val = __Pyx_PyInt_As_int(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to int"); + return (int) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to int"); + return (int) -1; +} + +/* CIntFromPy */ +static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) { +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" +#endif + const long neg_one = (long) -1, const_zero = (long) 0; +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic pop +#endif + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(long) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (long) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (long) 0; + case 1: __PYX_VERIFY_RETURN_INT(long, digit, digits[0]) + case 2: + if (8 * sizeof(long) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) >= 2 * PyLong_SHIFT) { + return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(long) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) >= 3 * PyLong_SHIFT) { + return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(long) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) >= 4 * PyLong_SHIFT) { + return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (long) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(long) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (long) 0; + case -1: __PYX_VERIFY_RETURN_INT(long, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(long, digit, +digits[0]) + case -2: + if (8 * sizeof(long) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + return (long) (((long)-1)*(((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(long) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + return (long) ((((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + return (long) (((long)-1)*(((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(long) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + return (long) ((((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + return (long) (((long)-1)*(((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(long) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + return (long) ((((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + } +#endif + if (sizeof(long) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + long val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (long) -1; + } + } else { + long val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (long) -1; + val = __Pyx_PyInt_As_long(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to long"); + return (long) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to long"); + return (long) -1; +} + +/* CIntToPy */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) { +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" +#endif + const long neg_one = (long) -1, const_zero = (long) 0; +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic pop +#endif + const int is_unsigned = neg_one > const_zero; + if (is_unsigned) { + if (sizeof(long) < sizeof(long)) { + return PyInt_FromLong((long) value); + } else if (sizeof(long) <= sizeof(unsigned long)) { + return PyLong_FromUnsignedLong((unsigned long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); +#endif + } + } else { + if (sizeof(long) <= sizeof(long)) { + return PyInt_FromLong((long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { + return PyLong_FromLongLong((PY_LONG_LONG) value); +#endif + } + } + { + int one = 1; int little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&value; + return _PyLong_FromByteArray(bytes, sizeof(long), + little, !is_unsigned); + } +} + +/* FastTypeChecks */ +#if CYTHON_COMPILING_IN_CPYTHON +static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) { + while (a) { + a = a->tp_base; + if (a == b) + return 1; + } + return b == &PyBaseObject_Type; +} +static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b) { + PyObject *mro; + if (a == b) return 1; + mro = a->tp_mro; + if (likely(mro)) { + Py_ssize_t i, n; + n = PyTuple_GET_SIZE(mro); + for (i = 0; i < n; i++) { + if (PyTuple_GET_ITEM(mro, i) == (PyObject *)b) + return 1; + } + return 0; + } + return __Pyx_InBases(a, b); +} +#if PY_MAJOR_VERSION == 2 +static int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject* exc_type2) { + PyObject *exception, *value, *tb; + int res; + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ErrFetch(&exception, &value, &tb); + res = exc_type1 ? PyObject_IsSubclass(err, exc_type1) : 0; + if (unlikely(res == -1)) { + PyErr_WriteUnraisable(err); + res = 0; + } + if (!res) { + res = PyObject_IsSubclass(err, exc_type2); + if (unlikely(res == -1)) { + PyErr_WriteUnraisable(err); + res = 0; + } + } + __Pyx_ErrRestore(exception, value, tb); + return res; +} +#else +static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) { + int res = exc_type1 ? __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type1) : 0; + if (!res) { + res = __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2); + } + return res; +} +#endif +static int __Pyx_PyErr_GivenExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { + Py_ssize_t i, n; + assert(PyExceptionClass_Check(exc_type)); + n = PyTuple_GET_SIZE(tuple); +#if PY_MAJOR_VERSION >= 3 + for (i=0; i '9'); + break; + } + if (rt_from_call[i] != ctversion[i]) { + same = 0; + break; + } + } + if (!same) { + char rtversion[5] = {'\0'}; + char message[200]; + for (i=0; i<4; ++i) { + if (rt_from_call[i] == '.') { + if (found_dot) break; + found_dot = 1; + } else if (rt_from_call[i] < '0' || rt_from_call[i] > '9') { + break; + } + rtversion[i] = rt_from_call[i]; + } + PyOS_snprintf(message, sizeof(message), + "compiletime version %s of module '%.100s' " + "does not match runtime version %s", + ctversion, __Pyx_MODULE_NAME, rtversion); + return PyErr_WarnEx(NULL, message, 1); + } + return 0; +} + +/* InitStrings */ +static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) { + while (t->p) { + #if PY_MAJOR_VERSION < 3 + if (t->is_unicode) { + *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL); + } else if (t->intern) { + *t->p = PyString_InternFromString(t->s); + } else { + *t->p = PyString_FromStringAndSize(t->s, t->n - 1); + } + #else + if (t->is_unicode | t->is_str) { + if (t->intern) { + *t->p = PyUnicode_InternFromString(t->s); + } else if (t->encoding) { + *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL); + } else { + *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1); + } + } else { + *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1); + } + #endif + if (!*t->p) + return -1; + if (PyObject_Hash(*t->p) == -1) + return -1; + ++t; + } + return 0; +} + +static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) { + return __Pyx_PyUnicode_FromStringAndSize(c_str, (Py_ssize_t)strlen(c_str)); +} +static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) { + Py_ssize_t ignore; + return __Pyx_PyObject_AsStringAndSize(o, &ignore); +} +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT +#if !CYTHON_PEP393_ENABLED +static const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { + char* defenc_c; + PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL); + if (!defenc) return NULL; + defenc_c = PyBytes_AS_STRING(defenc); +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + { + char* end = defenc_c + PyBytes_GET_SIZE(defenc); + char* c; + for (c = defenc_c; c < end; c++) { + if ((unsigned char) (*c) >= 128) { + PyUnicode_AsASCIIString(o); + return NULL; + } + } + } +#endif + *length = PyBytes_GET_SIZE(defenc); + return defenc_c; +} +#else +static CYTHON_INLINE const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { + if (unlikely(__Pyx_PyUnicode_READY(o) == -1)) return NULL; +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + if (likely(PyUnicode_IS_ASCII(o))) { + *length = PyUnicode_GET_LENGTH(o); + return PyUnicode_AsUTF8(o); + } else { + PyUnicode_AsASCIIString(o); + return NULL; + } +#else + return PyUnicode_AsUTF8AndSize(o, length); +#endif +} +#endif +#endif +static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) { +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT + if ( +#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + __Pyx_sys_getdefaultencoding_not_ascii && +#endif + PyUnicode_Check(o)) { + return __Pyx_PyUnicode_AsStringAndSize(o, length); + } else +#endif +#if (!CYTHON_COMPILING_IN_PYPY) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE)) + if (PyByteArray_Check(o)) { + *length = PyByteArray_GET_SIZE(o); + return PyByteArray_AS_STRING(o); + } else +#endif + { + char* result; + int r = PyBytes_AsStringAndSize(o, &result, length); + if (unlikely(r < 0)) { + return NULL; + } else { + return result; + } + } +} +static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) { + int is_true = x == Py_True; + if (is_true | (x == Py_False) | (x == Py_None)) return is_true; + else return PyObject_IsTrue(x); +} +static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject* x) { + int retval; + if (unlikely(!x)) return -1; + retval = __Pyx_PyObject_IsTrue(x); + Py_DECREF(x); + return retval; +} +static PyObject* __Pyx_PyNumber_IntOrLongWrongResultType(PyObject* result, const char* type_name) { +#if PY_MAJOR_VERSION >= 3 + if (PyLong_Check(result)) { + if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1, + "__int__ returned non-int (type %.200s). " + "The ability to return an instance of a strict subclass of int " + "is deprecated, and may be removed in a future version of Python.", + Py_TYPE(result)->tp_name)) { + Py_DECREF(result); + return NULL; + } + return result; + } +#endif + PyErr_Format(PyExc_TypeError, + "__%.4s__ returned non-%.4s (type %.200s)", + type_name, type_name, Py_TYPE(result)->tp_name); + Py_DECREF(result); + return NULL; +} +static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) { +#if CYTHON_USE_TYPE_SLOTS + PyNumberMethods *m; +#endif + const char *name = NULL; + PyObject *res = NULL; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x) || PyLong_Check(x))) +#else + if (likely(PyLong_Check(x))) +#endif + return __Pyx_NewRef(x); +#if CYTHON_USE_TYPE_SLOTS + m = Py_TYPE(x)->tp_as_number; + #if PY_MAJOR_VERSION < 3 + if (m && m->nb_int) { + name = "int"; + res = m->nb_int(x); + } + else if (m && m->nb_long) { + name = "long"; + res = m->nb_long(x); + } + #else + if (likely(m && m->nb_int)) { + name = "int"; + res = m->nb_int(x); + } + #endif +#else + if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) { + res = PyNumber_Int(x); + } +#endif + if (likely(res)) { +#if PY_MAJOR_VERSION < 3 + if (unlikely(!PyInt_Check(res) && !PyLong_Check(res))) { +#else + if (unlikely(!PyLong_CheckExact(res))) { +#endif + return __Pyx_PyNumber_IntOrLongWrongResultType(res, name); + } + } + else if (!PyErr_Occurred()) { + PyErr_SetString(PyExc_TypeError, + "an integer is required"); + } + return res; +} +static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) { + Py_ssize_t ival; + PyObject *x; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_CheckExact(b))) { + if (sizeof(Py_ssize_t) >= sizeof(long)) + return PyInt_AS_LONG(b); + else + return PyInt_AsSsize_t(b); + } +#endif + if (likely(PyLong_CheckExact(b))) { + #if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)b)->ob_digit; + const Py_ssize_t size = Py_SIZE(b); + if (likely(__Pyx_sst_abs(size) <= 1)) { + ival = likely(size) ? digits[0] : 0; + if (size == -1) ival = -ival; + return ival; + } else { + switch (size) { + case 2: + if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { + return (Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case -2: + if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { + return -(Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case 3: + if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { + return (Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case -3: + if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { + return -(Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case 4: + if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { + return (Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case -4: + if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { + return -(Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + } + } + #endif + return PyLong_AsSsize_t(b); + } + x = PyNumber_Index(b); + if (!x) return -1; + ival = PyInt_AsSsize_t(x); + Py_DECREF(x); + return ival; +} +static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject* o) { + if (sizeof(Py_hash_t) == sizeof(Py_ssize_t)) { + return (Py_hash_t) __Pyx_PyIndex_AsSsize_t(o); +#if PY_MAJOR_VERSION < 3 + } else if (likely(PyInt_CheckExact(o))) { + return PyInt_AS_LONG(o); +#endif + } else { + Py_ssize_t ival; + PyObject *x; + x = PyNumber_Index(o); + if (!x) return -1; + ival = PyInt_AsLong(x); + Py_DECREF(x); + return ival; + } +} +static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) { + return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False); +} +static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) { + return PyInt_FromSize_t(ival); +} + + +#endif /* Py_PYTHON_H */ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.cpython-38-x86_64-linux-gnu.so b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.cpython-38-x86_64-linux-gnu.so new file mode 100755 index 0000000..988a729 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.cpython-38-x86_64-linux-gnu.so differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.pxd b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.pxd new file mode 100644 index 0000000..51bb495 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.pxd @@ -0,0 +1,27 @@ +cdef class PyDBAdditionalThreadInfo: + cdef public int pydev_state + cdef public object pydev_step_stop # Actually, it's a frame or None + cdef public int pydev_original_step_cmd + cdef public int pydev_step_cmd + cdef public bint pydev_notify_kill + cdef public object pydev_smart_step_stop # Actually, it's a frame or None + cdef public bint pydev_django_resolve_frame + cdef public object pydev_call_from_jinja2 + cdef public object pydev_call_inside_jinja2 + cdef public int is_tracing + cdef public tuple conditional_breakpoint_exception + cdef public str pydev_message + cdef public int suspend_type + cdef public int pydev_next_line + cdef public str pydev_func_name + cdef public bint suspended_at_unhandled + cdef public str trace_suspend_type + cdef public object top_level_thread_tracer_no_back_frames + cdef public object top_level_thread_tracer_unhandled + cdef public object thread_tracer + cdef public object step_in_initial_location + cdef public int pydev_smart_parent_offset + cdef public int pydev_smart_child_offset + cdef public tuple pydev_smart_step_into_variants + cdef public dict target_id_to_smart_step_into_variant + cdef public bint pydev_use_scoped_step_frame diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.pyx b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.pyx new file mode 100644 index 0000000..da21f49 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.pyx @@ -0,0 +1,1870 @@ +from __future__ import print_function + +# Important: Autogenerated file. + +# DO NOT edit manually! +# DO NOT edit manually! +from _pydevd_bundle.pydevd_constants import (STATE_RUN, PYTHON_SUSPEND, SUPPORT_GEVENT, ForkSafeLock, + _current_frames) +from _pydev_bundle import pydev_log +# IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) +pydev_log.debug("Using Cython speedups") +# ELSE +# from _pydevd_bundle.pydevd_frame import PyDBFrame +# ENDIF + +version = 11 + + +#======================================================================================================================= +# PyDBAdditionalThreadInfo +#======================================================================================================================= +# IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) +cdef class PyDBAdditionalThreadInfo: +# ELSE +# class PyDBAdditionalThreadInfo(object): +# ENDIF + + # Note: the params in cython are declared in pydevd_cython.pxd. + # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + # ELSE +# __slots__ = [ +# 'pydev_state', +# 'pydev_step_stop', +# 'pydev_original_step_cmd', +# 'pydev_step_cmd', +# 'pydev_notify_kill', +# 'pydev_django_resolve_frame', +# 'pydev_call_from_jinja2', +# 'pydev_call_inside_jinja2', +# 'is_tracing', +# 'conditional_breakpoint_exception', +# 'pydev_message', +# 'suspend_type', +# 'pydev_next_line', +# 'pydev_func_name', +# 'suspended_at_unhandled', +# 'trace_suspend_type', +# 'top_level_thread_tracer_no_back_frames', +# 'top_level_thread_tracer_unhandled', +# 'thread_tracer', +# 'step_in_initial_location', +# +# # Used for CMD_SMART_STEP_INTO (to know which smart step into variant to use) +# 'pydev_smart_parent_offset', +# 'pydev_smart_child_offset', +# +# # Used for CMD_SMART_STEP_INTO (list[_pydevd_bundle.pydevd_bytecode_utils.Variant]) +# # Filled when the cmd_get_smart_step_into_variants is requested (so, this is a copy +# # of the last request for a given thread and pydev_smart_parent_offset/pydev_smart_child_offset relies on it). +# 'pydev_smart_step_into_variants', +# 'target_id_to_smart_step_into_variant', +# +# 'pydev_use_scoped_step_frame', +# ] + # ENDIF + + def __init__(self): + self.pydev_state = STATE_RUN # STATE_RUN or STATE_SUSPEND + self.pydev_step_stop = None + + # Note: we have `pydev_original_step_cmd` and `pydev_step_cmd` because the original is to + # say the action that started it and the other is to say what's the current tracing behavior + # (because it's possible that we start with a step over but may have to switch to a + # different step strategy -- for instance, if a step over is done and we return the current + # method the strategy is changed to a step in). + + self.pydev_original_step_cmd = -1 # Something as CMD_STEP_INTO, CMD_STEP_OVER, etc. + self.pydev_step_cmd = -1 # Something as CMD_STEP_INTO, CMD_STEP_OVER, etc. + + self.pydev_notify_kill = False + self.pydev_django_resolve_frame = False + self.pydev_call_from_jinja2 = None + self.pydev_call_inside_jinja2 = None + self.is_tracing = 0 + self.conditional_breakpoint_exception = None + self.pydev_message = '' + self.suspend_type = PYTHON_SUSPEND + self.pydev_next_line = -1 + self.pydev_func_name = '.invalid.' # Must match the type in cython + self.suspended_at_unhandled = False + self.trace_suspend_type = 'trace' # 'trace' or 'frame_eval' + self.top_level_thread_tracer_no_back_frames = [] + self.top_level_thread_tracer_unhandled = None + self.thread_tracer = None + self.step_in_initial_location = None + self.pydev_smart_parent_offset = -1 + self.pydev_smart_child_offset = -1 + self.pydev_smart_step_into_variants = () + self.target_id_to_smart_step_into_variant = {} + + # Flag to indicate ipython use-case where each line will be executed as a call/line/return + # in a new new frame but in practice we want to consider each new frame as if it was all + # part of the same frame. + # + # In practice this means that a step over shouldn't revert to a step in and we need some + # special logic to know when we should stop in a step over as we need to consider 2 + # different frames as being equal if they're logically the continuation of a frame + # being executed by ipython line by line. + # + # See: https://github.com/microsoft/debugpy/issues/869#issuecomment-1132141003 + self.pydev_use_scoped_step_frame = False + + def get_topmost_frame(self, thread): + ''' + Gets the topmost frame for the given thread. Note that it may be None + and callers should remove the reference to the frame as soon as possible + to avoid disturbing user code. + ''' + # sys._current_frames(): dictionary with thread id -> topmost frame + current_frames = _current_frames() + topmost_frame = current_frames.get(thread.ident) + if topmost_frame is None: + # Note: this is expected for dummy threads (so, getting the topmost frame should be + # treated as optional). + pydev_log.info( + 'Unable to get topmost frame for thread: %s, thread.ident: %s, id(thread): %s\nCurrent frames: %s.\n' + 'GEVENT_SUPPORT: %s', + thread, + thread.ident, + id(thread), + current_frames, + SUPPORT_GEVENT, + ) + + return topmost_frame + + def __str__(self): + return 'State:%s Stop:%s Cmd: %s Kill:%s' % ( + self.pydev_state, self.pydev_step_stop, self.pydev_step_cmd, self.pydev_notify_kill) + + +_set_additional_thread_info_lock = ForkSafeLock() + + +def set_additional_thread_info(thread): + try: + additional_info = thread.additional_info + if additional_info is None: + raise AttributeError() + except: + with _set_additional_thread_info_lock: + # If it's not there, set it within a lock to avoid any racing + # conditions. + additional_info = getattr(thread, 'additional_info', None) + if additional_info is None: + additional_info = PyDBAdditionalThreadInfo() + thread.additional_info = additional_info + + return additional_info +import linecache +import os.path +import re + +from _pydev_bundle import pydev_log +from _pydevd_bundle import pydevd_dont_trace +from _pydevd_bundle.pydevd_constants import (RETURN_VALUES_DICT, NO_FTRACE, + EXCEPTION_TYPE_HANDLED, EXCEPTION_TYPE_USER_UNHANDLED, PYDEVD_IPYTHON_CONTEXT) +from _pydevd_bundle.pydevd_frame_utils import add_exception_to_frame, just_raised, remove_exception_from_frame, ignore_exception_trace +from _pydevd_bundle.pydevd_utils import get_clsname_for_code +from pydevd_file_utils import get_abs_path_real_path_and_base_from_frame +from _pydevd_bundle.pydevd_comm_constants import constant_to_str, CMD_SET_FUNCTION_BREAK +try: + from _pydevd_bundle.pydevd_bytecode_utils import get_smart_step_into_variant_from_frame_offset +except ImportError: + + def get_smart_step_into_variant_from_frame_offset(*args, **kwargs): + return None + +# IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) +# ELSE +# # Note: those are now inlined on cython. +# 107 = 107 +# 144 = 144 +# 109 = 109 +# 160 = 160 +# 108 = 108 +# 159 = 159 +# 137 = 137 +# 111 = 111 +# 128 = 128 +# 206 = 206 +# 1 = 1 +# 2 = 2 +# ENDIF + +basename = os.path.basename + +IGNORE_EXCEPTION_TAG = re.compile('[^#]*#.*@IgnoreException') +DEBUG_START = ('pydevd.py', 'run') +DEBUG_START_PY3K = ('_pydev_execfile.py', 'execfile') +TRACE_PROPERTY = 'pydevd_traceproperty.py' + +import dis + +try: + StopAsyncIteration +except NameError: + StopAsyncIteration = StopIteration + + +# IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) +cdef is_unhandled_exception(container_obj, py_db, frame, int last_raise_line, set raise_lines): +# ELSE +# def is_unhandled_exception(container_obj, py_db, frame, last_raise_line, raise_lines): +# ENDIF + if frame.f_lineno in raise_lines: + return True + + else: + try_except_infos = container_obj.try_except_infos + if try_except_infos is None: + container_obj.try_except_infos = try_except_infos = py_db.collect_try_except_info(frame.f_code) + + if not try_except_infos: + # Consider the last exception as unhandled because there's no try..except in it. + return True + else: + # Now, consider only the try..except for the raise + valid_try_except_infos = [] + for try_except_info in try_except_infos: + if try_except_info.is_line_in_try_block(last_raise_line): + valid_try_except_infos.append(try_except_info) + + if not valid_try_except_infos: + return True + + else: + # Note: check all, not only the "valid" ones to cover the case + # in "tests_python.test_tracing_on_top_level.raise_unhandled10" + # where one try..except is inside the other with only a raise + # and it's gotten in the except line. + for try_except_info in try_except_infos: + if try_except_info.is_line_in_except_block(frame.f_lineno): + if ( + frame.f_lineno == try_except_info.except_line or + frame.f_lineno in try_except_info.raise_lines_in_except + ): + # In a raise inside a try..except block or some except which doesn't + # match the raised exception. + return True + return False + + +# IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) +cdef class _TryExceptContainerObj: + cdef public list try_except_infos; + def __init__(self): + self.try_except_infos = None +# ELSE +# class _TryExceptContainerObj(object): +# ''' +# A dumb container object just to containe the try..except info when needed. Meant to be +# persisent among multiple PyDBFrames to the same code object. +# ''' +# try_except_infos = None +# ENDIF + + +#======================================================================================================================= +# PyDBFrame +#======================================================================================================================= +# IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) +cdef class PyDBFrame: +# ELSE +# class PyDBFrame: +# '''This makes the tracing for a given frame, so, the trace_dispatch +# is used initially when we enter into a new context ('call') and then +# is reused for the entire context. +# ''' +# ENDIF + + # Note: class (and not instance) attributes. + + # Same thing in the main debugger but only considering the file contents, while the one in the main debugger + # considers the user input (so, the actual result must be a join of both). + filename_to_lines_where_exceptions_are_ignored = {} + filename_to_stat_info = {} + + # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + cdef tuple _args + cdef int should_skip + cdef object exc_info + def __init__(self, tuple args): + self._args = args # In the cython version we don't need to pass the frame + self.should_skip = -1 # On cythonized version, put in instance. + self.exc_info = () + # ELSE +# should_skip = -1 # Default value in class (put in instance on set). +# exc_info = () # Default value in class (put in instance on set). +# +# def __init__(self, args): +# # args = main_debugger, abs_path_canonical_path_and_base, base, info, t, frame +# # yeap, much faster than putting in self and then getting it from self later on +# self._args = args + # ENDIF + + def set_suspend(self, *args, **kwargs): + self._args[0].set_suspend(*args, **kwargs) + + def do_wait_suspend(self, *args, **kwargs): + self._args[0].do_wait_suspend(*args, **kwargs) + + # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + def trace_exception(self, frame, str event, arg): + cdef bint should_stop; + cdef tuple exc_info; + # ELSE +# def trace_exception(self, frame, event, arg): + # ENDIF + if event == 'exception': + should_stop, frame = self._should_stop_on_exception(frame, event, arg) + + if should_stop: + if self._handle_exception(frame, event, arg, EXCEPTION_TYPE_HANDLED): + return self.trace_dispatch + + elif event == 'return': + exc_info = self.exc_info + if exc_info and arg is None: + frame_skips_cache, frame_cache_key = self._args[4], self._args[5] + custom_key = (frame_cache_key, 'try_exc_info') + container_obj = frame_skips_cache.get(custom_key) + if container_obj is None: + container_obj = frame_skips_cache[custom_key] = _TryExceptContainerObj() + if is_unhandled_exception(container_obj, self._args[0], frame, exc_info[1], exc_info[2]) and \ + self.handle_user_exception(frame): + return self.trace_dispatch + + return self.trace_exception + + # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + cdef _should_stop_on_exception(self, frame, str event, arg): + cdef PyDBAdditionalThreadInfo info; + cdef bint should_stop; + cdef bint was_just_raised; + cdef list check_excs; + # ELSE +# def _should_stop_on_exception(self, frame, event, arg): + # ENDIF + + # main_debugger, _filename, info, _thread = self._args + main_debugger = self._args[0] + info = self._args[2] + should_stop = False + + # 2 = 2 + if info.pydev_state != 2: # and breakpoint is not None: + exception, value, trace = arg + + if trace is not None and hasattr(trace, 'tb_next'): + # on jython trace is None on the first event and it may not have a tb_next. + + should_stop = False + exception_breakpoint = None + try: + if main_debugger.plugin is not None: + result = main_debugger.plugin.exception_break(main_debugger, self, frame, self._args, arg) + if result: + should_stop, frame = result + except: + pydev_log.exception() + + if not should_stop: + # Apply checks that don't need the exception breakpoint (where we shouldn't ever stop). + if exception == SystemExit and main_debugger.ignore_system_exit_code(value): + pass + + elif exception in (GeneratorExit, StopIteration, StopAsyncIteration): + # These exceptions are control-flow related (they work as a generator + # pause), so, we shouldn't stop on them. + pass + + elif ignore_exception_trace(trace): + pass + + else: + was_just_raised = trace.tb_next is None + + # It was not handled by any plugin, lets check exception breakpoints. + check_excs = [] + + # Note: check user unhandled before regular exceptions. + exc_break_user = main_debugger.get_exception_breakpoint( + exception, main_debugger.break_on_user_uncaught_exceptions) + if exc_break_user is not None: + check_excs.append((exc_break_user, True)) + + exc_break_caught = main_debugger.get_exception_breakpoint( + exception, main_debugger.break_on_caught_exceptions) + if exc_break_caught is not None: + check_excs.append((exc_break_caught, False)) + + for exc_break, is_user_uncaught in check_excs: + # Initially mark that it should stop and then go into exclusions. + should_stop = True + + if main_debugger.exclude_exception_by_filter(exc_break, trace): + pydev_log.debug("Ignore exception %s in library %s -- (%s)" % (exception, frame.f_code.co_filename, frame.f_code.co_name)) + should_stop = False + + elif exc_break.condition is not None and \ + not main_debugger.handle_breakpoint_condition(info, exc_break, frame): + should_stop = False + + elif is_user_uncaught: + # Note: we don't stop here, we just collect the exc_info to use later on... + should_stop = False + if not main_debugger.apply_files_filter(frame, frame.f_code.co_filename, True) \ + and (frame.f_back is None or main_debugger.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, True)): + # User uncaught means that we're currently in user code but the code + # up the stack is library code. + exc_info = self.exc_info + if not exc_info: + exc_info = (arg, frame.f_lineno, set([frame.f_lineno])) + else: + lines = exc_info[2] + lines.add(frame.f_lineno) + exc_info = (arg, frame.f_lineno, lines) + self.exc_info = exc_info + else: + # I.e.: these are only checked if we're not dealing with user uncaught exceptions. + if exc_break.notify_on_first_raise_only and main_debugger.skip_on_exceptions_thrown_in_same_context \ + and not was_just_raised and not just_raised(trace.tb_next): + # In this case we never stop if it was just raised, so, to know if it was the first we + # need to check if we're in the 2nd method. + should_stop = False # I.e.: we stop only when we're at the caller of a method that throws an exception + + elif exc_break.notify_on_first_raise_only and not main_debugger.skip_on_exceptions_thrown_in_same_context \ + and not was_just_raised: + should_stop = False # I.e.: we stop only when it was just raised + + elif was_just_raised and main_debugger.skip_on_exceptions_thrown_in_same_context: + # Option: Don't break if an exception is caught in the same function from which it is thrown + should_stop = False + + if should_stop: + exception_breakpoint = exc_break + try: + info.pydev_message = exc_break.qname + except: + info.pydev_message = exc_break.qname.encode('utf-8') + break + + if should_stop: + # Always add exception to frame (must remove later after we proceed). + add_exception_to_frame(frame, (exception, value, trace)) + + if exception_breakpoint is not None and exception_breakpoint.expression is not None: + main_debugger.handle_breakpoint_expression(exception_breakpoint, info, frame) + + return should_stop, frame + + def handle_user_exception(self, frame): + exc_info = self.exc_info + if exc_info: + return self._handle_exception(frame, 'exception', exc_info[0], EXCEPTION_TYPE_USER_UNHANDLED) + return False + + # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + cdef _handle_exception(self, frame, str event, arg, str exception_type): + cdef bint stopped; + cdef tuple abs_real_path_and_base; + cdef str absolute_filename; + cdef str canonical_normalized_filename; + cdef dict filename_to_lines_where_exceptions_are_ignored; + cdef dict lines_ignored; + cdef dict frame_id_to_frame; + cdef dict merged; + cdef object trace_obj; + cdef object main_debugger; + # ELSE +# def _handle_exception(self, frame, event, arg, exception_type): + # ENDIF + stopped = False + try: + # print('_handle_exception', frame.f_lineno, frame.f_code.co_name) + + # We have 3 things in arg: exception type, description, traceback object + trace_obj = arg[2] + main_debugger = self._args[0] + + initial_trace_obj = trace_obj + if trace_obj.tb_next is None and trace_obj.tb_frame is frame: + # I.e.: tb_next should be only None in the context it was thrown (trace_obj.tb_frame is frame is just a double check). + pass + else: + # Get the trace_obj from where the exception was raised... + while trace_obj.tb_next is not None: + trace_obj = trace_obj.tb_next + + if main_debugger.ignore_exceptions_thrown_in_lines_with_ignore_exception: + for check_trace_obj in (initial_trace_obj, trace_obj): + abs_real_path_and_base = get_abs_path_real_path_and_base_from_frame(check_trace_obj.tb_frame) + absolute_filename = abs_real_path_and_base[0] + canonical_normalized_filename = abs_real_path_and_base[1] + + filename_to_lines_where_exceptions_are_ignored = self.filename_to_lines_where_exceptions_are_ignored + + lines_ignored = filename_to_lines_where_exceptions_are_ignored.get(canonical_normalized_filename) + if lines_ignored is None: + lines_ignored = filename_to_lines_where_exceptions_are_ignored[canonical_normalized_filename] = {} + + try: + curr_stat = os.stat(absolute_filename) + curr_stat = (curr_stat.st_size, curr_stat.st_mtime) + except: + curr_stat = None + + last_stat = self.filename_to_stat_info.get(absolute_filename) + if last_stat != curr_stat: + self.filename_to_stat_info[absolute_filename] = curr_stat + lines_ignored.clear() + try: + linecache.checkcache(absolute_filename) + except: + pydev_log.exception('Error in linecache.checkcache(%r)', absolute_filename) + + from_user_input = main_debugger.filename_to_lines_where_exceptions_are_ignored.get(canonical_normalized_filename) + if from_user_input: + merged = {} + merged.update(lines_ignored) + # Override what we have with the related entries that the user entered + merged.update(from_user_input) + else: + merged = lines_ignored + + exc_lineno = check_trace_obj.tb_lineno + + # print ('lines ignored', lines_ignored) + # print ('user input', from_user_input) + # print ('merged', merged, 'curr', exc_lineno) + + if exc_lineno not in merged: # Note: check on merged but update lines_ignored. + try: + line = linecache.getline(absolute_filename, exc_lineno, check_trace_obj.tb_frame.f_globals) + except: + pydev_log.exception('Error in linecache.getline(%r, %s, f_globals)', absolute_filename, exc_lineno) + line = '' + + if IGNORE_EXCEPTION_TAG.match(line) is not None: + lines_ignored[exc_lineno] = 1 + return False + else: + # Put in the cache saying not to ignore + lines_ignored[exc_lineno] = 0 + else: + # Ok, dict has it already cached, so, let's check it... + if merged.get(exc_lineno, 0): + return False + + thread = self._args[3] + + try: + frame_id_to_frame = {} + frame_id_to_frame[id(frame)] = frame + f = trace_obj.tb_frame + while f is not None: + frame_id_to_frame[id(f)] = f + f = f.f_back + f = None + + stopped = True + main_debugger.send_caught_exception_stack(thread, arg, id(frame)) + try: + self.set_suspend(thread, 137) + self.do_wait_suspend(thread, frame, event, arg, exception_type=exception_type) + finally: + main_debugger.send_caught_exception_stack_proceeded(thread) + except: + pydev_log.exception() + + main_debugger.set_trace_for_frame_and_parents(frame) + finally: + # Make sure the user cannot see the '__exception__' we added after we leave the suspend state. + remove_exception_from_frame(frame) + # Clear some local variables... + frame = None + trace_obj = None + initial_trace_obj = None + check_trace_obj = None + f = None + frame_id_to_frame = None + main_debugger = None + thread = None + + return stopped + + # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + cdef get_func_name(self, frame): + cdef str func_name + # ELSE +# def get_func_name(self, frame): + # ENDIF + code_obj = frame.f_code + func_name = code_obj.co_name + try: + cls_name = get_clsname_for_code(code_obj, frame) + if cls_name is not None: + return "%s.%s" % (cls_name, func_name) + else: + return func_name + except: + pydev_log.exception() + return func_name + + # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + cdef _show_return_values(self, frame, arg): + # ELSE +# def _show_return_values(self, frame, arg): + # ENDIF + try: + try: + f_locals_back = getattr(frame.f_back, "f_locals", None) + if f_locals_back is not None: + return_values_dict = f_locals_back.get(RETURN_VALUES_DICT, None) + if return_values_dict is None: + return_values_dict = {} + f_locals_back[RETURN_VALUES_DICT] = return_values_dict + name = self.get_func_name(frame) + return_values_dict[name] = arg + except: + pydev_log.exception() + finally: + f_locals_back = None + + # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + cdef _remove_return_values(self, main_debugger, frame): + # ELSE +# def _remove_return_values(self, main_debugger, frame): + # ENDIF + try: + try: + # Showing return values was turned off, we should remove them from locals dict. + # The values can be in the current frame or in the back one + frame.f_locals.pop(RETURN_VALUES_DICT, None) + + f_locals_back = getattr(frame.f_back, "f_locals", None) + if f_locals_back is not None: + f_locals_back.pop(RETURN_VALUES_DICT, None) + except: + pydev_log.exception() + finally: + f_locals_back = None + + # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + cdef _get_unfiltered_back_frame(self, main_debugger, frame): + # ELSE +# def _get_unfiltered_back_frame(self, main_debugger, frame): + # ENDIF + f = frame.f_back + while f is not None: + if not main_debugger.is_files_filter_enabled: + return f + + else: + if main_debugger.apply_files_filter(f, f.f_code.co_filename, False): + f = f.f_back + + else: + return f + + return f + + # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + cdef _is_same_frame(self, target_frame, current_frame): + cdef PyDBAdditionalThreadInfo info; + # ELSE +# def _is_same_frame(self, target_frame, current_frame): + # ENDIF + if target_frame is current_frame: + return True + + info = self._args[2] + if info.pydev_use_scoped_step_frame: + # If using scoped step we don't check the target, we just need to check + # if the current matches the same heuristic where the target was defined. + if target_frame is not None and current_frame is not None: + if target_frame.f_code.co_filename == current_frame.f_code.co_filename: + # The co_name may be different (it may include the line number), but + # the filename must still be the same. + f = current_frame.f_back + if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: + f = f.f_back + if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[2]: + return True + + return False + + # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + cpdef trace_dispatch(self, frame, str event, arg): + cdef tuple abs_path_canonical_path_and_base; + cdef bint is_exception_event; + cdef bint has_exception_breakpoints; + cdef bint can_skip; + cdef bint stop; + cdef PyDBAdditionalThreadInfo info; + cdef int step_cmd; + cdef int line; + cdef bint is_line; + cdef bint is_call; + cdef bint is_return; + cdef bint should_stop; + cdef dict breakpoints_for_file; + cdef dict stop_info; + cdef str curr_func_name; + cdef bint exist_result; + cdef dict frame_skips_cache; + cdef object frame_cache_key; + cdef tuple line_cache_key; + cdef int breakpoints_in_line_cache; + cdef int breakpoints_in_frame_cache; + cdef bint has_breakpoint_in_frame; + cdef bint is_coroutine_or_generator; + cdef int bp_line; + cdef object bp; + cdef int pydev_smart_parent_offset + cdef int pydev_smart_child_offset + cdef tuple pydev_smart_step_into_variants + # ELSE +# def trace_dispatch(self, frame, event, arg): + # ENDIF + # Note: this is a big function because most of the logic related to hitting a breakpoint and + # stepping is contained in it. Ideally this could be split among multiple functions, but the + # problem in this case is that in pure-python function calls are expensive and even more so + # when tracing is on (because each function call will get an additional tracing call). We + # try to address this by using the info.is_tracing for the fastest possible return, but the + # cost is still high (maybe we could use code-generation in the future and make the code + # generation be better split among what each part does). + + # DEBUG = '_debugger_case_generator.py' in frame.f_code.co_filename + main_debugger, abs_path_canonical_path_and_base, info, thread, frame_skips_cache, frame_cache_key = self._args + # if DEBUG: print('frame trace_dispatch %s %s %s %s %s %s, stop: %s' % (frame.f_lineno, frame.f_code.co_name, frame.f_code.co_filename, event, constant_to_str(info.pydev_step_cmd), arg, info.pydev_step_stop)) + try: + info.is_tracing += 1 + + # TODO: This shouldn't be needed. The fact that frame.f_lineno + # is None seems like a bug in Python 3.11. + # Reported in: https://github.com/python/cpython/issues/94485 + line = frame.f_lineno or 0 # Workaround or case where frame.f_lineno is None + line_cache_key = (frame_cache_key, line) + + if main_debugger.pydb_disposed: + return None if event == 'call' else NO_FTRACE + + plugin_manager = main_debugger.plugin + has_exception_breakpoints = ( + main_debugger.break_on_caught_exceptions + or main_debugger.break_on_user_uncaught_exceptions + or main_debugger.has_plugin_exception_breaks) + + stop_frame = info.pydev_step_stop + step_cmd = info.pydev_step_cmd + function_breakpoint_on_call_event = None + + if frame.f_code.co_flags & 0xa0: # 0xa0 == CO_GENERATOR = 0x20 | CO_COROUTINE = 0x80 + # Dealing with coroutines and generators: + # When in a coroutine we change the perceived event to the debugger because + # a call, StopIteration exception and return are usually just pausing/unpausing it. + if event == 'line': + is_line = True + is_call = False + is_return = False + is_exception_event = False + + elif event == 'return': + is_line = False + is_call = False + is_return = True + is_exception_event = False + + returns_cache_key = (frame_cache_key, 'returns') + return_lines = frame_skips_cache.get(returns_cache_key) + if return_lines is None: + # Note: we're collecting the return lines by inspecting the bytecode as + # there are multiple returns and multiple stop iterations when awaiting and + # it doesn't give any clear indication when a coroutine or generator is + # finishing or just pausing. + return_lines = set() + for x in main_debugger.collect_return_info(frame.f_code): + # Note: cython does not support closures in cpdefs (so we can't use + # a list comprehension). + return_lines.add(x.return_line) + + frame_skips_cache[returns_cache_key] = return_lines + + if line not in return_lines: + # Not really a return (coroutine/generator paused). + return self.trace_dispatch + else: + if self.exc_info: + self.handle_user_exception(frame) + return self.trace_dispatch + + # Tricky handling: usually when we're on a frame which is about to exit + # we set the step mode to step into, but in this case we'd end up in the + # asyncio internal machinery, which is not what we want, so, we just + # ask the stop frame to be a level up. + # + # Note that there's an issue here which we may want to fix in the future: if + # the back frame is a frame which is filtered, we won't stop properly. + # Solving this may not be trivial as we'd need to put a scope in the step + # in, but we may have to do it anyways to have a step in which doesn't end + # up in asyncio). + # + # Note2: we don't revert to a step in if we're doing scoped stepping + # (because on scoped stepping we're always receiving a call/line/return + # event for each line in ipython, so, we can't revert to step in on return + # as the return shouldn't mean that we've actually completed executing a + # frame in this case). + if stop_frame is frame and not info.pydev_use_scoped_step_frame: + if step_cmd in (108, 159, 107, 144): + f = self._get_unfiltered_back_frame(main_debugger, frame) + if f is not None: + info.pydev_step_cmd = 206 + info.pydev_step_stop = f + else: + if step_cmd == 108: + info.pydev_step_cmd = 107 + info.pydev_step_stop = None + + elif step_cmd == 159: + info.pydev_step_cmd = 144 + info.pydev_step_stop = None + + elif step_cmd == 206: + # We're exiting this one, so, mark the new coroutine context. + f = self._get_unfiltered_back_frame(main_debugger, frame) + if f is not None: + info.pydev_step_stop = f + else: + info.pydev_step_cmd = 107 + info.pydev_step_stop = None + + elif event == 'exception': + breakpoints_for_file = None + if has_exception_breakpoints: + should_stop, frame = self._should_stop_on_exception(frame, event, arg) + if should_stop: + if self._handle_exception(frame, event, arg, EXCEPTION_TYPE_HANDLED): + return self.trace_dispatch + + return self.trace_dispatch + else: + # event == 'call' or event == 'c_XXX' + return self.trace_dispatch + + else: # Not coroutine nor generator + if event == 'line': + is_line = True + is_call = False + is_return = False + is_exception_event = False + + elif event == 'return': + is_line = False + is_return = True + is_call = False + is_exception_event = False + + # If we are in single step mode and something causes us to exit the current frame, we need to make sure we break + # eventually. Force the step mode to step into and the step stop frame to None. + # I.e.: F6 in the end of a function should stop in the next possible position (instead of forcing the user + # to make a step in or step over at that location). + # Note: this is especially troublesome when we're skipping code with the + # @DontTrace comment. + if ( + stop_frame is frame and + not info.pydev_use_scoped_step_frame and is_return and + step_cmd in (108, 109, 159, 160, 128) + ): + + if step_cmd in (108, 109, 128): + info.pydev_step_cmd = 107 + else: + info.pydev_step_cmd = 144 + info.pydev_step_stop = None + + if self.exc_info: + if self.handle_user_exception(frame): + return self.trace_dispatch + + elif event == 'call': + is_line = False + is_call = True + is_return = False + is_exception_event = False + if frame.f_code.co_firstlineno == frame.f_lineno: # Check line to deal with async/await. + function_breakpoint_on_call_event = main_debugger.function_breakpoint_name_to_breakpoint.get(frame.f_code.co_name) + + elif event == 'exception': + is_exception_event = True + breakpoints_for_file = None + if has_exception_breakpoints: + should_stop, frame = self._should_stop_on_exception(frame, event, arg) + if should_stop: + if self._handle_exception(frame, event, arg, EXCEPTION_TYPE_HANDLED): + return self.trace_dispatch + is_line = False + is_return = False + is_call = False + + else: + # Unexpected: just keep the same trace func (i.e.: event == 'c_XXX'). + return self.trace_dispatch + + if not is_exception_event: + breakpoints_for_file = main_debugger.breakpoints.get(abs_path_canonical_path_and_base[1]) + + can_skip = False + + if info.pydev_state == 1: # 1 = 1 + # we can skip if: + # - we have no stop marked + # - we should make a step return/step over and we're not in the current frame + # - we're stepping into a coroutine context and we're not in that context + if step_cmd == -1: + can_skip = True + + elif step_cmd in (108, 109, 159, 160) and not self._is_same_frame(stop_frame, frame): + can_skip = True + + elif step_cmd == 128 and ( + stop_frame is not None and + stop_frame is not frame and + stop_frame is not frame.f_back and + (frame.f_back is None or stop_frame is not frame.f_back.f_back)): + can_skip = True + + elif step_cmd == 144: + if ( + main_debugger.apply_files_filter(frame, frame.f_code.co_filename, True) + and (frame.f_back is None or main_debugger.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, True)) + ): + can_skip = True + + elif step_cmd == 206: + f = frame + while f is not None: + if self._is_same_frame(stop_frame, f): + break + f = f.f_back + else: + can_skip = True + + if can_skip: + if plugin_manager is not None and ( + main_debugger.has_plugin_line_breaks or main_debugger.has_plugin_exception_breaks): + can_skip = plugin_manager.can_skip(main_debugger, frame) + + if can_skip and main_debugger.show_return_values and info.pydev_step_cmd in (108, 159) and self._is_same_frame(stop_frame, frame.f_back): + # trace function for showing return values after step over + can_skip = False + + # Let's check to see if we are in a function that has a breakpoint. If we don't have a breakpoint, + # we will return nothing for the next trace + # also, after we hit a breakpoint and go to some other debugging state, we have to force the set trace anyway, + # so, that's why the additional checks are there. + + if function_breakpoint_on_call_event: + pass # Do nothing here (just keep on going as we can't skip it). + + elif not breakpoints_for_file: + if can_skip: + if has_exception_breakpoints: + return self.trace_exception + else: + return None if is_call else NO_FTRACE + + else: + # When cached, 0 means we don't have a breakpoint and 1 means we have. + if can_skip: + breakpoints_in_line_cache = frame_skips_cache.get(line_cache_key, -1) + if breakpoints_in_line_cache == 0: + return self.trace_dispatch + + breakpoints_in_frame_cache = frame_skips_cache.get(frame_cache_key, -1) + if breakpoints_in_frame_cache != -1: + # Gotten from cache. + has_breakpoint_in_frame = breakpoints_in_frame_cache == 1 + + else: + has_breakpoint_in_frame = False + + try: + func_lines = set() + for offset_and_lineno in dis.findlinestarts(frame.f_code): + func_lines.add(offset_and_lineno[1]) + except: + # This is a fallback for implementations where we can't get the function + # lines -- i.e.: jython (in this case clients need to provide the function + # name to decide on the skip or we won't be able to skip the function + # completely). + + # Checks the breakpoint to see if there is a context match in some function. + curr_func_name = frame.f_code.co_name + + # global context is set with an empty name + if curr_func_name in ('?', '', ''): + curr_func_name = '' + + for bp in breakpoints_for_file.values(): + # will match either global or some function + if bp.func_name in ('None', curr_func_name): + has_breakpoint_in_frame = True + break + else: + for bp_line in breakpoints_for_file: # iterate on keys + if bp_line in func_lines: + has_breakpoint_in_frame = True + break + + # Cache the value (1 or 0 or -1 for default because of cython). + if has_breakpoint_in_frame: + frame_skips_cache[frame_cache_key] = 1 + else: + frame_skips_cache[frame_cache_key] = 0 + + if can_skip and not has_breakpoint_in_frame: + if has_exception_breakpoints: + return self.trace_exception + else: + return None if is_call else NO_FTRACE + + # We may have hit a breakpoint or we are already in step mode. Either way, let's check what we should do in this frame + # if DEBUG: print('NOT skipped: %s %s %s %s' % (frame.f_lineno, frame.f_code.co_name, event, frame.__class__.__name__)) + + try: + flag = False + # return is not taken into account for breakpoint hit because we'd have a double-hit in this case + # (one for the line and the other for the return). + + stop_info = {} + breakpoint = None + exist_result = False + stop = False + stop_reason = 111 + bp_type = None + + if function_breakpoint_on_call_event: + breakpoint = function_breakpoint_on_call_event + stop = True + new_frame = frame + stop_reason = CMD_SET_FUNCTION_BREAK + + elif is_line and info.pydev_state != 2 and breakpoints_for_file is not None and line in breakpoints_for_file: + breakpoint = breakpoints_for_file[line] + new_frame = frame + stop = True + if step_cmd in (108, 159) and (self._is_same_frame(stop_frame, frame) and is_line): + stop = False # we don't stop on breakpoint if we have to stop by step-over (it will be processed later) + elif plugin_manager is not None and main_debugger.has_plugin_line_breaks: + result = plugin_manager.get_breakpoint(main_debugger, self, frame, event, self._args) + if result: + exist_result = True + flag, breakpoint, new_frame, bp_type = result + + if breakpoint: + # ok, hit breakpoint, now, we have to discover if it is a conditional breakpoint + # lets do the conditional stuff here + if breakpoint.expression is not None: + main_debugger.handle_breakpoint_expression(breakpoint, info, new_frame) + if breakpoint.is_logpoint and info.pydev_message is not None and len(info.pydev_message) > 0: + cmd = main_debugger.cmd_factory.make_io_message(info.pydev_message + os.linesep, '1') + main_debugger.writer.add_command(cmd) + + if stop or exist_result: + eval_result = False + if breakpoint.has_condition: + eval_result = main_debugger.handle_breakpoint_condition(info, breakpoint, new_frame) + + if breakpoint.has_condition: + if not eval_result: + stop = False + elif breakpoint.is_logpoint: + stop = False + + if is_call and (frame.f_code.co_name in ('', '') or (line == 1 and frame.f_code.co_name.startswith(' may be executed having each line compiled as a new + # module, so it's the same case as . + + return self.trace_dispatch + + if main_debugger.show_return_values: + if is_return and ( + (info.pydev_step_cmd in (108, 159, 128) and (self._is_same_frame(stop_frame, frame.f_back))) or + (info.pydev_step_cmd in (109, 160) and (self._is_same_frame(stop_frame, frame))) or + (info.pydev_step_cmd in (107, 206)) or + ( + info.pydev_step_cmd == 144 + and frame.f_back is not None + and not main_debugger.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, True) + ) + ): + self._show_return_values(frame, arg) + + elif main_debugger.remove_return_values_flag: + try: + self._remove_return_values(main_debugger, frame) + finally: + main_debugger.remove_return_values_flag = False + + if stop: + self.set_suspend( + thread, + stop_reason, + suspend_other_threads=breakpoint and breakpoint.suspend_policy == "ALL", + ) + + elif flag and plugin_manager is not None: + result = plugin_manager.suspend(main_debugger, thread, frame, bp_type) + if result: + frame = result + + # if thread has a suspend flag, we suspend with a busy wait + if info.pydev_state == 2: + self.do_wait_suspend(thread, frame, event, arg) + return self.trace_dispatch + else: + if not breakpoint and is_line: + # No stop from anyone and no breakpoint found in line (cache that). + frame_skips_cache[line_cache_key] = 0 + + except: + pydev_log.exception() + raise + + # step handling. We stop when we hit the right frame + try: + should_skip = 0 + if pydevd_dont_trace.should_trace_hook is not None: + if self.should_skip == -1: + # I.e.: cache the result on self.should_skip (no need to evaluate the same frame multiple times). + # Note that on a code reload, we won't re-evaluate this because in practice, the frame.f_code + # Which will be handled by this frame is read-only, so, we can cache it safely. + if not pydevd_dont_trace.should_trace_hook(frame, abs_path_canonical_path_and_base[0]): + # -1, 0, 1 to be Cython-friendly + should_skip = self.should_skip = 1 + else: + should_skip = self.should_skip = 0 + else: + should_skip = self.should_skip + + plugin_stop = False + if should_skip: + stop = False + + elif step_cmd in (107, 144, 206): + force_check_project_scope = step_cmd == 144 + if is_line: + if not info.pydev_use_scoped_step_frame: + if force_check_project_scope or main_debugger.is_files_filter_enabled: + stop = not main_debugger.apply_files_filter(frame, frame.f_code.co_filename, force_check_project_scope) + else: + stop = True + else: + # We can only stop inside the ipython call. + filename = frame.f_code.co_filename + if filename.endswith('.pyc'): + filename = filename[:-1] + + if not filename.endswith(PYDEVD_IPYTHON_CONTEXT[0]): + f = frame.f_back + while f is not None: + if f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: + f2 = f.f_back + if f2 is not None and f2.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[2]: + pydev_log.debug('Stop inside ipython call') + stop = True + break + f = f.f_back + + del f + + if not stop: + # In scoped mode if step in didn't work in this context it won't work + # afterwards anyways. + return None if is_call else NO_FTRACE + + elif is_return and frame.f_back is not None and not info.pydev_use_scoped_step_frame: + if main_debugger.get_file_type(frame.f_back) == main_debugger.PYDEV_FILE: + stop = False + else: + if force_check_project_scope or main_debugger.is_files_filter_enabled: + stop = not main_debugger.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, force_check_project_scope) + if stop: + # Prevent stopping in a return to the same location we were initially + # (i.e.: double-stop at the same place due to some filtering). + if info.step_in_initial_location == (frame.f_back, frame.f_back.f_lineno): + stop = False + else: + stop = True + else: + stop = False + + if stop: + if step_cmd == 206: + # i.e.: Check if we're stepping into the proper context. + f = frame + while f is not None: + if self._is_same_frame(stop_frame, f): + break + f = f.f_back + else: + stop = False + + if plugin_manager is not None: + result = plugin_manager.cmd_step_into(main_debugger, frame, event, self._args, stop_info, stop) + if result: + stop, plugin_stop = result + + elif step_cmd in (108, 159): + # Note: when dealing with a step over my code it's the same as a step over (the + # difference is that when we return from a frame in one we go to regular step + # into and in the other we go to a step into my code). + stop = self._is_same_frame(stop_frame, frame) and is_line + # Note: don't stop on a return for step over, only for line events + # i.e.: don't stop in: (stop_frame is frame.f_back and is_return) as we'd stop twice in that line. + + if plugin_manager is not None: + result = plugin_manager.cmd_step_over(main_debugger, frame, event, self._args, stop_info, stop) + if result: + stop, plugin_stop = result + + elif step_cmd == 128: + stop = False + back = frame.f_back + if self._is_same_frame(stop_frame, frame) and is_return: + # We're exiting the smart step into initial frame (so, we probably didn't find our target). + stop = True + + elif self._is_same_frame(stop_frame, back) and is_line: + if info.pydev_smart_child_offset != -1: + # i.e.: in this case, we're not interested in the pause in the parent, rather + # we're interested in the pause in the child (when the parent is at the proper place). + stop = False + + else: + pydev_smart_parent_offset = info.pydev_smart_parent_offset + + pydev_smart_step_into_variants = info.pydev_smart_step_into_variants + if pydev_smart_parent_offset >= 0 and pydev_smart_step_into_variants: + # Preferred mode (when the smart step into variants are available + # and the offset is set). + stop = get_smart_step_into_variant_from_frame_offset(back.f_lasti, pydev_smart_step_into_variants) is \ + get_smart_step_into_variant_from_frame_offset(pydev_smart_parent_offset, pydev_smart_step_into_variants) + + else: + # Only the name/line is available, so, check that. + curr_func_name = frame.f_code.co_name + + # global context is set with an empty name + if curr_func_name in ('?', '') or curr_func_name is None: + curr_func_name = '' + if curr_func_name == info.pydev_func_name and stop_frame.f_lineno == info.pydev_next_line: + stop = True + + if not stop: + # In smart step into, if we didn't hit it in this frame once, that'll + # not be the case next time either, so, disable tracing for this frame. + return None if is_call else NO_FTRACE + + elif back is not None and self._is_same_frame(stop_frame, back.f_back) and is_line: + # Ok, we have to track 2 stops at this point, the parent and the child offset. + # This happens when handling a step into which targets a function inside a list comprehension + # or generator (in which case an intermediary frame is created due to an internal function call). + pydev_smart_parent_offset = info.pydev_smart_parent_offset + pydev_smart_child_offset = info.pydev_smart_child_offset + # print('matched back frame', pydev_smart_parent_offset, pydev_smart_child_offset) + # print('parent f_lasti', back.f_back.f_lasti) + # print('child f_lasti', back.f_lasti) + stop = False + if pydev_smart_child_offset >= 0 and pydev_smart_child_offset >= 0: + pydev_smart_step_into_variants = info.pydev_smart_step_into_variants + + if pydev_smart_parent_offset >= 0 and pydev_smart_step_into_variants: + # Note that we don't really check the parent offset, only the offset of + # the child (because this is a generator, the parent may have moved forward + # already -- and that's ok, so, we just check that the parent frame + # matches in this case). + smart_step_into_variant = get_smart_step_into_variant_from_frame_offset(pydev_smart_parent_offset, pydev_smart_step_into_variants) + # print('matched parent offset', pydev_smart_parent_offset) + # Ok, now, check the child variant + children_variants = smart_step_into_variant.children_variants + stop = children_variants and ( + get_smart_step_into_variant_from_frame_offset(back.f_lasti, children_variants) is \ + get_smart_step_into_variant_from_frame_offset(pydev_smart_child_offset, children_variants) + ) + # print('stop at child', stop) + + if not stop: + # In smart step into, if we didn't hit it in this frame once, that'll + # not be the case next time either, so, disable tracing for this frame. + return None if is_call else NO_FTRACE + + elif step_cmd in (109, 160): + stop = is_return and self._is_same_frame(stop_frame, frame) + + else: + stop = False + + if stop and step_cmd != -1 and is_return and hasattr(frame, "f_back"): + f_code = getattr(frame.f_back, 'f_code', None) + if f_code is not None: + if main_debugger.get_file_type(frame.f_back) == main_debugger.PYDEV_FILE: + stop = False + + if plugin_stop: + stopped_on_plugin = plugin_manager.stop(main_debugger, frame, event, self._args, stop_info, arg, step_cmd) + elif stop: + if is_line: + self.set_suspend(thread, step_cmd, original_step_cmd=info.pydev_original_step_cmd) + self.do_wait_suspend(thread, frame, event, arg) + elif is_return: # return event + back = frame.f_back + if back is not None: + # When we get to the pydevd run function, the debugging has actually finished for the main thread + # (note that it can still go on for other threads, but for this one, we just make it finish) + # So, just setting it to None should be OK + back_absolute_filename, _, base = get_abs_path_real_path_and_base_from_frame(back) + if (base, back.f_code.co_name) in (DEBUG_START, DEBUG_START_PY3K): + back = None + + elif base == TRACE_PROPERTY: + # We dont want to trace the return event of pydevd_traceproperty (custom property for debugging) + # if we're in a return, we want it to appear to the user in the previous frame! + return None if is_call else NO_FTRACE + + elif pydevd_dont_trace.should_trace_hook is not None: + if not pydevd_dont_trace.should_trace_hook(back, back_absolute_filename): + # In this case, we'll have to skip the previous one because it shouldn't be traced. + # Also, we have to reset the tracing, because if the parent's parent (or some + # other parent) has to be traced and it's not currently, we wouldn't stop where + # we should anymore (so, a step in/over/return may not stop anywhere if no parent is traced). + # Related test: _debugger_case17a.py + main_debugger.set_trace_for_frame_and_parents(back) + return None if is_call else NO_FTRACE + + if back is not None: + # if we're in a return, we want it to appear to the user in the previous frame! + self.set_suspend(thread, step_cmd, original_step_cmd=info.pydev_original_step_cmd) + self.do_wait_suspend(thread, back, event, arg) + else: + # in jython we may not have a back frame + info.pydev_step_stop = None + info.pydev_original_step_cmd = -1 + info.pydev_step_cmd = -1 + info.pydev_state = 1 + + except KeyboardInterrupt: + raise + except: + try: + pydev_log.exception() + info.pydev_original_step_cmd = -1 + info.pydev_step_cmd = -1 + info.pydev_step_stop = None + except: + return None if is_call else NO_FTRACE + + # if we are quitting, let's stop the tracing + if main_debugger.quitting: + return None if is_call else NO_FTRACE + + return self.trace_dispatch + finally: + info.is_tracing -= 1 + + # end trace_dispatch +from _pydev_bundle.pydev_is_thread_alive import is_thread_alive +from _pydev_bundle.pydev_log import exception as pydev_log_exception +from _pydev_bundle._pydev_saved_modules import threading +from _pydevd_bundle.pydevd_constants import (get_current_thread_id, NO_FTRACE, + USE_CUSTOM_SYS_CURRENT_FRAMES_MAP, ForkSafeLock) +from pydevd_file_utils import get_abs_path_real_path_and_base_from_frame, NORM_PATHS_AND_BASE_CONTAINER + +# IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) +from cpython.object cimport PyObject +from cpython.ref cimport Py_INCREF, Py_XDECREF +# ELSE +# from _pydevd_bundle.pydevd_frame import PyDBFrame, is_unhandled_exception +# ENDIF + +# IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) +cdef dict _global_notify_skipped_step_in +# ELSE +# # Note: those are now inlined on cython. +# 107 = 107 +# 144 = 144 +# 109 = 109 +# 160 = 160 +# ENDIF + +# Cache where we should keep that we completely skipped entering some context. +# It needs to be invalidated when: +# - Breakpoints are changed +# It can be used when running regularly (without step over/step in/step return) +global_cache_skips = {} +global_cache_frame_skips = {} + +_global_notify_skipped_step_in = False +_global_notify_skipped_step_in_lock = ForkSafeLock() + + +def notify_skipped_step_in_because_of_filters(py_db, frame): + global _global_notify_skipped_step_in + + with _global_notify_skipped_step_in_lock: + if _global_notify_skipped_step_in: + # Check with lock in place (callers should actually have checked + # before without the lock in place due to performance). + return + _global_notify_skipped_step_in = True + py_db.notify_skipped_step_in_because_of_filters(frame) + +# IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) +cdef class SafeCallWrapper: + cdef method_object + def __init__(self, method_object): + self.method_object = method_object + def __call__(self, *args): + #Cannot use 'self' once inside the delegate call since we are borrowing the self reference f_trace field + #in the frame, and that reference might get destroyed by set trace on frame and parents + cdef PyObject* method_obj = self.method_object + Py_INCREF(method_obj) + ret = (method_obj)(*args) + Py_XDECREF (method_obj) + return SafeCallWrapper(ret) if ret is not None else None + def get_method_object(self): + return self.method_object +# ELSE +# ENDIF + + +def fix_top_level_trace_and_get_trace_func(py_db, frame): + # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + cdef str filename; + cdef str name; + cdef tuple args; + # ENDIF + + # Note: this is always the first entry-point in the tracing for any thread. + # After entering here we'll set a new tracing function for this thread + # where more information is cached (and will also setup the tracing for + # frames where we should deal with unhandled exceptions). + thread = None + # Cache the frame which should be traced to deal with unhandled exceptions. + # (i.e.: thread entry-points). + + f_unhandled = frame + # print('called at', f_unhandled.f_code.co_name, f_unhandled.f_code.co_filename, f_unhandled.f_code.co_firstlineno) + force_only_unhandled_tracer = False + while f_unhandled is not None: + # name = splitext(basename(f_unhandled.f_code.co_filename))[0] + + name = f_unhandled.f_code.co_filename + # basename + i = name.rfind('/') + j = name.rfind('\\') + if j > i: + i = j + if i >= 0: + name = name[i + 1:] + # remove ext + i = name.rfind('.') + if i >= 0: + name = name[:i] + + if name == 'threading': + if f_unhandled.f_code.co_name in ('__bootstrap', '_bootstrap'): + # We need __bootstrap_inner, not __bootstrap. + return None, False + + elif f_unhandled.f_code.co_name in ('__bootstrap_inner', '_bootstrap_inner'): + # Note: be careful not to use threading.currentThread to avoid creating a dummy thread. + t = f_unhandled.f_locals.get('self') + force_only_unhandled_tracer = True + if t is not None and isinstance(t, threading.Thread): + thread = t + break + + elif name == 'pydev_monkey': + if f_unhandled.f_code.co_name == '__call__': + force_only_unhandled_tracer = True + break + + elif name == 'pydevd': + if f_unhandled.f_code.co_name in ('run', 'main'): + # We need to get to _exec + return None, False + + if f_unhandled.f_code.co_name == '_exec': + force_only_unhandled_tracer = True + break + + elif name == 'pydevd_tracing': + return None, False + + elif f_unhandled.f_back is None: + break + + f_unhandled = f_unhandled.f_back + + if thread is None: + # Important: don't call threadingCurrentThread if we're in the threading module + # to avoid creating dummy threads. + if py_db.threading_get_ident is not None: + thread = py_db.threading_active.get(py_db.threading_get_ident()) + if thread is None: + return None, False + else: + # Jython does not have threading.get_ident(). + thread = py_db.threading_current_thread() + + if getattr(thread, 'pydev_do_not_trace', None): + py_db.disable_tracing() + return None, False + + try: + additional_info = thread.additional_info + if additional_info is None: + raise AttributeError() + except: + additional_info = py_db.set_additional_thread_info(thread) + + # print('enter thread tracer', thread, get_current_thread_id(thread)) + args = (py_db, thread, additional_info, global_cache_skips, global_cache_frame_skips) + + if f_unhandled is not None: + if f_unhandled.f_back is None and not force_only_unhandled_tracer: + # Happens when we attach to a running program (cannot reuse instance because it's mutable). + top_level_thread_tracer = TopLevelThreadTracerNoBackFrame(ThreadTracer(args), args) + additional_info.top_level_thread_tracer_no_back_frames.append(top_level_thread_tracer) # Hack for cython to keep it alive while the thread is alive (just the method in the SetTrace is not enough). + else: + top_level_thread_tracer = additional_info.top_level_thread_tracer_unhandled + if top_level_thread_tracer is None: + # Stop in some internal place to report about unhandled exceptions + top_level_thread_tracer = TopLevelThreadTracerOnlyUnhandledExceptions(args) + additional_info.top_level_thread_tracer_unhandled = top_level_thread_tracer # Hack for cython to keep it alive while the thread is alive (just the method in the SetTrace is not enough). + + # print(' --> found to trace unhandled', f_unhandled.f_code.co_name, f_unhandled.f_code.co_filename, f_unhandled.f_code.co_firstlineno) + f_trace = top_level_thread_tracer.get_trace_dispatch_func() + # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + f_trace = SafeCallWrapper(f_trace) + # ENDIF + f_unhandled.f_trace = f_trace + + if frame is f_unhandled: + return f_trace, False + + thread_tracer = additional_info.thread_tracer + if thread_tracer is None or thread_tracer._args[0] is not py_db: + thread_tracer = ThreadTracer(args) + additional_info.thread_tracer = thread_tracer + +# IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + return SafeCallWrapper(thread_tracer), True +# ELSE +# return thread_tracer, True +# ENDIF + + +def trace_dispatch(py_db, frame, event, arg): + thread_trace_func, apply_to_settrace = py_db.fix_top_level_trace_and_get_trace_func(py_db, frame) + if thread_trace_func is None: + return None if event == 'call' else NO_FTRACE + if apply_to_settrace: + py_db.enable_tracing(thread_trace_func) + return thread_trace_func(frame, event, arg) + + +# IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) +cdef class TopLevelThreadTracerOnlyUnhandledExceptions: + cdef public tuple _args; + def __init__(self, tuple args): + self._args = args +# ELSE +# class TopLevelThreadTracerOnlyUnhandledExceptions(object): +# +# def __init__(self, args): +# self._args = args +# ENDIF + + def trace_unhandled_exceptions(self, frame, event, arg): + # Note that we ignore the frame as this tracing method should only be put in topmost frames already. + # print('trace_unhandled_exceptions', event, frame.f_code.co_name, frame.f_code.co_filename, frame.f_code.co_firstlineno) + if event == 'exception' and arg is not None: + py_db, t, additional_info = self._args[0:3] + if arg is not None: + if not additional_info.suspended_at_unhandled: + additional_info.suspended_at_unhandled = True + + py_db.stop_on_unhandled_exception(py_db, t, additional_info, arg) + + # No need to reset frame.f_trace to keep the same trace function. + return self.trace_unhandled_exceptions + + def get_trace_dispatch_func(self): + return self.trace_unhandled_exceptions + + +# IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) +cdef class TopLevelThreadTracerNoBackFrame: + cdef public object _frame_trace_dispatch; + cdef public tuple _args; + cdef public object try_except_infos; + cdef public object _last_exc_arg; + cdef public set _raise_lines; + cdef public int _last_raise_line; + def __init__(self, frame_trace_dispatch, tuple args): + self._frame_trace_dispatch = frame_trace_dispatch + self._args = args + self.try_except_infos = None + self._last_exc_arg = None + self._raise_lines = set() + self._last_raise_line = -1 +# ELSE +# class TopLevelThreadTracerNoBackFrame(object): +# ''' +# This tracer is pretty special in that it's dealing with a frame without f_back (i.e.: top frame +# on remote attach or QThread). +# +# This means that we have to carefully inspect exceptions to discover whether the exception will +# be unhandled or not (if we're dealing with an unhandled exception we need to stop as unhandled, +# otherwise we need to use the regular tracer -- unfortunately the debugger has little info to +# work with in the tracing -- see: https://bugs.python.org/issue34099, so, we inspect bytecode to +# determine if some exception will be traced or not... note that if this is not available -- such +# as on Jython -- we consider any top-level exception to be unnhandled). +# ''' +# +# def __init__(self, frame_trace_dispatch, args): +# self._frame_trace_dispatch = frame_trace_dispatch +# self._args = args +# self.try_except_infos = None +# self._last_exc_arg = None +# self._raise_lines = set() +# self._last_raise_line = -1 +# ENDIF + + def trace_dispatch_and_unhandled_exceptions(self, frame, event, arg): + # DEBUG = 'code_to_debug' in frame.f_code.co_filename + # if DEBUG: print('trace_dispatch_and_unhandled_exceptions: %s %s %s %s %s %s' % (event, frame.f_code.co_name, frame.f_code.co_filename, frame.f_code.co_firstlineno, self._frame_trace_dispatch, frame.f_lineno)) + frame_trace_dispatch = self._frame_trace_dispatch + if frame_trace_dispatch is not None: + self._frame_trace_dispatch = frame_trace_dispatch(frame, event, arg) + + if event == 'exception': + self._last_exc_arg = arg + self._raise_lines.add(frame.f_lineno) + self._last_raise_line = frame.f_lineno + + elif event == 'return' and self._last_exc_arg is not None: + # For unhandled exceptions we actually track the return when at the topmost level. + try: + py_db, t, additional_info = self._args[0:3] + if not additional_info.suspended_at_unhandled: # Note: only check it here, don't set. + if is_unhandled_exception(self, py_db, frame, self._last_raise_line, self._raise_lines): + py_db.stop_on_unhandled_exception(py_db, t, additional_info, self._last_exc_arg) + finally: + # Remove reference to exception after handling it. + self._last_exc_arg = None + + ret = self.trace_dispatch_and_unhandled_exceptions + + # Need to reset (the call to _frame_trace_dispatch may have changed it). + # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + frame.f_trace = SafeCallWrapper(ret) + # ELSE +# frame.f_trace = ret + # ENDIF + return ret + + def get_trace_dispatch_func(self): + return self.trace_dispatch_and_unhandled_exceptions + + +# IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) +cdef class ThreadTracer: + cdef public tuple _args; + def __init__(self, tuple args): + self._args = args +# ELSE +# class ThreadTracer(object): +# +# def __init__(self, args): +# self._args = args +# ENDIF + + def __call__(self, frame, event, arg): + ''' This is the callback used when we enter some context in the debugger. + + We also decorate the thread we are in with info about the debugging. + The attributes added are: + pydev_state + pydev_step_stop + pydev_step_cmd + pydev_notify_kill + + :param PyDB py_db: + This is the global debugger (this method should actually be added as a method to it). + ''' + # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + cdef str filename; + cdef str base; + cdef int pydev_step_cmd; + cdef object frame_cache_key; + cdef dict cache_skips; + cdef bint is_stepping; + cdef tuple abs_path_canonical_path_and_base; + cdef PyDBAdditionalThreadInfo additional_info; + # ENDIF + + # DEBUG = 'code_to_debug' in frame.f_code.co_filename + # if DEBUG: print('ENTER: trace_dispatch: %s %s %s %s' % (frame.f_code.co_filename, frame.f_lineno, event, frame.f_code.co_name)) + py_db, t, additional_info, cache_skips, frame_skips_cache = self._args + if additional_info.is_tracing: + return None if event == 'call' else NO_FTRACE # we don't wan't to trace code invoked from pydevd_frame.trace_dispatch + + additional_info.is_tracing += 1 + try: + pydev_step_cmd = additional_info.pydev_step_cmd + is_stepping = pydev_step_cmd != -1 + if py_db.pydb_disposed: + return None if event == 'call' else NO_FTRACE + + # if thread is not alive, cancel trace_dispatch processing + if not is_thread_alive(t): + py_db.notify_thread_not_alive(get_current_thread_id(t)) + return None if event == 'call' else NO_FTRACE + + # Note: it's important that the context name is also given because we may hit something once + # in the global context and another in the local context. + frame_cache_key = frame.f_code + if frame_cache_key in cache_skips: + if not is_stepping: + # if DEBUG: print('skipped: trace_dispatch (cache hit)', frame_cache_key, frame.f_lineno, event, frame.f_code.co_name) + return None if event == 'call' else NO_FTRACE + else: + # When stepping we can't take into account caching based on the breakpoints (only global filtering). + if cache_skips.get(frame_cache_key) == 1: + + if additional_info.pydev_original_step_cmd in (107, 144) and not _global_notify_skipped_step_in: + notify_skipped_step_in_because_of_filters(py_db, frame) + + back_frame = frame.f_back + if back_frame is not None and pydev_step_cmd in (107, 144, 109, 160): + back_frame_cache_key = back_frame.f_code + if cache_skips.get(back_frame_cache_key) == 1: + # if DEBUG: print('skipped: trace_dispatch (cache hit: 1)', frame_cache_key, frame.f_lineno, event, frame.f_code.co_name) + return None if event == 'call' else NO_FTRACE + else: + # if DEBUG: print('skipped: trace_dispatch (cache hit: 2)', frame_cache_key, frame.f_lineno, event, frame.f_code.co_name) + return None if event == 'call' else NO_FTRACE + + try: + # Make fast path faster! + abs_path_canonical_path_and_base = NORM_PATHS_AND_BASE_CONTAINER[frame.f_code.co_filename] + except: + abs_path_canonical_path_and_base = get_abs_path_real_path_and_base_from_frame(frame) + + file_type = py_db.get_file_type(frame, abs_path_canonical_path_and_base) # we don't want to debug threading or anything related to pydevd + + if file_type is not None: + if file_type == 1: # inlining LIB_FILE = 1 + if not py_db.in_project_scope(frame, abs_path_canonical_path_and_base[0]): + # if DEBUG: print('skipped: trace_dispatch (not in scope)', abs_path_canonical_path_and_base[2], frame.f_lineno, event, frame.f_code.co_name, file_type) + cache_skips[frame_cache_key] = 1 + return None if event == 'call' else NO_FTRACE + else: + # if DEBUG: print('skipped: trace_dispatch', abs_path_canonical_path_and_base[2], frame.f_lineno, event, frame.f_code.co_name, file_type) + cache_skips[frame_cache_key] = 1 + return None if event == 'call' else NO_FTRACE + + if py_db.is_files_filter_enabled: + if py_db.apply_files_filter(frame, abs_path_canonical_path_and_base[0], False): + cache_skips[frame_cache_key] = 1 + + if is_stepping and additional_info.pydev_original_step_cmd in (107, 144) and not _global_notify_skipped_step_in: + notify_skipped_step_in_because_of_filters(py_db, frame) + + # A little gotcha, sometimes when we're stepping in we have to stop in a + # return event showing the back frame as the current frame, so, we need + # to check not only the current frame but the back frame too. + back_frame = frame.f_back + if back_frame is not None and pydev_step_cmd in (107, 144, 109, 160): + if py_db.apply_files_filter(back_frame, back_frame.f_code.co_filename, False): + back_frame_cache_key = back_frame.f_code + cache_skips[back_frame_cache_key] = 1 + # if DEBUG: print('skipped: trace_dispatch (filtered out: 1)', frame_cache_key, frame.f_lineno, event, frame.f_code.co_name) + return None if event == 'call' else NO_FTRACE + else: + # if DEBUG: print('skipped: trace_dispatch (filtered out: 2)', frame_cache_key, frame.f_lineno, event, frame.f_code.co_name) + return None if event == 'call' else NO_FTRACE + + # if DEBUG: print('trace_dispatch', filename, frame.f_lineno, event, frame.f_code.co_name, file_type) + + # Just create PyDBFrame directly (removed support for Python versions < 2.5, which required keeping a weak + # reference to the frame). + ret = PyDBFrame( + ( + py_db, abs_path_canonical_path_and_base, additional_info, t, frame_skips_cache, frame_cache_key, + ) + ).trace_dispatch(frame, event, arg) + if ret is None: + # 1 means skipped because of filters. + # 2 means skipped because no breakpoints were hit. + cache_skips[frame_cache_key] = 2 + return None if event == 'call' else NO_FTRACE + + # IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated) + frame.f_trace = SafeCallWrapper(ret) # Make sure we keep the returned tracer. + # ELSE +# frame.f_trace = ret # Make sure we keep the returned tracer. + # ENDIF + return ret + + except SystemExit: + return None if event == 'call' else NO_FTRACE + + except Exception: + if py_db.pydb_disposed: + return None if event == 'call' else NO_FTRACE # Don't log errors when we're shutting down. + # Log it + try: + if pydev_log_exception is not None: + # This can actually happen during the interpreter shutdown in Python 2.7 + pydev_log_exception() + except: + # Error logging? We're really in the interpreter shutdown... + # (https://github.com/fabioz/PyDev.Debugger/issues/8) + pass + return None if event == 'call' else NO_FTRACE + finally: + additional_info.is_tracing -= 1 + + +if USE_CUSTOM_SYS_CURRENT_FRAMES_MAP: + # This is far from ideal, as we'll leak frames (we'll always have the last created frame, not really + # the last topmost frame saved -- this should be Ok for our usage, but it may leak frames and things + # may live longer... as IronPython is garbage-collected, things should live longer anyways, so, it + # shouldn't be an issue as big as it's in CPython -- it may still be annoying, but this should + # be a reasonable workaround until IronPython itself is able to provide that functionality). + # + # See: https://github.com/IronLanguages/main/issues/1630 + from _pydevd_bundle.pydevd_constants import constructed_tid_to_last_frame + + _original_call = ThreadTracer.__call__ + + def __call__(self, frame, event, arg): + constructed_tid_to_last_frame[self._args[1].ident] = frame + return _original_call(self, frame, event, arg) + + ThreadTracer.__call__ = __call__ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython_wrapper.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython_wrapper.py new file mode 120000 index 0000000..f5967c2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython_wrapper.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/85/57/f3/86032e9c17ae5641a5f6a56713ab8c145497e03761c4f9742b6f9371de \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_daemon_thread.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_daemon_thread.py new file mode 100644 index 0000000..8729597 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_daemon_thread.py @@ -0,0 +1,193 @@ +from _pydev_bundle._pydev_saved_modules import threading +from _pydev_bundle import _pydev_saved_modules +from _pydevd_bundle.pydevd_utils import notify_about_gevent_if_needed +import weakref +from _pydevd_bundle.pydevd_constants import IS_JYTHON, IS_IRONPYTHON, \ + PYDEVD_APPLY_PATCHING_TO_HIDE_PYDEVD_THREADS +from _pydev_bundle.pydev_log import exception as pydev_log_exception +import sys +from _pydev_bundle import pydev_log +import pydevd_tracing +from _pydevd_bundle.pydevd_collect_bytecode_info import iter_instructions + +if IS_JYTHON: + import org.python.core as JyCore # @UnresolvedImport + + +class PyDBDaemonThread(threading.Thread): + + def __init__(self, py_db, target_and_args=None): + ''' + :param target_and_args: + tuple(func, args, kwargs) if this should be a function and args to run. + -- Note: use through run_as_pydevd_daemon_thread(). + ''' + threading.Thread.__init__(self) + notify_about_gevent_if_needed() + self._py_db = weakref.ref(py_db) + self._kill_received = False + mark_as_pydevd_daemon_thread(self) + self._target_and_args = target_and_args + + @property + def py_db(self): + return self._py_db() + + def run(self): + created_pydb_daemon = self.py_db.created_pydb_daemon_threads + created_pydb_daemon[self] = 1 + try: + try: + if IS_JYTHON and not isinstance(threading.current_thread(), threading._MainThread): + # we shouldn't update sys.modules for the main thread, cause it leads to the second importing 'threading' + # module, and the new instance of main thread is created + ss = JyCore.PySystemState() + # Note: Py.setSystemState() affects only the current thread. + JyCore.Py.setSystemState(ss) + + self._stop_trace() + self._on_run() + except: + if sys is not None and pydev_log_exception is not None: + pydev_log_exception() + finally: + del created_pydb_daemon[self] + + def _on_run(self): + if self._target_and_args is not None: + target, args, kwargs = self._target_and_args + target(*args, **kwargs) + else: + raise NotImplementedError('Should be reimplemented by: %s' % self.__class__) + + def do_kill_pydev_thread(self): + if not self._kill_received: + pydev_log.debug('%s received kill signal', self.name) + self._kill_received = True + + def _stop_trace(self): + if self.pydev_do_not_trace: + pydevd_tracing.SetTrace(None) # no debugging on this thread + + +def _collect_load_names(func): + found_load_names = set() + for instruction in iter_instructions(func.__code__): + if instruction.opname in ('LOAD_GLOBAL', 'LOAD_ATTR', 'LOAD_METHOD'): + found_load_names.add(instruction.argrepr) + return found_load_names + + +def _patch_threading_to_hide_pydevd_threads(): + ''' + Patches the needed functions on the `threading` module so that the pydevd threads are hidden. + + Note that we patch the functions __code__ to avoid issues if some code had already imported those + variables prior to the patching. + ''' + found_load_names = _collect_load_names(threading.enumerate) + # i.e.: we'll only apply the patching if the function seems to be what we expect. + + new_threading_enumerate = None + + if found_load_names in ( + {'_active_limbo_lock', '_limbo', '_active', 'values', 'list'}, + {'_active_limbo_lock', '_limbo', '_active', 'values', 'NULL + list'} + ): + pydev_log.debug('Applying patching to hide pydevd threads (Py3 version).') + + def new_threading_enumerate(): + with _active_limbo_lock: + ret = list(_active.values()) + list(_limbo.values()) + + return [t for t in ret if not getattr(t, 'is_pydev_daemon_thread', False)] + + elif found_load_names == set(('_active_limbo_lock', '_limbo', '_active', 'values')): + pydev_log.debug('Applying patching to hide pydevd threads (Py2 version).') + + def new_threading_enumerate(): + with _active_limbo_lock: + ret = _active.values() + _limbo.values() + + return [t for t in ret if not getattr(t, 'is_pydev_daemon_thread', False)] + + else: + pydev_log.info('Unable to hide pydevd threads. Found names in threading.enumerate: %s', found_load_names) + + if new_threading_enumerate is not None: + + def pydevd_saved_threading_enumerate(): + with threading._active_limbo_lock: + return list(threading._active.values()) + list(threading._limbo.values()) + + _pydev_saved_modules.pydevd_saved_threading_enumerate = pydevd_saved_threading_enumerate + + threading.enumerate.__code__ = new_threading_enumerate.__code__ + + # We also need to patch the active count (to match what we have in the enumerate). + def new_active_count(): + # Note: as this will be executed in the `threading` module, `enumerate` will + # actually be threading.enumerate. + return len(enumerate()) + + threading.active_count.__code__ = new_active_count.__code__ + + # When shutting down, Python (on some versions) may do something as: + # + # def _pickSomeNonDaemonThread(): + # for t in enumerate(): + # if not t.daemon and t.is_alive(): + # return t + # return None + # + # But in this particular case, we do want threads with `is_pydev_daemon_thread` to appear + # explicitly due to the pydevd `CheckAliveThread` (because we want the shutdown to wait on it). + # So, it can't rely on the `enumerate` for that anymore as it's patched to not return pydevd threads. + if hasattr(threading, '_pickSomeNonDaemonThread'): + + def new_pick_some_non_daemon_thread(): + with _active_limbo_lock: + # Ok for py2 and py3. + threads = list(_active.values()) + list(_limbo.values()) + + for t in threads: + if not t.daemon and t.is_alive(): + return t + return None + + threading._pickSomeNonDaemonThread.__code__ = new_pick_some_non_daemon_thread.__code__ + + +_patched_threading_to_hide_pydevd_threads = False + + +def mark_as_pydevd_daemon_thread(thread): + if not IS_JYTHON and not IS_IRONPYTHON and PYDEVD_APPLY_PATCHING_TO_HIDE_PYDEVD_THREADS: + global _patched_threading_to_hide_pydevd_threads + if not _patched_threading_to_hide_pydevd_threads: + # When we mark the first thread as a pydevd daemon thread, we also change the threading + # functions to hide pydevd threads. + # Note: we don't just "hide" the pydevd threads from the threading module by not using it + # (i.e.: just using the `thread.start_new_thread` instead of `threading.Thread`) + # because there's 1 thread (the `CheckAliveThread`) which is a pydevd thread but + # isn't really a daemon thread (so, we need CPython to wait on it for shutdown, + # in which case it needs to be in `threading` and the patching would be needed anyways). + _patched_threading_to_hide_pydevd_threads = True + try: + _patch_threading_to_hide_pydevd_threads() + except: + pydev_log.exception('Error applying patching to hide pydevd threads.') + + thread.pydev_do_not_trace = True + thread.is_pydev_daemon_thread = True + thread.daemon = True + + +def run_as_pydevd_daemon_thread(py_db, func, *args, **kwargs): + ''' + Runs a function as a pydevd daemon thread (without any tracing in place). + ''' + t = PyDBDaemonThread(py_db, target_and_args=(func, args, kwargs)) + t.name = '%s (pydevd daemon thread)' % (func.__name__,) + t.start() + return t diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_defaults.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_defaults.py new file mode 120000 index 0000000..36daadb --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_defaults.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/30/fb/41/9c6bca467eb921b1077ed97463f287d18cbf8d736366ecc42fca844262 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_dont_trace.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_dont_trace.py new file mode 120000 index 0000000..e8c048c --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_dont_trace.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bc/e6/29/1f88bab56abe0d7f280ad5b650dbb506b23b3f1f94cac8978cb3f18d4b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_dont_trace_files.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_dont_trace_files.py new file mode 100644 index 0000000..d37b1fc --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_dont_trace_files.py @@ -0,0 +1,153 @@ +# Important: Autogenerated file. + +# DO NOT edit manually! +# DO NOT edit manually! + +LIB_FILE = 1 +PYDEV_FILE = 2 + +DONT_TRACE_DIRS = { + '_pydev_bundle': PYDEV_FILE, + '_pydev_runfiles': PYDEV_FILE, + '_pydevd_bundle': PYDEV_FILE, + '_pydevd_frame_eval': PYDEV_FILE, + 'pydev_ipython': PYDEV_FILE, + 'pydev_sitecustomize': PYDEV_FILE, + 'pydevd_attach_to_process': PYDEV_FILE, + 'pydevd_concurrency_analyser': PYDEV_FILE, + 'pydevd_plugins': PYDEV_FILE, + 'test_pydevd_reload': PYDEV_FILE, +} + +DONT_TRACE = { + # commonly used things from the stdlib that we don't want to trace + 'Queue.py':LIB_FILE, + 'queue.py':LIB_FILE, + 'socket.py':LIB_FILE, + 'weakref.py':LIB_FILE, + '_weakrefset.py':LIB_FILE, + 'linecache.py':LIB_FILE, + 'threading.py':LIB_FILE, + 'dis.py':LIB_FILE, + + # things from pydev that we don't want to trace + '__main__pydevd_gen_debug_adapter_protocol.py': PYDEV_FILE, + '_pydev_calltip_util.py': PYDEV_FILE, + '_pydev_completer.py': PYDEV_FILE, + '_pydev_execfile.py': PYDEV_FILE, + '_pydev_filesystem_encoding.py': PYDEV_FILE, + '_pydev_getopt.py': PYDEV_FILE, + '_pydev_imports_tipper.py': PYDEV_FILE, + '_pydev_jy_imports_tipper.py': PYDEV_FILE, + '_pydev_log.py': PYDEV_FILE, + '_pydev_saved_modules.py': PYDEV_FILE, + '_pydev_sys_patch.py': PYDEV_FILE, + '_pydev_tipper_common.py': PYDEV_FILE, + 'django_debug.py': PYDEV_FILE, + 'jinja2_debug.py': PYDEV_FILE, + 'pycompletionserver.py': PYDEV_FILE, + 'pydev_app_engine_debug_startup.py': PYDEV_FILE, + 'pydev_console_utils.py': PYDEV_FILE, + 'pydev_import_hook.py': PYDEV_FILE, + 'pydev_imports.py': PYDEV_FILE, + 'pydev_ipython_console.py': PYDEV_FILE, + 'pydev_ipython_console_011.py': PYDEV_FILE, + 'pydev_is_thread_alive.py': PYDEV_FILE, + 'pydev_localhost.py': PYDEV_FILE, + 'pydev_log.py': PYDEV_FILE, + 'pydev_monkey.py': PYDEV_FILE, + 'pydev_monkey_qt.py': PYDEV_FILE, + 'pydev_override.py': PYDEV_FILE, + 'pydev_run_in_console.py': PYDEV_FILE, + 'pydev_runfiles.py': PYDEV_FILE, + 'pydev_runfiles_coverage.py': PYDEV_FILE, + 'pydev_runfiles_nose.py': PYDEV_FILE, + 'pydev_runfiles_parallel.py': PYDEV_FILE, + 'pydev_runfiles_parallel_client.py': PYDEV_FILE, + 'pydev_runfiles_pytest2.py': PYDEV_FILE, + 'pydev_runfiles_unittest.py': PYDEV_FILE, + 'pydev_runfiles_xml_rpc.py': PYDEV_FILE, + 'pydev_umd.py': PYDEV_FILE, + 'pydev_versioncheck.py': PYDEV_FILE, + 'pydevconsole.py': PYDEV_FILE, + 'pydevconsole_code.py': PYDEV_FILE, + 'pydevd.py': PYDEV_FILE, + 'pydevd_additional_thread_info.py': PYDEV_FILE, + 'pydevd_additional_thread_info_regular.py': PYDEV_FILE, + 'pydevd_api.py': PYDEV_FILE, + 'pydevd_base_schema.py': PYDEV_FILE, + 'pydevd_breakpoints.py': PYDEV_FILE, + 'pydevd_bytecode_utils.py': PYDEV_FILE, + 'pydevd_code_to_source.py': PYDEV_FILE, + 'pydevd_collect_bytecode_info.py': PYDEV_FILE, + 'pydevd_comm.py': PYDEV_FILE, + 'pydevd_comm_constants.py': PYDEV_FILE, + 'pydevd_command_line_handling.py': PYDEV_FILE, + 'pydevd_concurrency_logger.py': PYDEV_FILE, + 'pydevd_console.py': PYDEV_FILE, + 'pydevd_constants.py': PYDEV_FILE, + 'pydevd_custom_frames.py': PYDEV_FILE, + 'pydevd_cython_wrapper.py': PYDEV_FILE, + 'pydevd_daemon_thread.py': PYDEV_FILE, + 'pydevd_defaults.py': PYDEV_FILE, + 'pydevd_dont_trace.py': PYDEV_FILE, + 'pydevd_dont_trace_files.py': PYDEV_FILE, + 'pydevd_exec2.py': PYDEV_FILE, + 'pydevd_extension_api.py': PYDEV_FILE, + 'pydevd_extension_utils.py': PYDEV_FILE, + 'pydevd_file_utils.py': PYDEV_FILE, + 'pydevd_filtering.py': PYDEV_FILE, + 'pydevd_frame.py': PYDEV_FILE, + 'pydevd_frame_eval_cython_wrapper.py': PYDEV_FILE, + 'pydevd_frame_eval_main.py': PYDEV_FILE, + 'pydevd_frame_tracing.py': PYDEV_FILE, + 'pydevd_frame_utils.py': PYDEV_FILE, + 'pydevd_gevent_integration.py': PYDEV_FILE, + 'pydevd_helpers.py': PYDEV_FILE, + 'pydevd_import_class.py': PYDEV_FILE, + 'pydevd_io.py': PYDEV_FILE, + 'pydevd_json_debug_options.py': PYDEV_FILE, + 'pydevd_line_validation.py': PYDEV_FILE, + 'pydevd_modify_bytecode.py': PYDEV_FILE, + 'pydevd_net_command.py': PYDEV_FILE, + 'pydevd_net_command_factory_json.py': PYDEV_FILE, + 'pydevd_net_command_factory_xml.py': PYDEV_FILE, + 'pydevd_plugin_numpy_types.py': PYDEV_FILE, + 'pydevd_plugin_pandas_types.py': PYDEV_FILE, + 'pydevd_plugin_utils.py': PYDEV_FILE, + 'pydevd_plugins_django_form_str.py': PYDEV_FILE, + 'pydevd_process_net_command.py': PYDEV_FILE, + 'pydevd_process_net_command_json.py': PYDEV_FILE, + 'pydevd_referrers.py': PYDEV_FILE, + 'pydevd_reload.py': PYDEV_FILE, + 'pydevd_resolver.py': PYDEV_FILE, + 'pydevd_runpy.py': PYDEV_FILE, + 'pydevd_safe_repr.py': PYDEV_FILE, + 'pydevd_save_locals.py': PYDEV_FILE, + 'pydevd_schema.py': PYDEV_FILE, + 'pydevd_schema_log.py': PYDEV_FILE, + 'pydevd_signature.py': PYDEV_FILE, + 'pydevd_source_mapping.py': PYDEV_FILE, + 'pydevd_stackless.py': PYDEV_FILE, + 'pydevd_suspended_frames.py': PYDEV_FILE, + 'pydevd_thread_lifecycle.py': PYDEV_FILE, + 'pydevd_thread_wrappers.py': PYDEV_FILE, + 'pydevd_timeout.py': PYDEV_FILE, + 'pydevd_trace_api.py': PYDEV_FILE, + 'pydevd_trace_dispatch.py': PYDEV_FILE, + 'pydevd_trace_dispatch_regular.py': PYDEV_FILE, + 'pydevd_traceproperty.py': PYDEV_FILE, + 'pydevd_tracing.py': PYDEV_FILE, + 'pydevd_utils.py': PYDEV_FILE, + 'pydevd_vars.py': PYDEV_FILE, + 'pydevd_vm_type.py': PYDEV_FILE, + 'pydevd_xml.py': PYDEV_FILE, +} + +# if we try to trace io.py it seems it can get halted (see http://bugs.python.org/issue4716) +DONT_TRACE['io.py'] = LIB_FILE + +# Don't trace common encodings too +DONT_TRACE['cp1252.py'] = LIB_FILE +DONT_TRACE['utf_8.py'] = LIB_FILE +DONT_TRACE['codecs.py'] = LIB_FILE diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_exec2.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_exec2.py new file mode 120000 index 0000000..2ab155f --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_exec2.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f2/ae/9d/7041c37c913a6ddc0dcab4455dafef60e953ac7cf751506d633867249a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_extension_api.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_extension_api.py new file mode 120000 index 0000000..eb20544 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_extension_api.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b8/f4/fb/f9730d7b5b270570f37ee147e9f0463deeb162e0f9604408d6e3becef0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_extension_utils.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_extension_utils.py new file mode 120000 index 0000000..07c55e5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_extension_utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0d/96/2d/e7aadf466ff8c234971bb714485aa024150abd83a7a473f12165a9411e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_filtering.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_filtering.py new file mode 100644 index 0000000..67fd6cf --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_filtering.py @@ -0,0 +1,331 @@ +import fnmatch +import glob +import os.path +import sys + +from _pydev_bundle import pydev_log +import pydevd_file_utils +import json +from collections import namedtuple +from _pydev_bundle._pydev_saved_modules import threading +from pydevd_file_utils import normcase +from _pydevd_bundle.pydevd_constants import USER_CODE_BASENAMES_STARTING_WITH, \ + LIBRARY_CODE_BASENAMES_STARTING_WITH, IS_PYPY, IS_WINDOWS +from _pydevd_bundle import pydevd_constants + +ExcludeFilter = namedtuple('ExcludeFilter', 'name, exclude, is_path') + + +def _convert_to_str_and_clear_empty(roots): + new_roots = [] + for root in roots: + assert isinstance(root, str), '%s not str (found: %s)' % (root, type(root)) + if root: + new_roots.append(root) + return new_roots + + +def _check_matches(patterns, paths): + if not patterns and not paths: + # Matched to the end. + return True + + if (not patterns and paths) or (patterns and not paths): + return False + + pattern = normcase(patterns[0]) + path = normcase(paths[0]) + + if not glob.has_magic(pattern): + + if pattern != path: + return False + + elif pattern == '**': + if len(patterns) == 1: + return True # if ** is the last one it matches anything to the right. + + for i in range(len(paths)): + # Recursively check the remaining patterns as the + # current pattern could match any number of paths. + if _check_matches(patterns[1:], paths[i:]): + return True + + elif not fnmatch.fnmatch(path, pattern): + # Current part doesn't match. + return False + + return _check_matches(patterns[1:], paths[1:]) + + +def glob_matches_path(path, pattern, sep=os.sep, altsep=os.altsep): + if altsep: + pattern = pattern.replace(altsep, sep) + path = path.replace(altsep, sep) + + drive = '' + if len(path) > 1 and path[1] == ':': + drive, path = path[0], path[2:] + + if drive and len(pattern) > 1: + if pattern[1] == ':': + if drive.lower() != pattern[0].lower(): + return False + pattern = pattern[2:] + + patterns = pattern.split(sep) + paths = path.split(sep) + if paths: + if paths[0] == '': + paths = paths[1:] + if patterns: + if patterns[0] == '': + patterns = patterns[1:] + + return _check_matches(patterns, paths) + + +class FilesFiltering(object): + ''' + Note: calls at FilesFiltering are uncached. + + The actual API used should be through PyDB. + ''' + + def __init__(self): + self._exclude_filters = [] + self._project_roots = [] + self._library_roots = [] + + # Filter out libraries? + self._use_libraries_filter = False + self.require_module = False # True if some exclude filter filters by the module. + + self.set_use_libraries_filter(os.getenv('PYDEVD_FILTER_LIBRARIES') is not None) + + project_roots = os.getenv('IDE_PROJECT_ROOTS', None) + if project_roots is not None: + project_roots = project_roots.split(os.pathsep) + else: + project_roots = [] + self.set_project_roots(project_roots) + + library_roots = os.getenv('LIBRARY_ROOTS', None) + if library_roots is not None: + library_roots = library_roots.split(os.pathsep) + else: + library_roots = self._get_default_library_roots() + self.set_library_roots(library_roots) + + # Stepping filters. + pydevd_filters = os.getenv('PYDEVD_FILTERS', '') + # To filter out it's something as: {'**/not_my_code/**': True} + if pydevd_filters: + pydev_log.debug("PYDEVD_FILTERS %s", (pydevd_filters,)) + if pydevd_filters.startswith('{'): + # dict(glob_pattern (str) -> exclude(True or False)) + exclude_filters = [] + for key, val in json.loads(pydevd_filters).items(): + exclude_filters.append(ExcludeFilter(key, val, True)) + self._exclude_filters = exclude_filters + else: + # A ';' separated list of strings with globs for the + # list of excludes. + filters = pydevd_filters.split(';') + new_filters = [] + for new_filter in filters: + if new_filter.strip(): + new_filters.append(ExcludeFilter(new_filter.strip(), True, True)) + self._exclude_filters = new_filters + + @classmethod + def _get_default_library_roots(cls): + pydev_log.debug("Collecting default library roots.") + # Provide sensible defaults if not in env vars. + import site + + roots = [] + + try: + import sysconfig # Python 2.7 onwards only. + except ImportError: + pass + else: + for path_name in set(('stdlib', 'platstdlib', 'purelib', 'platlib')) & set(sysconfig.get_path_names()): + roots.append(sysconfig.get_path(path_name)) + + # Make sure we always get at least the standard library location (based on the `os` and + # `threading` modules -- it's a bit weird that it may be different on the ci, but it happens). + roots.append(os.path.dirname(os.__file__)) + roots.append(os.path.dirname(threading.__file__)) + if IS_PYPY: + # On PyPy 3.6 (7.3.1) it wrongly says that sysconfig.get_path('stdlib') is + # /lib-pypy when the installed version is /lib_pypy. + try: + import _pypy_wait + except ImportError: + pydev_log.debug("Unable to import _pypy_wait on PyPy when collecting default library roots.") + else: + pypy_lib_dir = os.path.dirname(_pypy_wait.__file__) + pydev_log.debug("Adding %s to default library roots.", pypy_lib_dir) + roots.append(pypy_lib_dir) + + if hasattr(site, 'getusersitepackages'): + site_paths = site.getusersitepackages() + if isinstance(site_paths, (list, tuple)): + for site_path in site_paths: + roots.append(site_path) + else: + roots.append(site_paths) + + if hasattr(site, 'getsitepackages'): + site_paths = site.getsitepackages() + if isinstance(site_paths, (list, tuple)): + for site_path in site_paths: + roots.append(site_path) + else: + roots.append(site_paths) + + for path in sys.path: + if os.path.exists(path) and os.path.basename(path) in ('site-packages', 'pip-global'): + roots.append(path) + + roots.extend([os.path.realpath(path) for path in roots]) + + return sorted(set(roots)) + + def _fix_roots(self, roots): + roots = _convert_to_str_and_clear_empty(roots) + new_roots = [] + for root in roots: + path = self._absolute_normalized_path(root) + if pydevd_constants.IS_WINDOWS: + new_roots.append(path + '\\') + else: + new_roots.append(path + '/') + return new_roots + + def _absolute_normalized_path(self, filename): + ''' + Provides a version of the filename that's absolute and normalized. + ''' + return normcase(pydevd_file_utils.absolute_path(filename)) + + def set_project_roots(self, project_roots): + self._project_roots = self._fix_roots(project_roots) + pydev_log.debug("IDE_PROJECT_ROOTS %s\n" % project_roots) + + def _get_project_roots(self): + return self._project_roots + + def set_library_roots(self, roots): + self._library_roots = self._fix_roots(roots) + pydev_log.debug("LIBRARY_ROOTS %s\n" % roots) + + def _get_library_roots(self): + return self._library_roots + + def in_project_roots(self, received_filename): + ''' + Note: don't call directly. Use PyDb.in_project_scope (there's no caching here and it doesn't + handle all possibilities for knowing whether a project is actually in the scope, it + just handles the heuristics based on the absolute_normalized_filename without the actual frame). + ''' + DEBUG = False + + if received_filename.startswith(USER_CODE_BASENAMES_STARTING_WITH): + if DEBUG: + pydev_log.debug('In in_project_roots - user basenames - starts with %s (%s)', received_filename, USER_CODE_BASENAMES_STARTING_WITH) + return True + + if received_filename.startswith(LIBRARY_CODE_BASENAMES_STARTING_WITH): + if DEBUG: + pydev_log.debug('Not in in_project_roots - library basenames - starts with %s (%s)', received_filename, LIBRARY_CODE_BASENAMES_STARTING_WITH) + return False + + project_roots = self._get_project_roots() # roots are absolute/normalized. + + absolute_normalized_filename = self._absolute_normalized_path(received_filename) + absolute_normalized_filename_as_dir = absolute_normalized_filename + ('\\' if IS_WINDOWS else '/') + + found_in_project = [] + for root in project_roots: + if root and (absolute_normalized_filename.startswith(root) or root == absolute_normalized_filename_as_dir): + if DEBUG: + pydev_log.debug('In project: %s (%s)', absolute_normalized_filename, root) + found_in_project.append(root) + + found_in_library = [] + library_roots = self._get_library_roots() + for root in library_roots: + if root and (absolute_normalized_filename.startswith(root) or root == absolute_normalized_filename_as_dir): + found_in_library.append(root) + if DEBUG: + pydev_log.debug('In library: %s (%s)', absolute_normalized_filename, root) + else: + if DEBUG: + pydev_log.debug('Not in library: %s (%s)', absolute_normalized_filename, root) + + if not project_roots: + # If we have no project roots configured, consider it being in the project + # roots if it's not found in site-packages (because we have defaults for those + # and not the other way around). + in_project = not found_in_library + if DEBUG: + pydev_log.debug('Final in project (no project roots): %s (%s)', absolute_normalized_filename, in_project) + + else: + in_project = False + if found_in_project: + if not found_in_library: + if DEBUG: + pydev_log.debug('Final in project (in_project and not found_in_library): %s (True)', absolute_normalized_filename) + in_project = True + else: + # Found in both, let's see which one has the bigger path matched. + if max(len(x) for x in found_in_project) > max(len(x) for x in found_in_library): + in_project = True + if DEBUG: + pydev_log.debug('Final in project (found in both): %s (%s)', absolute_normalized_filename, in_project) + + return in_project + + def use_libraries_filter(self): + ''' + Should we debug only what's inside project folders? + ''' + return self._use_libraries_filter + + def set_use_libraries_filter(self, use): + pydev_log.debug("pydevd: Use libraries filter: %s\n" % use) + self._use_libraries_filter = use + + def use_exclude_filters(self): + # Enabled if we have any filters registered. + return len(self._exclude_filters) > 0 + + def exclude_by_filter(self, absolute_filename, module_name): + ''' + :return: True if it should be excluded, False if it should be included and None + if no rule matched the given file. + ''' + for exclude_filter in self._exclude_filters: # : :type exclude_filter: ExcludeFilter + if exclude_filter.is_path: + if glob_matches_path(absolute_filename, exclude_filter.name): + return exclude_filter.exclude + else: + # Module filter. + if exclude_filter.name == module_name or module_name.startswith(exclude_filter.name + '.'): + return exclude_filter.exclude + return None + + def set_exclude_filters(self, exclude_filters): + ''' + :param list(ExcludeFilter) exclude_filters: + ''' + self._exclude_filters = exclude_filters + self.require_module = False + for exclude_filter in exclude_filters: + if not exclude_filter.is_path: + self.require_module = True + break diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_frame.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_frame.py new file mode 100644 index 0000000..81a3f6f --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_frame.py @@ -0,0 +1,1239 @@ +import linecache +import os.path +import re + +from _pydev_bundle import pydev_log +from _pydevd_bundle import pydevd_dont_trace +from _pydevd_bundle.pydevd_constants import (RETURN_VALUES_DICT, NO_FTRACE, + EXCEPTION_TYPE_HANDLED, EXCEPTION_TYPE_USER_UNHANDLED, PYDEVD_IPYTHON_CONTEXT) +from _pydevd_bundle.pydevd_frame_utils import add_exception_to_frame, just_raised, remove_exception_from_frame, ignore_exception_trace +from _pydevd_bundle.pydevd_utils import get_clsname_for_code +from pydevd_file_utils import get_abs_path_real_path_and_base_from_frame +from _pydevd_bundle.pydevd_comm_constants import constant_to_str, CMD_SET_FUNCTION_BREAK +try: + from _pydevd_bundle.pydevd_bytecode_utils import get_smart_step_into_variant_from_frame_offset +except ImportError: + + def get_smart_step_into_variant_from_frame_offset(*args, **kwargs): + return None + +# IFDEF CYTHON +# cython_inline_constant: CMD_STEP_INTO = 107 +# cython_inline_constant: CMD_STEP_INTO_MY_CODE = 144 +# cython_inline_constant: CMD_STEP_RETURN = 109 +# cython_inline_constant: CMD_STEP_RETURN_MY_CODE = 160 +# cython_inline_constant: CMD_STEP_OVER = 108 +# cython_inline_constant: CMD_STEP_OVER_MY_CODE = 159 +# cython_inline_constant: CMD_STEP_CAUGHT_EXCEPTION = 137 +# cython_inline_constant: CMD_SET_BREAK = 111 +# cython_inline_constant: CMD_SMART_STEP_INTO = 128 +# cython_inline_constant: CMD_STEP_INTO_COROUTINE = 206 +# cython_inline_constant: STATE_RUN = 1 +# cython_inline_constant: STATE_SUSPEND = 2 +# ELSE +# Note: those are now inlined on cython. +CMD_STEP_INTO = 107 +CMD_STEP_INTO_MY_CODE = 144 +CMD_STEP_RETURN = 109 +CMD_STEP_RETURN_MY_CODE = 160 +CMD_STEP_OVER = 108 +CMD_STEP_OVER_MY_CODE = 159 +CMD_STEP_CAUGHT_EXCEPTION = 137 +CMD_SET_BREAK = 111 +CMD_SMART_STEP_INTO = 128 +CMD_STEP_INTO_COROUTINE = 206 +STATE_RUN = 1 +STATE_SUSPEND = 2 +# ENDIF + +basename = os.path.basename + +IGNORE_EXCEPTION_TAG = re.compile('[^#]*#.*@IgnoreException') +DEBUG_START = ('pydevd.py', 'run') +DEBUG_START_PY3K = ('_pydev_execfile.py', 'execfile') +TRACE_PROPERTY = 'pydevd_traceproperty.py' + +import dis + +try: + StopAsyncIteration +except NameError: + StopAsyncIteration = StopIteration + + +# IFDEF CYTHON +# cdef is_unhandled_exception(container_obj, py_db, frame, int last_raise_line, set raise_lines): +# ELSE +def is_unhandled_exception(container_obj, py_db, frame, last_raise_line, raise_lines): +# ENDIF + if frame.f_lineno in raise_lines: + return True + + else: + try_except_infos = container_obj.try_except_infos + if try_except_infos is None: + container_obj.try_except_infos = try_except_infos = py_db.collect_try_except_info(frame.f_code) + + if not try_except_infos: + # Consider the last exception as unhandled because there's no try..except in it. + return True + else: + # Now, consider only the try..except for the raise + valid_try_except_infos = [] + for try_except_info in try_except_infos: + if try_except_info.is_line_in_try_block(last_raise_line): + valid_try_except_infos.append(try_except_info) + + if not valid_try_except_infos: + return True + + else: + # Note: check all, not only the "valid" ones to cover the case + # in "tests_python.test_tracing_on_top_level.raise_unhandled10" + # where one try..except is inside the other with only a raise + # and it's gotten in the except line. + for try_except_info in try_except_infos: + if try_except_info.is_line_in_except_block(frame.f_lineno): + if ( + frame.f_lineno == try_except_info.except_line or + frame.f_lineno in try_except_info.raise_lines_in_except + ): + # In a raise inside a try..except block or some except which doesn't + # match the raised exception. + return True + return False + + +# IFDEF CYTHON +# cdef class _TryExceptContainerObj: +# cdef public list try_except_infos; +# def __init__(self): +# self.try_except_infos = None +# ELSE +class _TryExceptContainerObj(object): + ''' + A dumb container object just to containe the try..except info when needed. Meant to be + persisent among multiple PyDBFrames to the same code object. + ''' + try_except_infos = None +# ENDIF + + +#======================================================================================================================= +# PyDBFrame +#======================================================================================================================= +# IFDEF CYTHON +# cdef class PyDBFrame: +# ELSE +class PyDBFrame: + '''This makes the tracing for a given frame, so, the trace_dispatch + is used initially when we enter into a new context ('call') and then + is reused for the entire context. + ''' +# ENDIF + + # Note: class (and not instance) attributes. + + # Same thing in the main debugger but only considering the file contents, while the one in the main debugger + # considers the user input (so, the actual result must be a join of both). + filename_to_lines_where_exceptions_are_ignored = {} + filename_to_stat_info = {} + + # IFDEF CYTHON + # cdef tuple _args + # cdef int should_skip + # cdef object exc_info + # def __init__(self, tuple args): + # self._args = args # In the cython version we don't need to pass the frame + # self.should_skip = -1 # On cythonized version, put in instance. + # self.exc_info = () + # ELSE + should_skip = -1 # Default value in class (put in instance on set). + exc_info = () # Default value in class (put in instance on set). + + def __init__(self, args): + # args = main_debugger, abs_path_canonical_path_and_base, base, info, t, frame + # yeap, much faster than putting in self and then getting it from self later on + self._args = args + # ENDIF + + def set_suspend(self, *args, **kwargs): + self._args[0].set_suspend(*args, **kwargs) + + def do_wait_suspend(self, *args, **kwargs): + self._args[0].do_wait_suspend(*args, **kwargs) + + # IFDEF CYTHON + # def trace_exception(self, frame, str event, arg): + # cdef bint should_stop; + # cdef tuple exc_info; + # ELSE + def trace_exception(self, frame, event, arg): + # ENDIF + if event == 'exception': + should_stop, frame = self._should_stop_on_exception(frame, event, arg) + + if should_stop: + if self._handle_exception(frame, event, arg, EXCEPTION_TYPE_HANDLED): + return self.trace_dispatch + + elif event == 'return': + exc_info = self.exc_info + if exc_info and arg is None: + frame_skips_cache, frame_cache_key = self._args[4], self._args[5] + custom_key = (frame_cache_key, 'try_exc_info') + container_obj = frame_skips_cache.get(custom_key) + if container_obj is None: + container_obj = frame_skips_cache[custom_key] = _TryExceptContainerObj() + if is_unhandled_exception(container_obj, self._args[0], frame, exc_info[1], exc_info[2]) and \ + self.handle_user_exception(frame): + return self.trace_dispatch + + return self.trace_exception + + # IFDEF CYTHON + # cdef _should_stop_on_exception(self, frame, str event, arg): + # cdef PyDBAdditionalThreadInfo info; + # cdef bint should_stop; + # cdef bint was_just_raised; + # cdef list check_excs; + # ELSE + def _should_stop_on_exception(self, frame, event, arg): + # ENDIF + + # main_debugger, _filename, info, _thread = self._args + main_debugger = self._args[0] + info = self._args[2] + should_stop = False + + # STATE_SUSPEND = 2 + if info.pydev_state != 2: # and breakpoint is not None: + exception, value, trace = arg + + if trace is not None and hasattr(trace, 'tb_next'): + # on jython trace is None on the first event and it may not have a tb_next. + + should_stop = False + exception_breakpoint = None + try: + if main_debugger.plugin is not None: + result = main_debugger.plugin.exception_break(main_debugger, self, frame, self._args, arg) + if result: + should_stop, frame = result + except: + pydev_log.exception() + + if not should_stop: + # Apply checks that don't need the exception breakpoint (where we shouldn't ever stop). + if exception == SystemExit and main_debugger.ignore_system_exit_code(value): + pass + + elif exception in (GeneratorExit, StopIteration, StopAsyncIteration): + # These exceptions are control-flow related (they work as a generator + # pause), so, we shouldn't stop on them. + pass + + elif ignore_exception_trace(trace): + pass + + else: + was_just_raised = trace.tb_next is None + + # It was not handled by any plugin, lets check exception breakpoints. + check_excs = [] + + # Note: check user unhandled before regular exceptions. + exc_break_user = main_debugger.get_exception_breakpoint( + exception, main_debugger.break_on_user_uncaught_exceptions) + if exc_break_user is not None: + check_excs.append((exc_break_user, True)) + + exc_break_caught = main_debugger.get_exception_breakpoint( + exception, main_debugger.break_on_caught_exceptions) + if exc_break_caught is not None: + check_excs.append((exc_break_caught, False)) + + for exc_break, is_user_uncaught in check_excs: + # Initially mark that it should stop and then go into exclusions. + should_stop = True + + if main_debugger.exclude_exception_by_filter(exc_break, trace): + pydev_log.debug("Ignore exception %s in library %s -- (%s)" % (exception, frame.f_code.co_filename, frame.f_code.co_name)) + should_stop = False + + elif exc_break.condition is not None and \ + not main_debugger.handle_breakpoint_condition(info, exc_break, frame): + should_stop = False + + elif is_user_uncaught: + # Note: we don't stop here, we just collect the exc_info to use later on... + should_stop = False + if not main_debugger.apply_files_filter(frame, frame.f_code.co_filename, True) \ + and (frame.f_back is None or main_debugger.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, True)): + # User uncaught means that we're currently in user code but the code + # up the stack is library code. + exc_info = self.exc_info + if not exc_info: + exc_info = (arg, frame.f_lineno, set([frame.f_lineno])) + else: + lines = exc_info[2] + lines.add(frame.f_lineno) + exc_info = (arg, frame.f_lineno, lines) + self.exc_info = exc_info + else: + # I.e.: these are only checked if we're not dealing with user uncaught exceptions. + if exc_break.notify_on_first_raise_only and main_debugger.skip_on_exceptions_thrown_in_same_context \ + and not was_just_raised and not just_raised(trace.tb_next): + # In this case we never stop if it was just raised, so, to know if it was the first we + # need to check if we're in the 2nd method. + should_stop = False # I.e.: we stop only when we're at the caller of a method that throws an exception + + elif exc_break.notify_on_first_raise_only and not main_debugger.skip_on_exceptions_thrown_in_same_context \ + and not was_just_raised: + should_stop = False # I.e.: we stop only when it was just raised + + elif was_just_raised and main_debugger.skip_on_exceptions_thrown_in_same_context: + # Option: Don't break if an exception is caught in the same function from which it is thrown + should_stop = False + + if should_stop: + exception_breakpoint = exc_break + try: + info.pydev_message = exc_break.qname + except: + info.pydev_message = exc_break.qname.encode('utf-8') + break + + if should_stop: + # Always add exception to frame (must remove later after we proceed). + add_exception_to_frame(frame, (exception, value, trace)) + + if exception_breakpoint is not None and exception_breakpoint.expression is not None: + main_debugger.handle_breakpoint_expression(exception_breakpoint, info, frame) + + return should_stop, frame + + def handle_user_exception(self, frame): + exc_info = self.exc_info + if exc_info: + return self._handle_exception(frame, 'exception', exc_info[0], EXCEPTION_TYPE_USER_UNHANDLED) + return False + + # IFDEF CYTHON + # cdef _handle_exception(self, frame, str event, arg, str exception_type): + # cdef bint stopped; + # cdef tuple abs_real_path_and_base; + # cdef str absolute_filename; + # cdef str canonical_normalized_filename; + # cdef dict filename_to_lines_where_exceptions_are_ignored; + # cdef dict lines_ignored; + # cdef dict frame_id_to_frame; + # cdef dict merged; + # cdef object trace_obj; + # cdef object main_debugger; + # ELSE + def _handle_exception(self, frame, event, arg, exception_type): + # ENDIF + stopped = False + try: + # print('_handle_exception', frame.f_lineno, frame.f_code.co_name) + + # We have 3 things in arg: exception type, description, traceback object + trace_obj = arg[2] + main_debugger = self._args[0] + + initial_trace_obj = trace_obj + if trace_obj.tb_next is None and trace_obj.tb_frame is frame: + # I.e.: tb_next should be only None in the context it was thrown (trace_obj.tb_frame is frame is just a double check). + pass + else: + # Get the trace_obj from where the exception was raised... + while trace_obj.tb_next is not None: + trace_obj = trace_obj.tb_next + + if main_debugger.ignore_exceptions_thrown_in_lines_with_ignore_exception: + for check_trace_obj in (initial_trace_obj, trace_obj): + abs_real_path_and_base = get_abs_path_real_path_and_base_from_frame(check_trace_obj.tb_frame) + absolute_filename = abs_real_path_and_base[0] + canonical_normalized_filename = abs_real_path_and_base[1] + + filename_to_lines_where_exceptions_are_ignored = self.filename_to_lines_where_exceptions_are_ignored + + lines_ignored = filename_to_lines_where_exceptions_are_ignored.get(canonical_normalized_filename) + if lines_ignored is None: + lines_ignored = filename_to_lines_where_exceptions_are_ignored[canonical_normalized_filename] = {} + + try: + curr_stat = os.stat(absolute_filename) + curr_stat = (curr_stat.st_size, curr_stat.st_mtime) + except: + curr_stat = None + + last_stat = self.filename_to_stat_info.get(absolute_filename) + if last_stat != curr_stat: + self.filename_to_stat_info[absolute_filename] = curr_stat + lines_ignored.clear() + try: + linecache.checkcache(absolute_filename) + except: + pydev_log.exception('Error in linecache.checkcache(%r)', absolute_filename) + + from_user_input = main_debugger.filename_to_lines_where_exceptions_are_ignored.get(canonical_normalized_filename) + if from_user_input: + merged = {} + merged.update(lines_ignored) + # Override what we have with the related entries that the user entered + merged.update(from_user_input) + else: + merged = lines_ignored + + exc_lineno = check_trace_obj.tb_lineno + + # print ('lines ignored', lines_ignored) + # print ('user input', from_user_input) + # print ('merged', merged, 'curr', exc_lineno) + + if exc_lineno not in merged: # Note: check on merged but update lines_ignored. + try: + line = linecache.getline(absolute_filename, exc_lineno, check_trace_obj.tb_frame.f_globals) + except: + pydev_log.exception('Error in linecache.getline(%r, %s, f_globals)', absolute_filename, exc_lineno) + line = '' + + if IGNORE_EXCEPTION_TAG.match(line) is not None: + lines_ignored[exc_lineno] = 1 + return False + else: + # Put in the cache saying not to ignore + lines_ignored[exc_lineno] = 0 + else: + # Ok, dict has it already cached, so, let's check it... + if merged.get(exc_lineno, 0): + return False + + thread = self._args[3] + + try: + frame_id_to_frame = {} + frame_id_to_frame[id(frame)] = frame + f = trace_obj.tb_frame + while f is not None: + frame_id_to_frame[id(f)] = f + f = f.f_back + f = None + + stopped = True + main_debugger.send_caught_exception_stack(thread, arg, id(frame)) + try: + self.set_suspend(thread, CMD_STEP_CAUGHT_EXCEPTION) + self.do_wait_suspend(thread, frame, event, arg, exception_type=exception_type) + finally: + main_debugger.send_caught_exception_stack_proceeded(thread) + except: + pydev_log.exception() + + main_debugger.set_trace_for_frame_and_parents(frame) + finally: + # Make sure the user cannot see the '__exception__' we added after we leave the suspend state. + remove_exception_from_frame(frame) + # Clear some local variables... + frame = None + trace_obj = None + initial_trace_obj = None + check_trace_obj = None + f = None + frame_id_to_frame = None + main_debugger = None + thread = None + + return stopped + + # IFDEF CYTHON + # cdef get_func_name(self, frame): + # cdef str func_name + # ELSE + def get_func_name(self, frame): + # ENDIF + code_obj = frame.f_code + func_name = code_obj.co_name + try: + cls_name = get_clsname_for_code(code_obj, frame) + if cls_name is not None: + return "%s.%s" % (cls_name, func_name) + else: + return func_name + except: + pydev_log.exception() + return func_name + + # IFDEF CYTHON + # cdef _show_return_values(self, frame, arg): + # ELSE + def _show_return_values(self, frame, arg): + # ENDIF + try: + try: + f_locals_back = getattr(frame.f_back, "f_locals", None) + if f_locals_back is not None: + return_values_dict = f_locals_back.get(RETURN_VALUES_DICT, None) + if return_values_dict is None: + return_values_dict = {} + f_locals_back[RETURN_VALUES_DICT] = return_values_dict + name = self.get_func_name(frame) + return_values_dict[name] = arg + except: + pydev_log.exception() + finally: + f_locals_back = None + + # IFDEF CYTHON + # cdef _remove_return_values(self, main_debugger, frame): + # ELSE + def _remove_return_values(self, main_debugger, frame): + # ENDIF + try: + try: + # Showing return values was turned off, we should remove them from locals dict. + # The values can be in the current frame or in the back one + frame.f_locals.pop(RETURN_VALUES_DICT, None) + + f_locals_back = getattr(frame.f_back, "f_locals", None) + if f_locals_back is not None: + f_locals_back.pop(RETURN_VALUES_DICT, None) + except: + pydev_log.exception() + finally: + f_locals_back = None + + # IFDEF CYTHON + # cdef _get_unfiltered_back_frame(self, main_debugger, frame): + # ELSE + def _get_unfiltered_back_frame(self, main_debugger, frame): + # ENDIF + f = frame.f_back + while f is not None: + if not main_debugger.is_files_filter_enabled: + return f + + else: + if main_debugger.apply_files_filter(f, f.f_code.co_filename, False): + f = f.f_back + + else: + return f + + return f + + # IFDEF CYTHON + # cdef _is_same_frame(self, target_frame, current_frame): + # cdef PyDBAdditionalThreadInfo info; + # ELSE + def _is_same_frame(self, target_frame, current_frame): + # ENDIF + if target_frame is current_frame: + return True + + info = self._args[2] + if info.pydev_use_scoped_step_frame: + # If using scoped step we don't check the target, we just need to check + # if the current matches the same heuristic where the target was defined. + if target_frame is not None and current_frame is not None: + if target_frame.f_code.co_filename == current_frame.f_code.co_filename: + # The co_name may be different (it may include the line number), but + # the filename must still be the same. + f = current_frame.f_back + if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: + f = f.f_back + if f is not None and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[2]: + return True + + return False + + # IFDEF CYTHON + # cpdef trace_dispatch(self, frame, str event, arg): + # cdef tuple abs_path_canonical_path_and_base; + # cdef bint is_exception_event; + # cdef bint has_exception_breakpoints; + # cdef bint can_skip; + # cdef bint stop; + # cdef PyDBAdditionalThreadInfo info; + # cdef int step_cmd; + # cdef int line; + # cdef bint is_line; + # cdef bint is_call; + # cdef bint is_return; + # cdef bint should_stop; + # cdef dict breakpoints_for_file; + # cdef dict stop_info; + # cdef str curr_func_name; + # cdef bint exist_result; + # cdef dict frame_skips_cache; + # cdef object frame_cache_key; + # cdef tuple line_cache_key; + # cdef int breakpoints_in_line_cache; + # cdef int breakpoints_in_frame_cache; + # cdef bint has_breakpoint_in_frame; + # cdef bint is_coroutine_or_generator; + # cdef int bp_line; + # cdef object bp; + # cdef int pydev_smart_parent_offset + # cdef int pydev_smart_child_offset + # cdef tuple pydev_smart_step_into_variants + # ELSE + def trace_dispatch(self, frame, event, arg): + # ENDIF + # Note: this is a big function because most of the logic related to hitting a breakpoint and + # stepping is contained in it. Ideally this could be split among multiple functions, but the + # problem in this case is that in pure-python function calls are expensive and even more so + # when tracing is on (because each function call will get an additional tracing call). We + # try to address this by using the info.is_tracing for the fastest possible return, but the + # cost is still high (maybe we could use code-generation in the future and make the code + # generation be better split among what each part does). + + # DEBUG = '_debugger_case_generator.py' in frame.f_code.co_filename + main_debugger, abs_path_canonical_path_and_base, info, thread, frame_skips_cache, frame_cache_key = self._args + # if DEBUG: print('frame trace_dispatch %s %s %s %s %s %s, stop: %s' % (frame.f_lineno, frame.f_code.co_name, frame.f_code.co_filename, event, constant_to_str(info.pydev_step_cmd), arg, info.pydev_step_stop)) + try: + info.is_tracing += 1 + + # TODO: This shouldn't be needed. The fact that frame.f_lineno + # is None seems like a bug in Python 3.11. + # Reported in: https://github.com/python/cpython/issues/94485 + line = frame.f_lineno or 0 # Workaround or case where frame.f_lineno is None + line_cache_key = (frame_cache_key, line) + + if main_debugger.pydb_disposed: + return None if event == 'call' else NO_FTRACE + + plugin_manager = main_debugger.plugin + has_exception_breakpoints = ( + main_debugger.break_on_caught_exceptions + or main_debugger.break_on_user_uncaught_exceptions + or main_debugger.has_plugin_exception_breaks) + + stop_frame = info.pydev_step_stop + step_cmd = info.pydev_step_cmd + function_breakpoint_on_call_event = None + + if frame.f_code.co_flags & 0xa0: # 0xa0 == CO_GENERATOR = 0x20 | CO_COROUTINE = 0x80 + # Dealing with coroutines and generators: + # When in a coroutine we change the perceived event to the debugger because + # a call, StopIteration exception and return are usually just pausing/unpausing it. + if event == 'line': + is_line = True + is_call = False + is_return = False + is_exception_event = False + + elif event == 'return': + is_line = False + is_call = False + is_return = True + is_exception_event = False + + returns_cache_key = (frame_cache_key, 'returns') + return_lines = frame_skips_cache.get(returns_cache_key) + if return_lines is None: + # Note: we're collecting the return lines by inspecting the bytecode as + # there are multiple returns and multiple stop iterations when awaiting and + # it doesn't give any clear indication when a coroutine or generator is + # finishing or just pausing. + return_lines = set() + for x in main_debugger.collect_return_info(frame.f_code): + # Note: cython does not support closures in cpdefs (so we can't use + # a list comprehension). + return_lines.add(x.return_line) + + frame_skips_cache[returns_cache_key] = return_lines + + if line not in return_lines: + # Not really a return (coroutine/generator paused). + return self.trace_dispatch + else: + if self.exc_info: + self.handle_user_exception(frame) + return self.trace_dispatch + + # Tricky handling: usually when we're on a frame which is about to exit + # we set the step mode to step into, but in this case we'd end up in the + # asyncio internal machinery, which is not what we want, so, we just + # ask the stop frame to be a level up. + # + # Note that there's an issue here which we may want to fix in the future: if + # the back frame is a frame which is filtered, we won't stop properly. + # Solving this may not be trivial as we'd need to put a scope in the step + # in, but we may have to do it anyways to have a step in which doesn't end + # up in asyncio). + # + # Note2: we don't revert to a step in if we're doing scoped stepping + # (because on scoped stepping we're always receiving a call/line/return + # event for each line in ipython, so, we can't revert to step in on return + # as the return shouldn't mean that we've actually completed executing a + # frame in this case). + if stop_frame is frame and not info.pydev_use_scoped_step_frame: + if step_cmd in (CMD_STEP_OVER, CMD_STEP_OVER_MY_CODE, CMD_STEP_INTO, CMD_STEP_INTO_MY_CODE): + f = self._get_unfiltered_back_frame(main_debugger, frame) + if f is not None: + info.pydev_step_cmd = CMD_STEP_INTO_COROUTINE + info.pydev_step_stop = f + else: + if step_cmd == CMD_STEP_OVER: + info.pydev_step_cmd = CMD_STEP_INTO + info.pydev_step_stop = None + + elif step_cmd == CMD_STEP_OVER_MY_CODE: + info.pydev_step_cmd = CMD_STEP_INTO_MY_CODE + info.pydev_step_stop = None + + elif step_cmd == CMD_STEP_INTO_COROUTINE: + # We're exiting this one, so, mark the new coroutine context. + f = self._get_unfiltered_back_frame(main_debugger, frame) + if f is not None: + info.pydev_step_stop = f + else: + info.pydev_step_cmd = CMD_STEP_INTO + info.pydev_step_stop = None + + elif event == 'exception': + breakpoints_for_file = None + if has_exception_breakpoints: + should_stop, frame = self._should_stop_on_exception(frame, event, arg) + if should_stop: + if self._handle_exception(frame, event, arg, EXCEPTION_TYPE_HANDLED): + return self.trace_dispatch + + return self.trace_dispatch + else: + # event == 'call' or event == 'c_XXX' + return self.trace_dispatch + + else: # Not coroutine nor generator + if event == 'line': + is_line = True + is_call = False + is_return = False + is_exception_event = False + + elif event == 'return': + is_line = False + is_return = True + is_call = False + is_exception_event = False + + # If we are in single step mode and something causes us to exit the current frame, we need to make sure we break + # eventually. Force the step mode to step into and the step stop frame to None. + # I.e.: F6 in the end of a function should stop in the next possible position (instead of forcing the user + # to make a step in or step over at that location). + # Note: this is especially troublesome when we're skipping code with the + # @DontTrace comment. + if ( + stop_frame is frame and + not info.pydev_use_scoped_step_frame and is_return and + step_cmd in (CMD_STEP_OVER, CMD_STEP_RETURN, CMD_STEP_OVER_MY_CODE, CMD_STEP_RETURN_MY_CODE, CMD_SMART_STEP_INTO) + ): + + if step_cmd in (CMD_STEP_OVER, CMD_STEP_RETURN, CMD_SMART_STEP_INTO): + info.pydev_step_cmd = CMD_STEP_INTO + else: + info.pydev_step_cmd = CMD_STEP_INTO_MY_CODE + info.pydev_step_stop = None + + if self.exc_info: + if self.handle_user_exception(frame): + return self.trace_dispatch + + elif event == 'call': + is_line = False + is_call = True + is_return = False + is_exception_event = False + if frame.f_code.co_firstlineno == frame.f_lineno: # Check line to deal with async/await. + function_breakpoint_on_call_event = main_debugger.function_breakpoint_name_to_breakpoint.get(frame.f_code.co_name) + + elif event == 'exception': + is_exception_event = True + breakpoints_for_file = None + if has_exception_breakpoints: + should_stop, frame = self._should_stop_on_exception(frame, event, arg) + if should_stop: + if self._handle_exception(frame, event, arg, EXCEPTION_TYPE_HANDLED): + return self.trace_dispatch + is_line = False + is_return = False + is_call = False + + else: + # Unexpected: just keep the same trace func (i.e.: event == 'c_XXX'). + return self.trace_dispatch + + if not is_exception_event: + breakpoints_for_file = main_debugger.breakpoints.get(abs_path_canonical_path_and_base[1]) + + can_skip = False + + if info.pydev_state == 1: # STATE_RUN = 1 + # we can skip if: + # - we have no stop marked + # - we should make a step return/step over and we're not in the current frame + # - we're stepping into a coroutine context and we're not in that context + if step_cmd == -1: + can_skip = True + + elif step_cmd in (CMD_STEP_OVER, CMD_STEP_RETURN, CMD_STEP_OVER_MY_CODE, CMD_STEP_RETURN_MY_CODE) and not self._is_same_frame(stop_frame, frame): + can_skip = True + + elif step_cmd == CMD_SMART_STEP_INTO and ( + stop_frame is not None and + stop_frame is not frame and + stop_frame is not frame.f_back and + (frame.f_back is None or stop_frame is not frame.f_back.f_back)): + can_skip = True + + elif step_cmd == CMD_STEP_INTO_MY_CODE: + if ( + main_debugger.apply_files_filter(frame, frame.f_code.co_filename, True) + and (frame.f_back is None or main_debugger.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, True)) + ): + can_skip = True + + elif step_cmd == CMD_STEP_INTO_COROUTINE: + f = frame + while f is not None: + if self._is_same_frame(stop_frame, f): + break + f = f.f_back + else: + can_skip = True + + if can_skip: + if plugin_manager is not None and ( + main_debugger.has_plugin_line_breaks or main_debugger.has_plugin_exception_breaks): + can_skip = plugin_manager.can_skip(main_debugger, frame) + + if can_skip and main_debugger.show_return_values and info.pydev_step_cmd in (CMD_STEP_OVER, CMD_STEP_OVER_MY_CODE) and self._is_same_frame(stop_frame, frame.f_back): + # trace function for showing return values after step over + can_skip = False + + # Let's check to see if we are in a function that has a breakpoint. If we don't have a breakpoint, + # we will return nothing for the next trace + # also, after we hit a breakpoint and go to some other debugging state, we have to force the set trace anyway, + # so, that's why the additional checks are there. + + if function_breakpoint_on_call_event: + pass # Do nothing here (just keep on going as we can't skip it). + + elif not breakpoints_for_file: + if can_skip: + if has_exception_breakpoints: + return self.trace_exception + else: + return None if is_call else NO_FTRACE + + else: + # When cached, 0 means we don't have a breakpoint and 1 means we have. + if can_skip: + breakpoints_in_line_cache = frame_skips_cache.get(line_cache_key, -1) + if breakpoints_in_line_cache == 0: + return self.trace_dispatch + + breakpoints_in_frame_cache = frame_skips_cache.get(frame_cache_key, -1) + if breakpoints_in_frame_cache != -1: + # Gotten from cache. + has_breakpoint_in_frame = breakpoints_in_frame_cache == 1 + + else: + has_breakpoint_in_frame = False + + try: + func_lines = set() + for offset_and_lineno in dis.findlinestarts(frame.f_code): + func_lines.add(offset_and_lineno[1]) + except: + # This is a fallback for implementations where we can't get the function + # lines -- i.e.: jython (in this case clients need to provide the function + # name to decide on the skip or we won't be able to skip the function + # completely). + + # Checks the breakpoint to see if there is a context match in some function. + curr_func_name = frame.f_code.co_name + + # global context is set with an empty name + if curr_func_name in ('?', '', ''): + curr_func_name = '' + + for bp in breakpoints_for_file.values(): + # will match either global or some function + if bp.func_name in ('None', curr_func_name): + has_breakpoint_in_frame = True + break + else: + for bp_line in breakpoints_for_file: # iterate on keys + if bp_line in func_lines: + has_breakpoint_in_frame = True + break + + # Cache the value (1 or 0 or -1 for default because of cython). + if has_breakpoint_in_frame: + frame_skips_cache[frame_cache_key] = 1 + else: + frame_skips_cache[frame_cache_key] = 0 + + if can_skip and not has_breakpoint_in_frame: + if has_exception_breakpoints: + return self.trace_exception + else: + return None if is_call else NO_FTRACE + + # We may have hit a breakpoint or we are already in step mode. Either way, let's check what we should do in this frame + # if DEBUG: print('NOT skipped: %s %s %s %s' % (frame.f_lineno, frame.f_code.co_name, event, frame.__class__.__name__)) + + try: + flag = False + # return is not taken into account for breakpoint hit because we'd have a double-hit in this case + # (one for the line and the other for the return). + + stop_info = {} + breakpoint = None + exist_result = False + stop = False + stop_reason = CMD_SET_BREAK + bp_type = None + + if function_breakpoint_on_call_event: + breakpoint = function_breakpoint_on_call_event + stop = True + new_frame = frame + stop_reason = CMD_SET_FUNCTION_BREAK + + elif is_line and info.pydev_state != STATE_SUSPEND and breakpoints_for_file is not None and line in breakpoints_for_file: + breakpoint = breakpoints_for_file[line] + new_frame = frame + stop = True + if step_cmd in (CMD_STEP_OVER, CMD_STEP_OVER_MY_CODE) and (self._is_same_frame(stop_frame, frame) and is_line): + stop = False # we don't stop on breakpoint if we have to stop by step-over (it will be processed later) + elif plugin_manager is not None and main_debugger.has_plugin_line_breaks: + result = plugin_manager.get_breakpoint(main_debugger, self, frame, event, self._args) + if result: + exist_result = True + flag, breakpoint, new_frame, bp_type = result + + if breakpoint: + # ok, hit breakpoint, now, we have to discover if it is a conditional breakpoint + # lets do the conditional stuff here + if breakpoint.expression is not None: + main_debugger.handle_breakpoint_expression(breakpoint, info, new_frame) + if breakpoint.is_logpoint and info.pydev_message is not None and len(info.pydev_message) > 0: + cmd = main_debugger.cmd_factory.make_io_message(info.pydev_message + os.linesep, '1') + main_debugger.writer.add_command(cmd) + + if stop or exist_result: + eval_result = False + if breakpoint.has_condition: + eval_result = main_debugger.handle_breakpoint_condition(info, breakpoint, new_frame) + + if breakpoint.has_condition: + if not eval_result: + stop = False + elif breakpoint.is_logpoint: + stop = False + + if is_call and (frame.f_code.co_name in ('', '') or (line == 1 and frame.f_code.co_name.startswith(' may be executed having each line compiled as a new + # module, so it's the same case as . + + return self.trace_dispatch + + if main_debugger.show_return_values: + if is_return and ( + (info.pydev_step_cmd in (CMD_STEP_OVER, CMD_STEP_OVER_MY_CODE, CMD_SMART_STEP_INTO) and (self._is_same_frame(stop_frame, frame.f_back))) or + (info.pydev_step_cmd in (CMD_STEP_RETURN, CMD_STEP_RETURN_MY_CODE) and (self._is_same_frame(stop_frame, frame))) or + (info.pydev_step_cmd in (CMD_STEP_INTO, CMD_STEP_INTO_COROUTINE)) or + ( + info.pydev_step_cmd == CMD_STEP_INTO_MY_CODE + and frame.f_back is not None + and not main_debugger.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, True) + ) + ): + self._show_return_values(frame, arg) + + elif main_debugger.remove_return_values_flag: + try: + self._remove_return_values(main_debugger, frame) + finally: + main_debugger.remove_return_values_flag = False + + if stop: + self.set_suspend( + thread, + stop_reason, + suspend_other_threads=breakpoint and breakpoint.suspend_policy == "ALL", + ) + + elif flag and plugin_manager is not None: + result = plugin_manager.suspend(main_debugger, thread, frame, bp_type) + if result: + frame = result + + # if thread has a suspend flag, we suspend with a busy wait + if info.pydev_state == STATE_SUSPEND: + self.do_wait_suspend(thread, frame, event, arg) + return self.trace_dispatch + else: + if not breakpoint and is_line: + # No stop from anyone and no breakpoint found in line (cache that). + frame_skips_cache[line_cache_key] = 0 + + except: + pydev_log.exception() + raise + + # step handling. We stop when we hit the right frame + try: + should_skip = 0 + if pydevd_dont_trace.should_trace_hook is not None: + if self.should_skip == -1: + # I.e.: cache the result on self.should_skip (no need to evaluate the same frame multiple times). + # Note that on a code reload, we won't re-evaluate this because in practice, the frame.f_code + # Which will be handled by this frame is read-only, so, we can cache it safely. + if not pydevd_dont_trace.should_trace_hook(frame, abs_path_canonical_path_and_base[0]): + # -1, 0, 1 to be Cython-friendly + should_skip = self.should_skip = 1 + else: + should_skip = self.should_skip = 0 + else: + should_skip = self.should_skip + + plugin_stop = False + if should_skip: + stop = False + + elif step_cmd in (CMD_STEP_INTO, CMD_STEP_INTO_MY_CODE, CMD_STEP_INTO_COROUTINE): + force_check_project_scope = step_cmd == CMD_STEP_INTO_MY_CODE + if is_line: + if not info.pydev_use_scoped_step_frame: + if force_check_project_scope or main_debugger.is_files_filter_enabled: + stop = not main_debugger.apply_files_filter(frame, frame.f_code.co_filename, force_check_project_scope) + else: + stop = True + else: + # We can only stop inside the ipython call. + filename = frame.f_code.co_filename + if filename.endswith('.pyc'): + filename = filename[:-1] + + if not filename.endswith(PYDEVD_IPYTHON_CONTEXT[0]): + f = frame.f_back + while f is not None: + if f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: + f2 = f.f_back + if f2 is not None and f2.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[2]: + pydev_log.debug('Stop inside ipython call') + stop = True + break + f = f.f_back + + del f + + if not stop: + # In scoped mode if step in didn't work in this context it won't work + # afterwards anyways. + return None if is_call else NO_FTRACE + + elif is_return and frame.f_back is not None and not info.pydev_use_scoped_step_frame: + if main_debugger.get_file_type(frame.f_back) == main_debugger.PYDEV_FILE: + stop = False + else: + if force_check_project_scope or main_debugger.is_files_filter_enabled: + stop = not main_debugger.apply_files_filter(frame.f_back, frame.f_back.f_code.co_filename, force_check_project_scope) + if stop: + # Prevent stopping in a return to the same location we were initially + # (i.e.: double-stop at the same place due to some filtering). + if info.step_in_initial_location == (frame.f_back, frame.f_back.f_lineno): + stop = False + else: + stop = True + else: + stop = False + + if stop: + if step_cmd == CMD_STEP_INTO_COROUTINE: + # i.e.: Check if we're stepping into the proper context. + f = frame + while f is not None: + if self._is_same_frame(stop_frame, f): + break + f = f.f_back + else: + stop = False + + if plugin_manager is not None: + result = plugin_manager.cmd_step_into(main_debugger, frame, event, self._args, stop_info, stop) + if result: + stop, plugin_stop = result + + elif step_cmd in (CMD_STEP_OVER, CMD_STEP_OVER_MY_CODE): + # Note: when dealing with a step over my code it's the same as a step over (the + # difference is that when we return from a frame in one we go to regular step + # into and in the other we go to a step into my code). + stop = self._is_same_frame(stop_frame, frame) and is_line + # Note: don't stop on a return for step over, only for line events + # i.e.: don't stop in: (stop_frame is frame.f_back and is_return) as we'd stop twice in that line. + + if plugin_manager is not None: + result = plugin_manager.cmd_step_over(main_debugger, frame, event, self._args, stop_info, stop) + if result: + stop, plugin_stop = result + + elif step_cmd == CMD_SMART_STEP_INTO: + stop = False + back = frame.f_back + if self._is_same_frame(stop_frame, frame) and is_return: + # We're exiting the smart step into initial frame (so, we probably didn't find our target). + stop = True + + elif self._is_same_frame(stop_frame, back) and is_line: + if info.pydev_smart_child_offset != -1: + # i.e.: in this case, we're not interested in the pause in the parent, rather + # we're interested in the pause in the child (when the parent is at the proper place). + stop = False + + else: + pydev_smart_parent_offset = info.pydev_smart_parent_offset + + pydev_smart_step_into_variants = info.pydev_smart_step_into_variants + if pydev_smart_parent_offset >= 0 and pydev_smart_step_into_variants: + # Preferred mode (when the smart step into variants are available + # and the offset is set). + stop = get_smart_step_into_variant_from_frame_offset(back.f_lasti, pydev_smart_step_into_variants) is \ + get_smart_step_into_variant_from_frame_offset(pydev_smart_parent_offset, pydev_smart_step_into_variants) + + else: + # Only the name/line is available, so, check that. + curr_func_name = frame.f_code.co_name + + # global context is set with an empty name + if curr_func_name in ('?', '') or curr_func_name is None: + curr_func_name = '' + if curr_func_name == info.pydev_func_name and stop_frame.f_lineno == info.pydev_next_line: + stop = True + + if not stop: + # In smart step into, if we didn't hit it in this frame once, that'll + # not be the case next time either, so, disable tracing for this frame. + return None if is_call else NO_FTRACE + + elif back is not None and self._is_same_frame(stop_frame, back.f_back) and is_line: + # Ok, we have to track 2 stops at this point, the parent and the child offset. + # This happens when handling a step into which targets a function inside a list comprehension + # or generator (in which case an intermediary frame is created due to an internal function call). + pydev_smart_parent_offset = info.pydev_smart_parent_offset + pydev_smart_child_offset = info.pydev_smart_child_offset + # print('matched back frame', pydev_smart_parent_offset, pydev_smart_child_offset) + # print('parent f_lasti', back.f_back.f_lasti) + # print('child f_lasti', back.f_lasti) + stop = False + if pydev_smart_child_offset >= 0 and pydev_smart_child_offset >= 0: + pydev_smart_step_into_variants = info.pydev_smart_step_into_variants + + if pydev_smart_parent_offset >= 0 and pydev_smart_step_into_variants: + # Note that we don't really check the parent offset, only the offset of + # the child (because this is a generator, the parent may have moved forward + # already -- and that's ok, so, we just check that the parent frame + # matches in this case). + smart_step_into_variant = get_smart_step_into_variant_from_frame_offset(pydev_smart_parent_offset, pydev_smart_step_into_variants) + # print('matched parent offset', pydev_smart_parent_offset) + # Ok, now, check the child variant + children_variants = smart_step_into_variant.children_variants + stop = children_variants and ( + get_smart_step_into_variant_from_frame_offset(back.f_lasti, children_variants) is \ + get_smart_step_into_variant_from_frame_offset(pydev_smart_child_offset, children_variants) + ) + # print('stop at child', stop) + + if not stop: + # In smart step into, if we didn't hit it in this frame once, that'll + # not be the case next time either, so, disable tracing for this frame. + return None if is_call else NO_FTRACE + + elif step_cmd in (CMD_STEP_RETURN, CMD_STEP_RETURN_MY_CODE): + stop = is_return and self._is_same_frame(stop_frame, frame) + + else: + stop = False + + if stop and step_cmd != -1 and is_return and hasattr(frame, "f_back"): + f_code = getattr(frame.f_back, 'f_code', None) + if f_code is not None: + if main_debugger.get_file_type(frame.f_back) == main_debugger.PYDEV_FILE: + stop = False + + if plugin_stop: + stopped_on_plugin = plugin_manager.stop(main_debugger, frame, event, self._args, stop_info, arg, step_cmd) + elif stop: + if is_line: + self.set_suspend(thread, step_cmd, original_step_cmd=info.pydev_original_step_cmd) + self.do_wait_suspend(thread, frame, event, arg) + elif is_return: # return event + back = frame.f_back + if back is not None: + # When we get to the pydevd run function, the debugging has actually finished for the main thread + # (note that it can still go on for other threads, but for this one, we just make it finish) + # So, just setting it to None should be OK + back_absolute_filename, _, base = get_abs_path_real_path_and_base_from_frame(back) + if (base, back.f_code.co_name) in (DEBUG_START, DEBUG_START_PY3K): + back = None + + elif base == TRACE_PROPERTY: + # We dont want to trace the return event of pydevd_traceproperty (custom property for debugging) + # if we're in a return, we want it to appear to the user in the previous frame! + return None if is_call else NO_FTRACE + + elif pydevd_dont_trace.should_trace_hook is not None: + if not pydevd_dont_trace.should_trace_hook(back, back_absolute_filename): + # In this case, we'll have to skip the previous one because it shouldn't be traced. + # Also, we have to reset the tracing, because if the parent's parent (or some + # other parent) has to be traced and it's not currently, we wouldn't stop where + # we should anymore (so, a step in/over/return may not stop anywhere if no parent is traced). + # Related test: _debugger_case17a.py + main_debugger.set_trace_for_frame_and_parents(back) + return None if is_call else NO_FTRACE + + if back is not None: + # if we're in a return, we want it to appear to the user in the previous frame! + self.set_suspend(thread, step_cmd, original_step_cmd=info.pydev_original_step_cmd) + self.do_wait_suspend(thread, back, event, arg) + else: + # in jython we may not have a back frame + info.pydev_step_stop = None + info.pydev_original_step_cmd = -1 + info.pydev_step_cmd = -1 + info.pydev_state = STATE_RUN + + except KeyboardInterrupt: + raise + except: + try: + pydev_log.exception() + info.pydev_original_step_cmd = -1 + info.pydev_step_cmd = -1 + info.pydev_step_stop = None + except: + return None if is_call else NO_FTRACE + + # if we are quitting, let's stop the tracing + if main_debugger.quitting: + return None if is_call else NO_FTRACE + + return self.trace_dispatch + finally: + info.is_tracing -= 1 + + # end trace_dispatch diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_frame_utils.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_frame_utils.py new file mode 120000 index 0000000..4c87a31 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_frame_utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8e/b6/ac/b8aed651b2286e402c9d005c0d4662a7a84a82823cd0c3a9a8d918a4ba \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_gevent_integration.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_gevent_integration.py new file mode 100644 index 0000000..ca404ba --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_gevent_integration.py @@ -0,0 +1,93 @@ +import pydevd_tracing +import greenlet +import gevent +from _pydev_bundle._pydev_saved_modules import threading +from _pydevd_bundle.pydevd_custom_frames import add_custom_frame, update_custom_frame, remove_custom_frame +from _pydevd_bundle.pydevd_constants import GEVENT_SHOW_PAUSED_GREENLETS, get_global_debugger, \ + thread_get_ident +from _pydev_bundle import pydev_log +from pydevd_file_utils import basename + +_saved_greenlets_to_custom_frame_thread_id = {} + +if GEVENT_SHOW_PAUSED_GREENLETS: + + def _get_paused_name(py_db, g): + frame = g.gr_frame + use_frame = frame + + # i.e.: Show in the description of the greenlet the last user-code found. + while use_frame is not None: + if py_db.apply_files_filter(use_frame, use_frame.f_code.co_filename, True): + frame = use_frame + use_frame = use_frame.f_back + else: + break + + if use_frame is None: + use_frame = frame + + return '%s: %s - %s' % (type(g).__name__, use_frame.f_code.co_name, basename(use_frame.f_code.co_filename)) + + def greenlet_events(event, args): + if event in ('switch', 'throw'): + py_db = get_global_debugger() + origin, target = args + + if not origin.dead and origin.gr_frame is not None: + frame_custom_thread_id = _saved_greenlets_to_custom_frame_thread_id.get(origin) + if frame_custom_thread_id is None: + _saved_greenlets_to_custom_frame_thread_id[origin] = add_custom_frame( + origin.gr_frame, _get_paused_name(py_db, origin), thread_get_ident()) + else: + update_custom_frame( + frame_custom_thread_id, origin.gr_frame, _get_paused_name(py_db, origin), thread_get_ident()) + else: + frame_custom_thread_id = _saved_greenlets_to_custom_frame_thread_id.pop(origin, None) + if frame_custom_thread_id is not None: + remove_custom_frame(frame_custom_thread_id) + + # This one will be resumed, so, remove custom frame from it. + frame_custom_thread_id = _saved_greenlets_to_custom_frame_thread_id.pop(target, None) + if frame_custom_thread_id is not None: + remove_custom_frame(frame_custom_thread_id) + + # The tracing needs to be reapplied for each greenlet as gevent + # clears the tracing set through sys.settrace for each greenlet. + pydevd_tracing.reapply_settrace() + +else: + + # i.e.: no logic related to showing paused greenlets is needed. + def greenlet_events(event, args): + pydevd_tracing.reapply_settrace() + + +def enable_gevent_integration(): + # References: + # https://greenlet.readthedocs.io/en/latest/api.html#greenlet.settrace + # https://greenlet.readthedocs.io/en/latest/tracing.html + + # Note: gevent.version_info is WRONG (gevent.__version__ must be used). + try: + if tuple(int(x) for x in gevent.__version__.split('.')[:2]) <= (20, 0): + if not GEVENT_SHOW_PAUSED_GREENLETS: + return + + if not hasattr(greenlet, 'settrace'): + # In older versions it was optional. + # We still try to use if available though (because without it + pydev_log.debug('greenlet.settrace not available. GEVENT_SHOW_PAUSED_GREENLETS will have no effect.') + return + try: + greenlet.settrace(greenlet_events) + except: + pydev_log.exception('Error with greenlet.settrace.') + except: + pydev_log.exception('Error setting up gevent %s.', gevent.__version__) + + +def log_gevent_debug_info(): + pydev_log.debug('Greenlet version: %s', greenlet.__version__) + pydev_log.debug('Gevent version: %s', gevent.__version__) + pydev_log.debug('Gevent install location: %s', gevent.__file__) diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_import_class.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_import_class.py new file mode 120000 index 0000000..aaf293b --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_import_class.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5e/28/08/3186d583a22c358dec84771af91dbabc61b9c0c4c6ca0772877f2f694f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_io.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_io.py new file mode 100644 index 0000000..3682c4d --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_io.py @@ -0,0 +1,258 @@ +from _pydevd_bundle.pydevd_constants import ForkSafeLock, get_global_debugger +import os +import sys +from contextlib import contextmanager + + +class IORedirector: + ''' + This class works to wrap a stream (stdout/stderr) with an additional redirect. + ''' + + def __init__(self, original, new_redirect, wrap_buffer=False): + ''' + :param stream original: + The stream to be wrapped (usually stdout/stderr, but could be None). + + :param stream new_redirect: + Usually IOBuf (below). + + :param bool wrap_buffer: + Whether to create a buffer attribute (needed to mimick python 3 s + tdout/stderr which has a buffer to write binary data). + ''' + self._lock = ForkSafeLock(rlock=True) + self._writing = False + self._redirect_to = (original, new_redirect) + if wrap_buffer and hasattr(original, 'buffer'): + self.buffer = IORedirector(original.buffer, new_redirect.buffer, False) + + def write(self, s): + # Note that writing to the original stream may fail for some reasons + # (such as trying to write something that's not a string or having it closed). + with self._lock: + if self._writing: + return + self._writing = True + try: + for r in self._redirect_to: + if hasattr(r, 'write'): + r.write(s) + finally: + self._writing = False + + def isatty(self): + for r in self._redirect_to: + if hasattr(r, 'isatty'): + return r.isatty() + return False + + def flush(self): + for r in self._redirect_to: + if hasattr(r, 'flush'): + r.flush() + + def __getattr__(self, name): + for r in self._redirect_to: + if hasattr(r, name): + return getattr(r, name) + raise AttributeError(name) + + +class RedirectToPyDBIoMessages(object): + + def __init__(self, out_ctx, wrap_stream, wrap_buffer, on_write=None): + ''' + :param out_ctx: + 1=stdout and 2=stderr + + :param wrap_stream: + Either sys.stdout or sys.stderr. + + :param bool wrap_buffer: + If True the buffer attribute (which wraps writing bytes) should be + wrapped. + + :param callable(str) on_write: + May be a custom callable to be called when to write something. + If not passed the default implementation will create an io message + and send it through the debugger. + ''' + encoding = getattr(wrap_stream, 'encoding', None) + if not encoding: + encoding = os.environ.get('PYTHONIOENCODING', 'utf-8') + self.encoding = encoding + self._out_ctx = out_ctx + if wrap_buffer: + self.buffer = RedirectToPyDBIoMessages(out_ctx, wrap_stream, wrap_buffer=False, on_write=on_write) + self._on_write = on_write + + def get_pydb(self): + # Note: separate method for mocking on tests. + return get_global_debugger() + + def flush(self): + pass # no-op here + + def write(self, s): + if self._on_write is not None: + self._on_write(s) + return + + if s: + # Need s in str + if isinstance(s, bytes): + s = s.decode(self.encoding, errors='replace') + + py_db = self.get_pydb() + if py_db is not None: + # Note that the actual message contents will be a xml with utf-8, although + # the entry is str on py3 and bytes on py2. + cmd = py_db.cmd_factory.make_io_message(s, self._out_ctx) + if py_db.writer is not None: + py_db.writer.add_command(cmd) + + +class IOBuf: + '''This class works as a replacement for stdio and stderr. + It is a buffer and when its contents are requested, it will erase what + it has so far so that the next return will not return the same contents again. + ''' + + def __init__(self): + self.buflist = [] + import os + self.encoding = os.environ.get('PYTHONIOENCODING', 'utf-8') + + def getvalue(self): + b = self.buflist + self.buflist = [] # clear it + return ''.join(b) # bytes on py2, str on py3. + + def write(self, s): + if isinstance(s, bytes): + s = s.decode(self.encoding, errors='replace') + self.buflist.append(s) + + def isatty(self): + return False + + def flush(self): + pass + + def empty(self): + return len(self.buflist) == 0 + + +class _RedirectInfo(object): + + def __init__(self, original, redirect_to): + self.original = original + self.redirect_to = redirect_to + + +class _RedirectionsHolder: + _lock = ForkSafeLock(rlock=True) + _stack_stdout = [] + _stack_stderr = [] + + _pydevd_stdout_redirect_ = None + _pydevd_stderr_redirect_ = None + + +def start_redirect(keep_original_redirection=False, std='stdout', redirect_to=None): + ''' + @param std: 'stdout', 'stderr', or 'both' + ''' + with _RedirectionsHolder._lock: + if redirect_to is None: + redirect_to = IOBuf() + + if std == 'both': + config_stds = ['stdout', 'stderr'] + else: + config_stds = [std] + + for std in config_stds: + original = getattr(sys, std) + stack = getattr(_RedirectionsHolder, '_stack_%s' % std) + + if keep_original_redirection: + wrap_buffer = True if hasattr(redirect_to, 'buffer') else False + new_std_instance = IORedirector(getattr(sys, std), redirect_to, wrap_buffer=wrap_buffer) + setattr(sys, std, new_std_instance) + else: + new_std_instance = redirect_to + setattr(sys, std, redirect_to) + + stack.append(_RedirectInfo(original, new_std_instance)) + + return redirect_to + + +def end_redirect(std='stdout'): + with _RedirectionsHolder._lock: + if std == 'both': + config_stds = ['stdout', 'stderr'] + else: + config_stds = [std] + for std in config_stds: + stack = getattr(_RedirectionsHolder, '_stack_%s' % std) + redirect_info = stack.pop() + setattr(sys, std, redirect_info.original) + + +def redirect_stream_to_pydb_io_messages(std): + ''' + :param std: + 'stdout' or 'stderr' + ''' + with _RedirectionsHolder._lock: + redirect_to_name = '_pydevd_%s_redirect_' % (std,) + if getattr(_RedirectionsHolder, redirect_to_name) is None: + wrap_buffer = True + original = getattr(sys, std) + + redirect_to = RedirectToPyDBIoMessages(1 if std == 'stdout' else 2, original, wrap_buffer) + start_redirect(keep_original_redirection=True, std=std, redirect_to=redirect_to) + + stack = getattr(_RedirectionsHolder, '_stack_%s' % std) + setattr(_RedirectionsHolder, redirect_to_name, stack[-1]) + return True + + return False + + +def stop_redirect_stream_to_pydb_io_messages(std): + ''' + :param std: + 'stdout' or 'stderr' + ''' + with _RedirectionsHolder._lock: + redirect_to_name = '_pydevd_%s_redirect_' % (std,) + redirect_info = getattr(_RedirectionsHolder, redirect_to_name) + if redirect_info is not None: # :type redirect_info: _RedirectInfo + setattr(_RedirectionsHolder, redirect_to_name, None) + + stack = getattr(_RedirectionsHolder, '_stack_%s' % std) + prev_info = stack.pop() + + curr = getattr(sys, std) + if curr is redirect_info.redirect_to: + setattr(sys, std, redirect_info.original) + + +@contextmanager +def redirect_stream_to_pydb_io_messages_context(): + with _RedirectionsHolder._lock: + redirecting = [] + for std in ('stdout', 'stderr'): + if redirect_stream_to_pydb_io_messages(std): + redirecting.append(std) + + try: + yield + finally: + for std in redirecting: + stop_redirect_stream_to_pydb_io_messages(std) + diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_json_debug_options.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_json_debug_options.py new file mode 100644 index 0000000..4923268 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_json_debug_options.py @@ -0,0 +1,196 @@ +import json +import urllib.parse as urllib_parse + + +class DebugOptions(object): + + __slots__ = [ + 'just_my_code', + 'redirect_output', + 'show_return_value', + 'break_system_exit_zero', + 'django_debug', + 'flask_debug', + 'stop_on_entry', + 'max_exception_stack_frames', + 'gui_event_loop', + ] + + def __init__(self): + self.just_my_code = True + self.redirect_output = False + self.show_return_value = False + self.break_system_exit_zero = False + self.django_debug = False + self.flask_debug = False + self.stop_on_entry = False + self.max_exception_stack_frames = 0 + self.gui_event_loop = 'matplotlib' + + def to_json(self): + dct = {} + for s in self.__slots__: + dct[s] = getattr(self, s) + return json.dumps(dct) + + def update_fom_debug_options(self, debug_options): + if 'DEBUG_STDLIB' in debug_options: + self.just_my_code = not debug_options.get('DEBUG_STDLIB') + + if 'REDIRECT_OUTPUT' in debug_options: + self.redirect_output = debug_options.get('REDIRECT_OUTPUT') + + if 'SHOW_RETURN_VALUE' in debug_options: + self.show_return_value = debug_options.get('SHOW_RETURN_VALUE') + + if 'BREAK_SYSTEMEXIT_ZERO' in debug_options: + self.break_system_exit_zero = debug_options.get('BREAK_SYSTEMEXIT_ZERO') + + if 'DJANGO_DEBUG' in debug_options: + self.django_debug = debug_options.get('DJANGO_DEBUG') + + if 'FLASK_DEBUG' in debug_options: + self.flask_debug = debug_options.get('FLASK_DEBUG') + + if 'STOP_ON_ENTRY' in debug_options: + self.stop_on_entry = debug_options.get('STOP_ON_ENTRY') + + # Note: _max_exception_stack_frames cannot be set by debug options. + + def update_from_args(self, args): + if 'justMyCode' in args: + self.just_my_code = bool_parser(args['justMyCode']) + else: + # i.e.: if justMyCode is provided, don't check the deprecated value + if 'debugStdLib' in args: + self.just_my_code = not bool_parser(args['debugStdLib']) + + if 'redirectOutput' in args: + self.redirect_output = bool_parser(args['redirectOutput']) + + if 'showReturnValue' in args: + self.show_return_value = bool_parser(args['showReturnValue']) + + if 'breakOnSystemExitZero' in args: + self.break_system_exit_zero = bool_parser(args['breakOnSystemExitZero']) + + if 'django' in args: + self.django_debug = bool_parser(args['django']) + + if 'flask' in args: + self.flask_debug = bool_parser(args['flask']) + + if 'jinja' in args: + self.flask_debug = bool_parser(args['jinja']) + + if 'stopOnEntry' in args: + self.stop_on_entry = bool_parser(args['stopOnEntry']) + + self.max_exception_stack_frames = int_parser(args.get('maxExceptionStackFrames', 0)) + + if 'guiEventLoop' in args: + self.gui_event_loop = str(args['guiEventLoop']) + + +def int_parser(s, default_value=0): + try: + return int(s) + except Exception: + return default_value + + +def bool_parser(s): + return s in ("True", "true", "1", True, 1) + + +def unquote(s): + return None if s is None else urllib_parse.unquote(s) + + +DEBUG_OPTIONS_PARSER = { + 'WAIT_ON_ABNORMAL_EXIT': bool_parser, + 'WAIT_ON_NORMAL_EXIT': bool_parser, + 'BREAK_SYSTEMEXIT_ZERO': bool_parser, + 'REDIRECT_OUTPUT': bool_parser, + 'DJANGO_DEBUG': bool_parser, + 'FLASK_DEBUG': bool_parser, + 'FIX_FILE_PATH_CASE': bool_parser, + 'CLIENT_OS_TYPE': unquote, + 'DEBUG_STDLIB': bool_parser, + 'STOP_ON_ENTRY': bool_parser, + 'SHOW_RETURN_VALUE': bool_parser, + 'MULTIPROCESS': bool_parser, +} + +DEBUG_OPTIONS_BY_FLAG = { + 'RedirectOutput': 'REDIRECT_OUTPUT=True', + 'WaitOnNormalExit': 'WAIT_ON_NORMAL_EXIT=True', + 'WaitOnAbnormalExit': 'WAIT_ON_ABNORMAL_EXIT=True', + 'BreakOnSystemExitZero': 'BREAK_SYSTEMEXIT_ZERO=True', + 'Django': 'DJANGO_DEBUG=True', + 'Flask': 'FLASK_DEBUG=True', + 'Jinja': 'FLASK_DEBUG=True', + 'FixFilePathCase': 'FIX_FILE_PATH_CASE=True', + 'DebugStdLib': 'DEBUG_STDLIB=True', + 'WindowsClient': 'CLIENT_OS_TYPE=WINDOWS', + 'UnixClient': 'CLIENT_OS_TYPE=UNIX', + 'StopOnEntry': 'STOP_ON_ENTRY=True', + 'ShowReturnValue': 'SHOW_RETURN_VALUE=True', + 'Multiprocess': 'MULTIPROCESS=True', +} + + +def _build_debug_options(flags): + """Build string representation of debug options from the launch config.""" + return ';'.join(DEBUG_OPTIONS_BY_FLAG[flag] + for flag in flags or [] + if flag in DEBUG_OPTIONS_BY_FLAG) + + +def _parse_debug_options(opts): + """Debug options are semicolon separated key=value pairs + """ + options = {} + if not opts: + return options + + for opt in opts.split(';'): + try: + key, value = opt.split('=') + except ValueError: + continue + try: + options[key] = DEBUG_OPTIONS_PARSER[key](value) + except KeyError: + continue + + return options + + +def _extract_debug_options(opts, flags=None): + """Return the debug options encoded in the given value. + + "opts" is a semicolon-separated string of "key=value" pairs. + "flags" is a list of strings. + + If flags is provided then it is used as a fallback. + + The values come from the launch config: + + { + type:'python', + request:'launch'|'attach', + name:'friendly name for debug config', + debugOptions:[ + 'RedirectOutput', 'Django' + ], + options:'REDIRECT_OUTPUT=True;DJANGO_DEBUG=True' + } + + Further information can be found here: + + https://code.visualstudio.com/docs/editor/debugging#_launchjson-attributes + """ + if not opts: + opts = _build_debug_options(flags) + return _parse_debug_options(opts) diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_net_command.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_net_command.py new file mode 100644 index 0000000..506f5fd --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_net_command.py @@ -0,0 +1,146 @@ +from _pydevd_bundle.pydevd_constants import DebugInfoHolder, \ + get_global_debugger, GetGlobalDebugger, set_global_debugger # Keep for backward compatibility @UnusedImport +from _pydevd_bundle.pydevd_utils import quote_smart as quote, to_string +from _pydevd_bundle.pydevd_comm_constants import ID_TO_MEANING, CMD_EXIT +from _pydevd_bundle.pydevd_constants import HTTP_PROTOCOL, HTTP_JSON_PROTOCOL, \ + get_protocol, IS_JYTHON, ForkSafeLock +import json +from _pydev_bundle import pydev_log + + +class _BaseNetCommand(object): + + # Command id. Should be set in instance. + id = -1 + + # Dict representation of the command to be set in instance. Only set for json commands. + as_dict = None + + def send(self, *args, **kwargs): + pass + + def call_after_send(self, callback): + pass + + +class _NullNetCommand(_BaseNetCommand): + pass + + +class _NullExitCommand(_NullNetCommand): + + id = CMD_EXIT + + +# Constant meant to be passed to the writer when the command is meant to be ignored. +NULL_NET_COMMAND = _NullNetCommand() + +# Exit command -- only internal (we don't want/need to send this to the IDE). +NULL_EXIT_COMMAND = _NullExitCommand() + + +class NetCommand(_BaseNetCommand): + """ + Commands received/sent over the network. + + Command can represent command received from the debugger, + or one to be sent by daemon. + """ + next_seq = 0 # sequence numbers + + _showing_debug_info = 0 + _show_debug_info_lock = ForkSafeLock(rlock=True) + + _after_send = None + + def __init__(self, cmd_id, seq, text, is_json=False): + """ + If sequence is 0, new sequence will be generated (otherwise, this was the response + to a command from the client). + """ + protocol = get_protocol() + self.id = cmd_id + if seq == 0: + NetCommand.next_seq += 2 + seq = NetCommand.next_seq + + self.seq = seq + + if is_json: + if hasattr(text, 'to_dict'): + as_dict = text.to_dict(update_ids_to_dap=True) + else: + assert isinstance(text, dict) + as_dict = text + as_dict['pydevd_cmd_id'] = cmd_id + as_dict['seq'] = seq + self.as_dict = as_dict + text = json.dumps(as_dict) + + assert isinstance(text, str) + + if DebugInfoHolder.DEBUG_TRACE_LEVEL >= 1: + self._show_debug_info(cmd_id, seq, text) + + if is_json: + msg = text + else: + if protocol not in (HTTP_PROTOCOL, HTTP_JSON_PROTOCOL): + encoded = quote(to_string(text), '/<>_=" \t') + msg = '%s\t%s\t%s\n' % (cmd_id, seq, encoded) + + else: + msg = '%s\t%s\t%s' % (cmd_id, seq, text) + + if isinstance(msg, str): + msg = msg.encode('utf-8') + + assert isinstance(msg, bytes) + as_bytes = msg + self._as_bytes = as_bytes + + def send(self, sock): + as_bytes = self._as_bytes + try: + if get_protocol() in (HTTP_PROTOCOL, HTTP_JSON_PROTOCOL): + sock.sendall(('Content-Length: %s\r\n\r\n' % len(as_bytes)).encode('ascii')) + sock.sendall(as_bytes) + if self._after_send: + for method in self._after_send: + method(sock) + except: + if IS_JYTHON: + # Ignore errors in sock.sendall in Jython (seems to be common for Jython to + # give spurious exceptions at interpreter shutdown here). + pass + else: + raise + + def call_after_send(self, callback): + if not self._after_send: + self._after_send = [callback] + else: + self._after_send.append(callback) + + @classmethod + def _show_debug_info(cls, cmd_id, seq, text): + with cls._show_debug_info_lock: + # Only one thread each time (rlock). + if cls._showing_debug_info: + # avoid recursing in the same thread (just printing could create + # a new command when redirecting output). + return + + cls._showing_debug_info += 1 + try: + out_message = 'sending cmd (%s) --> ' % (get_protocol(),) + out_message += "%20s" % ID_TO_MEANING.get(str(cmd_id), 'UNKNOWN') + out_message += ' ' + out_message += text.replace('\n', ' ') + try: + pydev_log.critical('%s\n', out_message) + except: + pass + finally: + cls._showing_debug_info -= 1 + diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_net_command_factory_json.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_net_command_factory_json.py new file mode 100644 index 0000000..a73b189 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_net_command_factory_json.py @@ -0,0 +1,474 @@ +from functools import partial +import itertools +import os +import sys +import socket as socket_module + +from _pydev_bundle._pydev_imports_tipper import TYPE_IMPORT, TYPE_CLASS, TYPE_FUNCTION, TYPE_ATTR, \ + TYPE_BUILTIN, TYPE_PARAM +from _pydev_bundle.pydev_is_thread_alive import is_thread_alive +from _pydev_bundle.pydev_override import overrides +from _pydevd_bundle._debug_adapter import pydevd_schema +from _pydevd_bundle._debug_adapter.pydevd_schema import ModuleEvent, ModuleEventBody, Module, \ + OutputEventBody, OutputEvent, ContinuedEventBody, ExitedEventBody, \ + ExitedEvent +from _pydevd_bundle.pydevd_comm_constants import CMD_THREAD_CREATE, CMD_RETURN, CMD_MODULE_EVENT, \ + CMD_WRITE_TO_CONSOLE, CMD_STEP_INTO, CMD_STEP_INTO_MY_CODE, CMD_STEP_OVER, CMD_STEP_OVER_MY_CODE, \ + CMD_STEP_RETURN, CMD_STEP_CAUGHT_EXCEPTION, CMD_ADD_EXCEPTION_BREAK, CMD_SET_BREAK, \ + CMD_SET_NEXT_STATEMENT, CMD_THREAD_SUSPEND_SINGLE_NOTIFICATION, \ + CMD_THREAD_RESUME_SINGLE_NOTIFICATION, CMD_THREAD_KILL, CMD_STOP_ON_START, CMD_INPUT_REQUESTED, \ + CMD_EXIT, CMD_STEP_INTO_COROUTINE, CMD_STEP_RETURN_MY_CODE, CMD_SMART_STEP_INTO, \ + CMD_SET_FUNCTION_BREAK +from _pydevd_bundle.pydevd_constants import get_thread_id, ForkSafeLock +from _pydevd_bundle.pydevd_net_command import NetCommand, NULL_NET_COMMAND +from _pydevd_bundle.pydevd_net_command_factory_xml import NetCommandFactory +from _pydevd_bundle.pydevd_utils import get_non_pydevd_threads +import pydevd_file_utils +from _pydevd_bundle.pydevd_comm import build_exception_info_response +from _pydevd_bundle.pydevd_additional_thread_info import set_additional_thread_info +from _pydevd_bundle import pydevd_frame_utils, pydevd_constants, pydevd_utils +import linecache +from _pydevd_bundle.pydevd_thread_lifecycle import pydevd_find_thread_by_id +from io import StringIO + + +class ModulesManager(object): + + def __init__(self): + self._lock = ForkSafeLock() + self._modules = {} + self._next_id = partial(next, itertools.count(0)) + + def track_module(self, filename_in_utf8, module_name, frame): + ''' + :return list(NetCommand): + Returns a list with the module events to be sent. + ''' + if filename_in_utf8 in self._modules: + return [] + + module_events = [] + with self._lock: + # Must check again after getting the lock. + if filename_in_utf8 in self._modules: + return + + try: + version = str(frame.f_globals.get('__version__', '')) + except: + version = '' + + try: + package_name = str(frame.f_globals.get('__package__', '')) + except: + package_name = '' + + module_id = self._next_id() + + module = Module(module_id, module_name, filename_in_utf8) + if version: + module.version = version + + if package_name: + # Note: package doesn't appear in the docs but seems to be expected? + module.kwargs['package'] = package_name + + module_event = ModuleEvent(ModuleEventBody('new', module)) + + module_events.append(NetCommand(CMD_MODULE_EVENT, 0, module_event, is_json=True)) + + self._modules[filename_in_utf8] = module.to_dict() + return module_events + + def get_modules_info(self): + ''' + :return list(Module) + ''' + with self._lock: + return list(self._modules.values()) + + +class NetCommandFactoryJson(NetCommandFactory): + ''' + Factory for commands which will provide messages as json (they should be + similar to the debug adapter where possible, although some differences + are currently Ok). + + Note that it currently overrides the xml version so that messages + can be done one at a time (any message not overridden will currently + use the xml version) -- after having all messages handled, it should + no longer use NetCommandFactory as the base class. + ''' + + def __init__(self): + NetCommandFactory.__init__(self) + self.modules_manager = ModulesManager() + + @overrides(NetCommandFactory.make_version_message) + def make_version_message(self, seq): + return NULL_NET_COMMAND # Not a part of the debug adapter protocol + + @overrides(NetCommandFactory.make_protocol_set_message) + def make_protocol_set_message(self, seq): + return NULL_NET_COMMAND # Not a part of the debug adapter protocol + + @overrides(NetCommandFactory.make_thread_created_message) + def make_thread_created_message(self, thread): + + # Note: the thread id for the debug adapter must be an int + # (make the actual id from get_thread_id respect that later on). + msg = pydevd_schema.ThreadEvent( + pydevd_schema.ThreadEventBody('started', get_thread_id(thread)), + ) + + return NetCommand(CMD_THREAD_CREATE, 0, msg, is_json=True) + + @overrides(NetCommandFactory.make_custom_frame_created_message) + def make_custom_frame_created_message(self, frame_id, frame_description): + self._additional_thread_id_to_thread_name[frame_id] = frame_description + msg = pydevd_schema.ThreadEvent( + pydevd_schema.ThreadEventBody('started', frame_id), + ) + + return NetCommand(CMD_THREAD_CREATE, 0, msg, is_json=True) + + @overrides(NetCommandFactory.make_thread_killed_message) + def make_thread_killed_message(self, tid): + self._additional_thread_id_to_thread_name.pop(tid, None) + msg = pydevd_schema.ThreadEvent( + pydevd_schema.ThreadEventBody('exited', tid), + ) + + return NetCommand(CMD_THREAD_KILL, 0, msg, is_json=True) + + @overrides(NetCommandFactory.make_list_threads_message) + def make_list_threads_message(self, py_db, seq): + threads = [] + for thread in get_non_pydevd_threads(): + if is_thread_alive(thread): + thread_id = get_thread_id(thread) + + # Notify that it's created (no-op if we already notified before). + py_db.notify_thread_created(thread_id, thread) + + thread_schema = pydevd_schema.Thread(id=thread_id, name=thread.name) + threads.append(thread_schema.to_dict()) + + for thread_id, thread_name in list(self._additional_thread_id_to_thread_name.items()): + thread_schema = pydevd_schema.Thread(id=thread_id, name=thread_name) + threads.append(thread_schema.to_dict()) + + body = pydevd_schema.ThreadsResponseBody(threads) + response = pydevd_schema.ThreadsResponse( + request_seq=seq, success=True, command='threads', body=body) + + return NetCommand(CMD_RETURN, 0, response, is_json=True) + + @overrides(NetCommandFactory.make_get_completions_message) + def make_get_completions_message(self, seq, completions, qualifier, start): + COMPLETION_TYPE_LOOK_UP = { + TYPE_IMPORT: pydevd_schema.CompletionItemType.MODULE, + TYPE_CLASS: pydevd_schema.CompletionItemType.CLASS, + TYPE_FUNCTION: pydevd_schema.CompletionItemType.FUNCTION, + TYPE_ATTR: pydevd_schema.CompletionItemType.FIELD, + TYPE_BUILTIN: pydevd_schema.CompletionItemType.KEYWORD, + TYPE_PARAM: pydevd_schema.CompletionItemType.VARIABLE, + } + + qualifier = qualifier.lower() + qualifier_len = len(qualifier) + targets = [] + for completion in completions: + label = completion[0] + if label.lower().startswith(qualifier): + completion = pydevd_schema.CompletionItem( + label=label, type=COMPLETION_TYPE_LOOK_UP[completion[3]], start=start, length=qualifier_len) + targets.append(completion.to_dict()) + + body = pydevd_schema.CompletionsResponseBody(targets) + response = pydevd_schema.CompletionsResponse( + request_seq=seq, success=True, command='completions', body=body) + return NetCommand(CMD_RETURN, 0, response, is_json=True) + + def _format_frame_name(self, fmt, initial_name, module_name, line, path): + if fmt is None: + return initial_name + frame_name = initial_name + if fmt.get('module', False): + if module_name: + if initial_name == '': + frame_name = module_name + else: + frame_name = '%s.%s' % (module_name, initial_name) + else: + basename = os.path.basename(path) + basename = basename[0:-3] if basename.lower().endswith('.py') else basename + if initial_name == '': + frame_name = '%s in %s' % (initial_name, basename) + else: + frame_name = '%s.%s' % (basename, initial_name) + + if fmt.get('line', False): + frame_name = '%s : %d' % (frame_name, line) + + return frame_name + + @overrides(NetCommandFactory.make_get_thread_stack_message) + def make_get_thread_stack_message(self, py_db, seq, thread_id, topmost_frame, fmt, must_be_suspended=False, start_frame=0, levels=0): + frames = [] + module_events = [] + + try: + # : :type suspended_frames_manager: SuspendedFramesManager + suspended_frames_manager = py_db.suspended_frames_manager + frames_list = suspended_frames_manager.get_frames_list(thread_id) + if frames_list is None: + # Could not find stack of suspended frame... + if must_be_suspended: + return None + else: + frames_list = pydevd_frame_utils.create_frames_list_from_frame(topmost_frame) + + for frame_id, frame, method_name, original_filename, filename_in_utf8, lineno, applied_mapping, show_as_current_frame in self._iter_visible_frames_info( + py_db, frames_list + ): + + try: + module_name = str(frame.f_globals.get('__name__', '')) + except: + module_name = '' + + module_events.extend(self.modules_manager.track_module(filename_in_utf8, module_name, frame)) + + presentation_hint = None + if not getattr(frame, 'IS_PLUGIN_FRAME', False): # Never filter out plugin frames! + if py_db.is_files_filter_enabled and py_db.apply_files_filter(frame, original_filename, False): + continue + + if not py_db.in_project_scope(frame): + presentation_hint = 'subtle' + + formatted_name = self._format_frame_name(fmt, method_name, module_name, lineno, filename_in_utf8) + if show_as_current_frame: + formatted_name += ' (Current frame)' + source_reference = pydevd_file_utils.get_client_filename_source_reference(filename_in_utf8) + + if not source_reference and not applied_mapping and not os.path.exists(original_filename): + if getattr(frame.f_code, 'co_lnotab', None): + # Create a source-reference to be used where we provide the source by decompiling the code. + # Note: When the time comes to retrieve the source reference in this case, we'll + # check the linecache first (see: get_decompiled_source_from_frame_id). + source_reference = pydevd_file_utils.create_source_reference_for_frame_id(frame_id, original_filename) + else: + # Check if someone added a source reference to the linecache (Python attrs does this). + if linecache.getline(original_filename, 1): + source_reference = pydevd_file_utils.create_source_reference_for_linecache( + original_filename) + + frames.append(pydevd_schema.StackFrame( + frame_id, formatted_name, lineno, column=1, source={ + 'path': filename_in_utf8, + 'sourceReference': source_reference, + }, + presentationHint=presentation_hint).to_dict()) + finally: + topmost_frame = None + + for module_event in module_events: + py_db.writer.add_command(module_event) + + total_frames = len(frames) + stack_frames = frames + if bool(levels): + start = start_frame + end = min(start + levels, total_frames) + stack_frames = frames[start:end] + + response = pydevd_schema.StackTraceResponse( + request_seq=seq, + success=True, + command='stackTrace', + body=pydevd_schema.StackTraceResponseBody(stackFrames=stack_frames, totalFrames=total_frames)) + return NetCommand(CMD_RETURN, 0, response, is_json=True) + + @overrides(NetCommandFactory.make_warning_message) + def make_warning_message(self, msg): + category = 'important' + body = OutputEventBody(msg, category) + event = OutputEvent(body) + return NetCommand(CMD_WRITE_TO_CONSOLE, 0, event, is_json=True) + + @overrides(NetCommandFactory.make_io_message) + def make_io_message(self, msg, ctx): + category = 'stdout' if int(ctx) == 1 else 'stderr' + body = OutputEventBody(msg, category) + event = OutputEvent(body) + return NetCommand(CMD_WRITE_TO_CONSOLE, 0, event, is_json=True) + + _STEP_REASONS = set([ + CMD_STEP_INTO, + CMD_STEP_INTO_MY_CODE, + CMD_STEP_OVER, + CMD_STEP_OVER_MY_CODE, + CMD_STEP_RETURN, + CMD_STEP_RETURN_MY_CODE, + CMD_STEP_INTO_MY_CODE, + CMD_STOP_ON_START, + CMD_STEP_INTO_COROUTINE, + CMD_SMART_STEP_INTO, + ]) + _EXCEPTION_REASONS = set([ + CMD_STEP_CAUGHT_EXCEPTION, + CMD_ADD_EXCEPTION_BREAK, + ]) + + @overrides(NetCommandFactory.make_thread_suspend_single_notification) + def make_thread_suspend_single_notification(self, py_db, thread_id, stop_reason): + exc_desc = None + exc_name = None + thread = pydevd_find_thread_by_id(thread_id) + info = set_additional_thread_info(thread) + + preserve_focus_hint = False + if stop_reason in self._STEP_REASONS: + if info.pydev_original_step_cmd == CMD_STOP_ON_START: + + # Just to make sure that's not set as the original reason anymore. + info.pydev_original_step_cmd = -1 + stop_reason = 'entry' + else: + stop_reason = 'step' + elif stop_reason in self._EXCEPTION_REASONS: + stop_reason = 'exception' + elif stop_reason == CMD_SET_BREAK: + stop_reason = 'breakpoint' + elif stop_reason == CMD_SET_FUNCTION_BREAK: + stop_reason = 'function breakpoint' + elif stop_reason == CMD_SET_NEXT_STATEMENT: + stop_reason = 'goto' + else: + stop_reason = 'pause' + preserve_focus_hint = True + + if stop_reason == 'exception': + exception_info_response = build_exception_info_response( + py_db, thread_id, -1, set_additional_thread_info, self._iter_visible_frames_info, max_frames=-1) + exception_info_response + + exc_name = exception_info_response.body.exceptionId + exc_desc = exception_info_response.body.description + + body = pydevd_schema.StoppedEventBody( + reason=stop_reason, + description=exc_desc, + threadId=thread_id, + text=exc_name, + allThreadsStopped=True, + preserveFocusHint=preserve_focus_hint, + ) + event = pydevd_schema.StoppedEvent(body) + return NetCommand(CMD_THREAD_SUSPEND_SINGLE_NOTIFICATION, 0, event, is_json=True) + + @overrides(NetCommandFactory.make_thread_resume_single_notification) + def make_thread_resume_single_notification(self, thread_id): + body = ContinuedEventBody(threadId=thread_id, allThreadsContinued=True) + event = pydevd_schema.ContinuedEvent(body) + return NetCommand(CMD_THREAD_RESUME_SINGLE_NOTIFICATION, 0, event, is_json=True) + + @overrides(NetCommandFactory.make_set_next_stmnt_status_message) + def make_set_next_stmnt_status_message(self, seq, is_success, exception_msg): + response = pydevd_schema.GotoResponse( + request_seq=int(seq), + success=is_success, + command='goto', + body={}, + message=(None if is_success else exception_msg)) + return NetCommand(CMD_RETURN, 0, response, is_json=True) + + @overrides(NetCommandFactory.make_send_curr_exception_trace_message) + def make_send_curr_exception_trace_message(self, *args, **kwargs): + return NULL_NET_COMMAND # Not a part of the debug adapter protocol + + @overrides(NetCommandFactory.make_send_curr_exception_trace_proceeded_message) + def make_send_curr_exception_trace_proceeded_message(self, *args, **kwargs): + return NULL_NET_COMMAND # Not a part of the debug adapter protocol + + @overrides(NetCommandFactory.make_send_breakpoint_exception_message) + def make_send_breakpoint_exception_message(self, *args, **kwargs): + return NULL_NET_COMMAND # Not a part of the debug adapter protocol + + @overrides(NetCommandFactory.make_process_created_message) + def make_process_created_message(self, *args, **kwargs): + return NULL_NET_COMMAND # Not a part of the debug adapter protocol + + @overrides(NetCommandFactory.make_process_about_to_be_replaced_message) + def make_process_about_to_be_replaced_message(self): + event = ExitedEvent(ExitedEventBody(-1, pydevdReason="processReplaced")) + + cmd = NetCommand(CMD_RETURN, 0, event, is_json=True) + + def after_send(socket): + socket.setsockopt(socket_module.IPPROTO_TCP, socket_module.TCP_NODELAY, 1) + + cmd.call_after_send(after_send) + return cmd + + @overrides(NetCommandFactory.make_thread_suspend_message) + def make_thread_suspend_message(self, *args, **kwargs): + return NULL_NET_COMMAND # Not a part of the debug adapter protocol + + @overrides(NetCommandFactory.make_thread_run_message) + def make_thread_run_message(self, *args, **kwargs): + return NULL_NET_COMMAND # Not a part of the debug adapter protocol + + @overrides(NetCommandFactory.make_reloaded_code_message) + def make_reloaded_code_message(self, *args, **kwargs): + return NULL_NET_COMMAND # Not a part of the debug adapter protocol + + @overrides(NetCommandFactory.make_input_requested_message) + def make_input_requested_message(self, started): + event = pydevd_schema.PydevdInputRequestedEvent(body={}) + return NetCommand(CMD_INPUT_REQUESTED, 0, event, is_json=True) + + @overrides(NetCommandFactory.make_skipped_step_in_because_of_filters) + def make_skipped_step_in_because_of_filters(self, py_db, frame): + msg = 'Frame skipped from debugging during step-in.' + if py_db.get_use_libraries_filter(): + msg += ('\nNote: may have been skipped because of "justMyCode" option (default == true). ' + 'Try setting \"justMyCode\": false in the debug configuration (e.g., launch.json).\n') + return self.make_warning_message(msg) + + @overrides(NetCommandFactory.make_evaluation_timeout_msg) + def make_evaluation_timeout_msg(self, py_db, expression, curr_thread): + msg = '''Evaluating: %s did not finish after %.2f seconds. +This may mean a number of things: +- This evaluation is really slow and this is expected. + In this case it's possible to silence this error by raising the timeout, setting the + PYDEVD_WARN_EVALUATION_TIMEOUT environment variable to a bigger value. + +- The evaluation may need other threads running while it's running: + In this case, it's possible to set the PYDEVD_UNBLOCK_THREADS_TIMEOUT + environment variable so that if after a given timeout an evaluation doesn't finish, + other threads are unblocked or you can manually resume all threads. + + Alternatively, it's also possible to skip breaking on a particular thread by setting a + `pydev_do_not_trace = True` attribute in the related threading.Thread instance + (if some thread should always be running and no breakpoints are expected to be hit in it). + +- The evaluation is deadlocked: + In this case you may set the PYDEVD_THREAD_DUMP_ON_WARN_EVALUATION_TIMEOUT + environment variable to true so that a thread dump is shown along with this message and + optionally, set the PYDEVD_INTERRUPT_THREAD_TIMEOUT to some value so that the debugger + tries to interrupt the evaluation (if possible) when this happens. +''' % (expression, pydevd_constants.PYDEVD_WARN_EVALUATION_TIMEOUT) + + if pydevd_constants.PYDEVD_THREAD_DUMP_ON_WARN_EVALUATION_TIMEOUT: + stream = StringIO() + pydevd_utils.dump_threads(stream, show_pydevd_threads=False) + msg += '\n\n%s\n' % stream.getvalue() + return self.make_warning_message(msg) + + @overrides(NetCommandFactory.make_exit_command) + def make_exit_command(self, py_db): + event = pydevd_schema.TerminatedEvent(pydevd_schema.TerminatedEventBody()) + return NetCommand(CMD_EXIT, 0, event, is_json=True) diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_net_command_factory_xml.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_net_command_factory_xml.py new file mode 100644 index 0000000..072ba98 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_net_command_factory_xml.py @@ -0,0 +1,493 @@ +import json + +from _pydev_bundle.pydev_is_thread_alive import is_thread_alive +from _pydev_bundle._pydev_saved_modules import thread +from _pydevd_bundle import pydevd_xml, pydevd_frame_utils, pydevd_constants, pydevd_utils +from _pydevd_bundle.pydevd_comm_constants import ( + CMD_THREAD_CREATE, CMD_THREAD_KILL, CMD_THREAD_SUSPEND, CMD_THREAD_RUN, CMD_GET_VARIABLE, + CMD_EVALUATE_EXPRESSION, CMD_GET_FRAME, CMD_WRITE_TO_CONSOLE, CMD_GET_COMPLETIONS, + CMD_LOAD_SOURCE, CMD_SET_NEXT_STATEMENT, CMD_EXIT, CMD_GET_FILE_CONTENTS, + CMD_EVALUATE_CONSOLE_EXPRESSION, CMD_RUN_CUSTOM_OPERATION, + CMD_GET_BREAKPOINT_EXCEPTION, CMD_SEND_CURR_EXCEPTION_TRACE, + CMD_SEND_CURR_EXCEPTION_TRACE_PROCEEDED, CMD_SHOW_CONSOLE, CMD_GET_ARRAY, + CMD_INPUT_REQUESTED, CMD_GET_DESCRIPTION, CMD_PROCESS_CREATED, + CMD_SHOW_CYTHON_WARNING, CMD_LOAD_FULL_VALUE, CMD_GET_THREAD_STACK, + CMD_GET_EXCEPTION_DETAILS, CMD_THREAD_SUSPEND_SINGLE_NOTIFICATION, + CMD_THREAD_RESUME_SINGLE_NOTIFICATION, + CMD_GET_NEXT_STATEMENT_TARGETS, CMD_VERSION, + CMD_RETURN, CMD_SET_PROTOCOL, CMD_ERROR, MAX_IO_MSG_SIZE, VERSION_STRING, + CMD_RELOAD_CODE, CMD_LOAD_SOURCE_FROM_FRAME_ID) +from _pydevd_bundle.pydevd_constants import (DebugInfoHolder, get_thread_id, + get_global_debugger, GetGlobalDebugger, set_global_debugger) # Keep for backward compatibility @UnusedImport +from _pydevd_bundle.pydevd_net_command import NetCommand, NULL_NET_COMMAND, NULL_EXIT_COMMAND +from _pydevd_bundle.pydevd_utils import quote_smart as quote, get_non_pydevd_threads +from pydevd_file_utils import get_abs_path_real_path_and_base_from_frame +import pydevd_file_utils +from pydevd_tracing import get_exception_traceback_str +from _pydev_bundle._pydev_completer import completions_to_xml +from _pydev_bundle import pydev_log +from _pydevd_bundle.pydevd_frame_utils import FramesList +from io import StringIO + + +#======================================================================================================================= +# NetCommandFactory +#======================================================================================================================= +class NetCommandFactory(object): + + def __init__(self): + self._additional_thread_id_to_thread_name = {} + + def _thread_to_xml(self, thread): + """ thread information as XML """ + name = pydevd_xml.make_valid_xml_value(thread.name) + cmd_text = '' % (quote(name), get_thread_id(thread)) + return cmd_text + + def make_error_message(self, seq, text): + cmd = NetCommand(CMD_ERROR, seq, text) + if DebugInfoHolder.DEBUG_TRACE_LEVEL > 2: + pydev_log.error("Error: %s" % (text,)) + return cmd + + def make_protocol_set_message(self, seq): + return NetCommand(CMD_SET_PROTOCOL, seq, '') + + def make_thread_created_message(self, thread): + cmdText = "" + self._thread_to_xml(thread) + "" + return NetCommand(CMD_THREAD_CREATE, 0, cmdText) + + def make_process_created_message(self): + cmdText = '' + return NetCommand(CMD_PROCESS_CREATED, 0, cmdText) + + def make_process_about_to_be_replaced_message(self): + return NULL_NET_COMMAND + + def make_show_cython_warning_message(self): + try: + return NetCommand(CMD_SHOW_CYTHON_WARNING, 0, '') + except: + return self.make_error_message(0, get_exception_traceback_str()) + + def make_custom_frame_created_message(self, frame_id, frame_description): + self._additional_thread_id_to_thread_name[frame_id] = frame_description + frame_description = pydevd_xml.make_valid_xml_value(frame_description) + return NetCommand(CMD_THREAD_CREATE, 0, '' % (frame_description, frame_id)) + + def make_list_threads_message(self, py_db, seq): + """ returns thread listing as XML """ + try: + threads = get_non_pydevd_threads() + cmd_text = [""] + append = cmd_text.append + for thread in threads: + if is_thread_alive(thread): + append(self._thread_to_xml(thread)) + + for thread_id, thread_name in list(self._additional_thread_id_to_thread_name.items()): + name = pydevd_xml.make_valid_xml_value(thread_name) + append('' % (quote(name), thread_id)) + + append("") + return NetCommand(CMD_RETURN, seq, ''.join(cmd_text)) + except: + return self.make_error_message(seq, get_exception_traceback_str()) + + def make_get_thread_stack_message(self, py_db, seq, thread_id, topmost_frame, fmt, must_be_suspended=False, start_frame=0, levels=0): + """ + Returns thread stack as XML. + + :param must_be_suspended: If True and the thread is not suspended, returns None. + """ + try: + # If frame is None, the return is an empty frame list. + cmd_text = ['' % (thread_id,)] + + if topmost_frame is not None: + try: + # : :type suspended_frames_manager: SuspendedFramesManager + suspended_frames_manager = py_db.suspended_frames_manager + frames_list = suspended_frames_manager.get_frames_list(thread_id) + if frames_list is None: + # Could not find stack of suspended frame... + if must_be_suspended: + return None + else: + frames_list = pydevd_frame_utils.create_frames_list_from_frame(topmost_frame) + + cmd_text.append(self.make_thread_stack_str(py_db, frames_list)) + finally: + topmost_frame = None + cmd_text.append('') + return NetCommand(CMD_GET_THREAD_STACK, seq, ''.join(cmd_text)) + except: + return self.make_error_message(seq, get_exception_traceback_str()) + + def make_variable_changed_message(self, seq, payload): + # notify debugger that value was changed successfully + return NetCommand(CMD_RETURN, seq, payload) + + def make_warning_message(self, msg): + return self.make_io_message(msg, 2) + + def make_io_message(self, msg, ctx): + ''' + @param msg: the message to pass to the debug server + @param ctx: 1 for stdio 2 for stderr + ''' + try: + msg = pydevd_constants.as_str(msg) + + if len(msg) > MAX_IO_MSG_SIZE: + msg = msg[0:MAX_IO_MSG_SIZE] + msg += '...' + + msg = pydevd_xml.make_valid_xml_value(quote(msg, '/>_= ')) + return NetCommand(str(CMD_WRITE_TO_CONSOLE), 0, '' % (msg, ctx)) + except: + return self.make_error_message(0, get_exception_traceback_str()) + + def make_version_message(self, seq): + try: + return NetCommand(CMD_VERSION, seq, VERSION_STRING) + except: + return self.make_error_message(seq, get_exception_traceback_str()) + + def make_thread_killed_message(self, tid): + self._additional_thread_id_to_thread_name.pop(tid, None) + try: + return NetCommand(CMD_THREAD_KILL, 0, str(tid)) + except: + return self.make_error_message(0, get_exception_traceback_str()) + + def _iter_visible_frames_info(self, py_db, frames_list): + assert frames_list.__class__ == FramesList + for frame in frames_list: + show_as_current_frame = frame is frames_list.current_frame + if frame.f_code is None: + pydev_log.info('Frame without f_code: %s', frame) + continue # IronPython sometimes does not have it! + + method_name = frame.f_code.co_name # method name (if in method) or ? if global + if method_name is None: + pydev_log.info('Frame without co_name: %s', frame) + continue # IronPython sometimes does not have it! + + abs_path_real_path_and_base = get_abs_path_real_path_and_base_from_frame(frame) + if py_db.get_file_type(frame, abs_path_real_path_and_base) == py_db.PYDEV_FILE: + # Skip pydevd files. + frame = frame.f_back + continue + + frame_id = id(frame) + lineno = frames_list.frame_id_to_lineno.get(frame_id, frame.f_lineno) + + filename_in_utf8, lineno, changed = py_db.source_mapping.map_to_client(abs_path_real_path_and_base[0], lineno) + new_filename_in_utf8, applied_mapping = pydevd_file_utils.map_file_to_client(filename_in_utf8) + applied_mapping = applied_mapping or changed + + yield frame_id, frame, method_name, abs_path_real_path_and_base[0], new_filename_in_utf8, lineno, applied_mapping, show_as_current_frame + + def make_thread_stack_str(self, py_db, frames_list): + assert frames_list.__class__ == FramesList + make_valid_xml_value = pydevd_xml.make_valid_xml_value + cmd_text_list = [] + append = cmd_text_list.append + + try: + for frame_id, frame, method_name, _original_filename, filename_in_utf8, lineno, _applied_mapping, _show_as_current_frame in self._iter_visible_frames_info( + py_db, frames_list + ): + + # print("file is ", filename_in_utf8) + # print("line is ", lineno) + + # Note: variables are all gotten 'on-demand'. + append('' % (quote(make_valid_xml_value(filename_in_utf8), '/>_= \t'), lineno)) + append("") + except: + pydev_log.exception() + + return ''.join(cmd_text_list) + + def make_thread_suspend_str( + self, + py_db, + thread_id, + frames_list, + stop_reason=None, + message=None, + suspend_type="trace", + ): + """ + :return tuple(str,str): + Returns tuple(thread_suspended_str, thread_stack_str). + + i.e.: + ( + ''' + + + + + + + ''' + , + ''' + + + ''' + ) + """ + assert frames_list.__class__ == FramesList + make_valid_xml_value = pydevd_xml.make_valid_xml_value + cmd_text_list = [] + append = cmd_text_list.append + + cmd_text_list.append('') + if message: + message = make_valid_xml_value(message) + + append('') + thread_stack_str = self.make_thread_stack_str(py_db, frames_list) + append(thread_stack_str) + append("") + + return ''.join(cmd_text_list), thread_stack_str + + def make_thread_suspend_message(self, py_db, thread_id, frames_list, stop_reason, message, suspend_type): + try: + thread_suspend_str, thread_stack_str = self.make_thread_suspend_str( + py_db, thread_id, frames_list, stop_reason, message, suspend_type) + cmd = NetCommand(CMD_THREAD_SUSPEND, 0, thread_suspend_str) + cmd.thread_stack_str = thread_stack_str + cmd.thread_suspend_str = thread_suspend_str + return cmd + except: + return self.make_error_message(0, get_exception_traceback_str()) + + def make_thread_suspend_single_notification(self, py_db, thread_id, stop_reason): + try: + return NetCommand(CMD_THREAD_SUSPEND_SINGLE_NOTIFICATION, 0, json.dumps( + {'thread_id': thread_id, 'stop_reason':stop_reason})) + except: + return self.make_error_message(0, get_exception_traceback_str()) + + def make_thread_resume_single_notification(self, thread_id): + try: + return NetCommand(CMD_THREAD_RESUME_SINGLE_NOTIFICATION, 0, json.dumps( + {'thread_id': thread_id})) + except: + return self.make_error_message(0, get_exception_traceback_str()) + + def make_thread_run_message(self, thread_id, reason): + try: + return NetCommand(CMD_THREAD_RUN, 0, "%s\t%s" % (thread_id, reason)) + except: + return self.make_error_message(0, get_exception_traceback_str()) + + def make_get_variable_message(self, seq, payload): + try: + return NetCommand(CMD_GET_VARIABLE, seq, payload) + except Exception: + return self.make_error_message(seq, get_exception_traceback_str()) + + def make_get_array_message(self, seq, payload): + try: + return NetCommand(CMD_GET_ARRAY, seq, payload) + except Exception: + return self.make_error_message(seq, get_exception_traceback_str()) + + def make_get_description_message(self, seq, payload): + try: + return NetCommand(CMD_GET_DESCRIPTION, seq, payload) + except Exception: + return self.make_error_message(seq, get_exception_traceback_str()) + + def make_get_frame_message(self, seq, payload): + try: + return NetCommand(CMD_GET_FRAME, seq, payload) + except Exception: + return self.make_error_message(seq, get_exception_traceback_str()) + + def make_evaluate_expression_message(self, seq, payload): + try: + return NetCommand(CMD_EVALUATE_EXPRESSION, seq, payload) + except Exception: + return self.make_error_message(seq, get_exception_traceback_str()) + + def make_get_completions_message(self, seq, completions, qualifier, start): + try: + payload = completions_to_xml(completions) + return NetCommand(CMD_GET_COMPLETIONS, seq, payload) + except Exception: + return self.make_error_message(seq, get_exception_traceback_str()) + + def make_get_file_contents(self, seq, payload): + try: + return NetCommand(CMD_GET_FILE_CONTENTS, seq, payload) + except Exception: + return self.make_error_message(seq, get_exception_traceback_str()) + + def make_reloaded_code_message(self, seq, reloaded_ok): + try: + return NetCommand(CMD_RELOAD_CODE, seq, '' % reloaded_ok) + except Exception: + return self.make_error_message(seq, get_exception_traceback_str()) + + def make_send_breakpoint_exception_message(self, seq, payload): + try: + return NetCommand(CMD_GET_BREAKPOINT_EXCEPTION, seq, payload) + except Exception: + return self.make_error_message(seq, get_exception_traceback_str()) + + def _make_send_curr_exception_trace_str(self, py_db, thread_id, exc_type, exc_desc, trace_obj): + frames_list = pydevd_frame_utils.create_frames_list_from_traceback(trace_obj, None, exc_type, exc_desc) + + exc_type = pydevd_xml.make_valid_xml_value(str(exc_type)).replace('\t', ' ') or 'exception: type unknown' + exc_desc = pydevd_xml.make_valid_xml_value(str(exc_desc)).replace('\t', ' ') or 'exception: no description' + + thread_suspend_str, thread_stack_str = self.make_thread_suspend_str( + py_db, thread_id, frames_list, CMD_SEND_CURR_EXCEPTION_TRACE, '') + return exc_type, exc_desc, thread_suspend_str, thread_stack_str + + def make_send_curr_exception_trace_message(self, py_db, seq, thread_id, curr_frame_id, exc_type, exc_desc, trace_obj): + try: + exc_type, exc_desc, thread_suspend_str, _thread_stack_str = self._make_send_curr_exception_trace_str( + py_db, thread_id, exc_type, exc_desc, trace_obj) + payload = str(curr_frame_id) + '\t' + exc_type + "\t" + exc_desc + "\t" + thread_suspend_str + return NetCommand(CMD_SEND_CURR_EXCEPTION_TRACE, seq, payload) + except Exception: + return self.make_error_message(seq, get_exception_traceback_str()) + + def make_get_exception_details_message(self, py_db, seq, thread_id, topmost_frame): + """Returns exception details as XML """ + try: + # If the debugger is not suspended, just return the thread and its id. + cmd_text = ['') + cmd_text.append(thread_stack_str) + break + frame = frame.f_back + else: + cmd_text.append('>') + finally: + frame = None + cmd_text.append('') + return NetCommand(CMD_GET_EXCEPTION_DETAILS, seq, ''.join(cmd_text)) + except: + return self.make_error_message(seq, get_exception_traceback_str()) + + def make_send_curr_exception_trace_proceeded_message(self, seq, thread_id): + try: + return NetCommand(CMD_SEND_CURR_EXCEPTION_TRACE_PROCEEDED, 0, str(thread_id)) + except: + return self.make_error_message(0, get_exception_traceback_str()) + + def make_send_console_message(self, seq, payload): + try: + return NetCommand(CMD_EVALUATE_CONSOLE_EXPRESSION, seq, payload) + except Exception: + return self.make_error_message(seq, get_exception_traceback_str()) + + def make_custom_operation_message(self, seq, payload): + try: + return NetCommand(CMD_RUN_CUSTOM_OPERATION, seq, payload) + except Exception: + return self.make_error_message(seq, get_exception_traceback_str()) + + def make_load_source_message(self, seq, source): + return NetCommand(CMD_LOAD_SOURCE, seq, source) + + def make_load_source_from_frame_id_message(self, seq, source): + return NetCommand(CMD_LOAD_SOURCE_FROM_FRAME_ID, seq, source) + + def make_show_console_message(self, py_db, thread_id, frame): + try: + frames_list = pydevd_frame_utils.create_frames_list_from_frame(frame) + thread_suspended_str, _thread_stack_str = self.make_thread_suspend_str( + py_db, thread_id, frames_list, CMD_SHOW_CONSOLE, '') + return NetCommand(CMD_SHOW_CONSOLE, 0, thread_suspended_str) + except: + return self.make_error_message(0, get_exception_traceback_str()) + + def make_input_requested_message(self, started): + try: + return NetCommand(CMD_INPUT_REQUESTED, 0, str(started)) + except: + return self.make_error_message(0, get_exception_traceback_str()) + + def make_set_next_stmnt_status_message(self, seq, is_success, exception_msg): + try: + message = str(is_success) + '\t' + exception_msg + return NetCommand(CMD_SET_NEXT_STATEMENT, int(seq), message) + except: + return self.make_error_message(0, get_exception_traceback_str()) + + def make_load_full_value_message(self, seq, payload): + try: + return NetCommand(CMD_LOAD_FULL_VALUE, seq, payload) + except Exception: + return self.make_error_message(seq, get_exception_traceback_str()) + + def make_get_next_statement_targets_message(self, seq, payload): + try: + return NetCommand(CMD_GET_NEXT_STATEMENT_TARGETS, seq, payload) + except Exception: + return self.make_error_message(seq, get_exception_traceback_str()) + + def make_skipped_step_in_because_of_filters(self, py_db, frame): + return NULL_NET_COMMAND # Not a part of the xml protocol + + def make_evaluation_timeout_msg(self, py_db, expression, thread): + msg = '''pydevd: Evaluating: %s did not finish after %.2f seconds. +This may mean a number of things: +- This evaluation is really slow and this is expected. + In this case it's possible to silence this error by raising the timeout, setting the + PYDEVD_WARN_EVALUATION_TIMEOUT environment variable to a bigger value. + +- The evaluation may need other threads running while it's running: + In this case, you may need to manually let other paused threads continue. + + Alternatively, it's also possible to skip breaking on a particular thread by setting a + `pydev_do_not_trace = True` attribute in the related threading.Thread instance + (if some thread should always be running and no breakpoints are expected to be hit in it). + +- The evaluation is deadlocked: + In this case you may set the PYDEVD_THREAD_DUMP_ON_WARN_EVALUATION_TIMEOUT + environment variable to true so that a thread dump is shown along with this message and + optionally, set the PYDEVD_INTERRUPT_THREAD_TIMEOUT to some value so that the debugger + tries to interrupt the evaluation (if possible) when this happens. +''' % (expression, pydevd_constants.PYDEVD_WARN_EVALUATION_TIMEOUT) + + if pydevd_constants.PYDEVD_THREAD_DUMP_ON_WARN_EVALUATION_TIMEOUT: + stream = StringIO() + pydevd_utils.dump_threads(stream, show_pydevd_threads=False) + msg += '\n\n%s\n' % stream.getvalue() + return self.make_warning_message(msg) + + def make_exit_command(self, py_db): + return NULL_EXIT_COMMAND diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_plugin_utils.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_plugin_utils.py new file mode 120000 index 0000000..c1d5713 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_plugin_utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e5/ac/c8/b753067ed2b007b639613b6f18f0bd6a042def1336df38ef2aa1a37a28 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_process_net_command.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_process_net_command.py new file mode 100644 index 0000000..e3afdcd --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_process_net_command.py @@ -0,0 +1,757 @@ +import json +import os +import sys +import traceback + +from _pydev_bundle import pydev_log +from _pydev_bundle.pydev_log import exception as pydev_log_exception +from _pydevd_bundle import pydevd_traceproperty, pydevd_dont_trace, pydevd_utils +from _pydevd_bundle.pydevd_additional_thread_info import set_additional_thread_info +from _pydevd_bundle.pydevd_breakpoints import get_exception_class +from _pydevd_bundle.pydevd_comm import ( + InternalEvaluateConsoleExpression, InternalConsoleGetCompletions, InternalRunCustomOperation, + internal_get_next_statement_targets, internal_get_smart_step_into_variants) +from _pydevd_bundle.pydevd_constants import NEXT_VALUE_SEPARATOR, IS_WINDOWS, NULL +from _pydevd_bundle.pydevd_comm_constants import ID_TO_MEANING, CMD_EXEC_EXPRESSION, CMD_AUTHENTICATE +from _pydevd_bundle.pydevd_api import PyDevdAPI +from io import StringIO +from _pydevd_bundle.pydevd_net_command import NetCommand +from _pydevd_bundle.pydevd_thread_lifecycle import pydevd_find_thread_by_id +import pydevd_file_utils + + +class _PyDevCommandProcessor(object): + + def __init__(self): + self.api = PyDevdAPI() + + def process_net_command(self, py_db, cmd_id, seq, text): + '''Processes a command received from the Java side + + @param cmd_id: the id of the command + @param seq: the sequence of the command + @param text: the text received in the command + ''' + + # We can only proceed if the client is already authenticated or if it's the + # command to authenticate. + if cmd_id != CMD_AUTHENTICATE and not py_db.authentication.is_authenticated(): + cmd = py_db.cmd_factory.make_error_message(seq, 'Client not authenticated.') + py_db.writer.add_command(cmd) + return + + meaning = ID_TO_MEANING[str(cmd_id)] + + # print('Handling %s (%s)' % (meaning, text)) + + method_name = meaning.lower() + + on_command = getattr(self, method_name.lower(), None) + if on_command is None: + # I have no idea what this is all about + cmd = py_db.cmd_factory.make_error_message(seq, "unexpected command " + str(cmd_id)) + py_db.writer.add_command(cmd) + return + + lock = py_db._main_lock + if method_name == 'cmd_thread_dump_to_stderr': + # We can skip the main debugger locks for cases where we know it's not needed. + lock = NULL + + with lock: + try: + cmd = on_command(py_db, cmd_id, seq, text) + if cmd is not None: + py_db.writer.add_command(cmd) + except: + if traceback is not None and sys is not None and pydev_log_exception is not None: + pydev_log_exception() + + stream = StringIO() + traceback.print_exc(file=stream) + cmd = py_db.cmd_factory.make_error_message( + seq, + "Unexpected exception in process_net_command.\nInitial params: %s. Exception: %s" % ( + ((cmd_id, seq, text), stream.getvalue()) + ) + ) + if cmd is not None: + py_db.writer.add_command(cmd) + + def cmd_authenticate(self, py_db, cmd_id, seq, text): + access_token = text + py_db.authentication.login(access_token) + if py_db.authentication.is_authenticated(): + return NetCommand(cmd_id, seq, py_db.authentication.client_access_token) + + return py_db.cmd_factory.make_error_message(seq, 'Client not authenticated.') + + def cmd_run(self, py_db, cmd_id, seq, text): + return self.api.run(py_db) + + def cmd_list_threads(self, py_db, cmd_id, seq, text): + return self.api.list_threads(py_db, seq) + + def cmd_get_completions(self, py_db, cmd_id, seq, text): + # we received some command to get a variable + # the text is: thread_id\tframe_id\tactivation token + thread_id, frame_id, _scope, act_tok = text.split('\t', 3) + + return self.api.request_completions(py_db, seq, thread_id, frame_id, act_tok) + + def cmd_get_thread_stack(self, py_db, cmd_id, seq, text): + # Receives a thread_id and a given timeout, which is the time we should + # wait to the provide the stack if a given thread is still not suspended. + if '\t' in text: + thread_id, timeout = text.split('\t') + timeout = float(timeout) + else: + thread_id = text + timeout = .5 # Default timeout is .5 seconds + + return self.api.request_stack(py_db, seq, thread_id, fmt={}, timeout=timeout) + + def cmd_set_protocol(self, py_db, cmd_id, seq, text): + return self.api.set_protocol(py_db, seq, text.strip()) + + def cmd_thread_suspend(self, py_db, cmd_id, seq, text): + return self.api.request_suspend_thread(py_db, text.strip()) + + def cmd_version(self, py_db, cmd_id, seq, text): + # Default based on server process (although ideally the IDE should + # provide it). + if IS_WINDOWS: + ide_os = 'WINDOWS' + else: + ide_os = 'UNIX' + + # Breakpoints can be grouped by 'LINE' or by 'ID'. + breakpoints_by = 'LINE' + + splitted = text.split('\t') + if len(splitted) == 1: + _local_version = splitted + + elif len(splitted) == 2: + _local_version, ide_os = splitted + + elif len(splitted) == 3: + _local_version, ide_os, breakpoints_by = splitted + + version_msg = self.api.set_ide_os_and_breakpoints_by(py_db, seq, ide_os, breakpoints_by) + + # Enable thread notifications after the version command is completed. + self.api.set_enable_thread_notifications(py_db, True) + + return version_msg + + def cmd_thread_run(self, py_db, cmd_id, seq, text): + return self.api.request_resume_thread(text.strip()) + + def _cmd_step(self, py_db, cmd_id, seq, text): + return self.api.request_step(py_db, text.strip(), cmd_id) + + cmd_step_into = _cmd_step + cmd_step_into_my_code = _cmd_step + cmd_step_over = _cmd_step + cmd_step_over_my_code = _cmd_step + cmd_step_return = _cmd_step + cmd_step_return_my_code = _cmd_step + + def _cmd_set_next(self, py_db, cmd_id, seq, text): + thread_id, line, func_name = text.split('\t', 2) + return self.api.request_set_next(py_db, seq, thread_id, cmd_id, None, line, func_name) + + cmd_run_to_line = _cmd_set_next + cmd_set_next_statement = _cmd_set_next + + def cmd_smart_step_into(self, py_db, cmd_id, seq, text): + thread_id, line_or_bytecode_offset, func_name = text.split('\t', 2) + if line_or_bytecode_offset.startswith('offset='): + # In this case we request the smart step into to stop given the parent frame + # and the location of the parent frame bytecode offset and not just the func_name + # (this implies that `CMD_GET_SMART_STEP_INTO_VARIANTS` was previously used + # to know what are the valid stop points). + + temp = line_or_bytecode_offset[len('offset='):] + if ';' in temp: + offset, child_offset = temp.split(';') + offset = int(offset) + child_offset = int(child_offset) + else: + child_offset = -1 + offset = int(temp) + return self.api.request_smart_step_into(py_db, seq, thread_id, offset, child_offset) + else: + # If the offset wasn't passed, just use the line/func_name to do the stop. + return self.api.request_smart_step_into_by_func_name(py_db, seq, thread_id, line_or_bytecode_offset, func_name) + + def cmd_reload_code(self, py_db, cmd_id, seq, text): + text = text.strip() + if '\t' not in text: + module_name = text.strip() + filename = None + else: + module_name, filename = text.split('\t', 1) + self.api.request_reload_code(py_db, seq, module_name, filename) + + def cmd_change_variable(self, py_db, cmd_id, seq, text): + # the text is: thread\tstackframe\tFRAME|GLOBAL\tattribute_to_change\tvalue_to_change + thread_id, frame_id, scope, attr_and_value = text.split('\t', 3) + + tab_index = attr_and_value.rindex('\t') + attr = attr_and_value[0:tab_index].replace('\t', '.') + value = attr_and_value[tab_index + 1:] + self.api.request_change_variable(py_db, seq, thread_id, frame_id, scope, attr, value) + + def cmd_get_variable(self, py_db, cmd_id, seq, text): + # we received some command to get a variable + # the text is: thread_id\tframe_id\tFRAME|GLOBAL\tattributes* + thread_id, frame_id, scopeattrs = text.split('\t', 2) + + if scopeattrs.find('\t') != -1: # there are attributes beyond scope + scope, attrs = scopeattrs.split('\t', 1) + else: + scope, attrs = (scopeattrs, None) + + self.api.request_get_variable(py_db, seq, thread_id, frame_id, scope, attrs) + + def cmd_get_array(self, py_db, cmd_id, seq, text): + # Note: untested and unused in pydev + # we received some command to get an array variable + # the text is: thread_id\tframe_id\tFRAME|GLOBAL\tname\ttemp\troffs\tcoffs\trows\tcols\tformat + roffset, coffset, rows, cols, format, thread_id, frame_id, scopeattrs = text.split('\t', 7) + + if scopeattrs.find('\t') != -1: # there are attributes beyond scope + scope, attrs = scopeattrs.split('\t', 1) + else: + scope, attrs = (scopeattrs, None) + + self.api.request_get_array(py_db, seq, roffset, coffset, rows, cols, format, thread_id, frame_id, scope, attrs) + + def cmd_show_return_values(self, py_db, cmd_id, seq, text): + show_return_values = text.split('\t')[1] + self.api.set_show_return_values(py_db, int(show_return_values) == 1) + + def cmd_load_full_value(self, py_db, cmd_id, seq, text): + # Note: untested and unused in pydev + thread_id, frame_id, scopeattrs = text.split('\t', 2) + vars = scopeattrs.split(NEXT_VALUE_SEPARATOR) + + self.api.request_load_full_value(py_db, seq, thread_id, frame_id, vars) + + def cmd_get_description(self, py_db, cmd_id, seq, text): + # Note: untested and unused in pydev + thread_id, frame_id, expression = text.split('\t', 2) + self.api.request_get_description(py_db, seq, thread_id, frame_id, expression) + + def cmd_get_frame(self, py_db, cmd_id, seq, text): + thread_id, frame_id, scope = text.split('\t', 2) + self.api.request_get_frame(py_db, seq, thread_id, frame_id) + + def cmd_set_break(self, py_db, cmd_id, seq, text): + # func name: 'None': match anything. Empty: match global, specified: only method context. + # command to add some breakpoint. + # text is filename\tline. Add to breakpoints dictionary + suspend_policy = u"NONE" # Can be 'NONE' or 'ALL' + is_logpoint = False + hit_condition = None + if py_db._set_breakpoints_with_id: + try: + try: + breakpoint_id, btype, filename, line, func_name, condition, expression, hit_condition, is_logpoint, suspend_policy = text.split(u'\t', 9) + except ValueError: # not enough values to unpack + # No suspend_policy passed (use default). + breakpoint_id, btype, filename, line, func_name, condition, expression, hit_condition, is_logpoint = text.split(u'\t', 8) + is_logpoint = is_logpoint == u'True' + except ValueError: # not enough values to unpack + breakpoint_id, btype, filename, line, func_name, condition, expression = text.split(u'\t', 6) + + breakpoint_id = int(breakpoint_id) + line = int(line) + + # We must restore new lines and tabs as done in + # AbstractDebugTarget.breakpointAdded + condition = condition.replace(u"@_@NEW_LINE_CHAR@_@", u'\n').\ + replace(u"@_@TAB_CHAR@_@", u'\t').strip() + + expression = expression.replace(u"@_@NEW_LINE_CHAR@_@", u'\n').\ + replace(u"@_@TAB_CHAR@_@", u'\t').strip() + else: + # Note: this else should be removed after PyCharm migrates to setting + # breakpoints by id (and ideally also provides func_name). + btype, filename, line, func_name, suspend_policy, condition, expression = text.split(u'\t', 6) + # If we don't have an id given for each breakpoint, consider + # the id to be the line. + breakpoint_id = line = int(line) + + condition = condition.replace(u"@_@NEW_LINE_CHAR@_@", u'\n'). \ + replace(u"@_@TAB_CHAR@_@", u'\t').strip() + + expression = expression.replace(u"@_@NEW_LINE_CHAR@_@", u'\n'). \ + replace(u"@_@TAB_CHAR@_@", u'\t').strip() + + if condition is not None and (len(condition) <= 0 or condition == u"None"): + condition = None + + if expression is not None and (len(expression) <= 0 or expression == u"None"): + expression = None + + if hit_condition is not None and (len(hit_condition) <= 0 or hit_condition == u"None"): + hit_condition = None + + def on_changed_breakpoint_state(breakpoint_id, add_breakpoint_result): + error_code = add_breakpoint_result.error_code + + translated_line = add_breakpoint_result.translated_line + translated_filename = add_breakpoint_result.translated_filename + msg = '' + if error_code: + + if error_code == self.api.ADD_BREAKPOINT_FILE_NOT_FOUND: + msg = 'pydev debugger: Trying to add breakpoint to file that does not exist: %s (will have no effect).\n' % (translated_filename,) + + elif error_code == self.api.ADD_BREAKPOINT_FILE_EXCLUDED_BY_FILTERS: + msg = 'pydev debugger: Trying to add breakpoint to file that is excluded by filters: %s (will have no effect).\n' % (translated_filename,) + + elif error_code == self.api.ADD_BREAKPOINT_LAZY_VALIDATION: + msg = '' # Ignore this here (if/when loaded, it'll call on_changed_breakpoint_state again accordingly). + + elif error_code == self.api.ADD_BREAKPOINT_INVALID_LINE: + msg = 'pydev debugger: Trying to add breakpoint to line (%s) that is not valid in: %s.\n' % (translated_line, translated_filename,) + + else: + # Shouldn't get here. + msg = 'pydev debugger: Breakpoint not validated (reason unknown -- please report as error): %s (%s).\n' % (translated_filename, translated_line) + + else: + if add_breakpoint_result.original_line != translated_line: + msg = 'pydev debugger (info): Breakpoint in line: %s moved to line: %s (in %s).\n' % (add_breakpoint_result.original_line, translated_line, translated_filename) + + if msg: + py_db.writer.add_command(py_db.cmd_factory.make_warning_message(msg)) + + result = self.api.add_breakpoint( + py_db, self.api.filename_to_str(filename), btype, breakpoint_id, line, condition, func_name, + expression, suspend_policy, hit_condition, is_logpoint, on_changed_breakpoint_state=on_changed_breakpoint_state) + + on_changed_breakpoint_state(breakpoint_id, result) + + def cmd_remove_break(self, py_db, cmd_id, seq, text): + # command to remove some breakpoint + # text is type\file\tid. Remove from breakpoints dictionary + breakpoint_type, filename, breakpoint_id = text.split('\t', 2) + + filename = self.api.filename_to_str(filename) + + try: + breakpoint_id = int(breakpoint_id) + except ValueError: + pydev_log.critical('Error removing breakpoint. Expected breakpoint_id to be an int. Found: %s', breakpoint_id) + + else: + self.api.remove_breakpoint(py_db, filename, breakpoint_type, breakpoint_id) + + def _cmd_exec_or_evaluate_expression(self, py_db, cmd_id, seq, text): + # command to evaluate the given expression + # text is: thread\tstackframe\tLOCAL\texpression + attr_to_set_result = "" + try: + thread_id, frame_id, scope, expression, trim, attr_to_set_result = text.split('\t', 5) + except ValueError: + thread_id, frame_id, scope, expression, trim = text.split('\t', 4) + is_exec = cmd_id == CMD_EXEC_EXPRESSION + trim_if_too_big = int(trim) == 1 + + self.api.request_exec_or_evaluate( + py_db, seq, thread_id, frame_id, expression, is_exec, trim_if_too_big, attr_to_set_result) + + cmd_evaluate_expression = _cmd_exec_or_evaluate_expression + cmd_exec_expression = _cmd_exec_or_evaluate_expression + + def cmd_console_exec(self, py_db, cmd_id, seq, text): + # command to exec expression in console, in case expression is only partially valid 'False' is returned + # text is: thread\tstackframe\tLOCAL\texpression + + thread_id, frame_id, scope, expression = text.split('\t', 3) + self.api.request_console_exec(py_db, seq, thread_id, frame_id, expression) + + def cmd_set_path_mapping_json(self, py_db, cmd_id, seq, text): + ''' + :param text: + Json text. Something as: + + { + "pathMappings": [ + { + "localRoot": "c:/temp", + "remoteRoot": "/usr/temp" + } + ], + "debug": true, + "force": false + } + ''' + as_json = json.loads(text) + force = as_json.get('force', False) + + path_mappings = [] + for pathMapping in as_json.get('pathMappings', []): + localRoot = pathMapping.get('localRoot', '') + remoteRoot = pathMapping.get('remoteRoot', '') + if (localRoot != '') and (remoteRoot != ''): + path_mappings.append((localRoot, remoteRoot)) + + if bool(path_mappings) or force: + pydevd_file_utils.setup_client_server_paths(path_mappings) + + debug = as_json.get('debug', False) + if debug or force: + pydevd_file_utils.DEBUG_CLIENT_SERVER_TRANSLATION = debug + + def cmd_set_py_exception_json(self, py_db, cmd_id, seq, text): + # This API is optional and works 'in bulk' -- it's possible + # to get finer-grained control with CMD_ADD_EXCEPTION_BREAK/CMD_REMOVE_EXCEPTION_BREAK + # which allows setting caught/uncaught per exception, although global settings such as: + # - skip_on_exceptions_thrown_in_same_context + # - ignore_exceptions_thrown_in_lines_with_ignore_exception + # must still be set through this API (before anything else as this clears all existing + # exception breakpoints). + try: + py_db.break_on_uncaught_exceptions = {} + py_db.break_on_caught_exceptions = {} + py_db.break_on_user_uncaught_exceptions = {} + + as_json = json.loads(text) + break_on_uncaught = as_json.get('break_on_uncaught', False) + break_on_caught = as_json.get('break_on_caught', False) + break_on_user_caught = as_json.get('break_on_user_caught', False) + py_db.skip_on_exceptions_thrown_in_same_context = as_json.get('skip_on_exceptions_thrown_in_same_context', False) + py_db.ignore_exceptions_thrown_in_lines_with_ignore_exception = as_json.get('ignore_exceptions_thrown_in_lines_with_ignore_exception', False) + ignore_libraries = as_json.get('ignore_libraries', False) + exception_types = as_json.get('exception_types', []) + + for exception_type in exception_types: + if not exception_type: + continue + + py_db.add_break_on_exception( + exception_type, + condition=None, + expression=None, + notify_on_handled_exceptions=break_on_caught, + notify_on_unhandled_exceptions=break_on_uncaught, + notify_on_user_unhandled_exceptions=break_on_user_caught, + notify_on_first_raise_only=True, + ignore_libraries=ignore_libraries, + ) + + py_db.on_breakpoints_changed() + except: + pydev_log.exception("Error when setting exception list. Received: %s", text) + + def cmd_set_py_exception(self, py_db, cmd_id, seq, text): + # DEPRECATED. Use cmd_set_py_exception_json instead. + try: + splitted = text.split(';') + py_db.break_on_uncaught_exceptions = {} + py_db.break_on_caught_exceptions = {} + py_db.break_on_user_uncaught_exceptions = {} + if len(splitted) >= 5: + if splitted[0] == 'true': + break_on_uncaught = True + else: + break_on_uncaught = False + + if splitted[1] == 'true': + break_on_caught = True + else: + break_on_caught = False + + if splitted[2] == 'true': + py_db.skip_on_exceptions_thrown_in_same_context = True + else: + py_db.skip_on_exceptions_thrown_in_same_context = False + + if splitted[3] == 'true': + py_db.ignore_exceptions_thrown_in_lines_with_ignore_exception = True + else: + py_db.ignore_exceptions_thrown_in_lines_with_ignore_exception = False + + if splitted[4] == 'true': + ignore_libraries = True + else: + ignore_libraries = False + + for exception_type in splitted[5:]: + exception_type = exception_type.strip() + if not exception_type: + continue + + py_db.add_break_on_exception( + exception_type, + condition=None, + expression=None, + notify_on_handled_exceptions=break_on_caught, + notify_on_unhandled_exceptions=break_on_uncaught, + notify_on_user_unhandled_exceptions=False, # TODO (not currently supported in this API). + notify_on_first_raise_only=True, + ignore_libraries=ignore_libraries, + ) + else: + pydev_log.exception("Expected to have at least 5 ';' separated items. Received: %s", text) + + except: + pydev_log.exception("Error when setting exception list. Received: %s", text) + + def _load_source(self, py_db, cmd_id, seq, text): + filename = text + filename = self.api.filename_to_str(filename) + self.api.request_load_source(py_db, seq, filename) + + cmd_load_source = _load_source + cmd_get_file_contents = _load_source + + def cmd_load_source_from_frame_id(self, py_db, cmd_id, seq, text): + frame_id = text + self.api.request_load_source_from_frame_id(py_db, seq, frame_id) + + def cmd_set_property_trace(self, py_db, cmd_id, seq, text): + # Command which receives whether to trace property getter/setter/deleter + # text is feature_state(true/false);disable_getter/disable_setter/disable_deleter + if text: + splitted = text.split(';') + if len(splitted) >= 3: + if not py_db.disable_property_trace and splitted[0] == 'true': + # Replacing property by custom property only when the debugger starts + pydevd_traceproperty.replace_builtin_property() + py_db.disable_property_trace = True + # Enable/Disable tracing of the property getter + if splitted[1] == 'true': + py_db.disable_property_getter_trace = True + else: + py_db.disable_property_getter_trace = False + # Enable/Disable tracing of the property setter + if splitted[2] == 'true': + py_db.disable_property_setter_trace = True + else: + py_db.disable_property_setter_trace = False + # Enable/Disable tracing of the property deleter + if splitted[3] == 'true': + py_db.disable_property_deleter_trace = True + else: + py_db.disable_property_deleter_trace = False + + def cmd_add_exception_break(self, py_db, cmd_id, seq, text): + # Note that this message has some idiosyncrasies... + # + # notify_on_handled_exceptions can be 0, 1 or 2 + # 0 means we should not stop on handled exceptions. + # 1 means we should stop on handled exceptions showing it on all frames where the exception passes. + # 2 means we should stop on handled exceptions but we should only notify about it once. + # + # To ignore_libraries properly, besides setting ignore_libraries to 1, the IDE_PROJECT_ROOTS environment + # variable must be set (so, we'll ignore anything not below IDE_PROJECT_ROOTS) -- this is not ideal as + # the environment variable may not be properly set if it didn't start from the debugger (we should + # create a custom message for that). + # + # There are 2 global settings which can only be set in CMD_SET_PY_EXCEPTION. Namely: + # + # py_db.skip_on_exceptions_thrown_in_same_context + # - If True, we should only show the exception in a caller, not where it was first raised. + # + # py_db.ignore_exceptions_thrown_in_lines_with_ignore_exception + # - If True exceptions thrown in lines with '@IgnoreException' will not be shown. + + condition = "" + expression = "" + if text.find('\t') != -1: + try: + exception, condition, expression, notify_on_handled_exceptions, notify_on_unhandled_exceptions, ignore_libraries = text.split('\t', 5) + except: + exception, notify_on_handled_exceptions, notify_on_unhandled_exceptions, ignore_libraries = text.split('\t', 3) + else: + exception, notify_on_handled_exceptions, notify_on_unhandled_exceptions, ignore_libraries = text, 0, 0, 0 + + condition = condition.replace("@_@NEW_LINE_CHAR@_@", '\n').replace("@_@TAB_CHAR@_@", '\t').strip() + + if condition is not None and (len(condition) == 0 or condition == "None"): + condition = None + + expression = expression.replace("@_@NEW_LINE_CHAR@_@", '\n').replace("@_@TAB_CHAR@_@", '\t').strip() + + if expression is not None and (len(expression) == 0 or expression == "None"): + expression = None + + if exception.find('-') != -1: + breakpoint_type, exception = exception.split('-') + else: + breakpoint_type = 'python' + + if breakpoint_type == 'python': + self.api.add_python_exception_breakpoint( + py_db, exception, condition, expression, + notify_on_handled_exceptions=int(notify_on_handled_exceptions) > 0, + notify_on_unhandled_exceptions=int(notify_on_unhandled_exceptions) == 1, + notify_on_user_unhandled_exceptions=0, # TODO (not currently supported in this API). + notify_on_first_raise_only=int(notify_on_handled_exceptions) == 2, + ignore_libraries=int(ignore_libraries) > 0, + ) + else: + self.api.add_plugins_exception_breakpoint(py_db, breakpoint_type, exception) + + def cmd_remove_exception_break(self, py_db, cmd_id, seq, text): + exception = text + if exception.find('-') != -1: + exception_type, exception = exception.split('-') + else: + exception_type = 'python' + + if exception_type == 'python': + self.api.remove_python_exception_breakpoint(py_db, exception) + else: + self.api.remove_plugins_exception_breakpoint(py_db, exception_type, exception) + + def cmd_add_django_exception_break(self, py_db, cmd_id, seq, text): + self.api.add_plugins_exception_breakpoint(py_db, breakpoint_type='django', exception=text) + + def cmd_remove_django_exception_break(self, py_db, cmd_id, seq, text): + self.api.remove_plugins_exception_breakpoint(py_db, exception_type='django', exception=text) + + def cmd_evaluate_console_expression(self, py_db, cmd_id, seq, text): + # Command which takes care for the debug console communication + if text != "": + thread_id, frame_id, console_command = text.split('\t', 2) + console_command, line = console_command.split('\t') + + if console_command == 'EVALUATE': + int_cmd = InternalEvaluateConsoleExpression( + seq, thread_id, frame_id, line, buffer_output=True) + + elif console_command == 'EVALUATE_UNBUFFERED': + int_cmd = InternalEvaluateConsoleExpression( + seq, thread_id, frame_id, line, buffer_output=False) + + elif console_command == 'GET_COMPLETIONS': + int_cmd = InternalConsoleGetCompletions(seq, thread_id, frame_id, line) + + else: + raise ValueError('Unrecognized command: %s' % (console_command,)) + + py_db.post_internal_command(int_cmd, thread_id) + + def cmd_run_custom_operation(self, py_db, cmd_id, seq, text): + # Command which runs a custom operation + if text != "": + try: + location, custom = text.split('||', 1) + except: + sys.stderr.write('Custom operation now needs a || separator. Found: %s\n' % (text,)) + raise + + thread_id, frame_id, scopeattrs = location.split('\t', 2) + + if scopeattrs.find('\t') != -1: # there are attributes beyond scope + scope, attrs = scopeattrs.split('\t', 1) + else: + scope, attrs = (scopeattrs, None) + + # : style: EXECFILE or EXEC + # : encoded_code_or_file: file to execute or code + # : fname: name of function to be executed in the resulting namespace + style, encoded_code_or_file, fnname = custom.split('\t', 3) + int_cmd = InternalRunCustomOperation(seq, thread_id, frame_id, scope, attrs, + style, encoded_code_or_file, fnname) + py_db.post_internal_command(int_cmd, thread_id) + + def cmd_ignore_thrown_exception_at(self, py_db, cmd_id, seq, text): + if text: + replace = 'REPLACE:' # Not all 3.x versions support u'REPLACE:', so, doing workaround. + if text.startswith(replace): + text = text[8:] + py_db.filename_to_lines_where_exceptions_are_ignored.clear() + + if text: + for line in text.split('||'): # Can be bulk-created (one in each line) + original_filename, line_number = line.split('|') + original_filename = self.api.filename_to_server(original_filename) + + canonical_normalized_filename = pydevd_file_utils.canonical_normalized_path(original_filename) + absolute_filename = pydevd_file_utils.absolute_path(original_filename) + + if os.path.exists(absolute_filename): + lines_ignored = py_db.filename_to_lines_where_exceptions_are_ignored.get(canonical_normalized_filename) + if lines_ignored is None: + lines_ignored = py_db.filename_to_lines_where_exceptions_are_ignored[canonical_normalized_filename] = {} + lines_ignored[int(line_number)] = 1 + else: + sys.stderr.write('pydev debugger: warning: trying to ignore exception thrown'\ + ' on file that does not exist: %s (will have no effect)\n' % (absolute_filename,)) + + def cmd_enable_dont_trace(self, py_db, cmd_id, seq, text): + if text: + true_str = 'true' # Not all 3.x versions support u'str', so, doing workaround. + mode = text.strip() == true_str + pydevd_dont_trace.trace_filter(mode) + + def cmd_redirect_output(self, py_db, cmd_id, seq, text): + if text: + py_db.enable_output_redirection('STDOUT' in text, 'STDERR' in text) + + def cmd_get_next_statement_targets(self, py_db, cmd_id, seq, text): + thread_id, frame_id = text.split('\t', 1) + + py_db.post_method_as_internal_command( + thread_id, internal_get_next_statement_targets, seq, thread_id, frame_id) + + def cmd_get_smart_step_into_variants(self, py_db, cmd_id, seq, text): + thread_id, frame_id, start_line, end_line = text.split('\t', 3) + + py_db.post_method_as_internal_command( + thread_id, internal_get_smart_step_into_variants, seq, thread_id, frame_id, start_line, end_line, set_additional_thread_info=set_additional_thread_info) + + def cmd_set_project_roots(self, py_db, cmd_id, seq, text): + self.api.set_project_roots(py_db, text.split(u'\t')) + + def cmd_thread_dump_to_stderr(self, py_db, cmd_id, seq, text): + pydevd_utils.dump_threads() + + def cmd_stop_on_start(self, py_db, cmd_id, seq, text): + if text.strip() in ('True', 'true', '1'): + self.api.stop_on_entry() + + def cmd_pydevd_json_config(self, py_db, cmd_id, seq, text): + # Expected to receive a json string as: + # { + # 'skip_suspend_on_breakpoint_exception': [], + # 'skip_print_breakpoint_exception': [], + # 'multi_threads_single_notification': bool, + # } + msg = json.loads(text.strip()) + if 'skip_suspend_on_breakpoint_exception' in msg: + py_db.skip_suspend_on_breakpoint_exception = tuple( + get_exception_class(x) for x in msg['skip_suspend_on_breakpoint_exception']) + + if 'skip_print_breakpoint_exception' in msg: + py_db.skip_print_breakpoint_exception = tuple( + get_exception_class(x) for x in msg['skip_print_breakpoint_exception']) + + if 'multi_threads_single_notification' in msg: + py_db.multi_threads_single_notification = msg['multi_threads_single_notification'] + + def cmd_get_exception_details(self, py_db, cmd_id, seq, text): + thread_id = text + t = pydevd_find_thread_by_id(thread_id) + frame = None + if t and not getattr(t, 'pydev_do_not_trace', None): + additional_info = set_additional_thread_info(t) + frame = additional_info.get_topmost_frame(t) + try: + return py_db.cmd_factory.make_get_exception_details_message(py_db, seq, thread_id, frame) + finally: + frame = None + t = None + + +process_net_command = _PyDevCommandProcessor().process_net_command + diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_process_net_command_json.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_process_net_command_json.py new file mode 100644 index 0000000..ff01ecd --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_process_net_command_json.py @@ -0,0 +1,1311 @@ +import itertools +import json +import linecache +import os +import platform +import sys +from functools import partial + +import pydevd_file_utils +from _pydev_bundle import pydev_log +from _pydevd_bundle._debug_adapter import pydevd_base_schema, pydevd_schema +from _pydevd_bundle._debug_adapter.pydevd_schema import ( + CompletionsResponseBody, EvaluateResponseBody, ExceptionOptions, + GotoTargetsResponseBody, ModulesResponseBody, ProcessEventBody, + ProcessEvent, Scope, ScopesResponseBody, SetExpressionResponseBody, + SetVariableResponseBody, SourceBreakpoint, SourceResponseBody, + VariablesResponseBody, SetBreakpointsResponseBody, Response, + Capabilities, PydevdAuthorizeRequest, Request, + StepInTargetsResponseBody, SetFunctionBreakpointsResponseBody, BreakpointEvent, + BreakpointEventBody) +from _pydevd_bundle.pydevd_api import PyDevdAPI +from _pydevd_bundle.pydevd_breakpoints import get_exception_class, FunctionBreakpoint +from _pydevd_bundle.pydevd_comm_constants import ( + CMD_PROCESS_EVENT, CMD_RETURN, CMD_SET_NEXT_STATEMENT, CMD_STEP_INTO, + CMD_STEP_INTO_MY_CODE, CMD_STEP_OVER, CMD_STEP_OVER_MY_CODE, file_system_encoding, + CMD_STEP_RETURN_MY_CODE, CMD_STEP_RETURN) +from _pydevd_bundle.pydevd_filtering import ExcludeFilter +from _pydevd_bundle.pydevd_json_debug_options import _extract_debug_options, DebugOptions +from _pydevd_bundle.pydevd_net_command import NetCommand +from _pydevd_bundle.pydevd_utils import convert_dap_log_message_to_expression, ScopeRequest +from _pydevd_bundle.pydevd_constants import (PY_IMPL_NAME, DebugInfoHolder, PY_VERSION_STR, + PY_IMPL_VERSION_STR, IS_64BIT_PROCESS) +from _pydevd_bundle.pydevd_trace_dispatch import USING_CYTHON +from _pydevd_frame_eval.pydevd_frame_eval_main import USING_FRAME_EVAL +from _pydevd_bundle.pydevd_comm import internal_get_step_in_targets_json +from _pydevd_bundle.pydevd_additional_thread_info import set_additional_thread_info +from _pydevd_bundle.pydevd_thread_lifecycle import pydevd_find_thread_by_id + + +def _convert_rules_to_exclude_filters(rules, on_error): + exclude_filters = [] + if not isinstance(rules, list): + on_error('Invalid "rules" (expected list of dicts). Found: %s' % (rules,)) + + else: + directory_exclude_filters = [] + module_exclude_filters = [] + glob_exclude_filters = [] + + for rule in rules: + if not isinstance(rule, dict): + on_error('Invalid "rules" (expected list of dicts). Found: %s' % (rules,)) + continue + + include = rule.get('include') + if include is None: + on_error('Invalid "rule" (expected dict with "include"). Found: %s' % (rule,)) + continue + + path = rule.get('path') + module = rule.get('module') + if path is None and module is None: + on_error('Invalid "rule" (expected dict with "path" or "module"). Found: %s' % (rule,)) + continue + + if path is not None: + glob_pattern = path + if '*' not in path and '?' not in path: + if os.path.isdir(glob_pattern): + # If a directory was specified, add a '/**' + # to be consistent with the glob pattern required + # by pydevd. + if not glob_pattern.endswith('/') and not glob_pattern.endswith('\\'): + glob_pattern += '/' + glob_pattern += '**' + directory_exclude_filters.append(ExcludeFilter(glob_pattern, not include, True)) + else: + glob_exclude_filters.append(ExcludeFilter(glob_pattern, not include, True)) + + elif module is not None: + module_exclude_filters.append(ExcludeFilter(module, not include, False)) + + else: + on_error('Internal error: expected path or module to be specified.') + + # Note that we have to sort the directory/module exclude filters so that the biggest + # paths match first. + # i.e.: if we have: + # /sub1/sub2/sub3 + # a rule with /sub1/sub2 would match before a rule only with /sub1. + directory_exclude_filters = sorted(directory_exclude_filters, key=lambda exclude_filter:-len(exclude_filter.name)) + module_exclude_filters = sorted(module_exclude_filters, key=lambda exclude_filter:-len(exclude_filter.name)) + exclude_filters = directory_exclude_filters + glob_exclude_filters + module_exclude_filters + + return exclude_filters + + +class IDMap(object): + + def __init__(self): + self._value_to_key = {} + self._key_to_value = {} + self._next_id = partial(next, itertools.count(0)) + + def obtain_value(self, key): + return self._key_to_value[key] + + def obtain_key(self, value): + try: + key = self._value_to_key[value] + except KeyError: + key = self._next_id() + self._key_to_value[key] = value + self._value_to_key[value] = key + return key + + +class PyDevJsonCommandProcessor(object): + + def __init__(self, from_json): + self.from_json = from_json + self.api = PyDevdAPI() + self._options = DebugOptions() + self._next_breakpoint_id = partial(next, itertools.count(0)) + self._goto_targets_map = IDMap() + self._launch_or_attach_request_done = False + + def process_net_command_json(self, py_db, json_contents, send_response=True): + ''' + Processes a debug adapter protocol json command. + ''' + + DEBUG = False + + try: + if isinstance(json_contents, bytes): + json_contents = json_contents.decode('utf-8') + + request = self.from_json(json_contents, update_ids_from_dap=True) + except Exception as e: + try: + loaded_json = json.loads(json_contents) + request = Request(loaded_json.get('command', ''), loaded_json['seq']) + except: + # There's not much we can do in this case... + pydev_log.exception('Error loading json: %s', json_contents) + return + + error_msg = str(e) + if error_msg.startswith("'") and error_msg.endswith("'"): + error_msg = error_msg[1:-1] + + # This means a failure processing the request (but we were able to load the seq, + # so, answer with a failure response). + def on_request(py_db, request): + error_response = { + 'type': 'response', + 'request_seq': request.seq, + 'success': False, + 'command': request.command, + 'message': error_msg, + } + return NetCommand(CMD_RETURN, 0, error_response, is_json=True) + + else: + if DebugInfoHolder.DEBUG_RECORD_SOCKET_READS and DebugInfoHolder.DEBUG_TRACE_LEVEL >= 1: + pydev_log.info('Process %s: %s\n' % ( + request.__class__.__name__, json.dumps(request.to_dict(update_ids_to_dap=True), indent=4, sort_keys=True),)) + + assert request.type == 'request' + method_name = 'on_%s_request' % (request.command.lower(),) + on_request = getattr(self, method_name, None) + if on_request is None: + print('Unhandled: %s not available in PyDevJsonCommandProcessor.\n' % (method_name,)) + return + + if DEBUG: + print('Handled in pydevd: %s (in PyDevJsonCommandProcessor).\n' % (method_name,)) + + with py_db._main_lock: + if request.__class__ == PydevdAuthorizeRequest: + authorize_request = request # : :type authorize_request: PydevdAuthorizeRequest + access_token = authorize_request.arguments.debugServerAccessToken + py_db.authentication.login(access_token) + + if not py_db.authentication.is_authenticated(): + response = Response( + request.seq, success=False, command=request.command, message='Client not authenticated.', body={}) + cmd = NetCommand(CMD_RETURN, 0, response, is_json=True) + py_db.writer.add_command(cmd) + return + + cmd = on_request(py_db, request) + if cmd is not None and send_response: + py_db.writer.add_command(cmd) + + def on_pydevdauthorize_request(self, py_db, request): + client_access_token = py_db.authentication.client_access_token + body = {'clientAccessToken': None} + if client_access_token: + body['clientAccessToken'] = client_access_token + + response = pydevd_base_schema.build_response(request, kwargs={'body': body}) + return NetCommand(CMD_RETURN, 0, response, is_json=True) + + def on_initialize_request(self, py_db, request): + body = Capabilities( + # Supported. + supportsConfigurationDoneRequest=True, + supportsConditionalBreakpoints=True, + supportsHitConditionalBreakpoints=True, + supportsEvaluateForHovers=True, + supportsSetVariable=True, + supportsGotoTargetsRequest=True, + supportsCompletionsRequest=True, + supportsModulesRequest=True, + supportsExceptionOptions=True, + supportsValueFormattingOptions=True, + supportsExceptionInfoRequest=True, + supportTerminateDebuggee=True, + supportsDelayedStackTraceLoading=True, + supportsLogPoints=True, + supportsSetExpression=True, + supportsTerminateRequest=True, + supportsClipboardContext=True, + supportsFunctionBreakpoints=True, + + exceptionBreakpointFilters=[ + {'filter': 'raised', 'label': 'Raised Exceptions', 'default': False}, + {'filter': 'uncaught', 'label': 'Uncaught Exceptions', 'default': True}, + {"filter": "userUnhandled", "label": "User Uncaught Exceptions", "default": False}, + ], + + # Not supported. + supportsStepBack=False, + supportsRestartFrame=False, + supportsStepInTargetsRequest=True, + supportsRestartRequest=False, + supportsLoadedSourcesRequest=False, + supportsTerminateThreadsRequest=False, + supportsDataBreakpoints=False, + supportsReadMemoryRequest=False, + supportsDisassembleRequest=False, + additionalModuleColumns=[], + completionTriggerCharacters=[], + supportedChecksumAlgorithms=[], + ).to_dict() + + # Non-standard capabilities/info below. + body['supportsDebuggerProperties'] = True + + body['pydevd'] = pydevd_info = {} + pydevd_info['processId'] = os.getpid() + self.api.notify_initialize(py_db) + response = pydevd_base_schema.build_response(request, kwargs={'body': body}) + return NetCommand(CMD_RETURN, 0, response, is_json=True) + + def on_configurationdone_request(self, py_db, request): + ''' + :param ConfigurationDoneRequest request: + ''' + if not self._launch_or_attach_request_done: + pydev_log.critical('Missing launch request or attach request before configuration done request.') + + self.api.run(py_db) + self.api.notify_configuration_done(py_db) + + configuration_done_response = pydevd_base_schema.build_response(request) + return NetCommand(CMD_RETURN, 0, configuration_done_response, is_json=True) + + def on_threads_request(self, py_db, request): + ''' + :param ThreadsRequest request: + ''' + return self.api.list_threads(py_db, request.seq) + + def on_terminate_request(self, py_db, request): + ''' + :param TerminateRequest request: + ''' + self._request_terminate_process(py_db) + response = pydevd_base_schema.build_response(request) + return NetCommand(CMD_RETURN, 0, response, is_json=True) + + def _request_terminate_process(self, py_db): + self.api.request_terminate_process(py_db) + + def on_completions_request(self, py_db, request): + ''' + :param CompletionsRequest request: + ''' + arguments = request.arguments # : :type arguments: CompletionsArguments + seq = request.seq + text = arguments.text + frame_id = arguments.frameId + thread_id = py_db.suspended_frames_manager.get_thread_id_for_variable_reference( + frame_id) + + if thread_id is None: + body = CompletionsResponseBody([]) + variables_response = pydevd_base_schema.build_response( + request, + kwargs={ + 'body': body, + 'success': False, + 'message': 'Thread to get completions seems to have resumed already.' + }) + return NetCommand(CMD_RETURN, 0, variables_response, is_json=True) + + # Note: line and column are 1-based (convert to 0-based for pydevd). + column = arguments.column - 1 + + if arguments.line is None: + # line is optional + line = -1 + else: + line = arguments.line - 1 + + self.api.request_completions(py_db, seq, thread_id, frame_id, text, line=line, column=column) + + def _resolve_remote_root(self, local_root, remote_root): + if remote_root == '.': + cwd = os.getcwd() + append_pathsep = local_root.endswith('\\') or local_root.endswith('/') + return cwd + (os.path.sep if append_pathsep else '') + return remote_root + + def _set_debug_options(self, py_db, args, start_reason): + rules = args.get('rules') + stepping_resumes_all_threads = args.get('steppingResumesAllThreads', True) + self.api.set_stepping_resumes_all_threads(py_db, stepping_resumes_all_threads) + + terminate_child_processes = args.get('terminateChildProcesses', True) + self.api.set_terminate_child_processes(py_db, terminate_child_processes) + + variable_presentation = args.get('variablePresentation', None) + if isinstance(variable_presentation, dict): + + def get_variable_presentation(setting, default): + value = variable_presentation.get(setting, default) + if value not in ('group', 'inline', 'hide'): + pydev_log.info( + 'The value set for "%s" (%s) in the variablePresentation is not valid. Valid values are: "group", "inline", "hide"' % ( + setting, value,)) + value = default + + return value + + default = get_variable_presentation('all', 'group') + + special_presentation = get_variable_presentation('special', default) + function_presentation = get_variable_presentation('function', default) + class_presentation = get_variable_presentation('class', default) + protected_presentation = get_variable_presentation('protected', default) + + self.api.set_variable_presentation(py_db, self.api.VariablePresentation( + special_presentation, + function_presentation, + class_presentation, + protected_presentation + )) + + exclude_filters = [] + + if rules is not None: + exclude_filters = _convert_rules_to_exclude_filters( + rules, lambda msg: self.api.send_error_message(py_db, msg)) + + self.api.set_exclude_filters(py_db, exclude_filters) + + debug_options = _extract_debug_options( + args.get('options'), + args.get('debugOptions'), + ) + self._options.update_fom_debug_options(debug_options) + self._options.update_from_args(args) + + self.api.set_use_libraries_filter(py_db, self._options.just_my_code) + + path_mappings = [] + for pathMapping in args.get('pathMappings', []): + localRoot = pathMapping.get('localRoot', '') + remoteRoot = pathMapping.get('remoteRoot', '') + remoteRoot = self._resolve_remote_root(localRoot, remoteRoot) + if (localRoot != '') and (remoteRoot != ''): + path_mappings.append((localRoot, remoteRoot)) + + if bool(path_mappings): + pydevd_file_utils.setup_client_server_paths(path_mappings) + + resolve_symlinks = args.get('resolveSymlinks', None) + if resolve_symlinks is not None: + pydevd_file_utils.set_resolve_symlinks(resolve_symlinks) + + redirecting = args.get("isOutputRedirected") + if self._options.redirect_output: + py_db.enable_output_redirection(True, True) + redirecting = True + else: + py_db.enable_output_redirection(False, False) + + py_db.is_output_redirected = redirecting + + self.api.set_show_return_values(py_db, self._options.show_return_value) + + if not self._options.break_system_exit_zero: + ignore_system_exit_codes = [0, None] + if self._options.django_debug or self._options.flask_debug: + ignore_system_exit_codes += [3] + + self.api.set_ignore_system_exit_codes(py_db, ignore_system_exit_codes) + + auto_reload = args.get('autoReload', {}) + if not isinstance(auto_reload, dict): + pydev_log.info('Expected autoReload to be a dict. Received: %s' % (auto_reload,)) + auto_reload = {} + + enable_auto_reload = auto_reload.get('enable', False) + watch_dirs = auto_reload.get('watchDirectories') + if not watch_dirs: + watch_dirs = [] + # Note: by default this is no longer done because on some cases there are entries in the PYTHONPATH + # such as the home directory or /python/x64, where the site packages are in /python/x64/libs, so, + # we only watch the current working directory as well as executed script. + # check = getattr(sys, 'path', [])[:] + # # By default only watch directories that are in the project roots / + # # program dir (if available), sys.argv[0], as well as the current dir (we don't want to + # # listen to the whole site-packages by default as it can be huge). + # watch_dirs = [pydevd_file_utils.absolute_path(w) for w in check] + # watch_dirs = [w for w in watch_dirs if py_db.in_project_roots_filename_uncached(w) and os.path.isdir(w)] + + program = args.get('program') + if program: + if os.path.isdir(program): + watch_dirs.append(program) + else: + watch_dirs.append(os.path.dirname(program)) + watch_dirs.append(os.path.abspath('.')) + + argv = getattr(sys, 'argv', []) + if argv: + f = argv[0] + if f: # argv[0] could be None (https://github.com/microsoft/debugpy/issues/987) + if os.path.isdir(f): + watch_dirs.append(f) + else: + watch_dirs.append(os.path.dirname(f)) + + if not isinstance(watch_dirs, (list, set, tuple)): + watch_dirs = (watch_dirs,) + new_watch_dirs = set() + for w in watch_dirs: + try: + new_watch_dirs.add(pydevd_file_utils.get_path_with_real_case(pydevd_file_utils.absolute_path(w))) + except Exception: + pydev_log.exception('Error adding watch dir: %s', w) + watch_dirs = new_watch_dirs + + poll_target_time = auto_reload.get('pollingInterval', 1) + exclude_patterns = auto_reload.get('exclude', ('**/.git/**', '**/__pycache__/**', '**/node_modules/**', '**/.metadata/**', '**/site-packages/**')) + include_patterns = auto_reload.get('include', ('**/*.py', '**/*.pyw')) + self.api.setup_auto_reload_watcher( + py_db, enable_auto_reload, watch_dirs, poll_target_time, exclude_patterns, include_patterns) + + if self._options.stop_on_entry and start_reason == 'launch': + self.api.stop_on_entry() + + self.api.set_gui_event_loop(py_db, self._options.gui_event_loop) + + def _send_process_event(self, py_db, start_method): + argv = getattr(sys, 'argv', []) + if len(argv) > 0: + name = argv[0] + else: + name = '' + + if isinstance(name, bytes): + name = name.decode(file_system_encoding, 'replace') + name = name.encode('utf-8') + + body = ProcessEventBody( + name=name, + systemProcessId=os.getpid(), + isLocalProcess=True, + startMethod=start_method, + ) + event = ProcessEvent(body) + py_db.writer.add_command(NetCommand(CMD_PROCESS_EVENT, 0, event, is_json=True)) + + def _handle_launch_or_attach_request(self, py_db, request, start_reason): + self._send_process_event(py_db, start_reason) + self._launch_or_attach_request_done = True + self.api.set_enable_thread_notifications(py_db, True) + self._set_debug_options(py_db, request.arguments.kwargs, start_reason=start_reason) + response = pydevd_base_schema.build_response(request) + return NetCommand(CMD_RETURN, 0, response, is_json=True) + + def on_launch_request(self, py_db, request): + ''' + :param LaunchRequest request: + ''' + return self._handle_launch_or_attach_request(py_db, request, start_reason='launch') + + def on_attach_request(self, py_db, request): + ''' + :param AttachRequest request: + ''' + return self._handle_launch_or_attach_request(py_db, request, start_reason='attach') + + def on_pause_request(self, py_db, request): + ''' + :param PauseRequest request: + ''' + arguments = request.arguments # : :type arguments: PauseArguments + thread_id = arguments.threadId + + self.api.request_suspend_thread(py_db, thread_id=thread_id) + + response = pydevd_base_schema.build_response(request) + return NetCommand(CMD_RETURN, 0, response, is_json=True) + + def on_continue_request(self, py_db, request): + ''' + :param ContinueRequest request: + ''' + arguments = request.arguments # : :type arguments: ContinueArguments + thread_id = arguments.threadId + + def on_resumed(): + body = {'allThreadsContinued': thread_id == '*'} + response = pydevd_base_schema.build_response(request, kwargs={'body': body}) + cmd = NetCommand(CMD_RETURN, 0, response, is_json=True) + py_db.writer.add_command(cmd) + + # Only send resumed notification when it has actually resumed! + # (otherwise the user could send a continue, receive the notification and then + # request a new pause which would be paused without sending any notification as + # it didn't really run in the first place). + py_db.threads_suspended_single_notification.add_on_resumed_callback(on_resumed) + self.api.request_resume_thread(thread_id) + + def on_next_request(self, py_db, request): + ''' + :param NextRequest request: + ''' + arguments = request.arguments # : :type arguments: NextArguments + thread_id = arguments.threadId + + if py_db.get_use_libraries_filter(): + step_cmd_id = CMD_STEP_OVER_MY_CODE + else: + step_cmd_id = CMD_STEP_OVER + + self.api.request_step(py_db, thread_id, step_cmd_id) + + response = pydevd_base_schema.build_response(request) + return NetCommand(CMD_RETURN, 0, response, is_json=True) + + def on_stepin_request(self, py_db, request): + ''' + :param StepInRequest request: + ''' + arguments = request.arguments # : :type arguments: StepInArguments + thread_id = arguments.threadId + + target_id = arguments.targetId + if target_id is not None: + thread = pydevd_find_thread_by_id(thread_id) + info = set_additional_thread_info(thread) + target_id_to_smart_step_into_variant = info.target_id_to_smart_step_into_variant + if not target_id_to_smart_step_into_variant: + variables_response = pydevd_base_schema.build_response( + request, + kwargs={ + 'success': False, + 'message': 'Unable to step into target (no targets are saved in the thread info).' + }) + return NetCommand(CMD_RETURN, 0, variables_response, is_json=True) + + variant = target_id_to_smart_step_into_variant.get(target_id) + if variant is not None: + parent = variant.parent + if parent is not None: + self.api.request_smart_step_into(py_db, request.seq, thread_id, parent.offset, variant.offset) + else: + self.api.request_smart_step_into(py_db, request.seq, thread_id, variant.offset, -1) + else: + variables_response = pydevd_base_schema.build_response( + request, + kwargs={ + 'success': False, + 'message': 'Unable to find step into target %s. Available targets: %s' % ( + target_id, target_id_to_smart_step_into_variant) + }) + return NetCommand(CMD_RETURN, 0, variables_response, is_json=True) + + else: + if py_db.get_use_libraries_filter(): + step_cmd_id = CMD_STEP_INTO_MY_CODE + else: + step_cmd_id = CMD_STEP_INTO + + self.api.request_step(py_db, thread_id, step_cmd_id) + + response = pydevd_base_schema.build_response(request) + return NetCommand(CMD_RETURN, 0, response, is_json=True) + + def on_stepintargets_request(self, py_db, request): + ''' + :param StepInTargetsRequest request: + ''' + frame_id = request.arguments.frameId + thread_id = py_db.suspended_frames_manager.get_thread_id_for_variable_reference( + frame_id) + + if thread_id is None: + body = StepInTargetsResponseBody([]) + variables_response = pydevd_base_schema.build_response( + request, + kwargs={ + 'body': body, + 'success': False, + 'message': 'Unable to get thread_id from frame_id (thread to get step in targets seems to have resumed already).' + }) + return NetCommand(CMD_RETURN, 0, variables_response, is_json=True) + + py_db.post_method_as_internal_command( + thread_id, internal_get_step_in_targets_json, request.seq, thread_id, frame_id, request, set_additional_thread_info) + + def on_stepout_request(self, py_db, request): + ''' + :param StepOutRequest request: + ''' + arguments = request.arguments # : :type arguments: StepOutArguments + thread_id = arguments.threadId + + if py_db.get_use_libraries_filter(): + step_cmd_id = CMD_STEP_RETURN_MY_CODE + else: + step_cmd_id = CMD_STEP_RETURN + + self.api.request_step(py_db, thread_id, step_cmd_id) + + response = pydevd_base_schema.build_response(request) + return NetCommand(CMD_RETURN, 0, response, is_json=True) + + def _get_hit_condition_expression(self, hit_condition): + '''Following hit condition values are supported + + * x or == x when breakpoint is hit x times + * >= x when breakpoint is hit more than or equal to x times + * % x when breakpoint is hit multiple of x times + + Returns '@HIT@ == x' where @HIT@ will be replaced by number of hits + ''' + if not hit_condition: + return None + + expr = hit_condition.strip() + try: + int(expr) + return '@HIT@ == {}'.format(expr) + except ValueError: + pass + + if expr.startswith('%'): + return '@HIT@ {} == 0'.format(expr) + + if expr.startswith('==') or \ + expr.startswith('>') or \ + expr.startswith('<'): + return '@HIT@ {}'.format(expr) + + return hit_condition + + def on_disconnect_request(self, py_db, request): + ''' + :param DisconnectRequest request: + ''' + if request.arguments.terminateDebuggee: + self._request_terminate_process(py_db) + response = pydevd_base_schema.build_response(request) + return NetCommand(CMD_RETURN, 0, response, is_json=True) + + self._launch_or_attach_request_done = False + py_db.enable_output_redirection(False, False) + self.api.request_disconnect(py_db, resume_threads=True) + + response = pydevd_base_schema.build_response(request) + return NetCommand(CMD_RETURN, 0, response, is_json=True) + + def _verify_launch_or_attach_done(self, request): + if not self._launch_or_attach_request_done: + # Note that to validate the breakpoints we need the launch request to be done already + # (otherwise the filters wouldn't be set for the breakpoint validation). + if request.command == 'setFunctionBreakpoints': + body = SetFunctionBreakpointsResponseBody([]) + else: + body = SetBreakpointsResponseBody([]) + response = pydevd_base_schema.build_response( + request, + kwargs={ + 'body': body, + 'success': False, + 'message': 'Breakpoints may only be set after the launch request is received.' + }) + return NetCommand(CMD_RETURN, 0, response, is_json=True) + + def on_setfunctionbreakpoints_request(self, py_db, request): + ''' + :param SetFunctionBreakpointsRequest request: + ''' + response = self._verify_launch_or_attach_done(request) + if response is not None: + return response + + arguments = request.arguments # : :type arguments: SetFunctionBreakpointsArguments + function_breakpoints = [] + suspend_policy = 'ALL' + + # Not currently covered by the DAP. + is_logpoint = False + expression = None + + breakpoints_set = [] + for bp in arguments.breakpoints: + hit_condition = self._get_hit_condition_expression(bp.get('hitCondition')) + condition = bp.get('condition') + + function_breakpoints.append( + FunctionBreakpoint(bp['name'], condition, expression, suspend_policy, hit_condition, is_logpoint)) + + # Note: always succeeds. + breakpoints_set.append(pydevd_schema.Breakpoint( + verified=True, id=self._next_breakpoint_id()).to_dict()) + + self.api.set_function_breakpoints(py_db, function_breakpoints) + + body = {'breakpoints': breakpoints_set} + set_breakpoints_response = pydevd_base_schema.build_response(request, kwargs={'body': body}) + return NetCommand(CMD_RETURN, 0, set_breakpoints_response, is_json=True) + + def on_setbreakpoints_request(self, py_db, request): + ''' + :param SetBreakpointsRequest request: + ''' + response = self._verify_launch_or_attach_done(request) + if response is not None: + return response + + arguments = request.arguments # : :type arguments: SetBreakpointsArguments + # TODO: Path is optional here it could be source reference. + filename = self.api.filename_to_str(arguments.source.path) + func_name = 'None' + + self.api.remove_all_breakpoints(py_db, filename) + + btype = 'python-line' + suspend_policy = 'ALL' + + if not filename.lower().endswith('.py'): # Note: check based on original file, not mapping. + if self._options.django_debug: + btype = 'django-line' + elif self._options.flask_debug: + btype = 'jinja2-line' + + breakpoints_set = [] + + for source_breakpoint in arguments.breakpoints: + source_breakpoint = SourceBreakpoint(**source_breakpoint) + line = source_breakpoint.line + condition = source_breakpoint.condition + breakpoint_id = self._next_breakpoint_id() + + hit_condition = self._get_hit_condition_expression(source_breakpoint.hitCondition) + log_message = source_breakpoint.logMessage + if not log_message: + is_logpoint = None + expression = None + else: + is_logpoint = True + expression = convert_dap_log_message_to_expression(log_message) + + on_changed_breakpoint_state = partial(self._on_changed_breakpoint_state, py_db, arguments.source) + result = self.api.add_breakpoint( + py_db, filename, btype, breakpoint_id, line, condition, func_name, expression, + suspend_policy, hit_condition, is_logpoint, adjust_line=True, on_changed_breakpoint_state=on_changed_breakpoint_state) + + bp = self._create_breakpoint_from_add_breakpoint_result(py_db, arguments.source, breakpoint_id, result) + breakpoints_set.append(bp) + + body = {'breakpoints': breakpoints_set} + set_breakpoints_response = pydevd_base_schema.build_response(request, kwargs={'body': body}) + return NetCommand(CMD_RETURN, 0, set_breakpoints_response, is_json=True) + + def _on_changed_breakpoint_state(self, py_db, source, breakpoint_id, result): + bp = self._create_breakpoint_from_add_breakpoint_result(py_db, source, breakpoint_id, result) + body = BreakpointEventBody( + reason='changed', + breakpoint=bp, + ) + event = BreakpointEvent(body) + event_id = 0 # Actually ignored in this case + py_db.writer.add_command(NetCommand(event_id, 0, event, is_json=True)) + + def _create_breakpoint_from_add_breakpoint_result(self, py_db, source, breakpoint_id, result): + error_code = result.error_code + + if error_code: + if error_code == self.api.ADD_BREAKPOINT_FILE_NOT_FOUND: + error_msg = 'Breakpoint in file that does not exist.' + + elif error_code == self.api.ADD_BREAKPOINT_FILE_EXCLUDED_BY_FILTERS: + error_msg = 'Breakpoint in file excluded by filters.' + if py_db.get_use_libraries_filter(): + error_msg += ('\nNote: may be excluded because of "justMyCode" option (default == true).' + 'Try setting \"justMyCode\": false in the debug configuration (e.g., launch.json).\n') + + elif error_code == self.api.ADD_BREAKPOINT_LAZY_VALIDATION: + error_msg = 'Waiting for code to be loaded to verify breakpoint.' + + elif error_code == self.api.ADD_BREAKPOINT_INVALID_LINE: + error_msg = 'Breakpoint added to invalid line.' + + else: + # Shouldn't get here. + error_msg = 'Breakpoint not validated (reason unknown -- please report as bug).' + + return pydevd_schema.Breakpoint( + verified=False, id=breakpoint_id, line=result.translated_line, message=error_msg, source=source).to_dict() + else: + return pydevd_schema.Breakpoint( + verified=True, id=breakpoint_id, line=result.translated_line, source=source).to_dict() + + def on_setexceptionbreakpoints_request(self, py_db, request): + ''' + :param SetExceptionBreakpointsRequest request: + ''' + # : :type arguments: SetExceptionBreakpointsArguments + arguments = request.arguments + filters = arguments.filters + exception_options = arguments.exceptionOptions + self.api.remove_all_exception_breakpoints(py_db) + + # Can't set these in the DAP. + condition = None + expression = None + notify_on_first_raise_only = False + + ignore_libraries = 1 if py_db.get_use_libraries_filter() else 0 + + if exception_options: + break_raised = False + break_uncaught = False + + for option in exception_options: + option = ExceptionOptions(**option) + if not option.path: + continue + + # never: never breaks + # + # always: always breaks + # + # unhandled: breaks when exception unhandled + # + # userUnhandled: breaks if the exception is not handled by user code + + notify_on_handled_exceptions = 1 if option.breakMode == 'always' else 0 + notify_on_unhandled_exceptions = 1 if option.breakMode == 'unhandled' else 0 + notify_on_user_unhandled_exceptions = 1 if option.breakMode == 'userUnhandled' else 0 + exception_paths = option.path + break_raised |= notify_on_handled_exceptions + break_uncaught |= notify_on_unhandled_exceptions + + exception_names = [] + if len(exception_paths) == 0: + continue + + elif len(exception_paths) == 1: + if 'Python Exceptions' in exception_paths[0]['names']: + exception_names = ['BaseException'] + + else: + path_iterator = iter(exception_paths) + if 'Python Exceptions' in next(path_iterator)['names']: + for path in path_iterator: + for ex_name in path['names']: + exception_names.append(ex_name) + + for exception_name in exception_names: + self.api.add_python_exception_breakpoint( + py_db, + exception_name, + condition, + expression, + notify_on_handled_exceptions, + notify_on_unhandled_exceptions, + notify_on_user_unhandled_exceptions, + notify_on_first_raise_only, + ignore_libraries + ) + + else: + break_raised = 'raised' in filters + break_uncaught = 'uncaught' in filters + break_user = 'userUnhandled' in filters + if break_raised or break_uncaught or break_user: + notify_on_handled_exceptions = 1 if break_raised else 0 + notify_on_unhandled_exceptions = 1 if break_uncaught else 0 + notify_on_user_unhandled_exceptions = 1 if break_user else 0 + exception = 'BaseException' + + self.api.add_python_exception_breakpoint( + py_db, + exception, + condition, + expression, + notify_on_handled_exceptions, + notify_on_unhandled_exceptions, + notify_on_user_unhandled_exceptions, + notify_on_first_raise_only, + ignore_libraries + ) + + if break_raised: + btype = None + if self._options.django_debug: + btype = 'django' + elif self._options.flask_debug: + btype = 'jinja2' + + if btype: + self.api.add_plugins_exception_breakpoint( + py_db, btype, 'BaseException') # Note: Exception name could be anything here. + + # Note: no body required on success. + set_breakpoints_response = pydevd_base_schema.build_response(request) + return NetCommand(CMD_RETURN, 0, set_breakpoints_response, is_json=True) + + def on_stacktrace_request(self, py_db, request): + ''' + :param StackTraceRequest request: + ''' + # : :type stack_trace_arguments: StackTraceArguments + stack_trace_arguments = request.arguments + thread_id = stack_trace_arguments.threadId + + if stack_trace_arguments.startFrame: + start_frame = int(stack_trace_arguments.startFrame) + else: + start_frame = 0 + + if stack_trace_arguments.levels: + levels = int(stack_trace_arguments.levels) + else: + levels = 0 + + fmt = stack_trace_arguments.format + if hasattr(fmt, 'to_dict'): + fmt = fmt.to_dict() + self.api.request_stack(py_db, request.seq, thread_id, fmt=fmt, start_frame=start_frame, levels=levels) + + def on_exceptioninfo_request(self, py_db, request): + ''' + :param ExceptionInfoRequest request: + ''' + # : :type exception_into_arguments: ExceptionInfoArguments + exception_into_arguments = request.arguments + thread_id = exception_into_arguments.threadId + max_frames = self._options.max_exception_stack_frames + self.api.request_exception_info_json(py_db, request, thread_id, max_frames) + + def on_scopes_request(self, py_db, request): + ''' + Scopes are the top-level items which appear for a frame (so, we receive the frame id + and provide the scopes it has). + + :param ScopesRequest request: + ''' + frame_id = request.arguments.frameId + + variables_reference = frame_id + scopes = [ + Scope('Locals', ScopeRequest(int(variables_reference), 'locals'), False, presentationHint='locals'), + Scope('Globals', ScopeRequest(int(variables_reference), 'globals'), False), + ] + body = ScopesResponseBody(scopes) + scopes_response = pydevd_base_schema.build_response(request, kwargs={'body': body}) + return NetCommand(CMD_RETURN, 0, scopes_response, is_json=True) + + def on_evaluate_request(self, py_db, request): + ''' + :param EvaluateRequest request: + ''' + # : :type arguments: EvaluateArguments + arguments = request.arguments + + if arguments.frameId is None: + self.api.request_exec_or_evaluate_json(py_db, request, thread_id='*') + else: + thread_id = py_db.suspended_frames_manager.get_thread_id_for_variable_reference( + arguments.frameId) + + if thread_id is not None: + self.api.request_exec_or_evaluate_json( + py_db, request, thread_id) + else: + body = EvaluateResponseBody('', 0) + response = pydevd_base_schema.build_response( + request, + kwargs={ + 'body': body, + 'success': False, + 'message': 'Unable to find thread for evaluation.' + }) + return NetCommand(CMD_RETURN, 0, response, is_json=True) + + def on_setexpression_request(self, py_db, request): + # : :type arguments: SetExpressionArguments + arguments = request.arguments + + thread_id = py_db.suspended_frames_manager.get_thread_id_for_variable_reference( + arguments.frameId) + + if thread_id is not None: + self.api.request_set_expression_json(py_db, request, thread_id) + else: + body = SetExpressionResponseBody('') + response = pydevd_base_schema.build_response( + request, + kwargs={ + 'body': body, + 'success': False, + 'message': 'Unable to find thread to set expression.' + }) + return NetCommand(CMD_RETURN, 0, response, is_json=True) + + def on_variables_request(self, py_db, request): + ''' + Variables can be asked whenever some place returned a variables reference (so, it + can be a scope gotten from on_scopes_request, the result of some evaluation, etc.). + + Note that in the DAP the variables reference requires a unique int... the way this works for + pydevd is that an instance is generated for that specific variable reference and we use its + id(instance) to identify it to make sure all items are unique (and the actual {id->instance} + is added to a dict which is only valid while the thread is suspended and later cleared when + the related thread resumes execution). + + see: SuspendedFramesManager + + :param VariablesRequest request: + ''' + arguments = request.arguments # : :type arguments: VariablesArguments + variables_reference = arguments.variablesReference + + if isinstance(variables_reference, ScopeRequest): + variables_reference = variables_reference.variable_reference + + thread_id = py_db.suspended_frames_manager.get_thread_id_for_variable_reference( + variables_reference) + if thread_id is not None: + self.api.request_get_variable_json(py_db, request, thread_id) + else: + variables = [] + body = VariablesResponseBody(variables) + variables_response = pydevd_base_schema.build_response(request, kwargs={ + 'body': body, + 'success': False, + 'message': 'Unable to find thread to evaluate variable reference.' + }) + return NetCommand(CMD_RETURN, 0, variables_response, is_json=True) + + def on_setvariable_request(self, py_db, request): + arguments = request.arguments # : :type arguments: SetVariableArguments + variables_reference = arguments.variablesReference + + if isinstance(variables_reference, ScopeRequest): + variables_reference = variables_reference.variable_reference + + if arguments.name.startswith('(return) '): + response = pydevd_base_schema.build_response( + request, + kwargs={ + 'body': SetVariableResponseBody(''), + 'success': False, + 'message': 'Cannot change return value' + }) + return NetCommand(CMD_RETURN, 0, response, is_json=True) + + thread_id = py_db.suspended_frames_manager.get_thread_id_for_variable_reference( + variables_reference) + + if thread_id is not None: + self.api.request_change_variable_json(py_db, request, thread_id) + else: + response = pydevd_base_schema.build_response( + request, + kwargs={ + 'body': SetVariableResponseBody(''), + 'success': False, + 'message': 'Unable to find thread to evaluate variable reference.' + }) + return NetCommand(CMD_RETURN, 0, response, is_json=True) + + def on_modules_request(self, py_db, request): + modules_manager = py_db.cmd_factory.modules_manager # : :type modules_manager: ModulesManager + modules_info = modules_manager.get_modules_info() + body = ModulesResponseBody(modules_info) + variables_response = pydevd_base_schema.build_response(request, kwargs={'body': body}) + return NetCommand(CMD_RETURN, 0, variables_response, is_json=True) + + def on_source_request(self, py_db, request): + ''' + :param SourceRequest request: + ''' + source_reference = request.arguments.sourceReference + server_filename = None + content = None + + if source_reference != 0: + server_filename = pydevd_file_utils.get_server_filename_from_source_reference(source_reference) + if not server_filename: + server_filename = pydevd_file_utils.get_source_reference_filename_from_linecache(source_reference) + + if server_filename: + # Try direct file access first - it's much faster when available. + try: + with open(server_filename, 'r') as stream: + content = stream.read() + except: + pass + + if content is None: + # File might not exist at all, or we might not have a permission to read it, + # but it might also be inside a zipfile, or an IPython cell. In this case, + # linecache might still be able to retrieve the source. + lines = (linecache.getline(server_filename, i) for i in itertools.count(1)) + lines = itertools.takewhile(bool, lines) # empty lines are '\n', EOF is '' + + # If we didn't get at least one line back, reset it to None so that it's + # reported as error below, and not as an empty file. + content = ''.join(lines) or None + + if content is None: + frame_id = pydevd_file_utils.get_frame_id_from_source_reference(source_reference) + pydev_log.debug('Found frame id: %s for source reference: %s', frame_id, source_reference) + if frame_id is not None: + try: + content = self.api.get_decompiled_source_from_frame_id(py_db, frame_id) + except Exception: + pydev_log.exception('Error getting source for frame id: %s', frame_id) + content = None + + body = SourceResponseBody(content or '') + response_args = {'body': body} + + if content is None: + if source_reference == 0: + message = 'Source unavailable' + elif server_filename: + message = 'Unable to retrieve source for %s' % (server_filename,) + else: + message = 'Invalid sourceReference %d' % (source_reference,) + response_args.update({'success': False, 'message': message}) + + response = pydevd_base_schema.build_response(request, kwargs=response_args) + return NetCommand(CMD_RETURN, 0, response, is_json=True) + + def on_gototargets_request(self, py_db, request): + path = request.arguments.source.path + line = request.arguments.line + target_id = self._goto_targets_map.obtain_key((path, line)) + target = { + 'id': target_id, + 'label': '%s:%s' % (path, line), + 'line': line + } + body = GotoTargetsResponseBody(targets=[target]) + response_args = {'body': body} + response = pydevd_base_schema.build_response(request, kwargs=response_args) + return NetCommand(CMD_RETURN, 0, response, is_json=True) + + def on_goto_request(self, py_db, request): + target_id = int(request.arguments.targetId) + thread_id = request.arguments.threadId + try: + path, line = self._goto_targets_map.obtain_value(target_id) + except KeyError: + response = pydevd_base_schema.build_response( + request, + kwargs={ + 'body': {}, + 'success': False, + 'message': 'Unknown goto target id: %d' % (target_id,), + }) + return NetCommand(CMD_RETURN, 0, response, is_json=True) + + self.api.request_set_next(py_db, request.seq, thread_id, CMD_SET_NEXT_STATEMENT, path, line, '*') + # See 'NetCommandFactoryJson.make_set_next_stmnt_status_message' for response + return None + + def on_setdebuggerproperty_request(self, py_db, request): + args = request.arguments # : :type args: SetDebuggerPropertyArguments + if args.ideOS is not None: + self.api.set_ide_os(args.ideOS) + + if args.dontTraceStartPatterns is not None and args.dontTraceEndPatterns is not None: + start_patterns = tuple(args.dontTraceStartPatterns) + end_patterns = tuple(args.dontTraceEndPatterns) + self.api.set_dont_trace_start_end_patterns(py_db, start_patterns, end_patterns) + + if args.skipSuspendOnBreakpointException is not None: + py_db.skip_suspend_on_breakpoint_exception = tuple( + get_exception_class(x) for x in args.skipSuspendOnBreakpointException) + + if args.skipPrintBreakpointException is not None: + py_db.skip_print_breakpoint_exception = tuple( + get_exception_class(x) for x in args.skipPrintBreakpointException) + + if args.multiThreadsSingleNotification is not None: + py_db.multi_threads_single_notification = args.multiThreadsSingleNotification + + # TODO: Support other common settings. Note that not all of these might be relevant to python. + # JustMyCodeStepping: 0 or 1 + # AllowOutOfProcessSymbols: 0 or 1 + # DisableJITOptimization: 0 or 1 + # InterpreterOptions: 0 or 1 + # StopOnExceptionCrossingManagedBoundary: 0 or 1 + # WarnIfNoUserCodeOnLaunch: 0 or 1 + # EnableStepFiltering: true of false + + response = pydevd_base_schema.build_response(request, kwargs={'body': {}}) + return NetCommand(CMD_RETURN, 0, response, is_json=True) + + def on_pydevdsysteminfo_request(self, py_db, request): + try: + pid = os.getpid() + except AttributeError: + pid = None + + # It's possible to have the ppid reported from args. In this case, use that instead of the + # real ppid (athough we're using `ppid`, what we want in meaning is the `launcher_pid` -- + # so, if a python process is launched from another python process, consider that process the + # parent and not any intermediary stubs). + + ppid = py_db.get_arg_ppid() or self.api.get_ppid() + + try: + impl_desc = platform.python_implementation() + except AttributeError: + impl_desc = PY_IMPL_NAME + + py_info = pydevd_schema.PydevdPythonInfo( + version=PY_VERSION_STR, + implementation=pydevd_schema.PydevdPythonImplementationInfo( + name=PY_IMPL_NAME, + version=PY_IMPL_VERSION_STR, + description=impl_desc, + ) + ) + platform_info = pydevd_schema.PydevdPlatformInfo(name=sys.platform) + process_info = pydevd_schema.PydevdProcessInfo( + pid=pid, + ppid=ppid, + executable=sys.executable, + bitness=64 if IS_64BIT_PROCESS else 32, + ) + pydevd_info = pydevd_schema.PydevdInfo( + usingCython=USING_CYTHON, + usingFrameEval=USING_FRAME_EVAL, + ) + body = { + 'python': py_info, + 'platform': platform_info, + 'process': process_info, + 'pydevd': pydevd_info, + } + response = pydevd_base_schema.build_response(request, kwargs={'body': body}) + return NetCommand(CMD_RETURN, 0, response, is_json=True) + + def on_setpydevdsourcemap_request(self, py_db, request): + args = request.arguments # : :type args: SetPydevdSourceMapArguments + SourceMappingEntry = self.api.SourceMappingEntry + + path = args.source.path + source_maps = args.pydevdSourceMaps + # : :type source_map: PydevdSourceMap + new_mappings = [ + SourceMappingEntry( + source_map['line'], + source_map['endLine'], + source_map['runtimeLine'], + self.api.filename_to_str(source_map['runtimeSource']['path']) + ) for source_map in source_maps + ] + + error_msg = self.api.set_source_mapping(py_db, path, new_mappings) + if error_msg: + response = pydevd_base_schema.build_response( + request, + kwargs={ + 'body': {}, + 'success': False, + 'message': error_msg, + }) + return NetCommand(CMD_RETURN, 0, response, is_json=True) + + response = pydevd_base_schema.build_response(request) + return NetCommand(CMD_RETURN, 0, response, is_json=True) + diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_referrers.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_referrers.py new file mode 100644 index 0000000..c7e1bfa --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_referrers.py @@ -0,0 +1,257 @@ +import sys +from _pydevd_bundle import pydevd_xml +from os.path import basename +from _pydev_bundle import pydev_log +from urllib.parse import unquote_plus +from _pydevd_bundle.pydevd_constants import IS_PY311_OR_GREATER + + +#=================================================================================================== +# print_var_node +#=================================================================================================== +def print_var_node(xml_node, stream): + name = xml_node.getAttribute('name') + value = xml_node.getAttribute('value') + val_type = xml_node.getAttribute('type') + + found_as = xml_node.getAttribute('found_as') + stream.write('Name: ') + stream.write(unquote_plus(name)) + stream.write(', Value: ') + stream.write(unquote_plus(value)) + stream.write(', Type: ') + stream.write(unquote_plus(val_type)) + if found_as: + stream.write(', Found as: %s' % (unquote_plus(found_as),)) + stream.write('\n') + + +#=================================================================================================== +# print_referrers +#=================================================================================================== +def print_referrers(obj, stream=None): + if stream is None: + stream = sys.stdout + result = get_referrer_info(obj) + from xml.dom.minidom import parseString + dom = parseString(result) + + xml = dom.getElementsByTagName('xml')[0] + for node in xml.childNodes: + if node.nodeType == node.TEXT_NODE: + continue + + if node.localName == 'for': + stream.write('Searching references for: ') + for child in node.childNodes: + if child.nodeType == node.TEXT_NODE: + continue + print_var_node(child, stream) + + elif node.localName == 'var': + stream.write('Referrer found: ') + print_var_node(node, stream) + + else: + sys.stderr.write('Unhandled node: %s\n' % (node,)) + + return result + + +#=================================================================================================== +# get_referrer_info +#=================================================================================================== +def get_referrer_info(searched_obj): + DEBUG = 0 + if DEBUG: + sys.stderr.write('Getting referrers info.\n') + try: + try: + if searched_obj is None: + ret = ['\n'] + + ret.append('\n') + ret.append(pydevd_xml.var_to_xml( + searched_obj, + 'Skipping getting referrers for None', + additional_in_xml=' id="%s"' % (id(searched_obj),))) + ret.append('\n') + ret.append('') + ret = ''.join(ret) + return ret + + obj_id = id(searched_obj) + + try: + if DEBUG: + sys.stderr.write('Getting referrers...\n') + import gc + referrers = gc.get_referrers(searched_obj) + except: + pydev_log.exception() + ret = ['\n'] + + ret.append('\n') + ret.append(pydevd_xml.var_to_xml( + searched_obj, + 'Exception raised while trying to get_referrers.', + additional_in_xml=' id="%s"' % (id(searched_obj),))) + ret.append('\n') + ret.append('') + ret = ''.join(ret) + return ret + + if DEBUG: + sys.stderr.write('Found %s referrers.\n' % (len(referrers),)) + + curr_frame = sys._getframe() + frame_type = type(curr_frame) + + # Ignore this frame and any caller frame of this frame + + ignore_frames = {} # Should be a set, but it's not available on all python versions. + while curr_frame is not None: + if basename(curr_frame.f_code.co_filename).startswith('pydev'): + ignore_frames[curr_frame] = 1 + curr_frame = curr_frame.f_back + + ret = ['\n'] + + ret.append('\n') + if DEBUG: + sys.stderr.write('Searching Referrers of obj with id="%s"\n' % (obj_id,)) + + ret.append(pydevd_xml.var_to_xml( + searched_obj, + 'Referrers of obj with id="%s"' % (obj_id,))) + ret.append('\n') + + curr_frame = sys._getframe() + all_objects = None + + for r in referrers: + try: + if r in ignore_frames: + continue # Skip the references we may add ourselves + except: + pass # Ok: unhashable type checked... + + if r is referrers: + continue + + if r is curr_frame.f_locals: + continue + + r_type = type(r) + r_id = str(id(r)) + + representation = str(r_type) + + found_as = '' + if r_type == frame_type: + if DEBUG: + sys.stderr.write('Found frame referrer: %r\n' % (r,)) + for key, val in r.f_locals.items(): + if val is searched_obj: + found_as = key + break + + elif r_type == dict: + if DEBUG: + sys.stderr.write('Found dict referrer: %r\n' % (r,)) + + # Try to check if it's a value in the dict (and under which key it was found) + for key, val in r.items(): + if val is searched_obj: + found_as = key + if DEBUG: + sys.stderr.write(' Found as %r in dict\n' % (found_as,)) + break + + # Ok, there's one annoying thing: many times we find it in a dict from an instance, + # but with this we don't directly have the class, only the dict, so, to workaround that + # we iterate over all reachable objects ad check if one of those has the given dict. + if all_objects is None: + all_objects = gc.get_objects() + + for x in all_objects: + try: + if getattr(x, '__dict__', None) is r: + r = x + r_type = type(x) + r_id = str(id(r)) + representation = str(r_type) + break + except: + pass # Just ignore any error here (i.e.: ReferenceError, etc.) + + elif r_type in (tuple, list): + if DEBUG: + sys.stderr.write('Found tuple referrer: %r\n' % (r,)) + + for i, x in enumerate(r): + if x is searched_obj: + found_as = '%s[%s]' % (r_type.__name__, i) + if DEBUG: + sys.stderr.write(' Found as %s in tuple: \n' % (found_as,)) + break + + elif IS_PY311_OR_GREATER: + # Up to Python 3.10, gc.get_referrers for an instance actually returned the + # object.__dict__, but on Python 3.11 it returns the actual object, so, + # handling is a bit easier (we don't need the workaround from the dict + # case to find the actual instance, we just need to find the attribute name). + if DEBUG: + sys.stderr.write('Found dict referrer: %r\n' % (r,)) + + dct = getattr(r, '__dict__', None) + if dct: + # Try to check if it's a value in the dict (and under which key it was found) + for key, val in dct.items(): + if val is searched_obj: + found_as = key + if DEBUG: + sys.stderr.write(' Found as %r in object instance\n' % (found_as,)) + break + + if found_as: + if not isinstance(found_as, str): + found_as = str(found_as) + found_as = ' found_as="%s"' % (pydevd_xml.make_valid_xml_value(found_as),) + + ret.append(pydevd_xml.var_to_xml( + r, + representation, + additional_in_xml=' id="%s"%s' % (r_id, found_as))) + finally: + if DEBUG: + sys.stderr.write('Done searching for references.\n') + + # If we have any exceptions, don't keep dangling references from this frame to any of our objects. + all_objects = None + referrers = None + searched_obj = None + r = None + x = None + key = None + val = None + curr_frame = None + ignore_frames = None + except: + pydev_log.exception() + ret = ['\n'] + + ret.append('\n') + ret.append(pydevd_xml.var_to_xml( + searched_obj, + 'Error getting referrers for:', + additional_in_xml=' id="%s"' % (id(searched_obj),))) + ret.append('\n') + ret.append('') + ret = ''.join(ret) + return ret + + ret.append('') + ret = ''.join(ret) + return ret + diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_reload.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_reload.py new file mode 100644 index 0000000..507e73b --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_reload.py @@ -0,0 +1,433 @@ +""" +Based on the python xreload. + +Changes +====================== + +1. we don't recreate the old namespace from new classes. Rather, we keep the existing namespace, +load a new version of it and update only some of the things we can inplace. That way, we don't break +things such as singletons or end up with a second representation of the same class in memory. + +2. If we find it to be a __metaclass__, we try to update it as a regular class. + +3. We don't remove old attributes (and leave them lying around even if they're no longer used). + +4. Reload hooks were changed + +These changes make it more stable, especially in the common case (where in a debug session only the +contents of a function are changed), besides providing flexibility for users that want to extend +on it. + + + +Hooks +====================== + +Classes/modules can be specially crafted to work with the reload (so that it can, for instance, +update some constant which was changed). + +1. To participate in the change of some attribute: + + In a module: + + __xreload_old_new__(namespace, name, old, new) + + in a class: + + @classmethod + __xreload_old_new__(cls, name, old, new) + + A class or module may include a method called '__xreload_old_new__' which is called when we're + unable to reload a given attribute. + + + +2. To do something after the whole reload is finished: + + In a module: + + __xreload_after_reload_update__(namespace): + + In a class: + + @classmethod + __xreload_after_reload_update__(cls): + + + A class or module may include a method called '__xreload_after_reload_update__' which is called + after the reload finishes. + + +Important: when providing a hook, always use the namespace or cls provided and not anything in the global +namespace, as the global namespace are only temporarily created during the reload and may not reflect the +actual application state (while the cls and namespace passed are). + + +Current limitations +====================== + + +- Attributes/constants are added, but not changed (so singletons and the application state is not + broken -- use provided hooks to workaround it). + +- Code using metaclasses may not always work. + +- Functions and methods using decorators (other than classmethod and staticmethod) are not handled + correctly. + +- Renamings are not handled correctly. + +- Dependent modules are not reloaded. + +- New __slots__ can't be added to existing classes. + + +Info +====================== + +Original: http://svn.python.org/projects/sandbox/trunk/xreload/xreload.py +Note: it seems https://github.com/plone/plone.reload/blob/master/plone/reload/xreload.py enhances it (to check later) + +Interesting alternative: https://code.google.com/p/reimport/ + +Alternative to reload(). + +This works by executing the module in a scratch namespace, and then patching classes, methods and +functions in place. This avoids the need to patch instances. New objects are copied into the +target namespace. + +""" + +from _pydev_bundle.pydev_imports import execfile +from _pydevd_bundle import pydevd_dont_trace +import types +from _pydev_bundle import pydev_log +from _pydevd_bundle.pydevd_constants import get_global_debugger + +NO_DEBUG = 0 +LEVEL1 = 1 +LEVEL2 = 2 + +DEBUG = NO_DEBUG + + +def write_err(*args): + py_db = get_global_debugger() + if py_db is not None: + new_lst = [] + for a in args: + new_lst.append(str(a)) + + msg = ' '.join(new_lst) + s = 'code reload: %s\n' % (msg,) + cmd = py_db.cmd_factory.make_io_message(s, 2) + if py_db.writer is not None: + py_db.writer.add_command(cmd) + + +def notify_info0(*args): + write_err(*args) + + +def notify_info(*args): + if DEBUG >= LEVEL1: + write_err(*args) + + +def notify_info2(*args): + if DEBUG >= LEVEL2: + write_err(*args) + + +def notify_error(*args): + write_err(*args) + + +#======================================================================================================================= +# code_objects_equal +#======================================================================================================================= +def code_objects_equal(code0, code1): + for d in dir(code0): + if d.startswith('_') or 'line' in d or d in ('replace', 'co_positions', 'co_qualname'): + continue + if getattr(code0, d) != getattr(code1, d): + return False + return True + + +#======================================================================================================================= +# xreload +#======================================================================================================================= +def xreload(mod): + """Reload a module in place, updating classes, methods and functions. + + mod: a module object + + Returns a boolean indicating whether a change was done. + """ + r = Reload(mod) + r.apply() + found_change = r.found_change + r = None + pydevd_dont_trace.clear_trace_filter_cache() + return found_change + +# This isn't actually used... Initially I planned to reload variables which are immutable on the +# namespace, but this can destroy places where we're saving state, which may not be what we want, +# so, we're being conservative and giving the user hooks if he wants to do a reload. +# +# immutable_types = [int, str, float, tuple] #That should be common to all Python versions +# +# for name in 'long basestr unicode frozenset'.split(): +# try: +# immutable_types.append(__builtins__[name]) +# except: +# pass #Just ignore: not all python versions are created equal. +# immutable_types = tuple(immutable_types) + + +#======================================================================================================================= +# Reload +#======================================================================================================================= +class Reload: + + def __init__(self, mod, mod_name=None, mod_filename=None): + self.mod = mod + if mod_name: + self.mod_name = mod_name + else: + self.mod_name = mod.__name__ if mod is not None else None + + if mod_filename: + self.mod_filename = mod_filename + else: + self.mod_filename = mod.__file__ if mod is not None else None + + self.found_change = False + + def apply(self): + mod = self.mod + self._on_finish_callbacks = [] + try: + # Get the module namespace (dict) early; this is part of the type check + modns = mod.__dict__ + + # Execute the code. We copy the module dict to a temporary; then + # clear the module dict; then execute the new code in the module + # dict; then swap things back and around. This trick (due to + # Glyph Lefkowitz) ensures that the (readonly) __globals__ + # attribute of methods and functions is set to the correct dict + # object. + new_namespace = modns.copy() + new_namespace.clear() + if self.mod_filename: + new_namespace["__file__"] = self.mod_filename + try: + new_namespace["__builtins__"] = __builtins__ + except NameError: + raise # Ok if not there. + + if self.mod_name: + new_namespace["__name__"] = self.mod_name + if new_namespace["__name__"] == '__main__': + # We do this because usually the __main__ starts-up the program, guarded by + # the if __name__ == '__main__', but we don't want to start the program again + # on a reload. + new_namespace["__name__"] = '__main_reloaded__' + + execfile(self.mod_filename, new_namespace, new_namespace) + # Now we get to the hard part + oldnames = set(modns) + newnames = set(new_namespace) + + # Create new tokens (note: not deleting existing) + for name in newnames - oldnames: + notify_info0('Added:', name, 'to namespace') + self.found_change = True + modns[name] = new_namespace[name] + + # Update in-place what we can + for name in oldnames & newnames: + self._update(modns, name, modns[name], new_namespace[name]) + + self._handle_namespace(modns) + + for c in self._on_finish_callbacks: + c() + del self._on_finish_callbacks[:] + except: + pydev_log.exception() + + def _handle_namespace(self, namespace, is_class_namespace=False): + on_finish = None + if is_class_namespace: + xreload_after_update = getattr(namespace, '__xreload_after_reload_update__', None) + if xreload_after_update is not None: + self.found_change = True + on_finish = lambda: xreload_after_update() + + elif '__xreload_after_reload_update__' in namespace: + xreload_after_update = namespace['__xreload_after_reload_update__'] + self.found_change = True + on_finish = lambda: xreload_after_update(namespace) + + if on_finish is not None: + # If a client wants to know about it, give him a chance. + self._on_finish_callbacks.append(on_finish) + + def _update(self, namespace, name, oldobj, newobj, is_class_namespace=False): + """Update oldobj, if possible in place, with newobj. + + If oldobj is immutable, this simply returns newobj. + + Args: + oldobj: the object to be updated + newobj: the object used as the source for the update + """ + try: + notify_info2('Updating: ', oldobj) + if oldobj is newobj: + # Probably something imported + return + + if type(oldobj) is not type(newobj): + # Cop-out: if the type changed, give up + if name not in ('__builtins__',): + notify_error('Type of: %s (old: %s != new: %s) changed... Skipping.' % (name, type(oldobj), type(newobj))) + return + + if isinstance(newobj, types.FunctionType): + self._update_function(oldobj, newobj) + return + + if isinstance(newobj, types.MethodType): + self._update_method(oldobj, newobj) + return + + if isinstance(newobj, classmethod): + self._update_classmethod(oldobj, newobj) + return + + if isinstance(newobj, staticmethod): + self._update_staticmethod(oldobj, newobj) + return + + if hasattr(types, 'ClassType'): + classtype = (types.ClassType, type) # object is not instance of types.ClassType. + else: + classtype = type + + if isinstance(newobj, classtype): + self._update_class(oldobj, newobj) + return + + # New: dealing with metaclasses. + if hasattr(newobj, '__metaclass__') and hasattr(newobj, '__class__') and newobj.__metaclass__ == newobj.__class__: + self._update_class(oldobj, newobj) + return + + if namespace is not None: + # Check for the `__xreload_old_new__` protocol (don't even compare things + # as even doing a comparison may break things -- see: https://github.com/microsoft/debugpy/issues/615). + xreload_old_new = None + if is_class_namespace: + xreload_old_new = getattr(namespace, '__xreload_old_new__', None) + if xreload_old_new is not None: + self.found_change = True + xreload_old_new(name, oldobj, newobj) + + elif '__xreload_old_new__' in namespace: + xreload_old_new = namespace['__xreload_old_new__'] + xreload_old_new(namespace, name, oldobj, newobj) + self.found_change = True + + # Too much information to the user... + # else: + # notify_info0('%s NOT updated. Create __xreload_old_new__(name, old, new) for custom reload' % (name,)) + + except: + notify_error('Exception found when updating %s. Proceeding for other items.' % (name,)) + pydev_log.exception() + + # All of the following functions have the same signature as _update() + + def _update_function(self, oldfunc, newfunc): + """Update a function object.""" + oldfunc.__doc__ = newfunc.__doc__ + oldfunc.__dict__.update(newfunc.__dict__) + + try: + newfunc.__code__ + attr_name = '__code__' + except AttributeError: + newfunc.func_code + attr_name = 'func_code' + + old_code = getattr(oldfunc, attr_name) + new_code = getattr(newfunc, attr_name) + if not code_objects_equal(old_code, new_code): + notify_info0('Updated function code:', oldfunc) + setattr(oldfunc, attr_name, new_code) + self.found_change = True + + try: + oldfunc.__defaults__ = newfunc.__defaults__ + except AttributeError: + oldfunc.func_defaults = newfunc.func_defaults + + return oldfunc + + def _update_method(self, oldmeth, newmeth): + """Update a method object.""" + # XXX What if im_func is not a function? + if hasattr(oldmeth, 'im_func') and hasattr(newmeth, 'im_func'): + self._update(None, None, oldmeth.im_func, newmeth.im_func) + elif hasattr(oldmeth, '__func__') and hasattr(newmeth, '__func__'): + self._update(None, None, oldmeth.__func__, newmeth.__func__) + return oldmeth + + def _update_class(self, oldclass, newclass): + """Update a class object.""" + olddict = oldclass.__dict__ + newdict = newclass.__dict__ + + oldnames = set(olddict) + newnames = set(newdict) + + for name in newnames - oldnames: + setattr(oldclass, name, newdict[name]) + notify_info0('Added:', name, 'to', oldclass) + self.found_change = True + + # Note: not removing old things... + # for name in oldnames - newnames: + # notify_info('Removed:', name, 'from', oldclass) + # delattr(oldclass, name) + + for name in (oldnames & newnames) - set(['__dict__', '__doc__']): + self._update(oldclass, name, olddict[name], newdict[name], is_class_namespace=True) + + old_bases = getattr(oldclass, '__bases__', None) + new_bases = getattr(newclass, '__bases__', None) + if str(old_bases) != str(new_bases): + notify_error('Changing the hierarchy of a class is not supported. %s may be inconsistent.' % (oldclass,)) + + self._handle_namespace(oldclass, is_class_namespace=True) + + def _update_classmethod(self, oldcm, newcm): + """Update a classmethod update.""" + # While we can't modify the classmethod object itself (it has no + # mutable attributes), we *can* extract the underlying function + # (by calling __get__(), which returns a method object) and update + # it in-place. We don't have the class available to pass to + # __get__() but any object except None will do. + self._update(None, None, oldcm.__get__(0), newcm.__get__(0)) + + def _update_staticmethod(self, oldsm, newsm): + """Update a staticmethod update.""" + # While we can't modify the staticmethod object itself (it has no + # mutable attributes), we *can* extract the underlying function + # (by calling __get__(), which returns it) and update it in-place. + # We don't have the class available to pass to __get__() but any + # object except None will do. + self._update(None, None, oldsm.__get__(0), newsm.__get__(0)) diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_resolver.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_resolver.py new file mode 100644 index 0000000..ac7aa10 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_resolver.py @@ -0,0 +1,723 @@ +from _pydev_bundle import pydev_log +from _pydevd_bundle.pydevd_utils import hasattr_checked, DAPGrouper, Timer +from io import StringIO +import traceback +from os.path import basename + +from functools import partial +from _pydevd_bundle.pydevd_constants import IS_PY36_OR_GREATER, \ + MethodWrapperType, RETURN_VALUES_DICT, DebugInfoHolder, IS_PYPY, GENERATED_LEN_ATTR_NAME +from _pydevd_bundle.pydevd_safe_repr import SafeRepr + +# Note: 300 is already a lot to see in the outline (after that the user should really use the shell to get things) +# and this also means we'll pass less information to the client side (which makes debugging faster). +MAX_ITEMS_TO_HANDLE = 300 + +TOO_LARGE_MSG = 'Too large to show contents. Max items to show: ' + str(MAX_ITEMS_TO_HANDLE) +TOO_LARGE_ATTR = 'Unable to handle:' + + +#======================================================================================================================= +# UnableToResolveVariableException +#======================================================================================================================= +class UnableToResolveVariableException(Exception): + pass + + +try: + from collections import OrderedDict +except: + OrderedDict = dict + +try: + import java.lang # @UnresolvedImport +except: + pass + +#======================================================================================================================= +# See: pydevd_extension_api module for resolver interface +#======================================================================================================================= + + +def sorted_attributes_key(attr_name): + if attr_name.startswith('__'): + if attr_name.endswith('__'): + # __ double under before and after __ + return (3, attr_name) + else: + # __ double under before + return (2, attr_name) + elif attr_name.startswith('_'): + # _ single under + return (1, attr_name) + else: + # Regular (Before anything) + return (0, attr_name) + + +#======================================================================================================================= +# DefaultResolver +#======================================================================================================================= +class DefaultResolver: + ''' + DefaultResolver is the class that'll actually resolve how to show some variable. + ''' + + def resolve(self, var, attribute): + return getattr(var, attribute) + + def get_contents_debug_adapter_protocol(self, obj, fmt=None): + if MethodWrapperType: + dct, used___dict__ = self._get_py_dictionary(obj) + else: + dct = self._get_jy_dictionary(obj)[0] + + lst = sorted(dct.items(), key=lambda tup: sorted_attributes_key(tup[0])) + if used___dict__: + eval_name = '.__dict__[%s]' + else: + eval_name = '.%s' + + ret = [] + for attr_name, attr_value in lst: + entry = (attr_name, attr_value, eval_name % attr_name) + ret.append(entry) + + return ret + + def get_dictionary(self, var, names=None, used___dict__=False): + if MethodWrapperType: + return self._get_py_dictionary(var, names, used___dict__=used___dict__)[0] + else: + return self._get_jy_dictionary(var)[0] + + def _get_jy_dictionary(self, obj): + ret = {} + found = java.util.HashMap() + + original = obj + if hasattr_checked(obj, '__class__') and obj.__class__ == java.lang.Class: + + # get info about superclasses + classes = [] + classes.append(obj) + c = obj.getSuperclass() + while c != None: + classes.append(c) + c = c.getSuperclass() + + # get info about interfaces + interfs = [] + for obj in classes: + interfs.extend(obj.getInterfaces()) + classes.extend(interfs) + + # now is the time when we actually get info on the declared methods and fields + for obj in classes: + + declaredMethods = obj.getDeclaredMethods() + declaredFields = obj.getDeclaredFields() + for i in range(len(declaredMethods)): + name = declaredMethods[i].getName() + ret[name] = declaredMethods[i].toString() + found.put(name, 1) + + for i in range(len(declaredFields)): + name = declaredFields[i].getName() + found.put(name, 1) + # if declaredFields[i].isAccessible(): + declaredFields[i].setAccessible(True) + # ret[name] = declaredFields[i].get( declaredFields[i] ) + try: + ret[name] = declaredFields[i].get(original) + except: + ret[name] = declaredFields[i].toString() + + # this simple dir does not always get all the info, that's why we have the part before + # (e.g.: if we do a dir on String, some methods that are from other interfaces such as + # charAt don't appear) + try: + d = dir(original) + for name in d: + if found.get(name) != 1: + ret[name] = getattr(original, name) + except: + # sometimes we're unable to do a dir + pass + + return ret + + def get_names(self, var): + used___dict__ = False + try: + names = dir(var) + except Exception: + names = [] + if not names: + if hasattr_checked(var, '__dict__'): + names = list(var.__dict__) + used___dict__ = True + return names, used___dict__ + + def _get_py_dictionary(self, var, names=None, used___dict__=False): + ''' + :return tuple(names, used___dict__), where used___dict__ means we have to access + using obj.__dict__[name] instead of getattr(obj, name) + ''' + + # On PyPy we never show functions. This is because of a corner case where PyPy becomes + # absurdly slow -- it takes almost half a second to introspect a single numpy function (so, + # the related test, "test_case_16_resolve_numpy_array", times out... this probably isn't + # specific to numpy, but to any library where the CPython bridge is used, but as we + # can't be sure in the debugger, we play it safe and don't show it at all). + filter_function = IS_PYPY + + if not names: + names, used___dict__ = self.get_names(var) + d = {} + + # Be aware that the order in which the filters are applied attempts to + # optimize the operation by removing as many items as possible in the + # first filters, leaving fewer items for later filters + + timer = Timer() + cls = type(var) + for name in names: + try: + name_as_str = name + if name_as_str.__class__ != str: + name_as_str = '%r' % (name_as_str,) + + if not used___dict__: + attr = getattr(var, name) + else: + attr = var.__dict__[name] + + # filter functions? + if filter_function: + if inspect.isroutine(attr) or isinstance(attr, MethodWrapperType): + continue + except: + # if some error occurs getting it, let's put it to the user. + strIO = StringIO() + traceback.print_exc(file=strIO) + attr = strIO.getvalue() + + finally: + timer.report_if_getting_attr_slow(cls, name_as_str) + + d[name_as_str] = attr + + return d, used___dict__ + + +class DAPGrouperResolver: + + def get_contents_debug_adapter_protocol(self, obj, fmt=None): + return obj.get_contents_debug_adapter_protocol() + + +_basic_immutable_types = (int, float, complex, str, bytes, type(None), bool, frozenset) + + +def _does_obj_repr_evaluate_to_obj(obj): + ''' + If obj is an object where evaluating its representation leads to + the same object, return True, otherwise, return False. + ''' + try: + if isinstance(obj, tuple): + for o in obj: + if not _does_obj_repr_evaluate_to_obj(o): + return False + return True + else: + return isinstance(obj, _basic_immutable_types) + except: + return False + + +#======================================================================================================================= +# DictResolver +#======================================================================================================================= +class DictResolver: + + sort_keys = not IS_PY36_OR_GREATER + + def resolve(self, dct, key): + if key in (GENERATED_LEN_ATTR_NAME, TOO_LARGE_ATTR): + return None + + if '(' not in key: + # we have to treat that because the dict resolver is also used to directly resolve the global and local + # scopes (which already have the items directly) + try: + return dct[key] + except: + return getattr(dct, key) + + # ok, we have to iterate over the items to find the one that matches the id, because that's the only way + # to actually find the reference from the string we have before. + expected_id = int(key.split('(')[-1][:-1]) + for key, val in dct.items(): + if id(key) == expected_id: + return val + + raise UnableToResolveVariableException() + + def key_to_str(self, key, fmt=None): + if fmt is not None: + if fmt.get('hex', False): + safe_repr = SafeRepr() + safe_repr.convert_to_hex = True + return safe_repr(key) + return '%r' % (key,) + + def init_dict(self): + return {} + + def get_contents_debug_adapter_protocol(self, dct, fmt=None): + ''' + This method is to be used in the case where the variables are all saved by its id (and as + such don't need to have the `resolve` method called later on, so, keys don't need to + embed the reference in the key). + + Note that the return should be ordered. + + :return list(tuple(name:str, value:object, evaluateName:str)) + ''' + ret = [] + + i = 0 + + found_representations = set() + + for key, val in dct.items(): + i += 1 + key_as_str = self.key_to_str(key, fmt) + + if key_as_str not in found_representations: + found_representations.add(key_as_str) + else: + # If the key would be a duplicate, add the key id (otherwise + # VSCode won't show all keys correctly). + # See: https://github.com/microsoft/debugpy/issues/148 + key_as_str = '%s (id: %s)' % (key_as_str, id(key)) + found_representations.add(key_as_str) + + if _does_obj_repr_evaluate_to_obj(key): + s = self.key_to_str(key) # do not format the key + eval_key_str = '[%s]' % (s,) + else: + eval_key_str = None + ret.append((key_as_str, val, eval_key_str)) + if i > MAX_ITEMS_TO_HANDLE: + ret.append((TOO_LARGE_ATTR, TOO_LARGE_MSG, None)) + break + + # in case the class extends built-in type and has some additional fields + from_default_resolver = defaultResolver.get_contents_debug_adapter_protocol(dct, fmt) + + if from_default_resolver: + ret = from_default_resolver + ret + + if self.sort_keys: + ret = sorted(ret, key=lambda tup: sorted_attributes_key(tup[0])) + + ret.append((GENERATED_LEN_ATTR_NAME, len(dct), partial(_apply_evaluate_name, evaluate_name='len(%s)'))) + return ret + + def get_dictionary(self, dct): + ret = self.init_dict() + + i = 0 + for key, val in dct.items(): + i += 1 + # we need to add the id because otherwise we cannot find the real object to get its contents later on. + key = '%s (%s)' % (self.key_to_str(key), id(key)) + ret[key] = val + if i > MAX_ITEMS_TO_HANDLE: + ret[TOO_LARGE_ATTR] = TOO_LARGE_MSG + break + + # in case if the class extends built-in type and has some additional fields + additional_fields = defaultResolver.get_dictionary(dct) + ret.update(additional_fields) + ret[GENERATED_LEN_ATTR_NAME] = len(dct) + return ret + + +def _apply_evaluate_name(parent_name, evaluate_name): + return evaluate_name % (parent_name,) + + +#======================================================================================================================= +# TupleResolver +#======================================================================================================================= +class TupleResolver: # to enumerate tuples and lists + + def resolve(self, var, attribute): + ''' + @param var: that's the original attribute + @param attribute: that's the key passed in the dict (as a string) + ''' + if attribute in (GENERATED_LEN_ATTR_NAME, TOO_LARGE_ATTR): + return None + try: + return var[int(attribute)] + except: + return getattr(var, attribute) + + def get_contents_debug_adapter_protocol(self, lst, fmt=None): + ''' + This method is to be used in the case where the variables are all saved by its id (and as + such don't need to have the `resolve` method called later on, so, keys don't need to + embed the reference in the key). + + Note that the return should be ordered. + + :return list(tuple(name:str, value:object, evaluateName:str)) + ''' + l = len(lst) + ret = [] + + format_str = '%0' + str(int(len(str(l - 1)))) + 'd' + if fmt is not None and fmt.get('hex', False): + format_str = '0x%0' + str(int(len(hex(l).lstrip('0x')))) + 'x' + + for i, item in enumerate(lst): + ret.append((format_str % i, item, '[%s]' % i)) + + if i > MAX_ITEMS_TO_HANDLE: + ret.append((TOO_LARGE_ATTR, TOO_LARGE_MSG, None)) + break + + # Needed in case the class extends the built-in type and has some additional fields. + from_default_resolver = defaultResolver.get_contents_debug_adapter_protocol(lst, fmt=fmt) + if from_default_resolver: + ret = from_default_resolver + ret + + ret.append((GENERATED_LEN_ATTR_NAME, len(lst), partial(_apply_evaluate_name, evaluate_name='len(%s)'))) + return ret + + def get_dictionary(self, var, fmt={}): + l = len(var) + d = {} + + format_str = '%0' + str(int(len(str(l - 1)))) + 'd' + if fmt is not None and fmt.get('hex', False): + format_str = '0x%0' + str(int(len(hex(l).lstrip('0x')))) + 'x' + + for i, item in enumerate(var): + d[format_str % i] = item + + if i > MAX_ITEMS_TO_HANDLE: + d[TOO_LARGE_ATTR] = TOO_LARGE_MSG + break + + # in case if the class extends built-in type and has some additional fields + additional_fields = defaultResolver.get_dictionary(var) + d.update(additional_fields) + d[GENERATED_LEN_ATTR_NAME] = len(var) + return d + + +#======================================================================================================================= +# SetResolver +#======================================================================================================================= +class SetResolver: + ''' + Resolves a set as dict id(object)->object + ''' + + def get_contents_debug_adapter_protocol(self, obj, fmt=None): + ret = [] + + for i, item in enumerate(obj): + ret.append((str(id(item)), item, None)) + + if i > MAX_ITEMS_TO_HANDLE: + ret.append((TOO_LARGE_ATTR, TOO_LARGE_MSG, None)) + break + + # Needed in case the class extends the built-in type and has some additional fields. + from_default_resolver = defaultResolver.get_contents_debug_adapter_protocol(obj, fmt=fmt) + if from_default_resolver: + ret = from_default_resolver + ret + ret.append((GENERATED_LEN_ATTR_NAME, len(obj), partial(_apply_evaluate_name, evaluate_name='len(%s)'))) + return ret + + def resolve(self, var, attribute): + if attribute in (GENERATED_LEN_ATTR_NAME, TOO_LARGE_ATTR): + return None + + try: + attribute = int(attribute) + except: + return getattr(var, attribute) + + for v in var: + if id(v) == attribute: + return v + + raise UnableToResolveVariableException('Unable to resolve %s in %s' % (attribute, var)) + + def get_dictionary(self, var): + d = {} + for i, item in enumerate(var): + d[str(id(item))] = item + + if i > MAX_ITEMS_TO_HANDLE: + d[TOO_LARGE_ATTR] = TOO_LARGE_MSG + break + + # in case if the class extends built-in type and has some additional fields + additional_fields = defaultResolver.get_dictionary(var) + d.update(additional_fields) + d[GENERATED_LEN_ATTR_NAME] = len(var) + return d + + def change_var_from_name(self, container, name, new_value): + # The name given in this case must be the id(item), so, we can actually + # iterate in the set and see which item matches the given id. + + try: + # Check that the new value can actually be added to a set (i.e.: it's hashable/comparable). + set().add(new_value) + except: + return None + + for item in container: + if str(id(item)) == name: + container.remove(item) + container.add(new_value) + return str(id(new_value)) + + return None + + +#======================================================================================================================= +# InstanceResolver +#======================================================================================================================= +class InstanceResolver: + + def resolve(self, var, attribute): + field = var.__class__.getDeclaredField(attribute) + field.setAccessible(True) + return field.get(var) + + def get_dictionary(self, obj): + ret = {} + + declaredFields = obj.__class__.getDeclaredFields() + for i in range(len(declaredFields)): + name = declaredFields[i].getName() + try: + declaredFields[i].setAccessible(True) + ret[name] = declaredFields[i].get(obj) + except: + pydev_log.exception() + + return ret + + +#======================================================================================================================= +# JyArrayResolver +#======================================================================================================================= +class JyArrayResolver: + ''' + This resolves a regular Object[] array from java + ''' + + def resolve(self, var, attribute): + if attribute == GENERATED_LEN_ATTR_NAME: + return None + return var[int(attribute)] + + def get_dictionary(self, obj): + ret = {} + + for i in range(len(obj)): + ret[ i ] = obj[i] + + ret[GENERATED_LEN_ATTR_NAME] = len(obj) + return ret + + +#======================================================================================================================= +# MultiValueDictResolver +#======================================================================================================================= +class MultiValueDictResolver(DictResolver): + + def resolve(self, dct, key): + if key in (GENERATED_LEN_ATTR_NAME, TOO_LARGE_ATTR): + return None + + # ok, we have to iterate over the items to find the one that matches the id, because that's the only way + # to actually find the reference from the string we have before. + expected_id = int(key.split('(')[-1][:-1]) + for key in list(dct.keys()): + val = dct.getlist(key) + if id(key) == expected_id: + return val + + raise UnableToResolveVariableException() + + +#======================================================================================================================= +# DjangoFormResolver +#======================================================================================================================= +class DjangoFormResolver(DefaultResolver): + + def get_dictionary(self, var, names=None): + # Do not call self.errors because it is a property and has side effects. + names, used___dict__ = self.get_names(var) + + has_errors_attr = False + if "errors" in names: + has_errors_attr = True + names.remove("errors") + + d = defaultResolver.get_dictionary(var, names=names, used___dict__=used___dict__) + if has_errors_attr: + try: + errors_attr = getattr(var, "_errors") + except: + errors_attr = None + d["errors"] = errors_attr + return d + + +#======================================================================================================================= +# DequeResolver +#======================================================================================================================= +class DequeResolver(TupleResolver): + + def get_dictionary(self, var): + d = TupleResolver.get_dictionary(self, var) + d['maxlen'] = getattr(var, 'maxlen', None) + return d + + +#======================================================================================================================= +# OrderedDictResolver +#======================================================================================================================= +class OrderedDictResolver(DictResolver): + + sort_keys = False + + def init_dict(self): + return OrderedDict() + + +#======================================================================================================================= +# FrameResolver +#======================================================================================================================= +class FrameResolver: + ''' + This resolves a frame. + ''' + + def resolve(self, obj, attribute): + if attribute == '__internals__': + return defaultResolver.get_dictionary(obj) + + if attribute == 'stack': + return self.get_frame_stack(obj) + + if attribute == 'f_locals': + return obj.f_locals + + return None + + def get_dictionary(self, obj): + ret = {} + ret['__internals__'] = defaultResolver.get_dictionary(obj) + ret['stack'] = self.get_frame_stack(obj) + ret['f_locals'] = obj.f_locals + return ret + + def get_frame_stack(self, frame): + ret = [] + if frame is not None: + ret.append(self.get_frame_name(frame)) + + while frame.f_back: + frame = frame.f_back + ret.append(self.get_frame_name(frame)) + + return ret + + def get_frame_name(self, frame): + if frame is None: + return 'None' + try: + name = basename(frame.f_code.co_filename) + return 'frame: %s [%s:%s] id:%s' % (frame.f_code.co_name, name, frame.f_lineno, id(frame)) + except: + return 'frame object' + + +defaultResolver = DefaultResolver() +dictResolver = DictResolver() +tupleResolver = TupleResolver() +instanceResolver = InstanceResolver() +jyArrayResolver = JyArrayResolver() +setResolver = SetResolver() +multiValueDictResolver = MultiValueDictResolver() +djangoFormResolver = DjangoFormResolver() +dequeResolver = DequeResolver() +orderedDictResolver = OrderedDictResolver() +frameResolver = FrameResolver() +dapGrouperResolver = DAPGrouperResolver() + + +class InspectStub: + + def isbuiltin(self, _args): + return False + + def isroutine(self, object): + return False + + +try: + import inspect +except: + inspect = InspectStub() + + +def get_var_scope(attr_name, attr_value, evaluate_name, handle_return_values): + if attr_name.startswith("'"): + if attr_name.endswith("'"): + attr_name = attr_name[1:-1] + else: + i = attr_name.find("__' (") + if i >= 0: + # Handle attr_name such as: >>'__name__' (1732494379184)<< + attr_name = attr_name[1: i + 2] + + if handle_return_values and attr_name == RETURN_VALUES_DICT: + return '' + + elif attr_name == GENERATED_LEN_ATTR_NAME: + return '' + + if attr_name.startswith('__') and attr_name.endswith('__'): + return DAPGrouper.SCOPE_SPECIAL_VARS + + if attr_name.startswith('_') or attr_name.endswith('__'): + return DAPGrouper.SCOPE_PROTECTED_VARS + + try: + if inspect.isroutine(attr_value) or isinstance(attr_value, MethodWrapperType): + return DAPGrouper.SCOPE_FUNCTION_VARS + + elif inspect.isclass(attr_value): + return DAPGrouper.SCOPE_CLASS_VARS + except: + # It's possible that isinstance throws an exception when dealing with user-code. + if DebugInfoHolder.DEBUG_TRACE_LEVEL > 0: + pydev_log.exception() + + return '' diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_runpy.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_runpy.py new file mode 100644 index 0000000..09b713f --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_runpy.py @@ -0,0 +1,353 @@ +""" +Vendored copy of runpy from the standard library. + +It's vendored so that we can properly ignore it when used to start user code +while still making it possible for the user to debug runpy itself. + +runpy.py - locating and running Python code using the module namespace + +Provides support for locating and running Python scripts using the Python +module namespace instead of the native filesystem. + +This allows Python code to play nicely with non-filesystem based PEP 302 +importers when locating support scripts as well as when importing modules. +""" +# Written by Nick Coghlan +# to implement PEP 338 (Executing Modules as Scripts) + +import sys +import importlib.machinery # importlib first so we can test #15386 via -m +import importlib.util +import io +import types +import os + +__all__ = [ + "run_module", "run_path", +] + + +# Note: fabioz: Don't use pkgutil (when handling caught exceptions we could end up +# showing exceptions in pkgutil.get_imported (specifically the KeyError), so, +# create a copy of the function we need to properly ignore this exception when +# running the program. +def pkgutil_get_importer(path_item): + """Retrieve a finder for the given path item + + The returned finder is cached in sys.path_importer_cache + if it was newly created by a path hook. + + The cache (or part of it) can be cleared manually if a + rescan of sys.path_hooks is necessary. + """ + try: + importer = sys.path_importer_cache[path_item] + except KeyError: + for path_hook in sys.path_hooks: + try: + importer = path_hook(path_item) + sys.path_importer_cache.setdefault(path_item, importer) + break + except ImportError: + pass + else: + importer = None + return importer + + +class _TempModule(object): + """Temporarily replace a module in sys.modules with an empty namespace""" + + def __init__(self, mod_name): + self.mod_name = mod_name + self.module = types.ModuleType(mod_name) + self._saved_module = [] + + def __enter__(self): + mod_name = self.mod_name + try: + self._saved_module.append(sys.modules[mod_name]) + except KeyError: + pass + sys.modules[mod_name] = self.module + return self + + def __exit__(self, *args): + if self._saved_module: + sys.modules[self.mod_name] = self._saved_module[0] + else: + del sys.modules[self.mod_name] + self._saved_module = [] + + +class _ModifiedArgv0(object): + + def __init__(self, value): + self.value = value + self._saved_value = self._sentinel = object() + + def __enter__(self): + if self._saved_value is not self._sentinel: + raise RuntimeError("Already preserving saved value") + self._saved_value = sys.argv[0] + sys.argv[0] = self.value + + def __exit__(self, *args): + self.value = self._sentinel + sys.argv[0] = self._saved_value + + +# TODO: Replace these helpers with importlib._bootstrap_external functions. +def _run_code(code, run_globals, init_globals=None, + mod_name=None, mod_spec=None, + pkg_name=None, script_name=None): + """Helper to run code in nominated namespace""" + if init_globals is not None: + run_globals.update(init_globals) + if mod_spec is None: + loader = None + fname = script_name + cached = None + else: + loader = mod_spec.loader + fname = mod_spec.origin + cached = mod_spec.cached + if pkg_name is None: + pkg_name = mod_spec.parent + run_globals.update(__name__=mod_name, + __file__=fname, + __cached__=cached, + __doc__=None, + __loader__=loader, + __package__=pkg_name, + __spec__=mod_spec) + exec(code, run_globals) + return run_globals + + +def _run_module_code(code, init_globals=None, + mod_name=None, mod_spec=None, + pkg_name=None, script_name=None): + """Helper to run code in new namespace with sys modified""" + fname = script_name if mod_spec is None else mod_spec.origin + with _TempModule(mod_name) as temp_module, _ModifiedArgv0(fname): + mod_globals = temp_module.module.__dict__ + _run_code(code, mod_globals, init_globals, + mod_name, mod_spec, pkg_name, script_name) + # Copy the globals of the temporary module, as they + # may be cleared when the temporary module goes away + return mod_globals.copy() + + +# Helper to get the full name, spec and code for a module +def _get_module_details(mod_name, error=ImportError): + if mod_name.startswith("."): + raise error("Relative module names not supported") + pkg_name, _, _ = mod_name.rpartition(".") + if pkg_name: + # Try importing the parent to avoid catching initialization errors + try: + __import__(pkg_name) + except ImportError as e: + # If the parent or higher ancestor package is missing, let the + # error be raised by find_spec() below and then be caught. But do + # not allow other errors to be caught. + if e.name is None or (e.name != pkg_name and + not pkg_name.startswith(e.name + ".")): + raise + # Warn if the module has already been imported under its normal name + existing = sys.modules.get(mod_name) + if existing is not None and not hasattr(existing, "__path__"): + from warnings import warn + msg = "{mod_name!r} found in sys.modules after import of " \ + "package {pkg_name!r}, but prior to execution of " \ + "{mod_name!r}; this may result in unpredictable " \ + "behaviour".format(mod_name=mod_name, pkg_name=pkg_name) + warn(RuntimeWarning(msg)) + + try: + spec = importlib.util.find_spec(mod_name) + except (ImportError, AttributeError, TypeError, ValueError) as ex: + # This hack fixes an impedance mismatch between pkgutil and + # importlib, where the latter raises other errors for cases where + # pkgutil previously raised ImportError + msg = "Error while finding module specification for {!r} ({}: {})" + if mod_name.endswith(".py"): + msg += (f". Try using '{mod_name[:-3]}' instead of " + f"'{mod_name}' as the module name.") + raise error(msg.format(mod_name, type(ex).__name__, ex)) from ex + if spec is None: + raise error("No module named %s" % mod_name) + if spec.submodule_search_locations is not None: + if mod_name == "__main__" or mod_name.endswith(".__main__"): + raise error("Cannot use package as __main__ module") + try: + pkg_main_name = mod_name + ".__main__" + return _get_module_details(pkg_main_name, error) + except error as e: + if mod_name not in sys.modules: + raise # No module loaded; being a package is irrelevant + raise error(("%s; %r is a package and cannot " + + "be directly executed") % (e, mod_name)) + loader = spec.loader + if loader is None: + raise error("%r is a namespace package and cannot be executed" + % mod_name) + try: + code = loader.get_code(mod_name) + except ImportError as e: + raise error(format(e)) from e + if code is None: + raise error("No code object available for %s" % mod_name) + return mod_name, spec, code + + +class _Error(Exception): + """Error that _run_module_as_main() should report without a traceback""" + + +# XXX ncoghlan: Should this be documented and made public? +# (Current thoughts: don't repeat the mistake that lead to its +# creation when run_module() no longer met the needs of +# mainmodule.c, but couldn't be changed because it was public) +def _run_module_as_main(mod_name, alter_argv=True): + """Runs the designated module in the __main__ namespace + + Note that the executed module will have full access to the + __main__ namespace. If this is not desirable, the run_module() + function should be used to run the module code in a fresh namespace. + + At the very least, these variables in __main__ will be overwritten: + __name__ + __file__ + __cached__ + __loader__ + __package__ + """ + try: + if alter_argv or mod_name != "__main__": # i.e. -m switch + mod_name, mod_spec, code = _get_module_details(mod_name, _Error) + else: # i.e. directory or zipfile execution + mod_name, mod_spec, code = _get_main_module_details(_Error) + except _Error as exc: + msg = "%s: %s" % (sys.executable, exc) + sys.exit(msg) + main_globals = sys.modules["__main__"].__dict__ + if alter_argv: + sys.argv[0] = mod_spec.origin + return _run_code(code, main_globals, None, + "__main__", mod_spec) + + +def run_module(mod_name, init_globals=None, + run_name=None, alter_sys=False): + """Execute a module's code without importing it + + Returns the resulting top level namespace dictionary + """ + mod_name, mod_spec, code = _get_module_details(mod_name) + if run_name is None: + run_name = mod_name + if alter_sys: + return _run_module_code(code, init_globals, run_name, mod_spec) + else: + # Leave the sys module alone + return _run_code(code, {}, init_globals, run_name, mod_spec) + + +def _get_main_module_details(error=ImportError): + # Helper that gives a nicer error message when attempting to + # execute a zipfile or directory by invoking __main__.py + # Also moves the standard __main__ out of the way so that the + # preexisting __loader__ entry doesn't cause issues + main_name = "__main__" + saved_main = sys.modules[main_name] + del sys.modules[main_name] + try: + return _get_module_details(main_name) + except ImportError as exc: + if main_name in str(exc): + raise error("can't find %r module in %r" % + (main_name, sys.path[0])) from exc + raise + finally: + sys.modules[main_name] = saved_main + + +try: + io_open_code = io.open_code +except AttributeError: + # Compatibility with Python 3.6/3.7 + import tokenize + io_open_code = tokenize.open + + +def _get_code_from_file(run_name, fname): + # Check for a compiled file first + from pkgutil import read_code + decoded_path = os.path.abspath(os.fsdecode(fname)) + with io_open_code(decoded_path) as f: + code = read_code(f) + if code is None: + # That didn't work, so try it as normal source code + with io_open_code(decoded_path) as f: + code = compile(f.read(), fname, 'exec') + return code, fname + + +def run_path(path_name, init_globals=None, run_name=None): + """Execute code located at the specified filesystem location + + Returns the resulting top level namespace dictionary + + The file path may refer directly to a Python script (i.e. + one that could be directly executed with execfile) or else + it may refer to a zipfile or directory containing a top + level __main__.py script. + """ + if run_name is None: + run_name = "" + pkg_name = run_name.rpartition(".")[0] + importer = pkgutil_get_importer(path_name) + # Trying to avoid importing imp so as to not consume the deprecation warning. + is_NullImporter = False + if type(importer).__module__ == 'imp': + if type(importer).__name__ == 'NullImporter': + is_NullImporter = True + if isinstance(importer, type(None)) or is_NullImporter: + # Not a valid sys.path entry, so run the code directly + # execfile() doesn't help as we want to allow compiled files + code, fname = _get_code_from_file(run_name, path_name) + return _run_module_code(code, init_globals, run_name, + pkg_name=pkg_name, script_name=fname) + else: + # Finder is defined for path, so add it to + # the start of sys.path + sys.path.insert(0, path_name) + try: + # Here's where things are a little different from the run_module + # case. There, we only had to replace the module in sys while the + # code was running and doing so was somewhat optional. Here, we + # have no choice and we have to remove it even while we read the + # code. If we don't do this, a __loader__ attribute in the + # existing __main__ module may prevent location of the new module. + mod_name, mod_spec, code = _get_main_module_details() + with _TempModule(run_name) as temp_module, \ + _ModifiedArgv0(path_name): + mod_globals = temp_module.module.__dict__ + return _run_code(code, mod_globals, init_globals, + run_name, mod_spec, pkg_name).copy() + finally: + try: + sys.path.remove(path_name) + except ValueError: + pass + + +if __name__ == "__main__": + # Run the module specified as the next command line argument + if len(sys.argv) < 2: + print("No module specified for execution", file=sys.stderr) + else: + del sys.argv[0] # Make the requested module sys.argv[0] + _run_module_as_main(sys.argv[0]) diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_safe_repr.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_safe_repr.py new file mode 100644 index 0000000..f1b64b7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_safe_repr.py @@ -0,0 +1,399 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See LICENSE in the project root +# for license information. + +# Gotten from ptvsd for supporting the format expected there. +import sys +from _pydevd_bundle.pydevd_constants import IS_PY36_OR_GREATER +import locale +from _pydev_bundle import pydev_log + + +class SafeRepr(object): + # Can be used to override the encoding from locale.getpreferredencoding() + locale_preferred_encoding = None + + # Can be used to override the encoding used for sys.stdout.encoding + sys_stdout_encoding = None + + # String types are truncated to maxstring_outer when at the outer- + # most level, and truncated to maxstring_inner characters inside + # collections. + maxstring_outer = 2 ** 16 + maxstring_inner = 30 + string_types = (str, bytes) + bytes = bytes + set_info = (set, '{', '}', False) + frozenset_info = (frozenset, 'frozenset({', '})', False) + int_types = (int,) + long_iter_types = (list, tuple, bytearray, range, + dict, set, frozenset) + + # Collection types are recursively iterated for each limit in + # maxcollection. + maxcollection = (15, 10) + + # Specifies type, prefix string, suffix string, and whether to include a + # comma if there is only one element. (Using a sequence rather than a + # mapping because we use isinstance() to determine the matching type.) + collection_types = [ + (tuple, '(', ')', True), + (list, '[', ']', False), + frozenset_info, + set_info, + ] + try: + from collections import deque + collection_types.append((deque, 'deque([', '])', False)) + except Exception: + pass + + # type, prefix string, suffix string, item prefix string, + # item key/value separator, item suffix string + dict_types = [(dict, '{', '}', '', ': ', '')] + try: + from collections import OrderedDict + dict_types.append((OrderedDict, 'OrderedDict([', '])', '(', ', ', ')')) + except Exception: + pass + + # All other types are treated identically to strings, but using + # different limits. + maxother_outer = 2 ** 16 + maxother_inner = 30 + + convert_to_hex = False + raw_value = False + + def __call__(self, obj): + ''' + :param object obj: + The object for which we want a representation. + + :return str: + Returns bytes encoded as utf-8 on py2 and str on py3. + ''' + try: + return ''.join(self._repr(obj, 0)) + except Exception: + try: + return 'An exception was raised: %r' % sys.exc_info()[1] + except Exception: + return 'An exception was raised' + + def _repr(self, obj, level): + '''Returns an iterable of the parts in the final repr string.''' + + try: + obj_repr = type(obj).__repr__ + except Exception: + obj_repr = None + + def has_obj_repr(t): + r = t.__repr__ + try: + return obj_repr == r + except Exception: + return obj_repr is r + + for t, prefix, suffix, comma in self.collection_types: + if isinstance(obj, t) and has_obj_repr(t): + return self._repr_iter(obj, level, prefix, suffix, comma) + + for t, prefix, suffix, item_prefix, item_sep, item_suffix in self.dict_types: # noqa + if isinstance(obj, t) and has_obj_repr(t): + return self._repr_dict(obj, level, prefix, suffix, + item_prefix, item_sep, item_suffix) + + for t in self.string_types: + if isinstance(obj, t) and has_obj_repr(t): + return self._repr_str(obj, level) + + if self._is_long_iter(obj): + return self._repr_long_iter(obj) + + return self._repr_other(obj, level) + + # Determines whether an iterable exceeds the limits set in + # maxlimits, and is therefore unsafe to repr(). + def _is_long_iter(self, obj, level=0): + try: + # Strings have their own limits (and do not nest). Because + # they don't have __iter__ in 2.x, this check goes before + # the next one. + if isinstance(obj, self.string_types): + return len(obj) > self.maxstring_inner + + # If it's not an iterable (and not a string), it's fine. + if not hasattr(obj, '__iter__'): + return False + + # If it's not an instance of these collection types then it + # is fine. Note: this is a fix for + # https://github.com/Microsoft/ptvsd/issues/406 + if not isinstance(obj, self.long_iter_types): + return False + + # Iterable is its own iterator - this is a one-off iterable + # like generator or enumerate(). We can't really count that, + # but repr() for these should not include any elements anyway, + # so we can treat it the same as non-iterables. + if obj is iter(obj): + return False + + # range reprs fine regardless of length. + if isinstance(obj, range): + return False + + # numpy and scipy collections (ndarray etc) have + # self-truncating repr, so they're always safe. + try: + module = type(obj).__module__.partition('.')[0] + if module in ('numpy', 'scipy'): + return False + except Exception: + pass + + # Iterables that nest too deep are considered long. + if level >= len(self.maxcollection): + return True + + # It is too long if the length exceeds the limit, or any + # of its elements are long iterables. + if hasattr(obj, '__len__'): + try: + size = len(obj) + except Exception: + size = None + if size is not None and size > self.maxcollection[level]: + return True + return any((self._is_long_iter(item, level + 1) for item in obj)) # noqa + return any(i > self.maxcollection[level] or self._is_long_iter(item, level + 1) for i, item in enumerate(obj)) # noqa + + except Exception: + # If anything breaks, assume the worst case. + return True + + def _repr_iter(self, obj, level, prefix, suffix, + comma_after_single_element=False): + yield prefix + + if level >= len(self.maxcollection): + yield '...' + else: + count = self.maxcollection[level] + yield_comma = False + for item in obj: + if yield_comma: + yield ', ' + yield_comma = True + + count -= 1 + if count <= 0: + yield '...' + break + + for p in self._repr(item, 100 if item is obj else level + 1): + yield p + else: + if comma_after_single_element: + if count == self.maxcollection[level] - 1: + yield ',' + yield suffix + + def _repr_long_iter(self, obj): + try: + length = hex(len(obj)) if self.convert_to_hex else len(obj) + obj_repr = '<%s, len() = %s>' % (type(obj).__name__, length) + except Exception: + try: + obj_repr = '<' + type(obj).__name__ + '>' + except Exception: + obj_repr = '' + yield obj_repr + + def _repr_dict(self, obj, level, prefix, suffix, + item_prefix, item_sep, item_suffix): + if not obj: + yield prefix + suffix + return + if level >= len(self.maxcollection): + yield prefix + '...' + suffix + return + + yield prefix + + count = self.maxcollection[level] + yield_comma = False + + if IS_PY36_OR_GREATER: + # On Python 3.6 (onwards) dictionaries now keep + # insertion order. + sorted_keys = list(obj) + else: + try: + sorted_keys = sorted(obj) + except Exception: + sorted_keys = list(obj) + + for key in sorted_keys: + if yield_comma: + yield ', ' + yield_comma = True + + count -= 1 + if count <= 0: + yield '...' + break + + yield item_prefix + for p in self._repr(key, level + 1): + yield p + + yield item_sep + + try: + item = obj[key] + except Exception: + yield '' + else: + for p in self._repr(item, 100 if item is obj else level + 1): + yield p + yield item_suffix + + yield suffix + + def _repr_str(self, obj, level): + try: + if self.raw_value: + # For raw value retrieval, ignore all limits. + if isinstance(obj, bytes): + yield obj.decode('latin-1') + else: + yield obj + return + + limit_inner = self.maxother_inner + limit_outer = self.maxother_outer + limit = limit_inner if level > 0 else limit_outer + if len(obj) <= limit: + # Note that we check the limit before doing the repr (so, the final string + # may actually be considerably bigger on some cases, as besides + # the additional u, b, ' chars, some chars may be escaped in repr, so + # even a single char such as \U0010ffff may end up adding more + # chars than expected). + yield self._convert_to_unicode_or_bytes_repr(repr(obj)) + return + + # Slightly imprecise calculations - we may end up with a string that is + # up to 6 characters longer than limit. If you need precise formatting, + # you are using the wrong class. + left_count, right_count = max(1, int(2 * limit / 3)), max(1, int(limit / 3)) # noqa + + # Important: only do repr after slicing to avoid duplicating a byte array that could be + # huge. + + # Note: we don't deal with high surrogates here because we're not dealing with the + # repr() of a random object. + # i.e.: A high surrogate unicode char may be splitted on Py2, but as we do a `repr` + # afterwards, that's ok. + + # Also, we just show the unicode/string/bytes repr() directly to make clear what the + # input type was (so, on py2 a unicode would start with u' and on py3 a bytes would + # start with b'). + + part1 = obj[:left_count] + part1 = repr(part1) + part1 = part1[:part1.rindex("'")] # Remove the last ' + + part2 = obj[-right_count:] + part2 = repr(part2) + part2 = part2[part2.index("'") + 1:] # Remove the first ' (and possibly u or b). + + yield part1 + yield '...' + yield part2 + except: + # This shouldn't really happen, but let's play it safe. + pydev_log.exception('Error getting string representation to show.') + for part in self._repr_obj(obj, level, + self.maxother_inner, self.maxother_outer): + yield part + + def _repr_other(self, obj, level): + return self._repr_obj(obj, level, + self.maxother_inner, self.maxother_outer) + + def _repr_obj(self, obj, level, limit_inner, limit_outer): + try: + if self.raw_value: + # For raw value retrieval, ignore all limits. + if isinstance(obj, bytes): + yield obj.decode('latin-1') + return + + try: + mv = memoryview(obj) + except Exception: + yield self._convert_to_unicode_or_bytes_repr(repr(obj)) + return + else: + # Map bytes to Unicode codepoints with same values. + yield mv.tobytes().decode('latin-1') + return + elif self.convert_to_hex and isinstance(obj, self.int_types): + obj_repr = hex(obj) + else: + obj_repr = repr(obj) + except Exception: + try: + obj_repr = object.__repr__(obj) + except Exception: + try: + obj_repr = '' # noqa + except Exception: + obj_repr = '' + + limit = limit_inner if level > 0 else limit_outer + + if limit >= len(obj_repr): + yield self._convert_to_unicode_or_bytes_repr(obj_repr) + return + + # Slightly imprecise calculations - we may end up with a string that is + # up to 3 characters longer than limit. If you need precise formatting, + # you are using the wrong class. + left_count, right_count = max(1, int(2 * limit / 3)), max(1, int(limit / 3)) # noqa + + yield obj_repr[:left_count] + yield '...' + yield obj_repr[-right_count:] + + def _convert_to_unicode_or_bytes_repr(self, obj_repr): + return obj_repr + + def _bytes_as_unicode_if_possible(self, obj_repr): + # We try to decode with 3 possible encoding (sys.stdout.encoding, + # locale.getpreferredencoding() and 'utf-8). If no encoding can decode + # the input, we return the original bytes. + try_encodings = [] + encoding = self.sys_stdout_encoding or getattr(sys.stdout, 'encoding', '') + if encoding: + try_encodings.append(encoding.lower()) + + preferred_encoding = self.locale_preferred_encoding or locale.getpreferredencoding() + if preferred_encoding: + preferred_encoding = preferred_encoding.lower() + if preferred_encoding not in try_encodings: + try_encodings.append(preferred_encoding) + + if 'utf-8' not in try_encodings: + try_encodings.append('utf-8') + + for encoding in try_encodings: + try: + return obj_repr.decode(encoding) + except UnicodeDecodeError: + pass + + return obj_repr # Return the original version (in bytes) diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_save_locals.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_save_locals.py new file mode 100644 index 0000000..fa1a125 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_save_locals.py @@ -0,0 +1,96 @@ +""" +Utility for saving locals. +""" +import sys + +try: + import types + + frame_type = types.FrameType +except: + frame_type = type(sys._getframe()) + + +def is_save_locals_available(): + return save_locals_impl is not None + + +def save_locals(frame): + """ + Copy values from locals_dict into the fast stack slots in the given frame. + + Note: the 'save_locals' branch had a different approach wrapping the frame (much more code, but it gives ideas + on how to save things partially, not the 'whole' locals). + """ + if not isinstance(frame, frame_type): + # Fix exception when changing Django variable (receiving DjangoTemplateFrame) + return + + if save_locals_impl is not None: + try: + save_locals_impl(frame) + except: + pass + + +def make_save_locals_impl(): + """ + Factory for the 'save_locals_impl' method. This may seem like a complicated pattern but it is essential that the method is created at + module load time. Inner imports after module load time would cause an occasional debugger deadlock due to the importer lock and debugger + lock being taken in different order in different threads. + """ + try: + if '__pypy__' in sys.builtin_module_names: + import __pypy__ # @UnresolvedImport + save_locals = __pypy__.locals_to_fast + except: + pass + else: + if '__pypy__' in sys.builtin_module_names: + + def save_locals_pypy_impl(frame): + save_locals(frame) + + return save_locals_pypy_impl + + try: + import ctypes + locals_to_fast = ctypes.pythonapi.PyFrame_LocalsToFast + except: + pass + else: + + def save_locals_ctypes_impl(frame): + locals_to_fast(ctypes.py_object(frame), ctypes.c_int(0)) + + return save_locals_ctypes_impl + + return None + + +save_locals_impl = make_save_locals_impl() + + +def update_globals_and_locals(updated_globals, initial_globals, frame): + # We don't have the locals and passed all in globals, so, we have to + # manually choose how to update the variables. + # + # Note that the current implementation is a bit tricky: it does work in general + # but if we do something as 'some_var = 10' and 'some_var' is already defined to have + # the value '10' in the globals, we won't actually put that value in the locals + # (which means that the frame locals won't be updated). + # Still, the approach to have a single namespace was chosen because it was the only + # one that enabled creating and using variables during the same evaluation. + assert updated_globals is not None + f_locals = None + for key, val in updated_globals.items(): + if initial_globals.get(key) is not val: + if f_locals is None: + # Note: we call f_locals only once because each time + # we call it the values may be reset. + f_locals = frame.f_locals + + f_locals[key] = val + + if f_locals is not None: + save_locals(frame) diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_signature.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_signature.py new file mode 100644 index 0000000..3877e62 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_signature.py @@ -0,0 +1,201 @@ +from _pydev_bundle import pydev_log + +try: + import trace +except ImportError: + pass +else: + trace._warn = lambda *args: None # workaround for http://bugs.python.org/issue17143 (PY-8706) + +import os +from _pydevd_bundle.pydevd_comm import CMD_SIGNATURE_CALL_TRACE, NetCommand +from _pydevd_bundle import pydevd_xml +from _pydevd_bundle.pydevd_utils import get_clsname_for_code + + +class Signature(object): + + def __init__(self, file, name): + self.file = file + self.name = name + self.args = [] + self.args_str = [] + self.return_type = None + + def add_arg(self, name, type): + self.args.append((name, type)) + self.args_str.append("%s:%s" % (name, type)) + + def set_args(self, frame, recursive=False): + self.args = [] + + code = frame.f_code + locals = frame.f_locals + + for i in range(0, code.co_argcount): + name = code.co_varnames[i] + class_name = get_type_of_value(locals[name], recursive=recursive) + + self.add_arg(name, class_name) + + def __str__(self): + return "%s %s(%s)" % (self.file, self.name, ", ".join(self.args_str)) + + +def get_type_of_value(value, ignore_module_name=('__main__', '__builtin__', 'builtins'), recursive=False): + tp = type(value) + class_name = tp.__name__ + if class_name == 'instance': # old-style classes + tp = value.__class__ + class_name = tp.__name__ + + if hasattr(tp, '__module__') and tp.__module__ and tp.__module__ not in ignore_module_name: + class_name = "%s.%s" % (tp.__module__, class_name) + + if class_name == 'list': + class_name = 'List' + if len(value) > 0 and recursive: + class_name += '[%s]' % get_type_of_value(value[0], recursive=recursive) + return class_name + + if class_name == 'dict': + class_name = 'Dict' + if len(value) > 0 and recursive: + for (k, v) in value.items(): + class_name += '[%s, %s]' % (get_type_of_value(k, recursive=recursive), + get_type_of_value(v, recursive=recursive)) + break + return class_name + + if class_name == 'tuple': + class_name = 'Tuple' + if len(value) > 0 and recursive: + class_name += '[' + class_name += ', '.join(get_type_of_value(v, recursive=recursive) for v in value) + class_name += ']' + + return class_name + + +def _modname(path): + """Return a plausible module name for the path""" + base = os.path.basename(path) + filename, ext = os.path.splitext(base) + return filename + + +class SignatureFactory(object): + + def __init__(self): + self._caller_cache = {} + self.cache = CallSignatureCache() + + def create_signature(self, frame, filename, with_args=True): + try: + _, modulename, funcname = self.file_module_function_of(frame) + signature = Signature(filename, funcname) + if with_args: + signature.set_args(frame, recursive=True) + return signature + except: + pydev_log.exception() + + def file_module_function_of(self, frame): # this code is take from trace module and fixed to work with new-style classes + code = frame.f_code + filename = code.co_filename + if filename: + modulename = _modname(filename) + else: + modulename = None + + funcname = code.co_name + clsname = None + if code in self._caller_cache: + if self._caller_cache[code] is not None: + clsname = self._caller_cache[code] + else: + self._caller_cache[code] = None + clsname = get_clsname_for_code(code, frame) + if clsname is not None: + # cache the result - assumption is that new.* is + # not called later to disturb this relationship + # _caller_cache could be flushed if functions in + # the new module get called. + self._caller_cache[code] = clsname + + if clsname is not None: + funcname = "%s.%s" % (clsname, funcname) + + return filename, modulename, funcname + + +def get_signature_info(signature): + return signature.file, signature.name, ' '.join([arg[1] for arg in signature.args]) + + +def get_frame_info(frame): + co = frame.f_code + return co.co_name, frame.f_lineno, co.co_filename + + +class CallSignatureCache(object): + + def __init__(self): + self.cache = {} + + def add(self, signature): + filename, name, args_type = get_signature_info(signature) + calls_from_file = self.cache.setdefault(filename, {}) + name_calls = calls_from_file.setdefault(name, {}) + name_calls[args_type] = None + + def is_in_cache(self, signature): + filename, name, args_type = get_signature_info(signature) + if args_type in self.cache.get(filename, {}).get(name, {}): + return True + return False + + +def create_signature_message(signature): + cmdTextList = [""] + + cmdTextList.append('' % (pydevd_xml.make_valid_xml_value(signature.file), pydevd_xml.make_valid_xml_value(signature.name))) + + for arg in signature.args: + cmdTextList.append('' % (pydevd_xml.make_valid_xml_value(arg[0]), pydevd_xml.make_valid_xml_value(arg[1]))) + + if signature.return_type is not None: + cmdTextList.append('' % (pydevd_xml.make_valid_xml_value(signature.return_type))) + + cmdTextList.append("") + cmdText = ''.join(cmdTextList) + return NetCommand(CMD_SIGNATURE_CALL_TRACE, 0, cmdText) + + +def send_signature_call_trace(dbg, frame, filename): + if dbg.signature_factory and dbg.in_project_scope(frame): + signature = dbg.signature_factory.create_signature(frame, filename) + if signature is not None: + if dbg.signature_factory.cache is not None: + if not dbg.signature_factory.cache.is_in_cache(signature): + dbg.signature_factory.cache.add(signature) + dbg.writer.add_command(create_signature_message(signature)) + return True + else: + # we don't send signature if it is cached + return False + else: + dbg.writer.add_command(create_signature_message(signature)) + return True + return False + + +def send_signature_return_trace(dbg, frame, filename, return_value): + if dbg.signature_factory and dbg.in_project_scope(frame): + signature = dbg.signature_factory.create_signature(frame, filename, with_args=False) + signature.return_type = get_type_of_value(return_value, recursive=True) + dbg.writer.add_command(create_signature_message(signature)) + return True + + return False + diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_source_mapping.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_source_mapping.py new file mode 100644 index 0000000..5455307 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_source_mapping.py @@ -0,0 +1,153 @@ +import bisect +from _pydevd_bundle.pydevd_constants import NULL, KeyifyList +import pydevd_file_utils + + +class SourceMappingEntry(object): + + __slots__ = ['source_filename', 'line', 'end_line', 'runtime_line', 'runtime_source'] + + def __init__(self, line, end_line, runtime_line, runtime_source): + assert isinstance(runtime_source, str) + + self.line = int(line) + self.end_line = int(end_line) + self.runtime_line = int(runtime_line) + self.runtime_source = runtime_source # Something as + + # Should be set after translated to server (absolute_source_filename). + # This is what's sent to the client afterwards (so, its case should not be normalized). + self.source_filename = None + + def contains_line(self, i): + return self.line <= i <= self.end_line + + def contains_runtime_line(self, i): + line_count = self.end_line + self.line + runtime_end_line = self.runtime_line + line_count + return self.runtime_line <= i <= runtime_end_line + + def __str__(self): + return 'SourceMappingEntry(%s)' % ( + ', '.join('%s=%r' % (attr, getattr(self, attr)) for attr in self.__slots__)) + + __repr__ = __str__ + + +class SourceMapping(object): + + def __init__(self, on_source_mapping_changed=NULL): + self._mappings_to_server = {} # dict(normalized(file.py) to [SourceMappingEntry]) + self._mappings_to_client = {} # dict( to File.py) + self._cache = {} + self._on_source_mapping_changed = on_source_mapping_changed + + def set_source_mapping(self, absolute_filename, mapping): + ''' + :param str absolute_filename: + The filename for the source mapping (bytes on py2 and str on py3). + + :param list(SourceMappingEntry) mapping: + A list with the source mapping entries to be applied to the given filename. + + :return str: + An error message if it was not possible to set the mapping or an empty string if + everything is ok. + ''' + # Let's first validate if it's ok to apply that mapping. + # File mappings must be 1:N, not M:N (i.e.: if there's a mapping from file1.py to , + # there can be no other mapping from any other file to ). + # This is a limitation to make it easier to remove existing breakpoints when new breakpoints are + # set to a file (so, any file matching that breakpoint can be removed instead of needing to check + # which lines are corresponding to that file). + for map_entry in mapping: + existing_source_filename = self._mappings_to_client.get(map_entry.runtime_source) + if existing_source_filename and existing_source_filename != absolute_filename: + return 'Cannot apply mapping from %s to %s (it conflicts with mapping: %s to %s)' % ( + absolute_filename, map_entry.runtime_source, existing_source_filename, map_entry.runtime_source) + + try: + absolute_normalized_filename = pydevd_file_utils.normcase(absolute_filename) + current_mapping = self._mappings_to_server.get(absolute_normalized_filename, []) + for map_entry in current_mapping: + del self._mappings_to_client[map_entry.runtime_source] + + self._mappings_to_server[absolute_normalized_filename] = sorted(mapping, key=lambda entry:entry.line) + + for map_entry in mapping: + self._mappings_to_client[map_entry.runtime_source] = absolute_filename + finally: + self._cache.clear() + self._on_source_mapping_changed() + return '' + + def map_to_client(self, runtime_source_filename, lineno): + key = (lineno, 'client', runtime_source_filename) + try: + return self._cache[key] + except KeyError: + for _, mapping in list(self._mappings_to_server.items()): + for map_entry in mapping: + if map_entry.runtime_source == runtime_source_filename: # + if map_entry.contains_runtime_line(lineno): # matches line range + self._cache[key] = (map_entry.source_filename, map_entry.line + (lineno - map_entry.runtime_line), True) + return self._cache[key] + + self._cache[key] = (runtime_source_filename, lineno, False) # Mark that no translation happened in the cache. + return self._cache[key] + + def has_mapping_entry(self, runtime_source_filename): + ''' + :param runtime_source_filename: + Something as + ''' + # Note that we're not interested in the line here, just on knowing if a given filename + # (from the server) has a mapping for it. + key = ('has_entry', runtime_source_filename) + try: + return self._cache[key] + except KeyError: + for _absolute_normalized_filename, mapping in list(self._mappings_to_server.items()): + for map_entry in mapping: + if map_entry.runtime_source == runtime_source_filename: + self._cache[key] = True + return self._cache[key] + + self._cache[key] = False + return self._cache[key] + + def map_to_server(self, absolute_filename, lineno): + ''' + Convert something as 'file1.py' at line 10 to '' at line 2. + + Note that the name should be already normalized at this point. + ''' + absolute_normalized_filename = pydevd_file_utils.normcase(absolute_filename) + + changed = False + mappings = self._mappings_to_server.get(absolute_normalized_filename) + if mappings: + + i = bisect.bisect(KeyifyList(mappings, lambda entry:entry.line), lineno) + if i >= len(mappings): + i -= 1 + + if i == 0: + entry = mappings[i] + + else: + entry = mappings[i - 1] + + if not entry.contains_line(lineno): + entry = mappings[i] + if not entry.contains_line(lineno): + entry = None + + if entry is not None: + lineno = entry.runtime_line + (lineno - entry.line) + + absolute_filename = entry.runtime_source + changed = True + + return absolute_filename, lineno, changed + diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_stackless.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_stackless.py new file mode 100644 index 0000000..44bb768 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_stackless.py @@ -0,0 +1,416 @@ +from __future__ import nested_scopes + +import weakref +import sys + +from _pydevd_bundle.pydevd_comm import get_global_debugger +from _pydevd_bundle.pydevd_constants import call_only_once +from _pydev_bundle._pydev_saved_modules import threading +from _pydevd_bundle.pydevd_custom_frames import update_custom_frame, remove_custom_frame, add_custom_frame +import stackless # @UnresolvedImport +from _pydev_bundle import pydev_log + + +# Used so that we don't loose the id (because we'll remove when it's not alive and would generate a new id for the +# same tasklet). +class TaskletToLastId: + ''' + So, why not a WeakKeyDictionary? + The problem is that removals from the WeakKeyDictionary will create a new tasklet (as it adds a callback to + remove the key when it's garbage-collected), so, we can get into a recursion. + ''' + + def __init__(self): + self.tasklet_ref_to_last_id = {} + self._i = 0 + + def get(self, tasklet): + return self.tasklet_ref_to_last_id.get(weakref.ref(tasklet)) + + def __setitem__(self, tasklet, last_id): + self.tasklet_ref_to_last_id[weakref.ref(tasklet)] = last_id + self._i += 1 + if self._i % 100 == 0: # Collect at each 100 additions to the dict (no need to rush). + for tasklet_ref in list(self.tasklet_ref_to_last_id.keys()): + if tasklet_ref() is None: + del self.tasklet_ref_to_last_id[tasklet_ref] + + +_tasklet_to_last_id = TaskletToLastId() + + +#======================================================================================================================= +# _TaskletInfo +#======================================================================================================================= +class _TaskletInfo: + + _last_id = 0 + + def __init__(self, tasklet_weakref, tasklet): + self.frame_id = None + self.tasklet_weakref = tasklet_weakref + + last_id = _tasklet_to_last_id.get(tasklet) + if last_id is None: + _TaskletInfo._last_id += 1 + last_id = _TaskletInfo._last_id + _tasklet_to_last_id[tasklet] = last_id + + self._tasklet_id = last_id + + self.update_name() + + def update_name(self): + tasklet = self.tasklet_weakref() + if tasklet: + if tasklet.blocked: + state = 'blocked' + elif tasklet.paused: + state = 'paused' + elif tasklet.scheduled: + state = 'scheduled' + else: + state = '' + + try: + name = tasklet.name + except AttributeError: + if tasklet.is_main: + name = 'MainTasklet' + else: + name = 'Tasklet-%s' % (self._tasklet_id,) + + thread_id = tasklet.thread_id + if thread_id != -1: + for thread in threading.enumerate(): + if thread.ident == thread_id: + if thread.name: + thread_name = "of %s" % (thread.name,) + else: + thread_name = "of Thread-%s" % (thread.name or str(thread_id),) + break + else: + # should not happen. + thread_name = "of Thread-%s" % (str(thread_id),) + thread = None + else: + # tasklet is no longer bound to a thread, because its thread ended + thread_name = "without thread" + + tid = id(tasklet) + tasklet = None + else: + state = 'dead' + name = 'Tasklet-%s' % (self._tasklet_id,) + thread_name = "" + tid = '-' + self.tasklet_name = '%s %s %s (%s)' % (state, name, thread_name, tid) + + if not hasattr(stackless.tasklet, "trace_function"): + + # bug https://bitbucket.org/stackless-dev/stackless/issue/42 + # is not fixed. Stackless releases before 2014 + def update_name(self): + tasklet = self.tasklet_weakref() + if tasklet: + try: + name = tasklet.name + except AttributeError: + if tasklet.is_main: + name = 'MainTasklet' + else: + name = 'Tasklet-%s' % (self._tasklet_id,) + + thread_id = tasklet.thread_id + for thread in threading.enumerate(): + if thread.ident == thread_id: + if thread.name: + thread_name = "of %s" % (thread.name,) + else: + thread_name = "of Thread-%s" % (thread.name or str(thread_id),) + break + else: + # should not happen. + thread_name = "of Thread-%s" % (str(thread_id),) + thread = None + + tid = id(tasklet) + tasklet = None + else: + name = 'Tasklet-%s' % (self._tasklet_id,) + thread_name = "" + tid = '-' + self.tasklet_name = '%s %s (%s)' % (name, thread_name, tid) + + +_weak_tasklet_registered_to_info = {} + + +#======================================================================================================================= +# get_tasklet_info +#======================================================================================================================= +def get_tasklet_info(tasklet): + return register_tasklet_info(tasklet) + + +#======================================================================================================================= +# register_tasklet_info +#======================================================================================================================= +def register_tasklet_info(tasklet): + r = weakref.ref(tasklet) + info = _weak_tasklet_registered_to_info.get(r) + if info is None: + info = _weak_tasklet_registered_to_info[r] = _TaskletInfo(r, tasklet) + + return info + + +_application_set_schedule_callback = None + + +#======================================================================================================================= +# _schedule_callback +#======================================================================================================================= +def _schedule_callback(prev, next): + ''' + Called when a context is stopped or a new context is made runnable. + ''' + try: + if not prev and not next: + return + + current_frame = sys._getframe() + + if next: + register_tasklet_info(next) + + # Ok, making next runnable: set the tracing facility in it. + debugger = get_global_debugger() + if debugger is not None: + next.trace_function = debugger.get_thread_local_trace_func() + frame = next.frame + if frame is current_frame: + frame = frame.f_back + if hasattr(frame, 'f_trace'): # Note: can be None (but hasattr should cover for that too). + frame.f_trace = debugger.get_thread_local_trace_func() + + debugger = None + + if prev: + register_tasklet_info(prev) + + try: + for tasklet_ref, tasklet_info in list(_weak_tasklet_registered_to_info.items()): # Make sure it's a copy! + tasklet = tasklet_ref() + if tasklet is None or not tasklet.alive: + # Garbage-collected already! + try: + del _weak_tasklet_registered_to_info[tasklet_ref] + except KeyError: + pass + if tasklet_info.frame_id is not None: + remove_custom_frame(tasklet_info.frame_id) + else: + is_running = stackless.get_thread_info(tasklet.thread_id)[1] is tasklet + if tasklet is prev or (tasklet is not next and not is_running): + # the tasklet won't run after this scheduler action: + # - the tasklet is the previous tasklet + # - it is not the next tasklet and it is not an already running tasklet + frame = tasklet.frame + if frame is current_frame: + frame = frame.f_back + if frame is not None: + # print >>sys.stderr, "SchedCB: %r, %d, '%s', '%s'" % (tasklet, frame.f_lineno, _filename, base) + debugger = get_global_debugger() + if debugger is not None and debugger.get_file_type(frame) is None: + tasklet_info.update_name() + if tasklet_info.frame_id is None: + tasklet_info.frame_id = add_custom_frame(frame, tasklet_info.tasklet_name, tasklet.thread_id) + else: + update_custom_frame(tasklet_info.frame_id, frame, tasklet.thread_id, name=tasklet_info.tasklet_name) + debugger = None + + elif tasklet is next or is_running: + if tasklet_info.frame_id is not None: + # Remove info about stackless suspended when it starts to run. + remove_custom_frame(tasklet_info.frame_id) + tasklet_info.frame_id = None + + finally: + tasklet = None + tasklet_info = None + frame = None + + except: + pydev_log.exception() + + if _application_set_schedule_callback is not None: + return _application_set_schedule_callback(prev, next) + + +if not hasattr(stackless.tasklet, "trace_function"): + + # Older versions of Stackless, released before 2014 + # This code does not work reliable! It is affected by several + # stackless bugs: Stackless issues #44, #42, #40 + def _schedule_callback(prev, next): + ''' + Called when a context is stopped or a new context is made runnable. + ''' + try: + if not prev and not next: + return + + if next: + register_tasklet_info(next) + + # Ok, making next runnable: set the tracing facility in it. + debugger = get_global_debugger() + if debugger is not None and next.frame: + if hasattr(next.frame, 'f_trace'): + next.frame.f_trace = debugger.get_thread_local_trace_func() + debugger = None + + if prev: + register_tasklet_info(prev) + + try: + for tasklet_ref, tasklet_info in list(_weak_tasklet_registered_to_info.items()): # Make sure it's a copy! + tasklet = tasklet_ref() + if tasklet is None or not tasklet.alive: + # Garbage-collected already! + try: + del _weak_tasklet_registered_to_info[tasklet_ref] + except KeyError: + pass + if tasklet_info.frame_id is not None: + remove_custom_frame(tasklet_info.frame_id) + else: + if tasklet.paused or tasklet.blocked or tasklet.scheduled: + if tasklet.frame and tasklet.frame.f_back: + f_back = tasklet.frame.f_back + debugger = get_global_debugger() + if debugger is not None and debugger.get_file_type(f_back) is None: + if tasklet_info.frame_id is None: + tasklet_info.frame_id = add_custom_frame(f_back, tasklet_info.tasklet_name, tasklet.thread_id) + else: + update_custom_frame(tasklet_info.frame_id, f_back, tasklet.thread_id) + debugger = None + + elif tasklet.is_current: + if tasklet_info.frame_id is not None: + # Remove info about stackless suspended when it starts to run. + remove_custom_frame(tasklet_info.frame_id) + tasklet_info.frame_id = None + + finally: + tasklet = None + tasklet_info = None + f_back = None + + except: + pydev_log.exception() + + if _application_set_schedule_callback is not None: + return _application_set_schedule_callback(prev, next) + + _original_setup = stackless.tasklet.setup + + #======================================================================================================================= + # setup + #======================================================================================================================= + def setup(self, *args, **kwargs): + ''' + Called to run a new tasklet: rebind the creation so that we can trace it. + ''' + + f = self.tempval + + def new_f(old_f, args, kwargs): + + debugger = get_global_debugger() + if debugger is not None: + debugger.enable_tracing() + + debugger = None + + # Remove our own traces :) + self.tempval = old_f + register_tasklet_info(self) + + # Hover old_f to see the stackless being created and *args and **kwargs to see its parameters. + return old_f(*args, **kwargs) + + # This is the way to tell stackless that the function it should execute is our function, not the original one. Note: + # setting tempval is the same as calling bind(new_f), but it seems that there's no other way to get the currently + # bound function, so, keeping on using tempval instead of calling bind (which is actually the same thing in a better + # API). + + self.tempval = new_f + + return _original_setup(self, f, args, kwargs) + + #======================================================================================================================= + # __call__ + #======================================================================================================================= + def __call__(self, *args, **kwargs): + ''' + Called to run a new tasklet: rebind the creation so that we can trace it. + ''' + + return setup(self, *args, **kwargs) + + _original_run = stackless.run + + #======================================================================================================================= + # run + #======================================================================================================================= + def run(*args, **kwargs): + debugger = get_global_debugger() + if debugger is not None: + debugger.enable_tracing() + debugger = None + + return _original_run(*args, **kwargs) + + +#======================================================================================================================= +# patch_stackless +#======================================================================================================================= +def patch_stackless(): + ''' + This function should be called to patch the stackless module so that new tasklets are properly tracked in the + debugger. + ''' + global _application_set_schedule_callback + _application_set_schedule_callback = stackless.set_schedule_callback(_schedule_callback) + + def set_schedule_callback(callable): + global _application_set_schedule_callback + old = _application_set_schedule_callback + _application_set_schedule_callback = callable + return old + + def get_schedule_callback(): + global _application_set_schedule_callback + return _application_set_schedule_callback + + set_schedule_callback.__doc__ = stackless.set_schedule_callback.__doc__ + if hasattr(stackless, "get_schedule_callback"): + get_schedule_callback.__doc__ = stackless.get_schedule_callback.__doc__ + stackless.set_schedule_callback = set_schedule_callback + stackless.get_schedule_callback = get_schedule_callback + + if not hasattr(stackless.tasklet, "trace_function"): + # Older versions of Stackless, released before 2014 + __call__.__doc__ = stackless.tasklet.__call__.__doc__ + stackless.tasklet.__call__ = __call__ + + setup.__doc__ = stackless.tasklet.setup.__doc__ + stackless.tasklet.setup = setup + + run.__doc__ = stackless.run.__doc__ + stackless.run = run + + +patch_stackless = call_only_once(patch_stackless) diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_suspended_frames.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_suspended_frames.py new file mode 100644 index 0000000..955ba9a --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_suspended_frames.py @@ -0,0 +1,533 @@ +from contextlib import contextmanager +import sys + +from _pydevd_bundle.pydevd_constants import get_frame, RETURN_VALUES_DICT, \ + ForkSafeLock, GENERATED_LEN_ATTR_NAME, silence_warnings_decorator +from _pydevd_bundle.pydevd_xml import get_variable_details, get_type +from _pydev_bundle.pydev_override import overrides +from _pydevd_bundle.pydevd_resolver import sorted_attributes_key, TOO_LARGE_ATTR, get_var_scope +from _pydevd_bundle.pydevd_safe_repr import SafeRepr +from _pydev_bundle import pydev_log +from _pydevd_bundle import pydevd_vars +from _pydev_bundle.pydev_imports import Exec +from _pydevd_bundle.pydevd_frame_utils import FramesList +from _pydevd_bundle.pydevd_utils import ScopeRequest, DAPGrouper, Timer + + +class _AbstractVariable(object): + + # Default attributes in class, set in instance. + + name = None + value = None + evaluate_name = None + + def __init__(self, py_db): + assert py_db is not None + self.py_db = py_db + + def get_name(self): + return self.name + + def get_value(self): + return self.value + + def get_variable_reference(self): + return id(self.value) + + def get_var_data(self, fmt=None, **safe_repr_custom_attrs): + ''' + :param dict fmt: + Format expected by the DAP (keys: 'hex': bool, 'rawString': bool) + ''' + timer = Timer() + safe_repr = SafeRepr() + if fmt is not None: + safe_repr.convert_to_hex = fmt.get('hex', False) + safe_repr.raw_value = fmt.get('rawString', False) + for key, val in safe_repr_custom_attrs.items(): + setattr(safe_repr, key, val) + + type_name, _type_qualifier, _is_exception_on_eval, resolver, value = get_variable_details( + self.value, to_string=safe_repr) + + is_raw_string = type_name in ('str', 'bytes', 'bytearray') + + attributes = [] + + if is_raw_string: + attributes.append('rawString') + + name = self.name + + if self._is_return_value: + attributes.append('readOnly') + name = '(return) %s' % (name,) + + elif name in (TOO_LARGE_ATTR, GENERATED_LEN_ATTR_NAME): + attributes.append('readOnly') + + try: + if self.value.__class__ == DAPGrouper: + type_name = '' + except: + pass # Ignore errors accessing __class__. + + var_data = { + 'name': name, + 'value': value, + 'type': type_name, + } + + if self.evaluate_name is not None: + var_data['evaluateName'] = self.evaluate_name + + if resolver is not None: # I.e.: it's a container + var_data['variablesReference'] = self.get_variable_reference() + else: + var_data['variablesReference'] = 0 # It's mandatory (although if == 0 it doesn't have children). + + if len(attributes) > 0: + var_data['presentationHint'] = {'attributes': attributes} + + timer.report_if_compute_repr_attr_slow('', name, type_name) + return var_data + + def get_children_variables(self, fmt=None, scope=None): + raise NotImplementedError() + + def get_child_variable_named(self, name, fmt=None, scope=None): + for child_var in self.get_children_variables(fmt=fmt, scope=scope): + if child_var.get_name() == name: + return child_var + return None + + def _group_entries(self, lst, handle_return_values): + scope_to_grouper = {} + + group_entries = [] + if isinstance(self.value, DAPGrouper): + new_lst = lst + else: + new_lst = [] + get_presentation = self.py_db.variable_presentation.get_presentation + # Now that we have the contents, group items. + for attr_name, attr_value, evaluate_name in lst: + scope = get_var_scope(attr_name, attr_value, evaluate_name, handle_return_values) + + entry = (attr_name, attr_value, evaluate_name) + if scope: + presentation = get_presentation(scope) + if presentation == 'hide': + continue + + elif presentation == 'inline': + new_lst.append(entry) + + else: # group + if scope not in scope_to_grouper: + grouper = DAPGrouper(scope) + scope_to_grouper[scope] = grouper + else: + grouper = scope_to_grouper[scope] + + grouper.contents_debug_adapter_protocol.append(entry) + + else: + new_lst.append(entry) + + for scope in DAPGrouper.SCOPES_SORTED: + grouper = scope_to_grouper.get(scope) + if grouper is not None: + group_entries.append((scope, grouper, None)) + + return new_lst, group_entries + + +class _ObjectVariable(_AbstractVariable): + + def __init__(self, py_db, name, value, register_variable, is_return_value=False, evaluate_name=None, frame=None): + _AbstractVariable.__init__(self, py_db) + self.frame = frame + self.name = name + self.value = value + self._register_variable = register_variable + self._register_variable(self) + self._is_return_value = is_return_value + self.evaluate_name = evaluate_name + + @silence_warnings_decorator + @overrides(_AbstractVariable.get_children_variables) + def get_children_variables(self, fmt=None, scope=None): + _type, _type_name, resolver = get_type(self.value) + + children_variables = [] + if resolver is not None: # i.e.: it's a container. + if hasattr(resolver, 'get_contents_debug_adapter_protocol'): + # The get_contents_debug_adapter_protocol needs to return sorted. + lst = resolver.get_contents_debug_adapter_protocol(self.value, fmt=fmt) + else: + # If there's no special implementation, the default is sorting the keys. + dct = resolver.get_dictionary(self.value) + lst = sorted(dct.items(), key=lambda tup: sorted_attributes_key(tup[0])) + # No evaluate name in this case. + lst = [(key, value, None) for (key, value) in lst] + + lst, group_entries = self._group_entries(lst, handle_return_values=False) + if group_entries: + lst = group_entries + lst + parent_evaluate_name = self.evaluate_name + if parent_evaluate_name: + for key, val, evaluate_name in lst: + if evaluate_name is not None: + if callable(evaluate_name): + evaluate_name = evaluate_name(parent_evaluate_name) + else: + evaluate_name = parent_evaluate_name + evaluate_name + variable = _ObjectVariable( + self.py_db, key, val, self._register_variable, evaluate_name=evaluate_name, frame=self.frame) + children_variables.append(variable) + else: + for key, val, evaluate_name in lst: + # No evaluate name + variable = _ObjectVariable(self.py_db, key, val, self._register_variable, frame=self.frame) + children_variables.append(variable) + + return children_variables + + def change_variable(self, name, value, py_db, fmt=None): + + children_variable = self.get_child_variable_named(name) + if children_variable is None: + return None + + var_data = children_variable.get_var_data() + evaluate_name = var_data.get('evaluateName') + + if not evaluate_name: + # Note: right now we only pass control to the resolver in the cases where + # there's no evaluate name (the idea being that if we can evaluate it, + # we can use that evaluation to set the value too -- if in the future + # a case where this isn't true is found this logic may need to be changed). + _type, _type_name, container_resolver = get_type(self.value) + if hasattr(container_resolver, 'change_var_from_name'): + try: + new_value = eval(value) + except: + return None + new_key = container_resolver.change_var_from_name(self.value, name, new_value) + if new_key is not None: + return _ObjectVariable( + self.py_db, new_key, new_value, self._register_variable, evaluate_name=None, frame=self.frame) + + return None + else: + return None + + frame = self.frame + if frame is None: + return None + + try: + # This handles the simple cases (such as dict, list, object) + Exec('%s=%s' % (evaluate_name, value), frame.f_globals, frame.f_locals) + except: + return None + + return self.get_child_variable_named(name, fmt=fmt) + + +def sorted_variables_key(obj): + return sorted_attributes_key(obj.name) + + +class _FrameVariable(_AbstractVariable): + + def __init__(self, py_db, frame, register_variable): + _AbstractVariable.__init__(self, py_db) + self.frame = frame + + self.name = self.frame.f_code.co_name + self.value = frame + + self._register_variable = register_variable + self._register_variable(self) + + def change_variable(self, name, value, py_db, fmt=None): + frame = self.frame + + pydevd_vars.change_attr_expression(frame, name, value, py_db) + + return self.get_child_variable_named(name, fmt=fmt) + + @silence_warnings_decorator + @overrides(_AbstractVariable.get_children_variables) + def get_children_variables(self, fmt=None, scope=None): + children_variables = [] + if scope is not None: + assert isinstance(scope, ScopeRequest) + scope = scope.scope + + if scope in ('locals', None): + dct = self.frame.f_locals + elif scope == 'globals': + dct = self.frame.f_globals + else: + raise AssertionError('Unexpected scope: %s' % (scope,)) + + lst, group_entries = self._group_entries([(x[0], x[1], None) for x in list(dct.items()) if x[0] != '_pydev_stop_at_break'], handle_return_values=True) + group_variables = [] + + for key, val, _ in group_entries: + # Make sure that the contents in the group are also sorted. + val.contents_debug_adapter_protocol.sort(key=lambda v:sorted_attributes_key(v[0])) + variable = _ObjectVariable(self.py_db, key, val, self._register_variable, False, key, frame=self.frame) + group_variables.append(variable) + + for key, val, _ in lst: + is_return_value = key == RETURN_VALUES_DICT + if is_return_value: + for return_key, return_value in val.items(): + variable = _ObjectVariable( + self.py_db, return_key, return_value, self._register_variable, is_return_value, '%s[%r]' % (key, return_key), frame=self.frame) + children_variables.append(variable) + else: + variable = _ObjectVariable(self.py_db, key, val, self._register_variable, is_return_value, key, frame=self.frame) + children_variables.append(variable) + + # Frame variables always sorted. + children_variables.sort(key=sorted_variables_key) + if group_variables: + # Groups have priority over other variables. + children_variables = group_variables + children_variables + + return children_variables + + +class _FramesTracker(object): + ''' + This is a helper class to be used to track frames when a thread becomes suspended. + ''' + + def __init__(self, suspended_frames_manager, py_db): + self._suspended_frames_manager = suspended_frames_manager + self.py_db = py_db + self._frame_id_to_frame = {} + + # Note that a given frame may appear in multiple threads when we have custom + # frames added, but as those are coroutines, this map will point to the actual + # main thread (which is the one that needs to be suspended for us to get the + # variables). + self._frame_id_to_main_thread_id = {} + + # A map of the suspended thread id -> list(frames ids) -- note that + # frame ids are kept in order (the first one is the suspended frame). + self._thread_id_to_frame_ids = {} + + self._thread_id_to_frames_list = {} + + # The main suspended thread (if this is a coroutine this isn't the id of the + # coroutine thread, it's the id of the actual suspended thread). + self._main_thread_id = None + + # Helper to know if it was already untracked. + self._untracked = False + + # We need to be thread-safe! + self._lock = ForkSafeLock() + + self._variable_reference_to_variable = {} + + def _register_variable(self, variable): + variable_reference = variable.get_variable_reference() + self._variable_reference_to_variable[variable_reference] = variable + + def obtain_as_variable(self, name, value, evaluate_name=None, frame=None): + if evaluate_name is None: + evaluate_name = name + + variable_reference = id(value) + variable = self._variable_reference_to_variable.get(variable_reference) + if variable is not None: + return variable + + # Still not created, let's do it now. + return _ObjectVariable( + self.py_db, name, value, self._register_variable, is_return_value=False, evaluate_name=evaluate_name, frame=frame) + + def get_main_thread_id(self): + return self._main_thread_id + + def get_variable(self, variable_reference): + return self._variable_reference_to_variable[variable_reference] + + def track(self, thread_id, frames_list, frame_custom_thread_id=None): + ''' + :param thread_id: + The thread id to be used for this frame. + + :param FramesList frames_list: + A list of frames to be tracked (the first is the topmost frame which is suspended at the given thread). + + :param frame_custom_thread_id: + If None this this is the id of the thread id for the custom frame (i.e.: coroutine). + ''' + assert frames_list.__class__ == FramesList + with self._lock: + coroutine_or_main_thread_id = frame_custom_thread_id or thread_id + + if coroutine_or_main_thread_id in self._suspended_frames_manager._thread_id_to_tracker: + sys.stderr.write('pydevd: Something is wrong. Tracker being added twice to the same thread id.\n') + + self._suspended_frames_manager._thread_id_to_tracker[coroutine_or_main_thread_id] = self + self._main_thread_id = thread_id + + frame_ids_from_thread = self._thread_id_to_frame_ids.setdefault( + coroutine_or_main_thread_id, []) + + self._thread_id_to_frames_list[coroutine_or_main_thread_id] = frames_list + for frame in frames_list: + frame_id = id(frame) + self._frame_id_to_frame[frame_id] = frame + _FrameVariable(self.py_db, frame, self._register_variable) # Instancing is enough to register. + self._suspended_frames_manager._variable_reference_to_frames_tracker[frame_id] = self + frame_ids_from_thread.append(frame_id) + + self._frame_id_to_main_thread_id[frame_id] = thread_id + + frame = None + + def untrack_all(self): + with self._lock: + if self._untracked: + # Calling multiple times is expected for the set next statement. + return + self._untracked = True + for thread_id in self._thread_id_to_frame_ids: + self._suspended_frames_manager._thread_id_to_tracker.pop(thread_id, None) + + for frame_id in self._frame_id_to_frame: + del self._suspended_frames_manager._variable_reference_to_frames_tracker[frame_id] + + self._frame_id_to_frame.clear() + self._frame_id_to_main_thread_id.clear() + self._thread_id_to_frame_ids.clear() + self._thread_id_to_frames_list.clear() + self._main_thread_id = None + self._suspended_frames_manager = None + self._variable_reference_to_variable.clear() + + def get_frames_list(self, thread_id): + with self._lock: + return self._thread_id_to_frames_list.get(thread_id) + + def find_frame(self, thread_id, frame_id): + with self._lock: + return self._frame_id_to_frame.get(frame_id) + + def create_thread_suspend_command(self, thread_id, stop_reason, message, suspend_type): + with self._lock: + # First one is topmost frame suspended. + frames_list = self._thread_id_to_frames_list[thread_id] + + cmd = self.py_db.cmd_factory.make_thread_suspend_message( + self.py_db, thread_id, frames_list, stop_reason, message, suspend_type) + + frames_list = None + return cmd + + +class SuspendedFramesManager(object): + + def __init__(self): + self._thread_id_to_fake_frames = {} + self._thread_id_to_tracker = {} + + # Mappings + self._variable_reference_to_frames_tracker = {} + + def _get_tracker_for_variable_reference(self, variable_reference): + tracker = self._variable_reference_to_frames_tracker.get(variable_reference) + if tracker is not None: + return tracker + + for _thread_id, tracker in self._thread_id_to_tracker.items(): + try: + tracker.get_variable(variable_reference) + except KeyError: + pass + else: + return tracker + + return None + + def get_thread_id_for_variable_reference(self, variable_reference): + ''' + We can't evaluate variable references values on any thread, only in the suspended + thread (the main reason for this is that in UI frameworks inspecting a UI object + from a different thread can potentially crash the application). + + :param int variable_reference: + The variable reference (can be either a frame id or a reference to a previously + gotten variable). + + :return str: + The thread id for the thread to be used to inspect the given variable reference or + None if the thread was already resumed. + ''' + frames_tracker = self._get_tracker_for_variable_reference(variable_reference) + if frames_tracker is not None: + return frames_tracker.get_main_thread_id() + return None + + def get_frame_tracker(self, thread_id): + return self._thread_id_to_tracker.get(thread_id) + + def get_variable(self, variable_reference): + ''' + :raises KeyError + ''' + frames_tracker = self._get_tracker_for_variable_reference(variable_reference) + if frames_tracker is None: + raise KeyError() + return frames_tracker.get_variable(variable_reference) + + def get_frames_list(self, thread_id): + tracker = self._thread_id_to_tracker.get(thread_id) + if tracker is None: + return None + return tracker.get_frames_list(thread_id) + + @contextmanager + def track_frames(self, py_db): + tracker = _FramesTracker(self, py_db) + try: + yield tracker + finally: + tracker.untrack_all() + + def add_fake_frame(self, thread_id, frame_id, frame): + self._thread_id_to_fake_frames.setdefault(thread_id, {})[int(frame_id)] = frame + + def find_frame(self, thread_id, frame_id): + try: + if frame_id == "*": + return get_frame() # any frame is specified with "*" + frame_id = int(frame_id) + + fake_frames = self._thread_id_to_fake_frames.get(thread_id) + if fake_frames is not None: + frame = fake_frames.get(frame_id) + if frame is not None: + return frame + + frames_tracker = self._thread_id_to_tracker.get(thread_id) + if frames_tracker is not None: + frame = frames_tracker.find_frame(thread_id, frame_id) + if frame is not None: + return frame + + return None + except: + pydev_log.exception() + return None diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_thread_lifecycle.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_thread_lifecycle.py new file mode 100644 index 0000000..069b6b6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_thread_lifecycle.py @@ -0,0 +1,96 @@ +from _pydevd_bundle import pydevd_utils +from _pydevd_bundle.pydevd_additional_thread_info import set_additional_thread_info +from _pydevd_bundle.pydevd_comm_constants import CMD_STEP_INTO, CMD_THREAD_SUSPEND +from _pydevd_bundle.pydevd_constants import PYTHON_SUSPEND, STATE_SUSPEND, get_thread_id, STATE_RUN +from _pydev_bundle._pydev_saved_modules import threading +from _pydev_bundle import pydev_log + + +def pydevd_find_thread_by_id(thread_id): + try: + threads = threading.enumerate() + for i in threads: + tid = get_thread_id(i) + if thread_id == tid or thread_id.endswith('|' + tid): + return i + + # This can happen when a request comes for a thread which was previously removed. + pydev_log.info("Could not find thread %s.", thread_id) + pydev_log.info("Available: %s.", ([get_thread_id(t) for t in threads],)) + except: + pydev_log.exception() + + return None + + +def mark_thread_suspended(thread, stop_reason, original_step_cmd=-1): + info = set_additional_thread_info(thread) + info.suspend_type = PYTHON_SUSPEND + if original_step_cmd != -1: + stop_reason = original_step_cmd + thread.stop_reason = stop_reason + + # Note: don't set the 'pydev_original_step_cmd' here if unset. + + if info.pydev_step_cmd == -1: + # If the step command is not specified, set it to step into + # to make sure it'll break as soon as possible. + info.pydev_step_cmd = CMD_STEP_INTO + info.pydev_step_stop = None + + # Mark as suspended as the last thing. + info.pydev_state = STATE_SUSPEND + + return info + + +def internal_run_thread(thread, set_additional_thread_info): + info = set_additional_thread_info(thread) + info.pydev_original_step_cmd = -1 + info.pydev_step_cmd = -1 + info.pydev_step_stop = None + info.pydev_state = STATE_RUN + + +def resume_threads(thread_id, except_thread=None): + pydev_log.info('Resuming threads: %s (except thread: %s)', thread_id, except_thread) + threads = [] + if thread_id == '*': + threads = pydevd_utils.get_non_pydevd_threads() + + elif thread_id.startswith('__frame__:'): + pydev_log.critical("Can't make tasklet run: %s", thread_id) + + else: + threads = [pydevd_find_thread_by_id(thread_id)] + + for t in threads: + if t is None or t is except_thread: + pydev_log.info('Skipped resuming thread: %s', t) + continue + + internal_run_thread(t, set_additional_thread_info=set_additional_thread_info) + + +def suspend_all_threads(py_db, except_thread): + ''' + Suspend all except the one passed as a parameter. + :param except_thread: + ''' + pydev_log.info('Suspending all threads except: %s', except_thread) + all_threads = pydevd_utils.get_non_pydevd_threads() + for t in all_threads: + if getattr(t, 'pydev_do_not_trace', None): + pass # skip some other threads, i.e. ipython history saving thread from debug console + else: + if t is except_thread: + continue + info = mark_thread_suspended(t, CMD_THREAD_SUSPEND) + frame = info.get_topmost_frame(t) + + # Reset the tracing as in this case as it could've set scopes to be untraced. + if frame is not None: + try: + py_db.set_trace_for_frame_and_parents(frame) + finally: + frame = None diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_timeout.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_timeout.py new file mode 100644 index 0000000..4a18caf --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_timeout.py @@ -0,0 +1,239 @@ +from _pydev_bundle._pydev_saved_modules import threading +from _pydevd_bundle.pydevd_daemon_thread import PyDBDaemonThread +from _pydevd_bundle.pydevd_constants import thread_get_ident, IS_CPYTHON, NULL +import ctypes +import time +from _pydev_bundle import pydev_log +import weakref +from _pydevd_bundle.pydevd_utils import is_current_thread_main_thread +from _pydevd_bundle import pydevd_utils + +_DEBUG = False # Default should be False as this can be very verbose. + + +class _TimeoutThread(PyDBDaemonThread): + ''' + The idea in this class is that it should be usually stopped waiting + for the next event to be called (paused in a threading.Event.wait). + + When a new handle is added it sets the event so that it processes the handles and + then keeps on waiting as needed again. + + This is done so that it's a bit more optimized than creating many Timer threads. + ''' + + def __init__(self, py_db): + PyDBDaemonThread.__init__(self, py_db) + self._event = threading.Event() + self._handles = [] + + # We could probably do things valid without this lock so that it's possible to add + # handles while processing, but the implementation would also be harder to follow, + # so, for now, we're either processing or adding handles, not both at the same time. + self._lock = threading.Lock() + + def _on_run(self): + wait_time = None + while not self._kill_received: + if _DEBUG: + if wait_time is None: + pydev_log.critical('pydevd_timeout: Wait until a new handle is added.') + else: + pydev_log.critical('pydevd_timeout: Next wait time: %s.', wait_time) + self._event.wait(wait_time) + + if self._kill_received: + self._handles = [] + return + + wait_time = self.process_handles() + + def process_handles(self): + ''' + :return int: + Returns the time we should be waiting for to process the next event properly. + ''' + with self._lock: + if _DEBUG: + pydev_log.critical('pydevd_timeout: Processing handles') + self._event.clear() + handles = self._handles + new_handles = self._handles = [] + + # Do all the processing based on this time (we want to consider snapshots + # of processing time -- anything not processed now may be processed at the + # next snapshot). + curtime = time.time() + + min_handle_timeout = None + + for handle in handles: + if curtime < handle.abs_timeout and not handle.disposed: + # It still didn't time out. + if _DEBUG: + pydev_log.critical('pydevd_timeout: Handle NOT processed: %s', handle) + new_handles.append(handle) + if min_handle_timeout is None: + min_handle_timeout = handle.abs_timeout + + elif handle.abs_timeout < min_handle_timeout: + min_handle_timeout = handle.abs_timeout + + else: + if _DEBUG: + pydev_log.critical('pydevd_timeout: Handle processed: %s', handle) + # Timed out (or disposed), so, let's execute it (should be no-op if disposed). + handle.exec_on_timeout() + + if min_handle_timeout is None: + return None + else: + timeout = min_handle_timeout - curtime + if timeout <= 0: + pydev_log.critical('pydevd_timeout: Expected timeout to be > 0. Found: %s', timeout) + + return timeout + + def do_kill_pydev_thread(self): + PyDBDaemonThread.do_kill_pydev_thread(self) + with self._lock: + self._event.set() + + def add_on_timeout_handle(self, handle): + with self._lock: + self._handles.append(handle) + self._event.set() + + +class _OnTimeoutHandle(object): + + def __init__(self, tracker, abs_timeout, on_timeout, kwargs): + self._str = '_OnTimeoutHandle(%s)' % (on_timeout,) + + self._tracker = weakref.ref(tracker) + self.abs_timeout = abs_timeout + self.on_timeout = on_timeout + if kwargs is None: + kwargs = {} + self.kwargs = kwargs + self.disposed = False + + def exec_on_timeout(self): + # Note: lock should already be obtained when executing this function. + kwargs = self.kwargs + on_timeout = self.on_timeout + + if not self.disposed: + self.disposed = True + self.kwargs = None + self.on_timeout = None + + try: + if _DEBUG: + pydev_log.critical('pydevd_timeout: Calling on timeout: %s with kwargs: %s', on_timeout, kwargs) + + on_timeout(**kwargs) + except Exception: + pydev_log.exception('pydevd_timeout: Exception on callback timeout.') + + def __enter__(self): + pass + + def __exit__(self, exc_type, exc_val, exc_tb): + tracker = self._tracker() + + if tracker is None: + lock = NULL + else: + lock = tracker._lock + + with lock: + self.disposed = True + self.kwargs = None + self.on_timeout = None + + def __str__(self): + return self._str + + __repr__ = __str__ + + +class TimeoutTracker(object): + ''' + This is a helper class to track the timeout of something. + ''' + + def __init__(self, py_db): + self._thread = None + self._lock = threading.Lock() + self._py_db = weakref.ref(py_db) + + def call_on_timeout(self, timeout, on_timeout, kwargs=None): + ''' + This can be called regularly to always execute the given function after a given timeout: + + call_on_timeout(py_db, 10, on_timeout) + + + Or as a context manager to stop the method from being called if it finishes before the timeout + elapses: + + with call_on_timeout(py_db, 10, on_timeout): + ... + + Note: the callback will be called from a PyDBDaemonThread. + ''' + with self._lock: + if self._thread is None: + if _DEBUG: + pydev_log.critical('pydevd_timeout: Created _TimeoutThread.') + + self._thread = _TimeoutThread(self._py_db()) + self._thread.start() + + curtime = time.time() + handle = _OnTimeoutHandle(self, curtime + timeout, on_timeout, kwargs) + if _DEBUG: + pydev_log.critical('pydevd_timeout: Added handle: %s.', handle) + self._thread.add_on_timeout_handle(handle) + return handle + + +def create_interrupt_this_thread_callback(): + ''' + The idea here is returning a callback that when called will generate a KeyboardInterrupt + in the thread that called this function. + + If this is the main thread, this means that it'll emulate a Ctrl+C (which may stop I/O + and sleep operations). + + For other threads, this will call PyThreadState_SetAsyncExc to raise + a KeyboardInterrupt before the next instruction (so, it won't really interrupt I/O or + sleep operations). + + :return callable: + Returns a callback that will interrupt the current thread (this may be called + from an auxiliary thread). + ''' + tid = thread_get_ident() + + if is_current_thread_main_thread(): + main_thread = threading.current_thread() + + def raise_on_this_thread(): + pydev_log.debug('Callback to interrupt main thread.') + pydevd_utils.interrupt_main_thread(main_thread) + + else: + + # Note: this works in the sense that it can stop some cpu-intensive slow operation, + # but we can't really interrupt the thread out of some sleep or I/O operation + # (this will only be raised when Python is about to execute the next instruction). + def raise_on_this_thread(): + if IS_CPYTHON: + pydev_log.debug('Interrupt thread: %s', tid) + ctypes.pythonapi.PyThreadState_SetAsyncExc(ctypes.c_long(tid), ctypes.py_object(KeyboardInterrupt)) + else: + pydev_log.debug('It is only possible to interrupt non-main threads in CPython.') + + return raise_on_this_thread diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_trace_api.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_trace_api.py new file mode 120000 index 0000000..f6b0658 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_trace_api.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9e/57/f9/ea2f612b3e838a41f94f173f7f0671a8dd60495eb4429b343835b37388 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_trace_dispatch.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_trace_dispatch.py new file mode 120000 index 0000000..7c8ebe2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_trace_dispatch.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6c/80/d1/8628680477dc554f635652b64ee4beb042281c461e8d391d1ec4976a03 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_trace_dispatch_regular.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_trace_dispatch_regular.py new file mode 100644 index 0000000..88a3f08 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_trace_dispatch_regular.py @@ -0,0 +1,490 @@ +from _pydev_bundle.pydev_is_thread_alive import is_thread_alive +from _pydev_bundle.pydev_log import exception as pydev_log_exception +from _pydev_bundle._pydev_saved_modules import threading +from _pydevd_bundle.pydevd_constants import (get_current_thread_id, NO_FTRACE, + USE_CUSTOM_SYS_CURRENT_FRAMES_MAP, ForkSafeLock) +from pydevd_file_utils import get_abs_path_real_path_and_base_from_frame, NORM_PATHS_AND_BASE_CONTAINER + +# IFDEF CYTHON +# from cpython.object cimport PyObject +# from cpython.ref cimport Py_INCREF, Py_XDECREF +# ELSE +from _pydevd_bundle.pydevd_frame import PyDBFrame, is_unhandled_exception +# ENDIF + +# IFDEF CYTHON +# cdef dict _global_notify_skipped_step_in +# cython_inline_constant: CMD_STEP_INTO = 107 +# cython_inline_constant: CMD_STEP_INTO_MY_CODE = 144 +# cython_inline_constant: CMD_STEP_RETURN = 109 +# cython_inline_constant: CMD_STEP_RETURN_MY_CODE = 160 +# ELSE +# Note: those are now inlined on cython. +CMD_STEP_INTO = 107 +CMD_STEP_INTO_MY_CODE = 144 +CMD_STEP_RETURN = 109 +CMD_STEP_RETURN_MY_CODE = 160 +# ENDIF + +# Cache where we should keep that we completely skipped entering some context. +# It needs to be invalidated when: +# - Breakpoints are changed +# It can be used when running regularly (without step over/step in/step return) +global_cache_skips = {} +global_cache_frame_skips = {} + +_global_notify_skipped_step_in = False +_global_notify_skipped_step_in_lock = ForkSafeLock() + + +def notify_skipped_step_in_because_of_filters(py_db, frame): + global _global_notify_skipped_step_in + + with _global_notify_skipped_step_in_lock: + if _global_notify_skipped_step_in: + # Check with lock in place (callers should actually have checked + # before without the lock in place due to performance). + return + _global_notify_skipped_step_in = True + py_db.notify_skipped_step_in_because_of_filters(frame) + +# IFDEF CYTHON +# cdef class SafeCallWrapper: +# cdef method_object +# def __init__(self, method_object): +# self.method_object = method_object +# def __call__(self, *args): +# #Cannot use 'self' once inside the delegate call since we are borrowing the self reference f_trace field +# #in the frame, and that reference might get destroyed by set trace on frame and parents +# cdef PyObject* method_obj = self.method_object +# Py_INCREF(method_obj) +# ret = (method_obj)(*args) +# Py_XDECREF (method_obj) +# return SafeCallWrapper(ret) if ret is not None else None +# def get_method_object(self): +# return self.method_object +# ELSE +# ENDIF + + +def fix_top_level_trace_and_get_trace_func(py_db, frame): + # IFDEF CYTHON + # cdef str filename; + # cdef str name; + # cdef tuple args; + # ENDIF + + # Note: this is always the first entry-point in the tracing for any thread. + # After entering here we'll set a new tracing function for this thread + # where more information is cached (and will also setup the tracing for + # frames where we should deal with unhandled exceptions). + thread = None + # Cache the frame which should be traced to deal with unhandled exceptions. + # (i.e.: thread entry-points). + + f_unhandled = frame + # print('called at', f_unhandled.f_code.co_name, f_unhandled.f_code.co_filename, f_unhandled.f_code.co_firstlineno) + force_only_unhandled_tracer = False + while f_unhandled is not None: + # name = splitext(basename(f_unhandled.f_code.co_filename))[0] + + name = f_unhandled.f_code.co_filename + # basename + i = name.rfind('/') + j = name.rfind('\\') + if j > i: + i = j + if i >= 0: + name = name[i + 1:] + # remove ext + i = name.rfind('.') + if i >= 0: + name = name[:i] + + if name == 'threading': + if f_unhandled.f_code.co_name in ('__bootstrap', '_bootstrap'): + # We need __bootstrap_inner, not __bootstrap. + return None, False + + elif f_unhandled.f_code.co_name in ('__bootstrap_inner', '_bootstrap_inner'): + # Note: be careful not to use threading.currentThread to avoid creating a dummy thread. + t = f_unhandled.f_locals.get('self') + force_only_unhandled_tracer = True + if t is not None and isinstance(t, threading.Thread): + thread = t + break + + elif name == 'pydev_monkey': + if f_unhandled.f_code.co_name == '__call__': + force_only_unhandled_tracer = True + break + + elif name == 'pydevd': + if f_unhandled.f_code.co_name in ('run', 'main'): + # We need to get to _exec + return None, False + + if f_unhandled.f_code.co_name == '_exec': + force_only_unhandled_tracer = True + break + + elif name == 'pydevd_tracing': + return None, False + + elif f_unhandled.f_back is None: + break + + f_unhandled = f_unhandled.f_back + + if thread is None: + # Important: don't call threadingCurrentThread if we're in the threading module + # to avoid creating dummy threads. + if py_db.threading_get_ident is not None: + thread = py_db.threading_active.get(py_db.threading_get_ident()) + if thread is None: + return None, False + else: + # Jython does not have threading.get_ident(). + thread = py_db.threading_current_thread() + + if getattr(thread, 'pydev_do_not_trace', None): + py_db.disable_tracing() + return None, False + + try: + additional_info = thread.additional_info + if additional_info is None: + raise AttributeError() + except: + additional_info = py_db.set_additional_thread_info(thread) + + # print('enter thread tracer', thread, get_current_thread_id(thread)) + args = (py_db, thread, additional_info, global_cache_skips, global_cache_frame_skips) + + if f_unhandled is not None: + if f_unhandled.f_back is None and not force_only_unhandled_tracer: + # Happens when we attach to a running program (cannot reuse instance because it's mutable). + top_level_thread_tracer = TopLevelThreadTracerNoBackFrame(ThreadTracer(args), args) + additional_info.top_level_thread_tracer_no_back_frames.append(top_level_thread_tracer) # Hack for cython to keep it alive while the thread is alive (just the method in the SetTrace is not enough). + else: + top_level_thread_tracer = additional_info.top_level_thread_tracer_unhandled + if top_level_thread_tracer is None: + # Stop in some internal place to report about unhandled exceptions + top_level_thread_tracer = TopLevelThreadTracerOnlyUnhandledExceptions(args) + additional_info.top_level_thread_tracer_unhandled = top_level_thread_tracer # Hack for cython to keep it alive while the thread is alive (just the method in the SetTrace is not enough). + + # print(' --> found to trace unhandled', f_unhandled.f_code.co_name, f_unhandled.f_code.co_filename, f_unhandled.f_code.co_firstlineno) + f_trace = top_level_thread_tracer.get_trace_dispatch_func() + # IFDEF CYTHON + # f_trace = SafeCallWrapper(f_trace) + # ENDIF + f_unhandled.f_trace = f_trace + + if frame is f_unhandled: + return f_trace, False + + thread_tracer = additional_info.thread_tracer + if thread_tracer is None or thread_tracer._args[0] is not py_db: + thread_tracer = ThreadTracer(args) + additional_info.thread_tracer = thread_tracer + +# IFDEF CYTHON +# return SafeCallWrapper(thread_tracer), True +# ELSE + return thread_tracer, True +# ENDIF + + +def trace_dispatch(py_db, frame, event, arg): + thread_trace_func, apply_to_settrace = py_db.fix_top_level_trace_and_get_trace_func(py_db, frame) + if thread_trace_func is None: + return None if event == 'call' else NO_FTRACE + if apply_to_settrace: + py_db.enable_tracing(thread_trace_func) + return thread_trace_func(frame, event, arg) + + +# IFDEF CYTHON +# cdef class TopLevelThreadTracerOnlyUnhandledExceptions: +# cdef public tuple _args; +# def __init__(self, tuple args): +# self._args = args +# ELSE +class TopLevelThreadTracerOnlyUnhandledExceptions(object): + + def __init__(self, args): + self._args = args +# ENDIF + + def trace_unhandled_exceptions(self, frame, event, arg): + # Note that we ignore the frame as this tracing method should only be put in topmost frames already. + # print('trace_unhandled_exceptions', event, frame.f_code.co_name, frame.f_code.co_filename, frame.f_code.co_firstlineno) + if event == 'exception' and arg is not None: + py_db, t, additional_info = self._args[0:3] + if arg is not None: + if not additional_info.suspended_at_unhandled: + additional_info.suspended_at_unhandled = True + + py_db.stop_on_unhandled_exception(py_db, t, additional_info, arg) + + # No need to reset frame.f_trace to keep the same trace function. + return self.trace_unhandled_exceptions + + def get_trace_dispatch_func(self): + return self.trace_unhandled_exceptions + + +# IFDEF CYTHON +# cdef class TopLevelThreadTracerNoBackFrame: +# +# cdef public object _frame_trace_dispatch; +# cdef public tuple _args; +# cdef public object try_except_infos; +# cdef public object _last_exc_arg; +# cdef public set _raise_lines; +# cdef public int _last_raise_line; +# +# def __init__(self, frame_trace_dispatch, tuple args): +# self._frame_trace_dispatch = frame_trace_dispatch +# self._args = args +# self.try_except_infos = None +# self._last_exc_arg = None +# self._raise_lines = set() +# self._last_raise_line = -1 +# ELSE +class TopLevelThreadTracerNoBackFrame(object): + ''' + This tracer is pretty special in that it's dealing with a frame without f_back (i.e.: top frame + on remote attach or QThread). + + This means that we have to carefully inspect exceptions to discover whether the exception will + be unhandled or not (if we're dealing with an unhandled exception we need to stop as unhandled, + otherwise we need to use the regular tracer -- unfortunately the debugger has little info to + work with in the tracing -- see: https://bugs.python.org/issue34099, so, we inspect bytecode to + determine if some exception will be traced or not... note that if this is not available -- such + as on Jython -- we consider any top-level exception to be unnhandled). + ''' + + def __init__(self, frame_trace_dispatch, args): + self._frame_trace_dispatch = frame_trace_dispatch + self._args = args + self.try_except_infos = None + self._last_exc_arg = None + self._raise_lines = set() + self._last_raise_line = -1 +# ENDIF + + def trace_dispatch_and_unhandled_exceptions(self, frame, event, arg): + # DEBUG = 'code_to_debug' in frame.f_code.co_filename + # if DEBUG: print('trace_dispatch_and_unhandled_exceptions: %s %s %s %s %s %s' % (event, frame.f_code.co_name, frame.f_code.co_filename, frame.f_code.co_firstlineno, self._frame_trace_dispatch, frame.f_lineno)) + frame_trace_dispatch = self._frame_trace_dispatch + if frame_trace_dispatch is not None: + self._frame_trace_dispatch = frame_trace_dispatch(frame, event, arg) + + if event == 'exception': + self._last_exc_arg = arg + self._raise_lines.add(frame.f_lineno) + self._last_raise_line = frame.f_lineno + + elif event == 'return' and self._last_exc_arg is not None: + # For unhandled exceptions we actually track the return when at the topmost level. + try: + py_db, t, additional_info = self._args[0:3] + if not additional_info.suspended_at_unhandled: # Note: only check it here, don't set. + if is_unhandled_exception(self, py_db, frame, self._last_raise_line, self._raise_lines): + py_db.stop_on_unhandled_exception(py_db, t, additional_info, self._last_exc_arg) + finally: + # Remove reference to exception after handling it. + self._last_exc_arg = None + + ret = self.trace_dispatch_and_unhandled_exceptions + + # Need to reset (the call to _frame_trace_dispatch may have changed it). + # IFDEF CYTHON + # frame.f_trace = SafeCallWrapper(ret) + # ELSE + frame.f_trace = ret + # ENDIF + return ret + + def get_trace_dispatch_func(self): + return self.trace_dispatch_and_unhandled_exceptions + + +# IFDEF CYTHON +# cdef class ThreadTracer: +# cdef public tuple _args; +# def __init__(self, tuple args): +# self._args = args +# ELSE +class ThreadTracer(object): + + def __init__(self, args): + self._args = args +# ENDIF + + def __call__(self, frame, event, arg): + ''' This is the callback used when we enter some context in the debugger. + + We also decorate the thread we are in with info about the debugging. + The attributes added are: + pydev_state + pydev_step_stop + pydev_step_cmd + pydev_notify_kill + + :param PyDB py_db: + This is the global debugger (this method should actually be added as a method to it). + ''' + # IFDEF CYTHON + # cdef str filename; + # cdef str base; + # cdef int pydev_step_cmd; + # cdef object frame_cache_key; + # cdef dict cache_skips; + # cdef bint is_stepping; + # cdef tuple abs_path_canonical_path_and_base; + # cdef PyDBAdditionalThreadInfo additional_info; + # ENDIF + + # DEBUG = 'code_to_debug' in frame.f_code.co_filename + # if DEBUG: print('ENTER: trace_dispatch: %s %s %s %s' % (frame.f_code.co_filename, frame.f_lineno, event, frame.f_code.co_name)) + py_db, t, additional_info, cache_skips, frame_skips_cache = self._args + if additional_info.is_tracing: + return None if event == 'call' else NO_FTRACE # we don't wan't to trace code invoked from pydevd_frame.trace_dispatch + + additional_info.is_tracing += 1 + try: + pydev_step_cmd = additional_info.pydev_step_cmd + is_stepping = pydev_step_cmd != -1 + if py_db.pydb_disposed: + return None if event == 'call' else NO_FTRACE + + # if thread is not alive, cancel trace_dispatch processing + if not is_thread_alive(t): + py_db.notify_thread_not_alive(get_current_thread_id(t)) + return None if event == 'call' else NO_FTRACE + + # Note: it's important that the context name is also given because we may hit something once + # in the global context and another in the local context. + frame_cache_key = frame.f_code + if frame_cache_key in cache_skips: + if not is_stepping: + # if DEBUG: print('skipped: trace_dispatch (cache hit)', frame_cache_key, frame.f_lineno, event, frame.f_code.co_name) + return None if event == 'call' else NO_FTRACE + else: + # When stepping we can't take into account caching based on the breakpoints (only global filtering). + if cache_skips.get(frame_cache_key) == 1: + + if additional_info.pydev_original_step_cmd in (CMD_STEP_INTO, CMD_STEP_INTO_MY_CODE) and not _global_notify_skipped_step_in: + notify_skipped_step_in_because_of_filters(py_db, frame) + + back_frame = frame.f_back + if back_frame is not None and pydev_step_cmd in (CMD_STEP_INTO, CMD_STEP_INTO_MY_CODE, CMD_STEP_RETURN, CMD_STEP_RETURN_MY_CODE): + back_frame_cache_key = back_frame.f_code + if cache_skips.get(back_frame_cache_key) == 1: + # if DEBUG: print('skipped: trace_dispatch (cache hit: 1)', frame_cache_key, frame.f_lineno, event, frame.f_code.co_name) + return None if event == 'call' else NO_FTRACE + else: + # if DEBUG: print('skipped: trace_dispatch (cache hit: 2)', frame_cache_key, frame.f_lineno, event, frame.f_code.co_name) + return None if event == 'call' else NO_FTRACE + + try: + # Make fast path faster! + abs_path_canonical_path_and_base = NORM_PATHS_AND_BASE_CONTAINER[frame.f_code.co_filename] + except: + abs_path_canonical_path_and_base = get_abs_path_real_path_and_base_from_frame(frame) + + file_type = py_db.get_file_type(frame, abs_path_canonical_path_and_base) # we don't want to debug threading or anything related to pydevd + + if file_type is not None: + if file_type == 1: # inlining LIB_FILE = 1 + if not py_db.in_project_scope(frame, abs_path_canonical_path_and_base[0]): + # if DEBUG: print('skipped: trace_dispatch (not in scope)', abs_path_canonical_path_and_base[2], frame.f_lineno, event, frame.f_code.co_name, file_type) + cache_skips[frame_cache_key] = 1 + return None if event == 'call' else NO_FTRACE + else: + # if DEBUG: print('skipped: trace_dispatch', abs_path_canonical_path_and_base[2], frame.f_lineno, event, frame.f_code.co_name, file_type) + cache_skips[frame_cache_key] = 1 + return None if event == 'call' else NO_FTRACE + + if py_db.is_files_filter_enabled: + if py_db.apply_files_filter(frame, abs_path_canonical_path_and_base[0], False): + cache_skips[frame_cache_key] = 1 + + if is_stepping and additional_info.pydev_original_step_cmd in (CMD_STEP_INTO, CMD_STEP_INTO_MY_CODE) and not _global_notify_skipped_step_in: + notify_skipped_step_in_because_of_filters(py_db, frame) + + # A little gotcha, sometimes when we're stepping in we have to stop in a + # return event showing the back frame as the current frame, so, we need + # to check not only the current frame but the back frame too. + back_frame = frame.f_back + if back_frame is not None and pydev_step_cmd in (CMD_STEP_INTO, CMD_STEP_INTO_MY_CODE, CMD_STEP_RETURN, CMD_STEP_RETURN_MY_CODE): + if py_db.apply_files_filter(back_frame, back_frame.f_code.co_filename, False): + back_frame_cache_key = back_frame.f_code + cache_skips[back_frame_cache_key] = 1 + # if DEBUG: print('skipped: trace_dispatch (filtered out: 1)', frame_cache_key, frame.f_lineno, event, frame.f_code.co_name) + return None if event == 'call' else NO_FTRACE + else: + # if DEBUG: print('skipped: trace_dispatch (filtered out: 2)', frame_cache_key, frame.f_lineno, event, frame.f_code.co_name) + return None if event == 'call' else NO_FTRACE + + # if DEBUG: print('trace_dispatch', filename, frame.f_lineno, event, frame.f_code.co_name, file_type) + + # Just create PyDBFrame directly (removed support for Python versions < 2.5, which required keeping a weak + # reference to the frame). + ret = PyDBFrame( + ( + py_db, abs_path_canonical_path_and_base, additional_info, t, frame_skips_cache, frame_cache_key, + ) + ).trace_dispatch(frame, event, arg) + if ret is None: + # 1 means skipped because of filters. + # 2 means skipped because no breakpoints were hit. + cache_skips[frame_cache_key] = 2 + return None if event == 'call' else NO_FTRACE + + # IFDEF CYTHON + # frame.f_trace = SafeCallWrapper(ret) # Make sure we keep the returned tracer. + # ELSE + frame.f_trace = ret # Make sure we keep the returned tracer. + # ENDIF + return ret + + except SystemExit: + return None if event == 'call' else NO_FTRACE + + except Exception: + if py_db.pydb_disposed: + return None if event == 'call' else NO_FTRACE # Don't log errors when we're shutting down. + # Log it + try: + if pydev_log_exception is not None: + # This can actually happen during the interpreter shutdown in Python 2.7 + pydev_log_exception() + except: + # Error logging? We're really in the interpreter shutdown... + # (https://github.com/fabioz/PyDev.Debugger/issues/8) + pass + return None if event == 'call' else NO_FTRACE + finally: + additional_info.is_tracing -= 1 + + +if USE_CUSTOM_SYS_CURRENT_FRAMES_MAP: + # This is far from ideal, as we'll leak frames (we'll always have the last created frame, not really + # the last topmost frame saved -- this should be Ok for our usage, but it may leak frames and things + # may live longer... as IronPython is garbage-collected, things should live longer anyways, so, it + # shouldn't be an issue as big as it's in CPython -- it may still be annoying, but this should + # be a reasonable workaround until IronPython itself is able to provide that functionality). + # + # See: https://github.com/IronLanguages/main/issues/1630 + from _pydevd_bundle.pydevd_constants import constructed_tid_to_last_frame + + _original_call = ThreadTracer.__call__ + + def __call__(self, frame, event, arg): + constructed_tid_to_last_frame[self._args[1].ident] = frame + return _original_call(self, frame, event, arg) + + ThreadTracer.__call__ = __call__ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_traceproperty.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_traceproperty.py new file mode 100644 index 0000000..2f38e4b --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_traceproperty.py @@ -0,0 +1,92 @@ +'''For debug purpose we are replacing actual builtin property by the debug property +''' +from _pydevd_bundle.pydevd_comm import get_global_debugger +from _pydev_bundle import pydev_log + + +#======================================================================================================================= +# replace_builtin_property +#======================================================================================================================= +def replace_builtin_property(new_property=None): + if new_property is None: + new_property = DebugProperty + original = property + try: + import builtins + builtins.__dict__['property'] = new_property + except: + pydev_log.exception() # @Reimport + return original + + +#======================================================================================================================= +# DebugProperty +#======================================================================================================================= +class DebugProperty(object): + """A custom property which allows python property to get + controlled by the debugger and selectively disable/re-enable + the tracing. + """ + + def __init__(self, fget=None, fset=None, fdel=None, doc=None): + self.fget = fget + self.fset = fset + self.fdel = fdel + self.__doc__ = doc + + def __get__(self, obj, objtype=None): + if obj is None: + return self + global_debugger = get_global_debugger() + try: + if global_debugger is not None and global_debugger.disable_property_getter_trace: + global_debugger.disable_tracing() + if self.fget is None: + raise AttributeError("unreadable attribute") + return self.fget(obj) + finally: + if global_debugger is not None: + global_debugger.enable_tracing() + + def __set__(self, obj, value): + global_debugger = get_global_debugger() + try: + if global_debugger is not None and global_debugger.disable_property_setter_trace: + global_debugger.disable_tracing() + if self.fset is None: + raise AttributeError("can't set attribute") + self.fset(obj, value) + finally: + if global_debugger is not None: + global_debugger.enable_tracing() + + def __delete__(self, obj): + global_debugger = get_global_debugger() + try: + if global_debugger is not None and global_debugger.disable_property_deleter_trace: + global_debugger.disable_tracing() + if self.fdel is None: + raise AttributeError("can't delete attribute") + self.fdel(obj) + finally: + if global_debugger is not None: + global_debugger.enable_tracing() + + def getter(self, fget): + """Overriding getter decorator for the property + """ + self.fget = fget + return self + + def setter(self, fset): + """Overriding setter decorator for the property + """ + self.fset = fset + return self + + def deleter(self, fdel): + """Overriding deleter decorator for the property + """ + self.fdel = fdel + return self + diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_utils.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_utils.py new file mode 100644 index 0000000..a45caa1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_utils.py @@ -0,0 +1,511 @@ +from __future__ import nested_scopes +import traceback +import warnings +from _pydev_bundle import pydev_log +from _pydev_bundle._pydev_saved_modules import thread, threading +from _pydev_bundle import _pydev_saved_modules +import signal +import os +import ctypes +from importlib import import_module +from urllib.parse import quote # @UnresolvedImport +import time +import inspect +import sys +from _pydevd_bundle.pydevd_constants import USE_CUSTOM_SYS_CURRENT_FRAMES, IS_PYPY, SUPPORT_GEVENT, \ + GEVENT_SUPPORT_NOT_SET_MSG, GENERATED_LEN_ATTR_NAME, PYDEVD_WARN_SLOW_RESOLVE_TIMEOUT, \ + get_global_debugger + + +def save_main_module(file, module_name): + # patch provided by: Scott Schlesier - when script is run, it does not + # use globals from pydevd: + # This will prevent the pydevd script from contaminating the namespace for the script to be debugged + # pretend pydevd is not the main module, and + # convince the file to be debugged that it was loaded as main + sys.modules[module_name] = sys.modules['__main__'] + sys.modules[module_name].__name__ = module_name + + with warnings.catch_warnings(): + warnings.simplefilter("ignore", category=DeprecationWarning) + warnings.simplefilter("ignore", category=PendingDeprecationWarning) + from imp import new_module + + m = new_module('__main__') + sys.modules['__main__'] = m + if hasattr(sys.modules[module_name], '__loader__'): + m.__loader__ = getattr(sys.modules[module_name], '__loader__') + m.__file__ = file + + return m + + +def is_current_thread_main_thread(): + if hasattr(threading, 'main_thread'): + return threading.current_thread() is threading.main_thread() + else: + return isinstance(threading.current_thread(), threading._MainThread) + + +def get_main_thread(): + if hasattr(threading, 'main_thread'): + return threading.main_thread() + else: + for t in threading.enumerate(): + if isinstance(t, threading._MainThread): + return t + return None + + +def to_number(x): + if is_string(x): + try: + n = float(x) + return n + except ValueError: + pass + + l = x.find('(') + if l != -1: + y = x[0:l - 1] + # print y + try: + n = float(y) + return n + except ValueError: + pass + return None + + +def compare_object_attrs_key(x): + if GENERATED_LEN_ATTR_NAME == x: + as_number = to_number(x) + if as_number is None: + as_number = 99999999 + # len() should appear after other attributes in a list. + return (1, as_number) + else: + return (-1, to_string(x)) + + +def is_string(x): + return isinstance(x, str) + + +def to_string(x): + if isinstance(x, str): + return x + else: + return str(x) + + +def print_exc(): + if traceback: + traceback.print_exc() + + +def quote_smart(s, safe='/'): + return quote(s, safe) + + +def get_clsname_for_code(code, frame): + clsname = None + if len(code.co_varnames) > 0: + # We are checking the first argument of the function + # (`self` or `cls` for methods). + first_arg_name = code.co_varnames[0] + if first_arg_name in frame.f_locals: + first_arg_obj = frame.f_locals[first_arg_name] + if inspect.isclass(first_arg_obj): # class method + first_arg_class = first_arg_obj + else: # instance method + if hasattr(first_arg_obj, "__class__"): + first_arg_class = first_arg_obj.__class__ + else: # old style class, fall back on type + first_arg_class = type(first_arg_obj) + func_name = code.co_name + if hasattr(first_arg_class, func_name): + method = getattr(first_arg_class, func_name) + func_code = None + if hasattr(method, 'func_code'): # Python2 + func_code = method.func_code + elif hasattr(method, '__code__'): # Python3 + func_code = method.__code__ + if func_code and func_code == code: + clsname = first_arg_class.__name__ + + return clsname + + +def get_non_pydevd_threads(): + threads = threading.enumerate() + return [t for t in threads if t and not getattr(t, 'is_pydev_daemon_thread', False)] + + +if USE_CUSTOM_SYS_CURRENT_FRAMES and IS_PYPY: + # On PyPy we can use its fake_frames to get the traceback + # (instead of the actual real frames that need the tracing to be correct). + _tid_to_frame_for_dump_threads = sys._current_frames +else: + from _pydevd_bundle.pydevd_constants import _current_frames as _tid_to_frame_for_dump_threads + + +def dump_threads(stream=None, show_pydevd_threads=True): + ''' + Helper to dump thread info. + ''' + if stream is None: + stream = sys.stderr + thread_id_to_name_and_is_pydevd_thread = {} + try: + threading_enumerate = _pydev_saved_modules.pydevd_saved_threading_enumerate + if threading_enumerate is None: + threading_enumerate = threading.enumerate + + for t in threading_enumerate(): + is_pydevd_thread = getattr(t, 'is_pydev_daemon_thread', False) + thread_id_to_name_and_is_pydevd_thread[t.ident] = ( + '%s (daemon: %s, pydevd thread: %s)' % (t.name, t.daemon, is_pydevd_thread), + is_pydevd_thread + ) + except: + pass + + stream.write('===============================================================================\n') + stream.write('Threads running\n') + stream.write('================================= Thread Dump =================================\n') + stream.flush() + + for thread_id, frame in _tid_to_frame_for_dump_threads().items(): + name, is_pydevd_thread = thread_id_to_name_and_is_pydevd_thread.get(thread_id, (thread_id, False)) + if not show_pydevd_threads and is_pydevd_thread: + continue + + stream.write('\n-------------------------------------------------------------------------------\n') + stream.write(" Thread %s" % (name,)) + stream.write('\n\n') + + for i, (filename, lineno, name, line) in enumerate(traceback.extract_stack(frame)): + + stream.write(' File "%s", line %d, in %s\n' % (filename, lineno, name)) + if line: + stream.write(" %s\n" % (line.strip())) + + if i == 0 and 'self' in frame.f_locals: + stream.write(' self: ') + try: + stream.write(str(frame.f_locals['self'])) + except: + stream.write('Unable to get str of: %s' % (type(frame.f_locals['self']),)) + stream.write('\n') + stream.flush() + + stream.write('\n=============================== END Thread Dump ===============================') + stream.flush() + + +def _extract_variable_nested_braces(char_iter): + expression = [] + level = 0 + for c in char_iter: + if c == '{': + level += 1 + if c == '}': + level -= 1 + if level == -1: + return ''.join(expression).strip() + expression.append(c) + raise SyntaxError('Unbalanced braces in expression.') + + +def _extract_expression_list(log_message): + # Note: not using re because of nested braces. + expression = [] + expression_vars = [] + char_iter = iter(log_message) + for c in char_iter: + if c == '{': + expression_var = _extract_variable_nested_braces(char_iter) + if expression_var: + expression.append('%s') + expression_vars.append(expression_var) + else: + expression.append(c) + + expression = ''.join(expression) + return expression, expression_vars + + +def convert_dap_log_message_to_expression(log_message): + try: + expression, expression_vars = _extract_expression_list(log_message) + except SyntaxError: + return repr('Unbalanced braces in: %s' % (log_message)) + if not expression_vars: + return repr(expression) + # Note: use '%' to be compatible with Python 2.6. + return repr(expression) + ' % (' + ', '.join(str(x) for x in expression_vars) + ',)' + + +def notify_about_gevent_if_needed(stream=None): + ''' + When debugging with gevent check that the gevent flag is used if the user uses the gevent + monkey-patching. + + :return bool: + Returns True if a message had to be shown to the user and False otherwise. + ''' + stream = stream if stream is not None else sys.stderr + if not SUPPORT_GEVENT: + gevent_monkey = sys.modules.get('gevent.monkey') + if gevent_monkey is not None: + try: + saved = gevent_monkey.saved + except AttributeError: + pydev_log.exception_once('Error checking for gevent monkey-patching.') + return False + + if saved: + # Note: print to stderr as it may deadlock the debugger. + sys.stderr.write('%s\n' % (GEVENT_SUPPORT_NOT_SET_MSG,)) + return True + + return False + + +def hasattr_checked(obj, name): + try: + getattr(obj, name) + except: + # i.e.: Handle any exception, not only AttributeError. + return False + else: + return True + + +def getattr_checked(obj, name): + try: + return getattr(obj, name) + except: + # i.e.: Handle any exception, not only AttributeError. + return None + + +def dir_checked(obj): + try: + return dir(obj) + except: + return [] + + +def isinstance_checked(obj, cls): + try: + return isinstance(obj, cls) + except: + return False + + +class ScopeRequest(object): + + __slots__ = ['variable_reference', 'scope'] + + def __init__(self, variable_reference, scope): + assert scope in ('globals', 'locals') + self.variable_reference = variable_reference + self.scope = scope + + def __eq__(self, o): + if isinstance(o, ScopeRequest): + return self.variable_reference == o.variable_reference and self.scope == o.scope + + return False + + def __ne__(self, o): + return not self == o + + def __hash__(self): + return hash((self.variable_reference, self.scope)) + + +class DAPGrouper(object): + ''' + Note: this is a helper class to group variables on the debug adapter protocol (DAP). For + the xml protocol the type is just added to each variable and the UI can group/hide it as needed. + ''' + + SCOPE_SPECIAL_VARS = 'special variables' + SCOPE_PROTECTED_VARS = 'protected variables' + SCOPE_FUNCTION_VARS = 'function variables' + SCOPE_CLASS_VARS = 'class variables' + + SCOPES_SORTED = [ + SCOPE_SPECIAL_VARS, + SCOPE_PROTECTED_VARS, + SCOPE_FUNCTION_VARS, + SCOPE_CLASS_VARS, + ] + + __slots__ = ['variable_reference', 'scope', 'contents_debug_adapter_protocol'] + + def __init__(self, scope): + self.variable_reference = id(self) + self.scope = scope + self.contents_debug_adapter_protocol = [] + + def get_contents_debug_adapter_protocol(self): + return self.contents_debug_adapter_protocol[:] + + def __eq__(self, o): + if isinstance(o, ScopeRequest): + return self.variable_reference == o.variable_reference and self.scope == o.scope + + return False + + def __ne__(self, o): + return not self == o + + def __hash__(self): + return hash((self.variable_reference, self.scope)) + + def __repr__(self): + return '' + + def __str__(self): + return '' + + +def interrupt_main_thread(main_thread): + ''' + Generates a KeyboardInterrupt in the main thread by sending a Ctrl+C + or by calling thread.interrupt_main(). + + :param main_thread: + Needed because Jython needs main_thread._thread.interrupt() to be called. + + Note: if unable to send a Ctrl+C, the KeyboardInterrupt will only be raised + when the next Python instruction is about to be executed (so, it won't interrupt + a sleep(1000)). + ''' + pydev_log.debug('Interrupt main thread.') + called = False + try: + if os.name == 'posix': + # On Linux we can't interrupt 0 as in Windows because it's + # actually owned by a process -- on the good side, signals + # work much better on Linux! + os.kill(os.getpid(), signal.SIGINT) + called = True + + elif os.name == 'nt': + # This generates a Ctrl+C only for the current process and not + # to the process group! + # Note: there doesn't seem to be any public documentation for this + # function (although it seems to be present from Windows Server 2003 SP1 onwards + # according to: https://www.geoffchappell.com/studies/windows/win32/kernel32/api/index.htm) + ctypes.windll.kernel32.CtrlRoutine(0) + + # The code below is deprecated because it actually sends a Ctrl+C + # to the process group, so, if this was a process created without + # passing `CREATE_NEW_PROCESS_GROUP` the signal may be sent to the + # parent process and to sub-processes too (which is not ideal -- + # for instance, when using pytest-xdist, it'll actually stop the + # testing, even when called in the subprocess). + + # if hasattr_checked(signal, 'CTRL_C_EVENT'): + # os.kill(0, signal.CTRL_C_EVENT) + # else: + # # Python 2.6 + # ctypes.windll.kernel32.GenerateConsoleCtrlEvent(0, 0) + called = True + + except: + # If something went wrong, fallback to interrupting when the next + # Python instruction is being called. + pydev_log.exception('Error interrupting main thread (using fallback).') + + if not called: + try: + # In this case, we don't really interrupt a sleep() nor IO operations + # (this makes the KeyboardInterrupt be sent only when the next Python + # instruction is about to be executed). + if hasattr(thread, 'interrupt_main'): + thread.interrupt_main() + else: + main_thread._thread.interrupt() # Jython + except: + pydev_log.exception('Error on interrupt main thread fallback.') + + +class Timer(object): + + def __init__(self, min_diff=PYDEVD_WARN_SLOW_RESOLVE_TIMEOUT): + self.min_diff = min_diff + self._curr_time = time.time() + + def print_time(self, msg='Elapsed:'): + old = self._curr_time + new = self._curr_time = time.time() + diff = new - old + if diff >= self.min_diff: + print('%s: %.2fs' % (msg, diff)) + + def _report_slow(self, compute_msg, *args): + old = self._curr_time + new = self._curr_time = time.time() + diff = new - old + if diff >= self.min_diff: + py_db = get_global_debugger() + if py_db is not None: + msg = compute_msg(diff, *args) + py_db.writer.add_command(py_db.cmd_factory.make_warning_message(msg)) + + def report_if_compute_repr_attr_slow(self, attrs_tab_separated, attr_name, attr_type): + self._report_slow(self._compute_repr_slow, attrs_tab_separated, attr_name, attr_type) + + def _compute_repr_slow(self, diff, attrs_tab_separated, attr_name, attr_type): + try: + attr_type = attr_type.__name__ + except: + pass + if attrs_tab_separated: + return 'pydevd warning: Computing repr of %s.%s (%s) was slow (took %.2fs)\n' % ( + attrs_tab_separated.replace('\t', '.'), attr_name, attr_type, diff) + else: + return 'pydevd warning: Computing repr of %s (%s) was slow (took %.2fs)\n' % ( + attr_name, attr_type, diff) + + def report_if_getting_attr_slow(self, cls, attr_name): + self._report_slow(self._compute_get_attr_slow, cls, attr_name) + + def _compute_get_attr_slow(self, diff, cls, attr_name): + try: + cls = cls.__name__ + except: + pass + return 'pydevd warning: Getting attribute %s.%s was slow (took %.2fs)\n' % (cls, attr_name, diff) + + +def import_attr_from_module(import_with_attr_access): + if '.' not in import_with_attr_access: + # We need at least one '.' (we don't support just the module import, we need the attribute access too). + raise ImportError('Unable to import module with attr access: %s' % (import_with_attr_access,)) + + module_name, attr_name = import_with_attr_access.rsplit('.', 1) + + while True: + try: + mod = import_module(module_name) + except ImportError: + if '.' not in module_name: + raise ImportError('Unable to import module with attr access: %s' % (import_with_attr_access,)) + + module_name, new_attr_part = module_name.rsplit('.', 1) + attr_name = new_attr_part + '.' + attr_name + else: + # Ok, we got the base module, now, get the attribute we need. + try: + for attr in attr_name.split('.'): + mod = getattr(mod, attr) + return mod + except: + raise ImportError('Unable to import module with attr access: %s' % (import_with_attr_access,)) diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_vars.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_vars.py new file mode 100644 index 0000000..8010093 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_vars.py @@ -0,0 +1,839 @@ +""" pydevd_vars deals with variables: + resolution/conversion to XML. +""" +import pickle +from _pydevd_bundle.pydevd_constants import get_frame, get_current_thread_id, \ + iter_chars, silence_warnings_decorator, get_global_debugger + +from _pydevd_bundle.pydevd_xml import ExceptionOnEvaluate, get_type, var_to_xml +from _pydev_bundle import pydev_log +import functools +from _pydevd_bundle.pydevd_thread_lifecycle import resume_threads, mark_thread_suspended, suspend_all_threads +from _pydevd_bundle.pydevd_comm_constants import CMD_SET_BREAK + +import sys # @Reimport + +from _pydev_bundle._pydev_saved_modules import threading +from _pydevd_bundle import pydevd_save_locals, pydevd_timeout, pydevd_constants +from _pydev_bundle.pydev_imports import Exec, execfile +from _pydevd_bundle.pydevd_utils import to_string +import inspect +from _pydevd_bundle.pydevd_daemon_thread import PyDBDaemonThread +from _pydevd_bundle.pydevd_save_locals import update_globals_and_locals +from functools import lru_cache + +SENTINEL_VALUE = [] + + +class VariableError(RuntimeError): + pass + + +def iter_frames(frame): + while frame is not None: + yield frame + frame = frame.f_back + frame = None + + +def dump_frames(thread_id): + sys.stdout.write('dumping frames\n') + if thread_id != get_current_thread_id(threading.current_thread()): + raise VariableError("find_frame: must execute on same thread") + + frame = get_frame() + for frame in iter_frames(frame): + sys.stdout.write('%s\n' % pickle.dumps(frame)) + + +@silence_warnings_decorator +def getVariable(dbg, thread_id, frame_id, scope, attrs): + """ + returns the value of a variable + + :scope: can be BY_ID, EXPRESSION, GLOBAL, LOCAL, FRAME + + BY_ID means we'll traverse the list of all objects alive to get the object. + + :attrs: after reaching the proper scope, we have to get the attributes until we find + the proper location (i.e.: obj\tattr1\tattr2) + + :note: when BY_ID is used, the frame_id is considered the id of the object to find and + not the frame (as we don't care about the frame in this case). + """ + if scope == 'BY_ID': + if thread_id != get_current_thread_id(threading.current_thread()): + raise VariableError("getVariable: must execute on same thread") + + try: + import gc + objects = gc.get_objects() + except: + pass # Not all python variants have it. + else: + frame_id = int(frame_id) + for var in objects: + if id(var) == frame_id: + if attrs is not None: + attrList = attrs.split('\t') + for k in attrList: + _type, _type_name, resolver = get_type(var) + var = resolver.resolve(var, k) + + return var + + # If it didn't return previously, we coudn't find it by id (i.e.: alrceady garbage collected). + sys.stderr.write('Unable to find object with id: %s\n' % (frame_id,)) + return None + + frame = dbg.find_frame(thread_id, frame_id) + if frame is None: + return {} + + if attrs is not None: + attrList = attrs.split('\t') + else: + attrList = [] + + for attr in attrList: + attr.replace("@_@TAB_CHAR@_@", '\t') + + if scope == 'EXPRESSION': + for count in range(len(attrList)): + if count == 0: + # An Expression can be in any scope (globals/locals), therefore it needs to evaluated as an expression + var = evaluate_expression(dbg, frame, attrList[count], False) + else: + _type, _type_name, resolver = get_type(var) + var = resolver.resolve(var, attrList[count]) + else: + if scope == "GLOBAL": + var = frame.f_globals + del attrList[0] # globals are special, and they get a single dummy unused attribute + else: + # in a frame access both locals and globals as Python does + var = {} + var.update(frame.f_globals) + var.update(frame.f_locals) + + for k in attrList: + _type, _type_name, resolver = get_type(var) + var = resolver.resolve(var, k) + + return var + + +def resolve_compound_variable_fields(dbg, thread_id, frame_id, scope, attrs): + """ + Resolve compound variable in debugger scopes by its name and attributes + + :param thread_id: id of the variable's thread + :param frame_id: id of the variable's frame + :param scope: can be BY_ID, EXPRESSION, GLOBAL, LOCAL, FRAME + :param attrs: after reaching the proper scope, we have to get the attributes until we find + the proper location (i.e.: obj\tattr1\tattr2) + :return: a dictionary of variables's fields + """ + + var = getVariable(dbg, thread_id, frame_id, scope, attrs) + + try: + _type, type_name, resolver = get_type(var) + return type_name, resolver.get_dictionary(var) + except: + pydev_log.exception('Error evaluating: thread_id: %s\nframe_id: %s\nscope: %s\nattrs: %s.', + thread_id, frame_id, scope, attrs) + + +def resolve_var_object(var, attrs): + """ + Resolve variable's attribute + + :param var: an object of variable + :param attrs: a sequence of variable's attributes separated by \t (i.e.: obj\tattr1\tattr2) + :return: a value of resolved variable's attribute + """ + if attrs is not None: + attr_list = attrs.split('\t') + else: + attr_list = [] + for k in attr_list: + type, _type_name, resolver = get_type(var) + var = resolver.resolve(var, k) + return var + + +def resolve_compound_var_object_fields(var, attrs): + """ + Resolve compound variable by its object and attributes + + :param var: an object of variable + :param attrs: a sequence of variable's attributes separated by \t (i.e.: obj\tattr1\tattr2) + :return: a dictionary of variables's fields + """ + attr_list = attrs.split('\t') + + for k in attr_list: + type, _type_name, resolver = get_type(var) + var = resolver.resolve(var, k) + + try: + type, _type_name, resolver = get_type(var) + return resolver.get_dictionary(var) + except: + pydev_log.exception() + + +def custom_operation(dbg, thread_id, frame_id, scope, attrs, style, code_or_file, operation_fn_name): + """ + We'll execute the code_or_file and then search in the namespace the operation_fn_name to execute with the given var. + + code_or_file: either some code (i.e.: from pprint import pprint) or a file to be executed. + operation_fn_name: the name of the operation to execute after the exec (i.e.: pprint) + """ + expressionValue = getVariable(dbg, thread_id, frame_id, scope, attrs) + + try: + namespace = {'__name__': ''} + if style == "EXECFILE": + namespace['__file__'] = code_or_file + execfile(code_or_file, namespace, namespace) + else: # style == EXEC + namespace['__file__'] = '' + Exec(code_or_file, namespace, namespace) + + return str(namespace[operation_fn_name](expressionValue)) + except: + pydev_log.exception() + + +@lru_cache(3) +def _expression_to_evaluate(expression): + keepends = True + lines = expression.splitlines(keepends) + # find first non-empty line + chars_to_strip = 0 + for line in lines: + if line.strip(): # i.e.: check first non-empty line + for c in iter_chars(line): + if c.isspace(): + chars_to_strip += 1 + else: + break + break + + if chars_to_strip: + # I.e.: check that the chars we'll remove are really only whitespaces. + proceed = True + new_lines = [] + for line in lines: + if not proceed: + break + for c in iter_chars(line[:chars_to_strip]): + if not c.isspace(): + proceed = False + break + + new_lines.append(line[chars_to_strip:]) + + if proceed: + if isinstance(expression, bytes): + expression = b''.join(new_lines) + else: + expression = u''.join(new_lines) + + return expression + + +def eval_in_context(expression, global_vars, local_vars, py_db=None): + result = None + try: + compiled = compile_as_eval(expression) + is_async = inspect.CO_COROUTINE & compiled.co_flags == inspect.CO_COROUTINE + + if is_async: + if py_db is None: + py_db = get_global_debugger() + if py_db is None: + raise RuntimeError('Cannot evaluate async without py_db.') + t = _EvalAwaitInNewEventLoop(py_db, compiled, global_vars, local_vars) + t.start() + t.join() + + if t.exc: + raise t.exc[1].with_traceback(t.exc[2]) + else: + result = t.evaluated_value + else: + result = eval(compiled, global_vars, local_vars) + except (Exception, KeyboardInterrupt): + etype, result, tb = sys.exc_info() + result = ExceptionOnEvaluate(result, etype, tb) + + # Ok, we have the initial error message, but let's see if we're dealing with a name mangling error... + try: + if '.__' in expression: + # Try to handle '__' name mangling (for simple cases such as self.__variable.__another_var). + split = expression.split('.') + entry = split[0] + + if local_vars is None: + local_vars = global_vars + curr = local_vars[entry] # Note: we want the KeyError if it's not there. + for entry in split[1:]: + if entry.startswith('__') and not hasattr(curr, entry): + entry = '_%s%s' % (curr.__class__.__name__, entry) + curr = getattr(curr, entry) + + result = curr + except: + pass + return result + + +def _run_with_interrupt_thread(original_func, py_db, curr_thread, frame, expression, is_exec): + on_interrupt_threads = None + timeout_tracker = py_db.timeout_tracker # : :type timeout_tracker: TimeoutTracker + + interrupt_thread_timeout = pydevd_constants.PYDEVD_INTERRUPT_THREAD_TIMEOUT + + if interrupt_thread_timeout > 0: + on_interrupt_threads = pydevd_timeout.create_interrupt_this_thread_callback() + pydev_log.info('Doing evaluate with interrupt threads timeout: %s.', interrupt_thread_timeout) + + if on_interrupt_threads is None: + return original_func(py_db, frame, expression, is_exec) + else: + with timeout_tracker.call_on_timeout(interrupt_thread_timeout, on_interrupt_threads): + return original_func(py_db, frame, expression, is_exec) + + +def _run_with_unblock_threads(original_func, py_db, curr_thread, frame, expression, is_exec): + on_timeout_unblock_threads = None + timeout_tracker = py_db.timeout_tracker # : :type timeout_tracker: TimeoutTracker + + if py_db.multi_threads_single_notification: + unblock_threads_timeout = pydevd_constants.PYDEVD_UNBLOCK_THREADS_TIMEOUT + else: + unblock_threads_timeout = -1 # Don't use this if threads are managed individually. + + if unblock_threads_timeout >= 0: + pydev_log.info('Doing evaluate with unblock threads timeout: %s.', unblock_threads_timeout) + tid = get_current_thread_id(curr_thread) + + def on_timeout_unblock_threads(): + on_timeout_unblock_threads.called = True + pydev_log.info('Resuming threads after evaluate timeout.') + resume_threads('*', except_thread=curr_thread) + py_db.threads_suspended_single_notification.on_thread_resume(tid) + + on_timeout_unblock_threads.called = False + + try: + if on_timeout_unblock_threads is None: + return _run_with_interrupt_thread(original_func, py_db, curr_thread, frame, expression, is_exec) + else: + with timeout_tracker.call_on_timeout(unblock_threads_timeout, on_timeout_unblock_threads): + return _run_with_interrupt_thread(original_func, py_db, curr_thread, frame, expression, is_exec) + + finally: + if on_timeout_unblock_threads is not None and on_timeout_unblock_threads.called: + mark_thread_suspended(curr_thread, CMD_SET_BREAK) + py_db.threads_suspended_single_notification.increment_suspend_time() + suspend_all_threads(py_db, except_thread=curr_thread) + py_db.threads_suspended_single_notification.on_thread_suspend(tid, CMD_SET_BREAK) + + +def _evaluate_with_timeouts(original_func): + ''' + Provides a decorator that wraps the original evaluate to deal with slow evaluates. + + If some evaluation is too slow, we may show a message, resume threads or interrupt them + as needed (based on the related configurations). + ''' + + @functools.wraps(original_func) + def new_func(py_db, frame, expression, is_exec): + if py_db is None: + # Only for testing... + pydev_log.critical('_evaluate_with_timeouts called without py_db!') + return original_func(py_db, frame, expression, is_exec) + warn_evaluation_timeout = pydevd_constants.PYDEVD_WARN_EVALUATION_TIMEOUT + curr_thread = threading.current_thread() + + def on_warn_evaluation_timeout(): + py_db.writer.add_command(py_db.cmd_factory.make_evaluation_timeout_msg( + py_db, expression, curr_thread)) + + timeout_tracker = py_db.timeout_tracker # : :type timeout_tracker: TimeoutTracker + with timeout_tracker.call_on_timeout(warn_evaluation_timeout, on_warn_evaluation_timeout): + return _run_with_unblock_threads(original_func, py_db, curr_thread, frame, expression, is_exec) + + return new_func + + +_ASYNC_COMPILE_FLAGS = None +try: + from ast import PyCF_ALLOW_TOP_LEVEL_AWAIT + _ASYNC_COMPILE_FLAGS = PyCF_ALLOW_TOP_LEVEL_AWAIT +except: + pass + + +def compile_as_eval(expression): + ''' + + :param expression: + The expression to be _compiled. + + :return: code object + + :raises Exception if the expression cannot be evaluated. + ''' + expression_to_evaluate = _expression_to_evaluate(expression) + if _ASYNC_COMPILE_FLAGS is not None: + return compile(expression_to_evaluate, '', 'eval', _ASYNC_COMPILE_FLAGS) + else: + return compile(expression_to_evaluate, '', 'eval') + + +def _compile_as_exec(expression): + ''' + + :param expression: + The expression to be _compiled. + + :return: code object + + :raises Exception if the expression cannot be evaluated. + ''' + expression_to_evaluate = _expression_to_evaluate(expression) + if _ASYNC_COMPILE_FLAGS is not None: + return compile(expression_to_evaluate, '', 'exec', _ASYNC_COMPILE_FLAGS) + else: + return compile(expression_to_evaluate, '', 'exec') + + +class _EvalAwaitInNewEventLoop(PyDBDaemonThread): + + def __init__(self, py_db, compiled, updated_globals, updated_locals): + PyDBDaemonThread.__init__(self, py_db) + self._compiled = compiled + self._updated_globals = updated_globals + self._updated_locals = updated_locals + + # Output + self.evaluated_value = None + self.exc = None + + async def _async_func(self): + return await eval(self._compiled, self._updated_locals, self._updated_globals) + + def _on_run(self): + try: + import asyncio + loop = asyncio.new_event_loop() + asyncio.set_event_loop(loop) + self.evaluated_value = asyncio.run(self._async_func()) + except: + self.exc = sys.exc_info() + + +@_evaluate_with_timeouts +def evaluate_expression(py_db, frame, expression, is_exec): + ''' + :param str expression: + The expression to be evaluated. + + Note that if the expression is indented it's automatically dedented (based on the indentation + found on the first non-empty line). + + i.e.: something as: + + ` + def method(): + a = 1 + ` + + becomes: + + ` + def method(): + a = 1 + ` + + Also, it's possible to evaluate calls with a top-level await (currently this is done by + creating a new event loop in a new thread and making the evaluate at that thread -- note + that this is still done synchronously so the evaluation has to finish before this + function returns). + + :param is_exec: determines if we should do an exec or an eval. + There are some changes in this function depending on whether it's an exec or an eval. + + When it's an exec (i.e.: is_exec==True): + This function returns None. + Any exception that happens during the evaluation is reraised. + If the expression could actually be evaluated, the variable is printed to the console if not None. + + When it's an eval (i.e.: is_exec==False): + This function returns the result from the evaluation. + If some exception happens in this case, the exception is caught and a ExceptionOnEvaluate is returned. + Also, in this case we try to resolve name-mangling (i.e.: to be able to add a self.__my_var watch). + + :param py_db: + The debugger. Only needed if some top-level await is detected (for creating a + PyDBDaemonThread). + ''' + if frame is None: + return + + # This is very tricky. Some statements can change locals and use them in the same + # call (see https://github.com/microsoft/debugpy/issues/815), also, if locals and globals are + # passed separately, it's possible that one gets updated but apparently Python will still + # try to load from the other, so, what's done is that we merge all in a single dict and + # then go on and update the frame with the results afterwards. + + # -- see tests in test_evaluate_expression.py + + # This doesn't work because the variables aren't updated in the locals in case the + # evaluation tries to set a variable and use it in the same expression. + # updated_globals = frame.f_globals + # updated_locals = frame.f_locals + + # This doesn't work because the variables aren't updated in the locals in case the + # evaluation tries to set a variable and use it in the same expression. + # updated_globals = {} + # updated_globals.update(frame.f_globals) + # updated_globals.update(frame.f_locals) + # + # updated_locals = frame.f_locals + + # This doesn't work either in the case where the evaluation tries to set a variable and use + # it in the same expression (I really don't know why as it seems like this *should* work + # in theory but doesn't in practice). + # updated_globals = {} + # updated_globals.update(frame.f_globals) + # + # updated_locals = {} + # updated_globals.update(frame.f_locals) + + # This is the only case that worked consistently to run the tests in test_evaluate_expression.py + # It's a bit unfortunate because although the exec works in this case, we have to manually + # put the updates in the frame locals afterwards. + updated_globals = {} + updated_globals.update(frame.f_globals) + updated_globals.update(frame.f_locals) + + initial_globals = updated_globals.copy() + + updated_locals = None + + try: + expression = expression.replace('@LINE@', '\n') + + if is_exec: + try: + # Try to make it an eval (if it is an eval we can print it, otherwise we'll exec it and + # it will have whatever the user actually did) + compiled = compile_as_eval(expression) + except Exception: + compiled = None + + if compiled is None: + try: + compiled = _compile_as_exec(expression) + is_async = inspect.CO_COROUTINE & compiled.co_flags == inspect.CO_COROUTINE + if is_async: + t = _EvalAwaitInNewEventLoop(py_db, compiled, updated_globals, updated_locals) + t.start() + t.join() + + if t.exc: + raise t.exc[1].with_traceback(t.exc[2]) + else: + Exec(compiled, updated_globals, updated_locals) + finally: + # Update the globals even if it errored as it may have partially worked. + update_globals_and_locals(updated_globals, initial_globals, frame) + else: + is_async = inspect.CO_COROUTINE & compiled.co_flags == inspect.CO_COROUTINE + if is_async: + t = _EvalAwaitInNewEventLoop(py_db, compiled, updated_globals, updated_locals) + t.start() + t.join() + + if t.exc: + raise t.exc[1].with_traceback(t.exc[2]) + else: + result = t.evaluated_value + else: + result = eval(compiled, updated_globals, updated_locals) + if result is not None: # Only print if it's not None (as python does) + sys.stdout.write('%s\n' % (result,)) + return + + else: + ret = eval_in_context(expression, updated_globals, updated_locals, py_db) + try: + is_exception_returned = ret.__class__ == ExceptionOnEvaluate + except: + pass + else: + if not is_exception_returned: + # i.e.: by using a walrus assignment (:=), expressions can change the locals, + # so, make sure that we save the locals back to the frame. + update_globals_and_locals(updated_globals, initial_globals, frame) + return ret + finally: + # Should not be kept alive if an exception happens and this frame is kept in the stack. + del updated_globals + del updated_locals + del initial_globals + del frame + + +def change_attr_expression(frame, attr, expression, dbg, value=SENTINEL_VALUE): + '''Changes some attribute in a given frame. + ''' + if frame is None: + return + + try: + expression = expression.replace('@LINE@', '\n') + + if dbg.plugin and value is SENTINEL_VALUE: + result = dbg.plugin.change_variable(frame, attr, expression) + if result: + return result + + if attr[:7] == "Globals": + attr = attr[8:] + if attr in frame.f_globals: + if value is SENTINEL_VALUE: + value = eval(expression, frame.f_globals, frame.f_locals) + frame.f_globals[attr] = value + return frame.f_globals[attr] + else: + if '.' not in attr: # i.e.: if we have a '.', we're changing some attribute of a local var. + if pydevd_save_locals.is_save_locals_available(): + if value is SENTINEL_VALUE: + value = eval(expression, frame.f_globals, frame.f_locals) + frame.f_locals[attr] = value + pydevd_save_locals.save_locals(frame) + return frame.f_locals[attr] + + # i.e.: case with '.' or save locals not available (just exec the assignment in the frame). + if value is SENTINEL_VALUE: + value = eval(expression, frame.f_globals, frame.f_locals) + result = value + Exec('%s=%s' % (attr, expression), frame.f_globals, frame.f_locals) + return result + + except Exception: + pydev_log.exception() + + +MAXIMUM_ARRAY_SIZE = 100 +MAX_SLICE_SIZE = 1000 + + +def table_like_struct_to_xml(array, name, roffset, coffset, rows, cols, format): + _, type_name, _ = get_type(array) + if type_name == 'ndarray': + array, metaxml, r, c, f = array_to_meta_xml(array, name, format) + xml = metaxml + format = '%' + f + if rows == -1 and cols == -1: + rows = r + cols = c + xml += array_to_xml(array, roffset, coffset, rows, cols, format) + elif type_name == 'DataFrame': + xml = dataframe_to_xml(array, name, roffset, coffset, rows, cols, format) + else: + raise VariableError("Do not know how to convert type %s to table" % (type_name)) + + return "%s" % xml + + +def array_to_xml(array, roffset, coffset, rows, cols, format): + xml = "" + rows = min(rows, MAXIMUM_ARRAY_SIZE) + cols = min(cols, MAXIMUM_ARRAY_SIZE) + + # there is no obvious rule for slicing (at least 5 choices) + if len(array) == 1 and (rows > 1 or cols > 1): + array = array[0] + if array.size > len(array): + array = array[roffset:, coffset:] + rows = min(rows, len(array)) + cols = min(cols, len(array[0])) + if len(array) == 1: + array = array[0] + elif array.size == len(array): + if roffset == 0 and rows == 1: + array = array[coffset:] + cols = min(cols, len(array)) + elif coffset == 0 and cols == 1: + array = array[roffset:] + rows = min(rows, len(array)) + + xml += "" % (rows, cols) + for row in range(rows): + xml += "" % to_string(row) + for col in range(cols): + value = array + if rows == 1 or cols == 1: + if rows == 1 and cols == 1: + value = array[0] + else: + if rows == 1: + dim = col + else: + dim = row + value = array[dim] + if "ndarray" in str(type(value)): + value = value[0] + else: + value = array[row][col] + value = format % value + xml += var_to_xml(value, '') + return xml + + +def array_to_meta_xml(array, name, format): + type = array.dtype.kind + slice = name + l = len(array.shape) + + # initial load, compute slice + if format == '%': + if l > 2: + slice += '[0]' * (l - 2) + for r in range(l - 2): + array = array[0] + if type == 'f': + format = '.5f' + elif type == 'i' or type == 'u': + format = 'd' + else: + format = 's' + else: + format = format.replace('%', '') + + l = len(array.shape) + reslice = "" + if l > 2: + raise Exception("%s has more than 2 dimensions." % slice) + elif l == 1: + # special case with 1D arrays arr[i, :] - row, but arr[:, i] - column with equal shape and ndim + # http://stackoverflow.com/questions/16837946/numpy-a-2-rows-1-column-file-loadtxt-returns-1row-2-columns + # explanation: http://stackoverflow.com/questions/15165170/how-do-i-maintain-row-column-orientation-of-vectors-in-numpy?rq=1 + # we use kind of a hack - get information about memory from C_CONTIGUOUS + is_row = array.flags['C_CONTIGUOUS'] + + if is_row: + rows = 1 + cols = min(len(array), MAX_SLICE_SIZE) + if cols < len(array): + reslice = '[0:%s]' % (cols) + array = array[0:cols] + else: + cols = 1 + rows = min(len(array), MAX_SLICE_SIZE) + if rows < len(array): + reslice = '[0:%s]' % (rows) + array = array[0:rows] + elif l == 2: + rows = min(array.shape[-2], MAX_SLICE_SIZE) + cols = min(array.shape[-1], MAX_SLICE_SIZE) + if cols < array.shape[-1] or rows < array.shape[-2]: + reslice = '[0:%s, 0:%s]' % (rows, cols) + array = array[0:rows, 0:cols] + + # avoid slice duplication + if not slice.endswith(reslice): + slice += reslice + + bounds = (0, 0) + if type in "biufc": + bounds = (array.min(), array.max()) + xml = '' % \ + (slice, rows, cols, format, type, bounds[1], bounds[0]) + return array, xml, rows, cols, format + + +def dataframe_to_xml(df, name, roffset, coffset, rows, cols, format): + """ + :type df: pandas.core.frame.DataFrame + :type name: str + :type coffset: int + :type roffset: int + :type rows: int + :type cols: int + :type format: str + + + """ + num_rows = min(df.shape[0], MAX_SLICE_SIZE) + num_cols = min(df.shape[1], MAX_SLICE_SIZE) + if (num_rows, num_cols) != df.shape: + df = df.iloc[0:num_rows, 0: num_cols] + slice = '.iloc[0:%s, 0:%s]' % (num_rows, num_cols) + else: + slice = '' + slice = name + slice + xml = '\n' % \ + (slice, num_rows, num_cols) + + if (rows, cols) == (-1, -1): + rows, cols = num_rows, num_cols + + rows = min(rows, MAXIMUM_ARRAY_SIZE) + cols = min(min(cols, MAXIMUM_ARRAY_SIZE), num_cols) + # need to precompute column bounds here before slicing! + col_bounds = [None] * cols + for col in range(cols): + dtype = df.dtypes.iloc[coffset + col].kind + if dtype in "biufc": + cvalues = df.iloc[:, coffset + col] + bounds = (cvalues.min(), cvalues.max()) + else: + bounds = (0, 0) + col_bounds[col] = bounds + + df = df.iloc[roffset: roffset + rows, coffset: coffset + cols] + rows, cols = df.shape + + xml += "\n" % (rows, cols) + format = format.replace('%', '') + col_formats = [] + + get_label = lambda label: str(label) if not isinstance(label, tuple) else '/'.join(map(str, label)) + + for col in range(cols): + dtype = df.dtypes.iloc[col].kind + if dtype == 'f' and format: + fmt = format + elif dtype == 'f': + fmt = '.5f' + elif dtype == 'i' or dtype == 'u': + fmt = 'd' + else: + fmt = 's' + col_formats.append('%' + fmt) + bounds = col_bounds[col] + + xml += '\n' % \ + (str(col), get_label(df.axes[1].values[col]), dtype, fmt, bounds[1], bounds[0]) + for row, label in enumerate(iter(df.axes[0])): + xml += "\n" % \ + (str(row), get_label(label)) + xml += "\n" + xml += "\n" % (rows, cols) + for row in range(rows): + xml += "\n" % str(row) + for col in range(cols): + value = df.iat[row, col] + value = col_formats[col] % value + xml += var_to_xml(value, '') + return xml diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_vm_type.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_vm_type.py new file mode 120000 index 0000000..c010ce1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_vm_type.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a2/c3/e1/8220d1714eba2855107df511484b751b12ec4b907e0ee5754e11d1fec6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_xml.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_xml.py new file mode 100644 index 0000000..dcd1cdc --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_xml.py @@ -0,0 +1,399 @@ +from _pydev_bundle import pydev_log +from _pydevd_bundle import pydevd_extension_utils +from _pydevd_bundle import pydevd_resolver +import sys +from _pydevd_bundle.pydevd_constants import BUILTINS_MODULE_NAME, MAXIMUM_VARIABLE_REPRESENTATION_SIZE, \ + RETURN_VALUES_DICT, LOAD_VALUES_ASYNC, DEFAULT_VALUE +from _pydev_bundle.pydev_imports import quote +from _pydevd_bundle.pydevd_extension_api import TypeResolveProvider, StrPresentationProvider +from _pydevd_bundle.pydevd_utils import isinstance_checked, hasattr_checked, DAPGrouper +from _pydevd_bundle.pydevd_resolver import get_var_scope + +try: + import types + + frame_type = types.FrameType +except: + frame_type = None + + +def make_valid_xml_value(s): + # Same thing as xml.sax.saxutils.escape but also escaping double quotes. + return s.replace("&", "&").replace('<', '<').replace('>', '>').replace('"', '"') + + +class ExceptionOnEvaluate: + + def __init__(self, result, etype, tb): + self.result = result + self.etype = etype + self.tb = tb + + +_IS_JYTHON = sys.platform.startswith("java") + + +def _create_default_type_map(): + default_type_map = [ + # None means that it should not be treated as a compound variable + + # isintance does not accept a tuple on some versions of python, so, we must declare it expanded + (type(None), None,), + (int, None), + (float, None), + (complex, None), + (str, None), + (tuple, pydevd_resolver.tupleResolver), + (list, pydevd_resolver.tupleResolver), + (dict, pydevd_resolver.dictResolver), + ] + try: + from collections import OrderedDict + default_type_map.insert(0, (OrderedDict, pydevd_resolver.orderedDictResolver)) + # we should put it before dict + except: + pass + + try: + default_type_map.append((long, None)) # @UndefinedVariable + except: + pass # not available on all python versions + + default_type_map.append((DAPGrouper, pydevd_resolver.dapGrouperResolver)) + + try: + default_type_map.append((set, pydevd_resolver.setResolver)) + except: + pass # not available on all python versions + + try: + default_type_map.append((frozenset, pydevd_resolver.setResolver)) + except: + pass # not available on all python versions + + try: + from django.utils.datastructures import MultiValueDict + default_type_map.insert(0, (MultiValueDict, pydevd_resolver.multiValueDictResolver)) + # we should put it before dict + except: + pass # django may not be installed + + try: + from django.forms import BaseForm + default_type_map.insert(0, (BaseForm, pydevd_resolver.djangoFormResolver)) + # we should put it before instance resolver + except: + pass # django may not be installed + + try: + from collections import deque + default_type_map.append((deque, pydevd_resolver.dequeResolver)) + except: + pass + + if frame_type is not None: + default_type_map.append((frame_type, pydevd_resolver.frameResolver)) + + if _IS_JYTHON: + from org.python import core # @UnresolvedImport + default_type_map.append((core.PyNone, None)) + default_type_map.append((core.PyInteger, None)) + default_type_map.append((core.PyLong, None)) + default_type_map.append((core.PyFloat, None)) + default_type_map.append((core.PyComplex, None)) + default_type_map.append((core.PyString, None)) + default_type_map.append((core.PyTuple, pydevd_resolver.tupleResolver)) + default_type_map.append((core.PyList, pydevd_resolver.tupleResolver)) + default_type_map.append((core.PyDictionary, pydevd_resolver.dictResolver)) + default_type_map.append((core.PyStringMap, pydevd_resolver.dictResolver)) + + if hasattr(core, 'PyJavaInstance'): + # Jython 2.5b3 removed it. + default_type_map.append((core.PyJavaInstance, pydevd_resolver.instanceResolver)) + + return default_type_map + + +class TypeResolveHandler(object): + NO_PROVIDER = [] # Sentinel value (any mutable object to be used as a constant would be valid). + + def __init__(self): + # Note: don't initialize with the types we already know about so that the extensions can override + # the default resolvers that are already available if they want. + self._type_to_resolver_cache = {} + self._type_to_str_provider_cache = {} + self._initialized = False + + def _initialize(self): + self._default_type_map = _create_default_type_map() + self._resolve_providers = pydevd_extension_utils.extensions_of_type(TypeResolveProvider) + self._str_providers = pydevd_extension_utils.extensions_of_type(StrPresentationProvider) + self._initialized = True + + def get_type(self, o): + try: + try: + # Faster than type(o) as we don't need the function call. + type_object = o.__class__ # could fail here + type_name = type_object.__name__ + return self._get_type(o, type_object, type_name) # could fail here + except: + # Not all objects have __class__ (i.e.: there are bad bindings around). + type_object = type(o) + type_name = type_object.__name__ + + try: + return self._get_type(o, type_object, type_name) + except: + if isinstance(type_object, type): + # If it's still something manageable, use the default resolver, otherwise + # fallback to saying that it wasn't possible to get any info on it. + return type_object, str(type_name), pydevd_resolver.defaultResolver + + return 'Unable to get Type', 'Unable to get Type', None + except: + # This happens for org.python.core.InitModule + return 'Unable to get Type', 'Unable to get Type', None + + def _get_type(self, o, type_object, type_name): + # Note: we could have an exception here if the type_object is not hashable... + resolver = self._type_to_resolver_cache.get(type_object) + if resolver is not None: + return type_object, type_name, resolver + + if not self._initialized: + self._initialize() + + try: + for resolver in self._resolve_providers: + if resolver.can_provide(type_object, type_name): + # Cache it + self._type_to_resolver_cache[type_object] = resolver + return type_object, type_name, resolver + + for t in self._default_type_map: + if isinstance_checked(o, t[0]): + # Cache it + resolver = t[1] + self._type_to_resolver_cache[type_object] = resolver + return (type_object, type_name, resolver) + except: + pydev_log.exception() + + # No match return default (and cache it). + resolver = pydevd_resolver.defaultResolver + self._type_to_resolver_cache[type_object] = resolver + return type_object, type_name, resolver + + if _IS_JYTHON: + _base_get_type = _get_type + + def _get_type(self, o, type_object, type_name): + if type_name == 'org.python.core.PyJavaInstance': + return type_object, type_name, pydevd_resolver.instanceResolver + + if type_name == 'org.python.core.PyArray': + return type_object, type_name, pydevd_resolver.jyArrayResolver + + return self._base_get_type(o, type_object, type_name) + + def str_from_providers(self, o, type_object, type_name): + provider = self._type_to_str_provider_cache.get(type_object) + + if provider is self.NO_PROVIDER: + return None + + if provider is not None: + return provider.get_str(o) + + if not self._initialized: + self._initialize() + + for provider in self._str_providers: + if provider.can_provide(type_object, type_name): + self._type_to_str_provider_cache[type_object] = provider + try: + return provider.get_str(o) + except: + pydev_log.exception("Error when getting str with custom provider: %s." % (provider,)) + + self._type_to_str_provider_cache[type_object] = self.NO_PROVIDER + return None + + +_TYPE_RESOLVE_HANDLER = TypeResolveHandler() + +""" +def get_type(o): + Receives object and returns a triple (type_object, type_string, resolver). + + resolver != None means that variable is a container, and should be displayed as a hierarchy. + + Use the resolver to get its attributes. + + All container objects (i.e.: dict, list, tuple, object, etc) should have a resolver. +""" +get_type = _TYPE_RESOLVE_HANDLER.get_type + +_str_from_providers = _TYPE_RESOLVE_HANDLER.str_from_providers + + +def is_builtin(x): + return getattr(x, '__module__', None) == BUILTINS_MODULE_NAME + + +def should_evaluate_full_value(val): + return not LOAD_VALUES_ASYNC or (is_builtin(type(val)) and not isinstance_checked(val, (list, tuple, dict))) + + +def return_values_from_dict_to_xml(return_dict): + res = [] + for name, val in return_dict.items(): + res.append(var_to_xml(val, name, additional_in_xml=' isRetVal="True"')) + return ''.join(res) + + +def frame_vars_to_xml(frame_f_locals, hidden_ns=None): + """ dumps frame variables to XML + + """ + xml = [] + + keys = sorted(frame_f_locals) + + return_values_xml = [] + + for k in keys: + try: + v = frame_f_locals[k] + eval_full_val = should_evaluate_full_value(v) + + if k == '_pydev_stop_at_break': + continue + + if k == RETURN_VALUES_DICT: + for name, val in v.items(): + return_values_xml.append(var_to_xml(val, name, additional_in_xml=' isRetVal="True"')) + + else: + if hidden_ns is not None and k in hidden_ns: + xml.append(var_to_xml(v, str(k), additional_in_xml=' isIPythonHidden="True"', + evaluate_full_value=eval_full_val)) + else: + xml.append(var_to_xml(v, str(k), evaluate_full_value=eval_full_val)) + except Exception: + pydev_log.exception("Unexpected error, recovered safely.") + + # Show return values as the first entry. + return_values_xml.extend(xml) + return ''.join(return_values_xml) + + +def get_variable_details(val, evaluate_full_value=True, to_string=None): + try: + # This should be faster than isinstance (but we have to protect against not having a '__class__' attribute). + is_exception_on_eval = val.__class__ == ExceptionOnEvaluate + except: + is_exception_on_eval = False + + if is_exception_on_eval: + v = val.result + else: + v = val + + _type, type_name, resolver = get_type(v) + type_qualifier = getattr(_type, "__module__", "") + if not evaluate_full_value: + value = DEFAULT_VALUE + else: + try: + str_from_provider = _str_from_providers(v, _type, type_name) + if str_from_provider is not None: + value = str_from_provider + + elif to_string is not None: + value = to_string(v) + + elif hasattr_checked(v, '__class__'): + if v.__class__ == frame_type: + value = pydevd_resolver.frameResolver.get_frame_name(v) + + elif v.__class__ in (list, tuple): + if len(v) > 300: + value = '%s: %s' % (str(v.__class__), '' % (len(v),)) + else: + value = '%s: %s' % (str(v.__class__), v) + else: + try: + cName = str(v.__class__) + if cName.find('.') != -1: + cName = cName.split('.')[-1] + + elif cName.find("'") != -1: # does not have '.' (could be something like ) + cName = cName[cName.index("'") + 1:] + + if cName.endswith("'>"): + cName = cName[:-2] + except: + cName = str(v.__class__) + + value = '%s: %s' % (cName, v) + else: + value = str(v) + except: + try: + value = repr(v) + except: + value = 'Unable to get repr for %s' % v.__class__ + + # fix to work with unicode values + try: + if value.__class__ == bytes: + value = value.decode('utf-8', 'replace') + except TypeError: + pass + + return type_name, type_qualifier, is_exception_on_eval, resolver, value + + +def var_to_xml(val, name, trim_if_too_big=True, additional_in_xml='', evaluate_full_value=True): + """ single variable or dictionary to xml representation """ + + type_name, type_qualifier, is_exception_on_eval, resolver, value = get_variable_details( + val, evaluate_full_value) + + scope = get_var_scope(name, val, '', True) + try: + name = quote(name, '/>_= ') # TODO: Fix PY-5834 without using quote + except: + pass + + xml = ' MAXIMUM_VARIABLE_REPRESENTATION_SIZE and trim_if_too_big: + value = value[0:MAXIMUM_VARIABLE_REPRESENTATION_SIZE] + value += '...' + + xml_value = ' value="%s"' % (make_valid_xml_value(quote(value, '/>_= '))) + else: + xml_value = '' + + if is_exception_on_eval: + xml_container = ' isErrorOnEval="True"' + else: + if resolver is not None: + xml_container = ' isContainer="True"' + else: + xml_container = '' + + if scope: + return ''.join((xml, xml_qualifier, xml_value, xml_container, additional_in_xml, ' scope="', scope, '"', ' />\n')) + else: + return ''.join((xml, xml_qualifier, xml_value, xml_container, additional_in_xml, ' />\n')) diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/.gitignore b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/.gitignore new file mode 120000 index 0000000..0af2a3c --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/.gitignore @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/10/a8/5b/47e3e962d6ef21884861e0c3754283714fe465fe240730e00118751608 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/__init__.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..925f70e Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/__pycache__/pydevd_frame_eval_cython_wrapper.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/__pycache__/pydevd_frame_eval_cython_wrapper.cpython-38.pyc new file mode 100644 index 0000000..e5e9080 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/__pycache__/pydevd_frame_eval_cython_wrapper.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/__pycache__/pydevd_frame_eval_main.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/__pycache__/pydevd_frame_eval_main.cpython-38.pyc new file mode 100644 index 0000000..8cf5b97 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/__pycache__/pydevd_frame_eval_main.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/__pycache__/pydevd_frame_tracing.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/__pycache__/pydevd_frame_tracing.cpython-38.pyc new file mode 100644 index 0000000..d8bd231 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/__pycache__/pydevd_frame_tracing.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/__pycache__/pydevd_modify_bytecode.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/__pycache__/pydevd_modify_bytecode.cpython-38.pyc new file mode 100644 index 0000000..71f881d Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/__pycache__/pydevd_modify_bytecode.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_eval_cython_wrapper.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_eval_cython_wrapper.py new file mode 120000 index 0000000..622d0c8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_eval_cython_wrapper.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7e/c8/e0/1a0d3b6a154274831edfcb1abd3c8012042d1336fbbd522576380b85f1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_eval_main.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_eval_main.py new file mode 100644 index 0000000..bfebea2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_eval_main.py @@ -0,0 +1,48 @@ +import os + +from _pydev_bundle import pydev_log +from _pydevd_bundle.pydevd_trace_dispatch import USING_CYTHON +from _pydevd_bundle.pydevd_constants import USE_CYTHON_FLAG, ENV_FALSE_LOWER_VALUES, \ + ENV_TRUE_LOWER_VALUES, IS_PY36_OR_GREATER, IS_PY38_OR_GREATER, SUPPORT_GEVENT, IS_PYTHON_STACKLESS, \ + PYDEVD_USE_FRAME_EVAL, PYDEVD_IPYTHON_COMPATIBLE_DEBUGGING + +frame_eval_func = None +stop_frame_eval = None +dummy_trace_dispatch = None +clear_thread_local_info = None + +# "NO" means we should not use frame evaluation, 'YES' we should use it (and fail if not there) and unspecified uses if possible. +if ( + PYDEVD_USE_FRAME_EVAL in ENV_FALSE_LOWER_VALUES or + USE_CYTHON_FLAG in ENV_FALSE_LOWER_VALUES or + not USING_CYTHON or + + # Frame eval mode does not work with ipython compatible debugging (this happens because the + # way that frame eval works is run untraced and set tracing only for the frames with + # breakpoints, but ipython compatible debugging creates separate frames for what's logically + # the same frame). + PYDEVD_IPYTHON_COMPATIBLE_DEBUGGING + ): + USING_FRAME_EVAL = False + +elif SUPPORT_GEVENT or (IS_PYTHON_STACKLESS and not IS_PY38_OR_GREATER): + USING_FRAME_EVAL = False + # i.e gevent and frame eval mode don't get along very well. + # https://github.com/microsoft/debugpy/issues/189 + # Same problem with Stackless. + # https://github.com/stackless-dev/stackless/issues/240 + +elif PYDEVD_USE_FRAME_EVAL in ENV_TRUE_LOWER_VALUES: + # Fail if unable to use + from _pydevd_frame_eval.pydevd_frame_eval_cython_wrapper import frame_eval_func, stop_frame_eval, dummy_trace_dispatch, clear_thread_local_info + USING_FRAME_EVAL = True + +else: + USING_FRAME_EVAL = False + # Try to use if possible + if IS_PY36_OR_GREATER: + try: + from _pydevd_frame_eval.pydevd_frame_eval_cython_wrapper import frame_eval_func, stop_frame_eval, dummy_trace_dispatch, clear_thread_local_info + USING_FRAME_EVAL = True + except ImportError: + pydev_log.show_compile_cython_command_line() diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.c b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.c new file mode 100644 index 0000000..245e027 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.c @@ -0,0 +1,20595 @@ +/* Generated by Cython 0.29.32 */ + +/* BEGIN: Cython Metadata +{ + "distutils": { + "depends": [ + "_pydevd_frame_eval/release_mem.h" + ], + "include_dirs": [ + "_pydevd_frame_eval" + ], + "name": "_pydevd_frame_eval.pydevd_frame_evaluator", + "sources": [ + "_pydevd_frame_eval/pydevd_frame_evaluator.pyx" + ] + }, + "module_name": "_pydevd_frame_eval.pydevd_frame_evaluator" +} +END: Cython Metadata */ + +#ifndef PY_SSIZE_T_CLEAN +#define PY_SSIZE_T_CLEAN +#endif /* PY_SSIZE_T_CLEAN */ +#include "Python.h" +#if PY_VERSION_HEX >= 0x03090000 +#include "internal/pycore_gc.h" +#include "internal/pycore_interp.h" +#endif + +#ifndef Py_PYTHON_H + #error Python headers needed to compile C extensions, please install development version of Python. +#elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000) + #error Cython requires Python 2.6+ or Python 3.3+. +#else +#define CYTHON_ABI "0_29_32" +#define CYTHON_HEX_VERSION 0x001D20F0 +#define CYTHON_FUTURE_DIVISION 0 +#include +#ifndef offsetof + #define offsetof(type, member) ( (size_t) & ((type*)0) -> member ) +#endif +#if !defined(WIN32) && !defined(MS_WINDOWS) + #ifndef __stdcall + #define __stdcall + #endif + #ifndef __cdecl + #define __cdecl + #endif + #ifndef __fastcall + #define __fastcall + #endif +#endif +#ifndef DL_IMPORT + #define DL_IMPORT(t) t +#endif +#ifndef DL_EXPORT + #define DL_EXPORT(t) t +#endif +#define __PYX_COMMA , +#ifndef HAVE_LONG_LONG + #if PY_VERSION_HEX >= 0x02070000 + #define HAVE_LONG_LONG + #endif +#endif +#ifndef PY_LONG_LONG + #define PY_LONG_LONG LONG_LONG +#endif +#ifndef Py_HUGE_VAL + #define Py_HUGE_VAL HUGE_VAL +#endif +#ifdef PYPY_VERSION + #define CYTHON_COMPILING_IN_PYPY 1 + #define CYTHON_COMPILING_IN_PYSTON 0 + #define CYTHON_COMPILING_IN_CPYTHON 0 + #define CYTHON_COMPILING_IN_NOGIL 0 + #undef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 0 + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #if PY_VERSION_HEX < 0x03050000 + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #elif !defined(CYTHON_USE_ASYNC_SLOTS) + #define CYTHON_USE_ASYNC_SLOTS 1 + #endif + #undef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 0 + #undef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 0 + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #undef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 1 + #undef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 0 + #undef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 0 + #undef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 0 + #undef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL 0 + #undef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT 0 + #undef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE 0 + #undef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS 0 + #undef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK 0 + #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC + #define CYTHON_UPDATE_DESCRIPTOR_DOC (PYPY_VERSION_HEX >= 0x07030900) + #endif +#elif defined(PYSTON_VERSION) + #define CYTHON_COMPILING_IN_PYPY 0 + #define CYTHON_COMPILING_IN_PYSTON 1 + #define CYTHON_COMPILING_IN_CPYTHON 0 + #define CYTHON_COMPILING_IN_NOGIL 0 + #ifndef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 1 + #endif + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #undef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 0 + #ifndef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 1 + #endif + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #ifndef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 0 + #endif + #ifndef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 1 + #endif + #ifndef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 1 + #endif + #undef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 0 + #undef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL 0 + #undef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT 0 + #undef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE 0 + #undef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS 0 + #undef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK 0 + #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC + #define CYTHON_UPDATE_DESCRIPTOR_DOC 0 + #endif +#elif defined(PY_NOGIL) + #define CYTHON_COMPILING_IN_PYPY 0 + #define CYTHON_COMPILING_IN_PYSTON 0 + #define CYTHON_COMPILING_IN_CPYTHON 0 + #define CYTHON_COMPILING_IN_NOGIL 1 + #ifndef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 1 + #endif + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #ifndef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 1 + #endif + #undef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 0 + #ifndef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 1 + #endif + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #ifndef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 0 + #endif + #ifndef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 1 + #endif + #ifndef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 1 + #endif + #undef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 0 + #undef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL 0 + #ifndef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT 1 + #endif + #ifndef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE 1 + #endif + #undef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS 0 + #undef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK 0 +#else + #define CYTHON_COMPILING_IN_PYPY 0 + #define CYTHON_COMPILING_IN_PYSTON 0 + #define CYTHON_COMPILING_IN_CPYTHON 1 + #define CYTHON_COMPILING_IN_NOGIL 0 + #ifndef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 1 + #endif + #if PY_VERSION_HEX < 0x02070000 + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #elif !defined(CYTHON_USE_PYTYPE_LOOKUP) + #define CYTHON_USE_PYTYPE_LOOKUP 1 + #endif + #if PY_MAJOR_VERSION < 3 + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #elif !defined(CYTHON_USE_ASYNC_SLOTS) + #define CYTHON_USE_ASYNC_SLOTS 1 + #endif + #if PY_VERSION_HEX < 0x02070000 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #elif !defined(CYTHON_USE_PYLONG_INTERNALS) + #define CYTHON_USE_PYLONG_INTERNALS 1 + #endif + #ifndef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 1 + #endif + #ifndef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 1 + #endif + #if PY_VERSION_HEX < 0x030300F0 || PY_VERSION_HEX >= 0x030B00A2 + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #elif !defined(CYTHON_USE_UNICODE_WRITER) + #define CYTHON_USE_UNICODE_WRITER 1 + #endif + #ifndef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 0 + #endif + #ifndef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 1 + #endif + #ifndef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 1 + #endif + #if PY_VERSION_HEX >= 0x030B00A4 + #undef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 0 + #elif !defined(CYTHON_FAST_THREAD_STATE) + #define CYTHON_FAST_THREAD_STATE 1 + #endif + #ifndef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL (PY_VERSION_HEX < 0x030A0000) + #endif + #ifndef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT (PY_VERSION_HEX >= 0x03050000) + #endif + #ifndef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1) + #endif + #ifndef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX >= 0x030600B1) + #endif + #if PY_VERSION_HEX >= 0x030B00A4 + #undef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK 0 + #elif !defined(CYTHON_USE_EXC_INFO_STACK) + #define CYTHON_USE_EXC_INFO_STACK (PY_VERSION_HEX >= 0x030700A3) + #endif + #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC + #define CYTHON_UPDATE_DESCRIPTOR_DOC 1 + #endif +#endif +#if !defined(CYTHON_FAST_PYCCALL) +#define CYTHON_FAST_PYCCALL (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1) +#endif +#if CYTHON_USE_PYLONG_INTERNALS + #if PY_MAJOR_VERSION < 3 + #include "longintrepr.h" + #endif + #undef SHIFT + #undef BASE + #undef MASK + #ifdef SIZEOF_VOID_P + enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) }; + #endif +#endif +#ifndef __has_attribute + #define __has_attribute(x) 0 +#endif +#ifndef __has_cpp_attribute + #define __has_cpp_attribute(x) 0 +#endif +#ifndef CYTHON_RESTRICT + #if defined(__GNUC__) + #define CYTHON_RESTRICT __restrict__ + #elif defined(_MSC_VER) && _MSC_VER >= 1400 + #define CYTHON_RESTRICT __restrict + #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + #define CYTHON_RESTRICT restrict + #else + #define CYTHON_RESTRICT + #endif +#endif +#ifndef CYTHON_UNUSED +# if defined(__GNUC__) +# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) +# define CYTHON_UNUSED __attribute__ ((__unused__)) +# else +# define CYTHON_UNUSED +# endif +# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER)) +# define CYTHON_UNUSED __attribute__ ((__unused__)) +# else +# define CYTHON_UNUSED +# endif +#endif +#ifndef CYTHON_MAYBE_UNUSED_VAR +# if defined(__cplusplus) + template void CYTHON_MAYBE_UNUSED_VAR( const T& ) { } +# else +# define CYTHON_MAYBE_UNUSED_VAR(x) (void)(x) +# endif +#endif +#ifndef CYTHON_NCP_UNUSED +# if CYTHON_COMPILING_IN_CPYTHON +# define CYTHON_NCP_UNUSED +# else +# define CYTHON_NCP_UNUSED CYTHON_UNUSED +# endif +#endif +#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None) +#ifdef _MSC_VER + #ifndef _MSC_STDINT_H_ + #if _MSC_VER < 1300 + typedef unsigned char uint8_t; + typedef unsigned int uint32_t; + #else + typedef unsigned __int8 uint8_t; + typedef unsigned __int32 uint32_t; + #endif + #endif +#else + #include +#endif +#ifndef CYTHON_FALLTHROUGH + #if defined(__cplusplus) && __cplusplus >= 201103L + #if __has_cpp_attribute(fallthrough) + #define CYTHON_FALLTHROUGH [[fallthrough]] + #elif __has_cpp_attribute(clang::fallthrough) + #define CYTHON_FALLTHROUGH [[clang::fallthrough]] + #elif __has_cpp_attribute(gnu::fallthrough) + #define CYTHON_FALLTHROUGH [[gnu::fallthrough]] + #endif + #endif + #ifndef CYTHON_FALLTHROUGH + #if __has_attribute(fallthrough) + #define CYTHON_FALLTHROUGH __attribute__((fallthrough)) + #else + #define CYTHON_FALLTHROUGH + #endif + #endif + #if defined(__clang__ ) && defined(__apple_build_version__) + #if __apple_build_version__ < 7000000 + #undef CYTHON_FALLTHROUGH + #define CYTHON_FALLTHROUGH + #endif + #endif +#endif + +#ifndef CYTHON_INLINE + #if defined(__clang__) + #define CYTHON_INLINE __inline__ __attribute__ ((__unused__)) + #elif defined(__GNUC__) + #define CYTHON_INLINE __inline__ + #elif defined(_MSC_VER) + #define CYTHON_INLINE __inline + #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + #define CYTHON_INLINE inline + #else + #define CYTHON_INLINE + #endif +#endif + +#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && !defined(Py_OptimizeFlag) + #define Py_OptimizeFlag 0 +#endif +#define __PYX_BUILD_PY_SSIZE_T "n" +#define CYTHON_FORMAT_SSIZE_T "z" +#if PY_MAJOR_VERSION < 3 + #define __Pyx_BUILTIN_MODULE_NAME "__builtin__" + #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ + PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) + #define __Pyx_DefaultClassType PyClass_Type +#else + #define __Pyx_BUILTIN_MODULE_NAME "builtins" + #define __Pyx_DefaultClassType PyType_Type +#if PY_VERSION_HEX >= 0x030B00A1 + static CYTHON_INLINE PyCodeObject* __Pyx_PyCode_New(int a, int k, int l, int s, int f, + PyObject *code, PyObject *c, PyObject* n, PyObject *v, + PyObject *fv, PyObject *cell, PyObject* fn, + PyObject *name, int fline, PyObject *lnos) { + PyObject *kwds=NULL, *argcount=NULL, *posonlyargcount=NULL, *kwonlyargcount=NULL; + PyObject *nlocals=NULL, *stacksize=NULL, *flags=NULL, *replace=NULL, *call_result=NULL, *empty=NULL; + const char *fn_cstr=NULL; + const char *name_cstr=NULL; + PyCodeObject* co=NULL; + PyObject *type, *value, *traceback; + PyErr_Fetch(&type, &value, &traceback); + if (!(kwds=PyDict_New())) goto end; + if (!(argcount=PyLong_FromLong(a))) goto end; + if (PyDict_SetItemString(kwds, "co_argcount", argcount) != 0) goto end; + if (!(posonlyargcount=PyLong_FromLong(0))) goto end; + if (PyDict_SetItemString(kwds, "co_posonlyargcount", posonlyargcount) != 0) goto end; + if (!(kwonlyargcount=PyLong_FromLong(k))) goto end; + if (PyDict_SetItemString(kwds, "co_kwonlyargcount", kwonlyargcount) != 0) goto end; + if (!(nlocals=PyLong_FromLong(l))) goto end; + if (PyDict_SetItemString(kwds, "co_nlocals", nlocals) != 0) goto end; + if (!(stacksize=PyLong_FromLong(s))) goto end; + if (PyDict_SetItemString(kwds, "co_stacksize", stacksize) != 0) goto end; + if (!(flags=PyLong_FromLong(f))) goto end; + if (PyDict_SetItemString(kwds, "co_flags", flags) != 0) goto end; + if (PyDict_SetItemString(kwds, "co_code", code) != 0) goto end; + if (PyDict_SetItemString(kwds, "co_consts", c) != 0) goto end; + if (PyDict_SetItemString(kwds, "co_names", n) != 0) goto end; + if (PyDict_SetItemString(kwds, "co_varnames", v) != 0) goto end; + if (PyDict_SetItemString(kwds, "co_freevars", fv) != 0) goto end; + if (PyDict_SetItemString(kwds, "co_cellvars", cell) != 0) goto end; + if (PyDict_SetItemString(kwds, "co_linetable", lnos) != 0) goto end; + if (!(fn_cstr=PyUnicode_AsUTF8AndSize(fn, NULL))) goto end; + if (!(name_cstr=PyUnicode_AsUTF8AndSize(name, NULL))) goto end; + if (!(co = PyCode_NewEmpty(fn_cstr, name_cstr, fline))) goto end; + if (!(replace = PyObject_GetAttrString((PyObject*)co, "replace"))) goto cleanup_code_too; + if (!(empty = PyTuple_New(0))) goto cleanup_code_too; // unfortunately __pyx_empty_tuple isn't available here + if (!(call_result = PyObject_Call(replace, empty, kwds))) goto cleanup_code_too; + Py_XDECREF((PyObject*)co); + co = (PyCodeObject*)call_result; + call_result = NULL; + if (0) { + cleanup_code_too: + Py_XDECREF((PyObject*)co); + co = NULL; + } + end: + Py_XDECREF(kwds); + Py_XDECREF(argcount); + Py_XDECREF(posonlyargcount); + Py_XDECREF(kwonlyargcount); + Py_XDECREF(nlocals); + Py_XDECREF(stacksize); + Py_XDECREF(replace); + Py_XDECREF(call_result); + Py_XDECREF(empty); + if (type) { + PyErr_Restore(type, value, traceback); + } + return co; + } +#else + #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ + PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) +#endif + #define __Pyx_DefaultClassType PyType_Type +#endif +#ifndef Py_TPFLAGS_CHECKTYPES + #define Py_TPFLAGS_CHECKTYPES 0 +#endif +#ifndef Py_TPFLAGS_HAVE_INDEX + #define Py_TPFLAGS_HAVE_INDEX 0 +#endif +#ifndef Py_TPFLAGS_HAVE_NEWBUFFER + #define Py_TPFLAGS_HAVE_NEWBUFFER 0 +#endif +#ifndef Py_TPFLAGS_HAVE_FINALIZE + #define Py_TPFLAGS_HAVE_FINALIZE 0 +#endif +#ifndef METH_STACKLESS + #define METH_STACKLESS 0 +#endif +#if PY_VERSION_HEX <= 0x030700A3 || !defined(METH_FASTCALL) + #ifndef METH_FASTCALL + #define METH_FASTCALL 0x80 + #endif + typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs); + typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args, + Py_ssize_t nargs, PyObject *kwnames); +#else + #define __Pyx_PyCFunctionFast _PyCFunctionFast + #define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords +#endif +#if CYTHON_FAST_PYCCALL +#define __Pyx_PyFastCFunction_Check(func)\ + ((PyCFunction_Check(func) && (METH_FASTCALL == (PyCFunction_GET_FLAGS(func) & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS))))) +#else +#define __Pyx_PyFastCFunction_Check(func) 0 +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc) + #define PyObject_Malloc(s) PyMem_Malloc(s) + #define PyObject_Free(p) PyMem_Free(p) + #define PyObject_Realloc(p) PyMem_Realloc(p) +#endif +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030400A1 + #define PyMem_RawMalloc(n) PyMem_Malloc(n) + #define PyMem_RawRealloc(p, n) PyMem_Realloc(p, n) + #define PyMem_RawFree(p) PyMem_Free(p) +#endif +#if CYTHON_COMPILING_IN_PYSTON + #define __Pyx_PyCode_HasFreeVars(co) PyCode_HasFreeVars(co) + #define __Pyx_PyFrame_SetLineNumber(frame, lineno) PyFrame_SetLineNumber(frame, lineno) +#else + #define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0) + #define __Pyx_PyFrame_SetLineNumber(frame, lineno) (frame)->f_lineno = (lineno) +#endif +#if !CYTHON_FAST_THREAD_STATE || PY_VERSION_HEX < 0x02070000 + #define __Pyx_PyThreadState_Current PyThreadState_GET() +#elif PY_VERSION_HEX >= 0x03060000 + #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet() +#elif PY_VERSION_HEX >= 0x03000000 + #define __Pyx_PyThreadState_Current PyThreadState_GET() +#else + #define __Pyx_PyThreadState_Current _PyThreadState_Current +#endif +#if PY_VERSION_HEX < 0x030700A2 && !defined(PyThread_tss_create) && !defined(Py_tss_NEEDS_INIT) +#include "pythread.h" +#define Py_tss_NEEDS_INIT 0 +typedef int Py_tss_t; +static CYTHON_INLINE int PyThread_tss_create(Py_tss_t *key) { + *key = PyThread_create_key(); + return 0; +} +static CYTHON_INLINE Py_tss_t * PyThread_tss_alloc(void) { + Py_tss_t *key = (Py_tss_t *)PyObject_Malloc(sizeof(Py_tss_t)); + *key = Py_tss_NEEDS_INIT; + return key; +} +static CYTHON_INLINE void PyThread_tss_free(Py_tss_t *key) { + PyObject_Free(key); +} +static CYTHON_INLINE int PyThread_tss_is_created(Py_tss_t *key) { + return *key != Py_tss_NEEDS_INIT; +} +static CYTHON_INLINE void PyThread_tss_delete(Py_tss_t *key) { + PyThread_delete_key(*key); + *key = Py_tss_NEEDS_INIT; +} +static CYTHON_INLINE int PyThread_tss_set(Py_tss_t *key, void *value) { + return PyThread_set_key_value(*key, value); +} +static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) { + return PyThread_get_key_value(*key); +} +#endif +#if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized) +#define __Pyx_PyDict_NewPresized(n) ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n)) +#else +#define __Pyx_PyDict_NewPresized(n) PyDict_New() +#endif +#if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION + #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y) + #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) +#else + #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y) + #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y) +#endif +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && CYTHON_USE_UNICODE_INTERNALS +#define __Pyx_PyDict_GetItemStr(dict, name) _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash) +#else +#define __Pyx_PyDict_GetItemStr(dict, name) PyDict_GetItem(dict, name) +#endif +#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND) + #define CYTHON_PEP393_ENABLED 1 + #if defined(PyUnicode_IS_READY) + #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ?\ + 0 : _PyUnicode_Ready((PyObject *)(op))) + #else + #define __Pyx_PyUnicode_READY(op) (0) + #endif + #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u) + #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i) + #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) PyUnicode_MAX_CHAR_VALUE(u) + #define __Pyx_PyUnicode_KIND(u) PyUnicode_KIND(u) + #define __Pyx_PyUnicode_DATA(u) PyUnicode_DATA(u) + #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i) + #define __Pyx_PyUnicode_WRITE(k, d, i, ch) PyUnicode_WRITE(k, d, i, ch) + #if defined(PyUnicode_IS_READY) && defined(PyUnicode_GET_SIZE) + #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03090000 + #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : ((PyCompactUnicodeObject *)(u))->wstr_length)) + #else + #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u))) + #endif + #else + #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_LENGTH(u)) + #endif +#else + #define CYTHON_PEP393_ENABLED 0 + #define PyUnicode_1BYTE_KIND 1 + #define PyUnicode_2BYTE_KIND 2 + #define PyUnicode_4BYTE_KIND 4 + #define __Pyx_PyUnicode_READY(op) (0) + #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u) + #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i])) + #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) ((sizeof(Py_UNICODE) == 2) ? 65535 : 1114111) + #define __Pyx_PyUnicode_KIND(u) (sizeof(Py_UNICODE)) + #define __Pyx_PyUnicode_DATA(u) ((void*)PyUnicode_AS_UNICODE(u)) + #define __Pyx_PyUnicode_READ(k, d, i) ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i])) + #define __Pyx_PyUnicode_WRITE(k, d, i, ch) (((void)(k)), ((Py_UNICODE*)d)[i] = ch) + #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_SIZE(u)) +#endif +#if CYTHON_COMPILING_IN_PYPY + #define __Pyx_PyUnicode_Concat(a, b) PyNumber_Add(a, b) + #define __Pyx_PyUnicode_ConcatSafe(a, b) PyNumber_Add(a, b) +#else + #define __Pyx_PyUnicode_Concat(a, b) PyUnicode_Concat(a, b) + #define __Pyx_PyUnicode_ConcatSafe(a, b) ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\ + PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b)) +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyUnicode_Contains) + #define PyUnicode_Contains(u, s) PySequence_Contains(u, s) +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyByteArray_Check) + #define PyByteArray_Check(obj) PyObject_TypeCheck(obj, &PyByteArray_Type) +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Format) + #define PyObject_Format(obj, fmt) PyObject_CallMethod(obj, "__format__", "O", fmt) +#endif +#define __Pyx_PyString_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyString_Check(b) && !PyString_CheckExact(b)))) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b)) +#define __Pyx_PyUnicode_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b)) +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyString_Format(a, b) PyUnicode_Format(a, b) +#else + #define __Pyx_PyString_Format(a, b) PyString_Format(a, b) +#endif +#if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII) + #define PyObject_ASCII(o) PyObject_Repr(o) +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyBaseString_Type PyUnicode_Type + #define PyStringObject PyUnicodeObject + #define PyString_Type PyUnicode_Type + #define PyString_Check PyUnicode_Check + #define PyString_CheckExact PyUnicode_CheckExact +#ifndef PyObject_Unicode + #define PyObject_Unicode PyObject_Str +#endif +#endif +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj) + #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj) +#else + #define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj)) + #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj)) +#endif +#ifndef PySet_CheckExact + #define PySet_CheckExact(obj) (Py_TYPE(obj) == &PySet_Type) +#endif +#if PY_VERSION_HEX >= 0x030900A4 + #define __Pyx_SET_REFCNT(obj, refcnt) Py_SET_REFCNT(obj, refcnt) + #define __Pyx_SET_SIZE(obj, size) Py_SET_SIZE(obj, size) +#else + #define __Pyx_SET_REFCNT(obj, refcnt) Py_REFCNT(obj) = (refcnt) + #define __Pyx_SET_SIZE(obj, size) Py_SIZE(obj) = (size) +#endif +#if CYTHON_ASSUME_SAFE_MACROS + #define __Pyx_PySequence_SIZE(seq) Py_SIZE(seq) +#else + #define __Pyx_PySequence_SIZE(seq) PySequence_Size(seq) +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyIntObject PyLongObject + #define PyInt_Type PyLong_Type + #define PyInt_Check(op) PyLong_Check(op) + #define PyInt_CheckExact(op) PyLong_CheckExact(op) + #define PyInt_FromString PyLong_FromString + #define PyInt_FromUnicode PyLong_FromUnicode + #define PyInt_FromLong PyLong_FromLong + #define PyInt_FromSize_t PyLong_FromSize_t + #define PyInt_FromSsize_t PyLong_FromSsize_t + #define PyInt_AsLong PyLong_AsLong + #define PyInt_AS_LONG PyLong_AS_LONG + #define PyInt_AsSsize_t PyLong_AsSsize_t + #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask + #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask + #define PyNumber_Int PyNumber_Long +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyBoolObject PyLongObject +#endif +#if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY + #ifndef PyUnicode_InternFromString + #define PyUnicode_InternFromString(s) PyUnicode_FromString(s) + #endif +#endif +#if PY_VERSION_HEX < 0x030200A4 + typedef long Py_hash_t; + #define __Pyx_PyInt_FromHash_t PyInt_FromLong + #define __Pyx_PyInt_AsHash_t __Pyx_PyIndex_AsHash_t +#else + #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t + #define __Pyx_PyInt_AsHash_t __Pyx_PyIndex_AsSsize_t +#endif +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyMethod_New(func, self, klass) ((self) ? ((void)(klass), PyMethod_New(func, self)) : __Pyx_NewRef(func)) +#else + #define __Pyx_PyMethod_New(func, self, klass) PyMethod_New(func, self, klass) +#endif +#if CYTHON_USE_ASYNC_SLOTS + #if PY_VERSION_HEX >= 0x030500B1 + #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods + #define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async) + #else + #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved)) + #endif +#else + #define __Pyx_PyType_AsAsync(obj) NULL +#endif +#ifndef __Pyx_PyAsyncMethodsStruct + typedef struct { + unaryfunc am_await; + unaryfunc am_aiter; + unaryfunc am_anext; + } __Pyx_PyAsyncMethodsStruct; +#endif + +#if defined(_WIN32) || defined(WIN32) || defined(MS_WINDOWS) + #if !defined(_USE_MATH_DEFINES) + #define _USE_MATH_DEFINES + #endif +#endif +#include +#ifdef NAN +#define __PYX_NAN() ((float) NAN) +#else +static CYTHON_INLINE float __PYX_NAN() { + float value; + memset(&value, 0xFF, sizeof(value)); + return value; +} +#endif +#if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL) +#define __Pyx_truncl trunc +#else +#define __Pyx_truncl truncl +#endif + +#define __PYX_MARK_ERR_POS(f_index, lineno) \ + { __pyx_filename = __pyx_f[f_index]; (void)__pyx_filename; __pyx_lineno = lineno; (void)__pyx_lineno; __pyx_clineno = __LINE__; (void)__pyx_clineno; } +#define __PYX_ERR(f_index, lineno, Ln_error) \ + { __PYX_MARK_ERR_POS(f_index, lineno) goto Ln_error; } + +#ifndef __PYX_EXTERN_C + #ifdef __cplusplus + #define __PYX_EXTERN_C extern "C" + #else + #define __PYX_EXTERN_C extern + #endif +#endif + +#define __PYX_HAVE___pydevd_frame_eval__pydevd_frame_evaluator +#define __PYX_HAVE_API___pydevd_frame_eval__pydevd_frame_evaluator +/* Early includes */ +#include "frameobject.h" +#include "release_mem.h" +#include "code.h" +#include "pystate.h" +#if PY_VERSION_HEX >= 0x03080000 +#include "internal/pycore_pystate.h" +#endif + +#include "ceval.h" + +#if PY_VERSION_HEX >= 0x03090000 +PyObject * noop(PyFrameObject *frame, int exc) { + return NULL; +} +#define CALL_EvalFrameDefault_38(a, b) noop(a, b) +#define CALL_EvalFrameDefault_39(a, b, c) _PyEval_EvalFrameDefault(a, b, c) +#else +PyObject * noop(PyThreadState* tstate, PyFrameObject *frame, int exc) { + return NULL; +} +#define CALL_EvalFrameDefault_39(a, b, c) noop(a, b, c) +#define CALL_EvalFrameDefault_38(a, b) _PyEval_EvalFrameDefault(a, b) +#endif + +#ifdef _OPENMP +#include +#endif /* _OPENMP */ + +#if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS) +#define CYTHON_WITHOUT_ASSERTIONS +#endif + +typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding; + const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; + +#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0 +#define __PYX_DEFAULT_STRING_ENCODING_IS_UTF8 0 +#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT (PY_MAJOR_VERSION >= 3 && __PYX_DEFAULT_STRING_ENCODING_IS_UTF8) +#define __PYX_DEFAULT_STRING_ENCODING "" +#define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString +#define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize +#define __Pyx_uchar_cast(c) ((unsigned char)c) +#define __Pyx_long_cast(x) ((long)x) +#define __Pyx_fits_Py_ssize_t(v, type, is_signed) (\ + (sizeof(type) < sizeof(Py_ssize_t)) ||\ + (sizeof(type) > sizeof(Py_ssize_t) &&\ + likely(v < (type)PY_SSIZE_T_MAX ||\ + v == (type)PY_SSIZE_T_MAX) &&\ + (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\ + v == (type)PY_SSIZE_T_MIN))) ||\ + (sizeof(type) == sizeof(Py_ssize_t) &&\ + (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\ + v == (type)PY_SSIZE_T_MAX))) ) +static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) { + return (size_t) i < (size_t) limit; +} +#if defined (__cplusplus) && __cplusplus >= 201103L + #include + #define __Pyx_sst_abs(value) std::abs(value) +#elif SIZEOF_INT >= SIZEOF_SIZE_T + #define __Pyx_sst_abs(value) abs(value) +#elif SIZEOF_LONG >= SIZEOF_SIZE_T + #define __Pyx_sst_abs(value) labs(value) +#elif defined (_MSC_VER) + #define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value)) +#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + #define __Pyx_sst_abs(value) llabs(value) +#elif defined (__GNUC__) + #define __Pyx_sst_abs(value) __builtin_llabs(value) +#else + #define __Pyx_sst_abs(value) ((value<0) ? -value : value) +#endif +static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*); +static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length); +#define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s)) +#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l) +#define __Pyx_PyBytes_FromString PyBytes_FromString +#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize +static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*); +#if PY_MAJOR_VERSION < 3 + #define __Pyx_PyStr_FromString __Pyx_PyBytes_FromString + #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize +#else + #define __Pyx_PyStr_FromString __Pyx_PyUnicode_FromString + #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize +#endif +#define __Pyx_PyBytes_AsWritableString(s) ((char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsWritableSString(s) ((signed char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsWritableUString(s) ((unsigned char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsString(s) ((const char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsSString(s) ((const signed char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsUString(s) ((const unsigned char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyObject_AsWritableString(s) ((char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsWritableSString(s) ((signed char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsWritableUString(s) ((unsigned char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsSString(s) ((const signed char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsUString(s) ((const unsigned char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_FromCString(s) __Pyx_PyObject_FromString((const char*)s) +#define __Pyx_PyBytes_FromCString(s) __Pyx_PyBytes_FromString((const char*)s) +#define __Pyx_PyByteArray_FromCString(s) __Pyx_PyByteArray_FromString((const char*)s) +#define __Pyx_PyStr_FromCString(s) __Pyx_PyStr_FromString((const char*)s) +#define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s) +static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u) { + const Py_UNICODE *u_end = u; + while (*u_end++) ; + return (size_t)(u_end - u - 1); +} +#define __Pyx_PyUnicode_FromUnicode(u) PyUnicode_FromUnicode(u, __Pyx_Py_UNICODE_strlen(u)) +#define __Pyx_PyUnicode_FromUnicodeAndLength PyUnicode_FromUnicode +#define __Pyx_PyUnicode_AsUnicode PyUnicode_AsUnicode +#define __Pyx_NewRef(obj) (Py_INCREF(obj), obj) +#define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None) +static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b); +static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); +static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*); +static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x); +#define __Pyx_PySequence_Tuple(obj)\ + (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj)) +static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*); +static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t); +static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject*); +#if CYTHON_ASSUME_SAFE_MACROS +#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x)) +#else +#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x) +#endif +#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x)) +#if PY_MAJOR_VERSION >= 3 +#define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x)) +#else +#define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x)) +#endif +#define __Pyx_PyNumber_Float(x) (PyFloat_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Float(x)) +#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII +static int __Pyx_sys_getdefaultencoding_not_ascii; +static int __Pyx_init_sys_getdefaultencoding_params(void) { + PyObject* sys; + PyObject* default_encoding = NULL; + PyObject* ascii_chars_u = NULL; + PyObject* ascii_chars_b = NULL; + const char* default_encoding_c; + sys = PyImport_ImportModule("sys"); + if (!sys) goto bad; + default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL); + Py_DECREF(sys); + if (!default_encoding) goto bad; + default_encoding_c = PyBytes_AsString(default_encoding); + if (!default_encoding_c) goto bad; + if (strcmp(default_encoding_c, "ascii") == 0) { + __Pyx_sys_getdefaultencoding_not_ascii = 0; + } else { + char ascii_chars[128]; + int c; + for (c = 0; c < 128; c++) { + ascii_chars[c] = c; + } + __Pyx_sys_getdefaultencoding_not_ascii = 1; + ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL); + if (!ascii_chars_u) goto bad; + ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL); + if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) { + PyErr_Format( + PyExc_ValueError, + "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.", + default_encoding_c); + goto bad; + } + Py_DECREF(ascii_chars_u); + Py_DECREF(ascii_chars_b); + } + Py_DECREF(default_encoding); + return 0; +bad: + Py_XDECREF(default_encoding); + Py_XDECREF(ascii_chars_u); + Py_XDECREF(ascii_chars_b); + return -1; +} +#endif +#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3 +#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL) +#else +#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL) +#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT +static char* __PYX_DEFAULT_STRING_ENCODING; +static int __Pyx_init_sys_getdefaultencoding_params(void) { + PyObject* sys; + PyObject* default_encoding = NULL; + char* default_encoding_c; + sys = PyImport_ImportModule("sys"); + if (!sys) goto bad; + default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL); + Py_DECREF(sys); + if (!default_encoding) goto bad; + default_encoding_c = PyBytes_AsString(default_encoding); + if (!default_encoding_c) goto bad; + __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c) + 1); + if (!__PYX_DEFAULT_STRING_ENCODING) goto bad; + strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c); + Py_DECREF(default_encoding); + return 0; +bad: + Py_XDECREF(default_encoding); + return -1; +} +#endif +#endif + + +/* Test for GCC > 2.95 */ +#if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))) + #define likely(x) __builtin_expect(!!(x), 1) + #define unlikely(x) __builtin_expect(!!(x), 0) +#else /* !__GNUC__ or GCC < 2.95 */ + #define likely(x) (x) + #define unlikely(x) (x) +#endif /* __GNUC__ */ +static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; } + +static PyObject *__pyx_m = NULL; +static PyObject *__pyx_d; +static PyObject *__pyx_b; +static PyObject *__pyx_cython_runtime = NULL; +static PyObject *__pyx_empty_tuple; +static PyObject *__pyx_empty_bytes; +static PyObject *__pyx_empty_unicode; +static int __pyx_lineno; +static int __pyx_clineno = 0; +static const char * __pyx_cfilenm= __FILE__; +static const char *__pyx_filename; + + +static const char *__pyx_f[] = { + "_pydevd_frame_eval/pydevd_frame_evaluator.pyx", + "stringsource", + "_pydevd_bundle/pydevd_cython.pxd", +}; + +/*--- Type declarations ---*/ +struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo; +struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo; +struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo; +struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo; +struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue; + +/* "_pydevd_bundle/pydevd_cython.pxd":1 + * cdef class PyDBAdditionalThreadInfo: # <<<<<<<<<<<<<< + * cdef public int pydev_state + * cdef public object pydev_step_stop # Actually, it's a frame or None + */ +struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo { + PyObject_HEAD + int pydev_state; + PyObject *pydev_step_stop; + int pydev_original_step_cmd; + int pydev_step_cmd; + int pydev_notify_kill; + PyObject *pydev_smart_step_stop; + int pydev_django_resolve_frame; + PyObject *pydev_call_from_jinja2; + PyObject *pydev_call_inside_jinja2; + int is_tracing; + PyObject *conditional_breakpoint_exception; + PyObject *pydev_message; + int suspend_type; + int pydev_next_line; + PyObject *pydev_func_name; + int suspended_at_unhandled; + PyObject *trace_suspend_type; + PyObject *top_level_thread_tracer_no_back_frames; + PyObject *top_level_thread_tracer_unhandled; + PyObject *thread_tracer; + PyObject *step_in_initial_location; + int pydev_smart_parent_offset; + int pydev_smart_child_offset; + PyObject *pydev_smart_step_into_variants; + PyObject *target_id_to_smart_step_into_variant; + int pydev_use_scoped_step_frame; +}; + + +/* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":24 + * + * + * cdef class ThreadInfo: # <<<<<<<<<<<<<< + * + * cdef public PyDBAdditionalThreadInfo additional_info + */ +struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo { + PyObject_HEAD + struct __pyx_vtabstruct_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_vtab; + struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *additional_info; + int is_pydevd_thread; + int inside_frame_eval; + int fully_initialized; + PyObject *thread_trace_func; + int _can_create_dummy_thread; + int force_stay_in_untraced_mode; +}; + + +/* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":125 + * + * + * cdef class FuncCodeInfo: # <<<<<<<<<<<<<< + * + * cdef public str co_filename + */ +struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo { + PyObject_HEAD + PyObject *co_filename; + PyObject *co_name; + PyObject *canonical_normalized_filename; + int always_skip_code; + int breakpoint_found; + PyObject *new_code; + int breakpoints_mtime; +}; + + +/* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":316 + * + * + * cdef class _CodeLineInfo: # <<<<<<<<<<<<<< + * + * cdef public dict line_to_offset + */ +struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo { + PyObject_HEAD + PyObject *line_to_offset; + int first_line; + int last_line; +}; + + +/* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":361 + * + * + * cdef class _CacheValue(object): # <<<<<<<<<<<<<< + * + * cdef public object code_obj_py + */ +struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue { + PyObject_HEAD + struct __pyx_vtabstruct_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *__pyx_vtab; + PyObject *code_obj_py; + struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *code_line_info; + PyObject *breakpoints_hit_at_lines; + PyObject *code_lines_as_set; +}; + + + +/* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":24 + * + * + * cdef class ThreadInfo: # <<<<<<<<<<<<<< + * + * cdef public PyDBAdditionalThreadInfo additional_info + */ + +struct __pyx_vtabstruct_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo { + PyObject *(*initialize)(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *, PyFrameObject *); + PyObject *(*initialize_if_possible)(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *); +}; +static struct __pyx_vtabstruct_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_vtabptr_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo; + + +/* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":361 + * + * + * cdef class _CacheValue(object): # <<<<<<<<<<<<<< + * + * cdef public object code_obj_py + */ + +struct __pyx_vtabstruct_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue { + PyObject *(*compute_force_stay_in_untraced_mode)(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *, PyObject *, int __pyx_skip_dispatch); +}; +static struct __pyx_vtabstruct_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *__pyx_vtabptr_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue; + +/* --- Runtime support code (head) --- */ +/* Refnanny.proto */ +#ifndef CYTHON_REFNANNY + #define CYTHON_REFNANNY 0 +#endif +#if CYTHON_REFNANNY + typedef struct { + void (*INCREF)(void*, PyObject*, int); + void (*DECREF)(void*, PyObject*, int); + void (*GOTREF)(void*, PyObject*, int); + void (*GIVEREF)(void*, PyObject*, int); + void* (*SetupContext)(const char*, int, const char*); + void (*FinishContext)(void**); + } __Pyx_RefNannyAPIStruct; + static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL; + static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); + #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL; +#ifdef WITH_THREAD + #define __Pyx_RefNannySetupContext(name, acquire_gil)\ + if (acquire_gil) {\ + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\ + PyGILState_Release(__pyx_gilstate_save);\ + } else {\ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\ + } +#else + #define __Pyx_RefNannySetupContext(name, acquire_gil)\ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__) +#endif + #define __Pyx_RefNannyFinishContext()\ + __Pyx_RefNanny->FinishContext(&__pyx_refnanny) + #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_XINCREF(r) do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0) + #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0) + #define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0) + #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0) +#else + #define __Pyx_RefNannyDeclarations + #define __Pyx_RefNannySetupContext(name, acquire_gil) + #define __Pyx_RefNannyFinishContext() + #define __Pyx_INCREF(r) Py_INCREF(r) + #define __Pyx_DECREF(r) Py_DECREF(r) + #define __Pyx_GOTREF(r) + #define __Pyx_GIVEREF(r) + #define __Pyx_XINCREF(r) Py_XINCREF(r) + #define __Pyx_XDECREF(r) Py_XDECREF(r) + #define __Pyx_XGOTREF(r) + #define __Pyx_XGIVEREF(r) +#endif +#define __Pyx_XDECREF_SET(r, v) do {\ + PyObject *tmp = (PyObject *) r;\ + r = v; __Pyx_XDECREF(tmp);\ + } while (0) +#define __Pyx_DECREF_SET(r, v) do {\ + PyObject *tmp = (PyObject *) r;\ + r = v; __Pyx_DECREF(tmp);\ + } while (0) +#define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0) +#define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0) + +/* PyObjectGetAttrStr.proto */ +#if CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name); +#else +#define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n) +#endif + +/* GetBuiltinName.proto */ +static PyObject *__Pyx_GetBuiltinName(PyObject *name); + +/* PyDictVersioning.proto */ +#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS +#define __PYX_DICT_VERSION_INIT ((PY_UINT64_T) -1) +#define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag) +#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\ + (version_var) = __PYX_GET_DICT_VERSION(dict);\ + (cache_var) = (value); +#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\ + static PY_UINT64_T __pyx_dict_version = 0;\ + static PyObject *__pyx_dict_cached_value = NULL;\ + if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\ + (VAR) = __pyx_dict_cached_value;\ + } else {\ + (VAR) = __pyx_dict_cached_value = (LOOKUP);\ + __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\ + }\ +} +static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj); +static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj); +static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version); +#else +#define __PYX_GET_DICT_VERSION(dict) (0) +#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var) +#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) (VAR) = (LOOKUP); +#endif + +/* GetModuleGlobalName.proto */ +#if CYTHON_USE_DICT_VERSIONS +#define __Pyx_GetModuleGlobalName(var, name) {\ + static PY_UINT64_T __pyx_dict_version = 0;\ + static PyObject *__pyx_dict_cached_value = NULL;\ + (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\ + (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\ + __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ +} +#define __Pyx_GetModuleGlobalNameUncached(var, name) {\ + PY_UINT64_T __pyx_dict_version;\ + PyObject *__pyx_dict_cached_value;\ + (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ +} +static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value); +#else +#define __Pyx_GetModuleGlobalName(var, name) (var) = __Pyx__GetModuleGlobalName(name) +#define __Pyx_GetModuleGlobalNameUncached(var, name) (var) = __Pyx__GetModuleGlobalName(name) +static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name); +#endif + +/* PyFunctionFastCall.proto */ +#if CYTHON_FAST_PYCALL +#define __Pyx_PyFunction_FastCall(func, args, nargs)\ + __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL) +#if 1 || PY_VERSION_HEX < 0x030600B1 +static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs); +#else +#define __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs) _PyFunction_FastCallDict(func, args, nargs, kwargs) +#endif +#define __Pyx_BUILD_ASSERT_EXPR(cond)\ + (sizeof(char [1 - 2*!(cond)]) - 1) +#ifndef Py_MEMBER_SIZE +#define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member) +#endif +#if CYTHON_FAST_PYCALL + static size_t __pyx_pyframe_localsplus_offset = 0; + #include "frameobject.h" +#if PY_VERSION_HEX >= 0x030b00a6 + #ifndef Py_BUILD_CORE + #define Py_BUILD_CORE 1 + #endif + #include "internal/pycore_frame.h" +#endif + #define __Pxy_PyFrame_Initialize_Offsets()\ + ((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\ + (void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus))) + #define __Pyx_PyFrame_GetLocalsplus(frame)\ + (assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset)) +#endif // CYTHON_FAST_PYCALL +#endif + +/* PyObjectCall.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw); +#else +#define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw) +#endif + +/* PyObjectCallMethO.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg); +#endif + +/* PyObjectCallNoArg.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func); +#else +#define __Pyx_PyObject_CallNoArg(func) __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL) +#endif + +/* PyCFunctionFastCall.proto */ +#if CYTHON_FAST_PYCCALL +static CYTHON_INLINE PyObject *__Pyx_PyCFunction_FastCall(PyObject *func, PyObject **args, Py_ssize_t nargs); +#else +#define __Pyx_PyCFunction_FastCall(func, args, nargs) (assert(0), NULL) +#endif + +/* PyObjectCallOneArg.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg); + +/* PyObjectCall2Args.proto */ +static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2); + +/* PyIntBinop.proto */ +#if !CYTHON_COMPILING_IN_PYPY +static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check); +#else +#define __Pyx_PyInt_AddObjC(op1, op2, intval, inplace, zerodivision_check)\ + (inplace ? PyNumber_InPlaceAdd(op1, op2) : PyNumber_Add(op1, op2)) +#endif + +/* SliceObject.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice( + PyObject* obj, Py_ssize_t cstart, Py_ssize_t cstop, + PyObject** py_start, PyObject** py_stop, PyObject** py_slice, + int has_cstart, int has_cstop, int wraparound); + +/* IncludeStringH.proto */ +#include + +/* BytesEquals.proto */ +static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals); + +/* UnicodeEquals.proto */ +static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals); + +/* StrEquals.proto */ +#if PY_MAJOR_VERSION >= 3 +#define __Pyx_PyString_Equals __Pyx_PyUnicode_Equals +#else +#define __Pyx_PyString_Equals __Pyx_PyBytes_Equals +#endif + +/* PyErrExceptionMatches.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyErr_ExceptionMatches(err) __Pyx_PyErr_ExceptionMatchesInState(__pyx_tstate, err) +static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err); +#else +#define __Pyx_PyErr_ExceptionMatches(err) PyErr_ExceptionMatches(err) +#endif + +/* PyThreadStateGet.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyThreadState_declare PyThreadState *__pyx_tstate; +#define __Pyx_PyThreadState_assign __pyx_tstate = __Pyx_PyThreadState_Current; +#define __Pyx_PyErr_Occurred() __pyx_tstate->curexc_type +#else +#define __Pyx_PyThreadState_declare +#define __Pyx_PyThreadState_assign +#define __Pyx_PyErr_Occurred() PyErr_Occurred() +#endif + +/* PyErrFetchRestore.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL) +#define __Pyx_ErrRestoreWithState(type, value, tb) __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb) +#define __Pyx_ErrFetchWithState(type, value, tb) __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb) +#define __Pyx_ErrRestore(type, value, tb) __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb) +#define __Pyx_ErrFetch(type, value, tb) __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); +static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#if CYTHON_COMPILING_IN_CPYTHON +#define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL)) +#else +#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) +#endif +#else +#define __Pyx_PyErr_Clear() PyErr_Clear() +#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) +#define __Pyx_ErrRestoreWithState(type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetchWithState(type, value, tb) PyErr_Fetch(type, value, tb) +#define __Pyx_ErrRestoreInState(tstate, type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetchInState(tstate, type, value, tb) PyErr_Fetch(type, value, tb) +#define __Pyx_ErrRestore(type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetch(type, value, tb) PyErr_Fetch(type, value, tb) +#endif + +/* GetAttr.proto */ +static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *, PyObject *); + +/* GetAttr3.proto */ +static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *, PyObject *, PyObject *); + +/* RaiseException.proto */ +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); + +/* GetTopmostException.proto */ +#if CYTHON_USE_EXC_INFO_STACK +static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate); +#endif + +/* SaveResetException.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_ExceptionSave(type, value, tb) __Pyx__ExceptionSave(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#define __Pyx_ExceptionReset(type, value, tb) __Pyx__ExceptionReset(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); +#else +#define __Pyx_ExceptionSave(type, value, tb) PyErr_GetExcInfo(type, value, tb) +#define __Pyx_ExceptionReset(type, value, tb) PyErr_SetExcInfo(type, value, tb) +#endif + +/* GetException.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_GetException(type, value, tb) __Pyx__GetException(__pyx_tstate, type, value, tb) +static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#else +static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); +#endif + +/* PyObjectLookupSpecial.proto */ +#if CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PyObject* __Pyx_PyObject_LookupSpecial(PyObject* obj, PyObject* attr_name) { + PyObject *res; + PyTypeObject *tp = Py_TYPE(obj); +#if PY_MAJOR_VERSION < 3 + if (unlikely(PyInstance_Check(obj))) + return __Pyx_PyObject_GetAttrStr(obj, attr_name); +#endif + res = _PyType_Lookup(tp, attr_name); + if (likely(res)) { + descrgetfunc f = Py_TYPE(res)->tp_descr_get; + if (!f) { + Py_INCREF(res); + } else { + res = f(res, obj, (PyObject *)tp); + } + } else { + PyErr_SetObject(PyExc_AttributeError, attr_name); + } + return res; +} +#else +#define __Pyx_PyObject_LookupSpecial(o,n) __Pyx_PyObject_GetAttrStr(o,n) +#endif + +/* PyObjectSetAttrStr.proto */ +#if CYTHON_USE_TYPE_SLOTS +#define __Pyx_PyObject_DelAttrStr(o,n) __Pyx_PyObject_SetAttrStr(o, n, NULL) +static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value); +#else +#define __Pyx_PyObject_DelAttrStr(o,n) PyObject_DelAttr(o,n) +#define __Pyx_PyObject_SetAttrStr(o,n,v) PyObject_SetAttr(o,n,v) +#endif + +/* None.proto */ +static CYTHON_INLINE void __Pyx_RaiseUnboundLocalError(const char *varname); + +/* ExtTypeTest.proto */ +static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); + +/* SwapException.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_ExceptionSwap(type, value, tb) __Pyx__ExceptionSwap(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#else +static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb); +#endif + +/* RaiseArgTupleInvalid.proto */ +static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact, + Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); + +/* KeywordStringCheck.proto */ +static int __Pyx_CheckKeywordStrings(PyObject *kwdict, const char* function_name, int kw_allowed); + +/* RaiseDoubleKeywords.proto */ +static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); + +/* ParseKeywords.proto */ +static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[],\ + PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,\ + const char* function_name); + +/* ArgTypeTest.proto */ +#define __Pyx_ArgTypeTest(obj, type, none_allowed, name, exact)\ + ((likely((Py_TYPE(obj) == type) | (none_allowed && (obj == Py_None)))) ? 1 :\ + __Pyx__ArgTypeTest(obj, type, name, exact)) +static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact); + +/* DictGetItem.proto */ +#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY +static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key); +#define __Pyx_PyObject_Dict_GetItem(obj, name)\ + (likely(PyDict_CheckExact(obj)) ?\ + __Pyx_PyDict_GetItem(obj, name) : PyObject_GetItem(obj, name)) +#else +#define __Pyx_PyDict_GetItem(d, key) PyObject_GetItem(d, key) +#define __Pyx_PyObject_Dict_GetItem(obj, name) PyObject_GetItem(obj, name) +#endif + +/* GetItemInt.proto */ +#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ + __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\ + (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\ + __Pyx_GetItemInt_Generic(o, to_py_func(i)))) +#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ + __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\ + (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL)) +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, + int wraparound, int boundscheck); +#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ + __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\ + (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL)) +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, + int wraparound, int boundscheck); +static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j); +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, + int is_list, int wraparound, int boundscheck); + +/* RaiseTooManyValuesToUnpack.proto */ +static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected); + +/* RaiseNeedMoreValuesToUnpack.proto */ +static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index); + +/* IterFinish.proto */ +static CYTHON_INLINE int __Pyx_IterFinish(void); + +/* UnpackItemEndCheck.proto */ +static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected); + +/* PySequenceContains.proto */ +static CYTHON_INLINE int __Pyx_PySequence_ContainsTF(PyObject* item, PyObject* seq, int eq) { + int result = PySequence_Contains(seq, item); + return unlikely(result < 0) ? result : (result == (eq == Py_EQ)); +} + +/* PyObjectGetMethod.proto */ +static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method); + +/* PyObjectCallMethod0.proto */ +static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name); + +/* RaiseNoneIterError.proto */ +static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void); + +/* UnpackTupleError.proto */ +static void __Pyx_UnpackTupleError(PyObject *, Py_ssize_t index); + +/* UnpackTuple2.proto */ +#define __Pyx_unpack_tuple2(tuple, value1, value2, is_tuple, has_known_size, decref_tuple)\ + (likely(is_tuple || PyTuple_Check(tuple)) ?\ + (likely(has_known_size || PyTuple_GET_SIZE(tuple) == 2) ?\ + __Pyx_unpack_tuple2_exact(tuple, value1, value2, decref_tuple) :\ + (__Pyx_UnpackTupleError(tuple, 2), -1)) :\ + __Pyx_unpack_tuple2_generic(tuple, value1, value2, has_known_size, decref_tuple)) +static CYTHON_INLINE int __Pyx_unpack_tuple2_exact( + PyObject* tuple, PyObject** value1, PyObject** value2, int decref_tuple); +static int __Pyx_unpack_tuple2_generic( + PyObject* tuple, PyObject** value1, PyObject** value2, int has_known_size, int decref_tuple); + +/* dict_iter.proto */ +static CYTHON_INLINE PyObject* __Pyx_dict_iterator(PyObject* dict, int is_dict, PyObject* method_name, + Py_ssize_t* p_orig_length, int* p_is_dict); +static CYTHON_INLINE int __Pyx_dict_iter_next(PyObject* dict_or_iter, Py_ssize_t orig_length, Py_ssize_t* ppos, + PyObject** pkey, PyObject** pvalue, PyObject** pitem, int is_dict); + +/* PyDictContains.proto */ +static CYTHON_INLINE int __Pyx_PyDict_ContainsTF(PyObject* item, PyObject* dict, int eq) { + int result = PyDict_Contains(dict, item); + return unlikely(result < 0) ? result : (result == (eq == Py_EQ)); +} + +/* WriteUnraisableException.proto */ +static void __Pyx_WriteUnraisable(const char *name, int clineno, + int lineno, const char *filename, + int full_traceback, int nogil); + +/* Import.proto */ +static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level); + +/* ImportFrom.proto */ +static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name); + +/* HasAttr.proto */ +static CYTHON_INLINE int __Pyx_HasAttr(PyObject *, PyObject *); + +/* PyObject_GenericGetAttrNoDict.proto */ +#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 +static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name); +#else +#define __Pyx_PyObject_GenericGetAttrNoDict PyObject_GenericGetAttr +#endif + +/* PyObject_GenericGetAttr.proto */ +#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 +static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name); +#else +#define __Pyx_PyObject_GenericGetAttr PyObject_GenericGetAttr +#endif + +/* SetVTable.proto */ +static int __Pyx_SetVtable(PyObject *dict, void *vtable); + +/* PyObjectGetAttrStrNoError.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name); + +/* SetupReduce.proto */ +static int __Pyx_setup_reduce(PyObject* type_obj); + +/* TypeImport.proto */ +#ifndef __PYX_HAVE_RT_ImportType_proto +#define __PYX_HAVE_RT_ImportType_proto +enum __Pyx_ImportType_CheckSize { + __Pyx_ImportType_CheckSize_Error = 0, + __Pyx_ImportType_CheckSize_Warn = 1, + __Pyx_ImportType_CheckSize_Ignore = 2 +}; +static PyTypeObject *__Pyx_ImportType(PyObject* module, const char *module_name, const char *class_name, size_t size, enum __Pyx_ImportType_CheckSize check_size); +#endif + +/* CLineInTraceback.proto */ +#ifdef CYTHON_CLINE_IN_TRACEBACK +#define __Pyx_CLineForTraceback(tstate, c_line) (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0) +#else +static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line); +#endif + +/* CodeObjectCache.proto */ +typedef struct { + PyCodeObject* code_object; + int code_line; +} __Pyx_CodeObjectCacheEntry; +struct __Pyx_CodeObjectCache { + int count; + int max_count; + __Pyx_CodeObjectCacheEntry* entries; +}; +static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL}; +static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line); +static PyCodeObject *__pyx_find_code_object(int code_line); +static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object); + +/* AddTraceback.proto */ +static void __Pyx_AddTraceback(const char *funcname, int c_line, + int py_line, const char *filename); + +/* GCCDiagnostics.proto */ +#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) +#define __Pyx_HAS_GCC_DIAGNOSTIC +#endif + +/* CIntToPy.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value); + +/* CIntFromPy.proto */ +static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *); + +/* CIntFromPy.proto */ +static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *); + +/* CIntToPy.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value); + +/* FastTypeChecks.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +#define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type) +static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b); +static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type); +static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2); +#else +#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type) +#define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type) +#define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2)) +#endif +#define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception) + +/* CheckBinaryVersion.proto */ +static int __Pyx_check_binary_version(void); + +/* InitStrings.proto */ +static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); + +static PyObject *__pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_initialize(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_v_self, PyFrameObject *__pyx_v_frame_obj); /* proto*/ +static PyObject *__pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_initialize_if_possible(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_v_self); /* proto*/ +static PyObject *__pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_compute_force_stay_in_untraced_mode(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *__pyx_v_self, PyObject *__pyx_v_breakpoints, int __pyx_skip_dispatch); /* proto*/ + +/* Module declarations from 'cpython.mem' */ + +/* Module declarations from '_pydevd_bundle.pydevd_cython' */ +static PyTypeObject *__pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo = 0; + +/* Module declarations from '_pydevd_frame_eval.pydevd_frame_evaluator' */ +static PyTypeObject *__pyx_ptype_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo = 0; +static PyTypeObject *__pyx_ptype_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo = 0; +static PyTypeObject *__pyx_ptype_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo = 0; +static PyTypeObject *__pyx_ptype_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue = 0; +static int __pyx_v_18_pydevd_frame_eval_22pydevd_frame_evaluator__code_extra_index; +static int __pyx_v_18_pydevd_frame_eval_22pydevd_frame_evaluator_IS_PY_39_OWNARDS; +static struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator_get_thread_info(PyFrameObject *); /*proto*/ +static struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator_get_func_code_info(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *, PyFrameObject *, PyCodeObject *); /*proto*/ +static PyObject *__pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator_generate_code_with_breakpoints(PyObject *, PyObject *); /*proto*/ +static PyObject *__pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator_get_bytecode_while_frame_eval_38(PyFrameObject *, int); /*proto*/ +static PyObject *__pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator_get_bytecode_while_frame_eval_39(PyThreadState *, PyFrameObject *, int); /*proto*/ +static PyObject *__pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator___pyx_unpickle_ThreadInfo__set_state(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *, PyObject *); /*proto*/ +static PyObject *__pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator___pyx_unpickle_FuncCodeInfo__set_state(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *, PyObject *); /*proto*/ +static PyObject *__pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator___pyx_unpickle__CodeLineInfo__set_state(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *, PyObject *); /*proto*/ +static PyObject *__pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator___pyx_unpickle__CacheValue__set_state(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *, PyObject *); /*proto*/ +#define __Pyx_MODULE_NAME "_pydevd_frame_eval.pydevd_frame_evaluator" +extern int __pyx_module_is_main__pydevd_frame_eval__pydevd_frame_evaluator; +int __pyx_module_is_main__pydevd_frame_eval__pydevd_frame_evaluator = 0; + +/* Implementation of '_pydevd_frame_eval.pydevd_frame_evaluator' */ +static PyObject *__pyx_builtin_AttributeError; +static PyObject *__pyx_builtin_min; +static PyObject *__pyx_builtin_max; +static const char __pyx_k_[] = "/"; +static const char __pyx_k__2[] = "\\"; +static const char __pyx_k__3[] = "."; +static const char __pyx_k__5[] = ""; +static const char __pyx_k_arg[] = "arg"; +static const char __pyx_k_dis[] = "dis"; +static const char __pyx_k_get[] = "get"; +static const char __pyx_k_max[] = "max"; +static const char __pyx_k_min[] = "min"; +static const char __pyx_k_new[] = "__new__"; +static const char __pyx_k_obj[] = "obj"; +static const char __pyx_k_run[] = "run"; +static const char __pyx_k_sys[] = "sys"; +static const char __pyx_k_call[] = "__call__"; +static const char __pyx_k_dict[] = "__dict__"; +static const char __pyx_k_exec[] = "_exec"; +static const char __pyx_k_exit[] = "__exit__"; +static const char __pyx_k_line[] = "line"; +static const char __pyx_k_main[] = "main"; +static const char __pyx_k_name[] = "__name__"; +static const char __pyx_k_test[] = "__test__"; +static const char __pyx_k_cache[] = "_cache"; +static const char __pyx_k_enter[] = "__enter__"; +static const char __pyx_k_event[] = "event"; +static const char __pyx_k_frame[] = "frame"; +static const char __pyx_k_local[] = "local"; +static const char __pyx_k_mtime[] = "mtime"; +static const char __pyx_k_rfind[] = "rfind"; +static const char __pyx_k_state[] = "state"; +static const char __pyx_k_active[] = "_active"; +static const char __pyx_k_call_2[] = "call"; +static const char __pyx_k_f_back[] = "f_back"; +static const char __pyx_k_import[] = "__import__"; +static const char __pyx_k_main_2[] = "__main__"; +static const char __pyx_k_offset[] = "offset"; +static const char __pyx_k_pickle[] = "pickle"; +static const char __pyx_k_plugin[] = "plugin"; +static const char __pyx_k_pydevd[] = "pydevd"; +static const char __pyx_k_reduce[] = "__reduce__"; +static const char __pyx_k_thread[] = "thread"; +static const char __pyx_k_update[] = "update"; +static const char __pyx_k_f_trace[] = "f_trace"; +static const char __pyx_k_SetTrace[] = "SetTrace"; +static const char __pyx_k_can_skip[] = "can_skip"; +static const char __pyx_k_code_obj[] = "code_obj"; +static const char __pyx_k_getstate[] = "__getstate__"; +static const char __pyx_k_pyx_type[] = "__pyx_type"; +static const char __pyx_k_setstate[] = "__setstate__"; +static const char __pyx_k_bootstrap[] = "__bootstrap"; +static const char __pyx_k_decref_py[] = "decref_py"; +static const char __pyx_k_get_ident[] = "_get_ident"; +static const char __pyx_k_last_line[] = "last_line"; +static const char __pyx_k_pyx_state[] = "__pyx_state"; +static const char __pyx_k_reduce_ex[] = "__reduce_ex__"; +static const char __pyx_k_threading[] = "threading"; +static const char __pyx_k_CacheValue[] = "_CacheValue"; +static const char __pyx_k_ThreadInfo[] = "ThreadInfo"; +static const char __pyx_k_first_line[] = "first_line"; +static const char __pyx_k_global_dbg[] = "global_dbg"; +static const char __pyx_k_issuperset[] = "issuperset"; +static const char __pyx_k_pyx_result[] = "__pyx_result"; +static const char __pyx_k_pyx_vtable[] = "__pyx_vtable__"; +static const char __pyx_k_DebugHelper[] = "DebugHelper"; +static const char __pyx_k_PickleError[] = "PickleError"; +static const char __pyx_k_bootstrap_2[] = "_bootstrap"; +static const char __pyx_k_breakpoints[] = "breakpoints"; +static const char __pyx_k_code_obj_py[] = "code_obj_py"; +static const char __pyx_k_get_ident_2[] = "get_ident"; +static const char __pyx_k_thread_info[] = "thread_info"; +static const char __pyx_k_CodeLineInfo[] = "_CodeLineInfo"; +static const char __pyx_k_FuncCodeInfo[] = "FuncCodeInfo"; +static const char __pyx_k_intersection[] = "intersection"; +static const char __pyx_k_pydev_monkey[] = "pydev_monkey"; +static const char __pyx_k_pyx_checksum[] = "__pyx_checksum"; +static const char __pyx_k_stringsource[] = "stringsource"; +static const char __pyx_k_version_info[] = "version_info"; +static const char __pyx_k_get_file_type[] = "get_file_type"; +static const char __pyx_k_reduce_cython[] = "__reduce_cython__"; +static const char __pyx_k_thread_active[] = "_thread_active"; +static const char __pyx_k_AttributeError[] = "AttributeError"; +static const char __pyx_k_code_line_info[] = "code_line_info"; +static const char __pyx_k_current_thread[] = "current_thread"; +static const char __pyx_k_findlinestarts[] = "findlinestarts"; +static const char __pyx_k_line_to_offset[] = "line_to_offset"; +static const char __pyx_k_pydevd_tracing[] = "pydevd_tracing"; +static const char __pyx_k_set_trace_func[] = "set_trace_func"; +static const char __pyx_k_trace_dispatch[] = "trace_dispatch"; +static const char __pyx_k_additional_info[] = "additional_info"; +static const char __pyx_k_bootstrap_inner[] = "__bootstrap_inner"; +static const char __pyx_k_frame_eval_func[] = "frame_eval_func"; +static const char __pyx_k_pyx_PickleError[] = "__pyx_PickleError"; +static const char __pyx_k_setstate_cython[] = "__setstate_cython__"; +static const char __pyx_k_stop_frame_eval[] = "stop_frame_eval"; +static const char __pyx_k_bootstrap_inner_2[] = "_bootstrap_inner"; +static const char __pyx_k_pydevd_file_utils[] = "pydevd_file_utils"; +static const char __pyx_k_signature_factory[] = "signature_factory"; +static const char __pyx_k_thread_local_info[] = "_thread_local_info"; +static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback"; +static const char __pyx_k_get_code_line_info[] = "_get_code_line_info"; +static const char __pyx_k_get_thread_info_py[] = "get_thread_info_py"; +static const char __pyx_k_show_return_values[] = "show_return_values"; +static const char __pyx_k_get_cache_file_type[] = "get_cache_file_type"; +static const char __pyx_k_update_globals_dict[] = "update_globals_dict"; +static const char __pyx_k_GlobalDebuggerHolder[] = "GlobalDebuggerHolder"; +static const char __pyx_k_dummy_trace_dispatch[] = "dummy_trace_dispatch"; +static const char __pyx_k_dummy_tracing_holder[] = "dummy_tracing_holder"; +static const char __pyx_k_insert_pydevd_breaks[] = "insert_pydevd_breaks"; +static const char __pyx_k_get_func_code_info_py[] = "get_func_code_info_py"; +static const char __pyx_k_has_plugin_line_breaks[] = "has_plugin_line_breaks"; +static const char __pyx_k_is_pydev_daemon_thread[] = "is_pydev_daemon_thread"; +static const char __pyx_k_clear_thread_local_info[] = "clear_thread_local_info"; +static const char __pyx_k_pyx_unpickle_ThreadInfo[] = "__pyx_unpickle_ThreadInfo"; +static const char __pyx_k_breakpoints_hit_at_lines[] = "breakpoints_hit_at_lines"; +static const char __pyx_k_pyx_unpickle__CacheValue[] = "__pyx_unpickle__CacheValue"; +static const char __pyx_k_pyx_unpickle_FuncCodeInfo[] = "__pyx_unpickle_FuncCodeInfo"; +static const char __pyx_k_break_on_caught_exceptions[] = "break_on_caught_exceptions"; +static const char __pyx_k_pyx_unpickle__CodeLineInfo[] = "__pyx_unpickle__CodeLineInfo"; +static const char __pyx_k_get_cached_code_obj_info_py[] = "get_cached_code_obj_info_py"; +static const char __pyx_k_has_plugin_exception_breaks[] = "has_plugin_exception_breaks"; +static const char __pyx_k_NORM_PATHS_AND_BASE_CONTAINER[] = "NORM_PATHS_AND_BASE_CONTAINER"; +static const char __pyx_k_pydevd_bundle_pydevd_constants[] = "_pydevd_bundle.pydevd_constants"; +static const char __pyx_k_pydevd_frame_eval_pydevd_frame[] = "_pydevd_frame_eval.pydevd_frame_tracing"; +static const char __pyx_k_If_a_code_object_is_cached_that[] = "If a code object is cached, that same code object must be reused."; +static const char __pyx_k_get_abs_path_real_path_and_base[] = "get_abs_path_real_path_and_base_from_frame"; +static const char __pyx_k_pydev_bundle__pydev_saved_modul[] = "_pydev_bundle._pydev_saved_modules"; +static const char __pyx_k_pydevd_bundle_pydevd_additional[] = "_pydevd_bundle.pydevd_additional_thread_info"; +static const char __pyx_k_pydevd_bundle_pydevd_trace_disp[] = "_pydevd_bundle.pydevd_trace_dispatch"; +static const char __pyx_k_pydevd_frame_eval_pydevd_modify[] = "_pydevd_frame_eval.pydevd_modify_bytecode"; +static const char __pyx_k_set_additional_thread_info_lock[] = "_set_additional_thread_info_lock"; +static const char __pyx_k_Incompatible_checksums_0x_x_vs_0[] = "Incompatible checksums (0x%x vs (0x0af4089, 0xe535b68, 0xb8148ba) = (_can_create_dummy_thread, additional_info, force_stay_in_untraced_mode, fully_initialized, inside_frame_eval, is_pydevd_thread, thread_trace_func))"; +static const char __pyx_k_break_on_user_uncaught_exception[] = "break_on_user_uncaught_exceptions"; +static const char __pyx_k_compute_force_stay_in_untraced_m[] = "compute_force_stay_in_untraced_mode"; +static const char __pyx_k_fix_top_level_trace_and_get_trac[] = "fix_top_level_trace_and_get_trace_func"; +static const char __pyx_k_function_breakpoint_name_to_brea[] = "function_breakpoint_name_to_breakpoint"; +static const char __pyx_k_generate_code_with_breakpoints_p[] = "generate_code_with_breakpoints_py"; +static const char __pyx_k_pydevd_frame_eval_pydevd_frame_2[] = "_pydevd_frame_eval/pydevd_frame_evaluator.pyx"; +static const char __pyx_k_pydevd_frame_eval_pydevd_frame_3[] = "_pydevd_frame_eval.pydevd_frame_evaluator"; +static const char __pyx_k_Incompatible_checksums_0x_x_vs_0_2[] = "Incompatible checksums (0x%x vs (0xb3ee05d, 0x450d2d6, 0x956dcaa) = (always_skip_code, breakpoint_found, breakpoints_mtime, canonical_normalized_filename, co_filename, co_name, new_code))"; +static const char __pyx_k_Incompatible_checksums_0x_x_vs_0_3[] = "Incompatible checksums (0x%x vs (0x3fbbd02, 0x5a9bcd5, 0x0267473) = (first_line, last_line, line_to_offset))"; +static const char __pyx_k_Incompatible_checksums_0x_x_vs_0_4[] = "Incompatible checksums (0x%x vs (0x3d481b9, 0xac42a46, 0xedff7c3) = (breakpoints_hit_at_lines, code_line_info, code_lines_as_set, code_obj_py))"; +static PyObject *__pyx_kp_s_; +static PyObject *__pyx_n_s_AttributeError; +static PyObject *__pyx_n_s_CacheValue; +static PyObject *__pyx_n_s_CodeLineInfo; +static PyObject *__pyx_n_s_DebugHelper; +static PyObject *__pyx_n_s_FuncCodeInfo; +static PyObject *__pyx_n_s_GlobalDebuggerHolder; +static PyObject *__pyx_kp_s_If_a_code_object_is_cached_that; +static PyObject *__pyx_kp_s_Incompatible_checksums_0x_x_vs_0; +static PyObject *__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_2; +static PyObject *__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_3; +static PyObject *__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_4; +static PyObject *__pyx_n_s_NORM_PATHS_AND_BASE_CONTAINER; +static PyObject *__pyx_n_s_PickleError; +static PyObject *__pyx_n_s_SetTrace; +static PyObject *__pyx_n_s_ThreadInfo; +static PyObject *__pyx_kp_s__2; +static PyObject *__pyx_kp_s__3; +static PyObject *__pyx_kp_s__5; +static PyObject *__pyx_n_s_active; +static PyObject *__pyx_n_s_additional_info; +static PyObject *__pyx_n_s_arg; +static PyObject *__pyx_n_s_bootstrap; +static PyObject *__pyx_n_s_bootstrap_2; +static PyObject *__pyx_n_s_bootstrap_inner; +static PyObject *__pyx_n_s_bootstrap_inner_2; +static PyObject *__pyx_n_s_break_on_caught_exceptions; +static PyObject *__pyx_n_s_break_on_user_uncaught_exception; +static PyObject *__pyx_n_s_breakpoints; +static PyObject *__pyx_n_s_breakpoints_hit_at_lines; +static PyObject *__pyx_n_s_cache; +static PyObject *__pyx_n_s_call; +static PyObject *__pyx_n_s_call_2; +static PyObject *__pyx_n_s_can_skip; +static PyObject *__pyx_n_s_clear_thread_local_info; +static PyObject *__pyx_n_s_cline_in_traceback; +static PyObject *__pyx_n_s_code_line_info; +static PyObject *__pyx_n_s_code_obj; +static PyObject *__pyx_n_s_code_obj_py; +static PyObject *__pyx_n_s_compute_force_stay_in_untraced_m; +static PyObject *__pyx_n_s_current_thread; +static PyObject *__pyx_n_s_decref_py; +static PyObject *__pyx_n_s_dict; +static PyObject *__pyx_n_s_dis; +static PyObject *__pyx_n_s_dummy_trace_dispatch; +static PyObject *__pyx_n_s_dummy_tracing_holder; +static PyObject *__pyx_n_s_enter; +static PyObject *__pyx_n_s_event; +static PyObject *__pyx_n_s_exec; +static PyObject *__pyx_n_s_exit; +static PyObject *__pyx_n_s_f_back; +static PyObject *__pyx_n_s_f_trace; +static PyObject *__pyx_n_s_findlinestarts; +static PyObject *__pyx_n_s_first_line; +static PyObject *__pyx_n_s_fix_top_level_trace_and_get_trac; +static PyObject *__pyx_n_s_frame; +static PyObject *__pyx_n_s_frame_eval_func; +static PyObject *__pyx_n_s_function_breakpoint_name_to_brea; +static PyObject *__pyx_n_s_generate_code_with_breakpoints_p; +static PyObject *__pyx_n_s_get; +static PyObject *__pyx_n_s_get_abs_path_real_path_and_base; +static PyObject *__pyx_n_s_get_cache_file_type; +static PyObject *__pyx_n_s_get_cached_code_obj_info_py; +static PyObject *__pyx_n_s_get_code_line_info; +static PyObject *__pyx_n_s_get_file_type; +static PyObject *__pyx_n_s_get_func_code_info_py; +static PyObject *__pyx_n_s_get_ident; +static PyObject *__pyx_n_s_get_ident_2; +static PyObject *__pyx_n_s_get_thread_info_py; +static PyObject *__pyx_n_s_getstate; +static PyObject *__pyx_n_s_global_dbg; +static PyObject *__pyx_n_s_has_plugin_exception_breaks; +static PyObject *__pyx_n_s_has_plugin_line_breaks; +static PyObject *__pyx_n_s_import; +static PyObject *__pyx_n_s_insert_pydevd_breaks; +static PyObject *__pyx_n_s_intersection; +static PyObject *__pyx_n_s_is_pydev_daemon_thread; +static PyObject *__pyx_n_s_issuperset; +static PyObject *__pyx_n_s_last_line; +static PyObject *__pyx_n_s_line; +static PyObject *__pyx_n_s_line_to_offset; +static PyObject *__pyx_n_s_local; +static PyObject *__pyx_n_s_main; +static PyObject *__pyx_n_s_main_2; +static PyObject *__pyx_n_s_max; +static PyObject *__pyx_n_s_min; +static PyObject *__pyx_n_s_mtime; +static PyObject *__pyx_n_s_name; +static PyObject *__pyx_n_s_new; +static PyObject *__pyx_n_s_obj; +static PyObject *__pyx_n_s_offset; +static PyObject *__pyx_n_s_pickle; +static PyObject *__pyx_n_s_plugin; +static PyObject *__pyx_n_s_pydev_bundle__pydev_saved_modul; +static PyObject *__pyx_n_s_pydev_monkey; +static PyObject *__pyx_n_s_pydevd; +static PyObject *__pyx_n_s_pydevd_bundle_pydevd_additional; +static PyObject *__pyx_n_s_pydevd_bundle_pydevd_constants; +static PyObject *__pyx_n_s_pydevd_bundle_pydevd_trace_disp; +static PyObject *__pyx_n_s_pydevd_file_utils; +static PyObject *__pyx_n_s_pydevd_frame_eval_pydevd_frame; +static PyObject *__pyx_kp_s_pydevd_frame_eval_pydevd_frame_2; +static PyObject *__pyx_n_s_pydevd_frame_eval_pydevd_frame_3; +static PyObject *__pyx_n_s_pydevd_frame_eval_pydevd_modify; +static PyObject *__pyx_n_s_pydevd_tracing; +static PyObject *__pyx_n_s_pyx_PickleError; +static PyObject *__pyx_n_s_pyx_checksum; +static PyObject *__pyx_n_s_pyx_result; +static PyObject *__pyx_n_s_pyx_state; +static PyObject *__pyx_n_s_pyx_type; +static PyObject *__pyx_n_s_pyx_unpickle_FuncCodeInfo; +static PyObject *__pyx_n_s_pyx_unpickle_ThreadInfo; +static PyObject *__pyx_n_s_pyx_unpickle__CacheValue; +static PyObject *__pyx_n_s_pyx_unpickle__CodeLineInfo; +static PyObject *__pyx_n_s_pyx_vtable; +static PyObject *__pyx_n_s_reduce; +static PyObject *__pyx_n_s_reduce_cython; +static PyObject *__pyx_n_s_reduce_ex; +static PyObject *__pyx_n_s_rfind; +static PyObject *__pyx_n_s_run; +static PyObject *__pyx_n_s_set_additional_thread_info_lock; +static PyObject *__pyx_n_s_set_trace_func; +static PyObject *__pyx_n_s_setstate; +static PyObject *__pyx_n_s_setstate_cython; +static PyObject *__pyx_n_s_show_return_values; +static PyObject *__pyx_n_s_signature_factory; +static PyObject *__pyx_n_s_state; +static PyObject *__pyx_n_s_stop_frame_eval; +static PyObject *__pyx_kp_s_stringsource; +static PyObject *__pyx_n_s_sys; +static PyObject *__pyx_n_s_test; +static PyObject *__pyx_n_s_thread; +static PyObject *__pyx_n_s_thread_active; +static PyObject *__pyx_n_s_thread_info; +static PyObject *__pyx_n_s_thread_local_info; +static PyObject *__pyx_n_s_threading; +static PyObject *__pyx_n_s_trace_dispatch; +static PyObject *__pyx_n_s_update; +static PyObject *__pyx_n_s_update_globals_dict; +static PyObject *__pyx_n_s_version_info; +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_clear_thread_local_info(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_15additional_info___get__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_v_self); /* proto */ +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_15additional_info_2__set__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_15additional_info_4__del__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_16is_pydevd_thread___get__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_v_self); /* proto */ +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_16is_pydevd_thread_2__set__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_17inside_frame_eval___get__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_v_self); /* proto */ +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_17inside_frame_eval_2__set__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_17fully_initialized___get__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_v_self); /* proto */ +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_17fully_initialized_2__set__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_17thread_trace_func___get__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_v_self); /* proto */ +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_17thread_trace_func_2__set__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_17thread_trace_func_4__del__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_27force_stay_in_untraced_mode___get__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_v_self); /* proto */ +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_27force_stay_in_untraced_mode_2__set__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo___reduce_cython__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_2__setstate_cython__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */ +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo___init__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_11co_filename___get__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_v_self); /* proto */ +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_11co_filename_2__set__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_11co_filename_4__del__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_7co_name___get__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_v_self); /* proto */ +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_7co_name_2__set__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_7co_name_4__del__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_29canonical_normalized_filename___get__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_v_self); /* proto */ +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_29canonical_normalized_filename_2__set__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_29canonical_normalized_filename_4__del__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_16breakpoint_found___get__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_v_self); /* proto */ +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_16breakpoint_found_2__set__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_8new_code___get__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_v_self); /* proto */ +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_8new_code_2__set__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_8new_code_4__del__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_17breakpoints_mtime___get__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_v_self); /* proto */ +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_17breakpoints_mtime_2__set__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_2__reduce_cython__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_4__setstate_cython__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */ +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_2dummy_trace_dispatch(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_frame, PyObject *__pyx_v_event, PyObject *__pyx_v_arg); /* proto */ +static struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_4get_thread_info_py(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_6decref_py(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_obj); /* proto */ +static struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_8get_func_code_info_py(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_thread_info, PyObject *__pyx_v_frame, PyObject *__pyx_v_code_obj); /* proto */ +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo___init__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *__pyx_v_self, PyObject *__pyx_v_line_to_offset, int __pyx_v_first_line, int __pyx_v_last_line); /* proto */ +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_14line_to_offset___get__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *__pyx_v_self); /* proto */ +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_14line_to_offset_2__set__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_14line_to_offset_4__del__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_10first_line___get__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *__pyx_v_self); /* proto */ +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_10first_line_2__set__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_9last_line___get__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *__pyx_v_self); /* proto */ +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_9last_line_2__set__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_2__reduce_cython__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_4__setstate_cython__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */ +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10_get_code_line_info(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_code_obj); /* proto */ +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12get_cached_code_obj_info_py(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_code_obj_py); /* proto */ +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue___init__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *__pyx_v_self, PyObject *__pyx_v_code_obj_py, struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *__pyx_v_code_line_info, PyObject *__pyx_v_breakpoints_hit_at_lines); /* proto */ +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_2compute_force_stay_in_untraced_mode(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *__pyx_v_self, PyObject *__pyx_v_breakpoints); /* proto */ +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_11code_obj_py___get__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *__pyx_v_self); /* proto */ +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_11code_obj_py_2__set__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_11code_obj_py_4__del__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_14code_line_info___get__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *__pyx_v_self); /* proto */ +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_14code_line_info_2__set__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_14code_line_info_4__del__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_24breakpoints_hit_at_lines___get__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *__pyx_v_self); /* proto */ +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_24breakpoints_hit_at_lines_2__set__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_24breakpoints_hit_at_lines_4__del__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_17code_lines_as_set___get__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *__pyx_v_self); /* proto */ +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_17code_lines_as_set_2__set__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *__pyx_v_self, PyObject *__pyx_v_value); /* proto */ +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_17code_lines_as_set_4__del__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_4__reduce_cython__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_6__setstate_cython__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */ +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_14generate_code_with_breakpoints_py(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_code_obj_py, PyObject *__pyx_v_breakpoints); /* proto */ +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_16frame_eval_func(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_18stop_frame_eval(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_20__pyx_unpickle_ThreadInfo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_22__pyx_unpickle_FuncCodeInfo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_24__pyx_unpickle__CodeLineInfo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_26__pyx_unpickle__CacheValue(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */ +static PyObject *__pyx_tp_new_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ +static PyObject *__pyx_tp_new_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ +static PyObject *__pyx_tp_new_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ +static PyObject *__pyx_tp_new_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ +static PyObject *__pyx_int_0; +static PyObject *__pyx_int_1; +static PyObject *__pyx_int_2; +static PyObject *__pyx_int_3; +static PyObject *__pyx_int_9; +static PyObject *__pyx_int_2520179; +static PyObject *__pyx_int_11485321; +static PyObject *__pyx_int_64258489; +static PyObject *__pyx_int_66829570; +static PyObject *__pyx_int_72405718; +static PyObject *__pyx_int_95010005; +static PyObject *__pyx_int_156687530; +static PyObject *__pyx_int_180628038; +static PyObject *__pyx_int_188670045; +static PyObject *__pyx_int_193022138; +static PyObject *__pyx_int_240343912; +static PyObject *__pyx_int_249558979; +static PyObject *__pyx_tuple__4; +static PyObject *__pyx_tuple__6; +static PyObject *__pyx_tuple__7; +static PyObject *__pyx_tuple__8; +static PyObject *__pyx_tuple__9; +static PyObject *__pyx_slice__24; +static PyObject *__pyx_tuple__11; +static PyObject *__pyx_tuple__14; +static PyObject *__pyx_tuple__16; +static PyObject *__pyx_tuple__18; +static PyObject *__pyx_tuple__20; +static PyObject *__pyx_tuple__22; +static PyObject *__pyx_tuple__25; +static PyObject *__pyx_tuple__26; +static PyObject *__pyx_tuple__28; +static PyObject *__pyx_tuple__30; +static PyObject *__pyx_tuple__32; +static PyObject *__pyx_tuple__34; +static PyObject *__pyx_tuple__36; +static PyObject *__pyx_codeobj__10; +static PyObject *__pyx_codeobj__12; +static PyObject *__pyx_codeobj__13; +static PyObject *__pyx_codeobj__15; +static PyObject *__pyx_codeobj__17; +static PyObject *__pyx_codeobj__19; +static PyObject *__pyx_codeobj__21; +static PyObject *__pyx_codeobj__23; +static PyObject *__pyx_codeobj__27; +static PyObject *__pyx_codeobj__29; +static PyObject *__pyx_codeobj__31; +static PyObject *__pyx_codeobj__33; +static PyObject *__pyx_codeobj__35; +static PyObject *__pyx_codeobj__37; +/* Late includes */ + +/* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":19 + * _thread_active = threading._active + * + * def clear_thread_local_info(): # <<<<<<<<<<<<<< + * global _thread_local_info + * _thread_local_info = threading.local() + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_1clear_thread_local_info(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyMethodDef __pyx_mdef_18_pydevd_frame_eval_22pydevd_frame_evaluator_1clear_thread_local_info = {"clear_thread_local_info", (PyCFunction)__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_1clear_thread_local_info, METH_NOARGS, 0}; +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_1clear_thread_local_info(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("clear_thread_local_info (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_clear_thread_local_info(__pyx_self); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_clear_thread_local_info(CYTHON_UNUSED PyObject *__pyx_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("clear_thread_local_info", 0); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":21 + * def clear_thread_local_info(): + * global _thread_local_info + * _thread_local_info = threading.local() # <<<<<<<<<<<<<< + * + * + */ + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_threading); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_local); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (PyDict_SetItem(__pyx_d, __pyx_n_s_thread_local_info, __pyx_t_1) < 0) __PYX_ERR(0, 21, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":19 + * _thread_active = threading._active + * + * def clear_thread_local_info(): # <<<<<<<<<<<<<< + * global _thread_local_info + * _thread_local_info = threading.local() + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.clear_thread_local_info", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":39 + * cdef public bint force_stay_in_untraced_mode + * + * cdef initialize(self, PyFrameObject * frame_obj): # <<<<<<<<<<<<<< + * # Places that create a ThreadInfo should verify that + * # a current Python frame is being executed! + */ + +static PyObject *__pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_initialize(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_v_self, PyFrameObject *__pyx_v_frame_obj) { + PyObject *__pyx_v_basename = NULL; + PyObject *__pyx_v_i = NULL; + PyObject *__pyx_v_j = NULL; + PyObject *__pyx_v_co_name = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + PyFrameObject *__pyx_t_2; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + int __pyx_t_6; + int __pyx_t_7; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("initialize", 0); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":42 + * # Places that create a ThreadInfo should verify that + * # a current Python frame is being executed! + * assert frame_obj != NULL # <<<<<<<<<<<<<< + * + * self.additional_info = None + */ + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((__pyx_v_frame_obj != NULL) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 42, __pyx_L1_error) + } + } + #endif + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":44 + * assert frame_obj != NULL + * + * self.additional_info = None # <<<<<<<<<<<<<< + * self.is_pydevd_thread = False + * self.inside_frame_eval = 0 + */ + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->additional_info); + __Pyx_DECREF(((PyObject *)__pyx_v_self->additional_info)); + __pyx_v_self->additional_info = ((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)Py_None); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":45 + * + * self.additional_info = None + * self.is_pydevd_thread = False # <<<<<<<<<<<<<< + * self.inside_frame_eval = 0 + * self.fully_initialized = False + */ + __pyx_v_self->is_pydevd_thread = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":46 + * self.additional_info = None + * self.is_pydevd_thread = False + * self.inside_frame_eval = 0 # <<<<<<<<<<<<<< + * self.fully_initialized = False + * self.thread_trace_func = None + */ + __pyx_v_self->inside_frame_eval = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":47 + * self.is_pydevd_thread = False + * self.inside_frame_eval = 0 + * self.fully_initialized = False # <<<<<<<<<<<<<< + * self.thread_trace_func = None + * + */ + __pyx_v_self->fully_initialized = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":48 + * self.inside_frame_eval = 0 + * self.fully_initialized = False + * self.thread_trace_func = None # <<<<<<<<<<<<<< + * + * # Get the root (if it's not a Thread initialized from the threading + */ + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->thread_trace_func); + __Pyx_DECREF(__pyx_v_self->thread_trace_func); + __pyx_v_self->thread_trace_func = Py_None; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":54 + * # otherwise, we have to wait for the threading module itself to + * # create the Thread entry). + * while frame_obj.f_back != NULL: # <<<<<<<<<<<<<< + * frame_obj = frame_obj.f_back + * + */ + while (1) { + __pyx_t_1 = ((__pyx_v_frame_obj->f_back != NULL) != 0); + if (!__pyx_t_1) break; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":55 + * # create the Thread entry). + * while frame_obj.f_back != NULL: + * frame_obj = frame_obj.f_back # <<<<<<<<<<<<<< + * + * basename = frame_obj.f_code.co_filename + */ + __pyx_t_2 = __pyx_v_frame_obj->f_back; + __pyx_v_frame_obj = __pyx_t_2; + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":57 + * frame_obj = frame_obj.f_back + * + * basename = frame_obj.f_code.co_filename # <<<<<<<<<<<<<< + * i = basename.rfind('/') + * j = basename.rfind('\\') + */ + __pyx_t_3 = ((PyObject *)__pyx_v_frame_obj->f_code->co_filename); + __Pyx_INCREF(__pyx_t_3); + __pyx_v_basename = __pyx_t_3; + __pyx_t_3 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":58 + * + * basename = frame_obj.f_code.co_filename + * i = basename.rfind('/') # <<<<<<<<<<<<<< + * j = basename.rfind('\\') + * if j > i: + */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_basename, __pyx_n_s_rfind); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 58, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_kp_s_) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_s_); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 58, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_v_i = __pyx_t_3; + __pyx_t_3 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":59 + * basename = frame_obj.f_code.co_filename + * i = basename.rfind('/') + * j = basename.rfind('\\') # <<<<<<<<<<<<<< + * if j > i: + * i = j + */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_basename, __pyx_n_s_rfind); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 59, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_kp_s__2) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_s__2); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 59, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_v_j = __pyx_t_3; + __pyx_t_3 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":60 + * i = basename.rfind('/') + * j = basename.rfind('\\') + * if j > i: # <<<<<<<<<<<<<< + * i = j + * if i >= 0: + */ + __pyx_t_3 = PyObject_RichCompare(__pyx_v_j, __pyx_v_i, Py_GT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 60, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 60, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_1) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":61 + * j = basename.rfind('\\') + * if j > i: + * i = j # <<<<<<<<<<<<<< + * if i >= 0: + * basename = basename[i + 1:] + */ + __Pyx_INCREF(__pyx_v_j); + __Pyx_DECREF_SET(__pyx_v_i, __pyx_v_j); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":60 + * i = basename.rfind('/') + * j = basename.rfind('\\') + * if j > i: # <<<<<<<<<<<<<< + * i = j + * if i >= 0: + */ + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":62 + * if j > i: + * i = j + * if i >= 0: # <<<<<<<<<<<<<< + * basename = basename[i + 1:] + * # remove ext + */ + __pyx_t_3 = PyObject_RichCompare(__pyx_v_i, __pyx_int_0, Py_GE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 62, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 62, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_1) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":63 + * i = j + * if i >= 0: + * basename = basename[i + 1:] # <<<<<<<<<<<<<< + * # remove ext + * i = basename.rfind('.') + */ + __pyx_t_3 = __Pyx_PyInt_AddObjC(__pyx_v_i, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 63, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetSlice(__pyx_v_basename, 0, 0, &__pyx_t_3, NULL, NULL, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 63, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF_SET(__pyx_v_basename, __pyx_t_4); + __pyx_t_4 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":62 + * if j > i: + * i = j + * if i >= 0: # <<<<<<<<<<<<<< + * basename = basename[i + 1:] + * # remove ext + */ + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":65 + * basename = basename[i + 1:] + * # remove ext + * i = basename.rfind('.') # <<<<<<<<<<<<<< + * if i >= 0: + * basename = basename[:i] + */ + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_basename, __pyx_n_s_rfind); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 65, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_kp_s__3) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_s__3); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 65, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF_SET(__pyx_v_i, __pyx_t_4); + __pyx_t_4 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":66 + * # remove ext + * i = basename.rfind('.') + * if i >= 0: # <<<<<<<<<<<<<< + * basename = basename[:i] + * + */ + __pyx_t_4 = PyObject_RichCompare(__pyx_v_i, __pyx_int_0, Py_GE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 66, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 66, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_1) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":67 + * i = basename.rfind('.') + * if i >= 0: + * basename = basename[:i] # <<<<<<<<<<<<<< + * + * co_name = frame_obj.f_code.co_name + */ + __pyx_t_4 = __Pyx_PyObject_GetSlice(__pyx_v_basename, 0, 0, NULL, &__pyx_v_i, NULL, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 67, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF_SET(__pyx_v_basename, __pyx_t_4); + __pyx_t_4 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":66 + * # remove ext + * i = basename.rfind('.') + * if i >= 0: # <<<<<<<<<<<<<< + * basename = basename[:i] + * + */ + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":69 + * basename = basename[:i] + * + * co_name = frame_obj.f_code.co_name # <<<<<<<<<<<<<< + * + * # In these cases we cannot create a dummy thread (an actual + */ + __pyx_t_4 = ((PyObject *)__pyx_v_frame_obj->f_code->co_name); + __Pyx_INCREF(__pyx_t_4); + __pyx_v_co_name = __pyx_t_4; + __pyx_t_4 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":73 + * # In these cases we cannot create a dummy thread (an actual + * # thread will be created later or tracing will already be set). + * if basename == 'threading' and co_name in ('__bootstrap', '_bootstrap', '__bootstrap_inner', '_bootstrap_inner'): # <<<<<<<<<<<<<< + * self._can_create_dummy_thread = False + * elif basename == 'pydev_monkey' and co_name == '__call__': + */ + __pyx_t_6 = (__Pyx_PyString_Equals(__pyx_v_basename, __pyx_n_s_threading, Py_EQ)); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 73, __pyx_L1_error) + if (__pyx_t_6) { + } else { + __pyx_t_1 = __pyx_t_6; + goto __pyx_L9_bool_binop_done; + } + __Pyx_INCREF(__pyx_v_co_name); + __pyx_t_4 = __pyx_v_co_name; + __pyx_t_7 = (__Pyx_PyString_Equals(__pyx_t_4, __pyx_n_s_bootstrap, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 73, __pyx_L1_error) + if (!__pyx_t_7) { + } else { + __pyx_t_6 = __pyx_t_7; + goto __pyx_L11_bool_binop_done; + } + __pyx_t_7 = (__Pyx_PyString_Equals(__pyx_t_4, __pyx_n_s_bootstrap_2, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 73, __pyx_L1_error) + if (!__pyx_t_7) { + } else { + __pyx_t_6 = __pyx_t_7; + goto __pyx_L11_bool_binop_done; + } + __pyx_t_7 = (__Pyx_PyString_Equals(__pyx_t_4, __pyx_n_s_bootstrap_inner, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 73, __pyx_L1_error) + if (!__pyx_t_7) { + } else { + __pyx_t_6 = __pyx_t_7; + goto __pyx_L11_bool_binop_done; + } + __pyx_t_7 = (__Pyx_PyString_Equals(__pyx_t_4, __pyx_n_s_bootstrap_inner_2, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 73, __pyx_L1_error) + __pyx_t_6 = __pyx_t_7; + __pyx_L11_bool_binop_done:; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_7 = (__pyx_t_6 != 0); + __pyx_t_1 = __pyx_t_7; + __pyx_L9_bool_binop_done:; + if (__pyx_t_1) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":74 + * # thread will be created later or tracing will already be set). + * if basename == 'threading' and co_name in ('__bootstrap', '_bootstrap', '__bootstrap_inner', '_bootstrap_inner'): + * self._can_create_dummy_thread = False # <<<<<<<<<<<<<< + * elif basename == 'pydev_monkey' and co_name == '__call__': + * self._can_create_dummy_thread = False + */ + __pyx_v_self->_can_create_dummy_thread = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":73 + * # In these cases we cannot create a dummy thread (an actual + * # thread will be created later or tracing will already be set). + * if basename == 'threading' and co_name in ('__bootstrap', '_bootstrap', '__bootstrap_inner', '_bootstrap_inner'): # <<<<<<<<<<<<<< + * self._can_create_dummy_thread = False + * elif basename == 'pydev_monkey' and co_name == '__call__': + */ + goto __pyx_L8; + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":75 + * if basename == 'threading' and co_name in ('__bootstrap', '_bootstrap', '__bootstrap_inner', '_bootstrap_inner'): + * self._can_create_dummy_thread = False + * elif basename == 'pydev_monkey' and co_name == '__call__': # <<<<<<<<<<<<<< + * self._can_create_dummy_thread = False + * elif basename == 'pydevd' and co_name in ('run', 'main', '_exec'): + */ + __pyx_t_7 = (__Pyx_PyString_Equals(__pyx_v_basename, __pyx_n_s_pydev_monkey, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 75, __pyx_L1_error) + if (__pyx_t_7) { + } else { + __pyx_t_1 = __pyx_t_7; + goto __pyx_L15_bool_binop_done; + } + __pyx_t_7 = (__Pyx_PyString_Equals(__pyx_v_co_name, __pyx_n_s_call, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 75, __pyx_L1_error) + __pyx_t_1 = __pyx_t_7; + __pyx_L15_bool_binop_done:; + if (__pyx_t_1) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":76 + * self._can_create_dummy_thread = False + * elif basename == 'pydev_monkey' and co_name == '__call__': + * self._can_create_dummy_thread = False # <<<<<<<<<<<<<< + * elif basename == 'pydevd' and co_name in ('run', 'main', '_exec'): + * self._can_create_dummy_thread = False + */ + __pyx_v_self->_can_create_dummy_thread = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":75 + * if basename == 'threading' and co_name in ('__bootstrap', '_bootstrap', '__bootstrap_inner', '_bootstrap_inner'): + * self._can_create_dummy_thread = False + * elif basename == 'pydev_monkey' and co_name == '__call__': # <<<<<<<<<<<<<< + * self._can_create_dummy_thread = False + * elif basename == 'pydevd' and co_name in ('run', 'main', '_exec'): + */ + goto __pyx_L8; + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":77 + * elif basename == 'pydev_monkey' and co_name == '__call__': + * self._can_create_dummy_thread = False + * elif basename == 'pydevd' and co_name in ('run', 'main', '_exec'): # <<<<<<<<<<<<<< + * self._can_create_dummy_thread = False + * elif basename == 'pydevd_tracing': + */ + __pyx_t_7 = (__Pyx_PyString_Equals(__pyx_v_basename, __pyx_n_s_pydevd, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 77, __pyx_L1_error) + if (__pyx_t_7) { + } else { + __pyx_t_1 = __pyx_t_7; + goto __pyx_L17_bool_binop_done; + } + __Pyx_INCREF(__pyx_v_co_name); + __pyx_t_4 = __pyx_v_co_name; + __pyx_t_6 = (__Pyx_PyString_Equals(__pyx_t_4, __pyx_n_s_run, Py_EQ)); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 77, __pyx_L1_error) + if (!__pyx_t_6) { + } else { + __pyx_t_7 = __pyx_t_6; + goto __pyx_L19_bool_binop_done; + } + __pyx_t_6 = (__Pyx_PyString_Equals(__pyx_t_4, __pyx_n_s_main, Py_EQ)); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 77, __pyx_L1_error) + if (!__pyx_t_6) { + } else { + __pyx_t_7 = __pyx_t_6; + goto __pyx_L19_bool_binop_done; + } + __pyx_t_6 = (__Pyx_PyString_Equals(__pyx_t_4, __pyx_n_s_exec, Py_EQ)); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 77, __pyx_L1_error) + __pyx_t_7 = __pyx_t_6; + __pyx_L19_bool_binop_done:; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_6 = (__pyx_t_7 != 0); + __pyx_t_1 = __pyx_t_6; + __pyx_L17_bool_binop_done:; + if (__pyx_t_1) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":78 + * self._can_create_dummy_thread = False + * elif basename == 'pydevd' and co_name in ('run', 'main', '_exec'): + * self._can_create_dummy_thread = False # <<<<<<<<<<<<<< + * elif basename == 'pydevd_tracing': + * self._can_create_dummy_thread = False + */ + __pyx_v_self->_can_create_dummy_thread = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":77 + * elif basename == 'pydev_monkey' and co_name == '__call__': + * self._can_create_dummy_thread = False + * elif basename == 'pydevd' and co_name in ('run', 'main', '_exec'): # <<<<<<<<<<<<<< + * self._can_create_dummy_thread = False + * elif basename == 'pydevd_tracing': + */ + goto __pyx_L8; + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":79 + * elif basename == 'pydevd' and co_name in ('run', 'main', '_exec'): + * self._can_create_dummy_thread = False + * elif basename == 'pydevd_tracing': # <<<<<<<<<<<<<< + * self._can_create_dummy_thread = False + * else: + */ + __pyx_t_1 = (__Pyx_PyString_Equals(__pyx_v_basename, __pyx_n_s_pydevd_tracing, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 79, __pyx_L1_error) + if (__pyx_t_1) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":80 + * self._can_create_dummy_thread = False + * elif basename == 'pydevd_tracing': + * self._can_create_dummy_thread = False # <<<<<<<<<<<<<< + * else: + * self._can_create_dummy_thread = True + */ + __pyx_v_self->_can_create_dummy_thread = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":79 + * elif basename == 'pydevd' and co_name in ('run', 'main', '_exec'): + * self._can_create_dummy_thread = False + * elif basename == 'pydevd_tracing': # <<<<<<<<<<<<<< + * self._can_create_dummy_thread = False + * else: + */ + goto __pyx_L8; + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":82 + * self._can_create_dummy_thread = False + * else: + * self._can_create_dummy_thread = True # <<<<<<<<<<<<<< + * + * # print('Can create dummy thread for thread started in: %s %s' % (basename, co_name)) + */ + /*else*/ { + __pyx_v_self->_can_create_dummy_thread = 1; + } + __pyx_L8:; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":39 + * cdef public bint force_stay_in_untraced_mode + * + * cdef initialize(self, PyFrameObject * frame_obj): # <<<<<<<<<<<<<< + * # Places that create a ThreadInfo should verify that + * # a current Python frame is being executed! + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.ThreadInfo.initialize", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_basename); + __Pyx_XDECREF(__pyx_v_i); + __Pyx_XDECREF(__pyx_v_j); + __Pyx_XDECREF(__pyx_v_co_name); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":86 + * # print('Can create dummy thread for thread started in: %s %s' % (basename, co_name)) + * + * cdef initialize_if_possible(self): # <<<<<<<<<<<<<< + * # Don't call threading.currentThread because if we're too early in the process + * # we may create a dummy thread. + */ + +static PyObject *__pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_initialize_if_possible(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_v_self) { + PyObject *__pyx_v_thread_ident = NULL; + PyObject *__pyx_v_t = NULL; + PyObject *__pyx_v_additional_info = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int __pyx_t_4; + int __pyx_t_5; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + PyObject *__pyx_t_15 = NULL; + PyObject *__pyx_t_16 = NULL; + PyObject *__pyx_t_17 = NULL; + int __pyx_t_18; + int __pyx_t_19; + char const *__pyx_t_20; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("initialize_if_possible", 0); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":89 + * # Don't call threading.currentThread because if we're too early in the process + * # we may create a dummy thread. + * self.inside_frame_eval += 1 # <<<<<<<<<<<<<< + * + * try: + */ + __pyx_v_self->inside_frame_eval = (__pyx_v_self->inside_frame_eval + 1); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":91 + * self.inside_frame_eval += 1 + * + * try: # <<<<<<<<<<<<<< + * thread_ident = _get_ident() + * t = _thread_active.get(thread_ident) + */ + /*try:*/ { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":92 + * + * try: + * thread_ident = _get_ident() # <<<<<<<<<<<<<< + * t = _thread_active.get(thread_ident) + * if t is None: + */ + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_get_ident); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 92, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 92, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_thread_ident = __pyx_t_1; + __pyx_t_1 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":93 + * try: + * thread_ident = _get_ident() + * t = _thread_active.get(thread_ident) # <<<<<<<<<<<<<< + * if t is None: + * if self._can_create_dummy_thread: + */ + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_thread_active); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 93, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_get); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 93, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_v_thread_ident) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_thread_ident); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 93, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_t = __pyx_t_1; + __pyx_t_1 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":94 + * thread_ident = _get_ident() + * t = _thread_active.get(thread_ident) + * if t is None: # <<<<<<<<<<<<<< + * if self._can_create_dummy_thread: + * # Initialize the dummy thread and set the tracing (both are needed to + */ + __pyx_t_4 = (__pyx_v_t == Py_None); + __pyx_t_5 = (__pyx_t_4 != 0); + if (__pyx_t_5) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":95 + * t = _thread_active.get(thread_ident) + * if t is None: + * if self._can_create_dummy_thread: # <<<<<<<<<<<<<< + * # Initialize the dummy thread and set the tracing (both are needed to + * # actually stop on breakpoints). + */ + __pyx_t_5 = (__pyx_v_self->_can_create_dummy_thread != 0); + if (__pyx_t_5) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":98 + * # Initialize the dummy thread and set the tracing (both are needed to + * # actually stop on breakpoints). + * t = threading.current_thread() # <<<<<<<<<<<<<< + * SetTrace(dummy_trace_dispatch) + * else: + */ + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_threading); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 98, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_current_thread); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 98, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 98, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF_SET(__pyx_v_t, __pyx_t_1); + __pyx_t_1 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":99 + * # actually stop on breakpoints). + * t = threading.current_thread() + * SetTrace(dummy_trace_dispatch) # <<<<<<<<<<<<<< + * else: + * return # Cannot initialize until thread becomes active. + */ + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_SetTrace); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 99, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_dummy_trace_dispatch); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 99, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_6 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_6, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 99, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":95 + * t = _thread_active.get(thread_ident) + * if t is None: + * if self._can_create_dummy_thread: # <<<<<<<<<<<<<< + * # Initialize the dummy thread and set the tracing (both are needed to + * # actually stop on breakpoints). + */ + goto __pyx_L7; + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":101 + * SetTrace(dummy_trace_dispatch) + * else: + * return # Cannot initialize until thread becomes active. # <<<<<<<<<<<<<< + * + * if getattr(t, 'is_pydev_daemon_thread', False): + */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L3_return; + } + __pyx_L7:; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":94 + * thread_ident = _get_ident() + * t = _thread_active.get(thread_ident) + * if t is None: # <<<<<<<<<<<<<< + * if self._can_create_dummy_thread: + * # Initialize the dummy thread and set the tracing (both are needed to + */ + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":103 + * return # Cannot initialize until thread becomes active. + * + * if getattr(t, 'is_pydev_daemon_thread', False): # <<<<<<<<<<<<<< + * self.is_pydevd_thread = True + * self.fully_initialized = True + */ + __pyx_t_1 = __Pyx_GetAttr3(__pyx_v_t, __pyx_n_s_is_pydev_daemon_thread, Py_False); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 103, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 103, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (__pyx_t_5) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":104 + * + * if getattr(t, 'is_pydev_daemon_thread', False): + * self.is_pydevd_thread = True # <<<<<<<<<<<<<< + * self.fully_initialized = True + * else: + */ + __pyx_v_self->is_pydevd_thread = 1; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":105 + * if getattr(t, 'is_pydev_daemon_thread', False): + * self.is_pydevd_thread = True + * self.fully_initialized = True # <<<<<<<<<<<<<< + * else: + * try: + */ + __pyx_v_self->fully_initialized = 1; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":103 + * return # Cannot initialize until thread becomes active. + * + * if getattr(t, 'is_pydev_daemon_thread', False): # <<<<<<<<<<<<<< + * self.is_pydevd_thread = True + * self.fully_initialized = True + */ + goto __pyx_L8; + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":107 + * self.fully_initialized = True + * else: + * try: # <<<<<<<<<<<<<< + * additional_info = t.additional_info + * if additional_info is None: + */ + /*else*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_9); + /*try:*/ { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":108 + * else: + * try: + * additional_info = t.additional_info # <<<<<<<<<<<<<< + * if additional_info is None: + * raise AttributeError() + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_t, __pyx_n_s_additional_info); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 108, __pyx_L9_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_additional_info = __pyx_t_1; + __pyx_t_1 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":109 + * try: + * additional_info = t.additional_info + * if additional_info is None: # <<<<<<<<<<<<<< + * raise AttributeError() + * except: + */ + __pyx_t_5 = (__pyx_v_additional_info == Py_None); + __pyx_t_4 = (__pyx_t_5 != 0); + if (unlikely(__pyx_t_4)) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":110 + * additional_info = t.additional_info + * if additional_info is None: + * raise AttributeError() # <<<<<<<<<<<<<< + * except: + * with _set_additional_thread_info_lock: + */ + __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_builtin_AttributeError); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 110, __pyx_L9_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_Raise(__pyx_t_1, 0, 0, 0); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __PYX_ERR(0, 110, __pyx_L9_error) + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":109 + * try: + * additional_info = t.additional_info + * if additional_info is None: # <<<<<<<<<<<<<< + * raise AttributeError() + * except: + */ + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":107 + * self.fully_initialized = True + * else: + * try: # <<<<<<<<<<<<<< + * additional_info = t.additional_info + * if additional_info is None: + */ + } + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + goto __pyx_L14_try_end; + __pyx_L9_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":111 + * if additional_info is None: + * raise AttributeError() + * except: # <<<<<<<<<<<<<< + * with _set_additional_thread_info_lock: + * # If it's not there, set it within a lock to avoid any racing + */ + /*except:*/ { + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.ThreadInfo.initialize_if_possible", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3) < 0) __PYX_ERR(0, 111, __pyx_L11_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_3); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":112 + * raise AttributeError() + * except: + * with _set_additional_thread_info_lock: # <<<<<<<<<<<<<< + * # If it's not there, set it within a lock to avoid any racing + * # conditions. + */ + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_set_additional_thread_info_lock); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 112, __pyx_L11_except_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_6, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 112, __pyx_L11_except_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_12 = __Pyx_PyObject_LookupSpecial(__pyx_t_6, __pyx_n_s_enter); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 112, __pyx_L18_error) + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_13 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_12))) { + __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_12); + if (likely(__pyx_t_13)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); + __Pyx_INCREF(__pyx_t_13); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_12, function); + } + } + __pyx_t_11 = (__pyx_t_13) ? __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_13) : __Pyx_PyObject_CallNoArg(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 112, __pyx_L18_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_14, &__pyx_t_15, &__pyx_t_16); + __Pyx_XGOTREF(__pyx_t_14); + __Pyx_XGOTREF(__pyx_t_15); + __Pyx_XGOTREF(__pyx_t_16); + /*try:*/ { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":115 + * # If it's not there, set it within a lock to avoid any racing + * # conditions. + * additional_info = getattr(thread, 'additional_info', None) # <<<<<<<<<<<<<< + * if additional_info is None: + * additional_info = PyDBAdditionalThreadInfo() + */ + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_thread); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 115, __pyx_L24_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_11 = __Pyx_GetAttr3(__pyx_t_6, __pyx_n_s_additional_info, Py_None); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 115, __pyx_L24_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF_SET(__pyx_v_additional_info, __pyx_t_11); + __pyx_t_11 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":116 + * # conditions. + * additional_info = getattr(thread, 'additional_info', None) + * if additional_info is None: # <<<<<<<<<<<<<< + * additional_info = PyDBAdditionalThreadInfo() + * t.additional_info = additional_info + */ + __pyx_t_4 = (__pyx_v_additional_info == Py_None); + __pyx_t_5 = (__pyx_t_4 != 0); + if (__pyx_t_5) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":117 + * additional_info = getattr(thread, 'additional_info', None) + * if additional_info is None: + * additional_info = PyDBAdditionalThreadInfo() # <<<<<<<<<<<<<< + * t.additional_info = additional_info + * self.additional_info = additional_info + */ + __pyx_t_11 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo)); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 117, __pyx_L24_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF_SET(__pyx_v_additional_info, __pyx_t_11); + __pyx_t_11 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":116 + * # conditions. + * additional_info = getattr(thread, 'additional_info', None) + * if additional_info is None: # <<<<<<<<<<<<<< + * additional_info = PyDBAdditionalThreadInfo() + * t.additional_info = additional_info + */ + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":118 + * if additional_info is None: + * additional_info = PyDBAdditionalThreadInfo() + * t.additional_info = additional_info # <<<<<<<<<<<<<< + * self.additional_info = additional_info + * self.fully_initialized = True + */ + if (__Pyx_PyObject_SetAttrStr(__pyx_v_t, __pyx_n_s_additional_info, __pyx_v_additional_info) < 0) __PYX_ERR(0, 118, __pyx_L24_error) + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":112 + * raise AttributeError() + * except: + * with _set_additional_thread_info_lock: # <<<<<<<<<<<<<< + * # If it's not there, set it within a lock to avoid any racing + * # conditions. + */ + } + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; + goto __pyx_L31_try_end; + __pyx_L24_error:; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + /*except:*/ { + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.ThreadInfo.initialize_if_possible", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_11, &__pyx_t_6, &__pyx_t_12) < 0) __PYX_ERR(0, 112, __pyx_L26_except_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_13 = PyTuple_Pack(3, __pyx_t_11, __pyx_t_6, __pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 112, __pyx_L26_except_error) + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_13, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 112, __pyx_L26_except_error) + __Pyx_GOTREF(__pyx_t_17); + __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_17); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + if (__pyx_t_5 < 0) __PYX_ERR(0, 112, __pyx_L26_except_error) + __pyx_t_4 = ((!(__pyx_t_5 != 0)) != 0); + if (__pyx_t_4) { + __Pyx_GIVEREF(__pyx_t_11); + __Pyx_GIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_ErrRestoreWithState(__pyx_t_11, __pyx_t_6, __pyx_t_12); + __pyx_t_11 = 0; __pyx_t_6 = 0; __pyx_t_12 = 0; + __PYX_ERR(0, 112, __pyx_L26_except_error) + } + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + goto __pyx_L25_exception_handled; + } + __pyx_L26_except_error:; + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_XGIVEREF(__pyx_t_15); + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_ExceptionReset(__pyx_t_14, __pyx_t_15, __pyx_t_16); + goto __pyx_L11_except_error; + __pyx_L25_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_XGIVEREF(__pyx_t_15); + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_ExceptionReset(__pyx_t_14, __pyx_t_15, __pyx_t_16); + __pyx_L31_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_10) { + __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__4, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 112, __pyx_L11_except_error) + __Pyx_GOTREF(__pyx_t_16); + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + } + goto __pyx_L23; + } + __pyx_L23:; + } + goto __pyx_L36; + __pyx_L18_error:; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L11_except_error; + __pyx_L36:; + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L10_exception_handled; + } + __pyx_L11_except_error:; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":107 + * self.fully_initialized = True + * else: + * try: # <<<<<<<<<<<<<< + * additional_info = t.additional_info + * if additional_info is None: + */ + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9); + goto __pyx_L4_error; + __pyx_L10_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9); + __pyx_L14_try_end:; + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":119 + * additional_info = PyDBAdditionalThreadInfo() + * t.additional_info = additional_info + * self.additional_info = additional_info # <<<<<<<<<<<<<< + * self.fully_initialized = True + * finally: + */ + if (unlikely(!__pyx_v_additional_info)) { __Pyx_RaiseUnboundLocalError("additional_info"); __PYX_ERR(0, 119, __pyx_L4_error) } + if (!(likely(((__pyx_v_additional_info) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_additional_info, __pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo))))) __PYX_ERR(0, 119, __pyx_L4_error) + __pyx_t_3 = __pyx_v_additional_info; + __Pyx_INCREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_v_self->additional_info); + __Pyx_DECREF(((PyObject *)__pyx_v_self->additional_info)); + __pyx_v_self->additional_info = ((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_t_3); + __pyx_t_3 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":120 + * t.additional_info = additional_info + * self.additional_info = additional_info + * self.fully_initialized = True # <<<<<<<<<<<<<< + * finally: + * self.inside_frame_eval -= 1 + */ + __pyx_v_self->fully_initialized = 1; + } + __pyx_L8:; + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":122 + * self.fully_initialized = True + * finally: + * self.inside_frame_eval -= 1 # <<<<<<<<<<<<<< + * + * + */ + /*finally:*/ { + /*normal exit:*/{ + __pyx_v_self->inside_frame_eval = (__pyx_v_self->inside_frame_eval - 1); + goto __pyx_L5; + } + __pyx_L4_error:; + /*exception exit:*/{ + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __pyx_t_9 = 0; __pyx_t_8 = 0; __pyx_t_7 = 0; __pyx_t_10 = 0; __pyx_t_16 = 0; __pyx_t_15 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_16, &__pyx_t_15); + if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_9, &__pyx_t_8, &__pyx_t_7) < 0)) __Pyx_ErrFetch(&__pyx_t_9, &__pyx_t_8, &__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_9); + __Pyx_XGOTREF(__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_16); + __Pyx_XGOTREF(__pyx_t_15); + __pyx_t_18 = __pyx_lineno; __pyx_t_19 = __pyx_clineno; __pyx_t_20 = __pyx_filename; + { + __pyx_v_self->inside_frame_eval = (__pyx_v_self->inside_frame_eval - 1); + } + if (PY_MAJOR_VERSION >= 3) { + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_XGIVEREF(__pyx_t_15); + __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_16, __pyx_t_15); + } + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_ErrRestore(__pyx_t_9, __pyx_t_8, __pyx_t_7); + __pyx_t_9 = 0; __pyx_t_8 = 0; __pyx_t_7 = 0; __pyx_t_10 = 0; __pyx_t_16 = 0; __pyx_t_15 = 0; + __pyx_lineno = __pyx_t_18; __pyx_clineno = __pyx_t_19; __pyx_filename = __pyx_t_20; + goto __pyx_L1_error; + } + __pyx_L3_return: { + __pyx_t_15 = __pyx_r; + __pyx_r = 0; + __pyx_v_self->inside_frame_eval = (__pyx_v_self->inside_frame_eval - 1); + __pyx_r = __pyx_t_15; + __pyx_t_15 = 0; + goto __pyx_L0; + } + __pyx_L5:; + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":86 + * # print('Can create dummy thread for thread started in: %s %s' % (basename, co_name)) + * + * cdef initialize_if_possible(self): # <<<<<<<<<<<<<< + * # Don't call threading.currentThread because if we're too early in the process + * # we may create a dummy thread. + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.ThreadInfo.initialize_if_possible", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_thread_ident); + __Pyx_XDECREF(__pyx_v_t); + __Pyx_XDECREF(__pyx_v_additional_info); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":26 + * cdef class ThreadInfo: + * + * cdef public PyDBAdditionalThreadInfo additional_info # <<<<<<<<<<<<<< + * cdef public bint is_pydevd_thread + * cdef public int inside_frame_eval + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_15additional_info_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_15additional_info_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_15additional_info___get__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_15additional_info___get__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_self->additional_info)); + __pyx_r = ((PyObject *)__pyx_v_self->additional_info); + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_15additional_info_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_15additional_info_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_15additional_info_2__set__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_15additional_info_2__set__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__set__", 0); + if (!(likely(((__pyx_v_value) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_value, __pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo))))) __PYX_ERR(0, 26, __pyx_L1_error) + __pyx_t_1 = __pyx_v_value; + __Pyx_INCREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v_self->additional_info); + __Pyx_DECREF(((PyObject *)__pyx_v_self->additional_info)); + __pyx_v_self->additional_info = ((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_t_1); + __pyx_t_1 = 0; + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.ThreadInfo.additional_info.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_15additional_info_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_15additional_info_5__del__(PyObject *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_15additional_info_4__del__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_15additional_info_4__del__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__", 0); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->additional_info); + __Pyx_DECREF(((PyObject *)__pyx_v_self->additional_info)); + __pyx_v_self->additional_info = ((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)Py_None); + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":27 + * + * cdef public PyDBAdditionalThreadInfo additional_info + * cdef public bint is_pydevd_thread # <<<<<<<<<<<<<< + * cdef public int inside_frame_eval + * cdef public bint fully_initialized + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_16is_pydevd_thread_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_16is_pydevd_thread_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_16is_pydevd_thread___get__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_16is_pydevd_thread___get__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->is_pydevd_thread); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 27, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.ThreadInfo.is_pydevd_thread.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_16is_pydevd_thread_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_16is_pydevd_thread_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_16is_pydevd_thread_2__set__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_16is_pydevd_thread_2__set__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__set__", 0); + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 27, __pyx_L1_error) + __pyx_v_self->is_pydevd_thread = __pyx_t_1; + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.ThreadInfo.is_pydevd_thread.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":28 + * cdef public PyDBAdditionalThreadInfo additional_info + * cdef public bint is_pydevd_thread + * cdef public int inside_frame_eval # <<<<<<<<<<<<<< + * cdef public bint fully_initialized + * cdef public object thread_trace_func + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_17inside_frame_eval_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_17inside_frame_eval_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_17inside_frame_eval___get__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_17inside_frame_eval___get__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->inside_frame_eval); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.ThreadInfo.inside_frame_eval.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_17inside_frame_eval_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_17inside_frame_eval_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_17inside_frame_eval_2__set__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_17inside_frame_eval_2__set__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__set__", 0); + __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 28, __pyx_L1_error) + __pyx_v_self->inside_frame_eval = __pyx_t_1; + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.ThreadInfo.inside_frame_eval.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":29 + * cdef public bint is_pydevd_thread + * cdef public int inside_frame_eval + * cdef public bint fully_initialized # <<<<<<<<<<<<<< + * cdef public object thread_trace_func + * cdef bint _can_create_dummy_thread + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_17fully_initialized_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_17fully_initialized_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_17fully_initialized___get__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_17fully_initialized___get__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->fully_initialized); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 29, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.ThreadInfo.fully_initialized.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_17fully_initialized_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_17fully_initialized_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_17fully_initialized_2__set__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_17fully_initialized_2__set__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__set__", 0); + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 29, __pyx_L1_error) + __pyx_v_self->fully_initialized = __pyx_t_1; + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.ThreadInfo.fully_initialized.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":30 + * cdef public int inside_frame_eval + * cdef public bint fully_initialized + * cdef public object thread_trace_func # <<<<<<<<<<<<<< + * cdef bint _can_create_dummy_thread + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_17thread_trace_func_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_17thread_trace_func_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_17thread_trace_func___get__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_17thread_trace_func___get__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->thread_trace_func); + __pyx_r = __pyx_v_self->thread_trace_func; + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_17thread_trace_func_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_17thread_trace_func_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_17thread_trace_func_2__set__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_17thread_trace_func_2__set__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__", 0); + __Pyx_INCREF(__pyx_v_value); + __Pyx_GIVEREF(__pyx_v_value); + __Pyx_GOTREF(__pyx_v_self->thread_trace_func); + __Pyx_DECREF(__pyx_v_self->thread_trace_func); + __pyx_v_self->thread_trace_func = __pyx_v_value; + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_17thread_trace_func_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_17thread_trace_func_5__del__(PyObject *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_17thread_trace_func_4__del__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_17thread_trace_func_4__del__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__", 0); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->thread_trace_func); + __Pyx_DECREF(__pyx_v_self->thread_trace_func); + __pyx_v_self->thread_trace_func = Py_None; + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":37 + * # If True the debugger should not go into trace mode even if the new + * # code for a function is None and there are breakpoints. + * cdef public bint force_stay_in_untraced_mode # <<<<<<<<<<<<<< + * + * cdef initialize(self, PyFrameObject * frame_obj): + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_27force_stay_in_untraced_mode_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_27force_stay_in_untraced_mode_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_27force_stay_in_untraced_mode___get__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_27force_stay_in_untraced_mode___get__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->force_stay_in_untraced_mode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 37, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.ThreadInfo.force_stay_in_untraced_mode.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_27force_stay_in_untraced_mode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_27force_stay_in_untraced_mode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_27force_stay_in_untraced_mode_2__set__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_27force_stay_in_untraced_mode_2__set__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__set__", 0); + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 37, __pyx_L1_error) + __pyx_v_self->force_stay_in_untraced_mode = __pyx_t_1; + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.ThreadInfo.force_stay_in_untraced_mode.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * cdef tuple state + * cdef object _dict + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_1__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_1__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo___reduce_cython__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo___reduce_cython__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_v_self) { + PyObject *__pyx_v_state = 0; + PyObject *__pyx_v__dict = 0; + int __pyx_v_use_setstate; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + int __pyx_t_7; + int __pyx_t_8; + int __pyx_t_9; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__reduce_cython__", 0); + + /* "(tree fragment)":5 + * cdef object _dict + * cdef bint use_setstate + * state = (self._can_create_dummy_thread, self.additional_info, self.force_stay_in_untraced_mode, self.fully_initialized, self.inside_frame_eval, self.is_pydevd_thread, self.thread_trace_func) # <<<<<<<<<<<<<< + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: + */ + __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->_can_create_dummy_thread); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_v_self->force_stay_in_untraced_mode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_v_self->fully_initialized); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_self->inside_frame_eval); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_PyBool_FromLong(__pyx_v_self->is_pydevd_thread); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = PyTuple_New(7); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1); + __Pyx_INCREF(((PyObject *)__pyx_v_self->additional_info)); + __Pyx_GIVEREF(((PyObject *)__pyx_v_self->additional_info)); + PyTuple_SET_ITEM(__pyx_t_6, 1, ((PyObject *)__pyx_v_self->additional_info)); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_6, 3, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_6, 4, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_6, 5, __pyx_t_5); + __Pyx_INCREF(__pyx_v_self->thread_trace_func); + __Pyx_GIVEREF(__pyx_v_self->thread_trace_func); + PyTuple_SET_ITEM(__pyx_t_6, 6, __pyx_v_self->thread_trace_func); + __pyx_t_1 = 0; + __pyx_t_2 = 0; + __pyx_t_3 = 0; + __pyx_t_4 = 0; + __pyx_t_5 = 0; + __pyx_v_state = ((PyObject*)__pyx_t_6); + __pyx_t_6 = 0; + + /* "(tree fragment)":6 + * cdef bint use_setstate + * state = (self._can_create_dummy_thread, self.additional_info, self.force_stay_in_untraced_mode, self.fully_initialized, self.inside_frame_eval, self.is_pydevd_thread, self.thread_trace_func) + * _dict = getattr(self, '__dict__', None) # <<<<<<<<<<<<<< + * if _dict is not None: + * state += (_dict,) + */ + __pyx_t_6 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_v__dict = __pyx_t_6; + __pyx_t_6 = 0; + + /* "(tree fragment)":7 + * state = (self._can_create_dummy_thread, self.additional_info, self.force_stay_in_untraced_mode, self.fully_initialized, self.inside_frame_eval, self.is_pydevd_thread, self.thread_trace_func) + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: # <<<<<<<<<<<<<< + * state += (_dict,) + * use_setstate = True + */ + __pyx_t_7 = (__pyx_v__dict != Py_None); + __pyx_t_8 = (__pyx_t_7 != 0); + if (__pyx_t_8) { + + /* "(tree fragment)":8 + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: + * state += (_dict,) # <<<<<<<<<<<<<< + * use_setstate = True + * else: + */ + __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_INCREF(__pyx_v__dict); + __Pyx_GIVEREF(__pyx_v__dict); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v__dict); + __pyx_t_5 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 8, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_5)); + __pyx_t_5 = 0; + + /* "(tree fragment)":9 + * if _dict is not None: + * state += (_dict,) + * use_setstate = True # <<<<<<<<<<<<<< + * else: + * use_setstate = self.additional_info is not None or self.thread_trace_func is not None + */ + __pyx_v_use_setstate = 1; + + /* "(tree fragment)":7 + * state = (self._can_create_dummy_thread, self.additional_info, self.force_stay_in_untraced_mode, self.fully_initialized, self.inside_frame_eval, self.is_pydevd_thread, self.thread_trace_func) + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: # <<<<<<<<<<<<<< + * state += (_dict,) + * use_setstate = True + */ + goto __pyx_L3; + } + + /* "(tree fragment)":11 + * use_setstate = True + * else: + * use_setstate = self.additional_info is not None or self.thread_trace_func is not None # <<<<<<<<<<<<<< + * if use_setstate: + * return __pyx_unpickle_ThreadInfo, (type(self), 0x0af4089, None), state + */ + /*else*/ { + __pyx_t_7 = (((PyObject *)__pyx_v_self->additional_info) != Py_None); + __pyx_t_9 = (__pyx_t_7 != 0); + if (!__pyx_t_9) { + } else { + __pyx_t_8 = __pyx_t_9; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_9 = (__pyx_v_self->thread_trace_func != Py_None); + __pyx_t_7 = (__pyx_t_9 != 0); + __pyx_t_8 = __pyx_t_7; + __pyx_L4_bool_binop_done:; + __pyx_v_use_setstate = __pyx_t_8; + } + __pyx_L3:; + + /* "(tree fragment)":12 + * else: + * use_setstate = self.additional_info is not None or self.thread_trace_func is not None + * if use_setstate: # <<<<<<<<<<<<<< + * return __pyx_unpickle_ThreadInfo, (type(self), 0x0af4089, None), state + * else: + */ + __pyx_t_8 = (__pyx_v_use_setstate != 0); + if (__pyx_t_8) { + + /* "(tree fragment)":13 + * use_setstate = self.additional_info is not None or self.thread_trace_func is not None + * if use_setstate: + * return __pyx_unpickle_ThreadInfo, (type(self), 0x0af4089, None), state # <<<<<<<<<<<<<< + * else: + * return __pyx_unpickle_ThreadInfo, (type(self), 0x0af4089, state) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pyx_unpickle_ThreadInfo); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + PyTuple_SET_ITEM(__pyx_t_6, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_INCREF(__pyx_int_11485321); + __Pyx_GIVEREF(__pyx_int_11485321); + PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_int_11485321); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_6, 2, Py_None); + __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_6); + __Pyx_INCREF(__pyx_v_state); + __Pyx_GIVEREF(__pyx_v_state); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_state); + __pyx_t_5 = 0; + __pyx_t_6 = 0; + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; + goto __pyx_L0; + + /* "(tree fragment)":12 + * else: + * use_setstate = self.additional_info is not None or self.thread_trace_func is not None + * if use_setstate: # <<<<<<<<<<<<<< + * return __pyx_unpickle_ThreadInfo, (type(self), 0x0af4089, None), state + * else: + */ + } + + /* "(tree fragment)":15 + * return __pyx_unpickle_ThreadInfo, (type(self), 0x0af4089, None), state + * else: + * return __pyx_unpickle_ThreadInfo, (type(self), 0x0af4089, state) # <<<<<<<<<<<<<< + * def __setstate_cython__(self, __pyx_state): + * __pyx_unpickle_ThreadInfo__set_state(self, __pyx_state) + */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_pyx_unpickle_ThreadInfo); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + PyTuple_SET_ITEM(__pyx_t_6, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_INCREF(__pyx_int_11485321); + __Pyx_GIVEREF(__pyx_int_11485321); + PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_int_11485321); + __Pyx_INCREF(__pyx_v_state); + __Pyx_GIVEREF(__pyx_v_state); + PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_v_state); + __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_6); + __pyx_t_4 = 0; + __pyx_t_6 = 0; + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; + goto __pyx_L0; + } + + /* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * cdef tuple state + * cdef object _dict + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.ThreadInfo.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_state); + __Pyx_XDECREF(__pyx_v__dict); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":16 + * else: + * return __pyx_unpickle_ThreadInfo, (type(self), 0x0af4089, state) + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * __pyx_unpickle_ThreadInfo__set_state(self, __pyx_state) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_3__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_3__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_2__setstate_cython__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_2__setstate_cython__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_v_self, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__setstate_cython__", 0); + + /* "(tree fragment)":17 + * return __pyx_unpickle_ThreadInfo, (type(self), 0x0af4089, state) + * def __setstate_cython__(self, __pyx_state): + * __pyx_unpickle_ThreadInfo__set_state(self, __pyx_state) # <<<<<<<<<<<<<< + */ + if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 17, __pyx_L1_error) + __pyx_t_1 = __pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator___pyx_unpickle_ThreadInfo__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "(tree fragment)":16 + * else: + * return __pyx_unpickle_ThreadInfo, (type(self), 0x0af4089, state) + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * __pyx_unpickle_ThreadInfo__set_state(self, __pyx_state) + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.ThreadInfo.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":139 + * cdef public int breakpoints_mtime + * + * def __init__(self): # <<<<<<<<<<<<<< + * self.co_filename = '' + * self.canonical_normalized_filename = '' + */ + +/* Python wrapper */ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); + if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) { + __Pyx_RaiseArgtupleInvalid("__init__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;} + if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 0))) return -1; + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo___init__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo___init__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__init__", 0); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":140 + * + * def __init__(self): + * self.co_filename = '' # <<<<<<<<<<<<<< + * self.canonical_normalized_filename = '' + * self.always_skip_code = False + */ + __Pyx_INCREF(__pyx_kp_s__5); + __Pyx_GIVEREF(__pyx_kp_s__5); + __Pyx_GOTREF(__pyx_v_self->co_filename); + __Pyx_DECREF(__pyx_v_self->co_filename); + __pyx_v_self->co_filename = __pyx_kp_s__5; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":141 + * def __init__(self): + * self.co_filename = '' + * self.canonical_normalized_filename = '' # <<<<<<<<<<<<<< + * self.always_skip_code = False + * + */ + __Pyx_INCREF(__pyx_kp_s__5); + __Pyx_GIVEREF(__pyx_kp_s__5); + __Pyx_GOTREF(__pyx_v_self->canonical_normalized_filename); + __Pyx_DECREF(__pyx_v_self->canonical_normalized_filename); + __pyx_v_self->canonical_normalized_filename = __pyx_kp_s__5; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":142 + * self.co_filename = '' + * self.canonical_normalized_filename = '' + * self.always_skip_code = False # <<<<<<<<<<<<<< + * + * # If breakpoints are found but new_code is None, + */ + __pyx_v_self->always_skip_code = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":147 + * # this means we weren't able to actually add the code + * # where needed, so, fallback to tracing. + * self.breakpoint_found = False # <<<<<<<<<<<<<< + * self.new_code = None + * self.breakpoints_mtime = -1 + */ + __pyx_v_self->breakpoint_found = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":148 + * # where needed, so, fallback to tracing. + * self.breakpoint_found = False + * self.new_code = None # <<<<<<<<<<<<<< + * self.breakpoints_mtime = -1 + * + */ + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->new_code); + __Pyx_DECREF(__pyx_v_self->new_code); + __pyx_v_self->new_code = Py_None; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":149 + * self.breakpoint_found = False + * self.new_code = None + * self.breakpoints_mtime = -1 # <<<<<<<<<<<<<< + * + * + */ + __pyx_v_self->breakpoints_mtime = -1; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":139 + * cdef public int breakpoints_mtime + * + * def __init__(self): # <<<<<<<<<<<<<< + * self.co_filename = '' + * self.canonical_normalized_filename = '' + */ + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":127 + * cdef class FuncCodeInfo: + * + * cdef public str co_filename # <<<<<<<<<<<<<< + * cdef public str co_name + * cdef public str canonical_normalized_filename + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_11co_filename_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_11co_filename_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_11co_filename___get__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_11co_filename___get__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->co_filename); + __pyx_r = __pyx_v_self->co_filename; + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_11co_filename_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_11co_filename_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_11co_filename_2__set__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_11co_filename_2__set__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__set__", 0); + if (!(likely(PyString_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_v_value)->tp_name), 0))) __PYX_ERR(0, 127, __pyx_L1_error) + __pyx_t_1 = __pyx_v_value; + __Pyx_INCREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v_self->co_filename); + __Pyx_DECREF(__pyx_v_self->co_filename); + __pyx_v_self->co_filename = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.FuncCodeInfo.co_filename.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_11co_filename_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_11co_filename_5__del__(PyObject *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_11co_filename_4__del__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_11co_filename_4__del__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__", 0); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->co_filename); + __Pyx_DECREF(__pyx_v_self->co_filename); + __pyx_v_self->co_filename = ((PyObject*)Py_None); + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":128 + * + * cdef public str co_filename + * cdef public str co_name # <<<<<<<<<<<<<< + * cdef public str canonical_normalized_filename + * cdef bint always_skip_code + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_7co_name_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_7co_name_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_7co_name___get__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_7co_name___get__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->co_name); + __pyx_r = __pyx_v_self->co_name; + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_7co_name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_7co_name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_7co_name_2__set__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_7co_name_2__set__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__set__", 0); + if (!(likely(PyString_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_v_value)->tp_name), 0))) __PYX_ERR(0, 128, __pyx_L1_error) + __pyx_t_1 = __pyx_v_value; + __Pyx_INCREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v_self->co_name); + __Pyx_DECREF(__pyx_v_self->co_name); + __pyx_v_self->co_name = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.FuncCodeInfo.co_name.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_7co_name_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_7co_name_5__del__(PyObject *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_7co_name_4__del__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_7co_name_4__del__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__", 0); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->co_name); + __Pyx_DECREF(__pyx_v_self->co_name); + __pyx_v_self->co_name = ((PyObject*)Py_None); + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":129 + * cdef public str co_filename + * cdef public str co_name + * cdef public str canonical_normalized_filename # <<<<<<<<<<<<<< + * cdef bint always_skip_code + * cdef public bint breakpoint_found + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_29canonical_normalized_filename_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_29canonical_normalized_filename_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_29canonical_normalized_filename___get__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_29canonical_normalized_filename___get__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->canonical_normalized_filename); + __pyx_r = __pyx_v_self->canonical_normalized_filename; + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_29canonical_normalized_filename_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_29canonical_normalized_filename_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_29canonical_normalized_filename_2__set__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_29canonical_normalized_filename_2__set__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__set__", 0); + if (!(likely(PyString_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_v_value)->tp_name), 0))) __PYX_ERR(0, 129, __pyx_L1_error) + __pyx_t_1 = __pyx_v_value; + __Pyx_INCREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v_self->canonical_normalized_filename); + __Pyx_DECREF(__pyx_v_self->canonical_normalized_filename); + __pyx_v_self->canonical_normalized_filename = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.FuncCodeInfo.canonical_normalized_filename.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_29canonical_normalized_filename_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_29canonical_normalized_filename_5__del__(PyObject *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_29canonical_normalized_filename_4__del__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_29canonical_normalized_filename_4__del__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__", 0); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->canonical_normalized_filename); + __Pyx_DECREF(__pyx_v_self->canonical_normalized_filename); + __pyx_v_self->canonical_normalized_filename = ((PyObject*)Py_None); + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":131 + * cdef public str canonical_normalized_filename + * cdef bint always_skip_code + * cdef public bint breakpoint_found # <<<<<<<<<<<<<< + * cdef public object new_code + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_16breakpoint_found_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_16breakpoint_found_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_16breakpoint_found___get__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_16breakpoint_found___get__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->breakpoint_found); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 131, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.FuncCodeInfo.breakpoint_found.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_16breakpoint_found_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_16breakpoint_found_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_16breakpoint_found_2__set__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_16breakpoint_found_2__set__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__set__", 0); + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 131, __pyx_L1_error) + __pyx_v_self->breakpoint_found = __pyx_t_1; + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.FuncCodeInfo.breakpoint_found.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":132 + * cdef bint always_skip_code + * cdef public bint breakpoint_found + * cdef public object new_code # <<<<<<<<<<<<<< + * + * # When breakpoints_mtime != PyDb.mtime the validity of breakpoints have + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_8new_code_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_8new_code_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_8new_code___get__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_8new_code___get__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->new_code); + __pyx_r = __pyx_v_self->new_code; + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_8new_code_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_8new_code_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_8new_code_2__set__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_8new_code_2__set__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__", 0); + __Pyx_INCREF(__pyx_v_value); + __Pyx_GIVEREF(__pyx_v_value); + __Pyx_GOTREF(__pyx_v_self->new_code); + __Pyx_DECREF(__pyx_v_self->new_code); + __pyx_v_self->new_code = __pyx_v_value; + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_8new_code_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_8new_code_5__del__(PyObject *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_8new_code_4__del__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_8new_code_4__del__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__", 0); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->new_code); + __Pyx_DECREF(__pyx_v_self->new_code); + __pyx_v_self->new_code = Py_None; + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":137 + * # to be re-evaluated (if invalid a new FuncCodeInfo must be created and + * # tracing can't be disabled for the related frames). + * cdef public int breakpoints_mtime # <<<<<<<<<<<<<< + * + * def __init__(self): + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_17breakpoints_mtime_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_17breakpoints_mtime_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_17breakpoints_mtime___get__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_17breakpoints_mtime___get__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->breakpoints_mtime); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 137, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.FuncCodeInfo.breakpoints_mtime.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_17breakpoints_mtime_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_17breakpoints_mtime_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_17breakpoints_mtime_2__set__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_17breakpoints_mtime_2__set__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__set__", 0); + __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 137, __pyx_L1_error) + __pyx_v_self->breakpoints_mtime = __pyx_t_1; + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.FuncCodeInfo.breakpoints_mtime.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * cdef tuple state + * cdef object _dict + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_2__reduce_cython__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_2__reduce_cython__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_v_self) { + PyObject *__pyx_v_state = 0; + PyObject *__pyx_v__dict = 0; + int __pyx_v_use_setstate; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + int __pyx_t_5; + int __pyx_t_6; + int __pyx_t_7; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__reduce_cython__", 0); + + /* "(tree fragment)":5 + * cdef object _dict + * cdef bint use_setstate + * state = (self.always_skip_code, self.breakpoint_found, self.breakpoints_mtime, self.canonical_normalized_filename, self.co_filename, self.co_name, self.new_code) # <<<<<<<<<<<<<< + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: + */ + __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->always_skip_code); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_v_self->breakpoint_found); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_self->breakpoints_mtime); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyTuple_New(7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3); + __Pyx_INCREF(__pyx_v_self->canonical_normalized_filename); + __Pyx_GIVEREF(__pyx_v_self->canonical_normalized_filename); + PyTuple_SET_ITEM(__pyx_t_4, 3, __pyx_v_self->canonical_normalized_filename); + __Pyx_INCREF(__pyx_v_self->co_filename); + __Pyx_GIVEREF(__pyx_v_self->co_filename); + PyTuple_SET_ITEM(__pyx_t_4, 4, __pyx_v_self->co_filename); + __Pyx_INCREF(__pyx_v_self->co_name); + __Pyx_GIVEREF(__pyx_v_self->co_name); + PyTuple_SET_ITEM(__pyx_t_4, 5, __pyx_v_self->co_name); + __Pyx_INCREF(__pyx_v_self->new_code); + __Pyx_GIVEREF(__pyx_v_self->new_code); + PyTuple_SET_ITEM(__pyx_t_4, 6, __pyx_v_self->new_code); + __pyx_t_1 = 0; + __pyx_t_2 = 0; + __pyx_t_3 = 0; + __pyx_v_state = ((PyObject*)__pyx_t_4); + __pyx_t_4 = 0; + + /* "(tree fragment)":6 + * cdef bint use_setstate + * state = (self.always_skip_code, self.breakpoint_found, self.breakpoints_mtime, self.canonical_normalized_filename, self.co_filename, self.co_name, self.new_code) + * _dict = getattr(self, '__dict__', None) # <<<<<<<<<<<<<< + * if _dict is not None: + * state += (_dict,) + */ + __pyx_t_4 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_v__dict = __pyx_t_4; + __pyx_t_4 = 0; + + /* "(tree fragment)":7 + * state = (self.always_skip_code, self.breakpoint_found, self.breakpoints_mtime, self.canonical_normalized_filename, self.co_filename, self.co_name, self.new_code) + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: # <<<<<<<<<<<<<< + * state += (_dict,) + * use_setstate = True + */ + __pyx_t_5 = (__pyx_v__dict != Py_None); + __pyx_t_6 = (__pyx_t_5 != 0); + if (__pyx_t_6) { + + /* "(tree fragment)":8 + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: + * state += (_dict,) # <<<<<<<<<<<<<< + * use_setstate = True + * else: + */ + __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 8, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_INCREF(__pyx_v__dict); + __Pyx_GIVEREF(__pyx_v__dict); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v__dict); + __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 8, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_3)); + __pyx_t_3 = 0; + + /* "(tree fragment)":9 + * if _dict is not None: + * state += (_dict,) + * use_setstate = True # <<<<<<<<<<<<<< + * else: + * use_setstate = self.canonical_normalized_filename is not None or self.co_filename is not None or self.co_name is not None or self.new_code is not None + */ + __pyx_v_use_setstate = 1; + + /* "(tree fragment)":7 + * state = (self.always_skip_code, self.breakpoint_found, self.breakpoints_mtime, self.canonical_normalized_filename, self.co_filename, self.co_name, self.new_code) + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: # <<<<<<<<<<<<<< + * state += (_dict,) + * use_setstate = True + */ + goto __pyx_L3; + } + + /* "(tree fragment)":11 + * use_setstate = True + * else: + * use_setstate = self.canonical_normalized_filename is not None or self.co_filename is not None or self.co_name is not None or self.new_code is not None # <<<<<<<<<<<<<< + * if use_setstate: + * return __pyx_unpickle_FuncCodeInfo, (type(self), 0xb3ee05d, None), state + */ + /*else*/ { + __pyx_t_5 = (__pyx_v_self->canonical_normalized_filename != ((PyObject*)Py_None)); + __pyx_t_7 = (__pyx_t_5 != 0); + if (!__pyx_t_7) { + } else { + __pyx_t_6 = __pyx_t_7; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_7 = (__pyx_v_self->co_filename != ((PyObject*)Py_None)); + __pyx_t_5 = (__pyx_t_7 != 0); + if (!__pyx_t_5) { + } else { + __pyx_t_6 = __pyx_t_5; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_5 = (__pyx_v_self->co_name != ((PyObject*)Py_None)); + __pyx_t_7 = (__pyx_t_5 != 0); + if (!__pyx_t_7) { + } else { + __pyx_t_6 = __pyx_t_7; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_7 = (__pyx_v_self->new_code != Py_None); + __pyx_t_5 = (__pyx_t_7 != 0); + __pyx_t_6 = __pyx_t_5; + __pyx_L4_bool_binop_done:; + __pyx_v_use_setstate = __pyx_t_6; + } + __pyx_L3:; + + /* "(tree fragment)":12 + * else: + * use_setstate = self.canonical_normalized_filename is not None or self.co_filename is not None or self.co_name is not None or self.new_code is not None + * if use_setstate: # <<<<<<<<<<<<<< + * return __pyx_unpickle_FuncCodeInfo, (type(self), 0xb3ee05d, None), state + * else: + */ + __pyx_t_6 = (__pyx_v_use_setstate != 0); + if (__pyx_t_6) { + + /* "(tree fragment)":13 + * use_setstate = self.canonical_normalized_filename is not None or self.co_filename is not None or self.co_name is not None or self.new_code is not None + * if use_setstate: + * return __pyx_unpickle_FuncCodeInfo, (type(self), 0xb3ee05d, None), state # <<<<<<<<<<<<<< + * else: + * return __pyx_unpickle_FuncCodeInfo, (type(self), 0xb3ee05d, state) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pyx_unpickle_FuncCodeInfo); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_INCREF(__pyx_int_188670045); + __Pyx_GIVEREF(__pyx_int_188670045); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_int_188670045); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None); + __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4); + __Pyx_INCREF(__pyx_v_state); + __Pyx_GIVEREF(__pyx_v_state); + PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_state); + __pyx_t_3 = 0; + __pyx_t_4 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + + /* "(tree fragment)":12 + * else: + * use_setstate = self.canonical_normalized_filename is not None or self.co_filename is not None or self.co_name is not None or self.new_code is not None + * if use_setstate: # <<<<<<<<<<<<<< + * return __pyx_unpickle_FuncCodeInfo, (type(self), 0xb3ee05d, None), state + * else: + */ + } + + /* "(tree fragment)":15 + * return __pyx_unpickle_FuncCodeInfo, (type(self), 0xb3ee05d, None), state + * else: + * return __pyx_unpickle_FuncCodeInfo, (type(self), 0xb3ee05d, state) # <<<<<<<<<<<<<< + * def __setstate_cython__(self, __pyx_state): + * __pyx_unpickle_FuncCodeInfo__set_state(self, __pyx_state) + */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_pyx_unpickle_FuncCodeInfo); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_INCREF(__pyx_int_188670045); + __Pyx_GIVEREF(__pyx_int_188670045); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_int_188670045); + __Pyx_INCREF(__pyx_v_state); + __Pyx_GIVEREF(__pyx_v_state); + PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_state); + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_4); + __pyx_t_2 = 0; + __pyx_t_4 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; + } + + /* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * cdef tuple state + * cdef object _dict + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.FuncCodeInfo.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_state); + __Pyx_XDECREF(__pyx_v__dict); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":16 + * else: + * return __pyx_unpickle_FuncCodeInfo, (type(self), 0xb3ee05d, state) + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * __pyx_unpickle_FuncCodeInfo__set_state(self, __pyx_state) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_4__setstate_cython__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_4__setstate_cython__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_v_self, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__setstate_cython__", 0); + + /* "(tree fragment)":17 + * return __pyx_unpickle_FuncCodeInfo, (type(self), 0xb3ee05d, state) + * def __setstate_cython__(self, __pyx_state): + * __pyx_unpickle_FuncCodeInfo__set_state(self, __pyx_state) # <<<<<<<<<<<<<< + */ + if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 17, __pyx_L1_error) + __pyx_t_1 = __pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator___pyx_unpickle_FuncCodeInfo__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "(tree fragment)":16 + * else: + * return __pyx_unpickle_FuncCodeInfo, (type(self), 0xb3ee05d, state) + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * __pyx_unpickle_FuncCodeInfo__set_state(self, __pyx_state) + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.FuncCodeInfo.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":152 + * + * + * def dummy_trace_dispatch(frame, str event, arg): # <<<<<<<<<<<<<< + * if event == 'call': + * if frame.f_trace is not None: + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_3dummy_trace_dispatch(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_18_pydevd_frame_eval_22pydevd_frame_evaluator_3dummy_trace_dispatch = {"dummy_trace_dispatch", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_3dummy_trace_dispatch, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_3dummy_trace_dispatch(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_frame = 0; + PyObject *__pyx_v_event = 0; + PyObject *__pyx_v_arg = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("dummy_trace_dispatch (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_frame,&__pyx_n_s_event,&__pyx_n_s_arg,0}; + PyObject* values[3] = {0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_frame)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_event)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("dummy_trace_dispatch", 1, 3, 3, 1); __PYX_ERR(0, 152, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_arg)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("dummy_trace_dispatch", 1, 3, 3, 2); __PYX_ERR(0, 152, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "dummy_trace_dispatch") < 0)) __PYX_ERR(0, 152, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + } + __pyx_v_frame = values[0]; + __pyx_v_event = ((PyObject*)values[1]); + __pyx_v_arg = values[2]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("dummy_trace_dispatch", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 152, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.dummy_trace_dispatch", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_event), (&PyString_Type), 1, "event", 1))) __PYX_ERR(0, 152, __pyx_L1_error) + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_2dummy_trace_dispatch(__pyx_self, __pyx_v_frame, __pyx_v_event, __pyx_v_arg); + + /* function exit code */ + goto __pyx_L0; + __pyx_L1_error:; + __pyx_r = NULL; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_2dummy_trace_dispatch(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_frame, PyObject *__pyx_v_event, PyObject *__pyx_v_arg) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + int __pyx_t_6; + PyObject *__pyx_t_7 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("dummy_trace_dispatch", 0); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":153 + * + * def dummy_trace_dispatch(frame, str event, arg): + * if event == 'call': # <<<<<<<<<<<<<< + * if frame.f_trace is not None: + * return frame.f_trace(frame, event, arg) + */ + __pyx_t_1 = (__Pyx_PyString_Equals(__pyx_v_event, __pyx_n_s_call_2, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 153, __pyx_L1_error) + __pyx_t_2 = (__pyx_t_1 != 0); + if (__pyx_t_2) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":154 + * def dummy_trace_dispatch(frame, str event, arg): + * if event == 'call': + * if frame.f_trace is not None: # <<<<<<<<<<<<<< + * return frame.f_trace(frame, event, arg) + * return None + */ + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_trace); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 154, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = (__pyx_t_3 != Py_None); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_1 = (__pyx_t_2 != 0); + if (__pyx_t_1) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":155 + * if event == 'call': + * if frame.f_trace is not None: + * return frame.f_trace(frame, event, arg) # <<<<<<<<<<<<<< + * return None + * + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_trace); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 155, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = NULL; + __pyx_t_6 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + __pyx_t_6 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_v_frame, __pyx_v_event, __pyx_v_arg}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 155, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_v_frame, __pyx_v_event, __pyx_v_arg}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 155, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + { + __pyx_t_7 = PyTuple_New(3+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 155, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + if (__pyx_t_5) { + __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL; + } + __Pyx_INCREF(__pyx_v_frame); + __Pyx_GIVEREF(__pyx_v_frame); + PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_v_frame); + __Pyx_INCREF(__pyx_v_event); + __Pyx_GIVEREF(__pyx_v_event); + PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_v_event); + __Pyx_INCREF(__pyx_v_arg); + __Pyx_GIVEREF(__pyx_v_arg); + PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_6, __pyx_v_arg); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 155, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":154 + * def dummy_trace_dispatch(frame, str event, arg): + * if event == 'call': + * if frame.f_trace is not None: # <<<<<<<<<<<<<< + * return frame.f_trace(frame, event, arg) + * return None + */ + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":153 + * + * def dummy_trace_dispatch(frame, str event, arg): + * if event == 'call': # <<<<<<<<<<<<<< + * if frame.f_trace is not None: + * return frame.f_trace(frame, event, arg) + */ + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":156 + * if frame.f_trace is not None: + * return frame.f_trace(frame, event, arg) + * return None # <<<<<<<<<<<<<< + * + * + */ + __Pyx_XDECREF(__pyx_r); + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":152 + * + * + * def dummy_trace_dispatch(frame, str event, arg): # <<<<<<<<<<<<<< + * if event == 'call': + * if frame.f_trace is not None: + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.dummy_trace_dispatch", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":159 + * + * + * def get_thread_info_py() -> ThreadInfo: # <<<<<<<<<<<<<< + * return get_thread_info(PyEval_GetFrame()) + * + */ + +/* Python wrapper */ +static struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_5get_thread_info_py(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyMethodDef __pyx_mdef_18_pydevd_frame_eval_22pydevd_frame_evaluator_5get_thread_info_py = {"get_thread_info_py", (PyCFunction)__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_5get_thread_info_py, METH_NOARGS, 0}; +static struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_5get_thread_info_py(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { + struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("get_thread_info_py (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_4get_thread_info_py(__pyx_self); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_4get_thread_info_py(CYTHON_UNUSED PyObject *__pyx_self) { + struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("get_thread_info_py", 0); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":160 + * + * def get_thread_info_py() -> ThreadInfo: + * return get_thread_info(PyEval_GetFrame()) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_XDECREF(((PyObject *)__pyx_r)); + __pyx_t_1 = ((PyObject *)__pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator_get_thread_info(PyEval_GetFrame())); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 160, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = ((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *)__pyx_t_1); + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":159 + * + * + * def get_thread_info_py() -> ThreadInfo: # <<<<<<<<<<<<<< + * return get_thread_info(PyEval_GetFrame()) + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.get_thread_info_py", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF((PyObject *)__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":163 + * + * + * cdef ThreadInfo get_thread_info(PyFrameObject * frame_obj): # <<<<<<<<<<<<<< + * ''' + * Provides thread-related info. + */ + +static struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator_get_thread_info(PyFrameObject *__pyx_v_frame_obj) { + struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_v_thread_info = 0; + struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + int __pyx_t_7; + PyObject *__pyx_t_8 = NULL; + int __pyx_t_9; + int __pyx_t_10; + char const *__pyx_t_11; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + PyObject *__pyx_t_15 = NULL; + PyObject *__pyx_t_16 = NULL; + PyObject *__pyx_t_17 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("get_thread_info", 0); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":170 + * ''' + * cdef ThreadInfo thread_info + * try: # <<<<<<<<<<<<<< + * # Note: changing to a `dict[thread.ident] = thread_info` had almost no + * # effect in the performance. + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_t_3); + /*try:*/ { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":173 + * # Note: changing to a `dict[thread.ident] = thread_info` had almost no + * # effect in the performance. + * thread_info = _thread_local_info.thread_info # <<<<<<<<<<<<<< + * except: + * if frame_obj == NULL: + */ + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_thread_local_info); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 173, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_thread_info); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 173, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo))))) __PYX_ERR(0, 173, __pyx_L3_error) + __pyx_v_thread_info = ((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *)__pyx_t_5); + __pyx_t_5 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":170 + * ''' + * cdef ThreadInfo thread_info + * try: # <<<<<<<<<<<<<< + * # Note: changing to a `dict[thread.ident] = thread_info` had almost no + * # effect in the performance. + */ + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L8_try_end; + __pyx_L3_error:; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":174 + * # effect in the performance. + * thread_info = _thread_local_info.thread_info + * except: # <<<<<<<<<<<<<< + * if frame_obj == NULL: + * return None + */ + /*except:*/ { + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.get_thread_info", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_4, &__pyx_t_6) < 0) __PYX_ERR(0, 174, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GOTREF(__pyx_t_6); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":175 + * thread_info = _thread_local_info.thread_info + * except: + * if frame_obj == NULL: # <<<<<<<<<<<<<< + * return None + * thread_info = ThreadInfo() + */ + __pyx_t_7 = ((__pyx_v_frame_obj == NULL) != 0); + if (__pyx_t_7) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":176 + * except: + * if frame_obj == NULL: + * return None # <<<<<<<<<<<<<< + * thread_info = ThreadInfo() + * thread_info.initialize(frame_obj) + */ + __Pyx_XDECREF(((PyObject *)__pyx_r)); + __pyx_r = ((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *)Py_None); __Pyx_INCREF(Py_None); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + goto __pyx_L6_except_return; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":175 + * thread_info = _thread_local_info.thread_info + * except: + * if frame_obj == NULL: # <<<<<<<<<<<<<< + * return None + * thread_info = ThreadInfo() + */ + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":177 + * if frame_obj == NULL: + * return None + * thread_info = ThreadInfo() # <<<<<<<<<<<<<< + * thread_info.initialize(frame_obj) + * thread_info.inside_frame_eval += 1 + */ + __pyx_t_8 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo)); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 177, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_XDECREF_SET(__pyx_v_thread_info, ((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *)__pyx_t_8)); + __pyx_t_8 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":178 + * return None + * thread_info = ThreadInfo() + * thread_info.initialize(frame_obj) # <<<<<<<<<<<<<< + * thread_info.inside_frame_eval += 1 + * try: + */ + __pyx_t_8 = ((struct __pyx_vtabstruct_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *)__pyx_v_thread_info->__pyx_vtab)->initialize(__pyx_v_thread_info, __pyx_v_frame_obj); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 178, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":179 + * thread_info = ThreadInfo() + * thread_info.initialize(frame_obj) + * thread_info.inside_frame_eval += 1 # <<<<<<<<<<<<<< + * try: + * _thread_local_info.thread_info = thread_info + */ + __pyx_v_thread_info->inside_frame_eval = (__pyx_v_thread_info->inside_frame_eval + 1); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":180 + * thread_info.initialize(frame_obj) + * thread_info.inside_frame_eval += 1 + * try: # <<<<<<<<<<<<<< + * _thread_local_info.thread_info = thread_info + * + */ + /*try:*/ { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":181 + * thread_info.inside_frame_eval += 1 + * try: + * _thread_local_info.thread_info = thread_info # <<<<<<<<<<<<<< + * + * # Note: _code_extra_index is not actually thread-related, + */ + __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_thread_local_info); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 181, __pyx_L15_error) + __Pyx_GOTREF(__pyx_t_8); + if (__Pyx_PyObject_SetAttrStr(__pyx_t_8, __pyx_n_s_thread_info, ((PyObject *)__pyx_v_thread_info)) < 0) __PYX_ERR(0, 181, __pyx_L15_error) + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":186 + * # but this is a good point to initialize it. + * global _code_extra_index + * if _code_extra_index == -1: # <<<<<<<<<<<<<< + * _code_extra_index = _PyEval_RequestCodeExtraIndex(release_co_extra) + * + */ + __pyx_t_7 = ((__pyx_v_18_pydevd_frame_eval_22pydevd_frame_evaluator__code_extra_index == -1L) != 0); + if (__pyx_t_7) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":187 + * global _code_extra_index + * if _code_extra_index == -1: + * _code_extra_index = _PyEval_RequestCodeExtraIndex(release_co_extra) # <<<<<<<<<<<<<< + * + * thread_info.initialize_if_possible() + */ + __pyx_v_18_pydevd_frame_eval_22pydevd_frame_evaluator__code_extra_index = ((int)_PyEval_RequestCodeExtraIndex(release_co_extra)); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":186 + * # but this is a good point to initialize it. + * global _code_extra_index + * if _code_extra_index == -1: # <<<<<<<<<<<<<< + * _code_extra_index = _PyEval_RequestCodeExtraIndex(release_co_extra) + * + */ + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":189 + * _code_extra_index = _PyEval_RequestCodeExtraIndex(release_co_extra) + * + * thread_info.initialize_if_possible() # <<<<<<<<<<<<<< + * finally: + * thread_info.inside_frame_eval -= 1 + */ + __pyx_t_8 = ((struct __pyx_vtabstruct_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *)__pyx_v_thread_info->__pyx_vtab)->initialize_if_possible(__pyx_v_thread_info); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 189, __pyx_L15_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":191 + * thread_info.initialize_if_possible() + * finally: + * thread_info.inside_frame_eval -= 1 # <<<<<<<<<<<<<< + * + * return thread_info + */ + /*finally:*/ { + /*normal exit:*/{ + __pyx_v_thread_info->inside_frame_eval = (__pyx_v_thread_info->inside_frame_eval - 1); + goto __pyx_L16; + } + __pyx_L15_error:; + /*exception exit:*/{ + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_15, &__pyx_t_16, &__pyx_t_17); + if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14) < 0)) __Pyx_ErrFetch(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_14); + __Pyx_XGOTREF(__pyx_t_15); + __Pyx_XGOTREF(__pyx_t_16); + __Pyx_XGOTREF(__pyx_t_17); + __pyx_t_9 = __pyx_lineno; __pyx_t_10 = __pyx_clineno; __pyx_t_11 = __pyx_filename; + { + __pyx_v_thread_info->inside_frame_eval = (__pyx_v_thread_info->inside_frame_eval - 1); + } + if (PY_MAJOR_VERSION >= 3) { + __Pyx_XGIVEREF(__pyx_t_15); + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_XGIVEREF(__pyx_t_17); + __Pyx_ExceptionReset(__pyx_t_15, __pyx_t_16, __pyx_t_17); + } + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_ErrRestore(__pyx_t_12, __pyx_t_13, __pyx_t_14); + __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; + __pyx_lineno = __pyx_t_9; __pyx_clineno = __pyx_t_10; __pyx_filename = __pyx_t_11; + goto __pyx_L5_except_error; + } + __pyx_L16:; + } + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + goto __pyx_L4_exception_handled; + } + __pyx_L5_except_error:; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":170 + * ''' + * cdef ThreadInfo thread_info + * try: # <<<<<<<<<<<<<< + * # Note: changing to a `dict[thread.ident] = thread_info` had almost no + * # effect in the performance. + */ + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + goto __pyx_L1_error; + __pyx_L6_except_return:; + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + goto __pyx_L0; + __pyx_L4_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + __pyx_L8_try_end:; + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":193 + * thread_info.inside_frame_eval -= 1 + * + * return thread_info # <<<<<<<<<<<<<< + * + * + */ + __Pyx_XDECREF(((PyObject *)__pyx_r)); + __Pyx_INCREF(((PyObject *)__pyx_v_thread_info)); + __pyx_r = __pyx_v_thread_info; + goto __pyx_L0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":163 + * + * + * cdef ThreadInfo get_thread_info(PyFrameObject * frame_obj): # <<<<<<<<<<<<<< + * ''' + * Provides thread-related info. + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.get_thread_info", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XDECREF((PyObject *)__pyx_v_thread_info); + __Pyx_XGIVEREF((PyObject *)__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":196 + * + * + * def decref_py(obj): # <<<<<<<<<<<<<< + * ''' + * Helper to be called from Python. + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_7decref_py(PyObject *__pyx_self, PyObject *__pyx_v_obj); /*proto*/ +static char __pyx_doc_18_pydevd_frame_eval_22pydevd_frame_evaluator_6decref_py[] = "\n Helper to be called from Python.\n "; +static PyMethodDef __pyx_mdef_18_pydevd_frame_eval_22pydevd_frame_evaluator_7decref_py = {"decref_py", (PyCFunction)__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_7decref_py, METH_O, __pyx_doc_18_pydevd_frame_eval_22pydevd_frame_evaluator_6decref_py}; +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_7decref_py(PyObject *__pyx_self, PyObject *__pyx_v_obj) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("decref_py (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_6decref_py(__pyx_self, ((PyObject *)__pyx_v_obj)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_6decref_py(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_obj) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("decref_py", 0); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":200 + * Helper to be called from Python. + * ''' + * Py_DECREF(obj) # <<<<<<<<<<<<<< + * + * + */ + Py_DECREF(__pyx_v_obj); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":196 + * + * + * def decref_py(obj): # <<<<<<<<<<<<<< + * ''' + * Helper to be called from Python. + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":203 + * + * + * def get_func_code_info_py(thread_info, frame, code_obj) -> FuncCodeInfo: # <<<<<<<<<<<<<< + * ''' + * Helper to be called from Python. + */ + +/* Python wrapper */ +static struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_9get_func_code_info_py(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_18_pydevd_frame_eval_22pydevd_frame_evaluator_8get_func_code_info_py[] = "\n Helper to be called from Python.\n "; +static PyMethodDef __pyx_mdef_18_pydevd_frame_eval_22pydevd_frame_evaluator_9get_func_code_info_py = {"get_func_code_info_py", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_9get_func_code_info_py, METH_VARARGS|METH_KEYWORDS, __pyx_doc_18_pydevd_frame_eval_22pydevd_frame_evaluator_8get_func_code_info_py}; +static struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_9get_func_code_info_py(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_thread_info = 0; + PyObject *__pyx_v_frame = 0; + PyObject *__pyx_v_code_obj = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("get_func_code_info_py (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_thread_info,&__pyx_n_s_frame,&__pyx_n_s_code_obj,0}; + PyObject* values[3] = {0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_thread_info)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_frame)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("get_func_code_info_py", 1, 3, 3, 1); __PYX_ERR(0, 203, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_code_obj)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("get_func_code_info_py", 1, 3, 3, 2); __PYX_ERR(0, 203, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_func_code_info_py") < 0)) __PYX_ERR(0, 203, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + } + __pyx_v_thread_info = values[0]; + __pyx_v_frame = values[1]; + __pyx_v_code_obj = values[2]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("get_func_code_info_py", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 203, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.get_func_code_info_py", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_8get_func_code_info_py(__pyx_self, __pyx_v_thread_info, __pyx_v_frame, __pyx_v_code_obj); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_8get_func_code_info_py(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_thread_info, PyObject *__pyx_v_frame, PyObject *__pyx_v_code_obj) { + struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("get_func_code_info_py", 0); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":207 + * Helper to be called from Python. + * ''' + * return get_func_code_info( thread_info, frame, code_obj) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_XDECREF(((PyObject *)__pyx_r)); + __pyx_t_1 = ((PyObject *)__pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator_get_func_code_info(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *)__pyx_v_thread_info), ((PyFrameObject *)__pyx_v_frame), ((PyCodeObject *)__pyx_v_code_obj))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 207, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = ((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *)__pyx_t_1); + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":203 + * + * + * def get_func_code_info_py(thread_info, frame, code_obj) -> FuncCodeInfo: # <<<<<<<<<<<<<< + * ''' + * Helper to be called from Python. + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.get_func_code_info_py", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF((PyObject *)__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":212 + * cdef int _code_extra_index = -1 + * + * cdef FuncCodeInfo get_func_code_info(ThreadInfo thread_info, PyFrameObject * frame_obj, PyCodeObject * code_obj): # <<<<<<<<<<<<<< + * ''' + * Provides code-object related info. + */ + +static struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator_get_func_code_info(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_v_thread_info, PyFrameObject *__pyx_v_frame_obj, PyCodeObject *__pyx_v_code_obj) { + PyObject *__pyx_v_main_debugger = 0; + PyObject *__pyx_v_extra; + PyObject *__pyx_v_extra_obj; + struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_v_func_code_info_obj = NULL; + PyObject *__pyx_v_co_filename = 0; + PyObject *__pyx_v_co_name = 0; + PyObject *__pyx_v_cache_file_type = 0; + PyObject *__pyx_v_cache_file_type_key = 0; + struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_v_func_code_info = NULL; + PyObject *__pyx_v_abs_path_real_path_and_base = NULL; + PyObject *__pyx_v_file_type = NULL; + PyObject *__pyx_v_breakpoints = 0; + PyObject *__pyx_v_function_breakpoint = 0; + PyObject *__pyx_v_code_obj_py = 0; + PyObject *__pyx_v_cached_code_obj_info = 0; + PyObject *__pyx_v_breakpoint_found = NULL; + struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + int __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + int __pyx_t_5; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + int __pyx_t_13; + PyObject *(*__pyx_t_14)(PyObject *); + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("get_func_code_info", 0); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":228 + * # print('get_func_code_info', f_code.co_name, f_code.co_filename) + * + * cdef object main_debugger = GlobalDebuggerHolder.global_dbg # <<<<<<<<<<<<<< + * thread_info.force_stay_in_untraced_mode = False # This is an output value of the function. + * + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_GlobalDebuggerHolder); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 228, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_global_dbg); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 228, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_main_debugger = __pyx_t_2; + __pyx_t_2 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":229 + * + * cdef object main_debugger = GlobalDebuggerHolder.global_dbg + * thread_info.force_stay_in_untraced_mode = False # This is an output value of the function. # <<<<<<<<<<<<<< + * + * cdef PyObject * extra + */ + __pyx_v_thread_info->force_stay_in_untraced_mode = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":232 + * + * cdef PyObject * extra + * _PyCode_GetExtra( code_obj, _code_extra_index, & extra) # <<<<<<<<<<<<<< + * if extra is not NULL: + * extra_obj = extra + */ + (void)(_PyCode_GetExtra(((PyObject *)__pyx_v_code_obj), __pyx_v_18_pydevd_frame_eval_22pydevd_frame_evaluator__code_extra_index, (&__pyx_v_extra))); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":233 + * cdef PyObject * extra + * _PyCode_GetExtra( code_obj, _code_extra_index, & extra) + * if extra is not NULL: # <<<<<<<<<<<<<< + * extra_obj = extra + * if extra_obj is not NULL: + */ + __pyx_t_3 = ((__pyx_v_extra != NULL) != 0); + if (__pyx_t_3) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":234 + * _PyCode_GetExtra( code_obj, _code_extra_index, & extra) + * if extra is not NULL: + * extra_obj = extra # <<<<<<<<<<<<<< + * if extra_obj is not NULL: + * func_code_info_obj = extra_obj + */ + __pyx_v_extra_obj = ((PyObject *)__pyx_v_extra); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":235 + * if extra is not NULL: + * extra_obj = extra + * if extra_obj is not NULL: # <<<<<<<<<<<<<< + * func_code_info_obj = extra_obj + * if func_code_info_obj.breakpoints_mtime == main_debugger.mtime: + */ + __pyx_t_3 = ((__pyx_v_extra_obj != NULL) != 0); + if (__pyx_t_3) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":236 + * extra_obj = extra + * if extra_obj is not NULL: + * func_code_info_obj = extra_obj # <<<<<<<<<<<<<< + * if func_code_info_obj.breakpoints_mtime == main_debugger.mtime: + * # if DEBUG: + */ + __pyx_t_2 = ((PyObject *)__pyx_v_extra_obj); + __Pyx_INCREF(__pyx_t_2); + __pyx_v_func_code_info_obj = ((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *)__pyx_t_2); + __pyx_t_2 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":237 + * if extra_obj is not NULL: + * func_code_info_obj = extra_obj + * if func_code_info_obj.breakpoints_mtime == main_debugger.mtime: # <<<<<<<<<<<<<< + * # if DEBUG: + * # print('get_func_code_info: matched mtime', f_code.co_name, f_code.co_filename) + */ + __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_func_code_info_obj->breakpoints_mtime); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 237, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_mtime); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 237, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 = PyObject_RichCompare(__pyx_t_2, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 237, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 237, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_3) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":241 + * # print('get_func_code_info: matched mtime', f_code.co_name, f_code.co_filename) + * + * return func_code_info_obj # <<<<<<<<<<<<<< + * + * cdef str co_filename = code_obj.co_filename + */ + __Pyx_XDECREF(((PyObject *)__pyx_r)); + __Pyx_INCREF(((PyObject *)__pyx_v_func_code_info_obj)); + __pyx_r = __pyx_v_func_code_info_obj; + goto __pyx_L0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":237 + * if extra_obj is not NULL: + * func_code_info_obj = extra_obj + * if func_code_info_obj.breakpoints_mtime == main_debugger.mtime: # <<<<<<<<<<<<<< + * # if DEBUG: + * # print('get_func_code_info: matched mtime', f_code.co_name, f_code.co_filename) + */ + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":235 + * if extra is not NULL: + * extra_obj = extra + * if extra_obj is not NULL: # <<<<<<<<<<<<<< + * func_code_info_obj = extra_obj + * if func_code_info_obj.breakpoints_mtime == main_debugger.mtime: + */ + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":233 + * cdef PyObject * extra + * _PyCode_GetExtra( code_obj, _code_extra_index, & extra) + * if extra is not NULL: # <<<<<<<<<<<<<< + * extra_obj = extra + * if extra_obj is not NULL: + */ + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":243 + * return func_code_info_obj + * + * cdef str co_filename = code_obj.co_filename # <<<<<<<<<<<<<< + * cdef str co_name = code_obj.co_name + * cdef dict cache_file_type + */ + __pyx_t_4 = ((PyObject *)__pyx_v_code_obj->co_filename); + __Pyx_INCREF(__pyx_t_4); + __pyx_v_co_filename = ((PyObject*)__pyx_t_4); + __pyx_t_4 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":244 + * + * cdef str co_filename = code_obj.co_filename + * cdef str co_name = code_obj.co_name # <<<<<<<<<<<<<< + * cdef dict cache_file_type + * cdef tuple cache_file_type_key + */ + __pyx_t_4 = ((PyObject *)__pyx_v_code_obj->co_name); + __Pyx_INCREF(__pyx_t_4); + __pyx_v_co_name = ((PyObject*)__pyx_t_4); + __pyx_t_4 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":248 + * cdef tuple cache_file_type_key + * + * func_code_info = FuncCodeInfo() # <<<<<<<<<<<<<< + * func_code_info.breakpoints_mtime = main_debugger.mtime + * + */ + __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 248, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_v_func_code_info = ((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *)__pyx_t_4); + __pyx_t_4 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":249 + * + * func_code_info = FuncCodeInfo() + * func_code_info.breakpoints_mtime = main_debugger.mtime # <<<<<<<<<<<<<< + * + * func_code_info.co_filename = co_filename + */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_mtime); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 249, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 249, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_v_func_code_info->breakpoints_mtime = __pyx_t_5; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":251 + * func_code_info.breakpoints_mtime = main_debugger.mtime + * + * func_code_info.co_filename = co_filename # <<<<<<<<<<<<<< + * func_code_info.co_name = co_name + * + */ + __Pyx_INCREF(__pyx_v_co_filename); + __Pyx_GIVEREF(__pyx_v_co_filename); + __Pyx_GOTREF(__pyx_v_func_code_info->co_filename); + __Pyx_DECREF(__pyx_v_func_code_info->co_filename); + __pyx_v_func_code_info->co_filename = __pyx_v_co_filename; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":252 + * + * func_code_info.co_filename = co_filename + * func_code_info.co_name = co_name # <<<<<<<<<<<<<< + * + * if not func_code_info.always_skip_code: + */ + __Pyx_INCREF(__pyx_v_co_name); + __Pyx_GIVEREF(__pyx_v_co_name); + __Pyx_GOTREF(__pyx_v_func_code_info->co_name); + __Pyx_DECREF(__pyx_v_func_code_info->co_name); + __pyx_v_func_code_info->co_name = __pyx_v_co_name; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":254 + * func_code_info.co_name = co_name + * + * if not func_code_info.always_skip_code: # <<<<<<<<<<<<<< + * try: + * abs_path_real_path_and_base = NORM_PATHS_AND_BASE_CONTAINER[co_filename] + */ + __pyx_t_3 = ((!(__pyx_v_func_code_info->always_skip_code != 0)) != 0); + if (__pyx_t_3) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":255 + * + * if not func_code_info.always_skip_code: + * try: # <<<<<<<<<<<<<< + * abs_path_real_path_and_base = NORM_PATHS_AND_BASE_CONTAINER[co_filename] + * except: + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_8); + /*try:*/ { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":256 + * if not func_code_info.always_skip_code: + * try: + * abs_path_real_path_and_base = NORM_PATHS_AND_BASE_CONTAINER[co_filename] # <<<<<<<<<<<<<< + * except: + * abs_path_real_path_and_base = get_abs_path_real_path_and_base_from_frame(frame_obj) + */ + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_NORM_PATHS_AND_BASE_CONTAINER); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 256, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_4, __pyx_v_co_filename); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 256, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_v_abs_path_real_path_and_base = __pyx_t_1; + __pyx_t_1 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":255 + * + * if not func_code_info.always_skip_code: + * try: # <<<<<<<<<<<<<< + * abs_path_real_path_and_base = NORM_PATHS_AND_BASE_CONTAINER[co_filename] + * except: + */ + } + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":257 + * try: + * abs_path_real_path_and_base = NORM_PATHS_AND_BASE_CONTAINER[co_filename] + * except: # <<<<<<<<<<<<<< + * abs_path_real_path_and_base = get_abs_path_real_path_and_base_from_frame(frame_obj) + * + */ + /*except:*/ { + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.get_func_code_info", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_2) < 0) __PYX_ERR(0, 257, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GOTREF(__pyx_t_2); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":258 + * abs_path_real_path_and_base = NORM_PATHS_AND_BASE_CONTAINER[co_filename] + * except: + * abs_path_real_path_and_base = get_abs_path_real_path_and_base_from_frame(frame_obj) # <<<<<<<<<<<<<< + * + * func_code_info.canonical_normalized_filename = abs_path_real_path_and_base[1] + */ + __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_get_abs_path_real_path_and_base); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 258, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_11 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_11); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); + } + } + __pyx_t_9 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_11, ((PyObject *)__pyx_v_frame_obj)) : __Pyx_PyObject_CallOneArg(__pyx_t_10, ((PyObject *)__pyx_v_frame_obj)); + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 258, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF_SET(__pyx_v_abs_path_real_path_and_base, __pyx_t_9); + __pyx_t_9 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":255 + * + * if not func_code_info.always_skip_code: + * try: # <<<<<<<<<<<<<< + * abs_path_real_path_and_base = NORM_PATHS_AND_BASE_CONTAINER[co_filename] + * except: + */ + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + goto __pyx_L1_error; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + __pyx_L12_try_end:; + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":260 + * abs_path_real_path_and_base = get_abs_path_real_path_and_base_from_frame(frame_obj) + * + * func_code_info.canonical_normalized_filename = abs_path_real_path_and_base[1] # <<<<<<<<<<<<<< + * + * cache_file_type = main_debugger.get_cache_file_type() + */ + __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_abs_path_real_path_and_base, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 260, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (!(likely(PyString_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_2)->tp_name), 0))) __PYX_ERR(0, 260, __pyx_L1_error) + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_v_func_code_info->canonical_normalized_filename); + __Pyx_DECREF(__pyx_v_func_code_info->canonical_normalized_filename); + __pyx_v_func_code_info->canonical_normalized_filename = ((PyObject*)__pyx_t_2); + __pyx_t_2 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":262 + * func_code_info.canonical_normalized_filename = abs_path_real_path_and_base[1] + * + * cache_file_type = main_debugger.get_cache_file_type() # <<<<<<<<<<<<<< + * # Note: this cache key must be the same from PyDB.get_file_type() -- see it for comments + * # on the cache. + */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_get_cache_file_type); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 262, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 262, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (!(likely(PyDict_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_2)->tp_name), 0))) __PYX_ERR(0, 262, __pyx_L1_error) + __pyx_v_cache_file_type = ((PyObject*)__pyx_t_2); + __pyx_t_2 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":265 + * # Note: this cache key must be the same from PyDB.get_file_type() -- see it for comments + * # on the cache. + * cache_file_type_key = (frame_obj.f_code.co_firstlineno, abs_path_real_path_and_base[0], frame_obj.f_code) # <<<<<<<<<<<<<< + * try: + * file_type = cache_file_type[cache_file_type_key] # Make it faster + */ + __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_frame_obj->f_code->co_firstlineno); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 265, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_abs_path_real_path_and_base, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 265, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 265, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); + __Pyx_INCREF(((PyObject *)__pyx_v_frame_obj->f_code)); + __Pyx_GIVEREF(((PyObject *)__pyx_v_frame_obj->f_code)); + PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)__pyx_v_frame_obj->f_code)); + __pyx_t_2 = 0; + __pyx_t_4 = 0; + __pyx_v_cache_file_type_key = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":266 + * # on the cache. + * cache_file_type_key = (frame_obj.f_code.co_firstlineno, abs_path_real_path_and_base[0], frame_obj.f_code) + * try: # <<<<<<<<<<<<<< + * file_type = cache_file_type[cache_file_type_key] # Make it faster + * except: + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_7, &__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_6); + /*try:*/ { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":267 + * cache_file_type_key = (frame_obj.f_code.co_firstlineno, abs_path_real_path_and_base[0], frame_obj.f_code) + * try: + * file_type = cache_file_type[cache_file_type_key] # Make it faster # <<<<<<<<<<<<<< + * except: + * file_type = main_debugger.get_file_type(frame_obj, abs_path_real_path_and_base) # we don't want to debug anything related to pydevd + */ + if (unlikely(__pyx_v_cache_file_type == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 267, __pyx_L15_error) + } + __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_cache_file_type, __pyx_v_cache_file_type_key); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 267, __pyx_L15_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_file_type = __pyx_t_1; + __pyx_t_1 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":266 + * # on the cache. + * cache_file_type_key = (frame_obj.f_code.co_firstlineno, abs_path_real_path_and_base[0], frame_obj.f_code) + * try: # <<<<<<<<<<<<<< + * file_type = cache_file_type[cache_file_type_key] # Make it faster + * except: + */ + } + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + goto __pyx_L20_try_end; + __pyx_L15_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":268 + * try: + * file_type = cache_file_type[cache_file_type_key] # Make it faster + * except: # <<<<<<<<<<<<<< + * file_type = main_debugger.get_file_type(frame_obj, abs_path_real_path_and_base) # we don't want to debug anything related to pydevd + * + */ + /*except:*/ { + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.get_func_code_info", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_2) < 0) __PYX_ERR(0, 268, __pyx_L17_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GOTREF(__pyx_t_2); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":269 + * file_type = cache_file_type[cache_file_type_key] # Make it faster + * except: + * file_type = main_debugger.get_file_type(frame_obj, abs_path_real_path_and_base) # we don't want to debug anything related to pydevd # <<<<<<<<<<<<<< + * + * if file_type is not None: + */ + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_get_file_type); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 269, __pyx_L17_except_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_11 = NULL; + __pyx_t_5 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_11); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); + __pyx_t_5 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_10)) { + PyObject *__pyx_temp[3] = {__pyx_t_11, ((PyObject *)__pyx_v_frame_obj), __pyx_v_abs_path_real_path_and_base}; + __pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 269, __pyx_L17_except_error) + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_GOTREF(__pyx_t_9); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) { + PyObject *__pyx_temp[3] = {__pyx_t_11, ((PyObject *)__pyx_v_frame_obj), __pyx_v_abs_path_real_path_and_base}; + __pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 269, __pyx_L17_except_error) + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_GOTREF(__pyx_t_9); + } else + #endif + { + __pyx_t_12 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 269, __pyx_L17_except_error) + __Pyx_GOTREF(__pyx_t_12); + if (__pyx_t_11) { + __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __pyx_t_11 = NULL; + } + __Pyx_INCREF(((PyObject *)__pyx_v_frame_obj)); + __Pyx_GIVEREF(((PyObject *)__pyx_v_frame_obj)); + PyTuple_SET_ITEM(__pyx_t_12, 0+__pyx_t_5, ((PyObject *)__pyx_v_frame_obj)); + __Pyx_INCREF(__pyx_v_abs_path_real_path_and_base); + __Pyx_GIVEREF(__pyx_v_abs_path_real_path_and_base); + PyTuple_SET_ITEM(__pyx_t_12, 1+__pyx_t_5, __pyx_v_abs_path_real_path_and_base); + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_12, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 269, __pyx_L17_except_error) + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + } + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF_SET(__pyx_v_file_type, __pyx_t_9); + __pyx_t_9 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L16_exception_handled; + } + __pyx_L17_except_error:; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":266 + * # on the cache. + * cache_file_type_key = (frame_obj.f_code.co_firstlineno, abs_path_real_path_and_base[0], frame_obj.f_code) + * try: # <<<<<<<<<<<<<< + * file_type = cache_file_type[cache_file_type_key] # Make it faster + * except: + */ + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_7, __pyx_t_6); + goto __pyx_L1_error; + __pyx_L16_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_7, __pyx_t_6); + __pyx_L20_try_end:; + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":271 + * file_type = main_debugger.get_file_type(frame_obj, abs_path_real_path_and_base) # we don't want to debug anything related to pydevd + * + * if file_type is not None: # <<<<<<<<<<<<<< + * func_code_info.always_skip_code = True + * + */ + __pyx_t_3 = (__pyx_v_file_type != Py_None); + __pyx_t_13 = (__pyx_t_3 != 0); + if (__pyx_t_13) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":272 + * + * if file_type is not None: + * func_code_info.always_skip_code = True # <<<<<<<<<<<<<< + * + * if not func_code_info.always_skip_code: + */ + __pyx_v_func_code_info->always_skip_code = 1; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":271 + * file_type = main_debugger.get_file_type(frame_obj, abs_path_real_path_and_base) # we don't want to debug anything related to pydevd + * + * if file_type is not None: # <<<<<<<<<<<<<< + * func_code_info.always_skip_code = True + * + */ + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":254 + * func_code_info.co_name = co_name + * + * if not func_code_info.always_skip_code: # <<<<<<<<<<<<<< + * try: + * abs_path_real_path_and_base = NORM_PATHS_AND_BASE_CONTAINER[co_filename] + */ + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":274 + * func_code_info.always_skip_code = True + * + * if not func_code_info.always_skip_code: # <<<<<<<<<<<<<< + * if main_debugger is not None: + * + */ + __pyx_t_13 = ((!(__pyx_v_func_code_info->always_skip_code != 0)) != 0); + if (__pyx_t_13) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":275 + * + * if not func_code_info.always_skip_code: + * if main_debugger is not None: # <<<<<<<<<<<<<< + * + * breakpoints: dict = main_debugger.breakpoints.get(func_code_info.canonical_normalized_filename) + */ + __pyx_t_13 = (__pyx_v_main_debugger != Py_None); + __pyx_t_3 = (__pyx_t_13 != 0); + if (__pyx_t_3) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":277 + * if main_debugger is not None: + * + * breakpoints: dict = main_debugger.breakpoints.get(func_code_info.canonical_normalized_filename) # <<<<<<<<<<<<<< + * function_breakpoint: object = main_debugger.function_breakpoint_name_to_breakpoint.get(func_code_info.co_name) + * # print('\n---') + */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_breakpoints); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 277, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_get); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 277, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_4, __pyx_v_func_code_info->canonical_normalized_filename) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_func_code_info->canonical_normalized_filename); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 277, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (!(likely(PyDict_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_2)->tp_name), 0))) __PYX_ERR(0, 277, __pyx_L1_error) + __pyx_v_breakpoints = ((PyObject*)__pyx_t_2); + __pyx_t_2 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":278 + * + * breakpoints: dict = main_debugger.breakpoints.get(func_code_info.canonical_normalized_filename) + * function_breakpoint: object = main_debugger.function_breakpoint_name_to_breakpoint.get(func_code_info.co_name) # <<<<<<<<<<<<<< + * # print('\n---') + * # print(main_debugger.breakpoints) + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_function_breakpoint_name_to_brea); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 278, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_get); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 278, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_1, __pyx_v_func_code_info->co_name) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_func_code_info->co_name); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 278, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_v_function_breakpoint = __pyx_t_2; + __pyx_t_2 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":283 + * # print(func_code_info.canonical_normalized_filename) + * # print(main_debugger.breakpoints.get(func_code_info.canonical_normalized_filename)) + * code_obj_py: object = code_obj # <<<<<<<<<<<<<< + * cached_code_obj_info: object = _cache.get(code_obj_py) + * if cached_code_obj_info: + */ + __pyx_t_2 = ((PyObject *)__pyx_v_code_obj); + __Pyx_INCREF(__pyx_t_2); + __pyx_v_code_obj_py = __pyx_t_2; + __pyx_t_2 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":284 + * # print(main_debugger.breakpoints.get(func_code_info.canonical_normalized_filename)) + * code_obj_py: object = code_obj + * cached_code_obj_info: object = _cache.get(code_obj_py) # <<<<<<<<<<<<<< + * if cached_code_obj_info: + * # The cache is for new code objects, so, in this case it's already + */ + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cache); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 284, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_get); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 284, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_4, __pyx_v_code_obj_py) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_code_obj_py); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 284, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_cached_code_obj_info = __pyx_t_2; + __pyx_t_2 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":285 + * code_obj_py: object = code_obj + * cached_code_obj_info: object = _cache.get(code_obj_py) + * if cached_code_obj_info: # <<<<<<<<<<<<<< + * # The cache is for new code objects, so, in this case it's already + * # using the new code and we can't change it as this is a generator! + */ + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_cached_code_obj_info); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 285, __pyx_L1_error) + if (__pyx_t_3) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":291 + * # we may not want to go into tracing mode (as would usually happen + * # when the new_code is None). + * func_code_info.new_code = None # <<<<<<<<<<<<<< + * breakpoint_found, thread_info.force_stay_in_untraced_mode = \ + * cached_code_obj_info.compute_force_stay_in_untraced_mode(breakpoints) + */ + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_func_code_info->new_code); + __Pyx_DECREF(__pyx_v_func_code_info->new_code); + __pyx_v_func_code_info->new_code = Py_None; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":293 + * func_code_info.new_code = None + * breakpoint_found, thread_info.force_stay_in_untraced_mode = \ + * cached_code_obj_info.compute_force_stay_in_untraced_mode(breakpoints) # <<<<<<<<<<<<<< + * func_code_info.breakpoint_found = breakpoint_found + * + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cached_code_obj_info, __pyx_n_s_compute_force_stay_in_untraced_m); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 293, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_4, __pyx_v_breakpoints) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_breakpoints); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 293, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if ((likely(PyTuple_CheckExact(__pyx_t_2))) || (PyList_CheckExact(__pyx_t_2))) { + PyObject* sequence = __pyx_t_2; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 2)) { + if (size > 2) __Pyx_RaiseTooManyValuesError(2); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 292, __pyx_L1_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + if (likely(PyTuple_CheckExact(sequence))) { + __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); + } else { + __pyx_t_1 = PyList_GET_ITEM(sequence, 0); + __pyx_t_4 = PyList_GET_ITEM(sequence, 1); + } + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(__pyx_t_4); + #else + __pyx_t_1 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 292, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 292, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + #endif + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + } else { + Py_ssize_t index = -1; + __pyx_t_9 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 292, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_14 = Py_TYPE(__pyx_t_9)->tp_iternext; + index = 0; __pyx_t_1 = __pyx_t_14(__pyx_t_9); if (unlikely(!__pyx_t_1)) goto __pyx_L27_unpacking_failed; + __Pyx_GOTREF(__pyx_t_1); + index = 1; __pyx_t_4 = __pyx_t_14(__pyx_t_9); if (unlikely(!__pyx_t_4)) goto __pyx_L27_unpacking_failed; + __Pyx_GOTREF(__pyx_t_4); + if (__Pyx_IternextUnpackEndCheck(__pyx_t_14(__pyx_t_9), 2) < 0) __PYX_ERR(0, 292, __pyx_L1_error) + __pyx_t_14 = NULL; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + goto __pyx_L28_unpacking_done; + __pyx_L27_unpacking_failed:; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_t_14 = NULL; + if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); + __PYX_ERR(0, 292, __pyx_L1_error) + __pyx_L28_unpacking_done:; + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":292 + * # when the new_code is None). + * func_code_info.new_code = None + * breakpoint_found, thread_info.force_stay_in_untraced_mode = \ # <<<<<<<<<<<<<< + * cached_code_obj_info.compute_force_stay_in_untraced_mode(breakpoints) + * func_code_info.breakpoint_found = breakpoint_found + */ + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 292, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_v_breakpoint_found = __pyx_t_1; + __pyx_t_1 = 0; + __pyx_v_thread_info->force_stay_in_untraced_mode = __pyx_t_3; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":294 + * breakpoint_found, thread_info.force_stay_in_untraced_mode = \ + * cached_code_obj_info.compute_force_stay_in_untraced_mode(breakpoints) + * func_code_info.breakpoint_found = breakpoint_found # <<<<<<<<<<<<<< + * + * elif function_breakpoint: + */ + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_breakpoint_found); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 294, __pyx_L1_error) + __pyx_v_func_code_info->breakpoint_found = __pyx_t_3; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":285 + * code_obj_py: object = code_obj + * cached_code_obj_info: object = _cache.get(code_obj_py) + * if cached_code_obj_info: # <<<<<<<<<<<<<< + * # The cache is for new code objects, so, in this case it's already + * # using the new code and we can't change it as this is a generator! + */ + goto __pyx_L26; + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":296 + * func_code_info.breakpoint_found = breakpoint_found + * + * elif function_breakpoint: # <<<<<<<<<<<<<< + * # Go directly into tracing mode + * func_code_info.breakpoint_found = True + */ + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_function_breakpoint); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 296, __pyx_L1_error) + if (__pyx_t_3) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":298 + * elif function_breakpoint: + * # Go directly into tracing mode + * func_code_info.breakpoint_found = True # <<<<<<<<<<<<<< + * func_code_info.new_code = None + * + */ + __pyx_v_func_code_info->breakpoint_found = 1; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":299 + * # Go directly into tracing mode + * func_code_info.breakpoint_found = True + * func_code_info.new_code = None # <<<<<<<<<<<<<< + * + * elif breakpoints: + */ + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_func_code_info->new_code); + __Pyx_DECREF(__pyx_v_func_code_info->new_code); + __pyx_v_func_code_info->new_code = Py_None; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":296 + * func_code_info.breakpoint_found = breakpoint_found + * + * elif function_breakpoint: # <<<<<<<<<<<<<< + * # Go directly into tracing mode + * func_code_info.breakpoint_found = True + */ + goto __pyx_L26; + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":301 + * func_code_info.new_code = None + * + * elif breakpoints: # <<<<<<<<<<<<<< + * # if DEBUG: + * # print('found breakpoints', code_obj_py.co_name, breakpoints) + */ + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_breakpoints); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 301, __pyx_L1_error) + if (__pyx_t_3) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":307 + * # Note: new_code can be None if unable to generate. + * # It should automatically put the new code object in the cache. + * breakpoint_found, func_code_info.new_code = generate_code_with_breakpoints(code_obj_py, breakpoints) # <<<<<<<<<<<<<< + * func_code_info.breakpoint_found = breakpoint_found + * + */ + __pyx_t_2 = __pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator_generate_code_with_breakpoints(__pyx_v_code_obj_py, __pyx_v_breakpoints); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 307, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if ((likely(PyTuple_CheckExact(__pyx_t_2))) || (PyList_CheckExact(__pyx_t_2))) { + PyObject* sequence = __pyx_t_2; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 2)) { + if (size > 2) __Pyx_RaiseTooManyValuesError(2); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 307, __pyx_L1_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + if (likely(PyTuple_CheckExact(sequence))) { + __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_1 = PyTuple_GET_ITEM(sequence, 1); + } else { + __pyx_t_4 = PyList_GET_ITEM(sequence, 0); + __pyx_t_1 = PyList_GET_ITEM(sequence, 1); + } + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(__pyx_t_1); + #else + __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 307, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 307, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + #endif + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + } else { + Py_ssize_t index = -1; + __pyx_t_9 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 307, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_14 = Py_TYPE(__pyx_t_9)->tp_iternext; + index = 0; __pyx_t_4 = __pyx_t_14(__pyx_t_9); if (unlikely(!__pyx_t_4)) goto __pyx_L29_unpacking_failed; + __Pyx_GOTREF(__pyx_t_4); + index = 1; __pyx_t_1 = __pyx_t_14(__pyx_t_9); if (unlikely(!__pyx_t_1)) goto __pyx_L29_unpacking_failed; + __Pyx_GOTREF(__pyx_t_1); + if (__Pyx_IternextUnpackEndCheck(__pyx_t_14(__pyx_t_9), 2) < 0) __PYX_ERR(0, 307, __pyx_L1_error) + __pyx_t_14 = NULL; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + goto __pyx_L30_unpacking_done; + __pyx_L29_unpacking_failed:; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_t_14 = NULL; + if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); + __PYX_ERR(0, 307, __pyx_L1_error) + __pyx_L30_unpacking_done:; + } + __pyx_v_breakpoint_found = __pyx_t_4; + __pyx_t_4 = 0; + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v_func_code_info->new_code); + __Pyx_DECREF(__pyx_v_func_code_info->new_code); + __pyx_v_func_code_info->new_code = __pyx_t_1; + __pyx_t_1 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":308 + * # It should automatically put the new code object in the cache. + * breakpoint_found, func_code_info.new_code = generate_code_with_breakpoints(code_obj_py, breakpoints) + * func_code_info.breakpoint_found = breakpoint_found # <<<<<<<<<<<<<< + * + * Py_INCREF(func_code_info) + */ + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_breakpoint_found); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 308, __pyx_L1_error) + __pyx_v_func_code_info->breakpoint_found = __pyx_t_3; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":301 + * func_code_info.new_code = None + * + * elif breakpoints: # <<<<<<<<<<<<<< + * # if DEBUG: + * # print('found breakpoints', code_obj_py.co_name, breakpoints) + */ + } + __pyx_L26:; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":275 + * + * if not func_code_info.always_skip_code: + * if main_debugger is not None: # <<<<<<<<<<<<<< + * + * breakpoints: dict = main_debugger.breakpoints.get(func_code_info.canonical_normalized_filename) + */ + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":274 + * func_code_info.always_skip_code = True + * + * if not func_code_info.always_skip_code: # <<<<<<<<<<<<<< + * if main_debugger is not None: + * + */ + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":310 + * func_code_info.breakpoint_found = breakpoint_found + * + * Py_INCREF(func_code_info) # <<<<<<<<<<<<<< + * _PyCode_SetExtra( code_obj, _code_extra_index, func_code_info) + * + */ + Py_INCREF(((PyObject *)__pyx_v_func_code_info)); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":311 + * + * Py_INCREF(func_code_info) + * _PyCode_SetExtra( code_obj, _code_extra_index, func_code_info) # <<<<<<<<<<<<<< + * + * return func_code_info + */ + (void)(_PyCode_SetExtra(((PyObject *)__pyx_v_code_obj), __pyx_v_18_pydevd_frame_eval_22pydevd_frame_evaluator__code_extra_index, ((PyObject *)__pyx_v_func_code_info))); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":313 + * _PyCode_SetExtra( code_obj, _code_extra_index, func_code_info) + * + * return func_code_info # <<<<<<<<<<<<<< + * + * + */ + __Pyx_XDECREF(((PyObject *)__pyx_r)); + __Pyx_INCREF(((PyObject *)__pyx_v_func_code_info)); + __pyx_r = __pyx_v_func_code_info; + goto __pyx_L0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":212 + * cdef int _code_extra_index = -1 + * + * cdef FuncCodeInfo get_func_code_info(ThreadInfo thread_info, PyFrameObject * frame_obj, PyCodeObject * code_obj): # <<<<<<<<<<<<<< + * ''' + * Provides code-object related info. + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.get_func_code_info", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_main_debugger); + __Pyx_XDECREF((PyObject *)__pyx_v_func_code_info_obj); + __Pyx_XDECREF(__pyx_v_co_filename); + __Pyx_XDECREF(__pyx_v_co_name); + __Pyx_XDECREF(__pyx_v_cache_file_type); + __Pyx_XDECREF(__pyx_v_cache_file_type_key); + __Pyx_XDECREF((PyObject *)__pyx_v_func_code_info); + __Pyx_XDECREF(__pyx_v_abs_path_real_path_and_base); + __Pyx_XDECREF(__pyx_v_file_type); + __Pyx_XDECREF(__pyx_v_breakpoints); + __Pyx_XDECREF(__pyx_v_function_breakpoint); + __Pyx_XDECREF(__pyx_v_code_obj_py); + __Pyx_XDECREF(__pyx_v_cached_code_obj_info); + __Pyx_XDECREF(__pyx_v_breakpoint_found); + __Pyx_XGIVEREF((PyObject *)__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":322 + * cdef public int last_line + * + * def __init__(self, dict line_to_offset, int first_line, int last_line): # <<<<<<<<<<<<<< + * self.line_to_offset = line_to_offset + * self.first_line = first_line + */ + +/* Python wrapper */ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_line_to_offset = 0; + int __pyx_v_first_line; + int __pyx_v_last_line; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_line_to_offset,&__pyx_n_s_first_line,&__pyx_n_s_last_line,0}; + PyObject* values[3] = {0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_line_to_offset)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_first_line)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 1); __PYX_ERR(0, 322, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_last_line)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 2); __PYX_ERR(0, 322, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 322, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + } + __pyx_v_line_to_offset = ((PyObject*)values[0]); + __pyx_v_first_line = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_first_line == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 322, __pyx_L3_error) + __pyx_v_last_line = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_last_line == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 322, __pyx_L3_error) + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 322, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator._CodeLineInfo.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return -1; + __pyx_L4_argument_unpacking_done:; + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_line_to_offset), (&PyDict_Type), 1, "line_to_offset", 1))) __PYX_ERR(0, 322, __pyx_L1_error) + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo___init__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *)__pyx_v_self), __pyx_v_line_to_offset, __pyx_v_first_line, __pyx_v_last_line); + + /* function exit code */ + goto __pyx_L0; + __pyx_L1_error:; + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo___init__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *__pyx_v_self, PyObject *__pyx_v_line_to_offset, int __pyx_v_first_line, int __pyx_v_last_line) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__init__", 0); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":323 + * + * def __init__(self, dict line_to_offset, int first_line, int last_line): + * self.line_to_offset = line_to_offset # <<<<<<<<<<<<<< + * self.first_line = first_line + * self.last_line = last_line + */ + __Pyx_INCREF(__pyx_v_line_to_offset); + __Pyx_GIVEREF(__pyx_v_line_to_offset); + __Pyx_GOTREF(__pyx_v_self->line_to_offset); + __Pyx_DECREF(__pyx_v_self->line_to_offset); + __pyx_v_self->line_to_offset = __pyx_v_line_to_offset; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":324 + * def __init__(self, dict line_to_offset, int first_line, int last_line): + * self.line_to_offset = line_to_offset + * self.first_line = first_line # <<<<<<<<<<<<<< + * self.last_line = last_line + * + */ + __pyx_v_self->first_line = __pyx_v_first_line; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":325 + * self.line_to_offset = line_to_offset + * self.first_line = first_line + * self.last_line = last_line # <<<<<<<<<<<<<< + * + * + */ + __pyx_v_self->last_line = __pyx_v_last_line; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":322 + * cdef public int last_line + * + * def __init__(self, dict line_to_offset, int first_line, int last_line): # <<<<<<<<<<<<<< + * self.line_to_offset = line_to_offset + * self.first_line = first_line + */ + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":318 + * cdef class _CodeLineInfo: + * + * cdef public dict line_to_offset # <<<<<<<<<<<<<< + * cdef public int first_line + * cdef public int last_line + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_14line_to_offset_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_14line_to_offset_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_14line_to_offset___get__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_14line_to_offset___get__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->line_to_offset); + __pyx_r = __pyx_v_self->line_to_offset; + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_14line_to_offset_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_14line_to_offset_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_14line_to_offset_2__set__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_14line_to_offset_2__set__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__set__", 0); + if (!(likely(PyDict_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_value)->tp_name), 0))) __PYX_ERR(0, 318, __pyx_L1_error) + __pyx_t_1 = __pyx_v_value; + __Pyx_INCREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v_self->line_to_offset); + __Pyx_DECREF(__pyx_v_self->line_to_offset); + __pyx_v_self->line_to_offset = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator._CodeLineInfo.line_to_offset.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_14line_to_offset_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_14line_to_offset_5__del__(PyObject *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_14line_to_offset_4__del__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_14line_to_offset_4__del__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__", 0); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->line_to_offset); + __Pyx_DECREF(__pyx_v_self->line_to_offset); + __pyx_v_self->line_to_offset = ((PyObject*)Py_None); + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":319 + * + * cdef public dict line_to_offset + * cdef public int first_line # <<<<<<<<<<<<<< + * cdef public int last_line + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_10first_line_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_10first_line_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_10first_line___get__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_10first_line___get__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->first_line); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 319, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator._CodeLineInfo.first_line.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_10first_line_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_10first_line_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_10first_line_2__set__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_10first_line_2__set__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__set__", 0); + __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 319, __pyx_L1_error) + __pyx_v_self->first_line = __pyx_t_1; + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator._CodeLineInfo.first_line.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":320 + * cdef public dict line_to_offset + * cdef public int first_line + * cdef public int last_line # <<<<<<<<<<<<<< + * + * def __init__(self, dict line_to_offset, int first_line, int last_line): + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_9last_line_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_9last_line_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_9last_line___get__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_9last_line___get__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->last_line); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 320, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator._CodeLineInfo.last_line.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_9last_line_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_9last_line_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_9last_line_2__set__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_9last_line_2__set__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__set__", 0); + __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 320, __pyx_L1_error) + __pyx_v_self->last_line = __pyx_t_1; + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator._CodeLineInfo.last_line.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * cdef tuple state + * cdef object _dict + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_3__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_2__reduce_cython__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_2__reduce_cython__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *__pyx_v_self) { + PyObject *__pyx_v_state = 0; + PyObject *__pyx_v__dict = 0; + int __pyx_v_use_setstate; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int __pyx_t_4; + int __pyx_t_5; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__reduce_cython__", 0); + + /* "(tree fragment)":5 + * cdef object _dict + * cdef bint use_setstate + * state = (self.first_line, self.last_line, self.line_to_offset) # <<<<<<<<<<<<<< + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: + */ + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->first_line); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_self->last_line); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); + __Pyx_INCREF(__pyx_v_self->line_to_offset); + __Pyx_GIVEREF(__pyx_v_self->line_to_offset); + PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_self->line_to_offset); + __pyx_t_1 = 0; + __pyx_t_2 = 0; + __pyx_v_state = ((PyObject*)__pyx_t_3); + __pyx_t_3 = 0; + + /* "(tree fragment)":6 + * cdef bint use_setstate + * state = (self.first_line, self.last_line, self.line_to_offset) + * _dict = getattr(self, '__dict__', None) # <<<<<<<<<<<<<< + * if _dict is not None: + * state += (_dict,) + */ + __pyx_t_3 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_v__dict = __pyx_t_3; + __pyx_t_3 = 0; + + /* "(tree fragment)":7 + * state = (self.first_line, self.last_line, self.line_to_offset) + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: # <<<<<<<<<<<<<< + * state += (_dict,) + * use_setstate = True + */ + __pyx_t_4 = (__pyx_v__dict != Py_None); + __pyx_t_5 = (__pyx_t_4 != 0); + if (__pyx_t_5) { + + /* "(tree fragment)":8 + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: + * state += (_dict,) # <<<<<<<<<<<<<< + * use_setstate = True + * else: + */ + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 8, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_v__dict); + __Pyx_GIVEREF(__pyx_v__dict); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v__dict); + __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_2)); + __pyx_t_2 = 0; + + /* "(tree fragment)":9 + * if _dict is not None: + * state += (_dict,) + * use_setstate = True # <<<<<<<<<<<<<< + * else: + * use_setstate = self.line_to_offset is not None + */ + __pyx_v_use_setstate = 1; + + /* "(tree fragment)":7 + * state = (self.first_line, self.last_line, self.line_to_offset) + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: # <<<<<<<<<<<<<< + * state += (_dict,) + * use_setstate = True + */ + goto __pyx_L3; + } + + /* "(tree fragment)":11 + * use_setstate = True + * else: + * use_setstate = self.line_to_offset is not None # <<<<<<<<<<<<<< + * if use_setstate: + * return __pyx_unpickle__CodeLineInfo, (type(self), 0x3fbbd02, None), state + */ + /*else*/ { + __pyx_t_5 = (__pyx_v_self->line_to_offset != ((PyObject*)Py_None)); + __pyx_v_use_setstate = __pyx_t_5; + } + __pyx_L3:; + + /* "(tree fragment)":12 + * else: + * use_setstate = self.line_to_offset is not None + * if use_setstate: # <<<<<<<<<<<<<< + * return __pyx_unpickle__CodeLineInfo, (type(self), 0x3fbbd02, None), state + * else: + */ + __pyx_t_5 = (__pyx_v_use_setstate != 0); + if (__pyx_t_5) { + + /* "(tree fragment)":13 + * use_setstate = self.line_to_offset is not None + * if use_setstate: + * return __pyx_unpickle__CodeLineInfo, (type(self), 0x3fbbd02, None), state # <<<<<<<<<<<<<< + * else: + * return __pyx_unpickle__CodeLineInfo, (type(self), 0x3fbbd02, state) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_pyx_unpickle__CodeLineInfo); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_INCREF(__pyx_int_66829570); + __Pyx_GIVEREF(__pyx_int_66829570); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_int_66829570); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_3, 2, Py_None); + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_3); + __Pyx_INCREF(__pyx_v_state); + __Pyx_GIVEREF(__pyx_v_state); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state); + __pyx_t_2 = 0; + __pyx_t_3 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "(tree fragment)":12 + * else: + * use_setstate = self.line_to_offset is not None + * if use_setstate: # <<<<<<<<<<<<<< + * return __pyx_unpickle__CodeLineInfo, (type(self), 0x3fbbd02, None), state + * else: + */ + } + + /* "(tree fragment)":15 + * return __pyx_unpickle__CodeLineInfo, (type(self), 0x3fbbd02, None), state + * else: + * return __pyx_unpickle__CodeLineInfo, (type(self), 0x3fbbd02, state) # <<<<<<<<<<<<<< + * def __setstate_cython__(self, __pyx_state): + * __pyx_unpickle__CodeLineInfo__set_state(self, __pyx_state) + */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pyx_unpickle__CodeLineInfo); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_INCREF(__pyx_int_66829570); + __Pyx_GIVEREF(__pyx_int_66829570); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_int_66829570); + __Pyx_INCREF(__pyx_v_state); + __Pyx_GIVEREF(__pyx_v_state); + PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_state); + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3); + __pyx_t_1 = 0; + __pyx_t_3 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + } + + /* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * cdef tuple state + * cdef object _dict + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator._CodeLineInfo.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_state); + __Pyx_XDECREF(__pyx_v__dict); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":16 + * else: + * return __pyx_unpickle__CodeLineInfo, (type(self), 0x3fbbd02, state) + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * __pyx_unpickle__CodeLineInfo__set_state(self, __pyx_state) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_5__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_4__setstate_cython__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_4__setstate_cython__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *__pyx_v_self, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__setstate_cython__", 0); + + /* "(tree fragment)":17 + * return __pyx_unpickle__CodeLineInfo, (type(self), 0x3fbbd02, state) + * def __setstate_cython__(self, __pyx_state): + * __pyx_unpickle__CodeLineInfo__set_state(self, __pyx_state) # <<<<<<<<<<<<<< + */ + if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 17, __pyx_L1_error) + __pyx_t_1 = __pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator___pyx_unpickle__CodeLineInfo__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "(tree fragment)":16 + * else: + * return __pyx_unpickle__CodeLineInfo, (type(self), 0x3fbbd02, state) + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * __pyx_unpickle__CodeLineInfo__set_state(self, __pyx_state) + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator._CodeLineInfo.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":329 + * + * # Note: this method has a version in pure-python too. + * def _get_code_line_info(code_obj): # <<<<<<<<<<<<<< + * line_to_offset: dict = {} + * first_line: int = None + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_get_code_line_info(PyObject *__pyx_self, PyObject *__pyx_v_code_obj); /*proto*/ +static PyMethodDef __pyx_mdef_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_get_code_line_info = {"_get_code_line_info", (PyCFunction)__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_get_code_line_info, METH_O, 0}; +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_get_code_line_info(PyObject *__pyx_self, PyObject *__pyx_v_code_obj) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("_get_code_line_info (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10_get_code_line_info(__pyx_self, ((PyObject *)__pyx_v_code_obj)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_10_get_code_line_info(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_code_obj) { + PyObject *__pyx_v_line_to_offset = 0; + PyObject *__pyx_v_first_line = 0; + PyObject *__pyx_v_last_line = 0; + int __pyx_v_offset; + int __pyx_v_line; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + PyObject *(*__pyx_t_5)(PyObject *); + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *(*__pyx_t_8)(PyObject *); + int __pyx_t_9; + int __pyx_t_10; + int __pyx_t_11; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("_get_code_line_info", 0); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":330 + * # Note: this method has a version in pure-python too. + * def _get_code_line_info(code_obj): + * line_to_offset: dict = {} # <<<<<<<<<<<<<< + * first_line: int = None + * last_line: int = None + */ + __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 330, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_line_to_offset = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":331 + * def _get_code_line_info(code_obj): + * line_to_offset: dict = {} + * first_line: int = None # <<<<<<<<<<<<<< + * last_line: int = None + * + */ + __Pyx_INCREF(Py_None); + __pyx_v_first_line = Py_None; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":332 + * line_to_offset: dict = {} + * first_line: int = None + * last_line: int = None # <<<<<<<<<<<<<< + * + * cdef int offset + */ + __Pyx_INCREF(Py_None); + __pyx_v_last_line = Py_None; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":337 + * cdef int line + * + * for offset, line in dis.findlinestarts(code_obj): # <<<<<<<<<<<<<< + * line_to_offset[line] = offset + * + */ + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_dis); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 337, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_findlinestarts); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 337, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_v_code_obj) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_code_obj); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 337, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { + __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0; + __pyx_t_5 = NULL; + } else { + __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 337, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 337, __pyx_L1_error) + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + for (;;) { + if (likely(!__pyx_t_5)) { + if (likely(PyList_CheckExact(__pyx_t_3))) { + if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 337, __pyx_L1_error) + #else + __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 337, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + #endif + } else { + if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_3)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 337, __pyx_L1_error) + #else + __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 337, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + #endif + } + } else { + __pyx_t_1 = __pyx_t_5(__pyx_t_3); + if (unlikely(!__pyx_t_1)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 337, __pyx_L1_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_1); + } + if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) { + PyObject* sequence = __pyx_t_1; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 2)) { + if (size > 2) __Pyx_RaiseTooManyValuesError(2); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 337, __pyx_L1_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + if (likely(PyTuple_CheckExact(sequence))) { + __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_6 = PyTuple_GET_ITEM(sequence, 1); + } else { + __pyx_t_2 = PyList_GET_ITEM(sequence, 0); + __pyx_t_6 = PyList_GET_ITEM(sequence, 1); + } + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(__pyx_t_6); + #else + __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 337, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 337, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + #endif + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } else { + Py_ssize_t index = -1; + __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 337, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext; + index = 0; __pyx_t_2 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_2)) goto __pyx_L5_unpacking_failed; + __Pyx_GOTREF(__pyx_t_2); + index = 1; __pyx_t_6 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L5_unpacking_failed; + __Pyx_GOTREF(__pyx_t_6); + if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(0, 337, __pyx_L1_error) + __pyx_t_8 = NULL; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + goto __pyx_L6_unpacking_done; + __pyx_L5_unpacking_failed:; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_8 = NULL; + if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); + __PYX_ERR(0, 337, __pyx_L1_error) + __pyx_L6_unpacking_done:; + } + __pyx_t_9 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 337, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_10 = __Pyx_PyInt_As_int(__pyx_t_6); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 337, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_v_offset = __pyx_t_9; + __pyx_v_line = __pyx_t_10; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":338 + * + * for offset, line in dis.findlinestarts(code_obj): + * line_to_offset[line] = offset # <<<<<<<<<<<<<< + * + * if line_to_offset: + */ + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_offset); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 338, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 338, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + if (unlikely(PyDict_SetItem(__pyx_v_line_to_offset, __pyx_t_6, __pyx_t_1) < 0)) __PYX_ERR(0, 338, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":337 + * cdef int line + * + * for offset, line in dis.findlinestarts(code_obj): # <<<<<<<<<<<<<< + * line_to_offset[line] = offset + * + */ + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":340 + * line_to_offset[line] = offset + * + * if line_to_offset: # <<<<<<<<<<<<<< + * first_line = min(line_to_offset) + * last_line = max(line_to_offset) + */ + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_line_to_offset); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 340, __pyx_L1_error) + if (__pyx_t_11) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":341 + * + * if line_to_offset: + * first_line = min(line_to_offset) # <<<<<<<<<<<<<< + * last_line = max(line_to_offset) + * return _CodeLineInfo(line_to_offset, first_line, last_line) + */ + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_min, __pyx_v_line_to_offset); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 341, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF_SET(__pyx_v_first_line, __pyx_t_3); + __pyx_t_3 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":342 + * if line_to_offset: + * first_line = min(line_to_offset) + * last_line = max(line_to_offset) # <<<<<<<<<<<<<< + * return _CodeLineInfo(line_to_offset, first_line, last_line) + * + */ + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_max, __pyx_v_line_to_offset); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 342, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF_SET(__pyx_v_last_line, __pyx_t_3); + __pyx_t_3 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":340 + * line_to_offset[line] = offset + * + * if line_to_offset: # <<<<<<<<<<<<<< + * first_line = min(line_to_offset) + * last_line = max(line_to_offset) + */ + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":343 + * first_line = min(line_to_offset) + * last_line = max(line_to_offset) + * return _CodeLineInfo(line_to_offset, first_line, last_line) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 343, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_v_line_to_offset); + __Pyx_GIVEREF(__pyx_v_line_to_offset); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_line_to_offset); + __Pyx_INCREF(__pyx_v_first_line); + __Pyx_GIVEREF(__pyx_v_first_line); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_first_line); + __Pyx_INCREF(__pyx_v_last_line); + __Pyx_GIVEREF(__pyx_v_last_line); + PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_last_line); + __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo), __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 343, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":329 + * + * # Note: this method has a version in pure-python too. + * def _get_code_line_info(code_obj): # <<<<<<<<<<<<<< + * line_to_offset: dict = {} + * first_line: int = None + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator._get_code_line_info", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_line_to_offset); + __Pyx_XDECREF(__pyx_v_first_line); + __Pyx_XDECREF(__pyx_v_last_line); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":353 + * _cache: dict = {} + * + * def get_cached_code_obj_info_py(code_obj_py): # <<<<<<<<<<<<<< + * ''' + * :return _CacheValue: + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_13get_cached_code_obj_info_py(PyObject *__pyx_self, PyObject *__pyx_v_code_obj_py); /*proto*/ +static char __pyx_doc_18_pydevd_frame_eval_22pydevd_frame_evaluator_12get_cached_code_obj_info_py[] = "\n :return _CacheValue:\n :note: on cython use _cache.get(code_obj_py) directly.\n "; +static PyMethodDef __pyx_mdef_18_pydevd_frame_eval_22pydevd_frame_evaluator_13get_cached_code_obj_info_py = {"get_cached_code_obj_info_py", (PyCFunction)__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_13get_cached_code_obj_info_py, METH_O, __pyx_doc_18_pydevd_frame_eval_22pydevd_frame_evaluator_12get_cached_code_obj_info_py}; +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_13get_cached_code_obj_info_py(PyObject *__pyx_self, PyObject *__pyx_v_code_obj_py) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("get_cached_code_obj_info_py (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12get_cached_code_obj_info_py(__pyx_self, ((PyObject *)__pyx_v_code_obj_py)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_12get_cached_code_obj_info_py(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_code_obj_py) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("get_cached_code_obj_info_py", 0); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":358 + * :note: on cython use _cache.get(code_obj_py) directly. + * ''' + * return _cache.get(code_obj_py) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_cache); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 358, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_get); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 358, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_v_code_obj_py) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_code_obj_py); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 358, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":353 + * _cache: dict = {} + * + * def get_cached_code_obj_info_py(code_obj_py): # <<<<<<<<<<<<<< + * ''' + * :return _CacheValue: + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.get_cached_code_obj_info_py", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":368 + * cdef public set code_lines_as_set + * + * def __init__(self, object code_obj_py, _CodeLineInfo code_line_info, set breakpoints_hit_at_lines): # <<<<<<<<<<<<<< + * ''' + * :param code_obj_py: + */ + +/* Python wrapper */ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue___init__[] = "\n :param code_obj_py:\n :param _CodeLineInfo code_line_info:\n :param set[int] breakpoints_hit_at_lines:\n "; +#if CYTHON_UPDATE_DESCRIPTOR_DOC +struct wrapperbase __pyx_wrapperbase_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue___init__; +#endif +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_code_obj_py = 0; + struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *__pyx_v_code_line_info = 0; + PyObject *__pyx_v_breakpoints_hit_at_lines = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_code_obj_py,&__pyx_n_s_code_line_info,&__pyx_n_s_breakpoints_hit_at_lines,0}; + PyObject* values[3] = {0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_code_obj_py)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_code_line_info)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 1); __PYX_ERR(0, 368, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_breakpoints_hit_at_lines)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 2); __PYX_ERR(0, 368, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 368, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + } + __pyx_v_code_obj_py = values[0]; + __pyx_v_code_line_info = ((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *)values[1]); + __pyx_v_breakpoints_hit_at_lines = ((PyObject*)values[2]); + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 368, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator._CacheValue.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return -1; + __pyx_L4_argument_unpacking_done:; + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_code_line_info), __pyx_ptype_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo, 1, "code_line_info", 0))) __PYX_ERR(0, 368, __pyx_L1_error) + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_breakpoints_hit_at_lines), (&PySet_Type), 1, "breakpoints_hit_at_lines", 1))) __PYX_ERR(0, 368, __pyx_L1_error) + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue___init__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *)__pyx_v_self), __pyx_v_code_obj_py, __pyx_v_code_line_info, __pyx_v_breakpoints_hit_at_lines); + + /* function exit code */ + goto __pyx_L0; + __pyx_L1_error:; + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue___init__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *__pyx_v_self, PyObject *__pyx_v_code_obj_py, struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *__pyx_v_code_line_info, PyObject *__pyx_v_breakpoints_hit_at_lines) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__init__", 0); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":374 + * :param set[int] breakpoints_hit_at_lines: + * ''' + * self.code_obj_py = code_obj_py # <<<<<<<<<<<<<< + * self.code_line_info = code_line_info + * self.breakpoints_hit_at_lines = breakpoints_hit_at_lines + */ + __Pyx_INCREF(__pyx_v_code_obj_py); + __Pyx_GIVEREF(__pyx_v_code_obj_py); + __Pyx_GOTREF(__pyx_v_self->code_obj_py); + __Pyx_DECREF(__pyx_v_self->code_obj_py); + __pyx_v_self->code_obj_py = __pyx_v_code_obj_py; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":375 + * ''' + * self.code_obj_py = code_obj_py + * self.code_line_info = code_line_info # <<<<<<<<<<<<<< + * self.breakpoints_hit_at_lines = breakpoints_hit_at_lines + * self.code_lines_as_set = set(code_line_info.line_to_offset) + */ + __Pyx_INCREF(((PyObject *)__pyx_v_code_line_info)); + __Pyx_GIVEREF(((PyObject *)__pyx_v_code_line_info)); + __Pyx_GOTREF(__pyx_v_self->code_line_info); + __Pyx_DECREF(((PyObject *)__pyx_v_self->code_line_info)); + __pyx_v_self->code_line_info = __pyx_v_code_line_info; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":376 + * self.code_obj_py = code_obj_py + * self.code_line_info = code_line_info + * self.breakpoints_hit_at_lines = breakpoints_hit_at_lines # <<<<<<<<<<<<<< + * self.code_lines_as_set = set(code_line_info.line_to_offset) + * + */ + __Pyx_INCREF(__pyx_v_breakpoints_hit_at_lines); + __Pyx_GIVEREF(__pyx_v_breakpoints_hit_at_lines); + __Pyx_GOTREF(__pyx_v_self->breakpoints_hit_at_lines); + __Pyx_DECREF(__pyx_v_self->breakpoints_hit_at_lines); + __pyx_v_self->breakpoints_hit_at_lines = __pyx_v_breakpoints_hit_at_lines; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":377 + * self.code_line_info = code_line_info + * self.breakpoints_hit_at_lines = breakpoints_hit_at_lines + * self.code_lines_as_set = set(code_line_info.line_to_offset) # <<<<<<<<<<<<<< + * + * cpdef compute_force_stay_in_untraced_mode(self, breakpoints): + */ + __pyx_t_1 = PySet_New(__pyx_v_code_line_info->line_to_offset); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 377, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v_self->code_lines_as_set); + __Pyx_DECREF(__pyx_v_self->code_lines_as_set); + __pyx_v_self->code_lines_as_set = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":368 + * cdef public set code_lines_as_set + * + * def __init__(self, object code_obj_py, _CodeLineInfo code_line_info, set breakpoints_hit_at_lines): # <<<<<<<<<<<<<< + * ''' + * :param code_obj_py: + */ + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator._CacheValue.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":379 + * self.code_lines_as_set = set(code_line_info.line_to_offset) + * + * cpdef compute_force_stay_in_untraced_mode(self, breakpoints): # <<<<<<<<<<<<<< + * ''' + * :param breakpoints: + */ + +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_3compute_force_stay_in_untraced_mode(PyObject *__pyx_v_self, PyObject *__pyx_v_breakpoints); /*proto*/ +static PyObject *__pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_compute_force_stay_in_untraced_mode(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *__pyx_v_self, PyObject *__pyx_v_breakpoints, int __pyx_skip_dispatch) { + int __pyx_v_force_stay_in_untraced_mode; + int __pyx_v_breakpoint_found; + PyObject *__pyx_v_target_breakpoints = 0; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + int __pyx_t_5; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("compute_force_stay_in_untraced_mode", 0); + /* Check if called by wrapper */ + if (unlikely(__pyx_skip_dispatch)) ; + /* Check if overridden in Python */ + else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || (Py_TYPE(((PyObject *)__pyx_v_self))->tp_flags & (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) { + #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS + static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT; + if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) { + PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self)); + #endif + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_compute_force_stay_in_untraced_m); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 379, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_3compute_force_stay_in_untraced_mode)) { + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_t_1); + __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_v_breakpoints) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_breakpoints); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 379, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L0; + } + #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS + __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self)); + __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self)); + if (unlikely(__pyx_type_dict_guard != __pyx_tp_dict_version)) { + __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT; + } + #endif + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS + } + #endif + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":389 + * cdef set target_breakpoints + * + * force_stay_in_untraced_mode = False # <<<<<<<<<<<<<< + * + * target_breakpoints = self.code_lines_as_set.intersection(breakpoints) + */ + __pyx_v_force_stay_in_untraced_mode = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":391 + * force_stay_in_untraced_mode = False + * + * target_breakpoints = self.code_lines_as_set.intersection(breakpoints) # <<<<<<<<<<<<<< + * breakpoint_found = bool(target_breakpoints) + * + */ + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->code_lines_as_set, __pyx_n_s_intersection); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 391, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_breakpoints) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_breakpoints); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 391, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (!(likely(PySet_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "set", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(0, 391, __pyx_L1_error) + __pyx_v_target_breakpoints = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":392 + * + * target_breakpoints = self.code_lines_as_set.intersection(breakpoints) + * breakpoint_found = bool(target_breakpoints) # <<<<<<<<<<<<<< + * + * if not breakpoint_found: + */ + __pyx_t_5 = (__pyx_v_target_breakpoints != Py_None)&&(PySet_GET_SIZE(__pyx_v_target_breakpoints) != 0); + __pyx_v_breakpoint_found = (!(!__pyx_t_5)); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":394 + * breakpoint_found = bool(target_breakpoints) + * + * if not breakpoint_found: # <<<<<<<<<<<<<< + * force_stay_in_untraced_mode = True + * else: + */ + __pyx_t_5 = ((!(__pyx_v_breakpoint_found != 0)) != 0); + if (__pyx_t_5) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":395 + * + * if not breakpoint_found: + * force_stay_in_untraced_mode = True # <<<<<<<<<<<<<< + * else: + * force_stay_in_untraced_mode = self.breakpoints_hit_at_lines.issuperset(set(breakpoints)) + */ + __pyx_v_force_stay_in_untraced_mode = 1; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":394 + * breakpoint_found = bool(target_breakpoints) + * + * if not breakpoint_found: # <<<<<<<<<<<<<< + * force_stay_in_untraced_mode = True + * else: + */ + goto __pyx_L3; + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":397 + * force_stay_in_untraced_mode = True + * else: + * force_stay_in_untraced_mode = self.breakpoints_hit_at_lines.issuperset(set(breakpoints)) # <<<<<<<<<<<<<< + * + * return breakpoint_found, force_stay_in_untraced_mode + */ + /*else*/ { + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->breakpoints_hit_at_lines, __pyx_n_s_issuperset); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 397, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = PySet_New(__pyx_v_breakpoints); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 397, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 397, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 397, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_force_stay_in_untraced_mode = __pyx_t_5; + } + __pyx_L3:; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":399 + * force_stay_in_untraced_mode = self.breakpoints_hit_at_lines.issuperset(set(breakpoints)) + * + * return breakpoint_found, force_stay_in_untraced_mode # <<<<<<<<<<<<<< + * + * def generate_code_with_breakpoints_py(object code_obj_py, dict breakpoints): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_breakpoint_found); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 399, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_v_force_stay_in_untraced_mode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 399, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 399, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); + __pyx_t_1 = 0; + __pyx_t_2 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":379 + * self.code_lines_as_set = set(code_line_info.line_to_offset) + * + * cpdef compute_force_stay_in_untraced_mode(self, breakpoints): # <<<<<<<<<<<<<< + * ''' + * :param breakpoints: + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator._CacheValue.compute_force_stay_in_untraced_mode", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_target_breakpoints); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_3compute_force_stay_in_untraced_mode(PyObject *__pyx_v_self, PyObject *__pyx_v_breakpoints); /*proto*/ +static char __pyx_doc_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_2compute_force_stay_in_untraced_mode[] = "\n :param breakpoints:\n set(breakpoint_lines) or dict(breakpoint_line->breakpoint info)\n :return tuple(breakpoint_found, force_stay_in_untraced_mode)\n "; +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_3compute_force_stay_in_untraced_mode(PyObject *__pyx_v_self, PyObject *__pyx_v_breakpoints) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("compute_force_stay_in_untraced_mode (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_2compute_force_stay_in_untraced_mode(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *)__pyx_v_self), ((PyObject *)__pyx_v_breakpoints)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_2compute_force_stay_in_untraced_mode(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *__pyx_v_self, PyObject *__pyx_v_breakpoints) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("compute_force_stay_in_untraced_mode", 0); + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_compute_force_stay_in_untraced_mode(__pyx_v_self, __pyx_v_breakpoints, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 379, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator._CacheValue.compute_force_stay_in_untraced_mode", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":363 + * cdef class _CacheValue(object): + * + * cdef public object code_obj_py # <<<<<<<<<<<<<< + * cdef public _CodeLineInfo code_line_info + * cdef public set breakpoints_hit_at_lines + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_11code_obj_py_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_11code_obj_py_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_11code_obj_py___get__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_11code_obj_py___get__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->code_obj_py); + __pyx_r = __pyx_v_self->code_obj_py; + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_11code_obj_py_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_11code_obj_py_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_11code_obj_py_2__set__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_11code_obj_py_2__set__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__", 0); + __Pyx_INCREF(__pyx_v_value); + __Pyx_GIVEREF(__pyx_v_value); + __Pyx_GOTREF(__pyx_v_self->code_obj_py); + __Pyx_DECREF(__pyx_v_self->code_obj_py); + __pyx_v_self->code_obj_py = __pyx_v_value; + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_11code_obj_py_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_11code_obj_py_5__del__(PyObject *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_11code_obj_py_4__del__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_11code_obj_py_4__del__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__", 0); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->code_obj_py); + __Pyx_DECREF(__pyx_v_self->code_obj_py); + __pyx_v_self->code_obj_py = Py_None; + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":364 + * + * cdef public object code_obj_py + * cdef public _CodeLineInfo code_line_info # <<<<<<<<<<<<<< + * cdef public set breakpoints_hit_at_lines + * cdef public set code_lines_as_set + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_14code_line_info_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_14code_line_info_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_14code_line_info___get__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_14code_line_info___get__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_self->code_line_info)); + __pyx_r = ((PyObject *)__pyx_v_self->code_line_info); + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_14code_line_info_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_14code_line_info_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_14code_line_info_2__set__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_14code_line_info_2__set__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__set__", 0); + if (!(likely(((__pyx_v_value) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_value, __pyx_ptype_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo))))) __PYX_ERR(0, 364, __pyx_L1_error) + __pyx_t_1 = __pyx_v_value; + __Pyx_INCREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v_self->code_line_info); + __Pyx_DECREF(((PyObject *)__pyx_v_self->code_line_info)); + __pyx_v_self->code_line_info = ((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *)__pyx_t_1); + __pyx_t_1 = 0; + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator._CacheValue.code_line_info.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_14code_line_info_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_14code_line_info_5__del__(PyObject *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_14code_line_info_4__del__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_14code_line_info_4__del__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__", 0); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->code_line_info); + __Pyx_DECREF(((PyObject *)__pyx_v_self->code_line_info)); + __pyx_v_self->code_line_info = ((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *)Py_None); + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":365 + * cdef public object code_obj_py + * cdef public _CodeLineInfo code_line_info + * cdef public set breakpoints_hit_at_lines # <<<<<<<<<<<<<< + * cdef public set code_lines_as_set + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_24breakpoints_hit_at_lines_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_24breakpoints_hit_at_lines_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_24breakpoints_hit_at_lines___get__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_24breakpoints_hit_at_lines___get__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->breakpoints_hit_at_lines); + __pyx_r = __pyx_v_self->breakpoints_hit_at_lines; + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_24breakpoints_hit_at_lines_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_24breakpoints_hit_at_lines_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_24breakpoints_hit_at_lines_2__set__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_24breakpoints_hit_at_lines_2__set__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__set__", 0); + if (!(likely(PySet_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "set", Py_TYPE(__pyx_v_value)->tp_name), 0))) __PYX_ERR(0, 365, __pyx_L1_error) + __pyx_t_1 = __pyx_v_value; + __Pyx_INCREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v_self->breakpoints_hit_at_lines); + __Pyx_DECREF(__pyx_v_self->breakpoints_hit_at_lines); + __pyx_v_self->breakpoints_hit_at_lines = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator._CacheValue.breakpoints_hit_at_lines.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_24breakpoints_hit_at_lines_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_24breakpoints_hit_at_lines_5__del__(PyObject *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_24breakpoints_hit_at_lines_4__del__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_24breakpoints_hit_at_lines_4__del__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__", 0); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->breakpoints_hit_at_lines); + __Pyx_DECREF(__pyx_v_self->breakpoints_hit_at_lines); + __pyx_v_self->breakpoints_hit_at_lines = ((PyObject*)Py_None); + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":366 + * cdef public _CodeLineInfo code_line_info + * cdef public set breakpoints_hit_at_lines + * cdef public set code_lines_as_set # <<<<<<<<<<<<<< + * + * def __init__(self, object code_obj_py, _CodeLineInfo code_line_info, set breakpoints_hit_at_lines): + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_17code_lines_as_set_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_17code_lines_as_set_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_17code_lines_as_set___get__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_17code_lines_as_set___get__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->code_lines_as_set); + __pyx_r = __pyx_v_self->code_lines_as_set; + goto __pyx_L0; + + /* function exit code */ + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_17code_lines_as_set_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_17code_lines_as_set_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__set__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_17code_lines_as_set_2__set__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *)__pyx_v_self), ((PyObject *)__pyx_v_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_17code_lines_as_set_2__set__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *__pyx_v_self, PyObject *__pyx_v_value) { + int __pyx_r; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__set__", 0); + if (!(likely(PySet_CheckExact(__pyx_v_value))||((__pyx_v_value) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "set", Py_TYPE(__pyx_v_value)->tp_name), 0))) __PYX_ERR(0, 366, __pyx_L1_error) + __pyx_t_1 = __pyx_v_value; + __Pyx_INCREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v_self->code_lines_as_set); + __Pyx_DECREF(__pyx_v_self->code_lines_as_set); + __pyx_v_self->code_lines_as_set = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator._CacheValue.code_lines_as_set.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_17code_lines_as_set_5__del__(PyObject *__pyx_v_self); /*proto*/ +static int __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_17code_lines_as_set_5__del__(PyObject *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_17code_lines_as_set_4__del__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_17code_lines_as_set_4__del__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *__pyx_v_self) { + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__del__", 0); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->code_lines_as_set); + __Pyx_DECREF(__pyx_v_self->code_lines_as_set); + __pyx_v_self->code_lines_as_set = ((PyObject*)Py_None); + + /* function exit code */ + __pyx_r = 0; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * cdef tuple state + * cdef object _dict + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_4__reduce_cython__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_4__reduce_cython__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *__pyx_v_self) { + PyObject *__pyx_v_state = 0; + PyObject *__pyx_v__dict = 0; + int __pyx_v_use_setstate; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + int __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + int __pyx_t_5; + PyObject *__pyx_t_6 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__reduce_cython__", 0); + + /* "(tree fragment)":5 + * cdef object _dict + * cdef bint use_setstate + * state = (self.breakpoints_hit_at_lines, self.code_line_info, self.code_lines_as_set, self.code_obj_py) # <<<<<<<<<<<<<< + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: + */ + __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v_self->breakpoints_hit_at_lines); + __Pyx_GIVEREF(__pyx_v_self->breakpoints_hit_at_lines); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self->breakpoints_hit_at_lines); + __Pyx_INCREF(((PyObject *)__pyx_v_self->code_line_info)); + __Pyx_GIVEREF(((PyObject *)__pyx_v_self->code_line_info)); + PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self->code_line_info)); + __Pyx_INCREF(__pyx_v_self->code_lines_as_set); + __Pyx_GIVEREF(__pyx_v_self->code_lines_as_set); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_self->code_lines_as_set); + __Pyx_INCREF(__pyx_v_self->code_obj_py); + __Pyx_GIVEREF(__pyx_v_self->code_obj_py); + PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_self->code_obj_py); + __pyx_v_state = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "(tree fragment)":6 + * cdef bint use_setstate + * state = (self.breakpoints_hit_at_lines, self.code_line_info, self.code_lines_as_set, self.code_obj_py) + * _dict = getattr(self, '__dict__', None) # <<<<<<<<<<<<<< + * if _dict is not None: + * state += (_dict,) + */ + __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v__dict = __pyx_t_1; + __pyx_t_1 = 0; + + /* "(tree fragment)":7 + * state = (self.breakpoints_hit_at_lines, self.code_line_info, self.code_lines_as_set, self.code_obj_py) + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: # <<<<<<<<<<<<<< + * state += (_dict,) + * use_setstate = True + */ + __pyx_t_2 = (__pyx_v__dict != Py_None); + __pyx_t_3 = (__pyx_t_2 != 0); + if (__pyx_t_3) { + + /* "(tree fragment)":8 + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: + * state += (_dict,) # <<<<<<<<<<<<<< + * use_setstate = True + * else: + */ + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v__dict); + __Pyx_GIVEREF(__pyx_v__dict); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict); + __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 8, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4)); + __pyx_t_4 = 0; + + /* "(tree fragment)":9 + * if _dict is not None: + * state += (_dict,) + * use_setstate = True # <<<<<<<<<<<<<< + * else: + * use_setstate = self.breakpoints_hit_at_lines is not None or self.code_line_info is not None or self.code_lines_as_set is not None or self.code_obj_py is not None + */ + __pyx_v_use_setstate = 1; + + /* "(tree fragment)":7 + * state = (self.breakpoints_hit_at_lines, self.code_line_info, self.code_lines_as_set, self.code_obj_py) + * _dict = getattr(self, '__dict__', None) + * if _dict is not None: # <<<<<<<<<<<<<< + * state += (_dict,) + * use_setstate = True + */ + goto __pyx_L3; + } + + /* "(tree fragment)":11 + * use_setstate = True + * else: + * use_setstate = self.breakpoints_hit_at_lines is not None or self.code_line_info is not None or self.code_lines_as_set is not None or self.code_obj_py is not None # <<<<<<<<<<<<<< + * if use_setstate: + * return __pyx_unpickle__CacheValue, (type(self), 0x3d481b9, None), state + */ + /*else*/ { + __pyx_t_2 = (__pyx_v_self->breakpoints_hit_at_lines != ((PyObject*)Py_None)); + __pyx_t_5 = (__pyx_t_2 != 0); + if (!__pyx_t_5) { + } else { + __pyx_t_3 = __pyx_t_5; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_5 = (((PyObject *)__pyx_v_self->code_line_info) != Py_None); + __pyx_t_2 = (__pyx_t_5 != 0); + if (!__pyx_t_2) { + } else { + __pyx_t_3 = __pyx_t_2; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_2 = (__pyx_v_self->code_lines_as_set != ((PyObject*)Py_None)); + __pyx_t_5 = (__pyx_t_2 != 0); + if (!__pyx_t_5) { + } else { + __pyx_t_3 = __pyx_t_5; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_5 = (__pyx_v_self->code_obj_py != Py_None); + __pyx_t_2 = (__pyx_t_5 != 0); + __pyx_t_3 = __pyx_t_2; + __pyx_L4_bool_binop_done:; + __pyx_v_use_setstate = __pyx_t_3; + } + __pyx_L3:; + + /* "(tree fragment)":12 + * else: + * use_setstate = self.breakpoints_hit_at_lines is not None or self.code_line_info is not None or self.code_lines_as_set is not None or self.code_obj_py is not None + * if use_setstate: # <<<<<<<<<<<<<< + * return __pyx_unpickle__CacheValue, (type(self), 0x3d481b9, None), state + * else: + */ + __pyx_t_3 = (__pyx_v_use_setstate != 0); + if (__pyx_t_3) { + + /* "(tree fragment)":13 + * use_setstate = self.breakpoints_hit_at_lines is not None or self.code_line_info is not None or self.code_lines_as_set is not None or self.code_obj_py is not None + * if use_setstate: + * return __pyx_unpickle__CacheValue, (type(self), 0x3d481b9, None), state # <<<<<<<<<<<<<< + * else: + * return __pyx_unpickle__CacheValue, (type(self), 0x3d481b9, state) + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_pyx_unpickle__CacheValue); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_INCREF(__pyx_int_64258489); + __Pyx_GIVEREF(__pyx_int_64258489); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_64258489); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None); + __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_1); + __Pyx_INCREF(__pyx_v_state); + __Pyx_GIVEREF(__pyx_v_state); + PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_v_state); + __pyx_t_4 = 0; + __pyx_t_1 = 0; + __pyx_r = __pyx_t_6; + __pyx_t_6 = 0; + goto __pyx_L0; + + /* "(tree fragment)":12 + * else: + * use_setstate = self.breakpoints_hit_at_lines is not None or self.code_line_info is not None or self.code_lines_as_set is not None or self.code_obj_py is not None + * if use_setstate: # <<<<<<<<<<<<<< + * return __pyx_unpickle__CacheValue, (type(self), 0x3d481b9, None), state + * else: + */ + } + + /* "(tree fragment)":15 + * return __pyx_unpickle__CacheValue, (type(self), 0x3d481b9, None), state + * else: + * return __pyx_unpickle__CacheValue, (type(self), 0x3d481b9, state) # <<<<<<<<<<<<<< + * def __setstate_cython__(self, __pyx_state): + * __pyx_unpickle__CacheValue__set_state(self, __pyx_state) + */ + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_pyx_unpickle__CacheValue); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))); + __Pyx_INCREF(__pyx_int_64258489); + __Pyx_GIVEREF(__pyx_int_64258489); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_64258489); + __Pyx_INCREF(__pyx_v_state); + __Pyx_GIVEREF(__pyx_v_state); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state); + __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GIVEREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __pyx_t_6 = 0; + __pyx_t_1 = 0; + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; + goto __pyx_L0; + } + + /* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * cdef tuple state + * cdef object _dict + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator._CacheValue.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_state); + __Pyx_XDECREF(__pyx_v__dict); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":16 + * else: + * return __pyx_unpickle__CacheValue, (type(self), 0x3d481b9, state) + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * __pyx_unpickle__CacheValue__set_state(self, __pyx_state) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_6__setstate_cython__(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_6__setstate_cython__(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *__pyx_v_self, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__setstate_cython__", 0); + + /* "(tree fragment)":17 + * return __pyx_unpickle__CacheValue, (type(self), 0x3d481b9, state) + * def __setstate_cython__(self, __pyx_state): + * __pyx_unpickle__CacheValue__set_state(self, __pyx_state) # <<<<<<<<<<<<<< + */ + if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 17, __pyx_L1_error) + __pyx_t_1 = __pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator___pyx_unpickle__CacheValue__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "(tree fragment)":16 + * else: + * return __pyx_unpickle__CacheValue, (type(self), 0x3d481b9, state) + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * __pyx_unpickle__CacheValue__set_state(self, __pyx_state) + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator._CacheValue.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":401 + * return breakpoint_found, force_stay_in_untraced_mode + * + * def generate_code_with_breakpoints_py(object code_obj_py, dict breakpoints): # <<<<<<<<<<<<<< + * return generate_code_with_breakpoints(code_obj_py, breakpoints) + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_15generate_code_with_breakpoints_py(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_18_pydevd_frame_eval_22pydevd_frame_evaluator_15generate_code_with_breakpoints_py = {"generate_code_with_breakpoints_py", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_15generate_code_with_breakpoints_py, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_15generate_code_with_breakpoints_py(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_code_obj_py = 0; + PyObject *__pyx_v_breakpoints = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("generate_code_with_breakpoints_py (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_code_obj_py,&__pyx_n_s_breakpoints,0}; + PyObject* values[2] = {0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_code_obj_py)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_breakpoints)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("generate_code_with_breakpoints_py", 1, 2, 2, 1); __PYX_ERR(0, 401, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "generate_code_with_breakpoints_py") < 0)) __PYX_ERR(0, 401, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + } + __pyx_v_code_obj_py = values[0]; + __pyx_v_breakpoints = ((PyObject*)values[1]); + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("generate_code_with_breakpoints_py", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 401, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.generate_code_with_breakpoints_py", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_breakpoints), (&PyDict_Type), 1, "breakpoints", 1))) __PYX_ERR(0, 401, __pyx_L1_error) + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_14generate_code_with_breakpoints_py(__pyx_self, __pyx_v_code_obj_py, __pyx_v_breakpoints); + + /* function exit code */ + goto __pyx_L0; + __pyx_L1_error:; + __pyx_r = NULL; + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_14generate_code_with_breakpoints_py(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_code_obj_py, PyObject *__pyx_v_breakpoints) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("generate_code_with_breakpoints_py", 0); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":402 + * + * def generate_code_with_breakpoints_py(object code_obj_py, dict breakpoints): + * return generate_code_with_breakpoints(code_obj_py, breakpoints) # <<<<<<<<<<<<<< + * + * # DEBUG = True + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator_generate_code_with_breakpoints(__pyx_v_code_obj_py, __pyx_v_breakpoints); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 402, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":401 + * return breakpoint_found, force_stay_in_untraced_mode + * + * def generate_code_with_breakpoints_py(object code_obj_py, dict breakpoints): # <<<<<<<<<<<<<< + * return generate_code_with_breakpoints(code_obj_py, breakpoints) + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.generate_code_with_breakpoints_py", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":407 + * # debug_helper = DebugHelper() + * + * cdef generate_code_with_breakpoints(object code_obj_py, dict breakpoints): # <<<<<<<<<<<<<< + * ''' + * :param breakpoints: + */ + +static PyObject *__pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator_generate_code_with_breakpoints(PyObject *__pyx_v_code_obj_py, PyObject *__pyx_v_breakpoints) { + int __pyx_v_success; + int __pyx_v_breakpoint_line; + int __pyx_v_breakpoint_found; + struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *__pyx_v_cache_value = 0; + PyObject *__pyx_v_breakpoints_hit_at_lines = 0; + PyObject *__pyx_v_line_to_offset = 0; + PyObject *__pyx_v_code_line_info = NULL; + PyObject *__pyx_v_new_code = NULL; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + Py_ssize_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + int __pyx_t_7; + int __pyx_t_8; + int __pyx_t_9; + int __pyx_t_10; + PyObject *__pyx_t_11 = NULL; + PyObject *(*__pyx_t_12)(PyObject *); + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("generate_code_with_breakpoints", 0); + __Pyx_INCREF(__pyx_v_code_obj_py); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":424 + * cdef dict line_to_offset + * + * assert code_obj_py not in _cache, 'If a code object is cached, that same code object must be reused.' # <<<<<<<<<<<<<< + * + * # if DEBUG: + */ + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cache); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 424, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_v_code_obj_py, __pyx_t_1, Py_NE)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 424, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!(__pyx_t_2 != 0))) { + PyErr_SetObject(PyExc_AssertionError, __pyx_kp_s_If_a_code_object_is_cached_that); + __PYX_ERR(0, 424, __pyx_L1_error) + } + } + #endif + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":429 + * # initial_code_obj_py = code_obj_py + * + * code_line_info = _get_code_line_info(code_obj_py) # <<<<<<<<<<<<<< + * + * success = True + */ + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_get_code_line_info); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 429, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_v_code_obj_py) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_code_obj_py); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 429, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_code_line_info = __pyx_t_1; + __pyx_t_1 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":431 + * code_line_info = _get_code_line_info(code_obj_py) + * + * success = True # <<<<<<<<<<<<<< + * + * breakpoints_hit_at_lines = set() + */ + __pyx_v_success = 1; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":433 + * success = True + * + * breakpoints_hit_at_lines = set() # <<<<<<<<<<<<<< + * line_to_offset = code_line_info.line_to_offset + * + */ + __pyx_t_1 = PySet_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 433, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_breakpoints_hit_at_lines = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":434 + * + * breakpoints_hit_at_lines = set() + * line_to_offset = code_line_info.line_to_offset # <<<<<<<<<<<<<< + * + * for breakpoint_line in breakpoints: + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_code_line_info, __pyx_n_s_line_to_offset); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 434, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(PyDict_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(0, 434, __pyx_L1_error) + __pyx_v_line_to_offset = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":436 + * line_to_offset = code_line_info.line_to_offset + * + * for breakpoint_line in breakpoints: # <<<<<<<<<<<<<< + * if breakpoint_line in line_to_offset: + * breakpoints_hit_at_lines.add(breakpoint_line) + */ + __pyx_t_5 = 0; + if (unlikely(__pyx_v_breakpoints == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); + __PYX_ERR(0, 436, __pyx_L1_error) + } + __pyx_t_3 = __Pyx_dict_iterator(__pyx_v_breakpoints, 1, ((PyObject *)NULL), (&__pyx_t_6), (&__pyx_t_7)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 436, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_1); + __pyx_t_1 = __pyx_t_3; + __pyx_t_3 = 0; + while (1) { + __pyx_t_8 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_6, &__pyx_t_5, &__pyx_t_3, NULL, NULL, __pyx_t_7); + if (unlikely(__pyx_t_8 == 0)) break; + if (unlikely(__pyx_t_8 == -1)) __PYX_ERR(0, 436, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_8 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 436, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_breakpoint_line = __pyx_t_8; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":437 + * + * for breakpoint_line in breakpoints: + * if breakpoint_line in line_to_offset: # <<<<<<<<<<<<<< + * breakpoints_hit_at_lines.add(breakpoint_line) + * + */ + __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_breakpoint_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 437, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (unlikely(__pyx_v_line_to_offset == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); + __PYX_ERR(0, 437, __pyx_L1_error) + } + __pyx_t_2 = (__Pyx_PyDict_ContainsTF(__pyx_t_3, __pyx_v_line_to_offset, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 437, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_9 = (__pyx_t_2 != 0); + if (__pyx_t_9) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":438 + * for breakpoint_line in breakpoints: + * if breakpoint_line in line_to_offset: + * breakpoints_hit_at_lines.add(breakpoint_line) # <<<<<<<<<<<<<< + * + * if breakpoints_hit_at_lines: + */ + __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_breakpoint_line); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 438, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_10 = PySet_Add(__pyx_v_breakpoints_hit_at_lines, __pyx_t_3); if (unlikely(__pyx_t_10 == ((int)-1))) __PYX_ERR(0, 438, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":437 + * + * for breakpoint_line in breakpoints: + * if breakpoint_line in line_to_offset: # <<<<<<<<<<<<<< + * breakpoints_hit_at_lines.add(breakpoint_line) + * + */ + } + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":440 + * breakpoints_hit_at_lines.add(breakpoint_line) + * + * if breakpoints_hit_at_lines: # <<<<<<<<<<<<<< + * success, new_code = insert_pydevd_breaks( + * code_obj_py, + */ + __pyx_t_9 = (PySet_GET_SIZE(__pyx_v_breakpoints_hit_at_lines) != 0); + if (__pyx_t_9) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":441 + * + * if breakpoints_hit_at_lines: + * success, new_code = insert_pydevd_breaks( # <<<<<<<<<<<<<< + * code_obj_py, + * breakpoints_hit_at_lines, + */ + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_insert_pydevd_breaks); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 441, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":444 + * code_obj_py, + * breakpoints_hit_at_lines, + * code_line_info # <<<<<<<<<<<<<< + * ) + * + */ + __pyx_t_4 = NULL; + __pyx_t_7 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + __pyx_t_7 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_v_code_obj_py, __pyx_v_breakpoints_hit_at_lines, __pyx_v_code_line_info}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 441, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_v_code_obj_py, __pyx_v_breakpoints_hit_at_lines, __pyx_v_code_line_info}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 441, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else + #endif + { + __pyx_t_11 = PyTuple_New(3+__pyx_t_7); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 441, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); + if (__pyx_t_4) { + __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_4); __pyx_t_4 = NULL; + } + __Pyx_INCREF(__pyx_v_code_obj_py); + __Pyx_GIVEREF(__pyx_v_code_obj_py); + PyTuple_SET_ITEM(__pyx_t_11, 0+__pyx_t_7, __pyx_v_code_obj_py); + __Pyx_INCREF(__pyx_v_breakpoints_hit_at_lines); + __Pyx_GIVEREF(__pyx_v_breakpoints_hit_at_lines); + PyTuple_SET_ITEM(__pyx_t_11, 1+__pyx_t_7, __pyx_v_breakpoints_hit_at_lines); + __Pyx_INCREF(__pyx_v_code_line_info); + __Pyx_GIVEREF(__pyx_v_code_line_info); + PyTuple_SET_ITEM(__pyx_t_11, 2+__pyx_t_7, __pyx_v_code_line_info); + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_11, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 441, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) { + PyObject* sequence = __pyx_t_1; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 2)) { + if (size > 2) __Pyx_RaiseTooManyValuesError(2); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 441, __pyx_L1_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + if (likely(PyTuple_CheckExact(sequence))) { + __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_11 = PyTuple_GET_ITEM(sequence, 1); + } else { + __pyx_t_3 = PyList_GET_ITEM(sequence, 0); + __pyx_t_11 = PyList_GET_ITEM(sequence, 1); + } + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(__pyx_t_11); + #else + __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 441, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_11 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 441, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); + #endif + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } else { + Py_ssize_t index = -1; + __pyx_t_4 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 441, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_12 = Py_TYPE(__pyx_t_4)->tp_iternext; + index = 0; __pyx_t_3 = __pyx_t_12(__pyx_t_4); if (unlikely(!__pyx_t_3)) goto __pyx_L7_unpacking_failed; + __Pyx_GOTREF(__pyx_t_3); + index = 1; __pyx_t_11 = __pyx_t_12(__pyx_t_4); if (unlikely(!__pyx_t_11)) goto __pyx_L7_unpacking_failed; + __Pyx_GOTREF(__pyx_t_11); + if (__Pyx_IternextUnpackEndCheck(__pyx_t_12(__pyx_t_4), 2) < 0) __PYX_ERR(0, 441, __pyx_L1_error) + __pyx_t_12 = NULL; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L8_unpacking_done; + __pyx_L7_unpacking_failed:; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_12 = NULL; + if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); + __PYX_ERR(0, 441, __pyx_L1_error) + __pyx_L8_unpacking_done:; + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":441 + * + * if breakpoints_hit_at_lines: + * success, new_code = insert_pydevd_breaks( # <<<<<<<<<<<<<< + * code_obj_py, + * breakpoints_hit_at_lines, + */ + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 441, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_success = __pyx_t_9; + __pyx_v_new_code = __pyx_t_11; + __pyx_t_11 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":447 + * ) + * + * if not success: # <<<<<<<<<<<<<< + * code_obj_py = None + * else: + */ + __pyx_t_9 = ((!(__pyx_v_success != 0)) != 0); + if (__pyx_t_9) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":448 + * + * if not success: + * code_obj_py = None # <<<<<<<<<<<<<< + * else: + * code_obj_py = new_code + */ + __Pyx_INCREF(Py_None); + __Pyx_DECREF_SET(__pyx_v_code_obj_py, Py_None); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":447 + * ) + * + * if not success: # <<<<<<<<<<<<<< + * code_obj_py = None + * else: + */ + goto __pyx_L9; + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":450 + * code_obj_py = None + * else: + * code_obj_py = new_code # <<<<<<<<<<<<<< + * + * breakpoint_found = bool(breakpoints_hit_at_lines) + */ + /*else*/ { + __Pyx_INCREF(__pyx_v_new_code); + __Pyx_DECREF_SET(__pyx_v_code_obj_py, __pyx_v_new_code); + } + __pyx_L9:; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":440 + * breakpoints_hit_at_lines.add(breakpoint_line) + * + * if breakpoints_hit_at_lines: # <<<<<<<<<<<<<< + * success, new_code = insert_pydevd_breaks( + * code_obj_py, + */ + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":452 + * code_obj_py = new_code + * + * breakpoint_found = bool(breakpoints_hit_at_lines) # <<<<<<<<<<<<<< + * if breakpoint_found and success: + * # if DEBUG: + */ + __pyx_t_9 = (PySet_GET_SIZE(__pyx_v_breakpoints_hit_at_lines) != 0); + __pyx_v_breakpoint_found = (!(!__pyx_t_9)); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":453 + * + * breakpoint_found = bool(breakpoints_hit_at_lines) + * if breakpoint_found and success: # <<<<<<<<<<<<<< + * # if DEBUG: + * # op_number = debug_helper.write_dis( + */ + __pyx_t_2 = (__pyx_v_breakpoint_found != 0); + if (__pyx_t_2) { + } else { + __pyx_t_9 = __pyx_t_2; + goto __pyx_L11_bool_binop_done; + } + __pyx_t_2 = (__pyx_v_success != 0); + __pyx_t_9 = __pyx_t_2; + __pyx_L11_bool_binop_done:; + if (__pyx_t_9) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":466 + * # ) + * + * cache_value = _CacheValue(code_obj_py, code_line_info, breakpoints_hit_at_lines) # <<<<<<<<<<<<<< + * _cache[code_obj_py] = cache_value + * + */ + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 466, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v_code_obj_py); + __Pyx_GIVEREF(__pyx_v_code_obj_py); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_code_obj_py); + __Pyx_INCREF(__pyx_v_code_line_info); + __Pyx_GIVEREF(__pyx_v_code_line_info); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_code_line_info); + __Pyx_INCREF(__pyx_v_breakpoints_hit_at_lines); + __Pyx_GIVEREF(__pyx_v_breakpoints_hit_at_lines); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_breakpoints_hit_at_lines); + __pyx_t_11 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue), __pyx_t_1, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 466, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_cache_value = ((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *)__pyx_t_11); + __pyx_t_11 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":467 + * + * cache_value = _CacheValue(code_obj_py, code_line_info, breakpoints_hit_at_lines) + * _cache[code_obj_py] = cache_value # <<<<<<<<<<<<<< + * + * return breakpoint_found, code_obj_py + */ + __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_cache); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 467, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); + if (unlikely(PyObject_SetItem(__pyx_t_11, __pyx_v_code_obj_py, ((PyObject *)__pyx_v_cache_value)) < 0)) __PYX_ERR(0, 467, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":453 + * + * breakpoint_found = bool(breakpoints_hit_at_lines) + * if breakpoint_found and success: # <<<<<<<<<<<<<< + * # if DEBUG: + * # op_number = debug_helper.write_dis( + */ + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":469 + * _cache[code_obj_py] = cache_value + * + * return breakpoint_found, code_obj_py # <<<<<<<<<<<<<< + * + * import sys + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_11 = __Pyx_PyBool_FromLong(__pyx_v_breakpoint_found); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 469, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 469, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_11); + __Pyx_INCREF(__pyx_v_code_obj_py); + __Pyx_GIVEREF(__pyx_v_code_obj_py); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_code_obj_py); + __pyx_t_11 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":407 + * # debug_helper = DebugHelper() + * + * cdef generate_code_with_breakpoints(object code_obj_py, dict breakpoints): # <<<<<<<<<<<<<< + * ''' + * :param breakpoints: + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.generate_code_with_breakpoints", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XDECREF((PyObject *)__pyx_v_cache_value); + __Pyx_XDECREF(__pyx_v_breakpoints_hit_at_lines); + __Pyx_XDECREF(__pyx_v_line_to_offset); + __Pyx_XDECREF(__pyx_v_code_line_info); + __Pyx_XDECREF(__pyx_v_new_code); + __Pyx_XDECREF(__pyx_v_code_obj_py); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":475 + * cdef bint IS_PY_39_OWNARDS = sys.version_info[:2] >= (3, 9) + * + * def frame_eval_func(): # <<<<<<<<<<<<<< + * cdef PyThreadState *state = PyThreadState_Get() + * if IS_PY_39_OWNARDS: + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_17frame_eval_func(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyMethodDef __pyx_mdef_18_pydevd_frame_eval_22pydevd_frame_evaluator_17frame_eval_func = {"frame_eval_func", (PyCFunction)__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_17frame_eval_func, METH_NOARGS, 0}; +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_17frame_eval_func(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("frame_eval_func (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_16frame_eval_func(__pyx_self); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_16frame_eval_func(CYTHON_UNUSED PyObject *__pyx_self) { + PyThreadState *__pyx_v_state; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("frame_eval_func", 0); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":476 + * + * def frame_eval_func(): + * cdef PyThreadState *state = PyThreadState_Get() # <<<<<<<<<<<<<< + * if IS_PY_39_OWNARDS: + * state.interp.eval_frame = <_PyFrameEvalFunction *> get_bytecode_while_frame_eval_39 + */ + __pyx_v_state = PyThreadState_Get(); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":477 + * def frame_eval_func(): + * cdef PyThreadState *state = PyThreadState_Get() + * if IS_PY_39_OWNARDS: # <<<<<<<<<<<<<< + * state.interp.eval_frame = <_PyFrameEvalFunction *> get_bytecode_while_frame_eval_39 + * else: + */ + __pyx_t_1 = (__pyx_v_18_pydevd_frame_eval_22pydevd_frame_evaluator_IS_PY_39_OWNARDS != 0); + if (__pyx_t_1) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":478 + * cdef PyThreadState *state = PyThreadState_Get() + * if IS_PY_39_OWNARDS: + * state.interp.eval_frame = <_PyFrameEvalFunction *> get_bytecode_while_frame_eval_39 # <<<<<<<<<<<<<< + * else: + * state.interp.eval_frame = <_PyFrameEvalFunction *> get_bytecode_while_frame_eval_38 + */ + __pyx_v_state->interp->eval_frame = ((_PyFrameEvalFunction *)__pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator_get_bytecode_while_frame_eval_39); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":477 + * def frame_eval_func(): + * cdef PyThreadState *state = PyThreadState_Get() + * if IS_PY_39_OWNARDS: # <<<<<<<<<<<<<< + * state.interp.eval_frame = <_PyFrameEvalFunction *> get_bytecode_while_frame_eval_39 + * else: + */ + goto __pyx_L3; + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":480 + * state.interp.eval_frame = <_PyFrameEvalFunction *> get_bytecode_while_frame_eval_39 + * else: + * state.interp.eval_frame = <_PyFrameEvalFunction *> get_bytecode_while_frame_eval_38 # <<<<<<<<<<<<<< + * dummy_tracing_holder.set_trace_func(dummy_trace_dispatch) + * + */ + /*else*/ { + __pyx_v_state->interp->eval_frame = ((_PyFrameEvalFunction *)__pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator_get_bytecode_while_frame_eval_38); + } + __pyx_L3:; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":481 + * else: + * state.interp.eval_frame = <_PyFrameEvalFunction *> get_bytecode_while_frame_eval_38 + * dummy_tracing_holder.set_trace_func(dummy_trace_dispatch) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_dummy_tracing_holder); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 481, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_set_trace_func); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 481, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_dummy_trace_dispatch); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 481, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 481, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":475 + * cdef bint IS_PY_39_OWNARDS = sys.version_info[:2] >= (3, 9) + * + * def frame_eval_func(): # <<<<<<<<<<<<<< + * cdef PyThreadState *state = PyThreadState_Get() + * if IS_PY_39_OWNARDS: + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.frame_eval_func", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":484 + * + * + * def stop_frame_eval(): # <<<<<<<<<<<<<< + * cdef PyThreadState *state = PyThreadState_Get() + * state.interp.eval_frame = _PyEval_EvalFrameDefault + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_19stop_frame_eval(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyMethodDef __pyx_mdef_18_pydevd_frame_eval_22pydevd_frame_evaluator_19stop_frame_eval = {"stop_frame_eval", (PyCFunction)__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_19stop_frame_eval, METH_NOARGS, 0}; +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_19stop_frame_eval(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("stop_frame_eval (wrapper)", 0); + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_18stop_frame_eval(__pyx_self); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_18stop_frame_eval(CYTHON_UNUSED PyObject *__pyx_self) { + PyThreadState *__pyx_v_state; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("stop_frame_eval", 0); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":485 + * + * def stop_frame_eval(): + * cdef PyThreadState *state = PyThreadState_Get() # <<<<<<<<<<<<<< + * state.interp.eval_frame = _PyEval_EvalFrameDefault + * + */ + __pyx_v_state = PyThreadState_Get(); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":486 + * def stop_frame_eval(): + * cdef PyThreadState *state = PyThreadState_Get() + * state.interp.eval_frame = _PyEval_EvalFrameDefault # <<<<<<<<<<<<<< + * + * # During the build we'll generate 2 versions of the code below so that we're compatible with + */ + __pyx_v_state->interp->eval_frame = _PyEval_EvalFrameDefault; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":484 + * + * + * def stop_frame_eval(): # <<<<<<<<<<<<<< + * cdef PyThreadState *state = PyThreadState_Get() + * state.interp.eval_frame = _PyEval_EvalFrameDefault + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":494 + * ### WARNING: GENERATED CODE, DO NOT EDIT! + * ### WARNING: GENERATED CODE, DO NOT EDIT! + * cdef PyObject * get_bytecode_while_frame_eval_38(PyFrameObject * frame_obj, int exc): # <<<<<<<<<<<<<< + * ''' + * This function makes the actual evaluation and changes the bytecode to a version + */ + +static PyObject *__pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator_get_bytecode_while_frame_eval_38(PyFrameObject *__pyx_v_frame_obj, int __pyx_v_exc) { + struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_v_thread_info = 0; + CYTHON_UNUSED int __pyx_v_STATE_SUSPEND; + int __pyx_v_CMD_STEP_INTO; + int __pyx_v_CMD_STEP_OVER; + int __pyx_v_CMD_STEP_OVER_MY_CODE; + int __pyx_v_CMD_STEP_INTO_MY_CODE; + int __pyx_v_CMD_STEP_INTO_COROUTINE; + int __pyx_v_CMD_SMART_STEP_INTO; + int __pyx_v_can_skip; + struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_additional_info = 0; + PyObject *__pyx_v_main_debugger = 0; + PyObject *__pyx_v_frame = NULL; + PyObject *__pyx_v_trace_func = NULL; + PyObject *__pyx_v_apply_to_global = NULL; + struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_v_func_code_info = 0; + PyObject *__pyx_v_old = NULL; + PyObject *__pyx_r; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + int __pyx_t_3; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + int __pyx_t_11; + PyObject *(*__pyx_t_12)(PyObject *); + int __pyx_t_13; + char const *__pyx_t_14; + PyObject *__pyx_t_15 = NULL; + PyObject *__pyx_t_16 = NULL; + PyObject *__pyx_t_17 = NULL; + PyObject *__pyx_t_18; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("get_bytecode_while_frame_eval_38", 0); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":499 + * where programmatic breakpoints are added. + * ''' + * if GlobalDebuggerHolder is None or _thread_local_info is None or exc: # <<<<<<<<<<<<<< + * # Sometimes during process shutdown these global variables become None + * return CALL_EvalFrameDefault_38(frame_obj, exc) + */ + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_GlobalDebuggerHolder); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 499, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = (__pyx_t_2 == Py_None); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_4 = (__pyx_t_3 != 0); + if (!__pyx_t_4) { + } else { + __pyx_t_1 = __pyx_t_4; + goto __pyx_L4_bool_binop_done; + } + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_thread_local_info); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 499, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = (__pyx_t_2 == Py_None); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_3 = (__pyx_t_4 != 0); + if (!__pyx_t_3) { + } else { + __pyx_t_1 = __pyx_t_3; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_3 = (__pyx_v_exc != 0); + __pyx_t_1 = __pyx_t_3; + __pyx_L4_bool_binop_done:; + if (__pyx_t_1) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":501 + * if GlobalDebuggerHolder is None or _thread_local_info is None or exc: + * # Sometimes during process shutdown these global variables become None + * return CALL_EvalFrameDefault_38(frame_obj, exc) # <<<<<<<<<<<<<< + * + * # co_filename: str = frame_obj.f_code.co_filename + */ + __pyx_r = CALL_EvalFrameDefault_38(__pyx_v_frame_obj, __pyx_v_exc); + goto __pyx_L0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":499 + * where programmatic breakpoints are added. + * ''' + * if GlobalDebuggerHolder is None or _thread_local_info is None or exc: # <<<<<<<<<<<<<< + * # Sometimes during process shutdown these global variables become None + * return CALL_EvalFrameDefault_38(frame_obj, exc) + */ + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":508 + * + * cdef ThreadInfo thread_info + * cdef int STATE_SUSPEND = 2 # <<<<<<<<<<<<<< + * cdef int CMD_STEP_INTO = 107 + * cdef int CMD_STEP_OVER = 108 + */ + __pyx_v_STATE_SUSPEND = 2; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":509 + * cdef ThreadInfo thread_info + * cdef int STATE_SUSPEND = 2 + * cdef int CMD_STEP_INTO = 107 # <<<<<<<<<<<<<< + * cdef int CMD_STEP_OVER = 108 + * cdef int CMD_STEP_OVER_MY_CODE = 159 + */ + __pyx_v_CMD_STEP_INTO = 0x6B; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":510 + * cdef int STATE_SUSPEND = 2 + * cdef int CMD_STEP_INTO = 107 + * cdef int CMD_STEP_OVER = 108 # <<<<<<<<<<<<<< + * cdef int CMD_STEP_OVER_MY_CODE = 159 + * cdef int CMD_STEP_INTO_MY_CODE = 144 + */ + __pyx_v_CMD_STEP_OVER = 0x6C; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":511 + * cdef int CMD_STEP_INTO = 107 + * cdef int CMD_STEP_OVER = 108 + * cdef int CMD_STEP_OVER_MY_CODE = 159 # <<<<<<<<<<<<<< + * cdef int CMD_STEP_INTO_MY_CODE = 144 + * cdef int CMD_STEP_INTO_COROUTINE = 206 + */ + __pyx_v_CMD_STEP_OVER_MY_CODE = 0x9F; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":512 + * cdef int CMD_STEP_OVER = 108 + * cdef int CMD_STEP_OVER_MY_CODE = 159 + * cdef int CMD_STEP_INTO_MY_CODE = 144 # <<<<<<<<<<<<<< + * cdef int CMD_STEP_INTO_COROUTINE = 206 + * cdef int CMD_SMART_STEP_INTO = 128 + */ + __pyx_v_CMD_STEP_INTO_MY_CODE = 0x90; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":513 + * cdef int CMD_STEP_OVER_MY_CODE = 159 + * cdef int CMD_STEP_INTO_MY_CODE = 144 + * cdef int CMD_STEP_INTO_COROUTINE = 206 # <<<<<<<<<<<<<< + * cdef int CMD_SMART_STEP_INTO = 128 + * cdef bint can_skip = True + */ + __pyx_v_CMD_STEP_INTO_COROUTINE = 0xCE; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":514 + * cdef int CMD_STEP_INTO_MY_CODE = 144 + * cdef int CMD_STEP_INTO_COROUTINE = 206 + * cdef int CMD_SMART_STEP_INTO = 128 # <<<<<<<<<<<<<< + * cdef bint can_skip = True + * try: + */ + __pyx_v_CMD_SMART_STEP_INTO = 0x80; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":515 + * cdef int CMD_STEP_INTO_COROUTINE = 206 + * cdef int CMD_SMART_STEP_INTO = 128 + * cdef bint can_skip = True # <<<<<<<<<<<<<< + * try: + * thread_info = _thread_local_info.thread_info + */ + __pyx_v_can_skip = 1; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":516 + * cdef int CMD_SMART_STEP_INTO = 128 + * cdef bint can_skip = True + * try: # <<<<<<<<<<<<<< + * thread_info = _thread_local_info.thread_info + * except: + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_5); + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_7); + /*try:*/ { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":517 + * cdef bint can_skip = True + * try: + * thread_info = _thread_local_info.thread_info # <<<<<<<<<<<<<< + * except: + * thread_info = get_thread_info(frame_obj) + */ + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_thread_local_info); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 517, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_thread_info); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 517, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (!(likely(((__pyx_t_8) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_8, __pyx_ptype_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo))))) __PYX_ERR(0, 517, __pyx_L7_error) + __pyx_v_thread_info = ((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *)__pyx_t_8); + __pyx_t_8 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":516 + * cdef int CMD_SMART_STEP_INTO = 128 + * cdef bint can_skip = True + * try: # <<<<<<<<<<<<<< + * thread_info = _thread_local_info.thread_info + * except: + */ + } + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":518 + * try: + * thread_info = _thread_local_info.thread_info + * except: # <<<<<<<<<<<<<< + * thread_info = get_thread_info(frame_obj) + * if thread_info is None: + */ + /*except:*/ { + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.get_bytecode_while_frame_eval_38", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_9) < 0) __PYX_ERR(0, 518, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_9); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":519 + * thread_info = _thread_local_info.thread_info + * except: + * thread_info = get_thread_info(frame_obj) # <<<<<<<<<<<<<< + * if thread_info is None: + * return CALL_EvalFrameDefault_38(frame_obj, exc) + */ + __pyx_t_10 = ((PyObject *)__pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator_get_thread_info(__pyx_v_frame_obj)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 519, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_XDECREF_SET(__pyx_v_thread_info, ((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *)__pyx_t_10)); + __pyx_t_10 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":520 + * except: + * thread_info = get_thread_info(frame_obj) + * if thread_info is None: # <<<<<<<<<<<<<< + * return CALL_EvalFrameDefault_38(frame_obj, exc) + * + */ + __pyx_t_1 = (((PyObject *)__pyx_v_thread_info) == Py_None); + __pyx_t_3 = (__pyx_t_1 != 0); + if (__pyx_t_3) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":521 + * thread_info = get_thread_info(frame_obj) + * if thread_info is None: + * return CALL_EvalFrameDefault_38(frame_obj, exc) # <<<<<<<<<<<<<< + * + * if thread_info.inside_frame_eval: + */ + __pyx_r = CALL_EvalFrameDefault_38(__pyx_v_frame_obj, __pyx_v_exc); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + goto __pyx_L10_except_return; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":520 + * except: + * thread_info = get_thread_info(frame_obj) + * if thread_info is None: # <<<<<<<<<<<<<< + * return CALL_EvalFrameDefault_38(frame_obj, exc) + * + */ + } + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":516 + * cdef int CMD_SMART_STEP_INTO = 128 + * cdef bint can_skip = True + * try: # <<<<<<<<<<<<<< + * thread_info = _thread_local_info.thread_info + * except: + */ + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7); + goto __pyx_L1_error; + __pyx_L10_except_return:; + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7); + goto __pyx_L0; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7); + __pyx_L12_try_end:; + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":523 + * return CALL_EvalFrameDefault_38(frame_obj, exc) + * + * if thread_info.inside_frame_eval: # <<<<<<<<<<<<<< + * return CALL_EvalFrameDefault_38(frame_obj, exc) + * + */ + __pyx_t_3 = (__pyx_v_thread_info->inside_frame_eval != 0); + if (__pyx_t_3) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":524 + * + * if thread_info.inside_frame_eval: + * return CALL_EvalFrameDefault_38(frame_obj, exc) # <<<<<<<<<<<<<< + * + * if not thread_info.fully_initialized: + */ + __pyx_r = CALL_EvalFrameDefault_38(__pyx_v_frame_obj, __pyx_v_exc); + goto __pyx_L0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":523 + * return CALL_EvalFrameDefault_38(frame_obj, exc) + * + * if thread_info.inside_frame_eval: # <<<<<<<<<<<<<< + * return CALL_EvalFrameDefault_38(frame_obj, exc) + * + */ + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":526 + * return CALL_EvalFrameDefault_38(frame_obj, exc) + * + * if not thread_info.fully_initialized: # <<<<<<<<<<<<<< + * thread_info.initialize_if_possible() + * if not thread_info.fully_initialized: + */ + __pyx_t_3 = ((!(__pyx_v_thread_info->fully_initialized != 0)) != 0); + if (__pyx_t_3) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":527 + * + * if not thread_info.fully_initialized: + * thread_info.initialize_if_possible() # <<<<<<<<<<<<<< + * if not thread_info.fully_initialized: + * return CALL_EvalFrameDefault_38(frame_obj, exc) + */ + __pyx_t_9 = ((struct __pyx_vtabstruct_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *)__pyx_v_thread_info->__pyx_vtab)->initialize_if_possible(__pyx_v_thread_info); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 527, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":528 + * if not thread_info.fully_initialized: + * thread_info.initialize_if_possible() + * if not thread_info.fully_initialized: # <<<<<<<<<<<<<< + * return CALL_EvalFrameDefault_38(frame_obj, exc) + * + */ + __pyx_t_3 = ((!(__pyx_v_thread_info->fully_initialized != 0)) != 0); + if (__pyx_t_3) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":529 + * thread_info.initialize_if_possible() + * if not thread_info.fully_initialized: + * return CALL_EvalFrameDefault_38(frame_obj, exc) # <<<<<<<<<<<<<< + * + * # Can only get additional_info when fully initialized. + */ + __pyx_r = CALL_EvalFrameDefault_38(__pyx_v_frame_obj, __pyx_v_exc); + goto __pyx_L0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":528 + * if not thread_info.fully_initialized: + * thread_info.initialize_if_possible() + * if not thread_info.fully_initialized: # <<<<<<<<<<<<<< + * return CALL_EvalFrameDefault_38(frame_obj, exc) + * + */ + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":526 + * return CALL_EvalFrameDefault_38(frame_obj, exc) + * + * if not thread_info.fully_initialized: # <<<<<<<<<<<<<< + * thread_info.initialize_if_possible() + * if not thread_info.fully_initialized: + */ + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":532 + * + * # Can only get additional_info when fully initialized. + * cdef PyDBAdditionalThreadInfo additional_info = thread_info.additional_info # <<<<<<<<<<<<<< + * if thread_info.is_pydevd_thread or additional_info.is_tracing: + * # Make sure that we don't trace pydevd threads or inside our own calls. + */ + __pyx_t_9 = ((PyObject *)__pyx_v_thread_info->additional_info); + __Pyx_INCREF(__pyx_t_9); + __pyx_v_additional_info = ((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_t_9); + __pyx_t_9 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":533 + * # Can only get additional_info when fully initialized. + * cdef PyDBAdditionalThreadInfo additional_info = thread_info.additional_info + * if thread_info.is_pydevd_thread or additional_info.is_tracing: # <<<<<<<<<<<<<< + * # Make sure that we don't trace pydevd threads or inside our own calls. + * return CALL_EvalFrameDefault_38(frame_obj, exc) + */ + __pyx_t_1 = (__pyx_v_thread_info->is_pydevd_thread != 0); + if (!__pyx_t_1) { + } else { + __pyx_t_3 = __pyx_t_1; + goto __pyx_L20_bool_binop_done; + } + __pyx_t_1 = (__pyx_v_additional_info->is_tracing != 0); + __pyx_t_3 = __pyx_t_1; + __pyx_L20_bool_binop_done:; + if (__pyx_t_3) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":535 + * if thread_info.is_pydevd_thread or additional_info.is_tracing: + * # Make sure that we don't trace pydevd threads or inside our own calls. + * return CALL_EvalFrameDefault_38(frame_obj, exc) # <<<<<<<<<<<<<< + * + * # frame = frame_obj + */ + __pyx_r = CALL_EvalFrameDefault_38(__pyx_v_frame_obj, __pyx_v_exc); + goto __pyx_L0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":533 + * # Can only get additional_info when fully initialized. + * cdef PyDBAdditionalThreadInfo additional_info = thread_info.additional_info + * if thread_info.is_pydevd_thread or additional_info.is_tracing: # <<<<<<<<<<<<<< + * # Make sure that we don't trace pydevd threads or inside our own calls. + * return CALL_EvalFrameDefault_38(frame_obj, exc) + */ + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":542 + * # print('get_bytecode_while_frame_eval', frame.f_lineno, frame.f_code.co_name, frame.f_code.co_filename) + * + * thread_info.inside_frame_eval += 1 # <<<<<<<<<<<<<< + * additional_info.is_tracing = True + * try: + */ + __pyx_v_thread_info->inside_frame_eval = (__pyx_v_thread_info->inside_frame_eval + 1); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":543 + * + * thread_info.inside_frame_eval += 1 + * additional_info.is_tracing = True # <<<<<<<<<<<<<< + * try: + * main_debugger: object = GlobalDebuggerHolder.global_dbg + */ + __pyx_v_additional_info->is_tracing = 1; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":544 + * thread_info.inside_frame_eval += 1 + * additional_info.is_tracing = True + * try: # <<<<<<<<<<<<<< + * main_debugger: object = GlobalDebuggerHolder.global_dbg + * if main_debugger is None: + */ + /*try:*/ { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":545 + * additional_info.is_tracing = True + * try: + * main_debugger: object = GlobalDebuggerHolder.global_dbg # <<<<<<<<<<<<<< + * if main_debugger is None: + * return CALL_EvalFrameDefault_38(frame_obj, exc) + */ + __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_GlobalDebuggerHolder); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 545, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_global_dbg); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 545, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_v_main_debugger = __pyx_t_2; + __pyx_t_2 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":546 + * try: + * main_debugger: object = GlobalDebuggerHolder.global_dbg + * if main_debugger is None: # <<<<<<<<<<<<<< + * return CALL_EvalFrameDefault_38(frame_obj, exc) + * frame = frame_obj + */ + __pyx_t_3 = (__pyx_v_main_debugger == Py_None); + __pyx_t_1 = (__pyx_t_3 != 0); + if (__pyx_t_1) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":547 + * main_debugger: object = GlobalDebuggerHolder.global_dbg + * if main_debugger is None: + * return CALL_EvalFrameDefault_38(frame_obj, exc) # <<<<<<<<<<<<<< + * frame = frame_obj + * + */ + __pyx_r = CALL_EvalFrameDefault_38(__pyx_v_frame_obj, __pyx_v_exc); + goto __pyx_L22_return; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":546 + * try: + * main_debugger: object = GlobalDebuggerHolder.global_dbg + * if main_debugger is None: # <<<<<<<<<<<<<< + * return CALL_EvalFrameDefault_38(frame_obj, exc) + * frame = frame_obj + */ + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":548 + * if main_debugger is None: + * return CALL_EvalFrameDefault_38(frame_obj, exc) + * frame = frame_obj # <<<<<<<<<<<<<< + * + * if thread_info.thread_trace_func is None: + */ + __pyx_t_2 = ((PyObject *)__pyx_v_frame_obj); + __Pyx_INCREF(__pyx_t_2); + __pyx_v_frame = __pyx_t_2; + __pyx_t_2 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":550 + * frame = frame_obj + * + * if thread_info.thread_trace_func is None: # <<<<<<<<<<<<<< + * trace_func, apply_to_global = fix_top_level_trace_and_get_trace_func(main_debugger, frame) + * if apply_to_global: + */ + __pyx_t_1 = (__pyx_v_thread_info->thread_trace_func == Py_None); + __pyx_t_3 = (__pyx_t_1 != 0); + if (__pyx_t_3) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":551 + * + * if thread_info.thread_trace_func is None: + * trace_func, apply_to_global = fix_top_level_trace_and_get_trace_func(main_debugger, frame) # <<<<<<<<<<<<<< + * if apply_to_global: + * thread_info.thread_trace_func = trace_func + */ + __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_fix_top_level_trace_and_get_trac); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 551, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_8 = NULL; + __pyx_t_11 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_9, function); + __pyx_t_11 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_9)) { + PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_main_debugger, __pyx_v_frame}; + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 551, __pyx_L23_error) + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) { + PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_main_debugger, __pyx_v_frame}; + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 551, __pyx_L23_error) + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + { + __pyx_t_10 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 551, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_10); + if (__pyx_t_8) { + __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_8); __pyx_t_8 = NULL; + } + __Pyx_INCREF(__pyx_v_main_debugger); + __Pyx_GIVEREF(__pyx_v_main_debugger); + PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_11, __pyx_v_main_debugger); + __Pyx_INCREF(__pyx_v_frame); + __Pyx_GIVEREF(__pyx_v_frame); + PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_11, __pyx_v_frame); + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_10, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 551, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + } + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + if ((likely(PyTuple_CheckExact(__pyx_t_2))) || (PyList_CheckExact(__pyx_t_2))) { + PyObject* sequence = __pyx_t_2; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 2)) { + if (size > 2) __Pyx_RaiseTooManyValuesError(2); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 551, __pyx_L23_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + if (likely(PyTuple_CheckExact(sequence))) { + __pyx_t_9 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_10 = PyTuple_GET_ITEM(sequence, 1); + } else { + __pyx_t_9 = PyList_GET_ITEM(sequence, 0); + __pyx_t_10 = PyList_GET_ITEM(sequence, 1); + } + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(__pyx_t_10); + #else + __pyx_t_9 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 551, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_10 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 551, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_10); + #endif + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + } else { + Py_ssize_t index = -1; + __pyx_t_8 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 551, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_12 = Py_TYPE(__pyx_t_8)->tp_iternext; + index = 0; __pyx_t_9 = __pyx_t_12(__pyx_t_8); if (unlikely(!__pyx_t_9)) goto __pyx_L27_unpacking_failed; + __Pyx_GOTREF(__pyx_t_9); + index = 1; __pyx_t_10 = __pyx_t_12(__pyx_t_8); if (unlikely(!__pyx_t_10)) goto __pyx_L27_unpacking_failed; + __Pyx_GOTREF(__pyx_t_10); + if (__Pyx_IternextUnpackEndCheck(__pyx_t_12(__pyx_t_8), 2) < 0) __PYX_ERR(0, 551, __pyx_L23_error) + __pyx_t_12 = NULL; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L28_unpacking_done; + __pyx_L27_unpacking_failed:; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_12 = NULL; + if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); + __PYX_ERR(0, 551, __pyx_L23_error) + __pyx_L28_unpacking_done:; + } + __pyx_v_trace_func = __pyx_t_9; + __pyx_t_9 = 0; + __pyx_v_apply_to_global = __pyx_t_10; + __pyx_t_10 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":552 + * if thread_info.thread_trace_func is None: + * trace_func, apply_to_global = fix_top_level_trace_and_get_trace_func(main_debugger, frame) + * if apply_to_global: # <<<<<<<<<<<<<< + * thread_info.thread_trace_func = trace_func + * + */ + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_apply_to_global); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 552, __pyx_L23_error) + if (__pyx_t_3) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":553 + * trace_func, apply_to_global = fix_top_level_trace_and_get_trace_func(main_debugger, frame) + * if apply_to_global: + * thread_info.thread_trace_func = trace_func # <<<<<<<<<<<<<< + * + * if additional_info.pydev_step_cmd in (CMD_STEP_INTO, CMD_STEP_INTO_MY_CODE, CMD_STEP_INTO_COROUTINE, CMD_SMART_STEP_INTO) or \ + */ + __Pyx_INCREF(__pyx_v_trace_func); + __Pyx_GIVEREF(__pyx_v_trace_func); + __Pyx_GOTREF(__pyx_v_thread_info->thread_trace_func); + __Pyx_DECREF(__pyx_v_thread_info->thread_trace_func); + __pyx_v_thread_info->thread_trace_func = __pyx_v_trace_func; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":552 + * if thread_info.thread_trace_func is None: + * trace_func, apply_to_global = fix_top_level_trace_and_get_trace_func(main_debugger, frame) + * if apply_to_global: # <<<<<<<<<<<<<< + * thread_info.thread_trace_func = trace_func + * + */ + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":550 + * frame = frame_obj + * + * if thread_info.thread_trace_func is None: # <<<<<<<<<<<<<< + * trace_func, apply_to_global = fix_top_level_trace_and_get_trace_func(main_debugger, frame) + * if apply_to_global: + */ + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":555 + * thread_info.thread_trace_func = trace_func + * + * if additional_info.pydev_step_cmd in (CMD_STEP_INTO, CMD_STEP_INTO_MY_CODE, CMD_STEP_INTO_COROUTINE, CMD_SMART_STEP_INTO) or \ # <<<<<<<<<<<<<< + * main_debugger.break_on_caught_exceptions or \ + * main_debugger.break_on_user_uncaught_exceptions or \ + */ + __pyx_t_11 = __pyx_v_additional_info->pydev_step_cmd; + __pyx_t_4 = ((__pyx_t_11 == __pyx_v_CMD_STEP_INTO) != 0); + if (!__pyx_t_4) { + } else { + __pyx_t_1 = __pyx_t_4; + goto __pyx_L33_bool_binop_done; + } + __pyx_t_4 = ((__pyx_t_11 == __pyx_v_CMD_STEP_INTO_MY_CODE) != 0); + if (!__pyx_t_4) { + } else { + __pyx_t_1 = __pyx_t_4; + goto __pyx_L33_bool_binop_done; + } + __pyx_t_4 = ((__pyx_t_11 == __pyx_v_CMD_STEP_INTO_COROUTINE) != 0); + if (!__pyx_t_4) { + } else { + __pyx_t_1 = __pyx_t_4; + goto __pyx_L33_bool_binop_done; + } + __pyx_t_4 = ((__pyx_t_11 == __pyx_v_CMD_SMART_STEP_INTO) != 0); + __pyx_t_1 = __pyx_t_4; + __pyx_L33_bool_binop_done:; + __pyx_t_4 = (__pyx_t_1 != 0); + if (!__pyx_t_4) { + } else { + __pyx_t_3 = __pyx_t_4; + goto __pyx_L31_bool_binop_done; + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":556 + * + * if additional_info.pydev_step_cmd in (CMD_STEP_INTO, CMD_STEP_INTO_MY_CODE, CMD_STEP_INTO_COROUTINE, CMD_SMART_STEP_INTO) or \ + * main_debugger.break_on_caught_exceptions or \ # <<<<<<<<<<<<<< + * main_debugger.break_on_user_uncaught_exceptions or \ + * main_debugger.has_plugin_exception_breaks or \ + */ + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_break_on_caught_exceptions); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 556, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 556, __pyx_L23_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (!__pyx_t_4) { + } else { + __pyx_t_3 = __pyx_t_4; + goto __pyx_L31_bool_binop_done; + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":557 + * if additional_info.pydev_step_cmd in (CMD_STEP_INTO, CMD_STEP_INTO_MY_CODE, CMD_STEP_INTO_COROUTINE, CMD_SMART_STEP_INTO) or \ + * main_debugger.break_on_caught_exceptions or \ + * main_debugger.break_on_user_uncaught_exceptions or \ # <<<<<<<<<<<<<< + * main_debugger.has_plugin_exception_breaks or \ + * main_debugger.signature_factory or \ + */ + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_break_on_user_uncaught_exception); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 557, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 557, __pyx_L23_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (!__pyx_t_4) { + } else { + __pyx_t_3 = __pyx_t_4; + goto __pyx_L31_bool_binop_done; + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":558 + * main_debugger.break_on_caught_exceptions or \ + * main_debugger.break_on_user_uncaught_exceptions or \ + * main_debugger.has_plugin_exception_breaks or \ # <<<<<<<<<<<<<< + * main_debugger.signature_factory or \ + * additional_info.pydev_step_cmd in (CMD_STEP_OVER, CMD_STEP_OVER_MY_CODE) and main_debugger.show_return_values and frame.f_back is additional_info.pydev_step_stop: + */ + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_has_plugin_exception_breaks); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 558, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 558, __pyx_L23_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (!__pyx_t_4) { + } else { + __pyx_t_3 = __pyx_t_4; + goto __pyx_L31_bool_binop_done; + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":559 + * main_debugger.break_on_user_uncaught_exceptions or \ + * main_debugger.has_plugin_exception_breaks or \ + * main_debugger.signature_factory or \ # <<<<<<<<<<<<<< + * additional_info.pydev_step_cmd in (CMD_STEP_OVER, CMD_STEP_OVER_MY_CODE) and main_debugger.show_return_values and frame.f_back is additional_info.pydev_step_stop: + * + */ + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_signature_factory); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 559, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 559, __pyx_L23_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (!__pyx_t_4) { + } else { + __pyx_t_3 = __pyx_t_4; + goto __pyx_L31_bool_binop_done; + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":560 + * main_debugger.has_plugin_exception_breaks or \ + * main_debugger.signature_factory or \ + * additional_info.pydev_step_cmd in (CMD_STEP_OVER, CMD_STEP_OVER_MY_CODE) and main_debugger.show_return_values and frame.f_back is additional_info.pydev_step_stop: # <<<<<<<<<<<<<< + * + * # if DEBUG: + */ + __pyx_t_11 = __pyx_v_additional_info->pydev_step_cmd; + __pyx_t_1 = ((__pyx_t_11 == __pyx_v_CMD_STEP_OVER) != 0); + if (!__pyx_t_1) { + } else { + __pyx_t_4 = __pyx_t_1; + goto __pyx_L42_bool_binop_done; + } + __pyx_t_1 = ((__pyx_t_11 == __pyx_v_CMD_STEP_OVER_MY_CODE) != 0); + __pyx_t_4 = __pyx_t_1; + __pyx_L42_bool_binop_done:; + __pyx_t_1 = (__pyx_t_4 != 0); + if (__pyx_t_1) { + } else { + __pyx_t_3 = __pyx_t_1; + goto __pyx_L31_bool_binop_done; + } + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_show_return_values); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 560, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 560, __pyx_L23_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (__pyx_t_1) { + } else { + __pyx_t_3 = __pyx_t_1; + goto __pyx_L31_bool_binop_done; + } + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 560, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = (__pyx_t_2 == __pyx_v_additional_info->pydev_step_stop); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_4 = (__pyx_t_1 != 0); + __pyx_t_3 = __pyx_t_4; + __pyx_L31_bool_binop_done:; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":555 + * thread_info.thread_trace_func = trace_func + * + * if additional_info.pydev_step_cmd in (CMD_STEP_INTO, CMD_STEP_INTO_MY_CODE, CMD_STEP_INTO_COROUTINE, CMD_SMART_STEP_INTO) or \ # <<<<<<<<<<<<<< + * main_debugger.break_on_caught_exceptions or \ + * main_debugger.break_on_user_uncaught_exceptions or \ + */ + if (__pyx_t_3) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":564 + * # if DEBUG: + * # print('get_bytecode_while_frame_eval enabled trace') + * if thread_info.thread_trace_func is not None: # <<<<<<<<<<<<<< + * frame.f_trace = thread_info.thread_trace_func + * else: + */ + __pyx_t_3 = (__pyx_v_thread_info->thread_trace_func != Py_None); + __pyx_t_4 = (__pyx_t_3 != 0); + if (__pyx_t_4) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":565 + * # print('get_bytecode_while_frame_eval enabled trace') + * if thread_info.thread_trace_func is not None: + * frame.f_trace = thread_info.thread_trace_func # <<<<<<<<<<<<<< + * else: + * frame.f_trace = main_debugger.trace_dispatch + */ + __pyx_t_2 = __pyx_v_thread_info->thread_trace_func; + __Pyx_INCREF(__pyx_t_2); + if (__Pyx_PyObject_SetAttrStr(__pyx_v_frame, __pyx_n_s_f_trace, __pyx_t_2) < 0) __PYX_ERR(0, 565, __pyx_L23_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":564 + * # if DEBUG: + * # print('get_bytecode_while_frame_eval enabled trace') + * if thread_info.thread_trace_func is not None: # <<<<<<<<<<<<<< + * frame.f_trace = thread_info.thread_trace_func + * else: + */ + goto __pyx_L45; + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":567 + * frame.f_trace = thread_info.thread_trace_func + * else: + * frame.f_trace = main_debugger.trace_dispatch # <<<<<<<<<<<<<< + * else: + * func_code_info: FuncCodeInfo = get_func_code_info(thread_info, frame_obj, frame_obj.f_code) + */ + /*else*/ { + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 567, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_10 = __pyx_t_2; + __Pyx_INCREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (__Pyx_PyObject_SetAttrStr(__pyx_v_frame, __pyx_n_s_f_trace, __pyx_t_10) < 0) __PYX_ERR(0, 567, __pyx_L23_error) + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + } + __pyx_L45:; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":555 + * thread_info.thread_trace_func = trace_func + * + * if additional_info.pydev_step_cmd in (CMD_STEP_INTO, CMD_STEP_INTO_MY_CODE, CMD_STEP_INTO_COROUTINE, CMD_SMART_STEP_INTO) or \ # <<<<<<<<<<<<<< + * main_debugger.break_on_caught_exceptions or \ + * main_debugger.break_on_user_uncaught_exceptions or \ + */ + goto __pyx_L30; + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":569 + * frame.f_trace = main_debugger.trace_dispatch + * else: + * func_code_info: FuncCodeInfo = get_func_code_info(thread_info, frame_obj, frame_obj.f_code) # <<<<<<<<<<<<<< + * # if DEBUG: + * # print('get_bytecode_while_frame_eval always skip', func_code_info.always_skip_code) + */ + /*else*/ { + __pyx_t_10 = ((PyObject *)__pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator_get_func_code_info(__pyx_v_thread_info, __pyx_v_frame_obj, __pyx_v_frame_obj->f_code)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 569, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_v_func_code_info = ((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *)__pyx_t_10); + __pyx_t_10 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":572 + * # if DEBUG: + * # print('get_bytecode_while_frame_eval always skip', func_code_info.always_skip_code) + * if not func_code_info.always_skip_code: # <<<<<<<<<<<<<< + * + * if main_debugger.has_plugin_line_breaks or main_debugger.has_plugin_exception_breaks: + */ + __pyx_t_4 = ((!(__pyx_v_func_code_info->always_skip_code != 0)) != 0); + if (__pyx_t_4) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":574 + * if not func_code_info.always_skip_code: + * + * if main_debugger.has_plugin_line_breaks or main_debugger.has_plugin_exception_breaks: # <<<<<<<<<<<<<< + * can_skip = main_debugger.plugin.can_skip(main_debugger, frame_obj) + * + */ + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_has_plugin_line_breaks); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 574, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 574, __pyx_L23_error) + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (!__pyx_t_3) { + } else { + __pyx_t_4 = __pyx_t_3; + goto __pyx_L48_bool_binop_done; + } + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_has_plugin_exception_breaks); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 574, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 574, __pyx_L23_error) + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_4 = __pyx_t_3; + __pyx_L48_bool_binop_done:; + if (__pyx_t_4) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":575 + * + * if main_debugger.has_plugin_line_breaks or main_debugger.has_plugin_exception_breaks: + * can_skip = main_debugger.plugin.can_skip(main_debugger, frame_obj) # <<<<<<<<<<<<<< + * + * if not can_skip: + */ + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_plugin); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 575, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_can_skip); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 575, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = NULL; + __pyx_t_11 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_9, function); + __pyx_t_11 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_9)) { + PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_main_debugger, ((PyObject *)__pyx_v_frame_obj)}; + __pyx_t_10 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 575, __pyx_L23_error) + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_10); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) { + PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_main_debugger, ((PyObject *)__pyx_v_frame_obj)}; + __pyx_t_10 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 575, __pyx_L23_error) + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_10); + } else + #endif + { + __pyx_t_8 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 575, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_8); + if (__pyx_t_2) { + __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_2); __pyx_t_2 = NULL; + } + __Pyx_INCREF(__pyx_v_main_debugger); + __Pyx_GIVEREF(__pyx_v_main_debugger); + PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_11, __pyx_v_main_debugger); + __Pyx_INCREF(((PyObject *)__pyx_v_frame_obj)); + __Pyx_GIVEREF(((PyObject *)__pyx_v_frame_obj)); + PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_11, ((PyObject *)__pyx_v_frame_obj)); + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 575, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 575, __pyx_L23_error) + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_v_can_skip = __pyx_t_4; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":577 + * can_skip = main_debugger.plugin.can_skip(main_debugger, frame_obj) + * + * if not can_skip: # <<<<<<<<<<<<<< + * # if DEBUG: + * # print('get_bytecode_while_frame_eval not can_skip') + */ + __pyx_t_4 = ((!(__pyx_v_can_skip != 0)) != 0); + if (__pyx_t_4) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":580 + * # if DEBUG: + * # print('get_bytecode_while_frame_eval not can_skip') + * if thread_info.thread_trace_func is not None: # <<<<<<<<<<<<<< + * frame.f_trace = thread_info.thread_trace_func + * else: + */ + __pyx_t_4 = (__pyx_v_thread_info->thread_trace_func != Py_None); + __pyx_t_3 = (__pyx_t_4 != 0); + if (__pyx_t_3) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":581 + * # print('get_bytecode_while_frame_eval not can_skip') + * if thread_info.thread_trace_func is not None: + * frame.f_trace = thread_info.thread_trace_func # <<<<<<<<<<<<<< + * else: + * frame.f_trace = main_debugger.trace_dispatch + */ + __pyx_t_10 = __pyx_v_thread_info->thread_trace_func; + __Pyx_INCREF(__pyx_t_10); + if (__Pyx_PyObject_SetAttrStr(__pyx_v_frame, __pyx_n_s_f_trace, __pyx_t_10) < 0) __PYX_ERR(0, 581, __pyx_L23_error) + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":580 + * # if DEBUG: + * # print('get_bytecode_while_frame_eval not can_skip') + * if thread_info.thread_trace_func is not None: # <<<<<<<<<<<<<< + * frame.f_trace = thread_info.thread_trace_func + * else: + */ + goto __pyx_L51; + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":583 + * frame.f_trace = thread_info.thread_trace_func + * else: + * frame.f_trace = main_debugger.trace_dispatch # <<<<<<<<<<<<<< + * + * if can_skip and func_code_info.breakpoint_found: + */ + /*else*/ { + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 583, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_9 = __pyx_t_10; + __Pyx_INCREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (__Pyx_PyObject_SetAttrStr(__pyx_v_frame, __pyx_n_s_f_trace, __pyx_t_9) < 0) __PYX_ERR(0, 583, __pyx_L23_error) + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __pyx_L51:; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":577 + * can_skip = main_debugger.plugin.can_skip(main_debugger, frame_obj) + * + * if not can_skip: # <<<<<<<<<<<<<< + * # if DEBUG: + * # print('get_bytecode_while_frame_eval not can_skip') + */ + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":574 + * if not func_code_info.always_skip_code: + * + * if main_debugger.has_plugin_line_breaks or main_debugger.has_plugin_exception_breaks: # <<<<<<<<<<<<<< + * can_skip = main_debugger.plugin.can_skip(main_debugger, frame_obj) + * + */ + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":585 + * frame.f_trace = main_debugger.trace_dispatch + * + * if can_skip and func_code_info.breakpoint_found: # <<<<<<<<<<<<<< + * # if DEBUG: + * # print('get_bytecode_while_frame_eval new_code', func_code_info.new_code) + */ + __pyx_t_4 = (__pyx_v_can_skip != 0); + if (__pyx_t_4) { + } else { + __pyx_t_3 = __pyx_t_4; + goto __pyx_L53_bool_binop_done; + } + __pyx_t_4 = (__pyx_v_func_code_info->breakpoint_found != 0); + __pyx_t_3 = __pyx_t_4; + __pyx_L53_bool_binop_done:; + if (__pyx_t_3) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":588 + * # if DEBUG: + * # print('get_bytecode_while_frame_eval new_code', func_code_info.new_code) + * if not thread_info.force_stay_in_untraced_mode: # <<<<<<<<<<<<<< + * # If breakpoints are found but new_code is None, + * # this means we weren't able to actually add the code + */ + __pyx_t_3 = ((!(__pyx_v_thread_info->force_stay_in_untraced_mode != 0)) != 0); + if (__pyx_t_3) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":592 + * # this means we weren't able to actually add the code + * # where needed, so, fallback to tracing. + * if func_code_info.new_code is None: # <<<<<<<<<<<<<< + * if thread_info.thread_trace_func is not None: + * frame.f_trace = thread_info.thread_trace_func + */ + __pyx_t_3 = (__pyx_v_func_code_info->new_code == Py_None); + __pyx_t_4 = (__pyx_t_3 != 0); + if (__pyx_t_4) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":593 + * # where needed, so, fallback to tracing. + * if func_code_info.new_code is None: + * if thread_info.thread_trace_func is not None: # <<<<<<<<<<<<<< + * frame.f_trace = thread_info.thread_trace_func + * else: + */ + __pyx_t_4 = (__pyx_v_thread_info->thread_trace_func != Py_None); + __pyx_t_3 = (__pyx_t_4 != 0); + if (__pyx_t_3) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":594 + * if func_code_info.new_code is None: + * if thread_info.thread_trace_func is not None: + * frame.f_trace = thread_info.thread_trace_func # <<<<<<<<<<<<<< + * else: + * frame.f_trace = main_debugger.trace_dispatch + */ + __pyx_t_9 = __pyx_v_thread_info->thread_trace_func; + __Pyx_INCREF(__pyx_t_9); + if (__Pyx_PyObject_SetAttrStr(__pyx_v_frame, __pyx_n_s_f_trace, __pyx_t_9) < 0) __PYX_ERR(0, 594, __pyx_L23_error) + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":593 + * # where needed, so, fallback to tracing. + * if func_code_info.new_code is None: + * if thread_info.thread_trace_func is not None: # <<<<<<<<<<<<<< + * frame.f_trace = thread_info.thread_trace_func + * else: + */ + goto __pyx_L57; + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":596 + * frame.f_trace = thread_info.thread_trace_func + * else: + * frame.f_trace = main_debugger.trace_dispatch # <<<<<<<<<<<<<< + * else: + * # print('Using frame eval break for', frame_obj.f_code.co_name) + */ + /*else*/ { + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 596, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_10 = __pyx_t_9; + __Pyx_INCREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + if (__Pyx_PyObject_SetAttrStr(__pyx_v_frame, __pyx_n_s_f_trace, __pyx_t_10) < 0) __PYX_ERR(0, 596, __pyx_L23_error) + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + } + __pyx_L57:; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":592 + * # this means we weren't able to actually add the code + * # where needed, so, fallback to tracing. + * if func_code_info.new_code is None: # <<<<<<<<<<<<<< + * if thread_info.thread_trace_func is not None: + * frame.f_trace = thread_info.thread_trace_func + */ + goto __pyx_L56; + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":599 + * else: + * # print('Using frame eval break for', frame_obj.f_code.co_name) + * update_globals_dict( frame_obj.f_globals) # <<<<<<<<<<<<<< + * Py_INCREF(func_code_info.new_code) + * old = frame_obj.f_code + */ + /*else*/ { + __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_update_globals_dict); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 599, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_8 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_9, function); + } + } + __pyx_t_10 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_8, ((PyObject *)__pyx_v_frame_obj->f_globals)) : __Pyx_PyObject_CallOneArg(__pyx_t_9, ((PyObject *)__pyx_v_frame_obj->f_globals)); + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 599, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":600 + * # print('Using frame eval break for', frame_obj.f_code.co_name) + * update_globals_dict( frame_obj.f_globals) + * Py_INCREF(func_code_info.new_code) # <<<<<<<<<<<<<< + * old = frame_obj.f_code + * frame_obj.f_code = func_code_info.new_code + */ + __pyx_t_10 = __pyx_v_func_code_info->new_code; + __Pyx_INCREF(__pyx_t_10); + Py_INCREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":601 + * update_globals_dict( frame_obj.f_globals) + * Py_INCREF(func_code_info.new_code) + * old = frame_obj.f_code # <<<<<<<<<<<<<< + * frame_obj.f_code = func_code_info.new_code + * Py_DECREF(old) + */ + __pyx_t_10 = ((PyObject *)__pyx_v_frame_obj->f_code); + __Pyx_INCREF(__pyx_t_10); + __pyx_v_old = __pyx_t_10; + __pyx_t_10 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":602 + * Py_INCREF(func_code_info.new_code) + * old = frame_obj.f_code + * frame_obj.f_code = func_code_info.new_code # <<<<<<<<<<<<<< + * Py_DECREF(old) + * else: + */ + __pyx_v_frame_obj->f_code = ((PyCodeObject *)__pyx_v_func_code_info->new_code); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":603 + * old = frame_obj.f_code + * frame_obj.f_code = func_code_info.new_code + * Py_DECREF(old) # <<<<<<<<<<<<<< + * else: + * # When we're forcing to stay in traced mode we need to + */ + Py_DECREF(__pyx_v_old); + } + __pyx_L56:; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":588 + * # if DEBUG: + * # print('get_bytecode_while_frame_eval new_code', func_code_info.new_code) + * if not thread_info.force_stay_in_untraced_mode: # <<<<<<<<<<<<<< + * # If breakpoints are found but new_code is None, + * # this means we weren't able to actually add the code + */ + goto __pyx_L55; + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":608 + * # update the globals dict (because this means that we're reusing + * # a previous code which had breakpoints added in a new frame). + * update_globals_dict( frame_obj.f_globals) # <<<<<<<<<<<<<< + * + * finally: + */ + /*else*/ { + __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_update_globals_dict); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 608, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_8 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_9, function); + } + } + __pyx_t_10 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_8, ((PyObject *)__pyx_v_frame_obj->f_globals)) : __Pyx_PyObject_CallOneArg(__pyx_t_9, ((PyObject *)__pyx_v_frame_obj->f_globals)); + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 608, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + } + __pyx_L55:; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":585 + * frame.f_trace = main_debugger.trace_dispatch + * + * if can_skip and func_code_info.breakpoint_found: # <<<<<<<<<<<<<< + * # if DEBUG: + * # print('get_bytecode_while_frame_eval new_code', func_code_info.new_code) + */ + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":572 + * # if DEBUG: + * # print('get_bytecode_while_frame_eval always skip', func_code_info.always_skip_code) + * if not func_code_info.always_skip_code: # <<<<<<<<<<<<<< + * + * if main_debugger.has_plugin_line_breaks or main_debugger.has_plugin_exception_breaks: + */ + } + } + __pyx_L30:; + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":611 + * + * finally: + * thread_info.inside_frame_eval -= 1 # <<<<<<<<<<<<<< + * additional_info.is_tracing = False + * + */ + /*finally:*/ { + /*normal exit:*/{ + __pyx_v_thread_info->inside_frame_eval = (__pyx_v_thread_info->inside_frame_eval - 1); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":612 + * finally: + * thread_info.inside_frame_eval -= 1 + * additional_info.is_tracing = False # <<<<<<<<<<<<<< + * + * return CALL_EvalFrameDefault_38(frame_obj, exc) + */ + __pyx_v_additional_info->is_tracing = 0; + goto __pyx_L24; + } + __pyx_L23_error:; + /*exception exit:*/{ + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __pyx_t_7 = 0; __pyx_t_6 = 0; __pyx_t_5 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_15, &__pyx_t_16, &__pyx_t_17); + if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_5) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_6, &__pyx_t_5); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_5); + __Pyx_XGOTREF(__pyx_t_15); + __Pyx_XGOTREF(__pyx_t_16); + __Pyx_XGOTREF(__pyx_t_17); + __pyx_t_11 = __pyx_lineno; __pyx_t_13 = __pyx_clineno; __pyx_t_14 = __pyx_filename; + { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":611 + * + * finally: + * thread_info.inside_frame_eval -= 1 # <<<<<<<<<<<<<< + * additional_info.is_tracing = False + * + */ + __pyx_v_thread_info->inside_frame_eval = (__pyx_v_thread_info->inside_frame_eval - 1); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":612 + * finally: + * thread_info.inside_frame_eval -= 1 + * additional_info.is_tracing = False # <<<<<<<<<<<<<< + * + * return CALL_EvalFrameDefault_38(frame_obj, exc) + */ + __pyx_v_additional_info->is_tracing = 0; + } + if (PY_MAJOR_VERSION >= 3) { + __Pyx_XGIVEREF(__pyx_t_15); + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_XGIVEREF(__pyx_t_17); + __Pyx_ExceptionReset(__pyx_t_15, __pyx_t_16, __pyx_t_17); + } + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_ErrRestore(__pyx_t_7, __pyx_t_6, __pyx_t_5); + __pyx_t_7 = 0; __pyx_t_6 = 0; __pyx_t_5 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; + __pyx_lineno = __pyx_t_11; __pyx_clineno = __pyx_t_13; __pyx_filename = __pyx_t_14; + goto __pyx_L1_error; + } + __pyx_L22_return: { + __pyx_t_18 = __pyx_r; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":611 + * + * finally: + * thread_info.inside_frame_eval -= 1 # <<<<<<<<<<<<<< + * additional_info.is_tracing = False + * + */ + __pyx_v_thread_info->inside_frame_eval = (__pyx_v_thread_info->inside_frame_eval - 1); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":612 + * finally: + * thread_info.inside_frame_eval -= 1 + * additional_info.is_tracing = False # <<<<<<<<<<<<<< + * + * return CALL_EvalFrameDefault_38(frame_obj, exc) + */ + __pyx_v_additional_info->is_tracing = 0; + __pyx_r = __pyx_t_18; + goto __pyx_L0; + } + __pyx_L24:; + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":614 + * additional_info.is_tracing = False + * + * return CALL_EvalFrameDefault_38(frame_obj, exc) # <<<<<<<<<<<<<< + * ### WARNING: GENERATED CODE, DO NOT EDIT! + * ### WARNING: GENERATED CODE, DO NOT EDIT! + */ + __pyx_r = CALL_EvalFrameDefault_38(__pyx_v_frame_obj, __pyx_v_exc); + goto __pyx_L0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":494 + * ### WARNING: GENERATED CODE, DO NOT EDIT! + * ### WARNING: GENERATED CODE, DO NOT EDIT! + * cdef PyObject * get_bytecode_while_frame_eval_38(PyFrameObject * frame_obj, int exc): # <<<<<<<<<<<<<< + * ''' + * This function makes the actual evaluation and changes the bytecode to a version + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_WriteUnraisable("_pydevd_frame_eval.pydevd_frame_evaluator.get_bytecode_while_frame_eval_38", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XDECREF((PyObject *)__pyx_v_thread_info); + __Pyx_XDECREF((PyObject *)__pyx_v_additional_info); + __Pyx_XDECREF(__pyx_v_main_debugger); + __Pyx_XDECREF(__pyx_v_frame); + __Pyx_XDECREF(__pyx_v_trace_func); + __Pyx_XDECREF(__pyx_v_apply_to_global); + __Pyx_XDECREF((PyObject *)__pyx_v_func_code_info); + __Pyx_XDECREF(__pyx_v_old); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":623 + * ### WARNING: GENERATED CODE, DO NOT EDIT! + * ### WARNING: GENERATED CODE, DO NOT EDIT! + * cdef PyObject * get_bytecode_while_frame_eval_39(PyThreadState* tstate, PyFrameObject * frame_obj, int exc): # <<<<<<<<<<<<<< + * ''' + * This function makes the actual evaluation and changes the bytecode to a version + */ + +static PyObject *__pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator_get_bytecode_while_frame_eval_39(PyThreadState *__pyx_v_tstate, PyFrameObject *__pyx_v_frame_obj, int __pyx_v_exc) { + struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_v_thread_info = 0; + CYTHON_UNUSED int __pyx_v_STATE_SUSPEND; + int __pyx_v_CMD_STEP_INTO; + int __pyx_v_CMD_STEP_OVER; + int __pyx_v_CMD_STEP_OVER_MY_CODE; + int __pyx_v_CMD_STEP_INTO_MY_CODE; + int __pyx_v_CMD_STEP_INTO_COROUTINE; + int __pyx_v_CMD_SMART_STEP_INTO; + int __pyx_v_can_skip; + struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *__pyx_v_additional_info = 0; + PyObject *__pyx_v_main_debugger = 0; + PyObject *__pyx_v_frame = NULL; + PyObject *__pyx_v_trace_func = NULL; + PyObject *__pyx_v_apply_to_global = NULL; + struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_v_func_code_info = 0; + PyObject *__pyx_v_old = NULL; + PyObject *__pyx_r; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + int __pyx_t_3; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + int __pyx_t_11; + PyObject *(*__pyx_t_12)(PyObject *); + int __pyx_t_13; + char const *__pyx_t_14; + PyObject *__pyx_t_15 = NULL; + PyObject *__pyx_t_16 = NULL; + PyObject *__pyx_t_17 = NULL; + PyObject *__pyx_t_18; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("get_bytecode_while_frame_eval_39", 0); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":628 + * where programmatic breakpoints are added. + * ''' + * if GlobalDebuggerHolder is None or _thread_local_info is None or exc: # <<<<<<<<<<<<<< + * # Sometimes during process shutdown these global variables become None + * return CALL_EvalFrameDefault_39(tstate, frame_obj, exc) + */ + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_GlobalDebuggerHolder); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 628, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = (__pyx_t_2 == Py_None); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_4 = (__pyx_t_3 != 0); + if (!__pyx_t_4) { + } else { + __pyx_t_1 = __pyx_t_4; + goto __pyx_L4_bool_binop_done; + } + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_thread_local_info); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 628, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = (__pyx_t_2 == Py_None); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_3 = (__pyx_t_4 != 0); + if (!__pyx_t_3) { + } else { + __pyx_t_1 = __pyx_t_3; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_3 = (__pyx_v_exc != 0); + __pyx_t_1 = __pyx_t_3; + __pyx_L4_bool_binop_done:; + if (__pyx_t_1) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":630 + * if GlobalDebuggerHolder is None or _thread_local_info is None or exc: + * # Sometimes during process shutdown these global variables become None + * return CALL_EvalFrameDefault_39(tstate, frame_obj, exc) # <<<<<<<<<<<<<< + * + * # co_filename: str = frame_obj.f_code.co_filename + */ + __pyx_r = CALL_EvalFrameDefault_39(__pyx_v_tstate, __pyx_v_frame_obj, __pyx_v_exc); + goto __pyx_L0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":628 + * where programmatic breakpoints are added. + * ''' + * if GlobalDebuggerHolder is None or _thread_local_info is None or exc: # <<<<<<<<<<<<<< + * # Sometimes during process shutdown these global variables become None + * return CALL_EvalFrameDefault_39(tstate, frame_obj, exc) + */ + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":637 + * + * cdef ThreadInfo thread_info + * cdef int STATE_SUSPEND = 2 # <<<<<<<<<<<<<< + * cdef int CMD_STEP_INTO = 107 + * cdef int CMD_STEP_OVER = 108 + */ + __pyx_v_STATE_SUSPEND = 2; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":638 + * cdef ThreadInfo thread_info + * cdef int STATE_SUSPEND = 2 + * cdef int CMD_STEP_INTO = 107 # <<<<<<<<<<<<<< + * cdef int CMD_STEP_OVER = 108 + * cdef int CMD_STEP_OVER_MY_CODE = 159 + */ + __pyx_v_CMD_STEP_INTO = 0x6B; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":639 + * cdef int STATE_SUSPEND = 2 + * cdef int CMD_STEP_INTO = 107 + * cdef int CMD_STEP_OVER = 108 # <<<<<<<<<<<<<< + * cdef int CMD_STEP_OVER_MY_CODE = 159 + * cdef int CMD_STEP_INTO_MY_CODE = 144 + */ + __pyx_v_CMD_STEP_OVER = 0x6C; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":640 + * cdef int CMD_STEP_INTO = 107 + * cdef int CMD_STEP_OVER = 108 + * cdef int CMD_STEP_OVER_MY_CODE = 159 # <<<<<<<<<<<<<< + * cdef int CMD_STEP_INTO_MY_CODE = 144 + * cdef int CMD_STEP_INTO_COROUTINE = 206 + */ + __pyx_v_CMD_STEP_OVER_MY_CODE = 0x9F; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":641 + * cdef int CMD_STEP_OVER = 108 + * cdef int CMD_STEP_OVER_MY_CODE = 159 + * cdef int CMD_STEP_INTO_MY_CODE = 144 # <<<<<<<<<<<<<< + * cdef int CMD_STEP_INTO_COROUTINE = 206 + * cdef int CMD_SMART_STEP_INTO = 128 + */ + __pyx_v_CMD_STEP_INTO_MY_CODE = 0x90; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":642 + * cdef int CMD_STEP_OVER_MY_CODE = 159 + * cdef int CMD_STEP_INTO_MY_CODE = 144 + * cdef int CMD_STEP_INTO_COROUTINE = 206 # <<<<<<<<<<<<<< + * cdef int CMD_SMART_STEP_INTO = 128 + * cdef bint can_skip = True + */ + __pyx_v_CMD_STEP_INTO_COROUTINE = 0xCE; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":643 + * cdef int CMD_STEP_INTO_MY_CODE = 144 + * cdef int CMD_STEP_INTO_COROUTINE = 206 + * cdef int CMD_SMART_STEP_INTO = 128 # <<<<<<<<<<<<<< + * cdef bint can_skip = True + * try: + */ + __pyx_v_CMD_SMART_STEP_INTO = 0x80; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":644 + * cdef int CMD_STEP_INTO_COROUTINE = 206 + * cdef int CMD_SMART_STEP_INTO = 128 + * cdef bint can_skip = True # <<<<<<<<<<<<<< + * try: + * thread_info = _thread_local_info.thread_info + */ + __pyx_v_can_skip = 1; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":645 + * cdef int CMD_SMART_STEP_INTO = 128 + * cdef bint can_skip = True + * try: # <<<<<<<<<<<<<< + * thread_info = _thread_local_info.thread_info + * except: + */ + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_5); + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_7); + /*try:*/ { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":646 + * cdef bint can_skip = True + * try: + * thread_info = _thread_local_info.thread_info # <<<<<<<<<<<<<< + * except: + * thread_info = get_thread_info(frame_obj) + */ + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_thread_local_info); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 646, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_thread_info); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 646, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (!(likely(((__pyx_t_8) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_8, __pyx_ptype_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo))))) __PYX_ERR(0, 646, __pyx_L7_error) + __pyx_v_thread_info = ((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *)__pyx_t_8); + __pyx_t_8 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":645 + * cdef int CMD_SMART_STEP_INTO = 128 + * cdef bint can_skip = True + * try: # <<<<<<<<<<<<<< + * thread_info = _thread_local_info.thread_info + * except: + */ + } + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":647 + * try: + * thread_info = _thread_local_info.thread_info + * except: # <<<<<<<<<<<<<< + * thread_info = get_thread_info(frame_obj) + * if thread_info is None: + */ + /*except:*/ { + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.get_bytecode_while_frame_eval_39", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_9) < 0) __PYX_ERR(0, 647, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_9); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":648 + * thread_info = _thread_local_info.thread_info + * except: + * thread_info = get_thread_info(frame_obj) # <<<<<<<<<<<<<< + * if thread_info is None: + * return CALL_EvalFrameDefault_39(tstate, frame_obj, exc) + */ + __pyx_t_10 = ((PyObject *)__pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator_get_thread_info(__pyx_v_frame_obj)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 648, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_XDECREF_SET(__pyx_v_thread_info, ((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *)__pyx_t_10)); + __pyx_t_10 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":649 + * except: + * thread_info = get_thread_info(frame_obj) + * if thread_info is None: # <<<<<<<<<<<<<< + * return CALL_EvalFrameDefault_39(tstate, frame_obj, exc) + * + */ + __pyx_t_1 = (((PyObject *)__pyx_v_thread_info) == Py_None); + __pyx_t_3 = (__pyx_t_1 != 0); + if (__pyx_t_3) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":650 + * thread_info = get_thread_info(frame_obj) + * if thread_info is None: + * return CALL_EvalFrameDefault_39(tstate, frame_obj, exc) # <<<<<<<<<<<<<< + * + * if thread_info.inside_frame_eval: + */ + __pyx_r = CALL_EvalFrameDefault_39(__pyx_v_tstate, __pyx_v_frame_obj, __pyx_v_exc); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + goto __pyx_L10_except_return; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":649 + * except: + * thread_info = get_thread_info(frame_obj) + * if thread_info is None: # <<<<<<<<<<<<<< + * return CALL_EvalFrameDefault_39(tstate, frame_obj, exc) + * + */ + } + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":645 + * cdef int CMD_SMART_STEP_INTO = 128 + * cdef bint can_skip = True + * try: # <<<<<<<<<<<<<< + * thread_info = _thread_local_info.thread_info + * except: + */ + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7); + goto __pyx_L1_error; + __pyx_L10_except_return:; + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7); + goto __pyx_L0; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7); + __pyx_L12_try_end:; + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":652 + * return CALL_EvalFrameDefault_39(tstate, frame_obj, exc) + * + * if thread_info.inside_frame_eval: # <<<<<<<<<<<<<< + * return CALL_EvalFrameDefault_39(tstate, frame_obj, exc) + * + */ + __pyx_t_3 = (__pyx_v_thread_info->inside_frame_eval != 0); + if (__pyx_t_3) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":653 + * + * if thread_info.inside_frame_eval: + * return CALL_EvalFrameDefault_39(tstate, frame_obj, exc) # <<<<<<<<<<<<<< + * + * if not thread_info.fully_initialized: + */ + __pyx_r = CALL_EvalFrameDefault_39(__pyx_v_tstate, __pyx_v_frame_obj, __pyx_v_exc); + goto __pyx_L0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":652 + * return CALL_EvalFrameDefault_39(tstate, frame_obj, exc) + * + * if thread_info.inside_frame_eval: # <<<<<<<<<<<<<< + * return CALL_EvalFrameDefault_39(tstate, frame_obj, exc) + * + */ + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":655 + * return CALL_EvalFrameDefault_39(tstate, frame_obj, exc) + * + * if not thread_info.fully_initialized: # <<<<<<<<<<<<<< + * thread_info.initialize_if_possible() + * if not thread_info.fully_initialized: + */ + __pyx_t_3 = ((!(__pyx_v_thread_info->fully_initialized != 0)) != 0); + if (__pyx_t_3) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":656 + * + * if not thread_info.fully_initialized: + * thread_info.initialize_if_possible() # <<<<<<<<<<<<<< + * if not thread_info.fully_initialized: + * return CALL_EvalFrameDefault_39(tstate, frame_obj, exc) + */ + __pyx_t_9 = ((struct __pyx_vtabstruct_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *)__pyx_v_thread_info->__pyx_vtab)->initialize_if_possible(__pyx_v_thread_info); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 656, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":657 + * if not thread_info.fully_initialized: + * thread_info.initialize_if_possible() + * if not thread_info.fully_initialized: # <<<<<<<<<<<<<< + * return CALL_EvalFrameDefault_39(tstate, frame_obj, exc) + * + */ + __pyx_t_3 = ((!(__pyx_v_thread_info->fully_initialized != 0)) != 0); + if (__pyx_t_3) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":658 + * thread_info.initialize_if_possible() + * if not thread_info.fully_initialized: + * return CALL_EvalFrameDefault_39(tstate, frame_obj, exc) # <<<<<<<<<<<<<< + * + * # Can only get additional_info when fully initialized. + */ + __pyx_r = CALL_EvalFrameDefault_39(__pyx_v_tstate, __pyx_v_frame_obj, __pyx_v_exc); + goto __pyx_L0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":657 + * if not thread_info.fully_initialized: + * thread_info.initialize_if_possible() + * if not thread_info.fully_initialized: # <<<<<<<<<<<<<< + * return CALL_EvalFrameDefault_39(tstate, frame_obj, exc) + * + */ + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":655 + * return CALL_EvalFrameDefault_39(tstate, frame_obj, exc) + * + * if not thread_info.fully_initialized: # <<<<<<<<<<<<<< + * thread_info.initialize_if_possible() + * if not thread_info.fully_initialized: + */ + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":661 + * + * # Can only get additional_info when fully initialized. + * cdef PyDBAdditionalThreadInfo additional_info = thread_info.additional_info # <<<<<<<<<<<<<< + * if thread_info.is_pydevd_thread or additional_info.is_tracing: + * # Make sure that we don't trace pydevd threads or inside our own calls. + */ + __pyx_t_9 = ((PyObject *)__pyx_v_thread_info->additional_info); + __Pyx_INCREF(__pyx_t_9); + __pyx_v_additional_info = ((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_t_9); + __pyx_t_9 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":662 + * # Can only get additional_info when fully initialized. + * cdef PyDBAdditionalThreadInfo additional_info = thread_info.additional_info + * if thread_info.is_pydevd_thread or additional_info.is_tracing: # <<<<<<<<<<<<<< + * # Make sure that we don't trace pydevd threads or inside our own calls. + * return CALL_EvalFrameDefault_39(tstate, frame_obj, exc) + */ + __pyx_t_1 = (__pyx_v_thread_info->is_pydevd_thread != 0); + if (!__pyx_t_1) { + } else { + __pyx_t_3 = __pyx_t_1; + goto __pyx_L20_bool_binop_done; + } + __pyx_t_1 = (__pyx_v_additional_info->is_tracing != 0); + __pyx_t_3 = __pyx_t_1; + __pyx_L20_bool_binop_done:; + if (__pyx_t_3) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":664 + * if thread_info.is_pydevd_thread or additional_info.is_tracing: + * # Make sure that we don't trace pydevd threads or inside our own calls. + * return CALL_EvalFrameDefault_39(tstate, frame_obj, exc) # <<<<<<<<<<<<<< + * + * # frame = frame_obj + */ + __pyx_r = CALL_EvalFrameDefault_39(__pyx_v_tstate, __pyx_v_frame_obj, __pyx_v_exc); + goto __pyx_L0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":662 + * # Can only get additional_info when fully initialized. + * cdef PyDBAdditionalThreadInfo additional_info = thread_info.additional_info + * if thread_info.is_pydevd_thread or additional_info.is_tracing: # <<<<<<<<<<<<<< + * # Make sure that we don't trace pydevd threads or inside our own calls. + * return CALL_EvalFrameDefault_39(tstate, frame_obj, exc) + */ + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":671 + * # print('get_bytecode_while_frame_eval', frame.f_lineno, frame.f_code.co_name, frame.f_code.co_filename) + * + * thread_info.inside_frame_eval += 1 # <<<<<<<<<<<<<< + * additional_info.is_tracing = True + * try: + */ + __pyx_v_thread_info->inside_frame_eval = (__pyx_v_thread_info->inside_frame_eval + 1); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":672 + * + * thread_info.inside_frame_eval += 1 + * additional_info.is_tracing = True # <<<<<<<<<<<<<< + * try: + * main_debugger: object = GlobalDebuggerHolder.global_dbg + */ + __pyx_v_additional_info->is_tracing = 1; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":673 + * thread_info.inside_frame_eval += 1 + * additional_info.is_tracing = True + * try: # <<<<<<<<<<<<<< + * main_debugger: object = GlobalDebuggerHolder.global_dbg + * if main_debugger is None: + */ + /*try:*/ { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":674 + * additional_info.is_tracing = True + * try: + * main_debugger: object = GlobalDebuggerHolder.global_dbg # <<<<<<<<<<<<<< + * if main_debugger is None: + * return CALL_EvalFrameDefault_39(tstate, frame_obj, exc) + */ + __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_GlobalDebuggerHolder); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 674, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_global_dbg); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 674, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_v_main_debugger = __pyx_t_2; + __pyx_t_2 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":675 + * try: + * main_debugger: object = GlobalDebuggerHolder.global_dbg + * if main_debugger is None: # <<<<<<<<<<<<<< + * return CALL_EvalFrameDefault_39(tstate, frame_obj, exc) + * frame = frame_obj + */ + __pyx_t_3 = (__pyx_v_main_debugger == Py_None); + __pyx_t_1 = (__pyx_t_3 != 0); + if (__pyx_t_1) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":676 + * main_debugger: object = GlobalDebuggerHolder.global_dbg + * if main_debugger is None: + * return CALL_EvalFrameDefault_39(tstate, frame_obj, exc) # <<<<<<<<<<<<<< + * frame = frame_obj + * + */ + __pyx_r = CALL_EvalFrameDefault_39(__pyx_v_tstate, __pyx_v_frame_obj, __pyx_v_exc); + goto __pyx_L22_return; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":675 + * try: + * main_debugger: object = GlobalDebuggerHolder.global_dbg + * if main_debugger is None: # <<<<<<<<<<<<<< + * return CALL_EvalFrameDefault_39(tstate, frame_obj, exc) + * frame = frame_obj + */ + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":677 + * if main_debugger is None: + * return CALL_EvalFrameDefault_39(tstate, frame_obj, exc) + * frame = frame_obj # <<<<<<<<<<<<<< + * + * if thread_info.thread_trace_func is None: + */ + __pyx_t_2 = ((PyObject *)__pyx_v_frame_obj); + __Pyx_INCREF(__pyx_t_2); + __pyx_v_frame = __pyx_t_2; + __pyx_t_2 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":679 + * frame = frame_obj + * + * if thread_info.thread_trace_func is None: # <<<<<<<<<<<<<< + * trace_func, apply_to_global = fix_top_level_trace_and_get_trace_func(main_debugger, frame) + * if apply_to_global: + */ + __pyx_t_1 = (__pyx_v_thread_info->thread_trace_func == Py_None); + __pyx_t_3 = (__pyx_t_1 != 0); + if (__pyx_t_3) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":680 + * + * if thread_info.thread_trace_func is None: + * trace_func, apply_to_global = fix_top_level_trace_and_get_trace_func(main_debugger, frame) # <<<<<<<<<<<<<< + * if apply_to_global: + * thread_info.thread_trace_func = trace_func + */ + __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_fix_top_level_trace_and_get_trac); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 680, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_8 = NULL; + __pyx_t_11 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_9, function); + __pyx_t_11 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_9)) { + PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_main_debugger, __pyx_v_frame}; + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 680, __pyx_L23_error) + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) { + PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_main_debugger, __pyx_v_frame}; + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 680, __pyx_L23_error) + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + { + __pyx_t_10 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 680, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_10); + if (__pyx_t_8) { + __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_8); __pyx_t_8 = NULL; + } + __Pyx_INCREF(__pyx_v_main_debugger); + __Pyx_GIVEREF(__pyx_v_main_debugger); + PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_11, __pyx_v_main_debugger); + __Pyx_INCREF(__pyx_v_frame); + __Pyx_GIVEREF(__pyx_v_frame); + PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_11, __pyx_v_frame); + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_10, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 680, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + } + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + if ((likely(PyTuple_CheckExact(__pyx_t_2))) || (PyList_CheckExact(__pyx_t_2))) { + PyObject* sequence = __pyx_t_2; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 2)) { + if (size > 2) __Pyx_RaiseTooManyValuesError(2); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 680, __pyx_L23_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + if (likely(PyTuple_CheckExact(sequence))) { + __pyx_t_9 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_10 = PyTuple_GET_ITEM(sequence, 1); + } else { + __pyx_t_9 = PyList_GET_ITEM(sequence, 0); + __pyx_t_10 = PyList_GET_ITEM(sequence, 1); + } + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(__pyx_t_10); + #else + __pyx_t_9 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 680, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_10 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 680, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_10); + #endif + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + } else { + Py_ssize_t index = -1; + __pyx_t_8 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 680, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_12 = Py_TYPE(__pyx_t_8)->tp_iternext; + index = 0; __pyx_t_9 = __pyx_t_12(__pyx_t_8); if (unlikely(!__pyx_t_9)) goto __pyx_L27_unpacking_failed; + __Pyx_GOTREF(__pyx_t_9); + index = 1; __pyx_t_10 = __pyx_t_12(__pyx_t_8); if (unlikely(!__pyx_t_10)) goto __pyx_L27_unpacking_failed; + __Pyx_GOTREF(__pyx_t_10); + if (__Pyx_IternextUnpackEndCheck(__pyx_t_12(__pyx_t_8), 2) < 0) __PYX_ERR(0, 680, __pyx_L23_error) + __pyx_t_12 = NULL; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L28_unpacking_done; + __pyx_L27_unpacking_failed:; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_12 = NULL; + if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); + __PYX_ERR(0, 680, __pyx_L23_error) + __pyx_L28_unpacking_done:; + } + __pyx_v_trace_func = __pyx_t_9; + __pyx_t_9 = 0; + __pyx_v_apply_to_global = __pyx_t_10; + __pyx_t_10 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":681 + * if thread_info.thread_trace_func is None: + * trace_func, apply_to_global = fix_top_level_trace_and_get_trace_func(main_debugger, frame) + * if apply_to_global: # <<<<<<<<<<<<<< + * thread_info.thread_trace_func = trace_func + * + */ + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_apply_to_global); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 681, __pyx_L23_error) + if (__pyx_t_3) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":682 + * trace_func, apply_to_global = fix_top_level_trace_and_get_trace_func(main_debugger, frame) + * if apply_to_global: + * thread_info.thread_trace_func = trace_func # <<<<<<<<<<<<<< + * + * if additional_info.pydev_step_cmd in (CMD_STEP_INTO, CMD_STEP_INTO_MY_CODE, CMD_STEP_INTO_COROUTINE, CMD_SMART_STEP_INTO) or \ + */ + __Pyx_INCREF(__pyx_v_trace_func); + __Pyx_GIVEREF(__pyx_v_trace_func); + __Pyx_GOTREF(__pyx_v_thread_info->thread_trace_func); + __Pyx_DECREF(__pyx_v_thread_info->thread_trace_func); + __pyx_v_thread_info->thread_trace_func = __pyx_v_trace_func; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":681 + * if thread_info.thread_trace_func is None: + * trace_func, apply_to_global = fix_top_level_trace_and_get_trace_func(main_debugger, frame) + * if apply_to_global: # <<<<<<<<<<<<<< + * thread_info.thread_trace_func = trace_func + * + */ + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":679 + * frame = frame_obj + * + * if thread_info.thread_trace_func is None: # <<<<<<<<<<<<<< + * trace_func, apply_to_global = fix_top_level_trace_and_get_trace_func(main_debugger, frame) + * if apply_to_global: + */ + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":684 + * thread_info.thread_trace_func = trace_func + * + * if additional_info.pydev_step_cmd in (CMD_STEP_INTO, CMD_STEP_INTO_MY_CODE, CMD_STEP_INTO_COROUTINE, CMD_SMART_STEP_INTO) or \ # <<<<<<<<<<<<<< + * main_debugger.break_on_caught_exceptions or \ + * main_debugger.break_on_user_uncaught_exceptions or \ + */ + __pyx_t_11 = __pyx_v_additional_info->pydev_step_cmd; + __pyx_t_4 = ((__pyx_t_11 == __pyx_v_CMD_STEP_INTO) != 0); + if (!__pyx_t_4) { + } else { + __pyx_t_1 = __pyx_t_4; + goto __pyx_L33_bool_binop_done; + } + __pyx_t_4 = ((__pyx_t_11 == __pyx_v_CMD_STEP_INTO_MY_CODE) != 0); + if (!__pyx_t_4) { + } else { + __pyx_t_1 = __pyx_t_4; + goto __pyx_L33_bool_binop_done; + } + __pyx_t_4 = ((__pyx_t_11 == __pyx_v_CMD_STEP_INTO_COROUTINE) != 0); + if (!__pyx_t_4) { + } else { + __pyx_t_1 = __pyx_t_4; + goto __pyx_L33_bool_binop_done; + } + __pyx_t_4 = ((__pyx_t_11 == __pyx_v_CMD_SMART_STEP_INTO) != 0); + __pyx_t_1 = __pyx_t_4; + __pyx_L33_bool_binop_done:; + __pyx_t_4 = (__pyx_t_1 != 0); + if (!__pyx_t_4) { + } else { + __pyx_t_3 = __pyx_t_4; + goto __pyx_L31_bool_binop_done; + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":685 + * + * if additional_info.pydev_step_cmd in (CMD_STEP_INTO, CMD_STEP_INTO_MY_CODE, CMD_STEP_INTO_COROUTINE, CMD_SMART_STEP_INTO) or \ + * main_debugger.break_on_caught_exceptions or \ # <<<<<<<<<<<<<< + * main_debugger.break_on_user_uncaught_exceptions or \ + * main_debugger.has_plugin_exception_breaks or \ + */ + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_break_on_caught_exceptions); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 685, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 685, __pyx_L23_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (!__pyx_t_4) { + } else { + __pyx_t_3 = __pyx_t_4; + goto __pyx_L31_bool_binop_done; + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":686 + * if additional_info.pydev_step_cmd in (CMD_STEP_INTO, CMD_STEP_INTO_MY_CODE, CMD_STEP_INTO_COROUTINE, CMD_SMART_STEP_INTO) or \ + * main_debugger.break_on_caught_exceptions or \ + * main_debugger.break_on_user_uncaught_exceptions or \ # <<<<<<<<<<<<<< + * main_debugger.has_plugin_exception_breaks or \ + * main_debugger.signature_factory or \ + */ + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_break_on_user_uncaught_exception); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 686, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 686, __pyx_L23_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (!__pyx_t_4) { + } else { + __pyx_t_3 = __pyx_t_4; + goto __pyx_L31_bool_binop_done; + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":687 + * main_debugger.break_on_caught_exceptions or \ + * main_debugger.break_on_user_uncaught_exceptions or \ + * main_debugger.has_plugin_exception_breaks or \ # <<<<<<<<<<<<<< + * main_debugger.signature_factory or \ + * additional_info.pydev_step_cmd in (CMD_STEP_OVER, CMD_STEP_OVER_MY_CODE) and main_debugger.show_return_values and frame.f_back is additional_info.pydev_step_stop: + */ + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_has_plugin_exception_breaks); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 687, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 687, __pyx_L23_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (!__pyx_t_4) { + } else { + __pyx_t_3 = __pyx_t_4; + goto __pyx_L31_bool_binop_done; + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":688 + * main_debugger.break_on_user_uncaught_exceptions or \ + * main_debugger.has_plugin_exception_breaks or \ + * main_debugger.signature_factory or \ # <<<<<<<<<<<<<< + * additional_info.pydev_step_cmd in (CMD_STEP_OVER, CMD_STEP_OVER_MY_CODE) and main_debugger.show_return_values and frame.f_back is additional_info.pydev_step_stop: + * + */ + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_signature_factory); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 688, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 688, __pyx_L23_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (!__pyx_t_4) { + } else { + __pyx_t_3 = __pyx_t_4; + goto __pyx_L31_bool_binop_done; + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":689 + * main_debugger.has_plugin_exception_breaks or \ + * main_debugger.signature_factory or \ + * additional_info.pydev_step_cmd in (CMD_STEP_OVER, CMD_STEP_OVER_MY_CODE) and main_debugger.show_return_values and frame.f_back is additional_info.pydev_step_stop: # <<<<<<<<<<<<<< + * + * # if DEBUG: + */ + __pyx_t_11 = __pyx_v_additional_info->pydev_step_cmd; + __pyx_t_1 = ((__pyx_t_11 == __pyx_v_CMD_STEP_OVER) != 0); + if (!__pyx_t_1) { + } else { + __pyx_t_4 = __pyx_t_1; + goto __pyx_L42_bool_binop_done; + } + __pyx_t_1 = ((__pyx_t_11 == __pyx_v_CMD_STEP_OVER_MY_CODE) != 0); + __pyx_t_4 = __pyx_t_1; + __pyx_L42_bool_binop_done:; + __pyx_t_1 = (__pyx_t_4 != 0); + if (__pyx_t_1) { + } else { + __pyx_t_3 = __pyx_t_1; + goto __pyx_L31_bool_binop_done; + } + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_show_return_values); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 689, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 689, __pyx_L23_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (__pyx_t_1) { + } else { + __pyx_t_3 = __pyx_t_1; + goto __pyx_L31_bool_binop_done; + } + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_frame, __pyx_n_s_f_back); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 689, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = (__pyx_t_2 == __pyx_v_additional_info->pydev_step_stop); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_4 = (__pyx_t_1 != 0); + __pyx_t_3 = __pyx_t_4; + __pyx_L31_bool_binop_done:; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":684 + * thread_info.thread_trace_func = trace_func + * + * if additional_info.pydev_step_cmd in (CMD_STEP_INTO, CMD_STEP_INTO_MY_CODE, CMD_STEP_INTO_COROUTINE, CMD_SMART_STEP_INTO) or \ # <<<<<<<<<<<<<< + * main_debugger.break_on_caught_exceptions or \ + * main_debugger.break_on_user_uncaught_exceptions or \ + */ + if (__pyx_t_3) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":693 + * # if DEBUG: + * # print('get_bytecode_while_frame_eval enabled trace') + * if thread_info.thread_trace_func is not None: # <<<<<<<<<<<<<< + * frame.f_trace = thread_info.thread_trace_func + * else: + */ + __pyx_t_3 = (__pyx_v_thread_info->thread_trace_func != Py_None); + __pyx_t_4 = (__pyx_t_3 != 0); + if (__pyx_t_4) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":694 + * # print('get_bytecode_while_frame_eval enabled trace') + * if thread_info.thread_trace_func is not None: + * frame.f_trace = thread_info.thread_trace_func # <<<<<<<<<<<<<< + * else: + * frame.f_trace = main_debugger.trace_dispatch + */ + __pyx_t_2 = __pyx_v_thread_info->thread_trace_func; + __Pyx_INCREF(__pyx_t_2); + if (__Pyx_PyObject_SetAttrStr(__pyx_v_frame, __pyx_n_s_f_trace, __pyx_t_2) < 0) __PYX_ERR(0, 694, __pyx_L23_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":693 + * # if DEBUG: + * # print('get_bytecode_while_frame_eval enabled trace') + * if thread_info.thread_trace_func is not None: # <<<<<<<<<<<<<< + * frame.f_trace = thread_info.thread_trace_func + * else: + */ + goto __pyx_L45; + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":696 + * frame.f_trace = thread_info.thread_trace_func + * else: + * frame.f_trace = main_debugger.trace_dispatch # <<<<<<<<<<<<<< + * else: + * func_code_info: FuncCodeInfo = get_func_code_info(thread_info, frame_obj, frame_obj.f_code) + */ + /*else*/ { + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 696, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_10 = __pyx_t_2; + __Pyx_INCREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (__Pyx_PyObject_SetAttrStr(__pyx_v_frame, __pyx_n_s_f_trace, __pyx_t_10) < 0) __PYX_ERR(0, 696, __pyx_L23_error) + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + } + __pyx_L45:; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":684 + * thread_info.thread_trace_func = trace_func + * + * if additional_info.pydev_step_cmd in (CMD_STEP_INTO, CMD_STEP_INTO_MY_CODE, CMD_STEP_INTO_COROUTINE, CMD_SMART_STEP_INTO) or \ # <<<<<<<<<<<<<< + * main_debugger.break_on_caught_exceptions or \ + * main_debugger.break_on_user_uncaught_exceptions or \ + */ + goto __pyx_L30; + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":698 + * frame.f_trace = main_debugger.trace_dispatch + * else: + * func_code_info: FuncCodeInfo = get_func_code_info(thread_info, frame_obj, frame_obj.f_code) # <<<<<<<<<<<<<< + * # if DEBUG: + * # print('get_bytecode_while_frame_eval always skip', func_code_info.always_skip_code) + */ + /*else*/ { + __pyx_t_10 = ((PyObject *)__pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator_get_func_code_info(__pyx_v_thread_info, __pyx_v_frame_obj, __pyx_v_frame_obj->f_code)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 698, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_v_func_code_info = ((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *)__pyx_t_10); + __pyx_t_10 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":701 + * # if DEBUG: + * # print('get_bytecode_while_frame_eval always skip', func_code_info.always_skip_code) + * if not func_code_info.always_skip_code: # <<<<<<<<<<<<<< + * + * if main_debugger.has_plugin_line_breaks or main_debugger.has_plugin_exception_breaks: + */ + __pyx_t_4 = ((!(__pyx_v_func_code_info->always_skip_code != 0)) != 0); + if (__pyx_t_4) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":703 + * if not func_code_info.always_skip_code: + * + * if main_debugger.has_plugin_line_breaks or main_debugger.has_plugin_exception_breaks: # <<<<<<<<<<<<<< + * can_skip = main_debugger.plugin.can_skip(main_debugger, frame_obj) + * + */ + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_has_plugin_line_breaks); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 703, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 703, __pyx_L23_error) + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (!__pyx_t_3) { + } else { + __pyx_t_4 = __pyx_t_3; + goto __pyx_L48_bool_binop_done; + } + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_has_plugin_exception_breaks); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 703, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 703, __pyx_L23_error) + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_4 = __pyx_t_3; + __pyx_L48_bool_binop_done:; + if (__pyx_t_4) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":704 + * + * if main_debugger.has_plugin_line_breaks or main_debugger.has_plugin_exception_breaks: + * can_skip = main_debugger.plugin.can_skip(main_debugger, frame_obj) # <<<<<<<<<<<<<< + * + * if not can_skip: + */ + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_plugin); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 704, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_can_skip); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 704, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = NULL; + __pyx_t_11 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_9, function); + __pyx_t_11 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_9)) { + PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_main_debugger, ((PyObject *)__pyx_v_frame_obj)}; + __pyx_t_10 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 704, __pyx_L23_error) + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_10); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) { + PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_main_debugger, ((PyObject *)__pyx_v_frame_obj)}; + __pyx_t_10 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 704, __pyx_L23_error) + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_10); + } else + #endif + { + __pyx_t_8 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 704, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_8); + if (__pyx_t_2) { + __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_2); __pyx_t_2 = NULL; + } + __Pyx_INCREF(__pyx_v_main_debugger); + __Pyx_GIVEREF(__pyx_v_main_debugger); + PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_11, __pyx_v_main_debugger); + __Pyx_INCREF(((PyObject *)__pyx_v_frame_obj)); + __Pyx_GIVEREF(((PyObject *)__pyx_v_frame_obj)); + PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_11, ((PyObject *)__pyx_v_frame_obj)); + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 704, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 704, __pyx_L23_error) + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_v_can_skip = __pyx_t_4; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":706 + * can_skip = main_debugger.plugin.can_skip(main_debugger, frame_obj) + * + * if not can_skip: # <<<<<<<<<<<<<< + * # if DEBUG: + * # print('get_bytecode_while_frame_eval not can_skip') + */ + __pyx_t_4 = ((!(__pyx_v_can_skip != 0)) != 0); + if (__pyx_t_4) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":709 + * # if DEBUG: + * # print('get_bytecode_while_frame_eval not can_skip') + * if thread_info.thread_trace_func is not None: # <<<<<<<<<<<<<< + * frame.f_trace = thread_info.thread_trace_func + * else: + */ + __pyx_t_4 = (__pyx_v_thread_info->thread_trace_func != Py_None); + __pyx_t_3 = (__pyx_t_4 != 0); + if (__pyx_t_3) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":710 + * # print('get_bytecode_while_frame_eval not can_skip') + * if thread_info.thread_trace_func is not None: + * frame.f_trace = thread_info.thread_trace_func # <<<<<<<<<<<<<< + * else: + * frame.f_trace = main_debugger.trace_dispatch + */ + __pyx_t_10 = __pyx_v_thread_info->thread_trace_func; + __Pyx_INCREF(__pyx_t_10); + if (__Pyx_PyObject_SetAttrStr(__pyx_v_frame, __pyx_n_s_f_trace, __pyx_t_10) < 0) __PYX_ERR(0, 710, __pyx_L23_error) + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":709 + * # if DEBUG: + * # print('get_bytecode_while_frame_eval not can_skip') + * if thread_info.thread_trace_func is not None: # <<<<<<<<<<<<<< + * frame.f_trace = thread_info.thread_trace_func + * else: + */ + goto __pyx_L51; + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":712 + * frame.f_trace = thread_info.thread_trace_func + * else: + * frame.f_trace = main_debugger.trace_dispatch # <<<<<<<<<<<<<< + * + * if can_skip and func_code_info.breakpoint_found: + */ + /*else*/ { + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 712, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_9 = __pyx_t_10; + __Pyx_INCREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (__Pyx_PyObject_SetAttrStr(__pyx_v_frame, __pyx_n_s_f_trace, __pyx_t_9) < 0) __PYX_ERR(0, 712, __pyx_L23_error) + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __pyx_L51:; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":706 + * can_skip = main_debugger.plugin.can_skip(main_debugger, frame_obj) + * + * if not can_skip: # <<<<<<<<<<<<<< + * # if DEBUG: + * # print('get_bytecode_while_frame_eval not can_skip') + */ + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":703 + * if not func_code_info.always_skip_code: + * + * if main_debugger.has_plugin_line_breaks or main_debugger.has_plugin_exception_breaks: # <<<<<<<<<<<<<< + * can_skip = main_debugger.plugin.can_skip(main_debugger, frame_obj) + * + */ + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":714 + * frame.f_trace = main_debugger.trace_dispatch + * + * if can_skip and func_code_info.breakpoint_found: # <<<<<<<<<<<<<< + * # if DEBUG: + * # print('get_bytecode_while_frame_eval new_code', func_code_info.new_code) + */ + __pyx_t_4 = (__pyx_v_can_skip != 0); + if (__pyx_t_4) { + } else { + __pyx_t_3 = __pyx_t_4; + goto __pyx_L53_bool_binop_done; + } + __pyx_t_4 = (__pyx_v_func_code_info->breakpoint_found != 0); + __pyx_t_3 = __pyx_t_4; + __pyx_L53_bool_binop_done:; + if (__pyx_t_3) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":717 + * # if DEBUG: + * # print('get_bytecode_while_frame_eval new_code', func_code_info.new_code) + * if not thread_info.force_stay_in_untraced_mode: # <<<<<<<<<<<<<< + * # If breakpoints are found but new_code is None, + * # this means we weren't able to actually add the code + */ + __pyx_t_3 = ((!(__pyx_v_thread_info->force_stay_in_untraced_mode != 0)) != 0); + if (__pyx_t_3) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":721 + * # this means we weren't able to actually add the code + * # where needed, so, fallback to tracing. + * if func_code_info.new_code is None: # <<<<<<<<<<<<<< + * if thread_info.thread_trace_func is not None: + * frame.f_trace = thread_info.thread_trace_func + */ + __pyx_t_3 = (__pyx_v_func_code_info->new_code == Py_None); + __pyx_t_4 = (__pyx_t_3 != 0); + if (__pyx_t_4) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":722 + * # where needed, so, fallback to tracing. + * if func_code_info.new_code is None: + * if thread_info.thread_trace_func is not None: # <<<<<<<<<<<<<< + * frame.f_trace = thread_info.thread_trace_func + * else: + */ + __pyx_t_4 = (__pyx_v_thread_info->thread_trace_func != Py_None); + __pyx_t_3 = (__pyx_t_4 != 0); + if (__pyx_t_3) { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":723 + * if func_code_info.new_code is None: + * if thread_info.thread_trace_func is not None: + * frame.f_trace = thread_info.thread_trace_func # <<<<<<<<<<<<<< + * else: + * frame.f_trace = main_debugger.trace_dispatch + */ + __pyx_t_9 = __pyx_v_thread_info->thread_trace_func; + __Pyx_INCREF(__pyx_t_9); + if (__Pyx_PyObject_SetAttrStr(__pyx_v_frame, __pyx_n_s_f_trace, __pyx_t_9) < 0) __PYX_ERR(0, 723, __pyx_L23_error) + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":722 + * # where needed, so, fallback to tracing. + * if func_code_info.new_code is None: + * if thread_info.thread_trace_func is not None: # <<<<<<<<<<<<<< + * frame.f_trace = thread_info.thread_trace_func + * else: + */ + goto __pyx_L57; + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":725 + * frame.f_trace = thread_info.thread_trace_func + * else: + * frame.f_trace = main_debugger.trace_dispatch # <<<<<<<<<<<<<< + * else: + * # print('Using frame eval break for', frame_obj.f_code.co_name) + */ + /*else*/ { + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_main_debugger, __pyx_n_s_trace_dispatch); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 725, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_10 = __pyx_t_9; + __Pyx_INCREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + if (__Pyx_PyObject_SetAttrStr(__pyx_v_frame, __pyx_n_s_f_trace, __pyx_t_10) < 0) __PYX_ERR(0, 725, __pyx_L23_error) + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + } + __pyx_L57:; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":721 + * # this means we weren't able to actually add the code + * # where needed, so, fallback to tracing. + * if func_code_info.new_code is None: # <<<<<<<<<<<<<< + * if thread_info.thread_trace_func is not None: + * frame.f_trace = thread_info.thread_trace_func + */ + goto __pyx_L56; + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":728 + * else: + * # print('Using frame eval break for', frame_obj.f_code.co_name) + * update_globals_dict( frame_obj.f_globals) # <<<<<<<<<<<<<< + * Py_INCREF(func_code_info.new_code) + * old = frame_obj.f_code + */ + /*else*/ { + __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_update_globals_dict); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 728, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_8 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_9, function); + } + } + __pyx_t_10 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_8, ((PyObject *)__pyx_v_frame_obj->f_globals)) : __Pyx_PyObject_CallOneArg(__pyx_t_9, ((PyObject *)__pyx_v_frame_obj->f_globals)); + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 728, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":729 + * # print('Using frame eval break for', frame_obj.f_code.co_name) + * update_globals_dict( frame_obj.f_globals) + * Py_INCREF(func_code_info.new_code) # <<<<<<<<<<<<<< + * old = frame_obj.f_code + * frame_obj.f_code = func_code_info.new_code + */ + __pyx_t_10 = __pyx_v_func_code_info->new_code; + __Pyx_INCREF(__pyx_t_10); + Py_INCREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":730 + * update_globals_dict( frame_obj.f_globals) + * Py_INCREF(func_code_info.new_code) + * old = frame_obj.f_code # <<<<<<<<<<<<<< + * frame_obj.f_code = func_code_info.new_code + * Py_DECREF(old) + */ + __pyx_t_10 = ((PyObject *)__pyx_v_frame_obj->f_code); + __Pyx_INCREF(__pyx_t_10); + __pyx_v_old = __pyx_t_10; + __pyx_t_10 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":731 + * Py_INCREF(func_code_info.new_code) + * old = frame_obj.f_code + * frame_obj.f_code = func_code_info.new_code # <<<<<<<<<<<<<< + * Py_DECREF(old) + * else: + */ + __pyx_v_frame_obj->f_code = ((PyCodeObject *)__pyx_v_func_code_info->new_code); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":732 + * old = frame_obj.f_code + * frame_obj.f_code = func_code_info.new_code + * Py_DECREF(old) # <<<<<<<<<<<<<< + * else: + * # When we're forcing to stay in traced mode we need to + */ + Py_DECREF(__pyx_v_old); + } + __pyx_L56:; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":717 + * # if DEBUG: + * # print('get_bytecode_while_frame_eval new_code', func_code_info.new_code) + * if not thread_info.force_stay_in_untraced_mode: # <<<<<<<<<<<<<< + * # If breakpoints are found but new_code is None, + * # this means we weren't able to actually add the code + */ + goto __pyx_L55; + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":737 + * # update the globals dict (because this means that we're reusing + * # a previous code which had breakpoints added in a new frame). + * update_globals_dict( frame_obj.f_globals) # <<<<<<<<<<<<<< + * + * finally: + */ + /*else*/ { + __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_update_globals_dict); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 737, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_8 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_9, function); + } + } + __pyx_t_10 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_8, ((PyObject *)__pyx_v_frame_obj->f_globals)) : __Pyx_PyObject_CallOneArg(__pyx_t_9, ((PyObject *)__pyx_v_frame_obj->f_globals)); + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 737, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + } + __pyx_L55:; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":714 + * frame.f_trace = main_debugger.trace_dispatch + * + * if can_skip and func_code_info.breakpoint_found: # <<<<<<<<<<<<<< + * # if DEBUG: + * # print('get_bytecode_while_frame_eval new_code', func_code_info.new_code) + */ + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":701 + * # if DEBUG: + * # print('get_bytecode_while_frame_eval always skip', func_code_info.always_skip_code) + * if not func_code_info.always_skip_code: # <<<<<<<<<<<<<< + * + * if main_debugger.has_plugin_line_breaks or main_debugger.has_plugin_exception_breaks: + */ + } + } + __pyx_L30:; + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":740 + * + * finally: + * thread_info.inside_frame_eval -= 1 # <<<<<<<<<<<<<< + * additional_info.is_tracing = False + * + */ + /*finally:*/ { + /*normal exit:*/{ + __pyx_v_thread_info->inside_frame_eval = (__pyx_v_thread_info->inside_frame_eval - 1); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":741 + * finally: + * thread_info.inside_frame_eval -= 1 + * additional_info.is_tracing = False # <<<<<<<<<<<<<< + * + * return CALL_EvalFrameDefault_39(tstate, frame_obj, exc) + */ + __pyx_v_additional_info->is_tracing = 0; + goto __pyx_L24; + } + __pyx_L23_error:; + /*exception exit:*/{ + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __pyx_t_7 = 0; __pyx_t_6 = 0; __pyx_t_5 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_15, &__pyx_t_16, &__pyx_t_17); + if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_5) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_6, &__pyx_t_5); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_5); + __Pyx_XGOTREF(__pyx_t_15); + __Pyx_XGOTREF(__pyx_t_16); + __Pyx_XGOTREF(__pyx_t_17); + __pyx_t_11 = __pyx_lineno; __pyx_t_13 = __pyx_clineno; __pyx_t_14 = __pyx_filename; + { + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":740 + * + * finally: + * thread_info.inside_frame_eval -= 1 # <<<<<<<<<<<<<< + * additional_info.is_tracing = False + * + */ + __pyx_v_thread_info->inside_frame_eval = (__pyx_v_thread_info->inside_frame_eval - 1); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":741 + * finally: + * thread_info.inside_frame_eval -= 1 + * additional_info.is_tracing = False # <<<<<<<<<<<<<< + * + * return CALL_EvalFrameDefault_39(tstate, frame_obj, exc) + */ + __pyx_v_additional_info->is_tracing = 0; + } + if (PY_MAJOR_VERSION >= 3) { + __Pyx_XGIVEREF(__pyx_t_15); + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_XGIVEREF(__pyx_t_17); + __Pyx_ExceptionReset(__pyx_t_15, __pyx_t_16, __pyx_t_17); + } + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_ErrRestore(__pyx_t_7, __pyx_t_6, __pyx_t_5); + __pyx_t_7 = 0; __pyx_t_6 = 0; __pyx_t_5 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; + __pyx_lineno = __pyx_t_11; __pyx_clineno = __pyx_t_13; __pyx_filename = __pyx_t_14; + goto __pyx_L1_error; + } + __pyx_L22_return: { + __pyx_t_18 = __pyx_r; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":740 + * + * finally: + * thread_info.inside_frame_eval -= 1 # <<<<<<<<<<<<<< + * additional_info.is_tracing = False + * + */ + __pyx_v_thread_info->inside_frame_eval = (__pyx_v_thread_info->inside_frame_eval - 1); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":741 + * finally: + * thread_info.inside_frame_eval -= 1 + * additional_info.is_tracing = False # <<<<<<<<<<<<<< + * + * return CALL_EvalFrameDefault_39(tstate, frame_obj, exc) + */ + __pyx_v_additional_info->is_tracing = 0; + __pyx_r = __pyx_t_18; + goto __pyx_L0; + } + __pyx_L24:; + } + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":743 + * additional_info.is_tracing = False + * + * return CALL_EvalFrameDefault_39(tstate, frame_obj, exc) # <<<<<<<<<<<<<< + * ### WARNING: GENERATED CODE, DO NOT EDIT! + * ### WARNING: GENERATED CODE, DO NOT EDIT! + */ + __pyx_r = CALL_EvalFrameDefault_39(__pyx_v_tstate, __pyx_v_frame_obj, __pyx_v_exc); + goto __pyx_L0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":623 + * ### WARNING: GENERATED CODE, DO NOT EDIT! + * ### WARNING: GENERATED CODE, DO NOT EDIT! + * cdef PyObject * get_bytecode_while_frame_eval_39(PyThreadState* tstate, PyFrameObject * frame_obj, int exc): # <<<<<<<<<<<<<< + * ''' + * This function makes the actual evaluation and changes the bytecode to a version + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_WriteUnraisable("_pydevd_frame_eval.pydevd_frame_evaluator.get_bytecode_while_frame_eval_39", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XDECREF((PyObject *)__pyx_v_thread_info); + __Pyx_XDECREF((PyObject *)__pyx_v_additional_info); + __Pyx_XDECREF(__pyx_v_main_debugger); + __Pyx_XDECREF(__pyx_v_frame); + __Pyx_XDECREF(__pyx_v_trace_func); + __Pyx_XDECREF(__pyx_v_apply_to_global); + __Pyx_XDECREF((PyObject *)__pyx_v_func_code_info); + __Pyx_XDECREF(__pyx_v_old); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":1 + * def __pyx_unpickle_ThreadInfo(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * cdef object __pyx_PickleError + * cdef object __pyx_result + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_21__pyx_unpickle_ThreadInfo(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_18_pydevd_frame_eval_22pydevd_frame_evaluator_21__pyx_unpickle_ThreadInfo = {"__pyx_unpickle_ThreadInfo", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_21__pyx_unpickle_ThreadInfo, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_21__pyx_unpickle_ThreadInfo(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v___pyx_type = 0; + long __pyx_v___pyx_checksum; + PyObject *__pyx_v___pyx_state = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__pyx_unpickle_ThreadInfo (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0}; + PyObject* values[3] = {0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_ThreadInfo", 1, 3, 3, 1); __PYX_ERR(1, 1, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_ThreadInfo", 1, 3, 3, 2); __PYX_ERR(1, 1, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_ThreadInfo") < 0)) __PYX_ERR(1, 1, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + } + __pyx_v___pyx_type = values[0]; + __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error) + __pyx_v___pyx_state = values[2]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_ThreadInfo", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.__pyx_unpickle_ThreadInfo", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_20__pyx_unpickle_ThreadInfo(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_20__pyx_unpickle_ThreadInfo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_v___pyx_PickleError = 0; + PyObject *__pyx_v___pyx_result = 0; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + int __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__pyx_unpickle_ThreadInfo", 0); + + /* "(tree fragment)":4 + * cdef object __pyx_PickleError + * cdef object __pyx_result + * if __pyx_checksum not in (0x0af4089, 0xe535b68, 0xb8148ba): # <<<<<<<<<<<<<< + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x0af4089, 0xe535b68, 0xb8148ba) = (_can_create_dummy_thread, additional_info, force_stay_in_untraced_mode, fully_initialized, inside_frame_eval, is_pydevd_thread, thread_trace_func))" % __pyx_checksum) + */ + __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_tuple__6, Py_NE)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 4, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_3 = (__pyx_t_2 != 0); + if (__pyx_t_3) { + + /* "(tree fragment)":5 + * cdef object __pyx_result + * if __pyx_checksum not in (0x0af4089, 0xe535b68, 0xb8148ba): + * from pickle import PickleError as __pyx_PickleError # <<<<<<<<<<<<<< + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x0af4089, 0xe535b68, 0xb8148ba) = (_can_create_dummy_thread, additional_info, force_stay_in_untraced_mode, fully_initialized, inside_frame_eval, is_pydevd_thread, thread_trace_func))" % __pyx_checksum) + * __pyx_result = ThreadInfo.__new__(__pyx_type) + */ + __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_s_PickleError); + __Pyx_GIVEREF(__pyx_n_s_PickleError); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_PickleError); + __pyx_t_4 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_1, -1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_4, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_t_1); + __pyx_v___pyx_PickleError = __pyx_t_1; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "(tree fragment)":6 + * if __pyx_checksum not in (0x0af4089, 0xe535b68, 0xb8148ba): + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x0af4089, 0xe535b68, 0xb8148ba) = (_can_create_dummy_thread, additional_info, force_stay_in_untraced_mode, fully_initialized, inside_frame_eval, is_pydevd_thread, thread_trace_func))" % __pyx_checksum) # <<<<<<<<<<<<<< + * __pyx_result = ThreadInfo.__new__(__pyx_type) + * if __pyx_state is not None: + */ + __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_0x_x_vs_0, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_INCREF(__pyx_v___pyx_PickleError); + __pyx_t_1 = __pyx_v___pyx_PickleError; __pyx_t_6 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_Raise(__pyx_t_4, 0, 0, 0); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __PYX_ERR(1, 6, __pyx_L1_error) + + /* "(tree fragment)":4 + * cdef object __pyx_PickleError + * cdef object __pyx_result + * if __pyx_checksum not in (0x0af4089, 0xe535b68, 0xb8148ba): # <<<<<<<<<<<<<< + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x0af4089, 0xe535b68, 0xb8148ba) = (_can_create_dummy_thread, additional_info, force_stay_in_untraced_mode, fully_initialized, inside_frame_eval, is_pydevd_thread, thread_trace_func))" % __pyx_checksum) + */ + } + + /* "(tree fragment)":7 + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x0af4089, 0xe535b68, 0xb8148ba) = (_can_create_dummy_thread, additional_info, force_stay_in_untraced_mode, fully_initialized, inside_frame_eval, is_pydevd_thread, thread_trace_func))" % __pyx_checksum) + * __pyx_result = ThreadInfo.__new__(__pyx_type) # <<<<<<<<<<<<<< + * if __pyx_state is not None: + * __pyx_unpickle_ThreadInfo__set_state( __pyx_result, __pyx_state) + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo), __pyx_n_s_new); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v___pyx_type); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 7, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v___pyx_result = __pyx_t_4; + __pyx_t_4 = 0; + + /* "(tree fragment)":8 + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x0af4089, 0xe535b68, 0xb8148ba) = (_can_create_dummy_thread, additional_info, force_stay_in_untraced_mode, fully_initialized, inside_frame_eval, is_pydevd_thread, thread_trace_func))" % __pyx_checksum) + * __pyx_result = ThreadInfo.__new__(__pyx_type) + * if __pyx_state is not None: # <<<<<<<<<<<<<< + * __pyx_unpickle_ThreadInfo__set_state( __pyx_result, __pyx_state) + * return __pyx_result + */ + __pyx_t_3 = (__pyx_v___pyx_state != Py_None); + __pyx_t_2 = (__pyx_t_3 != 0); + if (__pyx_t_2) { + + /* "(tree fragment)":9 + * __pyx_result = ThreadInfo.__new__(__pyx_type) + * if __pyx_state is not None: + * __pyx_unpickle_ThreadInfo__set_state( __pyx_result, __pyx_state) # <<<<<<<<<<<<<< + * return __pyx_result + * cdef __pyx_unpickle_ThreadInfo__set_state(ThreadInfo __pyx_result, tuple __pyx_state): + */ + if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 9, __pyx_L1_error) + __pyx_t_4 = __pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator___pyx_unpickle_ThreadInfo__set_state(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "(tree fragment)":8 + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x0af4089, 0xe535b68, 0xb8148ba) = (_can_create_dummy_thread, additional_info, force_stay_in_untraced_mode, fully_initialized, inside_frame_eval, is_pydevd_thread, thread_trace_func))" % __pyx_checksum) + * __pyx_result = ThreadInfo.__new__(__pyx_type) + * if __pyx_state is not None: # <<<<<<<<<<<<<< + * __pyx_unpickle_ThreadInfo__set_state( __pyx_result, __pyx_state) + * return __pyx_result + */ + } + + /* "(tree fragment)":10 + * if __pyx_state is not None: + * __pyx_unpickle_ThreadInfo__set_state( __pyx_result, __pyx_state) + * return __pyx_result # <<<<<<<<<<<<<< + * cdef __pyx_unpickle_ThreadInfo__set_state(ThreadInfo __pyx_result, tuple __pyx_state): + * __pyx_result._can_create_dummy_thread = __pyx_state[0]; __pyx_result.additional_info = __pyx_state[1]; __pyx_result.force_stay_in_untraced_mode = __pyx_state[2]; __pyx_result.fully_initialized = __pyx_state[3]; __pyx_result.inside_frame_eval = __pyx_state[4]; __pyx_result.is_pydevd_thread = __pyx_state[5]; __pyx_result.thread_trace_func = __pyx_state[6] + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v___pyx_result); + __pyx_r = __pyx_v___pyx_result; + goto __pyx_L0; + + /* "(tree fragment)":1 + * def __pyx_unpickle_ThreadInfo(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * cdef object __pyx_PickleError + * cdef object __pyx_result + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.__pyx_unpickle_ThreadInfo", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v___pyx_PickleError); + __Pyx_XDECREF(__pyx_v___pyx_result); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":11 + * __pyx_unpickle_ThreadInfo__set_state( __pyx_result, __pyx_state) + * return __pyx_result + * cdef __pyx_unpickle_ThreadInfo__set_state(ThreadInfo __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<< + * __pyx_result._can_create_dummy_thread = __pyx_state[0]; __pyx_result.additional_info = __pyx_state[1]; __pyx_result.force_stay_in_untraced_mode = __pyx_state[2]; __pyx_result.fully_initialized = __pyx_state[3]; __pyx_result.inside_frame_eval = __pyx_state[4]; __pyx_result.is_pydevd_thread = __pyx_state[5]; __pyx_result.thread_trace_func = __pyx_state[6] + * if len(__pyx_state) > 7 and hasattr(__pyx_result, '__dict__'): + */ + +static PyObject *__pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator___pyx_unpickle_ThreadInfo__set_state(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + int __pyx_t_3; + Py_ssize_t __pyx_t_4; + int __pyx_t_5; + int __pyx_t_6; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__pyx_unpickle_ThreadInfo__set_state", 0); + + /* "(tree fragment)":12 + * return __pyx_result + * cdef __pyx_unpickle_ThreadInfo__set_state(ThreadInfo __pyx_result, tuple __pyx_state): + * __pyx_result._can_create_dummy_thread = __pyx_state[0]; __pyx_result.additional_info = __pyx_state[1]; __pyx_result.force_stay_in_untraced_mode = __pyx_state[2]; __pyx_result.fully_initialized = __pyx_state[3]; __pyx_result.inside_frame_eval = __pyx_state[4]; __pyx_result.is_pydevd_thread = __pyx_state[5]; __pyx_result.thread_trace_func = __pyx_state[6] # <<<<<<<<<<<<<< + * if len(__pyx_state) > 7 and hasattr(__pyx_result, '__dict__'): + * __pyx_result.__dict__.update(__pyx_state[7]) + */ + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v___pyx_result->_can_create_dummy_thread = __pyx_t_2; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo))))) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->additional_info); + __Pyx_DECREF(((PyObject *)__pyx_v___pyx_result->additional_info)); + __pyx_v___pyx_result->additional_info = ((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)__pyx_t_1); + __pyx_t_1 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v___pyx_result->force_stay_in_untraced_mode = __pyx_t_2; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v___pyx_result->fully_initialized = __pyx_t_2; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v___pyx_result->inside_frame_eval = __pyx_t_3; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 5, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v___pyx_result->is_pydevd_thread = __pyx_t_2; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 6, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->thread_trace_func); + __Pyx_DECREF(__pyx_v___pyx_result->thread_trace_func); + __pyx_v___pyx_result->thread_trace_func = __pyx_t_1; + __pyx_t_1 = 0; + + /* "(tree fragment)":13 + * cdef __pyx_unpickle_ThreadInfo__set_state(ThreadInfo __pyx_result, tuple __pyx_state): + * __pyx_result._can_create_dummy_thread = __pyx_state[0]; __pyx_result.additional_info = __pyx_state[1]; __pyx_result.force_stay_in_untraced_mode = __pyx_state[2]; __pyx_result.fully_initialized = __pyx_state[3]; __pyx_result.inside_frame_eval = __pyx_state[4]; __pyx_result.is_pydevd_thread = __pyx_state[5]; __pyx_result.thread_trace_func = __pyx_state[6] + * if len(__pyx_state) > 7 and hasattr(__pyx_result, '__dict__'): # <<<<<<<<<<<<<< + * __pyx_result.__dict__.update(__pyx_state[7]) + */ + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); + __PYX_ERR(1, 13, __pyx_L1_error) + } + __pyx_t_4 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(1, 13, __pyx_L1_error) + __pyx_t_5 = ((__pyx_t_4 > 7) != 0); + if (__pyx_t_5) { + } else { + __pyx_t_2 = __pyx_t_5; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_5 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(1, 13, __pyx_L1_error) + __pyx_t_6 = (__pyx_t_5 != 0); + __pyx_t_2 = __pyx_t_6; + __pyx_L4_bool_binop_done:; + if (__pyx_t_2) { + + /* "(tree fragment)":14 + * __pyx_result._can_create_dummy_thread = __pyx_state[0]; __pyx_result.additional_info = __pyx_state[1]; __pyx_result.force_stay_in_untraced_mode = __pyx_state[2]; __pyx_result.fully_initialized = __pyx_state[3]; __pyx_result.inside_frame_eval = __pyx_state[4]; __pyx_result.is_pydevd_thread = __pyx_state[5]; __pyx_result.thread_trace_func = __pyx_state[6] + * if len(__pyx_state) > 7 and hasattr(__pyx_result, '__dict__'): + * __pyx_result.__dict__.update(__pyx_state[7]) # <<<<<<<<<<<<<< + */ + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_update); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 14, __pyx_L1_error) + } + __pyx_t_7 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 7, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_8, function); + } + } + __pyx_t_1 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_9, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_7); + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "(tree fragment)":13 + * cdef __pyx_unpickle_ThreadInfo__set_state(ThreadInfo __pyx_result, tuple __pyx_state): + * __pyx_result._can_create_dummy_thread = __pyx_state[0]; __pyx_result.additional_info = __pyx_state[1]; __pyx_result.force_stay_in_untraced_mode = __pyx_state[2]; __pyx_result.fully_initialized = __pyx_state[3]; __pyx_result.inside_frame_eval = __pyx_state[4]; __pyx_result.is_pydevd_thread = __pyx_state[5]; __pyx_result.thread_trace_func = __pyx_state[6] + * if len(__pyx_state) > 7 and hasattr(__pyx_result, '__dict__'): # <<<<<<<<<<<<<< + * __pyx_result.__dict__.update(__pyx_state[7]) + */ + } + + /* "(tree fragment)":11 + * __pyx_unpickle_ThreadInfo__set_state( __pyx_result, __pyx_state) + * return __pyx_result + * cdef __pyx_unpickle_ThreadInfo__set_state(ThreadInfo __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<< + * __pyx_result._can_create_dummy_thread = __pyx_state[0]; __pyx_result.additional_info = __pyx_state[1]; __pyx_result.force_stay_in_untraced_mode = __pyx_state[2]; __pyx_result.fully_initialized = __pyx_state[3]; __pyx_result.inside_frame_eval = __pyx_state[4]; __pyx_result.is_pydevd_thread = __pyx_state[5]; __pyx_result.thread_trace_func = __pyx_state[6] + * if len(__pyx_state) > 7 and hasattr(__pyx_result, '__dict__'): + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.__pyx_unpickle_ThreadInfo__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":1 + * def __pyx_unpickle_FuncCodeInfo(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * cdef object __pyx_PickleError + * cdef object __pyx_result + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_23__pyx_unpickle_FuncCodeInfo(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_18_pydevd_frame_eval_22pydevd_frame_evaluator_23__pyx_unpickle_FuncCodeInfo = {"__pyx_unpickle_FuncCodeInfo", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_23__pyx_unpickle_FuncCodeInfo, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_23__pyx_unpickle_FuncCodeInfo(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v___pyx_type = 0; + long __pyx_v___pyx_checksum; + PyObject *__pyx_v___pyx_state = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__pyx_unpickle_FuncCodeInfo (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0}; + PyObject* values[3] = {0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_FuncCodeInfo", 1, 3, 3, 1); __PYX_ERR(1, 1, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_FuncCodeInfo", 1, 3, 3, 2); __PYX_ERR(1, 1, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_FuncCodeInfo") < 0)) __PYX_ERR(1, 1, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + } + __pyx_v___pyx_type = values[0]; + __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error) + __pyx_v___pyx_state = values[2]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_FuncCodeInfo", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.__pyx_unpickle_FuncCodeInfo", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_22__pyx_unpickle_FuncCodeInfo(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_22__pyx_unpickle_FuncCodeInfo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_v___pyx_PickleError = 0; + PyObject *__pyx_v___pyx_result = 0; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + int __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__pyx_unpickle_FuncCodeInfo", 0); + + /* "(tree fragment)":4 + * cdef object __pyx_PickleError + * cdef object __pyx_result + * if __pyx_checksum not in (0xb3ee05d, 0x450d2d6, 0x956dcaa): # <<<<<<<<<<<<<< + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0xb3ee05d, 0x450d2d6, 0x956dcaa) = (always_skip_code, breakpoint_found, breakpoints_mtime, canonical_normalized_filename, co_filename, co_name, new_code))" % __pyx_checksum) + */ + __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_tuple__7, Py_NE)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 4, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_3 = (__pyx_t_2 != 0); + if (__pyx_t_3) { + + /* "(tree fragment)":5 + * cdef object __pyx_result + * if __pyx_checksum not in (0xb3ee05d, 0x450d2d6, 0x956dcaa): + * from pickle import PickleError as __pyx_PickleError # <<<<<<<<<<<<<< + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0xb3ee05d, 0x450d2d6, 0x956dcaa) = (always_skip_code, breakpoint_found, breakpoints_mtime, canonical_normalized_filename, co_filename, co_name, new_code))" % __pyx_checksum) + * __pyx_result = FuncCodeInfo.__new__(__pyx_type) + */ + __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_s_PickleError); + __Pyx_GIVEREF(__pyx_n_s_PickleError); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_PickleError); + __pyx_t_4 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_1, -1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_4, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_t_1); + __pyx_v___pyx_PickleError = __pyx_t_1; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "(tree fragment)":6 + * if __pyx_checksum not in (0xb3ee05d, 0x450d2d6, 0x956dcaa): + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0xb3ee05d, 0x450d2d6, 0x956dcaa) = (always_skip_code, breakpoint_found, breakpoints_mtime, canonical_normalized_filename, co_filename, co_name, new_code))" % __pyx_checksum) # <<<<<<<<<<<<<< + * __pyx_result = FuncCodeInfo.__new__(__pyx_type) + * if __pyx_state is not None: + */ + __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_2, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_INCREF(__pyx_v___pyx_PickleError); + __pyx_t_1 = __pyx_v___pyx_PickleError; __pyx_t_6 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_Raise(__pyx_t_4, 0, 0, 0); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __PYX_ERR(1, 6, __pyx_L1_error) + + /* "(tree fragment)":4 + * cdef object __pyx_PickleError + * cdef object __pyx_result + * if __pyx_checksum not in (0xb3ee05d, 0x450d2d6, 0x956dcaa): # <<<<<<<<<<<<<< + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0xb3ee05d, 0x450d2d6, 0x956dcaa) = (always_skip_code, breakpoint_found, breakpoints_mtime, canonical_normalized_filename, co_filename, co_name, new_code))" % __pyx_checksum) + */ + } + + /* "(tree fragment)":7 + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0xb3ee05d, 0x450d2d6, 0x956dcaa) = (always_skip_code, breakpoint_found, breakpoints_mtime, canonical_normalized_filename, co_filename, co_name, new_code))" % __pyx_checksum) + * __pyx_result = FuncCodeInfo.__new__(__pyx_type) # <<<<<<<<<<<<<< + * if __pyx_state is not None: + * __pyx_unpickle_FuncCodeInfo__set_state( __pyx_result, __pyx_state) + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo), __pyx_n_s_new); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v___pyx_type); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 7, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v___pyx_result = __pyx_t_4; + __pyx_t_4 = 0; + + /* "(tree fragment)":8 + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0xb3ee05d, 0x450d2d6, 0x956dcaa) = (always_skip_code, breakpoint_found, breakpoints_mtime, canonical_normalized_filename, co_filename, co_name, new_code))" % __pyx_checksum) + * __pyx_result = FuncCodeInfo.__new__(__pyx_type) + * if __pyx_state is not None: # <<<<<<<<<<<<<< + * __pyx_unpickle_FuncCodeInfo__set_state( __pyx_result, __pyx_state) + * return __pyx_result + */ + __pyx_t_3 = (__pyx_v___pyx_state != Py_None); + __pyx_t_2 = (__pyx_t_3 != 0); + if (__pyx_t_2) { + + /* "(tree fragment)":9 + * __pyx_result = FuncCodeInfo.__new__(__pyx_type) + * if __pyx_state is not None: + * __pyx_unpickle_FuncCodeInfo__set_state( __pyx_result, __pyx_state) # <<<<<<<<<<<<<< + * return __pyx_result + * cdef __pyx_unpickle_FuncCodeInfo__set_state(FuncCodeInfo __pyx_result, tuple __pyx_state): + */ + if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 9, __pyx_L1_error) + __pyx_t_4 = __pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator___pyx_unpickle_FuncCodeInfo__set_state(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "(tree fragment)":8 + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0xb3ee05d, 0x450d2d6, 0x956dcaa) = (always_skip_code, breakpoint_found, breakpoints_mtime, canonical_normalized_filename, co_filename, co_name, new_code))" % __pyx_checksum) + * __pyx_result = FuncCodeInfo.__new__(__pyx_type) + * if __pyx_state is not None: # <<<<<<<<<<<<<< + * __pyx_unpickle_FuncCodeInfo__set_state( __pyx_result, __pyx_state) + * return __pyx_result + */ + } + + /* "(tree fragment)":10 + * if __pyx_state is not None: + * __pyx_unpickle_FuncCodeInfo__set_state( __pyx_result, __pyx_state) + * return __pyx_result # <<<<<<<<<<<<<< + * cdef __pyx_unpickle_FuncCodeInfo__set_state(FuncCodeInfo __pyx_result, tuple __pyx_state): + * __pyx_result.always_skip_code = __pyx_state[0]; __pyx_result.breakpoint_found = __pyx_state[1]; __pyx_result.breakpoints_mtime = __pyx_state[2]; __pyx_result.canonical_normalized_filename = __pyx_state[3]; __pyx_result.co_filename = __pyx_state[4]; __pyx_result.co_name = __pyx_state[5]; __pyx_result.new_code = __pyx_state[6] + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v___pyx_result); + __pyx_r = __pyx_v___pyx_result; + goto __pyx_L0; + + /* "(tree fragment)":1 + * def __pyx_unpickle_FuncCodeInfo(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * cdef object __pyx_PickleError + * cdef object __pyx_result + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.__pyx_unpickle_FuncCodeInfo", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v___pyx_PickleError); + __Pyx_XDECREF(__pyx_v___pyx_result); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":11 + * __pyx_unpickle_FuncCodeInfo__set_state( __pyx_result, __pyx_state) + * return __pyx_result + * cdef __pyx_unpickle_FuncCodeInfo__set_state(FuncCodeInfo __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<< + * __pyx_result.always_skip_code = __pyx_state[0]; __pyx_result.breakpoint_found = __pyx_state[1]; __pyx_result.breakpoints_mtime = __pyx_state[2]; __pyx_result.canonical_normalized_filename = __pyx_state[3]; __pyx_result.co_filename = __pyx_state[4]; __pyx_result.co_name = __pyx_state[5]; __pyx_result.new_code = __pyx_state[6] + * if len(__pyx_state) > 7 and hasattr(__pyx_result, '__dict__'): + */ + +static PyObject *__pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator___pyx_unpickle_FuncCodeInfo__set_state(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + int __pyx_t_3; + Py_ssize_t __pyx_t_4; + int __pyx_t_5; + int __pyx_t_6; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__pyx_unpickle_FuncCodeInfo__set_state", 0); + + /* "(tree fragment)":12 + * return __pyx_result + * cdef __pyx_unpickle_FuncCodeInfo__set_state(FuncCodeInfo __pyx_result, tuple __pyx_state): + * __pyx_result.always_skip_code = __pyx_state[0]; __pyx_result.breakpoint_found = __pyx_state[1]; __pyx_result.breakpoints_mtime = __pyx_state[2]; __pyx_result.canonical_normalized_filename = __pyx_state[3]; __pyx_result.co_filename = __pyx_state[4]; __pyx_result.co_name = __pyx_state[5]; __pyx_result.new_code = __pyx_state[6] # <<<<<<<<<<<<<< + * if len(__pyx_state) > 7 and hasattr(__pyx_result, '__dict__'): + * __pyx_result.__dict__.update(__pyx_state[7]) + */ + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v___pyx_result->always_skip_code = __pyx_t_2; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v___pyx_result->breakpoint_found = __pyx_t_2; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v___pyx_result->breakpoints_mtime = __pyx_t_3; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(PyString_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->canonical_normalized_filename); + __Pyx_DECREF(__pyx_v___pyx_result->canonical_normalized_filename); + __pyx_v___pyx_result->canonical_normalized_filename = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(PyString_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->co_filename); + __Pyx_DECREF(__pyx_v___pyx_result->co_filename); + __pyx_v___pyx_result->co_filename = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 5, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(PyString_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->co_name); + __Pyx_DECREF(__pyx_v___pyx_result->co_name); + __pyx_v___pyx_result->co_name = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 6, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->new_code); + __Pyx_DECREF(__pyx_v___pyx_result->new_code); + __pyx_v___pyx_result->new_code = __pyx_t_1; + __pyx_t_1 = 0; + + /* "(tree fragment)":13 + * cdef __pyx_unpickle_FuncCodeInfo__set_state(FuncCodeInfo __pyx_result, tuple __pyx_state): + * __pyx_result.always_skip_code = __pyx_state[0]; __pyx_result.breakpoint_found = __pyx_state[1]; __pyx_result.breakpoints_mtime = __pyx_state[2]; __pyx_result.canonical_normalized_filename = __pyx_state[3]; __pyx_result.co_filename = __pyx_state[4]; __pyx_result.co_name = __pyx_state[5]; __pyx_result.new_code = __pyx_state[6] + * if len(__pyx_state) > 7 and hasattr(__pyx_result, '__dict__'): # <<<<<<<<<<<<<< + * __pyx_result.__dict__.update(__pyx_state[7]) + */ + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); + __PYX_ERR(1, 13, __pyx_L1_error) + } + __pyx_t_4 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(1, 13, __pyx_L1_error) + __pyx_t_5 = ((__pyx_t_4 > 7) != 0); + if (__pyx_t_5) { + } else { + __pyx_t_2 = __pyx_t_5; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_5 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(1, 13, __pyx_L1_error) + __pyx_t_6 = (__pyx_t_5 != 0); + __pyx_t_2 = __pyx_t_6; + __pyx_L4_bool_binop_done:; + if (__pyx_t_2) { + + /* "(tree fragment)":14 + * __pyx_result.always_skip_code = __pyx_state[0]; __pyx_result.breakpoint_found = __pyx_state[1]; __pyx_result.breakpoints_mtime = __pyx_state[2]; __pyx_result.canonical_normalized_filename = __pyx_state[3]; __pyx_result.co_filename = __pyx_state[4]; __pyx_result.co_name = __pyx_state[5]; __pyx_result.new_code = __pyx_state[6] + * if len(__pyx_state) > 7 and hasattr(__pyx_result, '__dict__'): + * __pyx_result.__dict__.update(__pyx_state[7]) # <<<<<<<<<<<<<< + */ + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_update); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 14, __pyx_L1_error) + } + __pyx_t_7 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 7, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_8, function); + } + } + __pyx_t_1 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_9, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_7); + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "(tree fragment)":13 + * cdef __pyx_unpickle_FuncCodeInfo__set_state(FuncCodeInfo __pyx_result, tuple __pyx_state): + * __pyx_result.always_skip_code = __pyx_state[0]; __pyx_result.breakpoint_found = __pyx_state[1]; __pyx_result.breakpoints_mtime = __pyx_state[2]; __pyx_result.canonical_normalized_filename = __pyx_state[3]; __pyx_result.co_filename = __pyx_state[4]; __pyx_result.co_name = __pyx_state[5]; __pyx_result.new_code = __pyx_state[6] + * if len(__pyx_state) > 7 and hasattr(__pyx_result, '__dict__'): # <<<<<<<<<<<<<< + * __pyx_result.__dict__.update(__pyx_state[7]) + */ + } + + /* "(tree fragment)":11 + * __pyx_unpickle_FuncCodeInfo__set_state( __pyx_result, __pyx_state) + * return __pyx_result + * cdef __pyx_unpickle_FuncCodeInfo__set_state(FuncCodeInfo __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<< + * __pyx_result.always_skip_code = __pyx_state[0]; __pyx_result.breakpoint_found = __pyx_state[1]; __pyx_result.breakpoints_mtime = __pyx_state[2]; __pyx_result.canonical_normalized_filename = __pyx_state[3]; __pyx_result.co_filename = __pyx_state[4]; __pyx_result.co_name = __pyx_state[5]; __pyx_result.new_code = __pyx_state[6] + * if len(__pyx_state) > 7 and hasattr(__pyx_result, '__dict__'): + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.__pyx_unpickle_FuncCodeInfo__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":1 + * def __pyx_unpickle__CodeLineInfo(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * cdef object __pyx_PickleError + * cdef object __pyx_result + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_25__pyx_unpickle__CodeLineInfo(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_18_pydevd_frame_eval_22pydevd_frame_evaluator_25__pyx_unpickle__CodeLineInfo = {"__pyx_unpickle__CodeLineInfo", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_25__pyx_unpickle__CodeLineInfo, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_25__pyx_unpickle__CodeLineInfo(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v___pyx_type = 0; + long __pyx_v___pyx_checksum; + PyObject *__pyx_v___pyx_state = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__pyx_unpickle__CodeLineInfo (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0}; + PyObject* values[3] = {0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle__CodeLineInfo", 1, 3, 3, 1); __PYX_ERR(1, 1, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle__CodeLineInfo", 1, 3, 3, 2); __PYX_ERR(1, 1, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle__CodeLineInfo") < 0)) __PYX_ERR(1, 1, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + } + __pyx_v___pyx_type = values[0]; + __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error) + __pyx_v___pyx_state = values[2]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle__CodeLineInfo", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.__pyx_unpickle__CodeLineInfo", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_24__pyx_unpickle__CodeLineInfo(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_24__pyx_unpickle__CodeLineInfo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_v___pyx_PickleError = 0; + PyObject *__pyx_v___pyx_result = 0; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + int __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__pyx_unpickle__CodeLineInfo", 0); + + /* "(tree fragment)":4 + * cdef object __pyx_PickleError + * cdef object __pyx_result + * if __pyx_checksum not in (0x3fbbd02, 0x5a9bcd5, 0x0267473): # <<<<<<<<<<<<<< + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x3fbbd02, 0x5a9bcd5, 0x0267473) = (first_line, last_line, line_to_offset))" % __pyx_checksum) + */ + __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_tuple__8, Py_NE)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 4, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_3 = (__pyx_t_2 != 0); + if (__pyx_t_3) { + + /* "(tree fragment)":5 + * cdef object __pyx_result + * if __pyx_checksum not in (0x3fbbd02, 0x5a9bcd5, 0x0267473): + * from pickle import PickleError as __pyx_PickleError # <<<<<<<<<<<<<< + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x3fbbd02, 0x5a9bcd5, 0x0267473) = (first_line, last_line, line_to_offset))" % __pyx_checksum) + * __pyx_result = _CodeLineInfo.__new__(__pyx_type) + */ + __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_s_PickleError); + __Pyx_GIVEREF(__pyx_n_s_PickleError); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_PickleError); + __pyx_t_4 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_1, -1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_4, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_t_1); + __pyx_v___pyx_PickleError = __pyx_t_1; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "(tree fragment)":6 + * if __pyx_checksum not in (0x3fbbd02, 0x5a9bcd5, 0x0267473): + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x3fbbd02, 0x5a9bcd5, 0x0267473) = (first_line, last_line, line_to_offset))" % __pyx_checksum) # <<<<<<<<<<<<<< + * __pyx_result = _CodeLineInfo.__new__(__pyx_type) + * if __pyx_state is not None: + */ + __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_INCREF(__pyx_v___pyx_PickleError); + __pyx_t_1 = __pyx_v___pyx_PickleError; __pyx_t_6 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_Raise(__pyx_t_4, 0, 0, 0); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __PYX_ERR(1, 6, __pyx_L1_error) + + /* "(tree fragment)":4 + * cdef object __pyx_PickleError + * cdef object __pyx_result + * if __pyx_checksum not in (0x3fbbd02, 0x5a9bcd5, 0x0267473): # <<<<<<<<<<<<<< + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x3fbbd02, 0x5a9bcd5, 0x0267473) = (first_line, last_line, line_to_offset))" % __pyx_checksum) + */ + } + + /* "(tree fragment)":7 + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x3fbbd02, 0x5a9bcd5, 0x0267473) = (first_line, last_line, line_to_offset))" % __pyx_checksum) + * __pyx_result = _CodeLineInfo.__new__(__pyx_type) # <<<<<<<<<<<<<< + * if __pyx_state is not None: + * __pyx_unpickle__CodeLineInfo__set_state(<_CodeLineInfo> __pyx_result, __pyx_state) + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo), __pyx_n_s_new); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v___pyx_type); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 7, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v___pyx_result = __pyx_t_4; + __pyx_t_4 = 0; + + /* "(tree fragment)":8 + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x3fbbd02, 0x5a9bcd5, 0x0267473) = (first_line, last_line, line_to_offset))" % __pyx_checksum) + * __pyx_result = _CodeLineInfo.__new__(__pyx_type) + * if __pyx_state is not None: # <<<<<<<<<<<<<< + * __pyx_unpickle__CodeLineInfo__set_state(<_CodeLineInfo> __pyx_result, __pyx_state) + * return __pyx_result + */ + __pyx_t_3 = (__pyx_v___pyx_state != Py_None); + __pyx_t_2 = (__pyx_t_3 != 0); + if (__pyx_t_2) { + + /* "(tree fragment)":9 + * __pyx_result = _CodeLineInfo.__new__(__pyx_type) + * if __pyx_state is not None: + * __pyx_unpickle__CodeLineInfo__set_state(<_CodeLineInfo> __pyx_result, __pyx_state) # <<<<<<<<<<<<<< + * return __pyx_result + * cdef __pyx_unpickle__CodeLineInfo__set_state(_CodeLineInfo __pyx_result, tuple __pyx_state): + */ + if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 9, __pyx_L1_error) + __pyx_t_4 = __pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator___pyx_unpickle__CodeLineInfo__set_state(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "(tree fragment)":8 + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x3fbbd02, 0x5a9bcd5, 0x0267473) = (first_line, last_line, line_to_offset))" % __pyx_checksum) + * __pyx_result = _CodeLineInfo.__new__(__pyx_type) + * if __pyx_state is not None: # <<<<<<<<<<<<<< + * __pyx_unpickle__CodeLineInfo__set_state(<_CodeLineInfo> __pyx_result, __pyx_state) + * return __pyx_result + */ + } + + /* "(tree fragment)":10 + * if __pyx_state is not None: + * __pyx_unpickle__CodeLineInfo__set_state(<_CodeLineInfo> __pyx_result, __pyx_state) + * return __pyx_result # <<<<<<<<<<<<<< + * cdef __pyx_unpickle__CodeLineInfo__set_state(_CodeLineInfo __pyx_result, tuple __pyx_state): + * __pyx_result.first_line = __pyx_state[0]; __pyx_result.last_line = __pyx_state[1]; __pyx_result.line_to_offset = __pyx_state[2] + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v___pyx_result); + __pyx_r = __pyx_v___pyx_result; + goto __pyx_L0; + + /* "(tree fragment)":1 + * def __pyx_unpickle__CodeLineInfo(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * cdef object __pyx_PickleError + * cdef object __pyx_result + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.__pyx_unpickle__CodeLineInfo", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v___pyx_PickleError); + __Pyx_XDECREF(__pyx_v___pyx_result); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":11 + * __pyx_unpickle__CodeLineInfo__set_state(<_CodeLineInfo> __pyx_result, __pyx_state) + * return __pyx_result + * cdef __pyx_unpickle__CodeLineInfo__set_state(_CodeLineInfo __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<< + * __pyx_result.first_line = __pyx_state[0]; __pyx_result.last_line = __pyx_state[1]; __pyx_result.line_to_offset = __pyx_state[2] + * if len(__pyx_state) > 3 and hasattr(__pyx_result, '__dict__'): + */ + +static PyObject *__pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator___pyx_unpickle__CodeLineInfo__set_state(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + int __pyx_t_3; + Py_ssize_t __pyx_t_4; + int __pyx_t_5; + int __pyx_t_6; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__pyx_unpickle__CodeLineInfo__set_state", 0); + + /* "(tree fragment)":12 + * return __pyx_result + * cdef __pyx_unpickle__CodeLineInfo__set_state(_CodeLineInfo __pyx_result, tuple __pyx_state): + * __pyx_result.first_line = __pyx_state[0]; __pyx_result.last_line = __pyx_state[1]; __pyx_result.line_to_offset = __pyx_state[2] # <<<<<<<<<<<<<< + * if len(__pyx_state) > 3 and hasattr(__pyx_result, '__dict__'): + * __pyx_result.__dict__.update(__pyx_state[3]) + */ + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v___pyx_result->first_line = __pyx_t_2; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v___pyx_result->last_line = __pyx_t_2; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(PyDict_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->line_to_offset); + __Pyx_DECREF(__pyx_v___pyx_result->line_to_offset); + __pyx_v___pyx_result->line_to_offset = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "(tree fragment)":13 + * cdef __pyx_unpickle__CodeLineInfo__set_state(_CodeLineInfo __pyx_result, tuple __pyx_state): + * __pyx_result.first_line = __pyx_state[0]; __pyx_result.last_line = __pyx_state[1]; __pyx_result.line_to_offset = __pyx_state[2] + * if len(__pyx_state) > 3 and hasattr(__pyx_result, '__dict__'): # <<<<<<<<<<<<<< + * __pyx_result.__dict__.update(__pyx_state[3]) + */ + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); + __PYX_ERR(1, 13, __pyx_L1_error) + } + __pyx_t_4 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(1, 13, __pyx_L1_error) + __pyx_t_5 = ((__pyx_t_4 > 3) != 0); + if (__pyx_t_5) { + } else { + __pyx_t_3 = __pyx_t_5; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_5 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(1, 13, __pyx_L1_error) + __pyx_t_6 = (__pyx_t_5 != 0); + __pyx_t_3 = __pyx_t_6; + __pyx_L4_bool_binop_done:; + if (__pyx_t_3) { + + /* "(tree fragment)":14 + * __pyx_result.first_line = __pyx_state[0]; __pyx_result.last_line = __pyx_state[1]; __pyx_result.line_to_offset = __pyx_state[2] + * if len(__pyx_state) > 3 and hasattr(__pyx_result, '__dict__'): + * __pyx_result.__dict__.update(__pyx_state[3]) # <<<<<<<<<<<<<< + */ + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_update); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 14, __pyx_L1_error) + } + __pyx_t_7 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_8, function); + } + } + __pyx_t_1 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_9, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_7); + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "(tree fragment)":13 + * cdef __pyx_unpickle__CodeLineInfo__set_state(_CodeLineInfo __pyx_result, tuple __pyx_state): + * __pyx_result.first_line = __pyx_state[0]; __pyx_result.last_line = __pyx_state[1]; __pyx_result.line_to_offset = __pyx_state[2] + * if len(__pyx_state) > 3 and hasattr(__pyx_result, '__dict__'): # <<<<<<<<<<<<<< + * __pyx_result.__dict__.update(__pyx_state[3]) + */ + } + + /* "(tree fragment)":11 + * __pyx_unpickle__CodeLineInfo__set_state(<_CodeLineInfo> __pyx_result, __pyx_state) + * return __pyx_result + * cdef __pyx_unpickle__CodeLineInfo__set_state(_CodeLineInfo __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<< + * __pyx_result.first_line = __pyx_state[0]; __pyx_result.last_line = __pyx_state[1]; __pyx_result.line_to_offset = __pyx_state[2] + * if len(__pyx_state) > 3 and hasattr(__pyx_result, '__dict__'): + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.__pyx_unpickle__CodeLineInfo__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":1 + * def __pyx_unpickle__CacheValue(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * cdef object __pyx_PickleError + * cdef object __pyx_result + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_27__pyx_unpickle__CacheValue(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_18_pydevd_frame_eval_22pydevd_frame_evaluator_27__pyx_unpickle__CacheValue = {"__pyx_unpickle__CacheValue", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_27__pyx_unpickle__CacheValue, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_27__pyx_unpickle__CacheValue(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v___pyx_type = 0; + long __pyx_v___pyx_checksum; + PyObject *__pyx_v___pyx_state = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__pyx_unpickle__CacheValue (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0}; + PyObject* values[3] = {0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle__CacheValue", 1, 3, 3, 1); __PYX_ERR(1, 1, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle__CacheValue", 1, 3, 3, 2); __PYX_ERR(1, 1, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle__CacheValue") < 0)) __PYX_ERR(1, 1, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + } + __pyx_v___pyx_type = values[0]; + __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error) + __pyx_v___pyx_state = values[2]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("__pyx_unpickle__CacheValue", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.__pyx_unpickle__CacheValue", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_26__pyx_unpickle__CacheValue(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_18_pydevd_frame_eval_22pydevd_frame_evaluator_26__pyx_unpickle__CacheValue(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_v___pyx_PickleError = 0; + PyObject *__pyx_v___pyx_result = 0; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + int __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__pyx_unpickle__CacheValue", 0); + + /* "(tree fragment)":4 + * cdef object __pyx_PickleError + * cdef object __pyx_result + * if __pyx_checksum not in (0x3d481b9, 0xac42a46, 0xedff7c3): # <<<<<<<<<<<<<< + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x3d481b9, 0xac42a46, 0xedff7c3) = (breakpoints_hit_at_lines, code_line_info, code_lines_as_set, code_obj_py))" % __pyx_checksum) + */ + __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_tuple__9, Py_NE)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 4, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_3 = (__pyx_t_2 != 0); + if (__pyx_t_3) { + + /* "(tree fragment)":5 + * cdef object __pyx_result + * if __pyx_checksum not in (0x3d481b9, 0xac42a46, 0xedff7c3): + * from pickle import PickleError as __pyx_PickleError # <<<<<<<<<<<<<< + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x3d481b9, 0xac42a46, 0xedff7c3) = (breakpoints_hit_at_lines, code_line_info, code_lines_as_set, code_obj_py))" % __pyx_checksum) + * __pyx_result = _CacheValue.__new__(__pyx_type) + */ + __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_s_PickleError); + __Pyx_GIVEREF(__pyx_n_s_PickleError); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_PickleError); + __pyx_t_4 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_1, -1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_4, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_t_1); + __pyx_v___pyx_PickleError = __pyx_t_1; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "(tree fragment)":6 + * if __pyx_checksum not in (0x3d481b9, 0xac42a46, 0xedff7c3): + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x3d481b9, 0xac42a46, 0xedff7c3) = (breakpoints_hit_at_lines, code_line_info, code_lines_as_set, code_obj_py))" % __pyx_checksum) # <<<<<<<<<<<<<< + * __pyx_result = _CacheValue.__new__(__pyx_type) + * if __pyx_state is not None: + */ + __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_4, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_INCREF(__pyx_v___pyx_PickleError); + __pyx_t_1 = __pyx_v___pyx_PickleError; __pyx_t_6 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_Raise(__pyx_t_4, 0, 0, 0); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __PYX_ERR(1, 6, __pyx_L1_error) + + /* "(tree fragment)":4 + * cdef object __pyx_PickleError + * cdef object __pyx_result + * if __pyx_checksum not in (0x3d481b9, 0xac42a46, 0xedff7c3): # <<<<<<<<<<<<<< + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x3d481b9, 0xac42a46, 0xedff7c3) = (breakpoints_hit_at_lines, code_line_info, code_lines_as_set, code_obj_py))" % __pyx_checksum) + */ + } + + /* "(tree fragment)":7 + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x3d481b9, 0xac42a46, 0xedff7c3) = (breakpoints_hit_at_lines, code_line_info, code_lines_as_set, code_obj_py))" % __pyx_checksum) + * __pyx_result = _CacheValue.__new__(__pyx_type) # <<<<<<<<<<<<<< + * if __pyx_state is not None: + * __pyx_unpickle__CacheValue__set_state(<_CacheValue> __pyx_result, __pyx_state) + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue), __pyx_n_s_new); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v___pyx_type); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 7, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v___pyx_result = __pyx_t_4; + __pyx_t_4 = 0; + + /* "(tree fragment)":8 + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x3d481b9, 0xac42a46, 0xedff7c3) = (breakpoints_hit_at_lines, code_line_info, code_lines_as_set, code_obj_py))" % __pyx_checksum) + * __pyx_result = _CacheValue.__new__(__pyx_type) + * if __pyx_state is not None: # <<<<<<<<<<<<<< + * __pyx_unpickle__CacheValue__set_state(<_CacheValue> __pyx_result, __pyx_state) + * return __pyx_result + */ + __pyx_t_3 = (__pyx_v___pyx_state != Py_None); + __pyx_t_2 = (__pyx_t_3 != 0); + if (__pyx_t_2) { + + /* "(tree fragment)":9 + * __pyx_result = _CacheValue.__new__(__pyx_type) + * if __pyx_state is not None: + * __pyx_unpickle__CacheValue__set_state(<_CacheValue> __pyx_result, __pyx_state) # <<<<<<<<<<<<<< + * return __pyx_result + * cdef __pyx_unpickle__CacheValue__set_state(_CacheValue __pyx_result, tuple __pyx_state): + */ + if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 9, __pyx_L1_error) + __pyx_t_4 = __pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator___pyx_unpickle__CacheValue__set_state(((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "(tree fragment)":8 + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x3d481b9, 0xac42a46, 0xedff7c3) = (breakpoints_hit_at_lines, code_line_info, code_lines_as_set, code_obj_py))" % __pyx_checksum) + * __pyx_result = _CacheValue.__new__(__pyx_type) + * if __pyx_state is not None: # <<<<<<<<<<<<<< + * __pyx_unpickle__CacheValue__set_state(<_CacheValue> __pyx_result, __pyx_state) + * return __pyx_result + */ + } + + /* "(tree fragment)":10 + * if __pyx_state is not None: + * __pyx_unpickle__CacheValue__set_state(<_CacheValue> __pyx_result, __pyx_state) + * return __pyx_result # <<<<<<<<<<<<<< + * cdef __pyx_unpickle__CacheValue__set_state(_CacheValue __pyx_result, tuple __pyx_state): + * __pyx_result.breakpoints_hit_at_lines = __pyx_state[0]; __pyx_result.code_line_info = __pyx_state[1]; __pyx_result.code_lines_as_set = __pyx_state[2]; __pyx_result.code_obj_py = __pyx_state[3] + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v___pyx_result); + __pyx_r = __pyx_v___pyx_result; + goto __pyx_L0; + + /* "(tree fragment)":1 + * def __pyx_unpickle__CacheValue(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * cdef object __pyx_PickleError + * cdef object __pyx_result + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.__pyx_unpickle__CacheValue", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v___pyx_PickleError); + __Pyx_XDECREF(__pyx_v___pyx_result); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":11 + * __pyx_unpickle__CacheValue__set_state(<_CacheValue> __pyx_result, __pyx_state) + * return __pyx_result + * cdef __pyx_unpickle__CacheValue__set_state(_CacheValue __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<< + * __pyx_result.breakpoints_hit_at_lines = __pyx_state[0]; __pyx_result.code_line_info = __pyx_state[1]; __pyx_result.code_lines_as_set = __pyx_state[2]; __pyx_result.code_obj_py = __pyx_state[3] + * if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'): + */ + +static PyObject *__pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator___pyx_unpickle__CacheValue__set_state(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + Py_ssize_t __pyx_t_3; + int __pyx_t_4; + int __pyx_t_5; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__pyx_unpickle__CacheValue__set_state", 0); + + /* "(tree fragment)":12 + * return __pyx_result + * cdef __pyx_unpickle__CacheValue__set_state(_CacheValue __pyx_result, tuple __pyx_state): + * __pyx_result.breakpoints_hit_at_lines = __pyx_state[0]; __pyx_result.code_line_info = __pyx_state[1]; __pyx_result.code_lines_as_set = __pyx_state[2]; __pyx_result.code_obj_py = __pyx_state[3] # <<<<<<<<<<<<<< + * if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'): + * __pyx_result.__dict__.update(__pyx_state[4]) + */ + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(PySet_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "set", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->breakpoints_hit_at_lines); + __Pyx_DECREF(__pyx_v___pyx_result->breakpoints_hit_at_lines); + __pyx_v___pyx_result->breakpoints_hit_at_lines = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo))))) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->code_line_info); + __Pyx_DECREF(((PyObject *)__pyx_v___pyx_result->code_line_info)); + __pyx_v___pyx_result->code_line_info = ((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *)__pyx_t_1); + __pyx_t_1 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (!(likely(PySet_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "set", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->code_lines_as_set); + __Pyx_DECREF(__pyx_v___pyx_result->code_lines_as_set); + __pyx_v___pyx_result->code_lines_as_set = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 12, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_v___pyx_result->code_obj_py); + __Pyx_DECREF(__pyx_v___pyx_result->code_obj_py); + __pyx_v___pyx_result->code_obj_py = __pyx_t_1; + __pyx_t_1 = 0; + + /* "(tree fragment)":13 + * cdef __pyx_unpickle__CacheValue__set_state(_CacheValue __pyx_result, tuple __pyx_state): + * __pyx_result.breakpoints_hit_at_lines = __pyx_state[0]; __pyx_result.code_line_info = __pyx_state[1]; __pyx_result.code_lines_as_set = __pyx_state[2]; __pyx_result.code_obj_py = __pyx_state[3] + * if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'): # <<<<<<<<<<<<<< + * __pyx_result.__dict__.update(__pyx_state[4]) + */ + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); + __PYX_ERR(1, 13, __pyx_L1_error) + } + __pyx_t_3 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(1, 13, __pyx_L1_error) + __pyx_t_4 = ((__pyx_t_3 > 4) != 0); + if (__pyx_t_4) { + } else { + __pyx_t_2 = __pyx_t_4; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_4 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 13, __pyx_L1_error) + __pyx_t_5 = (__pyx_t_4 != 0); + __pyx_t_2 = __pyx_t_5; + __pyx_L4_bool_binop_done:; + if (__pyx_t_2) { + + /* "(tree fragment)":14 + * __pyx_result.breakpoints_hit_at_lines = __pyx_state[0]; __pyx_result.code_line_info = __pyx_state[1]; __pyx_result.code_lines_as_set = __pyx_state[2]; __pyx_result.code_obj_py = __pyx_state[3] + * if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'): + * __pyx_result.__dict__.update(__pyx_state[4]) # <<<<<<<<<<<<<< + */ + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_update); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(__pyx_v___pyx_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(1, 14, __pyx_L1_error) + } + __pyx_t_6 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_8 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + __pyx_t_1 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "(tree fragment)":13 + * cdef __pyx_unpickle__CacheValue__set_state(_CacheValue __pyx_result, tuple __pyx_state): + * __pyx_result.breakpoints_hit_at_lines = __pyx_state[0]; __pyx_result.code_line_info = __pyx_state[1]; __pyx_result.code_lines_as_set = __pyx_state[2]; __pyx_result.code_obj_py = __pyx_state[3] + * if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'): # <<<<<<<<<<<<<< + * __pyx_result.__dict__.update(__pyx_state[4]) + */ + } + + /* "(tree fragment)":11 + * __pyx_unpickle__CacheValue__set_state(<_CacheValue> __pyx_result, __pyx_state) + * return __pyx_result + * cdef __pyx_unpickle__CacheValue__set_state(_CacheValue __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<< + * __pyx_result.breakpoints_hit_at_lines = __pyx_state[0]; __pyx_result.code_line_info = __pyx_state[1]; __pyx_result.code_lines_as_set = __pyx_state[2]; __pyx_result.code_obj_py = __pyx_state[3] + * if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'): + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_AddTraceback("_pydevd_frame_eval.pydevd_frame_evaluator.__pyx_unpickle__CacheValue__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} +static struct __pyx_vtabstruct_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo __pyx_vtable_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo; + +static PyObject *__pyx_tp_new_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { + struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *p; + PyObject *o; + if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) { + o = (*t->tp_alloc)(t, 0); + } else { + o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0); + } + if (unlikely(!o)) return 0; + p = ((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *)o); + p->__pyx_vtab = __pyx_vtabptr_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo; + p->additional_info = ((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)Py_None); Py_INCREF(Py_None); + p->thread_trace_func = Py_None; Py_INCREF(Py_None); + return o; +} + +static void __pyx_tp_dealloc_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo(PyObject *o) { + struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *p = (struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *)o; + #if CYTHON_USE_TP_FINALIZE + if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) { + if (PyObject_CallFinalizerFromDealloc(o)) return; + } + #endif + PyObject_GC_UnTrack(o); + Py_CLEAR(p->additional_info); + Py_CLEAR(p->thread_trace_func); + (*Py_TYPE(o)->tp_free)(o); +} + +static int __pyx_tp_traverse_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo(PyObject *o, visitproc v, void *a) { + int e; + struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *p = (struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *)o; + if (p->additional_info) { + e = (*v)(((PyObject *)p->additional_info), a); if (e) return e; + } + if (p->thread_trace_func) { + e = (*v)(p->thread_trace_func, a); if (e) return e; + } + return 0; +} + +static int __pyx_tp_clear_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo(PyObject *o) { + PyObject* tmp; + struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *p = (struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *)o; + tmp = ((PyObject*)p->additional_info); + p->additional_info = ((struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo *)Py_None); Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->thread_trace_func); + p->thread_trace_func = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + return 0; +} + +static PyObject *__pyx_getprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_additional_info(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_15additional_info_1__get__(o); +} + +static int __pyx_setprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_additional_info(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_15additional_info_3__set__(o, v); + } + else { + return __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_15additional_info_5__del__(o); + } +} + +static PyObject *__pyx_getprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_is_pydevd_thread(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_16is_pydevd_thread_1__get__(o); +} + +static int __pyx_setprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_is_pydevd_thread(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_16is_pydevd_thread_3__set__(o, v); + } + else { + PyErr_SetString(PyExc_NotImplementedError, "__del__"); + return -1; + } +} + +static PyObject *__pyx_getprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_inside_frame_eval(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_17inside_frame_eval_1__get__(o); +} + +static int __pyx_setprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_inside_frame_eval(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_17inside_frame_eval_3__set__(o, v); + } + else { + PyErr_SetString(PyExc_NotImplementedError, "__del__"); + return -1; + } +} + +static PyObject *__pyx_getprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_fully_initialized(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_17fully_initialized_1__get__(o); +} + +static int __pyx_setprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_fully_initialized(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_17fully_initialized_3__set__(o, v); + } + else { + PyErr_SetString(PyExc_NotImplementedError, "__del__"); + return -1; + } +} + +static PyObject *__pyx_getprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_thread_trace_func(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_17thread_trace_func_1__get__(o); +} + +static int __pyx_setprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_thread_trace_func(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_17thread_trace_func_3__set__(o, v); + } + else { + return __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_17thread_trace_func_5__del__(o); + } +} + +static PyObject *__pyx_getprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_force_stay_in_untraced_mode(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_27force_stay_in_untraced_mode_1__get__(o); +} + +static int __pyx_setprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_force_stay_in_untraced_mode(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_27force_stay_in_untraced_mode_3__set__(o, v); + } + else { + PyErr_SetString(PyExc_NotImplementedError, "__del__"); + return -1; + } +} + +static PyMethodDef __pyx_methods_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo[] = { + {"__reduce_cython__", (PyCFunction)__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_1__reduce_cython__, METH_NOARGS, 0}, + {"__setstate_cython__", (PyCFunction)__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_3__setstate_cython__, METH_O, 0}, + {0, 0, 0, 0} +}; + +static struct PyGetSetDef __pyx_getsets_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo[] = { + {(char *)"additional_info", __pyx_getprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_additional_info, __pyx_setprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_additional_info, (char *)0, 0}, + {(char *)"is_pydevd_thread", __pyx_getprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_is_pydevd_thread, __pyx_setprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_is_pydevd_thread, (char *)0, 0}, + {(char *)"inside_frame_eval", __pyx_getprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_inside_frame_eval, __pyx_setprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_inside_frame_eval, (char *)0, 0}, + {(char *)"fully_initialized", __pyx_getprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_fully_initialized, __pyx_setprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_fully_initialized, (char *)0, 0}, + {(char *)"thread_trace_func", __pyx_getprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_thread_trace_func, __pyx_setprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_thread_trace_func, (char *)0, 0}, + {(char *)"force_stay_in_untraced_mode", __pyx_getprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_force_stay_in_untraced_mode, __pyx_setprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_force_stay_in_untraced_mode, (char *)0, 0}, + {0, 0, 0, 0, 0} +}; + +static PyTypeObject __pyx_type_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo = { + PyVarObject_HEAD_INIT(0, 0) + "_pydevd_frame_eval.pydevd_frame_evaluator.ThreadInfo", /*tp_name*/ + sizeof(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + __pyx_tp_dealloc_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 + 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + #if PY_MAJOR_VERSION < 3 + 0, /*tp_compare*/ + #endif + #if PY_MAJOR_VERSION >= 3 + 0, /*tp_as_async*/ + #endif + 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|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ + 0, /*tp_doc*/ + __pyx_tp_traverse_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo, /*tp_traverse*/ + __pyx_tp_clear_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo, /*tp_clear*/ + 0, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + 0, /*tp_iter*/ + 0, /*tp_iternext*/ + __pyx_methods_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo, /*tp_methods*/ + 0, /*tp_members*/ + __pyx_getsets_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo, /*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*/ + __pyx_tp_new_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo, /*tp_new*/ + 0, /*tp_free*/ + 0, /*tp_is_gc*/ + 0, /*tp_bases*/ + 0, /*tp_mro*/ + 0, /*tp_cache*/ + 0, /*tp_subclasses*/ + 0, /*tp_weaklist*/ + 0, /*tp_del*/ + 0, /*tp_version_tag*/ + #if PY_VERSION_HEX >= 0x030400a1 + 0, /*tp_finalize*/ + #endif + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) + 0, /*tp_vectorcall*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 + 0, /*tp_pypy_flags*/ + #endif +}; + +static PyObject *__pyx_tp_new_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { + struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *p; + PyObject *o; + if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) { + o = (*t->tp_alloc)(t, 0); + } else { + o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0); + } + if (unlikely(!o)) return 0; + p = ((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *)o); + p->co_filename = ((PyObject*)Py_None); Py_INCREF(Py_None); + p->co_name = ((PyObject*)Py_None); Py_INCREF(Py_None); + p->canonical_normalized_filename = ((PyObject*)Py_None); Py_INCREF(Py_None); + p->new_code = Py_None; Py_INCREF(Py_None); + return o; +} + +static void __pyx_tp_dealloc_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo(PyObject *o) { + struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *p = (struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *)o; + #if CYTHON_USE_TP_FINALIZE + if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) { + if (PyObject_CallFinalizerFromDealloc(o)) return; + } + #endif + PyObject_GC_UnTrack(o); + Py_CLEAR(p->co_filename); + Py_CLEAR(p->co_name); + Py_CLEAR(p->canonical_normalized_filename); + Py_CLEAR(p->new_code); + (*Py_TYPE(o)->tp_free)(o); +} + +static int __pyx_tp_traverse_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo(PyObject *o, visitproc v, void *a) { + int e; + struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *p = (struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *)o; + if (p->new_code) { + e = (*v)(p->new_code, a); if (e) return e; + } + return 0; +} + +static int __pyx_tp_clear_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo(PyObject *o) { + PyObject* tmp; + struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *p = (struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo *)o; + tmp = ((PyObject*)p->new_code); + p->new_code = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + return 0; +} + +static PyObject *__pyx_getprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_co_filename(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_11co_filename_1__get__(o); +} + +static int __pyx_setprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_co_filename(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_11co_filename_3__set__(o, v); + } + else { + return __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_11co_filename_5__del__(o); + } +} + +static PyObject *__pyx_getprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_co_name(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_7co_name_1__get__(o); +} + +static int __pyx_setprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_co_name(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_7co_name_3__set__(o, v); + } + else { + return __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_7co_name_5__del__(o); + } +} + +static PyObject *__pyx_getprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_canonical_normalized_filename(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_29canonical_normalized_filename_1__get__(o); +} + +static int __pyx_setprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_canonical_normalized_filename(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_29canonical_normalized_filename_3__set__(o, v); + } + else { + return __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_29canonical_normalized_filename_5__del__(o); + } +} + +static PyObject *__pyx_getprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_breakpoint_found(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_16breakpoint_found_1__get__(o); +} + +static int __pyx_setprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_breakpoint_found(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_16breakpoint_found_3__set__(o, v); + } + else { + PyErr_SetString(PyExc_NotImplementedError, "__del__"); + return -1; + } +} + +static PyObject *__pyx_getprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_new_code(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_8new_code_1__get__(o); +} + +static int __pyx_setprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_new_code(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_8new_code_3__set__(o, v); + } + else { + return __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_8new_code_5__del__(o); + } +} + +static PyObject *__pyx_getprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_breakpoints_mtime(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_17breakpoints_mtime_1__get__(o); +} + +static int __pyx_setprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_breakpoints_mtime(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_17breakpoints_mtime_3__set__(o, v); + } + else { + PyErr_SetString(PyExc_NotImplementedError, "__del__"); + return -1; + } +} + +static PyMethodDef __pyx_methods_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo[] = { + {"__reduce_cython__", (PyCFunction)__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_3__reduce_cython__, METH_NOARGS, 0}, + {"__setstate_cython__", (PyCFunction)__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_5__setstate_cython__, METH_O, 0}, + {0, 0, 0, 0} +}; + +static struct PyGetSetDef __pyx_getsets_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo[] = { + {(char *)"co_filename", __pyx_getprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_co_filename, __pyx_setprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_co_filename, (char *)0, 0}, + {(char *)"co_name", __pyx_getprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_co_name, __pyx_setprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_co_name, (char *)0, 0}, + {(char *)"canonical_normalized_filename", __pyx_getprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_canonical_normalized_filename, __pyx_setprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_canonical_normalized_filename, (char *)0, 0}, + {(char *)"breakpoint_found", __pyx_getprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_breakpoint_found, __pyx_setprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_breakpoint_found, (char *)0, 0}, + {(char *)"new_code", __pyx_getprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_new_code, __pyx_setprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_new_code, (char *)0, 0}, + {(char *)"breakpoints_mtime", __pyx_getprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_breakpoints_mtime, __pyx_setprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_breakpoints_mtime, (char *)0, 0}, + {0, 0, 0, 0, 0} +}; + +static PyTypeObject __pyx_type_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo = { + PyVarObject_HEAD_INIT(0, 0) + "_pydevd_frame_eval.pydevd_frame_evaluator.FuncCodeInfo", /*tp_name*/ + sizeof(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + __pyx_tp_dealloc_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 + 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + #if PY_MAJOR_VERSION < 3 + 0, /*tp_compare*/ + #endif + #if PY_MAJOR_VERSION >= 3 + 0, /*tp_as_async*/ + #endif + 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|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ + 0, /*tp_doc*/ + __pyx_tp_traverse_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo, /*tp_traverse*/ + __pyx_tp_clear_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo, /*tp_clear*/ + 0, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + 0, /*tp_iter*/ + 0, /*tp_iternext*/ + __pyx_methods_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo, /*tp_methods*/ + 0, /*tp_members*/ + __pyx_getsets_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo, /*tp_getset*/ + 0, /*tp_base*/ + 0, /*tp_dict*/ + 0, /*tp_descr_get*/ + 0, /*tp_descr_set*/ + 0, /*tp_dictoffset*/ + __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_12FuncCodeInfo_1__init__, /*tp_init*/ + 0, /*tp_alloc*/ + __pyx_tp_new_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo, /*tp_new*/ + 0, /*tp_free*/ + 0, /*tp_is_gc*/ + 0, /*tp_bases*/ + 0, /*tp_mro*/ + 0, /*tp_cache*/ + 0, /*tp_subclasses*/ + 0, /*tp_weaklist*/ + 0, /*tp_del*/ + 0, /*tp_version_tag*/ + #if PY_VERSION_HEX >= 0x030400a1 + 0, /*tp_finalize*/ + #endif + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) + 0, /*tp_vectorcall*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 + 0, /*tp_pypy_flags*/ + #endif +}; + +static PyObject *__pyx_tp_new_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { + struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *p; + PyObject *o; + if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) { + o = (*t->tp_alloc)(t, 0); + } else { + o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0); + } + if (unlikely(!o)) return 0; + p = ((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *)o); + p->line_to_offset = ((PyObject*)Py_None); Py_INCREF(Py_None); + return o; +} + +static void __pyx_tp_dealloc_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo(PyObject *o) { + struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *p = (struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *)o; + #if CYTHON_USE_TP_FINALIZE + if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) { + if (PyObject_CallFinalizerFromDealloc(o)) return; + } + #endif + PyObject_GC_UnTrack(o); + Py_CLEAR(p->line_to_offset); + (*Py_TYPE(o)->tp_free)(o); +} + +static int __pyx_tp_traverse_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo(PyObject *o, visitproc v, void *a) { + int e; + struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *p = (struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *)o; + if (p->line_to_offset) { + e = (*v)(p->line_to_offset, a); if (e) return e; + } + return 0; +} + +static int __pyx_tp_clear_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo(PyObject *o) { + PyObject* tmp; + struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *p = (struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *)o; + tmp = ((PyObject*)p->line_to_offset); + p->line_to_offset = ((PyObject*)Py_None); Py_INCREF(Py_None); + Py_XDECREF(tmp); + return 0; +} + +static PyObject *__pyx_getprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_line_to_offset(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_14line_to_offset_1__get__(o); +} + +static int __pyx_setprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_line_to_offset(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_14line_to_offset_3__set__(o, v); + } + else { + return __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_14line_to_offset_5__del__(o); + } +} + +static PyObject *__pyx_getprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_first_line(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_10first_line_1__get__(o); +} + +static int __pyx_setprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_first_line(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_10first_line_3__set__(o, v); + } + else { + PyErr_SetString(PyExc_NotImplementedError, "__del__"); + return -1; + } +} + +static PyObject *__pyx_getprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_last_line(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_9last_line_1__get__(o); +} + +static int __pyx_setprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_last_line(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_9last_line_3__set__(o, v); + } + else { + PyErr_SetString(PyExc_NotImplementedError, "__del__"); + return -1; + } +} + +static PyMethodDef __pyx_methods_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo[] = { + {"__reduce_cython__", (PyCFunction)__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_3__reduce_cython__, METH_NOARGS, 0}, + {"__setstate_cython__", (PyCFunction)__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_5__setstate_cython__, METH_O, 0}, + {0, 0, 0, 0} +}; + +static struct PyGetSetDef __pyx_getsets_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo[] = { + {(char *)"line_to_offset", __pyx_getprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_line_to_offset, __pyx_setprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_line_to_offset, (char *)0, 0}, + {(char *)"first_line", __pyx_getprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_first_line, __pyx_setprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_first_line, (char *)0, 0}, + {(char *)"last_line", __pyx_getprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_last_line, __pyx_setprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_last_line, (char *)0, 0}, + {0, 0, 0, 0, 0} +}; + +static PyTypeObject __pyx_type_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo = { + PyVarObject_HEAD_INIT(0, 0) + "_pydevd_frame_eval.pydevd_frame_evaluator._CodeLineInfo", /*tp_name*/ + sizeof(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + __pyx_tp_dealloc_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 + 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + #if PY_MAJOR_VERSION < 3 + 0, /*tp_compare*/ + #endif + #if PY_MAJOR_VERSION >= 3 + 0, /*tp_as_async*/ + #endif + 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|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ + 0, /*tp_doc*/ + __pyx_tp_traverse_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo, /*tp_traverse*/ + __pyx_tp_clear_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo, /*tp_clear*/ + 0, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + 0, /*tp_iter*/ + 0, /*tp_iternext*/ + __pyx_methods_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo, /*tp_methods*/ + 0, /*tp_members*/ + __pyx_getsets_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo, /*tp_getset*/ + 0, /*tp_base*/ + 0, /*tp_dict*/ + 0, /*tp_descr_get*/ + 0, /*tp_descr_set*/ + 0, /*tp_dictoffset*/ + __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_13_CodeLineInfo_1__init__, /*tp_init*/ + 0, /*tp_alloc*/ + __pyx_tp_new_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo, /*tp_new*/ + 0, /*tp_free*/ + 0, /*tp_is_gc*/ + 0, /*tp_bases*/ + 0, /*tp_mro*/ + 0, /*tp_cache*/ + 0, /*tp_subclasses*/ + 0, /*tp_weaklist*/ + 0, /*tp_del*/ + 0, /*tp_version_tag*/ + #if PY_VERSION_HEX >= 0x030400a1 + 0, /*tp_finalize*/ + #endif + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) + 0, /*tp_vectorcall*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 + 0, /*tp_pypy_flags*/ + #endif +}; +static struct __pyx_vtabstruct_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue __pyx_vtable_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue; + +static PyObject *__pyx_tp_new_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { + struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *p; + PyObject *o; + if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) { + o = (*t->tp_alloc)(t, 0); + } else { + o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0); + } + if (unlikely(!o)) return 0; + p = ((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *)o); + p->__pyx_vtab = __pyx_vtabptr_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue; + p->code_obj_py = Py_None; Py_INCREF(Py_None); + p->code_line_info = ((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *)Py_None); Py_INCREF(Py_None); + p->breakpoints_hit_at_lines = ((PyObject*)Py_None); Py_INCREF(Py_None); + p->code_lines_as_set = ((PyObject*)Py_None); Py_INCREF(Py_None); + return o; +} + +static void __pyx_tp_dealloc_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue(PyObject *o) { + struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *p = (struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *)o; + #if CYTHON_USE_TP_FINALIZE + if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) { + if (PyObject_CallFinalizerFromDealloc(o)) return; + } + #endif + PyObject_GC_UnTrack(o); + Py_CLEAR(p->code_obj_py); + Py_CLEAR(p->code_line_info); + Py_CLEAR(p->breakpoints_hit_at_lines); + Py_CLEAR(p->code_lines_as_set); + (*Py_TYPE(o)->tp_free)(o); +} + +static int __pyx_tp_traverse_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue(PyObject *o, visitproc v, void *a) { + int e; + struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *p = (struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *)o; + if (p->code_obj_py) { + e = (*v)(p->code_obj_py, a); if (e) return e; + } + if (p->code_line_info) { + e = (*v)(((PyObject *)p->code_line_info), a); if (e) return e; + } + if (p->breakpoints_hit_at_lines) { + e = (*v)(p->breakpoints_hit_at_lines, a); if (e) return e; + } + if (p->code_lines_as_set) { + e = (*v)(p->code_lines_as_set, a); if (e) return e; + } + return 0; +} + +static int __pyx_tp_clear_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue(PyObject *o) { + PyObject* tmp; + struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *p = (struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *)o; + tmp = ((PyObject*)p->code_obj_py); + p->code_obj_py = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->code_line_info); + p->code_line_info = ((struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo *)Py_None); Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->breakpoints_hit_at_lines); + p->breakpoints_hit_at_lines = ((PyObject*)Py_None); Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->code_lines_as_set); + p->code_lines_as_set = ((PyObject*)Py_None); Py_INCREF(Py_None); + Py_XDECREF(tmp); + return 0; +} + +static PyObject *__pyx_getprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_code_obj_py(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_11code_obj_py_1__get__(o); +} + +static int __pyx_setprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_code_obj_py(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_11code_obj_py_3__set__(o, v); + } + else { + return __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_11code_obj_py_5__del__(o); + } +} + +static PyObject *__pyx_getprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_code_line_info(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_14code_line_info_1__get__(o); +} + +static int __pyx_setprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_code_line_info(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_14code_line_info_3__set__(o, v); + } + else { + return __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_14code_line_info_5__del__(o); + } +} + +static PyObject *__pyx_getprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_breakpoints_hit_at_lines(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_24breakpoints_hit_at_lines_1__get__(o); +} + +static int __pyx_setprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_breakpoints_hit_at_lines(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_24breakpoints_hit_at_lines_3__set__(o, v); + } + else { + return __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_24breakpoints_hit_at_lines_5__del__(o); + } +} + +static PyObject *__pyx_getprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_code_lines_as_set(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_17code_lines_as_set_1__get__(o); +} + +static int __pyx_setprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_code_lines_as_set(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) { + if (v) { + return __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_17code_lines_as_set_3__set__(o, v); + } + else { + return __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_17code_lines_as_set_5__del__(o); + } +} + +static PyMethodDef __pyx_methods_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue[] = { + {"compute_force_stay_in_untraced_mode", (PyCFunction)__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_3compute_force_stay_in_untraced_mode, METH_O, __pyx_doc_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_2compute_force_stay_in_untraced_mode}, + {"__reduce_cython__", (PyCFunction)__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_5__reduce_cython__, METH_NOARGS, 0}, + {"__setstate_cython__", (PyCFunction)__pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_7__setstate_cython__, METH_O, 0}, + {0, 0, 0, 0} +}; + +static struct PyGetSetDef __pyx_getsets_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue[] = { + {(char *)"code_obj_py", __pyx_getprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_code_obj_py, __pyx_setprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_code_obj_py, (char *)0, 0}, + {(char *)"code_line_info", __pyx_getprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_code_line_info, __pyx_setprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_code_line_info, (char *)0, 0}, + {(char *)"breakpoints_hit_at_lines", __pyx_getprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_breakpoints_hit_at_lines, __pyx_setprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_breakpoints_hit_at_lines, (char *)0, 0}, + {(char *)"code_lines_as_set", __pyx_getprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_code_lines_as_set, __pyx_setprop_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_code_lines_as_set, (char *)0, 0}, + {0, 0, 0, 0, 0} +}; + +static PyTypeObject __pyx_type_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue = { + PyVarObject_HEAD_INIT(0, 0) + "_pydevd_frame_eval.pydevd_frame_evaluator._CacheValue", /*tp_name*/ + sizeof(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + __pyx_tp_dealloc_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 + 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + #if PY_MAJOR_VERSION < 3 + 0, /*tp_compare*/ + #endif + #if PY_MAJOR_VERSION >= 3 + 0, /*tp_as_async*/ + #endif + 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|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ + 0, /*tp_doc*/ + __pyx_tp_traverse_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue, /*tp_traverse*/ + __pyx_tp_clear_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue, /*tp_clear*/ + 0, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + 0, /*tp_iter*/ + 0, /*tp_iternext*/ + __pyx_methods_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue, /*tp_methods*/ + 0, /*tp_members*/ + __pyx_getsets_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue, /*tp_getset*/ + 0, /*tp_base*/ + 0, /*tp_dict*/ + 0, /*tp_descr_get*/ + 0, /*tp_descr_set*/ + 0, /*tp_dictoffset*/ + __pyx_pw_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_1__init__, /*tp_init*/ + 0, /*tp_alloc*/ + __pyx_tp_new_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue, /*tp_new*/ + 0, /*tp_free*/ + 0, /*tp_is_gc*/ + 0, /*tp_bases*/ + 0, /*tp_mro*/ + 0, /*tp_cache*/ + 0, /*tp_subclasses*/ + 0, /*tp_weaklist*/ + 0, /*tp_del*/ + 0, /*tp_version_tag*/ + #if PY_VERSION_HEX >= 0x030400a1 + 0, /*tp_finalize*/ + #endif + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) + 0, /*tp_vectorcall*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 + 0, /*tp_pypy_flags*/ + #endif +}; + +static PyMethodDef __pyx_methods[] = { + {0, 0, 0, 0} +}; + +#if PY_MAJOR_VERSION >= 3 +#if CYTHON_PEP489_MULTI_PHASE_INIT +static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/ +static int __pyx_pymod_exec_pydevd_frame_evaluator(PyObject* module); /*proto*/ +static PyModuleDef_Slot __pyx_moduledef_slots[] = { + {Py_mod_create, (void*)__pyx_pymod_create}, + {Py_mod_exec, (void*)__pyx_pymod_exec_pydevd_frame_evaluator}, + {0, NULL} +}; +#endif + +static struct PyModuleDef __pyx_moduledef = { + PyModuleDef_HEAD_INIT, + "pydevd_frame_evaluator", + 0, /* m_doc */ + #if CYTHON_PEP489_MULTI_PHASE_INIT + 0, /* m_size */ + #else + -1, /* m_size */ + #endif + __pyx_methods /* m_methods */, + #if CYTHON_PEP489_MULTI_PHASE_INIT + __pyx_moduledef_slots, /* m_slots */ + #else + NULL, /* m_reload */ + #endif + NULL, /* m_traverse */ + NULL, /* m_clear */ + NULL /* m_free */ +}; +#endif +#ifndef CYTHON_SMALL_CODE +#if defined(__clang__) + #define CYTHON_SMALL_CODE +#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) + #define CYTHON_SMALL_CODE __attribute__((cold)) +#else + #define CYTHON_SMALL_CODE +#endif +#endif + +static __Pyx_StringTabEntry __pyx_string_tab[] = { + {&__pyx_kp_s_, __pyx_k_, sizeof(__pyx_k_), 0, 0, 1, 0}, + {&__pyx_n_s_AttributeError, __pyx_k_AttributeError, sizeof(__pyx_k_AttributeError), 0, 0, 1, 1}, + {&__pyx_n_s_CacheValue, __pyx_k_CacheValue, sizeof(__pyx_k_CacheValue), 0, 0, 1, 1}, + {&__pyx_n_s_CodeLineInfo, __pyx_k_CodeLineInfo, sizeof(__pyx_k_CodeLineInfo), 0, 0, 1, 1}, + {&__pyx_n_s_DebugHelper, __pyx_k_DebugHelper, sizeof(__pyx_k_DebugHelper), 0, 0, 1, 1}, + {&__pyx_n_s_FuncCodeInfo, __pyx_k_FuncCodeInfo, sizeof(__pyx_k_FuncCodeInfo), 0, 0, 1, 1}, + {&__pyx_n_s_GlobalDebuggerHolder, __pyx_k_GlobalDebuggerHolder, sizeof(__pyx_k_GlobalDebuggerHolder), 0, 0, 1, 1}, + {&__pyx_kp_s_If_a_code_object_is_cached_that, __pyx_k_If_a_code_object_is_cached_that, sizeof(__pyx_k_If_a_code_object_is_cached_that), 0, 0, 1, 0}, + {&__pyx_kp_s_Incompatible_checksums_0x_x_vs_0, __pyx_k_Incompatible_checksums_0x_x_vs_0, sizeof(__pyx_k_Incompatible_checksums_0x_x_vs_0), 0, 0, 1, 0}, + {&__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_2, __pyx_k_Incompatible_checksums_0x_x_vs_0_2, sizeof(__pyx_k_Incompatible_checksums_0x_x_vs_0_2), 0, 0, 1, 0}, + {&__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_3, __pyx_k_Incompatible_checksums_0x_x_vs_0_3, sizeof(__pyx_k_Incompatible_checksums_0x_x_vs_0_3), 0, 0, 1, 0}, + {&__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_4, __pyx_k_Incompatible_checksums_0x_x_vs_0_4, sizeof(__pyx_k_Incompatible_checksums_0x_x_vs_0_4), 0, 0, 1, 0}, + {&__pyx_n_s_NORM_PATHS_AND_BASE_CONTAINER, __pyx_k_NORM_PATHS_AND_BASE_CONTAINER, sizeof(__pyx_k_NORM_PATHS_AND_BASE_CONTAINER), 0, 0, 1, 1}, + {&__pyx_n_s_PickleError, __pyx_k_PickleError, sizeof(__pyx_k_PickleError), 0, 0, 1, 1}, + {&__pyx_n_s_SetTrace, __pyx_k_SetTrace, sizeof(__pyx_k_SetTrace), 0, 0, 1, 1}, + {&__pyx_n_s_ThreadInfo, __pyx_k_ThreadInfo, sizeof(__pyx_k_ThreadInfo), 0, 0, 1, 1}, + {&__pyx_kp_s__2, __pyx_k__2, sizeof(__pyx_k__2), 0, 0, 1, 0}, + {&__pyx_kp_s__3, __pyx_k__3, sizeof(__pyx_k__3), 0, 0, 1, 0}, + {&__pyx_kp_s__5, __pyx_k__5, sizeof(__pyx_k__5), 0, 0, 1, 0}, + {&__pyx_n_s_active, __pyx_k_active, sizeof(__pyx_k_active), 0, 0, 1, 1}, + {&__pyx_n_s_additional_info, __pyx_k_additional_info, sizeof(__pyx_k_additional_info), 0, 0, 1, 1}, + {&__pyx_n_s_arg, __pyx_k_arg, sizeof(__pyx_k_arg), 0, 0, 1, 1}, + {&__pyx_n_s_bootstrap, __pyx_k_bootstrap, sizeof(__pyx_k_bootstrap), 0, 0, 1, 1}, + {&__pyx_n_s_bootstrap_2, __pyx_k_bootstrap_2, sizeof(__pyx_k_bootstrap_2), 0, 0, 1, 1}, + {&__pyx_n_s_bootstrap_inner, __pyx_k_bootstrap_inner, sizeof(__pyx_k_bootstrap_inner), 0, 0, 1, 1}, + {&__pyx_n_s_bootstrap_inner_2, __pyx_k_bootstrap_inner_2, sizeof(__pyx_k_bootstrap_inner_2), 0, 0, 1, 1}, + {&__pyx_n_s_break_on_caught_exceptions, __pyx_k_break_on_caught_exceptions, sizeof(__pyx_k_break_on_caught_exceptions), 0, 0, 1, 1}, + {&__pyx_n_s_break_on_user_uncaught_exception, __pyx_k_break_on_user_uncaught_exception, sizeof(__pyx_k_break_on_user_uncaught_exception), 0, 0, 1, 1}, + {&__pyx_n_s_breakpoints, __pyx_k_breakpoints, sizeof(__pyx_k_breakpoints), 0, 0, 1, 1}, + {&__pyx_n_s_breakpoints_hit_at_lines, __pyx_k_breakpoints_hit_at_lines, sizeof(__pyx_k_breakpoints_hit_at_lines), 0, 0, 1, 1}, + {&__pyx_n_s_cache, __pyx_k_cache, sizeof(__pyx_k_cache), 0, 0, 1, 1}, + {&__pyx_n_s_call, __pyx_k_call, sizeof(__pyx_k_call), 0, 0, 1, 1}, + {&__pyx_n_s_call_2, __pyx_k_call_2, sizeof(__pyx_k_call_2), 0, 0, 1, 1}, + {&__pyx_n_s_can_skip, __pyx_k_can_skip, sizeof(__pyx_k_can_skip), 0, 0, 1, 1}, + {&__pyx_n_s_clear_thread_local_info, __pyx_k_clear_thread_local_info, sizeof(__pyx_k_clear_thread_local_info), 0, 0, 1, 1}, + {&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1}, + {&__pyx_n_s_code_line_info, __pyx_k_code_line_info, sizeof(__pyx_k_code_line_info), 0, 0, 1, 1}, + {&__pyx_n_s_code_obj, __pyx_k_code_obj, sizeof(__pyx_k_code_obj), 0, 0, 1, 1}, + {&__pyx_n_s_code_obj_py, __pyx_k_code_obj_py, sizeof(__pyx_k_code_obj_py), 0, 0, 1, 1}, + {&__pyx_n_s_compute_force_stay_in_untraced_m, __pyx_k_compute_force_stay_in_untraced_m, sizeof(__pyx_k_compute_force_stay_in_untraced_m), 0, 0, 1, 1}, + {&__pyx_n_s_current_thread, __pyx_k_current_thread, sizeof(__pyx_k_current_thread), 0, 0, 1, 1}, + {&__pyx_n_s_decref_py, __pyx_k_decref_py, sizeof(__pyx_k_decref_py), 0, 0, 1, 1}, + {&__pyx_n_s_dict, __pyx_k_dict, sizeof(__pyx_k_dict), 0, 0, 1, 1}, + {&__pyx_n_s_dis, __pyx_k_dis, sizeof(__pyx_k_dis), 0, 0, 1, 1}, + {&__pyx_n_s_dummy_trace_dispatch, __pyx_k_dummy_trace_dispatch, sizeof(__pyx_k_dummy_trace_dispatch), 0, 0, 1, 1}, + {&__pyx_n_s_dummy_tracing_holder, __pyx_k_dummy_tracing_holder, sizeof(__pyx_k_dummy_tracing_holder), 0, 0, 1, 1}, + {&__pyx_n_s_enter, __pyx_k_enter, sizeof(__pyx_k_enter), 0, 0, 1, 1}, + {&__pyx_n_s_event, __pyx_k_event, sizeof(__pyx_k_event), 0, 0, 1, 1}, + {&__pyx_n_s_exec, __pyx_k_exec, sizeof(__pyx_k_exec), 0, 0, 1, 1}, + {&__pyx_n_s_exit, __pyx_k_exit, sizeof(__pyx_k_exit), 0, 0, 1, 1}, + {&__pyx_n_s_f_back, __pyx_k_f_back, sizeof(__pyx_k_f_back), 0, 0, 1, 1}, + {&__pyx_n_s_f_trace, __pyx_k_f_trace, sizeof(__pyx_k_f_trace), 0, 0, 1, 1}, + {&__pyx_n_s_findlinestarts, __pyx_k_findlinestarts, sizeof(__pyx_k_findlinestarts), 0, 0, 1, 1}, + {&__pyx_n_s_first_line, __pyx_k_first_line, sizeof(__pyx_k_first_line), 0, 0, 1, 1}, + {&__pyx_n_s_fix_top_level_trace_and_get_trac, __pyx_k_fix_top_level_trace_and_get_trac, sizeof(__pyx_k_fix_top_level_trace_and_get_trac), 0, 0, 1, 1}, + {&__pyx_n_s_frame, __pyx_k_frame, sizeof(__pyx_k_frame), 0, 0, 1, 1}, + {&__pyx_n_s_frame_eval_func, __pyx_k_frame_eval_func, sizeof(__pyx_k_frame_eval_func), 0, 0, 1, 1}, + {&__pyx_n_s_function_breakpoint_name_to_brea, __pyx_k_function_breakpoint_name_to_brea, sizeof(__pyx_k_function_breakpoint_name_to_brea), 0, 0, 1, 1}, + {&__pyx_n_s_generate_code_with_breakpoints_p, __pyx_k_generate_code_with_breakpoints_p, sizeof(__pyx_k_generate_code_with_breakpoints_p), 0, 0, 1, 1}, + {&__pyx_n_s_get, __pyx_k_get, sizeof(__pyx_k_get), 0, 0, 1, 1}, + {&__pyx_n_s_get_abs_path_real_path_and_base, __pyx_k_get_abs_path_real_path_and_base, sizeof(__pyx_k_get_abs_path_real_path_and_base), 0, 0, 1, 1}, + {&__pyx_n_s_get_cache_file_type, __pyx_k_get_cache_file_type, sizeof(__pyx_k_get_cache_file_type), 0, 0, 1, 1}, + {&__pyx_n_s_get_cached_code_obj_info_py, __pyx_k_get_cached_code_obj_info_py, sizeof(__pyx_k_get_cached_code_obj_info_py), 0, 0, 1, 1}, + {&__pyx_n_s_get_code_line_info, __pyx_k_get_code_line_info, sizeof(__pyx_k_get_code_line_info), 0, 0, 1, 1}, + {&__pyx_n_s_get_file_type, __pyx_k_get_file_type, sizeof(__pyx_k_get_file_type), 0, 0, 1, 1}, + {&__pyx_n_s_get_func_code_info_py, __pyx_k_get_func_code_info_py, sizeof(__pyx_k_get_func_code_info_py), 0, 0, 1, 1}, + {&__pyx_n_s_get_ident, __pyx_k_get_ident, sizeof(__pyx_k_get_ident), 0, 0, 1, 1}, + {&__pyx_n_s_get_ident_2, __pyx_k_get_ident_2, sizeof(__pyx_k_get_ident_2), 0, 0, 1, 1}, + {&__pyx_n_s_get_thread_info_py, __pyx_k_get_thread_info_py, sizeof(__pyx_k_get_thread_info_py), 0, 0, 1, 1}, + {&__pyx_n_s_getstate, __pyx_k_getstate, sizeof(__pyx_k_getstate), 0, 0, 1, 1}, + {&__pyx_n_s_global_dbg, __pyx_k_global_dbg, sizeof(__pyx_k_global_dbg), 0, 0, 1, 1}, + {&__pyx_n_s_has_plugin_exception_breaks, __pyx_k_has_plugin_exception_breaks, sizeof(__pyx_k_has_plugin_exception_breaks), 0, 0, 1, 1}, + {&__pyx_n_s_has_plugin_line_breaks, __pyx_k_has_plugin_line_breaks, sizeof(__pyx_k_has_plugin_line_breaks), 0, 0, 1, 1}, + {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1}, + {&__pyx_n_s_insert_pydevd_breaks, __pyx_k_insert_pydevd_breaks, sizeof(__pyx_k_insert_pydevd_breaks), 0, 0, 1, 1}, + {&__pyx_n_s_intersection, __pyx_k_intersection, sizeof(__pyx_k_intersection), 0, 0, 1, 1}, + {&__pyx_n_s_is_pydev_daemon_thread, __pyx_k_is_pydev_daemon_thread, sizeof(__pyx_k_is_pydev_daemon_thread), 0, 0, 1, 1}, + {&__pyx_n_s_issuperset, __pyx_k_issuperset, sizeof(__pyx_k_issuperset), 0, 0, 1, 1}, + {&__pyx_n_s_last_line, __pyx_k_last_line, sizeof(__pyx_k_last_line), 0, 0, 1, 1}, + {&__pyx_n_s_line, __pyx_k_line, sizeof(__pyx_k_line), 0, 0, 1, 1}, + {&__pyx_n_s_line_to_offset, __pyx_k_line_to_offset, sizeof(__pyx_k_line_to_offset), 0, 0, 1, 1}, + {&__pyx_n_s_local, __pyx_k_local, sizeof(__pyx_k_local), 0, 0, 1, 1}, + {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1}, + {&__pyx_n_s_main_2, __pyx_k_main_2, sizeof(__pyx_k_main_2), 0, 0, 1, 1}, + {&__pyx_n_s_max, __pyx_k_max, sizeof(__pyx_k_max), 0, 0, 1, 1}, + {&__pyx_n_s_min, __pyx_k_min, sizeof(__pyx_k_min), 0, 0, 1, 1}, + {&__pyx_n_s_mtime, __pyx_k_mtime, sizeof(__pyx_k_mtime), 0, 0, 1, 1}, + {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1}, + {&__pyx_n_s_new, __pyx_k_new, sizeof(__pyx_k_new), 0, 0, 1, 1}, + {&__pyx_n_s_obj, __pyx_k_obj, sizeof(__pyx_k_obj), 0, 0, 1, 1}, + {&__pyx_n_s_offset, __pyx_k_offset, sizeof(__pyx_k_offset), 0, 0, 1, 1}, + {&__pyx_n_s_pickle, __pyx_k_pickle, sizeof(__pyx_k_pickle), 0, 0, 1, 1}, + {&__pyx_n_s_plugin, __pyx_k_plugin, sizeof(__pyx_k_plugin), 0, 0, 1, 1}, + {&__pyx_n_s_pydev_bundle__pydev_saved_modul, __pyx_k_pydev_bundle__pydev_saved_modul, sizeof(__pyx_k_pydev_bundle__pydev_saved_modul), 0, 0, 1, 1}, + {&__pyx_n_s_pydev_monkey, __pyx_k_pydev_monkey, sizeof(__pyx_k_pydev_monkey), 0, 0, 1, 1}, + {&__pyx_n_s_pydevd, __pyx_k_pydevd, sizeof(__pyx_k_pydevd), 0, 0, 1, 1}, + {&__pyx_n_s_pydevd_bundle_pydevd_additional, __pyx_k_pydevd_bundle_pydevd_additional, sizeof(__pyx_k_pydevd_bundle_pydevd_additional), 0, 0, 1, 1}, + {&__pyx_n_s_pydevd_bundle_pydevd_constants, __pyx_k_pydevd_bundle_pydevd_constants, sizeof(__pyx_k_pydevd_bundle_pydevd_constants), 0, 0, 1, 1}, + {&__pyx_n_s_pydevd_bundle_pydevd_trace_disp, __pyx_k_pydevd_bundle_pydevd_trace_disp, sizeof(__pyx_k_pydevd_bundle_pydevd_trace_disp), 0, 0, 1, 1}, + {&__pyx_n_s_pydevd_file_utils, __pyx_k_pydevd_file_utils, sizeof(__pyx_k_pydevd_file_utils), 0, 0, 1, 1}, + {&__pyx_n_s_pydevd_frame_eval_pydevd_frame, __pyx_k_pydevd_frame_eval_pydevd_frame, sizeof(__pyx_k_pydevd_frame_eval_pydevd_frame), 0, 0, 1, 1}, + {&__pyx_kp_s_pydevd_frame_eval_pydevd_frame_2, __pyx_k_pydevd_frame_eval_pydevd_frame_2, sizeof(__pyx_k_pydevd_frame_eval_pydevd_frame_2), 0, 0, 1, 0}, + {&__pyx_n_s_pydevd_frame_eval_pydevd_frame_3, __pyx_k_pydevd_frame_eval_pydevd_frame_3, sizeof(__pyx_k_pydevd_frame_eval_pydevd_frame_3), 0, 0, 1, 1}, + {&__pyx_n_s_pydevd_frame_eval_pydevd_modify, __pyx_k_pydevd_frame_eval_pydevd_modify, sizeof(__pyx_k_pydevd_frame_eval_pydevd_modify), 0, 0, 1, 1}, + {&__pyx_n_s_pydevd_tracing, __pyx_k_pydevd_tracing, sizeof(__pyx_k_pydevd_tracing), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_PickleError, __pyx_k_pyx_PickleError, sizeof(__pyx_k_pyx_PickleError), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_checksum, __pyx_k_pyx_checksum, sizeof(__pyx_k_pyx_checksum), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_result, __pyx_k_pyx_result, sizeof(__pyx_k_pyx_result), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_state, __pyx_k_pyx_state, sizeof(__pyx_k_pyx_state), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_type, __pyx_k_pyx_type, sizeof(__pyx_k_pyx_type), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_unpickle_FuncCodeInfo, __pyx_k_pyx_unpickle_FuncCodeInfo, sizeof(__pyx_k_pyx_unpickle_FuncCodeInfo), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_unpickle_ThreadInfo, __pyx_k_pyx_unpickle_ThreadInfo, sizeof(__pyx_k_pyx_unpickle_ThreadInfo), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_unpickle__CacheValue, __pyx_k_pyx_unpickle__CacheValue, sizeof(__pyx_k_pyx_unpickle__CacheValue), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_unpickle__CodeLineInfo, __pyx_k_pyx_unpickle__CodeLineInfo, sizeof(__pyx_k_pyx_unpickle__CodeLineInfo), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_vtable, __pyx_k_pyx_vtable, sizeof(__pyx_k_pyx_vtable), 0, 0, 1, 1}, + {&__pyx_n_s_reduce, __pyx_k_reduce, sizeof(__pyx_k_reduce), 0, 0, 1, 1}, + {&__pyx_n_s_reduce_cython, __pyx_k_reduce_cython, sizeof(__pyx_k_reduce_cython), 0, 0, 1, 1}, + {&__pyx_n_s_reduce_ex, __pyx_k_reduce_ex, sizeof(__pyx_k_reduce_ex), 0, 0, 1, 1}, + {&__pyx_n_s_rfind, __pyx_k_rfind, sizeof(__pyx_k_rfind), 0, 0, 1, 1}, + {&__pyx_n_s_run, __pyx_k_run, sizeof(__pyx_k_run), 0, 0, 1, 1}, + {&__pyx_n_s_set_additional_thread_info_lock, __pyx_k_set_additional_thread_info_lock, sizeof(__pyx_k_set_additional_thread_info_lock), 0, 0, 1, 1}, + {&__pyx_n_s_set_trace_func, __pyx_k_set_trace_func, sizeof(__pyx_k_set_trace_func), 0, 0, 1, 1}, + {&__pyx_n_s_setstate, __pyx_k_setstate, sizeof(__pyx_k_setstate), 0, 0, 1, 1}, + {&__pyx_n_s_setstate_cython, __pyx_k_setstate_cython, sizeof(__pyx_k_setstate_cython), 0, 0, 1, 1}, + {&__pyx_n_s_show_return_values, __pyx_k_show_return_values, sizeof(__pyx_k_show_return_values), 0, 0, 1, 1}, + {&__pyx_n_s_signature_factory, __pyx_k_signature_factory, sizeof(__pyx_k_signature_factory), 0, 0, 1, 1}, + {&__pyx_n_s_state, __pyx_k_state, sizeof(__pyx_k_state), 0, 0, 1, 1}, + {&__pyx_n_s_stop_frame_eval, __pyx_k_stop_frame_eval, sizeof(__pyx_k_stop_frame_eval), 0, 0, 1, 1}, + {&__pyx_kp_s_stringsource, __pyx_k_stringsource, sizeof(__pyx_k_stringsource), 0, 0, 1, 0}, + {&__pyx_n_s_sys, __pyx_k_sys, sizeof(__pyx_k_sys), 0, 0, 1, 1}, + {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1}, + {&__pyx_n_s_thread, __pyx_k_thread, sizeof(__pyx_k_thread), 0, 0, 1, 1}, + {&__pyx_n_s_thread_active, __pyx_k_thread_active, sizeof(__pyx_k_thread_active), 0, 0, 1, 1}, + {&__pyx_n_s_thread_info, __pyx_k_thread_info, sizeof(__pyx_k_thread_info), 0, 0, 1, 1}, + {&__pyx_n_s_thread_local_info, __pyx_k_thread_local_info, sizeof(__pyx_k_thread_local_info), 0, 0, 1, 1}, + {&__pyx_n_s_threading, __pyx_k_threading, sizeof(__pyx_k_threading), 0, 0, 1, 1}, + {&__pyx_n_s_trace_dispatch, __pyx_k_trace_dispatch, sizeof(__pyx_k_trace_dispatch), 0, 0, 1, 1}, + {&__pyx_n_s_update, __pyx_k_update, sizeof(__pyx_k_update), 0, 0, 1, 1}, + {&__pyx_n_s_update_globals_dict, __pyx_k_update_globals_dict, sizeof(__pyx_k_update_globals_dict), 0, 0, 1, 1}, + {&__pyx_n_s_version_info, __pyx_k_version_info, sizeof(__pyx_k_version_info), 0, 0, 1, 1}, + {0, 0, 0, 0, 0, 0, 0} +}; +static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) { + __pyx_builtin_AttributeError = __Pyx_GetBuiltinName(__pyx_n_s_AttributeError); if (!__pyx_builtin_AttributeError) __PYX_ERR(0, 110, __pyx_L1_error) + __pyx_builtin_min = __Pyx_GetBuiltinName(__pyx_n_s_min); if (!__pyx_builtin_min) __PYX_ERR(0, 341, __pyx_L1_error) + __pyx_builtin_max = __Pyx_GetBuiltinName(__pyx_n_s_max); if (!__pyx_builtin_max) __PYX_ERR(0, 342, __pyx_L1_error) + return 0; + __pyx_L1_error:; + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":112 + * raise AttributeError() + * except: + * with _set_additional_thread_info_lock: # <<<<<<<<<<<<<< + * # If it's not there, set it within a lock to avoid any racing + * # conditions. + */ + __pyx_tuple__4 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__4)) __PYX_ERR(0, 112, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__4); + __Pyx_GIVEREF(__pyx_tuple__4); + + /* "(tree fragment)":4 + * cdef object __pyx_PickleError + * cdef object __pyx_result + * if __pyx_checksum not in (0x0af4089, 0xe535b68, 0xb8148ba): # <<<<<<<<<<<<<< + * from pickle import PickleError as __pyx_PickleError + * raise __pyx_PickleError("Incompatible checksums (0x%x vs (0x0af4089, 0xe535b68, 0xb8148ba) = (_can_create_dummy_thread, additional_info, force_stay_in_untraced_mode, fully_initialized, inside_frame_eval, is_pydevd_thread, thread_trace_func))" % __pyx_checksum) + */ + __pyx_tuple__6 = PyTuple_Pack(3, __pyx_int_11485321, __pyx_int_240343912, __pyx_int_193022138); if (unlikely(!__pyx_tuple__6)) __PYX_ERR(1, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__6); + __Pyx_GIVEREF(__pyx_tuple__6); + __pyx_tuple__7 = PyTuple_Pack(3, __pyx_int_188670045, __pyx_int_72405718, __pyx_int_156687530); if (unlikely(!__pyx_tuple__7)) __PYX_ERR(1, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__7); + __Pyx_GIVEREF(__pyx_tuple__7); + __pyx_tuple__8 = PyTuple_Pack(3, __pyx_int_66829570, __pyx_int_95010005, __pyx_int_2520179); if (unlikely(!__pyx_tuple__8)) __PYX_ERR(1, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__8); + __Pyx_GIVEREF(__pyx_tuple__8); + __pyx_tuple__9 = PyTuple_Pack(3, __pyx_int_64258489, __pyx_int_180628038, __pyx_int_249558979); if (unlikely(!__pyx_tuple__9)) __PYX_ERR(1, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__9); + __Pyx_GIVEREF(__pyx_tuple__9); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":19 + * _thread_active = threading._active + * + * def clear_thread_local_info(): # <<<<<<<<<<<<<< + * global _thread_local_info + * _thread_local_info = threading.local() + */ + __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pydevd_frame_eval_pydevd_frame_2, __pyx_n_s_clear_thread_local_info, 19, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) __PYX_ERR(0, 19, __pyx_L1_error) + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":152 + * + * + * def dummy_trace_dispatch(frame, str event, arg): # <<<<<<<<<<<<<< + * if event == 'call': + * if frame.f_trace is not None: + */ + __pyx_tuple__11 = PyTuple_Pack(3, __pyx_n_s_frame, __pyx_n_s_event, __pyx_n_s_arg); if (unlikely(!__pyx_tuple__11)) __PYX_ERR(0, 152, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__11); + __Pyx_GIVEREF(__pyx_tuple__11); + __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pydevd_frame_eval_pydevd_frame_2, __pyx_n_s_dummy_trace_dispatch, 152, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) __PYX_ERR(0, 152, __pyx_L1_error) + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":159 + * + * + * def get_thread_info_py() -> ThreadInfo: # <<<<<<<<<<<<<< + * return get_thread_info(PyEval_GetFrame()) + * + */ + __pyx_codeobj__13 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pydevd_frame_eval_pydevd_frame_2, __pyx_n_s_get_thread_info_py, 159, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__13)) __PYX_ERR(0, 159, __pyx_L1_error) + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":196 + * + * + * def decref_py(obj): # <<<<<<<<<<<<<< + * ''' + * Helper to be called from Python. + */ + __pyx_tuple__14 = PyTuple_Pack(1, __pyx_n_s_obj); if (unlikely(!__pyx_tuple__14)) __PYX_ERR(0, 196, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__14); + __Pyx_GIVEREF(__pyx_tuple__14); + __pyx_codeobj__15 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__14, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pydevd_frame_eval_pydevd_frame_2, __pyx_n_s_decref_py, 196, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__15)) __PYX_ERR(0, 196, __pyx_L1_error) + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":203 + * + * + * def get_func_code_info_py(thread_info, frame, code_obj) -> FuncCodeInfo: # <<<<<<<<<<<<<< + * ''' + * Helper to be called from Python. + */ + __pyx_tuple__16 = PyTuple_Pack(3, __pyx_n_s_thread_info, __pyx_n_s_frame, __pyx_n_s_code_obj); if (unlikely(!__pyx_tuple__16)) __PYX_ERR(0, 203, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__16); + __Pyx_GIVEREF(__pyx_tuple__16); + __pyx_codeobj__17 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__16, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pydevd_frame_eval_pydevd_frame_2, __pyx_n_s_get_func_code_info_py, 203, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__17)) __PYX_ERR(0, 203, __pyx_L1_error) + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":329 + * + * # Note: this method has a version in pure-python too. + * def _get_code_line_info(code_obj): # <<<<<<<<<<<<<< + * line_to_offset: dict = {} + * first_line: int = None + */ + __pyx_tuple__18 = PyTuple_Pack(6, __pyx_n_s_code_obj, __pyx_n_s_line_to_offset, __pyx_n_s_first_line, __pyx_n_s_last_line, __pyx_n_s_offset, __pyx_n_s_line); if (unlikely(!__pyx_tuple__18)) __PYX_ERR(0, 329, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__18); + __Pyx_GIVEREF(__pyx_tuple__18); + __pyx_codeobj__19 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__18, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pydevd_frame_eval_pydevd_frame_2, __pyx_n_s_get_code_line_info, 329, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__19)) __PYX_ERR(0, 329, __pyx_L1_error) + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":353 + * _cache: dict = {} + * + * def get_cached_code_obj_info_py(code_obj_py): # <<<<<<<<<<<<<< + * ''' + * :return _CacheValue: + */ + __pyx_tuple__20 = PyTuple_Pack(1, __pyx_n_s_code_obj_py); if (unlikely(!__pyx_tuple__20)) __PYX_ERR(0, 353, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__20); + __Pyx_GIVEREF(__pyx_tuple__20); + __pyx_codeobj__21 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__20, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pydevd_frame_eval_pydevd_frame_2, __pyx_n_s_get_cached_code_obj_info_py, 353, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__21)) __PYX_ERR(0, 353, __pyx_L1_error) + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":401 + * return breakpoint_found, force_stay_in_untraced_mode + * + * def generate_code_with_breakpoints_py(object code_obj_py, dict breakpoints): # <<<<<<<<<<<<<< + * return generate_code_with_breakpoints(code_obj_py, breakpoints) + * + */ + __pyx_tuple__22 = PyTuple_Pack(2, __pyx_n_s_code_obj_py, __pyx_n_s_breakpoints); if (unlikely(!__pyx_tuple__22)) __PYX_ERR(0, 401, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__22); + __Pyx_GIVEREF(__pyx_tuple__22); + __pyx_codeobj__23 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__22, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pydevd_frame_eval_pydevd_frame_2, __pyx_n_s_generate_code_with_breakpoints_p, 401, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__23)) __PYX_ERR(0, 401, __pyx_L1_error) + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":473 + * import sys + * + * cdef bint IS_PY_39_OWNARDS = sys.version_info[:2] >= (3, 9) # <<<<<<<<<<<<<< + * + * def frame_eval_func(): + */ + __pyx_slice__24 = PySlice_New(Py_None, __pyx_int_2, Py_None); if (unlikely(!__pyx_slice__24)) __PYX_ERR(0, 473, __pyx_L1_error) + __Pyx_GOTREF(__pyx_slice__24); + __Pyx_GIVEREF(__pyx_slice__24); + __pyx_tuple__25 = PyTuple_Pack(2, __pyx_int_3, __pyx_int_9); if (unlikely(!__pyx_tuple__25)) __PYX_ERR(0, 473, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__25); + __Pyx_GIVEREF(__pyx_tuple__25); + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":475 + * cdef bint IS_PY_39_OWNARDS = sys.version_info[:2] >= (3, 9) + * + * def frame_eval_func(): # <<<<<<<<<<<<<< + * cdef PyThreadState *state = PyThreadState_Get() + * if IS_PY_39_OWNARDS: + */ + __pyx_tuple__26 = PyTuple_Pack(1, __pyx_n_s_state); if (unlikely(!__pyx_tuple__26)) __PYX_ERR(0, 475, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__26); + __Pyx_GIVEREF(__pyx_tuple__26); + __pyx_codeobj__27 = (PyObject*)__Pyx_PyCode_New(0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__26, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pydevd_frame_eval_pydevd_frame_2, __pyx_n_s_frame_eval_func, 475, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__27)) __PYX_ERR(0, 475, __pyx_L1_error) + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":484 + * + * + * def stop_frame_eval(): # <<<<<<<<<<<<<< + * cdef PyThreadState *state = PyThreadState_Get() + * state.interp.eval_frame = _PyEval_EvalFrameDefault + */ + __pyx_tuple__28 = PyTuple_Pack(1, __pyx_n_s_state); if (unlikely(!__pyx_tuple__28)) __PYX_ERR(0, 484, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__28); + __Pyx_GIVEREF(__pyx_tuple__28); + __pyx_codeobj__29 = (PyObject*)__Pyx_PyCode_New(0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__28, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pydevd_frame_eval_pydevd_frame_2, __pyx_n_s_stop_frame_eval, 484, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__29)) __PYX_ERR(0, 484, __pyx_L1_error) + + /* "(tree fragment)":1 + * def __pyx_unpickle_ThreadInfo(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * cdef object __pyx_PickleError + * cdef object __pyx_result + */ + __pyx_tuple__30 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__30)) __PYX_ERR(1, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__30); + __Pyx_GIVEREF(__pyx_tuple__30); + __pyx_codeobj__31 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__30, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_ThreadInfo, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__31)) __PYX_ERR(1, 1, __pyx_L1_error) + __pyx_tuple__32 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__32)) __PYX_ERR(1, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__32); + __Pyx_GIVEREF(__pyx_tuple__32); + __pyx_codeobj__33 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__32, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_FuncCodeInfo, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__33)) __PYX_ERR(1, 1, __pyx_L1_error) + __pyx_tuple__34 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__34)) __PYX_ERR(1, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__34); + __Pyx_GIVEREF(__pyx_tuple__34); + __pyx_codeobj__35 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__34, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle__CodeLineInfo, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__35)) __PYX_ERR(1, 1, __pyx_L1_error) + __pyx_tuple__36 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__36)) __PYX_ERR(1, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__36); + __Pyx_GIVEREF(__pyx_tuple__36); + __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__36, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle__CacheValue, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) __PYX_ERR(1, 1, __pyx_L1_error) + __Pyx_RefNannyFinishContext(); + return 0; + __pyx_L1_error:; + __Pyx_RefNannyFinishContext(); + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) { + if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 1, __pyx_L1_error); + __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_3 = PyInt_FromLong(3); if (unlikely(!__pyx_int_3)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_9 = PyInt_FromLong(9); if (unlikely(!__pyx_int_9)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_2520179 = PyInt_FromLong(2520179L); if (unlikely(!__pyx_int_2520179)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_11485321 = PyInt_FromLong(11485321L); if (unlikely(!__pyx_int_11485321)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_64258489 = PyInt_FromLong(64258489L); if (unlikely(!__pyx_int_64258489)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_66829570 = PyInt_FromLong(66829570L); if (unlikely(!__pyx_int_66829570)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_72405718 = PyInt_FromLong(72405718L); if (unlikely(!__pyx_int_72405718)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_95010005 = PyInt_FromLong(95010005L); if (unlikely(!__pyx_int_95010005)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_156687530 = PyInt_FromLong(156687530L); if (unlikely(!__pyx_int_156687530)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_180628038 = PyInt_FromLong(180628038L); if (unlikely(!__pyx_int_180628038)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_188670045 = PyInt_FromLong(188670045L); if (unlikely(!__pyx_int_188670045)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_193022138 = PyInt_FromLong(193022138L); if (unlikely(!__pyx_int_193022138)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_240343912 = PyInt_FromLong(240343912L); if (unlikely(!__pyx_int_240343912)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_249558979 = PyInt_FromLong(249558979L); if (unlikely(!__pyx_int_249558979)) __PYX_ERR(0, 1, __pyx_L1_error) + return 0; + __pyx_L1_error:; + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_modinit_global_init_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_variable_export_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_function_export_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_type_init_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_type_import_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_variable_import_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_function_import_code(void); /*proto*/ + +static int __Pyx_modinit_global_init_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_global_init_code", 0); + /*--- Global init code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_variable_export_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_variable_export_code", 0); + /*--- Variable export code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_function_export_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_function_export_code", 0); + /*--- Function export code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_type_init_code(void) { + __Pyx_RefNannyDeclarations + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0); + /*--- Type init code ---*/ + __pyx_vtabptr_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo = &__pyx_vtable_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo; + __pyx_vtable_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo.initialize = (PyObject *(*)(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *, PyFrameObject *))__pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_initialize; + __pyx_vtable_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo.initialize_if_possible = (PyObject *(*)(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo *))__pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator_10ThreadInfo_initialize_if_possible; + if (PyType_Ready(&__pyx_type_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo) < 0) __PYX_ERR(0, 24, __pyx_L1_error) + #if PY_VERSION_HEX < 0x030800B1 + __pyx_type_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo.tp_print = 0; + #endif + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo.tp_dictoffset && __pyx_type_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo.tp_getattro == PyObject_GenericGetAttr)) { + __pyx_type_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo.tp_getattro = __Pyx_PyObject_GenericGetAttr; + } + if (__Pyx_SetVtable(__pyx_type_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo.tp_dict, __pyx_vtabptr_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo) < 0) __PYX_ERR(0, 24, __pyx_L1_error) + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ThreadInfo, (PyObject *)&__pyx_type_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo) < 0) __PYX_ERR(0, 24, __pyx_L1_error) + if (__Pyx_setup_reduce((PyObject*)&__pyx_type_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo) < 0) __PYX_ERR(0, 24, __pyx_L1_error) + __pyx_ptype_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo = &__pyx_type_18_pydevd_frame_eval_22pydevd_frame_evaluator_ThreadInfo; + if (PyType_Ready(&__pyx_type_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo) < 0) __PYX_ERR(0, 125, __pyx_L1_error) + #if PY_VERSION_HEX < 0x030800B1 + __pyx_type_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo.tp_print = 0; + #endif + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo.tp_dictoffset && __pyx_type_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo.tp_getattro == PyObject_GenericGetAttr)) { + __pyx_type_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo.tp_getattro = __Pyx_PyObject_GenericGetAttr; + } + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_FuncCodeInfo, (PyObject *)&__pyx_type_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo) < 0) __PYX_ERR(0, 125, __pyx_L1_error) + if (__Pyx_setup_reduce((PyObject*)&__pyx_type_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo) < 0) __PYX_ERR(0, 125, __pyx_L1_error) + __pyx_ptype_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo = &__pyx_type_18_pydevd_frame_eval_22pydevd_frame_evaluator_FuncCodeInfo; + if (PyType_Ready(&__pyx_type_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo) < 0) __PYX_ERR(0, 316, __pyx_L1_error) + #if PY_VERSION_HEX < 0x030800B1 + __pyx_type_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo.tp_print = 0; + #endif + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo.tp_dictoffset && __pyx_type_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo.tp_getattro == PyObject_GenericGetAttr)) { + __pyx_type_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo.tp_getattro = __Pyx_PyObject_GenericGetAttr; + } + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CodeLineInfo, (PyObject *)&__pyx_type_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo) < 0) __PYX_ERR(0, 316, __pyx_L1_error) + if (__Pyx_setup_reduce((PyObject*)&__pyx_type_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo) < 0) __PYX_ERR(0, 316, __pyx_L1_error) + __pyx_ptype_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo = &__pyx_type_18_pydevd_frame_eval_22pydevd_frame_evaluator__CodeLineInfo; + __pyx_vtabptr_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue = &__pyx_vtable_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue; + __pyx_vtable_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue.compute_force_stay_in_untraced_mode = (PyObject *(*)(struct __pyx_obj_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue *, PyObject *, int __pyx_skip_dispatch))__pyx_f_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue_compute_force_stay_in_untraced_mode; + if (PyType_Ready(&__pyx_type_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue) < 0) __PYX_ERR(0, 361, __pyx_L1_error) + #if PY_VERSION_HEX < 0x030800B1 + __pyx_type_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue.tp_print = 0; + #endif + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue.tp_dictoffset && __pyx_type_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue.tp_getattro == PyObject_GenericGetAttr)) { + __pyx_type_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue.tp_getattro = __Pyx_PyObject_GenericGetAttr; + } + #if CYTHON_UPDATE_DESCRIPTOR_DOC + { + PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(0, 361, __pyx_L1_error) + if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) { + __pyx_wrapperbase_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue___init__ = *((PyWrapperDescrObject *)wrapper)->d_base; + __pyx_wrapperbase_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue___init__.doc = __pyx_doc_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue___init__; + ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_CacheValue___init__; + } + } + #endif + if (__Pyx_SetVtable(__pyx_type_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue.tp_dict, __pyx_vtabptr_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue) < 0) __PYX_ERR(0, 361, __pyx_L1_error) + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CacheValue, (PyObject *)&__pyx_type_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue) < 0) __PYX_ERR(0, 361, __pyx_L1_error) + if (__Pyx_setup_reduce((PyObject*)&__pyx_type_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue) < 0) __PYX_ERR(0, 361, __pyx_L1_error) + __pyx_ptype_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue = &__pyx_type_18_pydevd_frame_eval_22pydevd_frame_evaluator__CacheValue; + __Pyx_RefNannyFinishContext(); + return 0; + __pyx_L1_error:; + __Pyx_RefNannyFinishContext(); + return -1; +} + +static int __Pyx_modinit_type_import_code(void) { + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0); + /*--- Type import code ---*/ + __pyx_t_1 = PyImport_ImportModule("_pydevd_bundle.pydevd_cython"); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo = __Pyx_ImportType(__pyx_t_1, "_pydevd_bundle.pydevd_cython", "PyDBAdditionalThreadInfo", sizeof(struct __pyx_obj_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo), __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_14_pydevd_bundle_13pydevd_cython_PyDBAdditionalThreadInfo) __PYX_ERR(2, 1, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_RefNannyFinishContext(); + return 0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_RefNannyFinishContext(); + return -1; +} + +static int __Pyx_modinit_variable_import_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_variable_import_code", 0); + /*--- Variable import code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_function_import_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_function_import_code", 0); + /*--- Function import code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + + +#ifndef CYTHON_NO_PYINIT_EXPORT +#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC +#elif PY_MAJOR_VERSION < 3 +#ifdef __cplusplus +#define __Pyx_PyMODINIT_FUNC extern "C" void +#else +#define __Pyx_PyMODINIT_FUNC void +#endif +#else +#ifdef __cplusplus +#define __Pyx_PyMODINIT_FUNC extern "C" PyObject * +#else +#define __Pyx_PyMODINIT_FUNC PyObject * +#endif +#endif + + +#if PY_MAJOR_VERSION < 3 +__Pyx_PyMODINIT_FUNC initpydevd_frame_evaluator(void) CYTHON_SMALL_CODE; /*proto*/ +__Pyx_PyMODINIT_FUNC initpydevd_frame_evaluator(void) +#else +__Pyx_PyMODINIT_FUNC PyInit_pydevd_frame_evaluator(void) CYTHON_SMALL_CODE; /*proto*/ +__Pyx_PyMODINIT_FUNC PyInit_pydevd_frame_evaluator(void) +#if CYTHON_PEP489_MULTI_PHASE_INIT +{ + return PyModuleDef_Init(&__pyx_moduledef); +} +static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) { + #if PY_VERSION_HEX >= 0x030700A1 + static PY_INT64_T main_interpreter_id = -1; + PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp); + if (main_interpreter_id == -1) { + main_interpreter_id = current_id; + return (unlikely(current_id == -1)) ? -1 : 0; + } else if (unlikely(main_interpreter_id != current_id)) + #else + static PyInterpreterState *main_interpreter = NULL; + PyInterpreterState *current_interpreter = PyThreadState_Get()->interp; + if (!main_interpreter) { + main_interpreter = current_interpreter; + } else if (unlikely(main_interpreter != current_interpreter)) + #endif + { + PyErr_SetString( + PyExc_ImportError, + "Interpreter change detected - this module can only be loaded into one interpreter per process."); + return -1; + } + return 0; +} +static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name, int allow_none) { + PyObject *value = PyObject_GetAttrString(spec, from_name); + int result = 0; + if (likely(value)) { + if (allow_none || value != Py_None) { + result = PyDict_SetItemString(moddict, to_name, value); + } + Py_DECREF(value); + } else if (PyErr_ExceptionMatches(PyExc_AttributeError)) { + PyErr_Clear(); + } else { + result = -1; + } + return result; +} +static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, CYTHON_UNUSED PyModuleDef *def) { + PyObject *module = NULL, *moddict, *modname; + if (__Pyx_check_single_interpreter()) + return NULL; + if (__pyx_m) + return __Pyx_NewRef(__pyx_m); + modname = PyObject_GetAttrString(spec, "name"); + if (unlikely(!modname)) goto bad; + module = PyModule_NewObject(modname); + Py_DECREF(modname); + if (unlikely(!module)) goto bad; + moddict = PyModule_GetDict(module); + if (unlikely(!moddict)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__", 1) < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__", 1) < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__", 1) < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__", 0) < 0)) goto bad; + return module; +bad: + Py_XDECREF(module); + return NULL; +} + + +static CYTHON_SMALL_CODE int __pyx_pymod_exec_pydevd_frame_evaluator(PyObject *__pyx_pyinit_module) +#endif +#endif +{ + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + int __pyx_t_3; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannyDeclarations + #if CYTHON_PEP489_MULTI_PHASE_INIT + if (__pyx_m) { + if (__pyx_m == __pyx_pyinit_module) return 0; + PyErr_SetString(PyExc_RuntimeError, "Module 'pydevd_frame_evaluator' has already been imported. Re-initialisation is not supported."); + return -1; + } + #elif PY_MAJOR_VERSION >= 3 + if (__pyx_m) return __Pyx_NewRef(__pyx_m); + #endif + #if CYTHON_REFNANNY +__Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny"); +if (!__Pyx_RefNanny) { + PyErr_Clear(); + __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny"); + if (!__Pyx_RefNanny) + Py_FatalError("failed to import 'refnanny' module"); +} +#endif + __Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit_pydevd_frame_evaluator(void)", 0); + if (__Pyx_check_binary_version() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #ifdef __Pxy_PyFrame_Initialize_Offsets + __Pxy_PyFrame_Initialize_Offsets(); + #endif + __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error) + #ifdef __Pyx_CyFunction_USED + if (__pyx_CyFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_FusedFunction_USED + if (__pyx_FusedFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_Coroutine_USED + if (__pyx_Coroutine_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_Generator_USED + if (__pyx_Generator_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_AsyncGen_USED + if (__pyx_AsyncGen_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_StopAsyncIteration_USED + if (__pyx_StopAsyncIteration_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + /*--- Library function declarations ---*/ + /*--- Threads initialization code ---*/ + #if defined(WITH_THREAD) && PY_VERSION_HEX < 0x030700F0 && defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS + PyEval_InitThreads(); + #endif + /*--- Module creation code ---*/ + #if CYTHON_PEP489_MULTI_PHASE_INIT + __pyx_m = __pyx_pyinit_module; + Py_INCREF(__pyx_m); + #else + #if PY_MAJOR_VERSION < 3 + __pyx_m = Py_InitModule4("pydevd_frame_evaluator", __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m); + #else + __pyx_m = PyModule_Create(&__pyx_moduledef); + #endif + if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error) + Py_INCREF(__pyx_d); + __pyx_b = PyImport_AddModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error) + Py_INCREF(__pyx_b); + __pyx_cython_runtime = PyImport_AddModule((char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error) + Py_INCREF(__pyx_cython_runtime); + if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error); + /*--- Initialize various global constants etc. ---*/ + if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT) + if (__Pyx_init_sys_getdefaultencoding_params() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + if (__pyx_module_is_main__pydevd_frame_eval__pydevd_frame_evaluator) { + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_name, __pyx_n_s_main_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error) + } + #if PY_MAJOR_VERSION >= 3 + { + PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error) + if (!PyDict_GetItemString(modules, "_pydevd_frame_eval.pydevd_frame_evaluator")) { + if (unlikely(PyDict_SetItemString(modules, "_pydevd_frame_eval.pydevd_frame_evaluator", __pyx_m) < 0)) __PYX_ERR(0, 1, __pyx_L1_error) + } + } + #endif + /*--- Builtin init code ---*/ + if (__Pyx_InitCachedBuiltins() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + /*--- Constants init code ---*/ + if (__Pyx_InitCachedConstants() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + /*--- Global type/function init code ---*/ + (void)__Pyx_modinit_global_init_code(); + (void)__Pyx_modinit_variable_export_code(); + (void)__Pyx_modinit_function_export_code(); + if (unlikely(__Pyx_modinit_type_init_code() < 0)) __PYX_ERR(0, 1, __pyx_L1_error) + if (unlikely(__Pyx_modinit_type_import_code() < 0)) __PYX_ERR(0, 1, __pyx_L1_error) + (void)__Pyx_modinit_variable_import_code(); + (void)__Pyx_modinit_function_import_code(); + /*--- Execution code ---*/ + #if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) + if (__Pyx_patch_abc() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":2 + * from __future__ import print_function + * from _pydev_bundle._pydev_saved_modules import threading, thread # <<<<<<<<<<<<<< + * from _pydevd_bundle.pydevd_constants import GlobalDebuggerHolder + * import dis + */ + __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_s_threading); + __Pyx_GIVEREF(__pyx_n_s_threading); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_threading); + __Pyx_INCREF(__pyx_n_s_thread); + __Pyx_GIVEREF(__pyx_n_s_thread); + PyList_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_thread); + __pyx_t_2 = __Pyx_Import(__pyx_n_s_pydev_bundle__pydev_saved_modul, __pyx_t_1, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_threading); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_threading, __pyx_t_1) < 0) __PYX_ERR(0, 2, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_thread); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_thread, __pyx_t_1) < 0) __PYX_ERR(0, 2, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":3 + * from __future__ import print_function + * from _pydev_bundle._pydev_saved_modules import threading, thread + * from _pydevd_bundle.pydevd_constants import GlobalDebuggerHolder # <<<<<<<<<<<<<< + * import dis + * import sys + */ + __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_n_s_GlobalDebuggerHolder); + __Pyx_GIVEREF(__pyx_n_s_GlobalDebuggerHolder); + PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_GlobalDebuggerHolder); + __pyx_t_1 = __Pyx_Import(__pyx_n_s_pydevd_bundle_pydevd_constants, __pyx_t_2, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_GlobalDebuggerHolder); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_GlobalDebuggerHolder, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":4 + * from _pydev_bundle._pydev_saved_modules import threading, thread + * from _pydevd_bundle.pydevd_constants import GlobalDebuggerHolder + * import dis # <<<<<<<<<<<<<< + * import sys + * from _pydevd_frame_eval.pydevd_frame_tracing import update_globals_dict, dummy_tracing_holder + */ + __pyx_t_1 = __Pyx_Import(__pyx_n_s_dis, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_dis, __pyx_t_1) < 0) __PYX_ERR(0, 4, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":5 + * from _pydevd_bundle.pydevd_constants import GlobalDebuggerHolder + * import dis + * import sys # <<<<<<<<<<<<<< + * from _pydevd_frame_eval.pydevd_frame_tracing import update_globals_dict, dummy_tracing_holder + * from _pydevd_frame_eval.pydevd_modify_bytecode import DebugHelper, insert_pydevd_breaks + */ + __pyx_t_1 = __Pyx_Import(__pyx_n_s_sys, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_sys, __pyx_t_1) < 0) __PYX_ERR(0, 5, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":6 + * import dis + * import sys + * from _pydevd_frame_eval.pydevd_frame_tracing import update_globals_dict, dummy_tracing_holder # <<<<<<<<<<<<<< + * from _pydevd_frame_eval.pydevd_modify_bytecode import DebugHelper, insert_pydevd_breaks + * from pydevd_file_utils import get_abs_path_real_path_and_base_from_frame, NORM_PATHS_AND_BASE_CONTAINER + */ + __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_s_update_globals_dict); + __Pyx_GIVEREF(__pyx_n_s_update_globals_dict); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_update_globals_dict); + __Pyx_INCREF(__pyx_n_s_dummy_tracing_holder); + __Pyx_GIVEREF(__pyx_n_s_dummy_tracing_holder); + PyList_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_dummy_tracing_holder); + __pyx_t_2 = __Pyx_Import(__pyx_n_s_pydevd_frame_eval_pydevd_frame, __pyx_t_1, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_update_globals_dict); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_update_globals_dict, __pyx_t_1) < 0) __PYX_ERR(0, 6, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_dummy_tracing_holder); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_dummy_tracing_holder, __pyx_t_1) < 0) __PYX_ERR(0, 6, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":7 + * import sys + * from _pydevd_frame_eval.pydevd_frame_tracing import update_globals_dict, dummy_tracing_holder + * from _pydevd_frame_eval.pydevd_modify_bytecode import DebugHelper, insert_pydevd_breaks # <<<<<<<<<<<<<< + * from pydevd_file_utils import get_abs_path_real_path_and_base_from_frame, NORM_PATHS_AND_BASE_CONTAINER + * from _pydevd_bundle.pydevd_trace_dispatch import fix_top_level_trace_and_get_trace_func + */ + __pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_n_s_DebugHelper); + __Pyx_GIVEREF(__pyx_n_s_DebugHelper); + PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_DebugHelper); + __Pyx_INCREF(__pyx_n_s_insert_pydevd_breaks); + __Pyx_GIVEREF(__pyx_n_s_insert_pydevd_breaks); + PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_insert_pydevd_breaks); + __pyx_t_1 = __Pyx_Import(__pyx_n_s_pydevd_frame_eval_pydevd_modify, __pyx_t_2, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_DebugHelper); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_DebugHelper, __pyx_t_2) < 0) __PYX_ERR(0, 7, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_insert_pydevd_breaks); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_insert_pydevd_breaks, __pyx_t_2) < 0) __PYX_ERR(0, 7, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":8 + * from _pydevd_frame_eval.pydevd_frame_tracing import update_globals_dict, dummy_tracing_holder + * from _pydevd_frame_eval.pydevd_modify_bytecode import DebugHelper, insert_pydevd_breaks + * from pydevd_file_utils import get_abs_path_real_path_and_base_from_frame, NORM_PATHS_AND_BASE_CONTAINER # <<<<<<<<<<<<<< + * from _pydevd_bundle.pydevd_trace_dispatch import fix_top_level_trace_and_get_trace_func + * + */ + __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_s_get_abs_path_real_path_and_base); + __Pyx_GIVEREF(__pyx_n_s_get_abs_path_real_path_and_base); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_get_abs_path_real_path_and_base); + __Pyx_INCREF(__pyx_n_s_NORM_PATHS_AND_BASE_CONTAINER); + __Pyx_GIVEREF(__pyx_n_s_NORM_PATHS_AND_BASE_CONTAINER); + PyList_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_NORM_PATHS_AND_BASE_CONTAINER); + __pyx_t_2 = __Pyx_Import(__pyx_n_s_pydevd_file_utils, __pyx_t_1, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_get_abs_path_real_path_and_base); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_abs_path_real_path_and_base, __pyx_t_1) < 0) __PYX_ERR(0, 8, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_NORM_PATHS_AND_BASE_CONTAINER); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_NORM_PATHS_AND_BASE_CONTAINER, __pyx_t_1) < 0) __PYX_ERR(0, 8, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":9 + * from _pydevd_frame_eval.pydevd_modify_bytecode import DebugHelper, insert_pydevd_breaks + * from pydevd_file_utils import get_abs_path_real_path_and_base_from_frame, NORM_PATHS_AND_BASE_CONTAINER + * from _pydevd_bundle.pydevd_trace_dispatch import fix_top_level_trace_and_get_trace_func # <<<<<<<<<<<<<< + * + * from _pydevd_bundle.pydevd_additional_thread_info import _set_additional_thread_info_lock + */ + __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_n_s_fix_top_level_trace_and_get_trac); + __Pyx_GIVEREF(__pyx_n_s_fix_top_level_trace_and_get_trac); + PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_fix_top_level_trace_and_get_trac); + __pyx_t_1 = __Pyx_Import(__pyx_n_s_pydevd_bundle_pydevd_trace_disp, __pyx_t_2, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_fix_top_level_trace_and_get_trac); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_fix_top_level_trace_and_get_trac, __pyx_t_2) < 0) __PYX_ERR(0, 9, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":11 + * from _pydevd_bundle.pydevd_trace_dispatch import fix_top_level_trace_and_get_trace_func + * + * from _pydevd_bundle.pydevd_additional_thread_info import _set_additional_thread_info_lock # <<<<<<<<<<<<<< + * from _pydevd_bundle.pydevd_cython cimport PyDBAdditionalThreadInfo + * from pydevd_tracing import SetTrace + */ + __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_s_set_additional_thread_info_lock); + __Pyx_GIVEREF(__pyx_n_s_set_additional_thread_info_lock); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_set_additional_thread_info_lock); + __pyx_t_2 = __Pyx_Import(__pyx_n_s_pydevd_bundle_pydevd_additional, __pyx_t_1, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_set_additional_thread_info_lock); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_set_additional_thread_info_lock, __pyx_t_1) < 0) __PYX_ERR(0, 11, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":13 + * from _pydevd_bundle.pydevd_additional_thread_info import _set_additional_thread_info_lock + * from _pydevd_bundle.pydevd_cython cimport PyDBAdditionalThreadInfo + * from pydevd_tracing import SetTrace # <<<<<<<<<<<<<< + * + * _get_ident = threading.get_ident # Note this is py3 only, if py2 needed to be supported, _get_ident would be needed. + */ + __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_n_s_SetTrace); + __Pyx_GIVEREF(__pyx_n_s_SetTrace); + PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_SetTrace); + __pyx_t_1 = __Pyx_Import(__pyx_n_s_pydevd_tracing, __pyx_t_2, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_SetTrace); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_SetTrace, __pyx_t_2) < 0) __PYX_ERR(0, 13, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":15 + * from pydevd_tracing import SetTrace + * + * _get_ident = threading.get_ident # Note this is py3 only, if py2 needed to be supported, _get_ident would be needed. # <<<<<<<<<<<<<< + * _thread_local_info = threading.local() + * _thread_active = threading._active + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_threading); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_get_ident_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_ident, __pyx_t_2) < 0) __PYX_ERR(0, 15, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":16 + * + * _get_ident = threading.get_ident # Note this is py3 only, if py2 needed to be supported, _get_ident would be needed. + * _thread_local_info = threading.local() # <<<<<<<<<<<<<< + * _thread_active = threading._active + * + */ + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_threading); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_local); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (PyDict_SetItem(__pyx_d, __pyx_n_s_thread_local_info, __pyx_t_2) < 0) __PYX_ERR(0, 16, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":17 + * _get_ident = threading.get_ident # Note this is py3 only, if py2 needed to be supported, _get_ident would be needed. + * _thread_local_info = threading.local() + * _thread_active = threading._active # <<<<<<<<<<<<<< + * + * def clear_thread_local_info(): + */ + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_threading); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_active); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (PyDict_SetItem(__pyx_d, __pyx_n_s_thread_active, __pyx_t_1) < 0) __PYX_ERR(0, 17, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":19 + * _thread_active = threading._active + * + * def clear_thread_local_info(): # <<<<<<<<<<<<<< + * global _thread_local_info + * _thread_local_info = threading.local() + */ + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_18_pydevd_frame_eval_22pydevd_frame_evaluator_1clear_thread_local_info, NULL, __pyx_n_s_pydevd_frame_eval_pydevd_frame_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_clear_thread_local_info, __pyx_t_1) < 0) __PYX_ERR(0, 19, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":152 + * + * + * def dummy_trace_dispatch(frame, str event, arg): # <<<<<<<<<<<<<< + * if event == 'call': + * if frame.f_trace is not None: + */ + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_18_pydevd_frame_eval_22pydevd_frame_evaluator_3dummy_trace_dispatch, NULL, __pyx_n_s_pydevd_frame_eval_pydevd_frame_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 152, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_dummy_trace_dispatch, __pyx_t_1) < 0) __PYX_ERR(0, 152, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":159 + * + * + * def get_thread_info_py() -> ThreadInfo: # <<<<<<<<<<<<<< + * return get_thread_info(PyEval_GetFrame()) + * + */ + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_18_pydevd_frame_eval_22pydevd_frame_evaluator_5get_thread_info_py, NULL, __pyx_n_s_pydevd_frame_eval_pydevd_frame_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 159, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_thread_info_py, __pyx_t_1) < 0) __PYX_ERR(0, 159, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":196 + * + * + * def decref_py(obj): # <<<<<<<<<<<<<< + * ''' + * Helper to be called from Python. + */ + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_18_pydevd_frame_eval_22pydevd_frame_evaluator_7decref_py, NULL, __pyx_n_s_pydevd_frame_eval_pydevd_frame_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 196, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_decref_py, __pyx_t_1) < 0) __PYX_ERR(0, 196, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":203 + * + * + * def get_func_code_info_py(thread_info, frame, code_obj) -> FuncCodeInfo: # <<<<<<<<<<<<<< + * ''' + * Helper to be called from Python. + */ + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_18_pydevd_frame_eval_22pydevd_frame_evaluator_9get_func_code_info_py, NULL, __pyx_n_s_pydevd_frame_eval_pydevd_frame_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 203, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_func_code_info_py, __pyx_t_1) < 0) __PYX_ERR(0, 203, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":210 + * + * + * cdef int _code_extra_index = -1 # <<<<<<<<<<<<<< + * + * cdef FuncCodeInfo get_func_code_info(ThreadInfo thread_info, PyFrameObject * frame_obj, PyCodeObject * code_obj): + */ + __pyx_v_18_pydevd_frame_eval_22pydevd_frame_evaluator__code_extra_index = -1; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":329 + * + * # Note: this method has a version in pure-python too. + * def _get_code_line_info(code_obj): # <<<<<<<<<<<<<< + * line_to_offset: dict = {} + * first_line: int = None + */ + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_18_pydevd_frame_eval_22pydevd_frame_evaluator_11_get_code_line_info, NULL, __pyx_n_s_pydevd_frame_eval_pydevd_frame_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 329, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_code_line_info, __pyx_t_1) < 0) __PYX_ERR(0, 329, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":351 + * # handled by the cython side in `FuncCodeInfo get_func_code_info` by providing the + * # same code info if the debugger mtime is still the same). + * _cache: dict = {} # <<<<<<<<<<<<<< + * + * def get_cached_code_obj_info_py(code_obj_py): + */ + __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 351, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_cache, __pyx_t_1) < 0) __PYX_ERR(0, 351, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":353 + * _cache: dict = {} + * + * def get_cached_code_obj_info_py(code_obj_py): # <<<<<<<<<<<<<< + * ''' + * :return _CacheValue: + */ + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_18_pydevd_frame_eval_22pydevd_frame_evaluator_13get_cached_code_obj_info_py, NULL, __pyx_n_s_pydevd_frame_eval_pydevd_frame_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 353, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_cached_code_obj_info_py, __pyx_t_1) < 0) __PYX_ERR(0, 353, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":401 + * return breakpoint_found, force_stay_in_untraced_mode + * + * def generate_code_with_breakpoints_py(object code_obj_py, dict breakpoints): # <<<<<<<<<<<<<< + * return generate_code_with_breakpoints(code_obj_py, breakpoints) + * + */ + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_18_pydevd_frame_eval_22pydevd_frame_evaluator_15generate_code_with_breakpoints_py, NULL, __pyx_n_s_pydevd_frame_eval_pydevd_frame_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 401, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_generate_code_with_breakpoints_p, __pyx_t_1) < 0) __PYX_ERR(0, 401, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":471 + * return breakpoint_found, code_obj_py + * + * import sys # <<<<<<<<<<<<<< + * + * cdef bint IS_PY_39_OWNARDS = sys.version_info[:2] >= (3, 9) + */ + __pyx_t_1 = __Pyx_Import(__pyx_n_s_sys, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 471, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_sys, __pyx_t_1) < 0) __PYX_ERR(0, 471, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":473 + * import sys + * + * cdef bint IS_PY_39_OWNARDS = sys.version_info[:2] >= (3, 9) # <<<<<<<<<<<<<< + * + * def frame_eval_func(): + */ + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_sys); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 473, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_version_info); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 473, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_GetSlice(__pyx_t_2, 0, 2, NULL, NULL, &__pyx_slice__24, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 473, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_tuple__25, Py_GE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 473, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 473, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_18_pydevd_frame_eval_22pydevd_frame_evaluator_IS_PY_39_OWNARDS = __pyx_t_3; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":475 + * cdef bint IS_PY_39_OWNARDS = sys.version_info[:2] >= (3, 9) + * + * def frame_eval_func(): # <<<<<<<<<<<<<< + * cdef PyThreadState *state = PyThreadState_Get() + * if IS_PY_39_OWNARDS: + */ + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_18_pydevd_frame_eval_22pydevd_frame_evaluator_17frame_eval_func, NULL, __pyx_n_s_pydevd_frame_eval_pydevd_frame_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 475, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_frame_eval_func, __pyx_t_2) < 0) __PYX_ERR(0, 475, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":484 + * + * + * def stop_frame_eval(): # <<<<<<<<<<<<<< + * cdef PyThreadState *state = PyThreadState_Get() + * state.interp.eval_frame = _PyEval_EvalFrameDefault + */ + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_18_pydevd_frame_eval_22pydevd_frame_evaluator_19stop_frame_eval, NULL, __pyx_n_s_pydevd_frame_eval_pydevd_frame_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 484, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_stop_frame_eval, __pyx_t_2) < 0) __PYX_ERR(0, 484, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "(tree fragment)":1 + * def __pyx_unpickle_ThreadInfo(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * cdef object __pyx_PickleError + * cdef object __pyx_result + */ + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_18_pydevd_frame_eval_22pydevd_frame_evaluator_21__pyx_unpickle_ThreadInfo, NULL, __pyx_n_s_pydevd_frame_eval_pydevd_frame_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_ThreadInfo, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "(tree fragment)":11 + * __pyx_unpickle_ThreadInfo__set_state( __pyx_result, __pyx_state) + * return __pyx_result + * cdef __pyx_unpickle_ThreadInfo__set_state(ThreadInfo __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<< + * __pyx_result._can_create_dummy_thread = __pyx_state[0]; __pyx_result.additional_info = __pyx_state[1]; __pyx_result.force_stay_in_untraced_mode = __pyx_state[2]; __pyx_result.fully_initialized = __pyx_state[3]; __pyx_result.inside_frame_eval = __pyx_state[4]; __pyx_result.is_pydevd_thread = __pyx_state[5]; __pyx_result.thread_trace_func = __pyx_state[6] + * if len(__pyx_state) > 7 and hasattr(__pyx_result, '__dict__'): + */ + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_18_pydevd_frame_eval_22pydevd_frame_evaluator_23__pyx_unpickle_FuncCodeInfo, NULL, __pyx_n_s_pydevd_frame_eval_pydevd_frame_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_FuncCodeInfo, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "(tree fragment)":1 + * def __pyx_unpickle__CodeLineInfo(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<< + * cdef object __pyx_PickleError + * cdef object __pyx_result + */ + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_18_pydevd_frame_eval_22pydevd_frame_evaluator_25__pyx_unpickle__CodeLineInfo, NULL, __pyx_n_s_pydevd_frame_eval_pydevd_frame_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle__CodeLineInfo, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "(tree fragment)":11 + * __pyx_unpickle__CodeLineInfo__set_state(<_CodeLineInfo> __pyx_result, __pyx_state) + * return __pyx_result + * cdef __pyx_unpickle__CodeLineInfo__set_state(_CodeLineInfo __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<< + * __pyx_result.first_line = __pyx_state[0]; __pyx_result.last_line = __pyx_state[1]; __pyx_result.line_to_offset = __pyx_state[2] + * if len(__pyx_state) > 3 and hasattr(__pyx_result, '__dict__'): + */ + __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_18_pydevd_frame_eval_22pydevd_frame_evaluator_27__pyx_unpickle__CacheValue, NULL, __pyx_n_s_pydevd_frame_eval_pydevd_frame_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle__CacheValue, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "_pydevd_frame_eval/pydevd_frame_evaluator.pyx":1 + * from __future__ import print_function # <<<<<<<<<<<<<< + * from _pydev_bundle._pydev_saved_modules import threading, thread + * from _pydevd_bundle.pydevd_constants import GlobalDebuggerHolder + */ + __pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /*--- Wrapped vars code ---*/ + + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + if (__pyx_m) { + if (__pyx_d) { + __Pyx_AddTraceback("init _pydevd_frame_eval.pydevd_frame_evaluator", __pyx_clineno, __pyx_lineno, __pyx_filename); + } + Py_CLEAR(__pyx_m); + } else if (!PyErr_Occurred()) { + PyErr_SetString(PyExc_ImportError, "init _pydevd_frame_eval.pydevd_frame_evaluator"); + } + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + #if CYTHON_PEP489_MULTI_PHASE_INIT + return (__pyx_m != NULL) ? 0 : -1; + #elif PY_MAJOR_VERSION >= 3 + return __pyx_m; + #else + return; + #endif +} + +/* --- Runtime support code --- */ +/* Refnanny */ +#if CYTHON_REFNANNY +static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) { + PyObject *m = NULL, *p = NULL; + void *r = NULL; + m = PyImport_ImportModule(modname); + if (!m) goto end; + p = PyObject_GetAttrString(m, "RefNannyAPI"); + if (!p) goto end; + r = PyLong_AsVoidPtr(p); +end: + Py_XDECREF(p); + Py_XDECREF(m); + return (__Pyx_RefNannyAPIStruct *)r; +} +#endif + +/* PyObjectGetAttrStr */ +#if CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) { + PyTypeObject* tp = Py_TYPE(obj); + if (likely(tp->tp_getattro)) + return tp->tp_getattro(obj, attr_name); +#if PY_MAJOR_VERSION < 3 + if (likely(tp->tp_getattr)) + return tp->tp_getattr(obj, PyString_AS_STRING(attr_name)); +#endif + return PyObject_GetAttr(obj, attr_name); +} +#endif + +/* GetBuiltinName */ +static PyObject *__Pyx_GetBuiltinName(PyObject *name) { + PyObject* result = __Pyx_PyObject_GetAttrStr(__pyx_b, name); + if (unlikely(!result)) { + PyErr_Format(PyExc_NameError, +#if PY_MAJOR_VERSION >= 3 + "name '%U' is not defined", name); +#else + "name '%.200s' is not defined", PyString_AS_STRING(name)); +#endif + } + return result; +} + +/* PyDictVersioning */ +#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj) { + PyObject *dict = Py_TYPE(obj)->tp_dict; + return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0; +} +static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj) { + PyObject **dictptr = NULL; + Py_ssize_t offset = Py_TYPE(obj)->tp_dictoffset; + if (offset) { +#if CYTHON_COMPILING_IN_CPYTHON + dictptr = (likely(offset > 0)) ? (PyObject **) ((char *)obj + offset) : _PyObject_GetDictPtr(obj); +#else + dictptr = _PyObject_GetDictPtr(obj); +#endif + } + return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0; +} +static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version) { + PyObject *dict = Py_TYPE(obj)->tp_dict; + if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict))) + return 0; + return obj_dict_version == __Pyx_get_object_dict_version(obj); +} +#endif + +/* GetModuleGlobalName */ +#if CYTHON_USE_DICT_VERSIONS +static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value) +#else +static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name) +#endif +{ + PyObject *result; +#if !CYTHON_AVOID_BORROWED_REFS +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 + result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash); + __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) + if (likely(result)) { + return __Pyx_NewRef(result); + } else if (unlikely(PyErr_Occurred())) { + return NULL; + } +#else + result = PyDict_GetItem(__pyx_d, name); + __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) + if (likely(result)) { + return __Pyx_NewRef(result); + } +#endif +#else + result = PyObject_GetItem(__pyx_d, name); + __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) + if (likely(result)) { + return __Pyx_NewRef(result); + } + PyErr_Clear(); +#endif + return __Pyx_GetBuiltinName(name); +} + +/* PyFunctionFastCall */ +#if CYTHON_FAST_PYCALL +static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na, + PyObject *globals) { + PyFrameObject *f; + PyThreadState *tstate = __Pyx_PyThreadState_Current; + PyObject **fastlocals; + Py_ssize_t i; + PyObject *result; + assert(globals != NULL); + /* XXX Perhaps we should create a specialized + PyFrame_New() that doesn't take locals, but does + take builtins without sanity checking them. + */ + assert(tstate != NULL); + f = PyFrame_New(tstate, co, globals, NULL); + if (f == NULL) { + return NULL; + } + fastlocals = __Pyx_PyFrame_GetLocalsplus(f); + for (i = 0; i < na; i++) { + Py_INCREF(*args); + fastlocals[i] = *args++; + } + result = PyEval_EvalFrameEx(f,0); + ++tstate->recursion_depth; + Py_DECREF(f); + --tstate->recursion_depth; + return result; +} +#if 1 || PY_VERSION_HEX < 0x030600B1 +static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs) { + PyCodeObject *co = (PyCodeObject *)PyFunction_GET_CODE(func); + PyObject *globals = PyFunction_GET_GLOBALS(func); + PyObject *argdefs = PyFunction_GET_DEFAULTS(func); + PyObject *closure; +#if PY_MAJOR_VERSION >= 3 + PyObject *kwdefs; +#endif + PyObject *kwtuple, **k; + PyObject **d; + Py_ssize_t nd; + Py_ssize_t nk; + PyObject *result; + assert(kwargs == NULL || PyDict_Check(kwargs)); + nk = kwargs ? PyDict_Size(kwargs) : 0; + if (Py_EnterRecursiveCall((char*)" while calling a Python object")) { + return NULL; + } + if ( +#if PY_MAJOR_VERSION >= 3 + co->co_kwonlyargcount == 0 && +#endif + likely(kwargs == NULL || nk == 0) && + co->co_flags == (CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE)) { + if (argdefs == NULL && co->co_argcount == nargs) { + result = __Pyx_PyFunction_FastCallNoKw(co, args, nargs, globals); + goto done; + } + else if (nargs == 0 && argdefs != NULL + && co->co_argcount == Py_SIZE(argdefs)) { + /* function called with no arguments, but all parameters have + a default value: use default values as arguments .*/ + args = &PyTuple_GET_ITEM(argdefs, 0); + result =__Pyx_PyFunction_FastCallNoKw(co, args, Py_SIZE(argdefs), globals); + goto done; + } + } + if (kwargs != NULL) { + Py_ssize_t pos, i; + kwtuple = PyTuple_New(2 * nk); + if (kwtuple == NULL) { + result = NULL; + goto done; + } + k = &PyTuple_GET_ITEM(kwtuple, 0); + pos = i = 0; + while (PyDict_Next(kwargs, &pos, &k[i], &k[i+1])) { + Py_INCREF(k[i]); + Py_INCREF(k[i+1]); + i += 2; + } + nk = i / 2; + } + else { + kwtuple = NULL; + k = NULL; + } + closure = PyFunction_GET_CLOSURE(func); +#if PY_MAJOR_VERSION >= 3 + kwdefs = PyFunction_GET_KW_DEFAULTS(func); +#endif + if (argdefs != NULL) { + d = &PyTuple_GET_ITEM(argdefs, 0); + nd = Py_SIZE(argdefs); + } + else { + d = NULL; + nd = 0; + } +#if PY_MAJOR_VERSION >= 3 + result = PyEval_EvalCodeEx((PyObject*)co, globals, (PyObject *)NULL, + args, (int)nargs, + k, (int)nk, + d, (int)nd, kwdefs, closure); +#else + result = PyEval_EvalCodeEx(co, globals, (PyObject *)NULL, + args, (int)nargs, + k, (int)nk, + d, (int)nd, closure); +#endif + Py_XDECREF(kwtuple); +done: + Py_LeaveRecursiveCall(); + return result; +} +#endif +#endif + +/* PyObjectCall */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) { + PyObject *result; + ternaryfunc call = Py_TYPE(func)->tp_call; + if (unlikely(!call)) + return PyObject_Call(func, arg, kw); + if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) + return NULL; + result = (*call)(func, arg, kw); + Py_LeaveRecursiveCall(); + if (unlikely(!result) && unlikely(!PyErr_Occurred())) { + PyErr_SetString( + PyExc_SystemError, + "NULL result without error in PyObject_Call"); + } + return result; +} +#endif + +/* PyObjectCallMethO */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) { + PyObject *self, *result; + PyCFunction cfunc; + cfunc = PyCFunction_GET_FUNCTION(func); + self = PyCFunction_GET_SELF(func); + if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) + return NULL; + result = cfunc(self, arg); + Py_LeaveRecursiveCall(); + if (unlikely(!result) && unlikely(!PyErr_Occurred())) { + PyErr_SetString( + PyExc_SystemError, + "NULL result without error in PyObject_Call"); + } + return result; +} +#endif + +/* PyObjectCallNoArg */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) { +#if CYTHON_FAST_PYCALL + if (PyFunction_Check(func)) { + return __Pyx_PyFunction_FastCall(func, NULL, 0); + } +#endif +#ifdef __Pyx_CyFunction_USED + if (likely(PyCFunction_Check(func) || __Pyx_CyFunction_Check(func))) +#else + if (likely(PyCFunction_Check(func))) +#endif + { + if (likely(PyCFunction_GET_FLAGS(func) & METH_NOARGS)) { + return __Pyx_PyObject_CallMethO(func, NULL); + } + } + return __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL); +} +#endif + +/* PyCFunctionFastCall */ +#if CYTHON_FAST_PYCCALL +static CYTHON_INLINE PyObject * __Pyx_PyCFunction_FastCall(PyObject *func_obj, PyObject **args, Py_ssize_t nargs) { + PyCFunctionObject *func = (PyCFunctionObject*)func_obj; + PyCFunction meth = PyCFunction_GET_FUNCTION(func); + PyObject *self = PyCFunction_GET_SELF(func); + int flags = PyCFunction_GET_FLAGS(func); + assert(PyCFunction_Check(func)); + assert(METH_FASTCALL == (flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS))); + assert(nargs >= 0); + assert(nargs == 0 || args != NULL); + /* _PyCFunction_FastCallDict() must not be called with an exception set, + because it may clear it (directly or indirectly) and so the + caller loses its exception */ + assert(!PyErr_Occurred()); + if ((PY_VERSION_HEX < 0x030700A0) || unlikely(flags & METH_KEYWORDS)) { + return (*((__Pyx_PyCFunctionFastWithKeywords)(void*)meth)) (self, args, nargs, NULL); + } else { + return (*((__Pyx_PyCFunctionFast)(void*)meth)) (self, args, nargs); + } +} +#endif + +/* PyObjectCallOneArg */ +#if CYTHON_COMPILING_IN_CPYTHON +static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) { + PyObject *result; + PyObject *args = PyTuple_New(1); + if (unlikely(!args)) return NULL; + Py_INCREF(arg); + PyTuple_SET_ITEM(args, 0, arg); + result = __Pyx_PyObject_Call(func, args, NULL); + Py_DECREF(args); + return result; +} +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { +#if CYTHON_FAST_PYCALL + if (PyFunction_Check(func)) { + return __Pyx_PyFunction_FastCall(func, &arg, 1); + } +#endif + if (likely(PyCFunction_Check(func))) { + if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) { + return __Pyx_PyObject_CallMethO(func, arg); +#if CYTHON_FAST_PYCCALL + } else if (__Pyx_PyFastCFunction_Check(func)) { + return __Pyx_PyCFunction_FastCall(func, &arg, 1); +#endif + } + } + return __Pyx__PyObject_CallOneArg(func, arg); +} +#else +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { + PyObject *result; + PyObject *args = PyTuple_Pack(1, arg); + if (unlikely(!args)) return NULL; + result = __Pyx_PyObject_Call(func, args, NULL); + Py_DECREF(args); + return result; +} +#endif + +/* PyObjectCall2Args */ +static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) { + PyObject *args, *result = NULL; + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(function)) { + PyObject *args[2] = {arg1, arg2}; + return __Pyx_PyFunction_FastCall(function, args, 2); + } + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(function)) { + PyObject *args[2] = {arg1, arg2}; + return __Pyx_PyCFunction_FastCall(function, args, 2); + } + #endif + args = PyTuple_New(2); + if (unlikely(!args)) goto done; + Py_INCREF(arg1); + PyTuple_SET_ITEM(args, 0, arg1); + Py_INCREF(arg2); + PyTuple_SET_ITEM(args, 1, arg2); + Py_INCREF(function); + result = __Pyx_PyObject_Call(function, args, NULL); + Py_DECREF(args); + Py_DECREF(function); +done: + return result; +} + +/* PyIntBinop */ +#if !CYTHON_COMPILING_IN_PYPY +static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, int inplace, int zerodivision_check) { + (void)inplace; + (void)zerodivision_check; + #if PY_MAJOR_VERSION < 3 + if (likely(PyInt_CheckExact(op1))) { + const long b = intval; + long x; + long a = PyInt_AS_LONG(op1); + x = (long)((unsigned long)a + b); + if (likely((x^a) >= 0 || (x^b) >= 0)) + return PyInt_FromLong(x); + return PyLong_Type.tp_as_number->nb_add(op1, op2); + } + #endif + #if CYTHON_USE_PYLONG_INTERNALS + if (likely(PyLong_CheckExact(op1))) { + const long b = intval; + long a, x; +#ifdef HAVE_LONG_LONG + const PY_LONG_LONG llb = intval; + PY_LONG_LONG lla, llx; +#endif + const digit* digits = ((PyLongObject*)op1)->ob_digit; + const Py_ssize_t size = Py_SIZE(op1); + if (likely(__Pyx_sst_abs(size) <= 1)) { + a = likely(size) ? digits[0] : 0; + if (size == -1) a = -a; + } else { + switch (size) { + case -2: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + a = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { + lla = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 2: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { + lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case -3: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + a = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { + lla = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 3: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { + lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case -4: + if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + a = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { + lla = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 4: + if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { + lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + default: return PyLong_Type.tp_as_number->nb_add(op1, op2); + } + } + x = a + b; + return PyLong_FromLong(x); +#ifdef HAVE_LONG_LONG + long_long: + llx = lla + llb; + return PyLong_FromLongLong(llx); +#endif + + + } + #endif + if (PyFloat_CheckExact(op1)) { + const long b = intval; + double a = PyFloat_AS_DOUBLE(op1); + double result; + PyFPE_START_PROTECT("add", return NULL) + result = ((double)a) + (double)b; + PyFPE_END_PROTECT(result) + return PyFloat_FromDouble(result); + } + return (inplace ? PyNumber_InPlaceAdd : PyNumber_Add)(op1, op2); +} +#endif + +/* SliceObject */ +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice(PyObject* obj, + Py_ssize_t cstart, Py_ssize_t cstop, + PyObject** _py_start, PyObject** _py_stop, PyObject** _py_slice, + int has_cstart, int has_cstop, CYTHON_UNUSED int wraparound) { +#if CYTHON_USE_TYPE_SLOTS + PyMappingMethods* mp; +#if PY_MAJOR_VERSION < 3 + PySequenceMethods* ms = Py_TYPE(obj)->tp_as_sequence; + if (likely(ms && ms->sq_slice)) { + if (!has_cstart) { + if (_py_start && (*_py_start != Py_None)) { + cstart = __Pyx_PyIndex_AsSsize_t(*_py_start); + if ((cstart == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad; + } else + cstart = 0; + } + if (!has_cstop) { + if (_py_stop && (*_py_stop != Py_None)) { + cstop = __Pyx_PyIndex_AsSsize_t(*_py_stop); + if ((cstop == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad; + } else + cstop = PY_SSIZE_T_MAX; + } + if (wraparound && unlikely((cstart < 0) | (cstop < 0)) && likely(ms->sq_length)) { + Py_ssize_t l = ms->sq_length(obj); + if (likely(l >= 0)) { + if (cstop < 0) { + cstop += l; + if (cstop < 0) cstop = 0; + } + if (cstart < 0) { + cstart += l; + if (cstart < 0) cstart = 0; + } + } else { + if (!PyErr_ExceptionMatches(PyExc_OverflowError)) + goto bad; + PyErr_Clear(); + } + } + return ms->sq_slice(obj, cstart, cstop); + } +#endif + mp = Py_TYPE(obj)->tp_as_mapping; + if (likely(mp && mp->mp_subscript)) +#endif + { + PyObject* result; + PyObject *py_slice, *py_start, *py_stop; + if (_py_slice) { + py_slice = *_py_slice; + } else { + PyObject* owned_start = NULL; + PyObject* owned_stop = NULL; + if (_py_start) { + py_start = *_py_start; + } else { + if (has_cstart) { + owned_start = py_start = PyInt_FromSsize_t(cstart); + if (unlikely(!py_start)) goto bad; + } else + py_start = Py_None; + } + if (_py_stop) { + py_stop = *_py_stop; + } else { + if (has_cstop) { + owned_stop = py_stop = PyInt_FromSsize_t(cstop); + if (unlikely(!py_stop)) { + Py_XDECREF(owned_start); + goto bad; + } + } else + py_stop = Py_None; + } + py_slice = PySlice_New(py_start, py_stop, Py_None); + Py_XDECREF(owned_start); + Py_XDECREF(owned_stop); + if (unlikely(!py_slice)) goto bad; + } +#if CYTHON_USE_TYPE_SLOTS + result = mp->mp_subscript(obj, py_slice); +#else + result = PyObject_GetItem(obj, py_slice); +#endif + if (!_py_slice) { + Py_DECREF(py_slice); + } + return result; + } + PyErr_Format(PyExc_TypeError, + "'%.200s' object is unsliceable", Py_TYPE(obj)->tp_name); +bad: + return NULL; +} + +/* BytesEquals */ +static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals) { +#if CYTHON_COMPILING_IN_PYPY + return PyObject_RichCompareBool(s1, s2, equals); +#else + if (s1 == s2) { + return (equals == Py_EQ); + } else if (PyBytes_CheckExact(s1) & PyBytes_CheckExact(s2)) { + const char *ps1, *ps2; + Py_ssize_t length = PyBytes_GET_SIZE(s1); + if (length != PyBytes_GET_SIZE(s2)) + return (equals == Py_NE); + ps1 = PyBytes_AS_STRING(s1); + ps2 = PyBytes_AS_STRING(s2); + if (ps1[0] != ps2[0]) { + return (equals == Py_NE); + } else if (length == 1) { + return (equals == Py_EQ); + } else { + int result; +#if CYTHON_USE_UNICODE_INTERNALS && (PY_VERSION_HEX < 0x030B0000) + Py_hash_t hash1, hash2; + hash1 = ((PyBytesObject*)s1)->ob_shash; + hash2 = ((PyBytesObject*)s2)->ob_shash; + if (hash1 != hash2 && hash1 != -1 && hash2 != -1) { + return (equals == Py_NE); + } +#endif + result = memcmp(ps1, ps2, (size_t)length); + return (equals == Py_EQ) ? (result == 0) : (result != 0); + } + } else if ((s1 == Py_None) & PyBytes_CheckExact(s2)) { + return (equals == Py_NE); + } else if ((s2 == Py_None) & PyBytes_CheckExact(s1)) { + return (equals == Py_NE); + } else { + int result; + PyObject* py_result = PyObject_RichCompare(s1, s2, equals); + if (!py_result) + return -1; + result = __Pyx_PyObject_IsTrue(py_result); + Py_DECREF(py_result); + return result; + } +#endif +} + +/* UnicodeEquals */ +static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals) { +#if CYTHON_COMPILING_IN_PYPY + return PyObject_RichCompareBool(s1, s2, equals); +#else +#if PY_MAJOR_VERSION < 3 + PyObject* owned_ref = NULL; +#endif + int s1_is_unicode, s2_is_unicode; + if (s1 == s2) { + goto return_eq; + } + s1_is_unicode = PyUnicode_CheckExact(s1); + s2_is_unicode = PyUnicode_CheckExact(s2); +#if PY_MAJOR_VERSION < 3 + if ((s1_is_unicode & (!s2_is_unicode)) && PyString_CheckExact(s2)) { + owned_ref = PyUnicode_FromObject(s2); + if (unlikely(!owned_ref)) + return -1; + s2 = owned_ref; + s2_is_unicode = 1; + } else if ((s2_is_unicode & (!s1_is_unicode)) && PyString_CheckExact(s1)) { + owned_ref = PyUnicode_FromObject(s1); + if (unlikely(!owned_ref)) + return -1; + s1 = owned_ref; + s1_is_unicode = 1; + } else if (((!s2_is_unicode) & (!s1_is_unicode))) { + return __Pyx_PyBytes_Equals(s1, s2, equals); + } +#endif + if (s1_is_unicode & s2_is_unicode) { + Py_ssize_t length; + int kind; + void *data1, *data2; + if (unlikely(__Pyx_PyUnicode_READY(s1) < 0) || unlikely(__Pyx_PyUnicode_READY(s2) < 0)) + return -1; + length = __Pyx_PyUnicode_GET_LENGTH(s1); + if (length != __Pyx_PyUnicode_GET_LENGTH(s2)) { + goto return_ne; + } +#if CYTHON_USE_UNICODE_INTERNALS + { + Py_hash_t hash1, hash2; + #if CYTHON_PEP393_ENABLED + hash1 = ((PyASCIIObject*)s1)->hash; + hash2 = ((PyASCIIObject*)s2)->hash; + #else + hash1 = ((PyUnicodeObject*)s1)->hash; + hash2 = ((PyUnicodeObject*)s2)->hash; + #endif + if (hash1 != hash2 && hash1 != -1 && hash2 != -1) { + goto return_ne; + } + } +#endif + kind = __Pyx_PyUnicode_KIND(s1); + if (kind != __Pyx_PyUnicode_KIND(s2)) { + goto return_ne; + } + data1 = __Pyx_PyUnicode_DATA(s1); + data2 = __Pyx_PyUnicode_DATA(s2); + if (__Pyx_PyUnicode_READ(kind, data1, 0) != __Pyx_PyUnicode_READ(kind, data2, 0)) { + goto return_ne; + } else if (length == 1) { + goto return_eq; + } else { + int result = memcmp(data1, data2, (size_t)(length * kind)); + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(owned_ref); + #endif + return (equals == Py_EQ) ? (result == 0) : (result != 0); + } + } else if ((s1 == Py_None) & s2_is_unicode) { + goto return_ne; + } else if ((s2 == Py_None) & s1_is_unicode) { + goto return_ne; + } else { + int result; + PyObject* py_result = PyObject_RichCompare(s1, s2, equals); + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(owned_ref); + #endif + if (!py_result) + return -1; + result = __Pyx_PyObject_IsTrue(py_result); + Py_DECREF(py_result); + return result; + } +return_eq: + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(owned_ref); + #endif + return (equals == Py_EQ); +return_ne: + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(owned_ref); + #endif + return (equals == Py_NE); +#endif +} + +/* PyErrExceptionMatches */ +#if CYTHON_FAST_THREAD_STATE +static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { + Py_ssize_t i, n; + n = PyTuple_GET_SIZE(tuple); +#if PY_MAJOR_VERSION >= 3 + for (i=0; icurexc_type; + if (exc_type == err) return 1; + if (unlikely(!exc_type)) return 0; + if (unlikely(PyTuple_Check(err))) + return __Pyx_PyErr_ExceptionMatchesTuple(exc_type, err); + return __Pyx_PyErr_GivenExceptionMatches(exc_type, err); +} +#endif + +/* PyErrFetchRestore */ +#if CYTHON_FAST_THREAD_STATE +static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + tmp_type = tstate->curexc_type; + tmp_value = tstate->curexc_value; + tmp_tb = tstate->curexc_traceback; + tstate->curexc_type = type; + tstate->curexc_value = value; + tstate->curexc_traceback = tb; + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +} +static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { + *type = tstate->curexc_type; + *value = tstate->curexc_value; + *tb = tstate->curexc_traceback; + tstate->curexc_type = 0; + tstate->curexc_value = 0; + tstate->curexc_traceback = 0; +} +#endif + +/* GetAttr */ +static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *o, PyObject *n) { +#if CYTHON_USE_TYPE_SLOTS +#if PY_MAJOR_VERSION >= 3 + if (likely(PyUnicode_Check(n))) +#else + if (likely(PyString_Check(n))) +#endif + return __Pyx_PyObject_GetAttrStr(o, n); +#endif + return PyObject_GetAttr(o, n); +} + +/* GetAttr3 */ +static PyObject *__Pyx_GetAttr3Default(PyObject *d) { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + if (unlikely(!__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError))) + return NULL; + __Pyx_PyErr_Clear(); + Py_INCREF(d); + return d; +} +static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *o, PyObject *n, PyObject *d) { + PyObject *r = __Pyx_GetAttr(o, n); + return (likely(r)) ? r : __Pyx_GetAttr3Default(d); +} + +/* RaiseException */ +#if PY_MAJOR_VERSION < 3 +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, + CYTHON_UNUSED PyObject *cause) { + __Pyx_PyThreadState_declare + Py_XINCREF(type); + if (!value || value == Py_None) + value = NULL; + else + Py_INCREF(value); + if (!tb || tb == Py_None) + tb = NULL; + else { + Py_INCREF(tb); + if (!PyTraceBack_Check(tb)) { + PyErr_SetString(PyExc_TypeError, + "raise: arg 3 must be a traceback or None"); + goto raise_error; + } + } + if (PyType_Check(type)) { +#if CYTHON_COMPILING_IN_PYPY + if (!value) { + Py_INCREF(Py_None); + value = Py_None; + } +#endif + PyErr_NormalizeException(&type, &value, &tb); + } else { + if (value) { + PyErr_SetString(PyExc_TypeError, + "instance exception may not have a separate value"); + goto raise_error; + } + value = type; + type = (PyObject*) Py_TYPE(type); + Py_INCREF(type); + if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) { + PyErr_SetString(PyExc_TypeError, + "raise: exception class must be a subclass of BaseException"); + goto raise_error; + } + } + __Pyx_PyThreadState_assign + __Pyx_ErrRestore(type, value, tb); + return; +raise_error: + Py_XDECREF(value); + Py_XDECREF(type); + Py_XDECREF(tb); + return; +} +#else +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { + PyObject* owned_instance = NULL; + if (tb == Py_None) { + tb = 0; + } else if (tb && !PyTraceBack_Check(tb)) { + PyErr_SetString(PyExc_TypeError, + "raise: arg 3 must be a traceback or None"); + goto bad; + } + if (value == Py_None) + value = 0; + if (PyExceptionInstance_Check(type)) { + if (value) { + PyErr_SetString(PyExc_TypeError, + "instance exception may not have a separate value"); + goto bad; + } + value = type; + type = (PyObject*) Py_TYPE(value); + } else if (PyExceptionClass_Check(type)) { + PyObject *instance_class = NULL; + if (value && PyExceptionInstance_Check(value)) { + instance_class = (PyObject*) Py_TYPE(value); + if (instance_class != type) { + int is_subclass = PyObject_IsSubclass(instance_class, type); + if (!is_subclass) { + instance_class = NULL; + } else if (unlikely(is_subclass == -1)) { + goto bad; + } else { + type = instance_class; + } + } + } + if (!instance_class) { + PyObject *args; + if (!value) + args = PyTuple_New(0); + else if (PyTuple_Check(value)) { + Py_INCREF(value); + args = value; + } else + args = PyTuple_Pack(1, value); + if (!args) + goto bad; + owned_instance = PyObject_Call(type, args, NULL); + Py_DECREF(args); + if (!owned_instance) + goto bad; + value = owned_instance; + if (!PyExceptionInstance_Check(value)) { + PyErr_Format(PyExc_TypeError, + "calling %R should have returned an instance of " + "BaseException, not %R", + type, Py_TYPE(value)); + goto bad; + } + } + } else { + PyErr_SetString(PyExc_TypeError, + "raise: exception class must be a subclass of BaseException"); + goto bad; + } + if (cause) { + PyObject *fixed_cause; + if (cause == Py_None) { + fixed_cause = NULL; + } else if (PyExceptionClass_Check(cause)) { + fixed_cause = PyObject_CallObject(cause, NULL); + if (fixed_cause == NULL) + goto bad; + } else if (PyExceptionInstance_Check(cause)) { + fixed_cause = cause; + Py_INCREF(fixed_cause); + } else { + PyErr_SetString(PyExc_TypeError, + "exception causes must derive from " + "BaseException"); + goto bad; + } + PyException_SetCause(value, fixed_cause); + } + PyErr_SetObject(type, value); + if (tb) { +#if CYTHON_COMPILING_IN_PYPY + PyObject *tmp_type, *tmp_value, *tmp_tb; + PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb); + Py_INCREF(tb); + PyErr_Restore(tmp_type, tmp_value, tb); + Py_XDECREF(tmp_tb); +#else + PyThreadState *tstate = __Pyx_PyThreadState_Current; + PyObject* tmp_tb = tstate->curexc_traceback; + if (tb != tmp_tb) { + Py_INCREF(tb); + tstate->curexc_traceback = tb; + Py_XDECREF(tmp_tb); + } +#endif + } +bad: + Py_XDECREF(owned_instance); + return; +} +#endif + +/* GetTopmostException */ +#if CYTHON_USE_EXC_INFO_STACK +static _PyErr_StackItem * +__Pyx_PyErr_GetTopmostException(PyThreadState *tstate) +{ + _PyErr_StackItem *exc_info = tstate->exc_info; + while ((exc_info->exc_type == NULL || exc_info->exc_type == Py_None) && + exc_info->previous_item != NULL) + { + exc_info = exc_info->previous_item; + } + return exc_info; +} +#endif + +/* SaveResetException */ +#if CYTHON_FAST_THREAD_STATE +static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { + #if CYTHON_USE_EXC_INFO_STACK + _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate); + *type = exc_info->exc_type; + *value = exc_info->exc_value; + *tb = exc_info->exc_traceback; + #else + *type = tstate->exc_type; + *value = tstate->exc_value; + *tb = tstate->exc_traceback; + #endif + Py_XINCREF(*type); + Py_XINCREF(*value); + Py_XINCREF(*tb); +} +static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + #if CYTHON_USE_EXC_INFO_STACK + _PyErr_StackItem *exc_info = tstate->exc_info; + tmp_type = exc_info->exc_type; + tmp_value = exc_info->exc_value; + tmp_tb = exc_info->exc_traceback; + exc_info->exc_type = type; + exc_info->exc_value = value; + exc_info->exc_traceback = tb; + #else + tmp_type = tstate->exc_type; + tmp_value = tstate->exc_value; + tmp_tb = tstate->exc_traceback; + tstate->exc_type = type; + tstate->exc_value = value; + tstate->exc_traceback = tb; + #endif + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +} +#endif + +/* GetException */ +#if CYTHON_FAST_THREAD_STATE +static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) +#else +static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) +#endif +{ + PyObject *local_type, *local_value, *local_tb; +#if CYTHON_FAST_THREAD_STATE + PyObject *tmp_type, *tmp_value, *tmp_tb; + local_type = tstate->curexc_type; + local_value = tstate->curexc_value; + local_tb = tstate->curexc_traceback; + tstate->curexc_type = 0; + tstate->curexc_value = 0; + tstate->curexc_traceback = 0; +#else + PyErr_Fetch(&local_type, &local_value, &local_tb); +#endif + PyErr_NormalizeException(&local_type, &local_value, &local_tb); +#if CYTHON_FAST_THREAD_STATE + if (unlikely(tstate->curexc_type)) +#else + if (unlikely(PyErr_Occurred())) +#endif + goto bad; + #if PY_MAJOR_VERSION >= 3 + if (local_tb) { + if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0)) + goto bad; + } + #endif + Py_XINCREF(local_tb); + Py_XINCREF(local_type); + Py_XINCREF(local_value); + *type = local_type; + *value = local_value; + *tb = local_tb; +#if CYTHON_FAST_THREAD_STATE + #if CYTHON_USE_EXC_INFO_STACK + { + _PyErr_StackItem *exc_info = tstate->exc_info; + tmp_type = exc_info->exc_type; + tmp_value = exc_info->exc_value; + tmp_tb = exc_info->exc_traceback; + exc_info->exc_type = local_type; + exc_info->exc_value = local_value; + exc_info->exc_traceback = local_tb; + } + #else + tmp_type = tstate->exc_type; + tmp_value = tstate->exc_value; + tmp_tb = tstate->exc_traceback; + tstate->exc_type = local_type; + tstate->exc_value = local_value; + tstate->exc_traceback = local_tb; + #endif + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +#else + PyErr_SetExcInfo(local_type, local_value, local_tb); +#endif + return 0; +bad: + *type = 0; + *value = 0; + *tb = 0; + Py_XDECREF(local_type); + Py_XDECREF(local_value); + Py_XDECREF(local_tb); + return -1; +} + +/* PyObjectSetAttrStr */ +#if CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value) { + PyTypeObject* tp = Py_TYPE(obj); + if (likely(tp->tp_setattro)) + return tp->tp_setattro(obj, attr_name, value); +#if PY_MAJOR_VERSION < 3 + if (likely(tp->tp_setattr)) + return tp->tp_setattr(obj, PyString_AS_STRING(attr_name), value); +#endif + return PyObject_SetAttr(obj, attr_name, value); +} +#endif + +/* None */ +static CYTHON_INLINE void __Pyx_RaiseUnboundLocalError(const char *varname) { + PyErr_Format(PyExc_UnboundLocalError, "local variable '%s' referenced before assignment", varname); +} + +/* ExtTypeTest */ +static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) { + if (unlikely(!type)) { + PyErr_SetString(PyExc_SystemError, "Missing type object"); + return 0; + } + if (likely(__Pyx_TypeCheck(obj, type))) + return 1; + PyErr_Format(PyExc_TypeError, "Cannot convert %.200s to %.200s", + Py_TYPE(obj)->tp_name, type->tp_name); + return 0; +} + +/* SwapException */ +#if CYTHON_FAST_THREAD_STATE +static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + #if CYTHON_USE_EXC_INFO_STACK + _PyErr_StackItem *exc_info = tstate->exc_info; + tmp_type = exc_info->exc_type; + tmp_value = exc_info->exc_value; + tmp_tb = exc_info->exc_traceback; + exc_info->exc_type = *type; + exc_info->exc_value = *value; + exc_info->exc_traceback = *tb; + #else + tmp_type = tstate->exc_type; + tmp_value = tstate->exc_value; + tmp_tb = tstate->exc_traceback; + tstate->exc_type = *type; + tstate->exc_value = *value; + tstate->exc_traceback = *tb; + #endif + *type = tmp_type; + *value = tmp_value; + *tb = tmp_tb; +} +#else +static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + PyErr_GetExcInfo(&tmp_type, &tmp_value, &tmp_tb); + PyErr_SetExcInfo(*type, *value, *tb); + *type = tmp_type; + *value = tmp_value; + *tb = tmp_tb; +} +#endif + +/* RaiseArgTupleInvalid */ +static void __Pyx_RaiseArgtupleInvalid( + const char* func_name, + int exact, + Py_ssize_t num_min, + Py_ssize_t num_max, + Py_ssize_t num_found) +{ + Py_ssize_t num_expected; + const char *more_or_less; + if (num_found < num_min) { + num_expected = num_min; + more_or_less = "at least"; + } else { + num_expected = num_max; + more_or_less = "at most"; + } + if (exact) { + more_or_less = "exactly"; + } + PyErr_Format(PyExc_TypeError, + "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)", + func_name, more_or_less, num_expected, + (num_expected == 1) ? "" : "s", num_found); +} + +/* KeywordStringCheck */ +static int __Pyx_CheckKeywordStrings( + PyObject *kwdict, + const char* function_name, + int kw_allowed) +{ + PyObject* key = 0; + Py_ssize_t pos = 0; +#if CYTHON_COMPILING_IN_PYPY + if (!kw_allowed && PyDict_Next(kwdict, &pos, &key, 0)) + goto invalid_keyword; + return 1; +#else + while (PyDict_Next(kwdict, &pos, &key, 0)) { + #if PY_MAJOR_VERSION < 3 + if (unlikely(!PyString_Check(key))) + #endif + if (unlikely(!PyUnicode_Check(key))) + goto invalid_keyword_type; + } + if ((!kw_allowed) && unlikely(key)) + goto invalid_keyword; + return 1; +invalid_keyword_type: + PyErr_Format(PyExc_TypeError, + "%.200s() keywords must be strings", function_name); + return 0; +#endif +invalid_keyword: + PyErr_Format(PyExc_TypeError, + #if PY_MAJOR_VERSION < 3 + "%.200s() got an unexpected keyword argument '%.200s'", + function_name, PyString_AsString(key)); + #else + "%s() got an unexpected keyword argument '%U'", + function_name, key); + #endif + return 0; +} + +/* RaiseDoubleKeywords */ +static void __Pyx_RaiseDoubleKeywordsError( + const char* func_name, + PyObject* kw_name) +{ + PyErr_Format(PyExc_TypeError, + #if PY_MAJOR_VERSION >= 3 + "%s() got multiple values for keyword argument '%U'", func_name, kw_name); + #else + "%s() got multiple values for keyword argument '%s'", func_name, + PyString_AsString(kw_name)); + #endif +} + +/* ParseKeywords */ +static int __Pyx_ParseOptionalKeywords( + PyObject *kwds, + PyObject **argnames[], + PyObject *kwds2, + PyObject *values[], + Py_ssize_t num_pos_args, + const char* function_name) +{ + PyObject *key = 0, *value = 0; + Py_ssize_t pos = 0; + PyObject*** name; + PyObject*** first_kw_arg = argnames + num_pos_args; + while (PyDict_Next(kwds, &pos, &key, &value)) { + name = first_kw_arg; + while (*name && (**name != key)) name++; + if (*name) { + values[name-argnames] = value; + continue; + } + name = first_kw_arg; + #if PY_MAJOR_VERSION < 3 + if (likely(PyString_Check(key))) { + while (*name) { + if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key)) + && _PyString_Eq(**name, key)) { + values[name-argnames] = value; + break; + } + name++; + } + if (*name) continue; + else { + PyObject*** argname = argnames; + while (argname != first_kw_arg) { + if ((**argname == key) || ( + (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key)) + && _PyString_Eq(**argname, key))) { + goto arg_passed_twice; + } + argname++; + } + } + } else + #endif + if (likely(PyUnicode_Check(key))) { + while (*name) { + int cmp = (**name == key) ? 0 : + #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 + (__Pyx_PyUnicode_GET_LENGTH(**name) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 : + #endif + PyUnicode_Compare(**name, key); + if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; + if (cmp == 0) { + values[name-argnames] = value; + break; + } + name++; + } + if (*name) continue; + else { + PyObject*** argname = argnames; + while (argname != first_kw_arg) { + int cmp = (**argname == key) ? 0 : + #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 + (__Pyx_PyUnicode_GET_LENGTH(**argname) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 : + #endif + PyUnicode_Compare(**argname, key); + if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; + if (cmp == 0) goto arg_passed_twice; + argname++; + } + } + } else + goto invalid_keyword_type; + if (kwds2) { + if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad; + } else { + goto invalid_keyword; + } + } + return 0; +arg_passed_twice: + __Pyx_RaiseDoubleKeywordsError(function_name, key); + goto bad; +invalid_keyword_type: + PyErr_Format(PyExc_TypeError, + "%.200s() keywords must be strings", function_name); + goto bad; +invalid_keyword: + PyErr_Format(PyExc_TypeError, + #if PY_MAJOR_VERSION < 3 + "%.200s() got an unexpected keyword argument '%.200s'", + function_name, PyString_AsString(key)); + #else + "%s() got an unexpected keyword argument '%U'", + function_name, key); + #endif +bad: + return -1; +} + +/* ArgTypeTest */ +static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact) +{ + if (unlikely(!type)) { + PyErr_SetString(PyExc_SystemError, "Missing type object"); + return 0; + } + else if (exact) { + #if PY_MAJOR_VERSION == 2 + if ((type == &PyBaseString_Type) && likely(__Pyx_PyBaseString_CheckExact(obj))) return 1; + #endif + } + else { + if (likely(__Pyx_TypeCheck(obj, type))) return 1; + } + PyErr_Format(PyExc_TypeError, + "Argument '%.200s' has incorrect type (expected %.200s, got %.200s)", + name, type->tp_name, Py_TYPE(obj)->tp_name); + return 0; +} + +/* DictGetItem */ +#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY +static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key) { + PyObject *value; + value = PyDict_GetItemWithError(d, key); + if (unlikely(!value)) { + if (!PyErr_Occurred()) { + if (unlikely(PyTuple_Check(key))) { + PyObject* args = PyTuple_Pack(1, key); + if (likely(args)) { + PyErr_SetObject(PyExc_KeyError, args); + Py_DECREF(args); + } + } else { + PyErr_SetObject(PyExc_KeyError, key); + } + } + return NULL; + } + Py_INCREF(value); + return value; +} +#endif + +/* GetItemInt */ +static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) { + PyObject *r; + if (!j) return NULL; + r = PyObject_GetItem(o, j); + Py_DECREF(j); + return r; +} +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, + CYTHON_NCP_UNUSED int wraparound, + CYTHON_NCP_UNUSED int boundscheck) { +#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + Py_ssize_t wrapped_i = i; + if (wraparound & unlikely(i < 0)) { + wrapped_i += PyList_GET_SIZE(o); + } + if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyList_GET_SIZE(o)))) { + PyObject *r = PyList_GET_ITEM(o, wrapped_i); + Py_INCREF(r); + return r; + } + return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); +#else + return PySequence_GetItem(o, i); +#endif +} +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, + CYTHON_NCP_UNUSED int wraparound, + CYTHON_NCP_UNUSED int boundscheck) { +#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + Py_ssize_t wrapped_i = i; + if (wraparound & unlikely(i < 0)) { + wrapped_i += PyTuple_GET_SIZE(o); + } + if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyTuple_GET_SIZE(o)))) { + PyObject *r = PyTuple_GET_ITEM(o, wrapped_i); + Py_INCREF(r); + return r; + } + return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); +#else + return PySequence_GetItem(o, i); +#endif +} +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list, + CYTHON_NCP_UNUSED int wraparound, + CYTHON_NCP_UNUSED int boundscheck) { +#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS + if (is_list || PyList_CheckExact(o)) { + Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o); + if ((!boundscheck) || (likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o))))) { + PyObject *r = PyList_GET_ITEM(o, n); + Py_INCREF(r); + return r; + } + } + else if (PyTuple_CheckExact(o)) { + Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o); + if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyTuple_GET_SIZE(o)))) { + PyObject *r = PyTuple_GET_ITEM(o, n); + Py_INCREF(r); + return r; + } + } else { + PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence; + if (likely(m && m->sq_item)) { + if (wraparound && unlikely(i < 0) && likely(m->sq_length)) { + Py_ssize_t l = m->sq_length(o); + if (likely(l >= 0)) { + i += l; + } else { + if (!PyErr_ExceptionMatches(PyExc_OverflowError)) + return NULL; + PyErr_Clear(); + } + } + return m->sq_item(o, i); + } + } +#else + if (is_list || PySequence_Check(o)) { + return PySequence_GetItem(o, i); + } +#endif + return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); +} + +/* RaiseTooManyValuesToUnpack */ +static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) { + PyErr_Format(PyExc_ValueError, + "too many values to unpack (expected %" CYTHON_FORMAT_SSIZE_T "d)", expected); +} + +/* RaiseNeedMoreValuesToUnpack */ +static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) { + PyErr_Format(PyExc_ValueError, + "need more than %" CYTHON_FORMAT_SSIZE_T "d value%.1s to unpack", + index, (index == 1) ? "" : "s"); +} + +/* IterFinish */ +static CYTHON_INLINE int __Pyx_IterFinish(void) { +#if CYTHON_FAST_THREAD_STATE + PyThreadState *tstate = __Pyx_PyThreadState_Current; + PyObject* exc_type = tstate->curexc_type; + if (unlikely(exc_type)) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) { + PyObject *exc_value, *exc_tb; + exc_value = tstate->curexc_value; + exc_tb = tstate->curexc_traceback; + tstate->curexc_type = 0; + tstate->curexc_value = 0; + tstate->curexc_traceback = 0; + Py_DECREF(exc_type); + Py_XDECREF(exc_value); + Py_XDECREF(exc_tb); + return 0; + } else { + return -1; + } + } + return 0; +#else + if (unlikely(PyErr_Occurred())) { + if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) { + PyErr_Clear(); + return 0; + } else { + return -1; + } + } + return 0; +#endif +} + +/* UnpackItemEndCheck */ +static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected) { + if (unlikely(retval)) { + Py_DECREF(retval); + __Pyx_RaiseTooManyValuesError(expected); + return -1; + } else { + return __Pyx_IterFinish(); + } + return 0; +} + +/* PyObjectGetMethod */ +static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method) { + PyObject *attr; +#if CYTHON_UNPACK_METHODS && CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_PYTYPE_LOOKUP + PyTypeObject *tp = Py_TYPE(obj); + PyObject *descr; + descrgetfunc f = NULL; + PyObject **dictptr, *dict; + int meth_found = 0; + assert (*method == NULL); + if (unlikely(tp->tp_getattro != PyObject_GenericGetAttr)) { + attr = __Pyx_PyObject_GetAttrStr(obj, name); + goto try_unpack; + } + if (unlikely(tp->tp_dict == NULL) && unlikely(PyType_Ready(tp) < 0)) { + return 0; + } + descr = _PyType_Lookup(tp, name); + if (likely(descr != NULL)) { + Py_INCREF(descr); +#if PY_MAJOR_VERSION >= 3 + #ifdef __Pyx_CyFunction_USED + if (likely(PyFunction_Check(descr) || (Py_TYPE(descr) == &PyMethodDescr_Type) || __Pyx_CyFunction_Check(descr))) + #else + if (likely(PyFunction_Check(descr) || (Py_TYPE(descr) == &PyMethodDescr_Type))) + #endif +#else + #ifdef __Pyx_CyFunction_USED + if (likely(PyFunction_Check(descr) || __Pyx_CyFunction_Check(descr))) + #else + if (likely(PyFunction_Check(descr))) + #endif +#endif + { + meth_found = 1; + } else { + f = Py_TYPE(descr)->tp_descr_get; + if (f != NULL && PyDescr_IsData(descr)) { + attr = f(descr, obj, (PyObject *)Py_TYPE(obj)); + Py_DECREF(descr); + goto try_unpack; + } + } + } + dictptr = _PyObject_GetDictPtr(obj); + if (dictptr != NULL && (dict = *dictptr) != NULL) { + Py_INCREF(dict); + attr = __Pyx_PyDict_GetItemStr(dict, name); + if (attr != NULL) { + Py_INCREF(attr); + Py_DECREF(dict); + Py_XDECREF(descr); + goto try_unpack; + } + Py_DECREF(dict); + } + if (meth_found) { + *method = descr; + return 1; + } + if (f != NULL) { + attr = f(descr, obj, (PyObject *)Py_TYPE(obj)); + Py_DECREF(descr); + goto try_unpack; + } + if (descr != NULL) { + *method = descr; + return 0; + } + PyErr_Format(PyExc_AttributeError, +#if PY_MAJOR_VERSION >= 3 + "'%.50s' object has no attribute '%U'", + tp->tp_name, name); +#else + "'%.50s' object has no attribute '%.400s'", + tp->tp_name, PyString_AS_STRING(name)); +#endif + return 0; +#else + attr = __Pyx_PyObject_GetAttrStr(obj, name); + goto try_unpack; +#endif +try_unpack: +#if CYTHON_UNPACK_METHODS + if (likely(attr) && PyMethod_Check(attr) && likely(PyMethod_GET_SELF(attr) == obj)) { + PyObject *function = PyMethod_GET_FUNCTION(attr); + Py_INCREF(function); + Py_DECREF(attr); + *method = function; + return 1; + } +#endif + *method = attr; + return 0; +} + +/* PyObjectCallMethod0 */ +static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name) { + PyObject *method = NULL, *result = NULL; + int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method); + if (likely(is_method)) { + result = __Pyx_PyObject_CallOneArg(method, obj); + Py_DECREF(method); + return result; + } + if (unlikely(!method)) goto bad; + result = __Pyx_PyObject_CallNoArg(method); + Py_DECREF(method); +bad: + return result; +} + +/* RaiseNoneIterError */ +static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); +} + +/* UnpackTupleError */ +static void __Pyx_UnpackTupleError(PyObject *t, Py_ssize_t index) { + if (t == Py_None) { + __Pyx_RaiseNoneNotIterableError(); + } else if (PyTuple_GET_SIZE(t) < index) { + __Pyx_RaiseNeedMoreValuesError(PyTuple_GET_SIZE(t)); + } else { + __Pyx_RaiseTooManyValuesError(index); + } +} + +/* UnpackTuple2 */ +static CYTHON_INLINE int __Pyx_unpack_tuple2_exact( + PyObject* tuple, PyObject** pvalue1, PyObject** pvalue2, int decref_tuple) { + PyObject *value1 = NULL, *value2 = NULL; +#if CYTHON_COMPILING_IN_PYPY + value1 = PySequence_ITEM(tuple, 0); if (unlikely(!value1)) goto bad; + value2 = PySequence_ITEM(tuple, 1); if (unlikely(!value2)) goto bad; +#else + value1 = PyTuple_GET_ITEM(tuple, 0); Py_INCREF(value1); + value2 = PyTuple_GET_ITEM(tuple, 1); Py_INCREF(value2); +#endif + if (decref_tuple) { + Py_DECREF(tuple); + } + *pvalue1 = value1; + *pvalue2 = value2; + return 0; +#if CYTHON_COMPILING_IN_PYPY +bad: + Py_XDECREF(value1); + Py_XDECREF(value2); + if (decref_tuple) { Py_XDECREF(tuple); } + return -1; +#endif +} +static int __Pyx_unpack_tuple2_generic(PyObject* tuple, PyObject** pvalue1, PyObject** pvalue2, + int has_known_size, int decref_tuple) { + Py_ssize_t index; + PyObject *value1 = NULL, *value2 = NULL, *iter = NULL; + iternextfunc iternext; + iter = PyObject_GetIter(tuple); + if (unlikely(!iter)) goto bad; + if (decref_tuple) { Py_DECREF(tuple); tuple = NULL; } + iternext = Py_TYPE(iter)->tp_iternext; + value1 = iternext(iter); if (unlikely(!value1)) { index = 0; goto unpacking_failed; } + value2 = iternext(iter); if (unlikely(!value2)) { index = 1; goto unpacking_failed; } + if (!has_known_size && unlikely(__Pyx_IternextUnpackEndCheck(iternext(iter), 2))) goto bad; + Py_DECREF(iter); + *pvalue1 = value1; + *pvalue2 = value2; + return 0; +unpacking_failed: + if (!has_known_size && __Pyx_IterFinish() == 0) + __Pyx_RaiseNeedMoreValuesError(index); +bad: + Py_XDECREF(iter); + Py_XDECREF(value1); + Py_XDECREF(value2); + if (decref_tuple) { Py_XDECREF(tuple); } + return -1; +} + +/* dict_iter */ +static CYTHON_INLINE PyObject* __Pyx_dict_iterator(PyObject* iterable, int is_dict, PyObject* method_name, + Py_ssize_t* p_orig_length, int* p_source_is_dict) { + is_dict = is_dict || likely(PyDict_CheckExact(iterable)); + *p_source_is_dict = is_dict; + if (is_dict) { +#if !CYTHON_COMPILING_IN_PYPY + *p_orig_length = PyDict_Size(iterable); + Py_INCREF(iterable); + return iterable; +#elif PY_MAJOR_VERSION >= 3 + static PyObject *py_items = NULL, *py_keys = NULL, *py_values = NULL; + PyObject **pp = NULL; + if (method_name) { + const char *name = PyUnicode_AsUTF8(method_name); + if (strcmp(name, "iteritems") == 0) pp = &py_items; + else if (strcmp(name, "iterkeys") == 0) pp = &py_keys; + else if (strcmp(name, "itervalues") == 0) pp = &py_values; + if (pp) { + if (!*pp) { + *pp = PyUnicode_FromString(name + 4); + if (!*pp) + return NULL; + } + method_name = *pp; + } + } +#endif + } + *p_orig_length = 0; + if (method_name) { + PyObject* iter; + iterable = __Pyx_PyObject_CallMethod0(iterable, method_name); + if (!iterable) + return NULL; +#if !CYTHON_COMPILING_IN_PYPY + if (PyTuple_CheckExact(iterable) || PyList_CheckExact(iterable)) + return iterable; +#endif + iter = PyObject_GetIter(iterable); + Py_DECREF(iterable); + return iter; + } + return PyObject_GetIter(iterable); +} +static CYTHON_INLINE int __Pyx_dict_iter_next( + PyObject* iter_obj, CYTHON_NCP_UNUSED Py_ssize_t orig_length, CYTHON_NCP_UNUSED Py_ssize_t* ppos, + PyObject** pkey, PyObject** pvalue, PyObject** pitem, int source_is_dict) { + PyObject* next_item; +#if !CYTHON_COMPILING_IN_PYPY + if (source_is_dict) { + PyObject *key, *value; + if (unlikely(orig_length != PyDict_Size(iter_obj))) { + PyErr_SetString(PyExc_RuntimeError, "dictionary changed size during iteration"); + return -1; + } + if (unlikely(!PyDict_Next(iter_obj, ppos, &key, &value))) { + return 0; + } + if (pitem) { + PyObject* tuple = PyTuple_New(2); + if (unlikely(!tuple)) { + return -1; + } + Py_INCREF(key); + Py_INCREF(value); + PyTuple_SET_ITEM(tuple, 0, key); + PyTuple_SET_ITEM(tuple, 1, value); + *pitem = tuple; + } else { + if (pkey) { + Py_INCREF(key); + *pkey = key; + } + if (pvalue) { + Py_INCREF(value); + *pvalue = value; + } + } + return 1; + } else if (PyTuple_CheckExact(iter_obj)) { + Py_ssize_t pos = *ppos; + if (unlikely(pos >= PyTuple_GET_SIZE(iter_obj))) return 0; + *ppos = pos + 1; + next_item = PyTuple_GET_ITEM(iter_obj, pos); + Py_INCREF(next_item); + } else if (PyList_CheckExact(iter_obj)) { + Py_ssize_t pos = *ppos; + if (unlikely(pos >= PyList_GET_SIZE(iter_obj))) return 0; + *ppos = pos + 1; + next_item = PyList_GET_ITEM(iter_obj, pos); + Py_INCREF(next_item); + } else +#endif + { + next_item = PyIter_Next(iter_obj); + if (unlikely(!next_item)) { + return __Pyx_IterFinish(); + } + } + if (pitem) { + *pitem = next_item; + } else if (pkey && pvalue) { + if (__Pyx_unpack_tuple2(next_item, pkey, pvalue, source_is_dict, source_is_dict, 1)) + return -1; + } else if (pkey) { + *pkey = next_item; + } else { + *pvalue = next_item; + } + return 1; +} + +/* WriteUnraisableException */ +static void __Pyx_WriteUnraisable(const char *name, CYTHON_UNUSED int clineno, + CYTHON_UNUSED int lineno, CYTHON_UNUSED const char *filename, + int full_traceback, CYTHON_UNUSED int nogil) { + PyObject *old_exc, *old_val, *old_tb; + PyObject *ctx; + __Pyx_PyThreadState_declare +#ifdef WITH_THREAD + PyGILState_STATE state; + if (nogil) + state = PyGILState_Ensure(); +#ifdef _MSC_VER + else state = (PyGILState_STATE)-1; +#endif +#endif + __Pyx_PyThreadState_assign + __Pyx_ErrFetch(&old_exc, &old_val, &old_tb); + if (full_traceback) { + Py_XINCREF(old_exc); + Py_XINCREF(old_val); + Py_XINCREF(old_tb); + __Pyx_ErrRestore(old_exc, old_val, old_tb); + PyErr_PrintEx(1); + } + #if PY_MAJOR_VERSION < 3 + ctx = PyString_FromString(name); + #else + ctx = PyUnicode_FromString(name); + #endif + __Pyx_ErrRestore(old_exc, old_val, old_tb); + if (!ctx) { + PyErr_WriteUnraisable(Py_None); + } else { + PyErr_WriteUnraisable(ctx); + Py_DECREF(ctx); + } +#ifdef WITH_THREAD + if (nogil) + PyGILState_Release(state); +#endif +} + +/* Import */ +static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) { + PyObject *empty_list = 0; + PyObject *module = 0; + PyObject *global_dict = 0; + PyObject *empty_dict = 0; + PyObject *list; + #if PY_MAJOR_VERSION < 3 + PyObject *py_import; + py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import); + if (!py_import) + goto bad; + #endif + if (from_list) + list = from_list; + else { + empty_list = PyList_New(0); + if (!empty_list) + goto bad; + list = empty_list; + } + global_dict = PyModule_GetDict(__pyx_m); + if (!global_dict) + goto bad; + empty_dict = PyDict_New(); + if (!empty_dict) + goto bad; + { + #if PY_MAJOR_VERSION >= 3 + if (level == -1) { + if ((1) && (strchr(__Pyx_MODULE_NAME, '.'))) { + module = PyImport_ImportModuleLevelObject( + name, global_dict, empty_dict, list, 1); + if (!module) { + if (!PyErr_ExceptionMatches(PyExc_ImportError)) + goto bad; + PyErr_Clear(); + } + } + level = 0; + } + #endif + if (!module) { + #if PY_MAJOR_VERSION < 3 + PyObject *py_level = PyInt_FromLong(level); + if (!py_level) + goto bad; + module = PyObject_CallFunctionObjArgs(py_import, + name, global_dict, empty_dict, list, py_level, (PyObject *)NULL); + Py_DECREF(py_level); + #else + module = PyImport_ImportModuleLevelObject( + name, global_dict, empty_dict, list, level); + #endif + } + } +bad: + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(py_import); + #endif + Py_XDECREF(empty_list); + Py_XDECREF(empty_dict); + return module; +} + +/* ImportFrom */ +static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) { + PyObject* value = __Pyx_PyObject_GetAttrStr(module, name); + if (unlikely(!value) && PyErr_ExceptionMatches(PyExc_AttributeError)) { + PyErr_Format(PyExc_ImportError, + #if PY_MAJOR_VERSION < 3 + "cannot import name %.230s", PyString_AS_STRING(name)); + #else + "cannot import name %S", name); + #endif + } + return value; +} + +/* HasAttr */ +static CYTHON_INLINE int __Pyx_HasAttr(PyObject *o, PyObject *n) { + PyObject *r; + if (unlikely(!__Pyx_PyBaseString_Check(n))) { + PyErr_SetString(PyExc_TypeError, + "hasattr(): attribute name must be string"); + return -1; + } + r = __Pyx_GetAttr(o, n); + if (unlikely(!r)) { + PyErr_Clear(); + return 0; + } else { + Py_DECREF(r); + return 1; + } +} + +/* PyObject_GenericGetAttrNoDict */ +#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 +static PyObject *__Pyx_RaiseGenericGetAttributeError(PyTypeObject *tp, PyObject *attr_name) { + PyErr_Format(PyExc_AttributeError, +#if PY_MAJOR_VERSION >= 3 + "'%.50s' object has no attribute '%U'", + tp->tp_name, attr_name); +#else + "'%.50s' object has no attribute '%.400s'", + tp->tp_name, PyString_AS_STRING(attr_name)); +#endif + return NULL; +} +static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name) { + PyObject *descr; + PyTypeObject *tp = Py_TYPE(obj); + if (unlikely(!PyString_Check(attr_name))) { + return PyObject_GenericGetAttr(obj, attr_name); + } + assert(!tp->tp_dictoffset); + descr = _PyType_Lookup(tp, attr_name); + if (unlikely(!descr)) { + return __Pyx_RaiseGenericGetAttributeError(tp, attr_name); + } + Py_INCREF(descr); + #if PY_MAJOR_VERSION < 3 + if (likely(PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_HAVE_CLASS))) + #endif + { + descrgetfunc f = Py_TYPE(descr)->tp_descr_get; + if (unlikely(f)) { + PyObject *res = f(descr, obj, (PyObject *)tp); + Py_DECREF(descr); + return res; + } + } + return descr; +} +#endif + +/* PyObject_GenericGetAttr */ +#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 +static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name) { + if (unlikely(Py_TYPE(obj)->tp_dictoffset)) { + return PyObject_GenericGetAttr(obj, attr_name); + } + return __Pyx_PyObject_GenericGetAttrNoDict(obj, attr_name); +} +#endif + +/* SetVTable */ +static int __Pyx_SetVtable(PyObject *dict, void *vtable) { +#if PY_VERSION_HEX >= 0x02070000 + PyObject *ob = PyCapsule_New(vtable, 0, 0); +#else + PyObject *ob = PyCObject_FromVoidPtr(vtable, 0); +#endif + if (!ob) + goto bad; + if (PyDict_SetItem(dict, __pyx_n_s_pyx_vtable, ob) < 0) + goto bad; + Py_DECREF(ob); + return 0; +bad: + Py_XDECREF(ob); + return -1; +} + +/* PyObjectGetAttrStrNoError */ +static void __Pyx_PyObject_GetAttrStr_ClearAttributeError(void) { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + if (likely(__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError))) + __Pyx_PyErr_Clear(); +} +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name) { + PyObject *result; +#if CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_TYPE_SLOTS && PY_VERSION_HEX >= 0x030700B1 + PyTypeObject* tp = Py_TYPE(obj); + if (likely(tp->tp_getattro == PyObject_GenericGetAttr)) { + return _PyObject_GenericGetAttrWithDict(obj, attr_name, NULL, 1); + } +#endif + result = __Pyx_PyObject_GetAttrStr(obj, attr_name); + if (unlikely(!result)) { + __Pyx_PyObject_GetAttrStr_ClearAttributeError(); + } + return result; +} + +/* SetupReduce */ +static int __Pyx_setup_reduce_is_named(PyObject* meth, PyObject* name) { + int ret; + PyObject *name_attr; + name_attr = __Pyx_PyObject_GetAttrStr(meth, __pyx_n_s_name); + if (likely(name_attr)) { + ret = PyObject_RichCompareBool(name_attr, name, Py_EQ); + } else { + ret = -1; + } + if (unlikely(ret < 0)) { + PyErr_Clear(); + ret = 0; + } + Py_XDECREF(name_attr); + return ret; +} +static int __Pyx_setup_reduce(PyObject* type_obj) { + int ret = 0; + PyObject *object_reduce = NULL; + PyObject *object_getstate = NULL; + PyObject *object_reduce_ex = NULL; + PyObject *reduce = NULL; + PyObject *reduce_ex = NULL; + PyObject *reduce_cython = NULL; + PyObject *setstate = NULL; + PyObject *setstate_cython = NULL; + PyObject *getstate = NULL; +#if CYTHON_USE_PYTYPE_LOOKUP + getstate = _PyType_Lookup((PyTypeObject*)type_obj, __pyx_n_s_getstate); +#else + getstate = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_n_s_getstate); + if (!getstate && PyErr_Occurred()) { + goto __PYX_BAD; + } +#endif + if (getstate) { +#if CYTHON_USE_PYTYPE_LOOKUP + object_getstate = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_getstate); +#else + object_getstate = __Pyx_PyObject_GetAttrStrNoError((PyObject*)&PyBaseObject_Type, __pyx_n_s_getstate); + if (!object_getstate && PyErr_Occurred()) { + goto __PYX_BAD; + } +#endif + if (object_getstate != getstate) { + goto __PYX_GOOD; + } + } +#if CYTHON_USE_PYTYPE_LOOKUP + object_reduce_ex = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_reduce_ex); if (!object_reduce_ex) goto __PYX_BAD; +#else + object_reduce_ex = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_n_s_reduce_ex); if (!object_reduce_ex) goto __PYX_BAD; +#endif + reduce_ex = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce_ex); if (unlikely(!reduce_ex)) goto __PYX_BAD; + if (reduce_ex == object_reduce_ex) { +#if CYTHON_USE_PYTYPE_LOOKUP + object_reduce = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_reduce); if (!object_reduce) goto __PYX_BAD; +#else + object_reduce = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_n_s_reduce); if (!object_reduce) goto __PYX_BAD; +#endif + reduce = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce); if (unlikely(!reduce)) goto __PYX_BAD; + if (reduce == object_reduce || __Pyx_setup_reduce_is_named(reduce, __pyx_n_s_reduce_cython)) { + reduce_cython = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_n_s_reduce_cython); + if (likely(reduce_cython)) { + ret = PyDict_SetItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_reduce, reduce_cython); if (unlikely(ret < 0)) goto __PYX_BAD; + ret = PyDict_DelItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_reduce_cython); if (unlikely(ret < 0)) goto __PYX_BAD; + } else if (reduce == object_reduce || PyErr_Occurred()) { + goto __PYX_BAD; + } + setstate = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_setstate); + if (!setstate) PyErr_Clear(); + if (!setstate || __Pyx_setup_reduce_is_named(setstate, __pyx_n_s_setstate_cython)) { + setstate_cython = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_n_s_setstate_cython); + if (likely(setstate_cython)) { + ret = PyDict_SetItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_setstate, setstate_cython); if (unlikely(ret < 0)) goto __PYX_BAD; + ret = PyDict_DelItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_setstate_cython); if (unlikely(ret < 0)) goto __PYX_BAD; + } else if (!setstate || PyErr_Occurred()) { + goto __PYX_BAD; + } + } + PyType_Modified((PyTypeObject*)type_obj); + } + } + goto __PYX_GOOD; +__PYX_BAD: + if (!PyErr_Occurred()) + PyErr_Format(PyExc_RuntimeError, "Unable to initialize pickling for %s", ((PyTypeObject*)type_obj)->tp_name); + ret = -1; +__PYX_GOOD: +#if !CYTHON_USE_PYTYPE_LOOKUP + Py_XDECREF(object_reduce); + Py_XDECREF(object_reduce_ex); + Py_XDECREF(object_getstate); + Py_XDECREF(getstate); +#endif + Py_XDECREF(reduce); + Py_XDECREF(reduce_ex); + Py_XDECREF(reduce_cython); + Py_XDECREF(setstate); + Py_XDECREF(setstate_cython); + return ret; +} + +/* TypeImport */ +#ifndef __PYX_HAVE_RT_ImportType +#define __PYX_HAVE_RT_ImportType +static PyTypeObject *__Pyx_ImportType(PyObject *module, const char *module_name, const char *class_name, + size_t size, enum __Pyx_ImportType_CheckSize check_size) +{ + PyObject *result = 0; + char warning[200]; + Py_ssize_t basicsize; +#ifdef Py_LIMITED_API + PyObject *py_basicsize; +#endif + result = PyObject_GetAttrString(module, class_name); + if (!result) + goto bad; + if (!PyType_Check(result)) { + PyErr_Format(PyExc_TypeError, + "%.200s.%.200s is not a type object", + module_name, class_name); + goto bad; + } +#ifndef Py_LIMITED_API + basicsize = ((PyTypeObject *)result)->tp_basicsize; +#else + py_basicsize = PyObject_GetAttrString(result, "__basicsize__"); + if (!py_basicsize) + goto bad; + basicsize = PyLong_AsSsize_t(py_basicsize); + Py_DECREF(py_basicsize); + py_basicsize = 0; + if (basicsize == (Py_ssize_t)-1 && PyErr_Occurred()) + goto bad; +#endif + if ((size_t)basicsize < size) { + PyErr_Format(PyExc_ValueError, + "%.200s.%.200s size changed, may indicate binary incompatibility. " + "Expected %zd from C header, got %zd from PyObject", + module_name, class_name, size, basicsize); + goto bad; + } + if (check_size == __Pyx_ImportType_CheckSize_Error && (size_t)basicsize != size) { + PyErr_Format(PyExc_ValueError, + "%.200s.%.200s size changed, may indicate binary incompatibility. " + "Expected %zd from C header, got %zd from PyObject", + module_name, class_name, size, basicsize); + goto bad; + } + else if (check_size == __Pyx_ImportType_CheckSize_Warn && (size_t)basicsize > size) { + PyOS_snprintf(warning, sizeof(warning), + "%s.%s size changed, may indicate binary incompatibility. " + "Expected %zd from C header, got %zd from PyObject", + module_name, class_name, size, basicsize); + if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad; + } + return (PyTypeObject *)result; +bad: + Py_XDECREF(result); + return NULL; +} +#endif + +/* CLineInTraceback */ +#ifndef CYTHON_CLINE_IN_TRACEBACK +static int __Pyx_CLineForTraceback(CYTHON_NCP_UNUSED PyThreadState *tstate, int c_line) { + PyObject *use_cline; + PyObject *ptype, *pvalue, *ptraceback; +#if CYTHON_COMPILING_IN_CPYTHON + PyObject **cython_runtime_dict; +#endif + if (unlikely(!__pyx_cython_runtime)) { + return c_line; + } + __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback); +#if CYTHON_COMPILING_IN_CPYTHON + cython_runtime_dict = _PyObject_GetDictPtr(__pyx_cython_runtime); + if (likely(cython_runtime_dict)) { + __PYX_PY_DICT_LOOKUP_IF_MODIFIED( + use_cline, *cython_runtime_dict, + __Pyx_PyDict_GetItemStr(*cython_runtime_dict, __pyx_n_s_cline_in_traceback)) + } else +#endif + { + PyObject *use_cline_obj = __Pyx_PyObject_GetAttrStr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback); + if (use_cline_obj) { + use_cline = PyObject_Not(use_cline_obj) ? Py_False : Py_True; + Py_DECREF(use_cline_obj); + } else { + PyErr_Clear(); + use_cline = NULL; + } + } + if (!use_cline) { + c_line = 0; + (void) PyObject_SetAttr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback, Py_False); + } + else if (use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) { + c_line = 0; + } + __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback); + return c_line; +} +#endif + +/* CodeObjectCache */ +static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) { + int start = 0, mid = 0, end = count - 1; + if (end >= 0 && code_line > entries[end].code_line) { + return count; + } + while (start < end) { + mid = start + (end - start) / 2; + if (code_line < entries[mid].code_line) { + end = mid; + } else if (code_line > entries[mid].code_line) { + start = mid + 1; + } else { + return mid; + } + } + if (code_line <= entries[mid].code_line) { + return mid; + } else { + return mid + 1; + } +} +static PyCodeObject *__pyx_find_code_object(int code_line) { + PyCodeObject* code_object; + int pos; + if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) { + return NULL; + } + pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); + if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) { + return NULL; + } + code_object = __pyx_code_cache.entries[pos].code_object; + Py_INCREF(code_object); + return code_object; +} +static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) { + int pos, i; + __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries; + if (unlikely(!code_line)) { + return; + } + if (unlikely(!entries)) { + entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry)); + if (likely(entries)) { + __pyx_code_cache.entries = entries; + __pyx_code_cache.max_count = 64; + __pyx_code_cache.count = 1; + entries[0].code_line = code_line; + entries[0].code_object = code_object; + Py_INCREF(code_object); + } + return; + } + pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); + if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) { + PyCodeObject* tmp = entries[pos].code_object; + entries[pos].code_object = code_object; + Py_DECREF(tmp); + return; + } + if (__pyx_code_cache.count == __pyx_code_cache.max_count) { + int new_max = __pyx_code_cache.max_count + 64; + entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc( + __pyx_code_cache.entries, ((size_t)new_max) * sizeof(__Pyx_CodeObjectCacheEntry)); + if (unlikely(!entries)) { + return; + } + __pyx_code_cache.entries = entries; + __pyx_code_cache.max_count = new_max; + } + for (i=__pyx_code_cache.count; i>pos; i--) { + entries[i] = entries[i-1]; + } + entries[pos].code_line = code_line; + entries[pos].code_object = code_object; + __pyx_code_cache.count++; + Py_INCREF(code_object); +} + +/* AddTraceback */ +#include "compile.h" +#include "frameobject.h" +#include "traceback.h" +#if PY_VERSION_HEX >= 0x030b00a6 + #ifndef Py_BUILD_CORE + #define Py_BUILD_CORE 1 + #endif + #include "internal/pycore_frame.h" +#endif +static PyCodeObject* __Pyx_CreateCodeObjectForTraceback( + const char *funcname, int c_line, + int py_line, const char *filename) { + PyCodeObject *py_code = NULL; + PyObject *py_funcname = NULL; + #if PY_MAJOR_VERSION < 3 + PyObject *py_srcfile = NULL; + py_srcfile = PyString_FromString(filename); + if (!py_srcfile) goto bad; + #endif + if (c_line) { + #if PY_MAJOR_VERSION < 3 + py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); + if (!py_funcname) goto bad; + #else + py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); + if (!py_funcname) goto bad; + funcname = PyUnicode_AsUTF8(py_funcname); + if (!funcname) goto bad; + #endif + } + else { + #if PY_MAJOR_VERSION < 3 + py_funcname = PyString_FromString(funcname); + if (!py_funcname) goto bad; + #endif + } + #if PY_MAJOR_VERSION < 3 + py_code = __Pyx_PyCode_New( + 0, + 0, + 0, + 0, + 0, + __pyx_empty_bytes, /*PyObject *code,*/ + __pyx_empty_tuple, /*PyObject *consts,*/ + __pyx_empty_tuple, /*PyObject *names,*/ + __pyx_empty_tuple, /*PyObject *varnames,*/ + __pyx_empty_tuple, /*PyObject *freevars,*/ + __pyx_empty_tuple, /*PyObject *cellvars,*/ + py_srcfile, /*PyObject *filename,*/ + py_funcname, /*PyObject *name,*/ + py_line, + __pyx_empty_bytes /*PyObject *lnotab*/ + ); + Py_DECREF(py_srcfile); + #else + py_code = PyCode_NewEmpty(filename, funcname, py_line); + #endif + Py_XDECREF(py_funcname); // XDECREF since it's only set on Py3 if cline + return py_code; +bad: + Py_XDECREF(py_funcname); + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(py_srcfile); + #endif + return NULL; +} +static void __Pyx_AddTraceback(const char *funcname, int c_line, + int py_line, const char *filename) { + PyCodeObject *py_code = 0; + PyFrameObject *py_frame = 0; + PyThreadState *tstate = __Pyx_PyThreadState_Current; + PyObject *ptype, *pvalue, *ptraceback; + if (c_line) { + c_line = __Pyx_CLineForTraceback(tstate, c_line); + } + py_code = __pyx_find_code_object(c_line ? -c_line : py_line); + if (!py_code) { + __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback); + py_code = __Pyx_CreateCodeObjectForTraceback( + funcname, c_line, py_line, filename); + if (!py_code) { + /* If the code object creation fails, then we should clear the + fetched exception references and propagate the new exception */ + Py_XDECREF(ptype); + Py_XDECREF(pvalue); + Py_XDECREF(ptraceback); + goto bad; + } + __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback); + __pyx_insert_code_object(c_line ? -c_line : py_line, py_code); + } + py_frame = PyFrame_New( + tstate, /*PyThreadState *tstate,*/ + py_code, /*PyCodeObject *code,*/ + __pyx_d, /*PyObject *globals,*/ + 0 /*PyObject *locals*/ + ); + if (!py_frame) goto bad; + __Pyx_PyFrame_SetLineNumber(py_frame, py_line); + PyTraceBack_Here(py_frame); +bad: + Py_XDECREF(py_code); + Py_XDECREF(py_frame); +} + +/* CIntFromPyVerify */ +#define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\ + __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0) +#define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\ + __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1) +#define __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, exc)\ + {\ + func_type value = func_value;\ + if (sizeof(target_type) < sizeof(func_type)) {\ + if (unlikely(value != (func_type) (target_type) value)) {\ + func_type zero = 0;\ + if (exc && unlikely(value == (func_type)-1 && PyErr_Occurred()))\ + return (target_type) -1;\ + if (is_unsigned && unlikely(value < zero))\ + goto raise_neg_overflow;\ + else\ + goto raise_overflow;\ + }\ + }\ + return (target_type) value;\ + } + +/* CIntToPy */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) { +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" +#endif + const int neg_one = (int) -1, const_zero = (int) 0; +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic pop +#endif + const int is_unsigned = neg_one > const_zero; + if (is_unsigned) { + if (sizeof(int) < sizeof(long)) { + return PyInt_FromLong((long) value); + } else if (sizeof(int) <= sizeof(unsigned long)) { + return PyLong_FromUnsignedLong((unsigned long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) { + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); +#endif + } + } else { + if (sizeof(int) <= sizeof(long)) { + return PyInt_FromLong((long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) { + return PyLong_FromLongLong((PY_LONG_LONG) value); +#endif + } + } + { + int one = 1; int little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&value; + return _PyLong_FromByteArray(bytes, sizeof(int), + little, !is_unsigned); + } +} + +/* CIntFromPy */ +static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) { +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" +#endif + const int neg_one = (int) -1, const_zero = (int) 0; +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic pop +#endif + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(int) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (int) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (int) 0; + case 1: __PYX_VERIFY_RETURN_INT(int, digit, digits[0]) + case 2: + if (8 * sizeof(int) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) >= 2 * PyLong_SHIFT) { + return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(int) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) >= 3 * PyLong_SHIFT) { + return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(int) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) >= 4 * PyLong_SHIFT) { + return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (int) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(int) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (int) 0; + case -1: __PYX_VERIFY_RETURN_INT(int, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(int, digit, +digits[0]) + case -2: + if (8 * sizeof(int) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { + return (int) (((int)-1)*(((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(int) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { + return (int) ((((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { + return (int) (((int)-1)*(((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(int) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { + return (int) ((((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) { + return (int) (((int)-1)*(((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(int) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) { + return (int) ((((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + } +#endif + if (sizeof(int) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + int val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (int) -1; + } + } else { + int val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (int) -1; + val = __Pyx_PyInt_As_int(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to int"); + return (int) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to int"); + return (int) -1; +} + +/* CIntFromPy */ +static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) { +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" +#endif + const long neg_one = (long) -1, const_zero = (long) 0; +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic pop +#endif + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(long) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (long) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (long) 0; + case 1: __PYX_VERIFY_RETURN_INT(long, digit, digits[0]) + case 2: + if (8 * sizeof(long) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) >= 2 * PyLong_SHIFT) { + return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(long) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) >= 3 * PyLong_SHIFT) { + return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(long) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) >= 4 * PyLong_SHIFT) { + return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (long) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(long) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (long) 0; + case -1: __PYX_VERIFY_RETURN_INT(long, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(long, digit, +digits[0]) + case -2: + if (8 * sizeof(long) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + return (long) (((long)-1)*(((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(long) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + return (long) ((((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + return (long) (((long)-1)*(((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(long) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + return (long) ((((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + return (long) (((long)-1)*(((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(long) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + return (long) ((((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + } +#endif + if (sizeof(long) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + long val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (long) -1; + } + } else { + long val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (long) -1; + val = __Pyx_PyInt_As_long(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to long"); + return (long) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to long"); + return (long) -1; +} + +/* CIntToPy */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) { +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" +#endif + const long neg_one = (long) -1, const_zero = (long) 0; +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic pop +#endif + const int is_unsigned = neg_one > const_zero; + if (is_unsigned) { + if (sizeof(long) < sizeof(long)) { + return PyInt_FromLong((long) value); + } else if (sizeof(long) <= sizeof(unsigned long)) { + return PyLong_FromUnsignedLong((unsigned long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); +#endif + } + } else { + if (sizeof(long) <= sizeof(long)) { + return PyInt_FromLong((long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { + return PyLong_FromLongLong((PY_LONG_LONG) value); +#endif + } + } + { + int one = 1; int little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&value; + return _PyLong_FromByteArray(bytes, sizeof(long), + little, !is_unsigned); + } +} + +/* FastTypeChecks */ +#if CYTHON_COMPILING_IN_CPYTHON +static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) { + while (a) { + a = a->tp_base; + if (a == b) + return 1; + } + return b == &PyBaseObject_Type; +} +static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b) { + PyObject *mro; + if (a == b) return 1; + mro = a->tp_mro; + if (likely(mro)) { + Py_ssize_t i, n; + n = PyTuple_GET_SIZE(mro); + for (i = 0; i < n; i++) { + if (PyTuple_GET_ITEM(mro, i) == (PyObject *)b) + return 1; + } + return 0; + } + return __Pyx_InBases(a, b); +} +#if PY_MAJOR_VERSION == 2 +static int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject* exc_type2) { + PyObject *exception, *value, *tb; + int res; + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ErrFetch(&exception, &value, &tb); + res = exc_type1 ? PyObject_IsSubclass(err, exc_type1) : 0; + if (unlikely(res == -1)) { + PyErr_WriteUnraisable(err); + res = 0; + } + if (!res) { + res = PyObject_IsSubclass(err, exc_type2); + if (unlikely(res == -1)) { + PyErr_WriteUnraisable(err); + res = 0; + } + } + __Pyx_ErrRestore(exception, value, tb); + return res; +} +#else +static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) { + int res = exc_type1 ? __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type1) : 0; + if (!res) { + res = __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2); + } + return res; +} +#endif +static int __Pyx_PyErr_GivenExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { + Py_ssize_t i, n; + assert(PyExceptionClass_Check(exc_type)); + n = PyTuple_GET_SIZE(tuple); +#if PY_MAJOR_VERSION >= 3 + for (i=0; i '9'); + break; + } + if (rt_from_call[i] != ctversion[i]) { + same = 0; + break; + } + } + if (!same) { + char rtversion[5] = {'\0'}; + char message[200]; + for (i=0; i<4; ++i) { + if (rt_from_call[i] == '.') { + if (found_dot) break; + found_dot = 1; + } else if (rt_from_call[i] < '0' || rt_from_call[i] > '9') { + break; + } + rtversion[i] = rt_from_call[i]; + } + PyOS_snprintf(message, sizeof(message), + "compiletime version %s of module '%.100s' " + "does not match runtime version %s", + ctversion, __Pyx_MODULE_NAME, rtversion); + return PyErr_WarnEx(NULL, message, 1); + } + return 0; +} + +/* InitStrings */ +static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) { + while (t->p) { + #if PY_MAJOR_VERSION < 3 + if (t->is_unicode) { + *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL); + } else if (t->intern) { + *t->p = PyString_InternFromString(t->s); + } else { + *t->p = PyString_FromStringAndSize(t->s, t->n - 1); + } + #else + if (t->is_unicode | t->is_str) { + if (t->intern) { + *t->p = PyUnicode_InternFromString(t->s); + } else if (t->encoding) { + *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL); + } else { + *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1); + } + } else { + *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1); + } + #endif + if (!*t->p) + return -1; + if (PyObject_Hash(*t->p) == -1) + return -1; + ++t; + } + return 0; +} + +static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) { + return __Pyx_PyUnicode_FromStringAndSize(c_str, (Py_ssize_t)strlen(c_str)); +} +static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) { + Py_ssize_t ignore; + return __Pyx_PyObject_AsStringAndSize(o, &ignore); +} +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT +#if !CYTHON_PEP393_ENABLED +static const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { + char* defenc_c; + PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL); + if (!defenc) return NULL; + defenc_c = PyBytes_AS_STRING(defenc); +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + { + char* end = defenc_c + PyBytes_GET_SIZE(defenc); + char* c; + for (c = defenc_c; c < end; c++) { + if ((unsigned char) (*c) >= 128) { + PyUnicode_AsASCIIString(o); + return NULL; + } + } + } +#endif + *length = PyBytes_GET_SIZE(defenc); + return defenc_c; +} +#else +static CYTHON_INLINE const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { + if (unlikely(__Pyx_PyUnicode_READY(o) == -1)) return NULL; +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + if (likely(PyUnicode_IS_ASCII(o))) { + *length = PyUnicode_GET_LENGTH(o); + return PyUnicode_AsUTF8(o); + } else { + PyUnicode_AsASCIIString(o); + return NULL; + } +#else + return PyUnicode_AsUTF8AndSize(o, length); +#endif +} +#endif +#endif +static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) { +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT + if ( +#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + __Pyx_sys_getdefaultencoding_not_ascii && +#endif + PyUnicode_Check(o)) { + return __Pyx_PyUnicode_AsStringAndSize(o, length); + } else +#endif +#if (!CYTHON_COMPILING_IN_PYPY) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE)) + if (PyByteArray_Check(o)) { + *length = PyByteArray_GET_SIZE(o); + return PyByteArray_AS_STRING(o); + } else +#endif + { + char* result; + int r = PyBytes_AsStringAndSize(o, &result, length); + if (unlikely(r < 0)) { + return NULL; + } else { + return result; + } + } +} +static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) { + int is_true = x == Py_True; + if (is_true | (x == Py_False) | (x == Py_None)) return is_true; + else return PyObject_IsTrue(x); +} +static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject* x) { + int retval; + if (unlikely(!x)) return -1; + retval = __Pyx_PyObject_IsTrue(x); + Py_DECREF(x); + return retval; +} +static PyObject* __Pyx_PyNumber_IntOrLongWrongResultType(PyObject* result, const char* type_name) { +#if PY_MAJOR_VERSION >= 3 + if (PyLong_Check(result)) { + if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1, + "__int__ returned non-int (type %.200s). " + "The ability to return an instance of a strict subclass of int " + "is deprecated, and may be removed in a future version of Python.", + Py_TYPE(result)->tp_name)) { + Py_DECREF(result); + return NULL; + } + return result; + } +#endif + PyErr_Format(PyExc_TypeError, + "__%.4s__ returned non-%.4s (type %.200s)", + type_name, type_name, Py_TYPE(result)->tp_name); + Py_DECREF(result); + return NULL; +} +static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) { +#if CYTHON_USE_TYPE_SLOTS + PyNumberMethods *m; +#endif + const char *name = NULL; + PyObject *res = NULL; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x) || PyLong_Check(x))) +#else + if (likely(PyLong_Check(x))) +#endif + return __Pyx_NewRef(x); +#if CYTHON_USE_TYPE_SLOTS + m = Py_TYPE(x)->tp_as_number; + #if PY_MAJOR_VERSION < 3 + if (m && m->nb_int) { + name = "int"; + res = m->nb_int(x); + } + else if (m && m->nb_long) { + name = "long"; + res = m->nb_long(x); + } + #else + if (likely(m && m->nb_int)) { + name = "int"; + res = m->nb_int(x); + } + #endif +#else + if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) { + res = PyNumber_Int(x); + } +#endif + if (likely(res)) { +#if PY_MAJOR_VERSION < 3 + if (unlikely(!PyInt_Check(res) && !PyLong_Check(res))) { +#else + if (unlikely(!PyLong_CheckExact(res))) { +#endif + return __Pyx_PyNumber_IntOrLongWrongResultType(res, name); + } + } + else if (!PyErr_Occurred()) { + PyErr_SetString(PyExc_TypeError, + "an integer is required"); + } + return res; +} +static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) { + Py_ssize_t ival; + PyObject *x; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_CheckExact(b))) { + if (sizeof(Py_ssize_t) >= sizeof(long)) + return PyInt_AS_LONG(b); + else + return PyInt_AsSsize_t(b); + } +#endif + if (likely(PyLong_CheckExact(b))) { + #if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)b)->ob_digit; + const Py_ssize_t size = Py_SIZE(b); + if (likely(__Pyx_sst_abs(size) <= 1)) { + ival = likely(size) ? digits[0] : 0; + if (size == -1) ival = -ival; + return ival; + } else { + switch (size) { + case 2: + if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { + return (Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case -2: + if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { + return -(Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case 3: + if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { + return (Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case -3: + if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { + return -(Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case 4: + if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { + return (Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case -4: + if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { + return -(Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + } + } + #endif + return PyLong_AsSsize_t(b); + } + x = PyNumber_Index(b); + if (!x) return -1; + ival = PyInt_AsSsize_t(x); + Py_DECREF(x); + return ival; +} +static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject* o) { + if (sizeof(Py_hash_t) == sizeof(Py_ssize_t)) { + return (Py_hash_t) __Pyx_PyIndex_AsSsize_t(o); +#if PY_MAJOR_VERSION < 3 + } else if (likely(PyInt_CheckExact(o))) { + return PyInt_AS_LONG(o); +#endif + } else { + Py_ssize_t ival; + PyObject *x; + x = PyNumber_Index(o); + if (!x) return -1; + ival = PyInt_AsLong(x); + Py_DECREF(x); + return ival; + } +} +static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) { + return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False); +} +static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) { + return PyInt_FromSize_t(ival); +} + + +#endif /* Py_PYTHON_H */ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.pxd b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.pxd new file mode 100644 index 0000000..d8fb5f2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.pxd @@ -0,0 +1,131 @@ +from cpython.mem cimport PyMem_Malloc, PyMem_Free + +cdef extern from *: + ctypedef void PyObject + ctypedef struct PyCodeObject: + int co_argcount; # arguments, except *args */ + int co_kwonlyargcount; # keyword only arguments */ + int co_nlocals; # local variables */ + int co_stacksize; # entries needed for evaluation stack */ + int co_flags; # CO_..., see below */ + int co_firstlineno; # first source line number */ + PyObject *co_code; # instruction opcodes */ + PyObject *co_consts; # list (constants used) */ + PyObject *co_names; # list of strings (names used) */ + PyObject *co_varnames; # tuple of strings (local variable names) */ + PyObject *co_freevars; # tuple of strings (free variable names) */ + PyObject *co_cellvars; # tuple of strings (cell variable names) */ + unsigned char *co_cell2arg; # Maps cell vars which are arguments. */ + PyObject *co_filename; # unicode (where it was loaded from) */ + PyObject *co_name; # unicode (name, for reference) */ + PyObject *co_lnotab; # string (encoding addr<->lineno mapping) See + # Objects/lnotab_notes.txt for details. */ + void *co_zombieframe; # for optimization only (see frameobject.c) */ + PyObject *co_weakreflist; # to support weakrefs to code objects */ + void *co_extra; + +cdef extern from "frameobject.h": + ctypedef struct PyFrameObject: + PyFrameObject *f_back + PyCodeObject *f_code # code segment + PyObject *f_builtins # builtin symbol table (PyDictObject) + PyObject *f_globals # global symbol table (PyDictObject) */ + PyObject *f_locals # local symbol table (any mapping) */ + PyObject **f_valuestack # + PyObject **f_stacktop + PyObject *f_trace # Trace function */ + PyObject *f_exc_type + PyObject *f_exc_value + PyObject *f_exc_traceback + PyObject *f_gen; + + int f_lasti; #/* Last instruction if called */ + int f_lineno; #/* Current line number */ + int f_iblock; #/* index in f_blockstack */ + char f_executing; #/* whether the frame is still executing */ + PyObject *f_localsplus[1]; + +cdef extern from "release_mem.h": + void release_co_extra(void *) + +cdef extern from "code.h": + ctypedef void freefunc(void *) + int _PyCode_GetExtra(PyObject *code, Py_ssize_t index, void **extra) + int _PyCode_SetExtra(PyObject *code, Py_ssize_t index, void *extra) + +# TODO: Things are in a different place for Python 3.11. +# cdef extern from "cpython/code.h": +# ctypedef void freefunc(void *) +# int _PyCode_GetExtra(PyObject *code, Py_ssize_t index, void **extra) +# int _PyCode_SetExtra(PyObject *code, Py_ssize_t index, void *extra) + +cdef extern from "Python.h": + void Py_INCREF(object o) + void Py_DECREF(object o) + object PyImport_ImportModule(char *name) + PyObject* PyObject_CallFunction(PyObject *callable, const char *format, ...) + object PyObject_GetAttrString(object o, char *attr_name) + +cdef extern from "pystate.h": + # ctypedef PyObject* _PyFrameEvalFunction(PyThreadState* tstate, PyFrameObject *frame, int exc) + # ctypedef PyObject* _PyFrameEvalFunction(PyFrameObject *frame, int exc) + ctypedef PyObject* _PyFrameEvalFunction(...) + + ctypedef struct PyInterpreterState: + PyInterpreterState *next + PyInterpreterState *tstate_head + + PyObject *modules + + PyObject *modules_by_index + PyObject *sysdict + PyObject *builtins + PyObject *importlib + + PyObject *codec_search_path + PyObject *codec_search_cache + PyObject *codec_error_registry + int codecs_initialized + int fscodec_initialized + + int dlopenflags + + PyObject *builtins_copy + PyObject *import_func + # Initialized to PyEval_EvalFrameDefault(). + _PyFrameEvalFunction eval_frame + + ctypedef struct PyThreadState: + PyThreadState *prev + PyThreadState *next + PyInterpreterState *interp + # ... + + PyThreadState *PyThreadState_Get() + +cdef extern from "ceval.h": + ''' +#if PY_VERSION_HEX >= 0x03090000 +PyObject * noop(PyFrameObject *frame, int exc) { + return NULL; +} +#define CALL_EvalFrameDefault_38(a, b) noop(a, b) +#define CALL_EvalFrameDefault_39(a, b, c) _PyEval_EvalFrameDefault(a, b, c) +#else +PyObject * noop(PyThreadState* tstate, PyFrameObject *frame, int exc) { + return NULL; +} +#define CALL_EvalFrameDefault_39(a, b, c) noop(a, b, c) +#define CALL_EvalFrameDefault_38(a, b) _PyEval_EvalFrameDefault(a, b) +#endif + ''' + + int _PyEval_RequestCodeExtraIndex(freefunc) + PyFrameObject *PyEval_GetFrame() + PyObject* PyEval_CallFunction(PyObject *callable, const char *format, ...) + + # PyObject* _PyEval_EvalFrameDefault(PyThreadState* tstate, PyFrameObject *frame, int exc) + # PyObject* _PyEval_EvalFrameDefault(PyFrameObject *frame, int exc) + PyObject* _PyEval_EvalFrameDefault(...) + PyObject* CALL_EvalFrameDefault_38(PyFrameObject *frame, int exc) # Actually a macro. + PyObject* CALL_EvalFrameDefault_39(PyThreadState* tstate, PyFrameObject *frame, int exc) # Actually a macro. diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.template.pyx b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.template.pyx new file mode 100644 index 0000000..1bbf9f8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.template.pyx @@ -0,0 +1,613 @@ +from __future__ import print_function +from _pydev_bundle._pydev_saved_modules import threading, thread +from _pydevd_bundle.pydevd_constants import GlobalDebuggerHolder +import dis +import sys +from _pydevd_frame_eval.pydevd_frame_tracing import update_globals_dict, dummy_tracing_holder +from _pydevd_frame_eval.pydevd_modify_bytecode import DebugHelper, insert_pydevd_breaks +from pydevd_file_utils import get_abs_path_real_path_and_base_from_frame, NORM_PATHS_AND_BASE_CONTAINER +from _pydevd_bundle.pydevd_trace_dispatch import fix_top_level_trace_and_get_trace_func + +from _pydevd_bundle.pydevd_additional_thread_info import _set_additional_thread_info_lock +from _pydevd_bundle.pydevd_cython cimport PyDBAdditionalThreadInfo +from pydevd_tracing import SetTrace + +_get_ident = threading.get_ident # Note this is py3 only, if py2 needed to be supported, _get_ident would be needed. +_thread_local_info = threading.local() +_thread_active = threading._active + +def clear_thread_local_info(): + global _thread_local_info + _thread_local_info = threading.local() + + +cdef class ThreadInfo: + + cdef public PyDBAdditionalThreadInfo additional_info + cdef public bint is_pydevd_thread + cdef public int inside_frame_eval + cdef public bint fully_initialized + cdef public object thread_trace_func + cdef bint _can_create_dummy_thread + + # Note: whenever get_func_code_info is called, this value is reset (we're using + # it as a thread-local value info). + # If True the debugger should not go into trace mode even if the new + # code for a function is None and there are breakpoints. + cdef public bint force_stay_in_untraced_mode + + cdef initialize(self, PyFrameObject * frame_obj): + # Places that create a ThreadInfo should verify that + # a current Python frame is being executed! + assert frame_obj != NULL + + self.additional_info = None + self.is_pydevd_thread = False + self.inside_frame_eval = 0 + self.fully_initialized = False + self.thread_trace_func = None + + # Get the root (if it's not a Thread initialized from the threading + # module, create the dummy thread entry so that we can debug it -- + # otherwise, we have to wait for the threading module itself to + # create the Thread entry). + while frame_obj.f_back != NULL: + frame_obj = frame_obj.f_back + + basename = frame_obj.f_code.co_filename + i = basename.rfind('/') + j = basename.rfind('\\') + if j > i: + i = j + if i >= 0: + basename = basename[i + 1:] + # remove ext + i = basename.rfind('.') + if i >= 0: + basename = basename[:i] + + co_name = frame_obj.f_code.co_name + + # In these cases we cannot create a dummy thread (an actual + # thread will be created later or tracing will already be set). + if basename == 'threading' and co_name in ('__bootstrap', '_bootstrap', '__bootstrap_inner', '_bootstrap_inner'): + self._can_create_dummy_thread = False + elif basename == 'pydev_monkey' and co_name == '__call__': + self._can_create_dummy_thread = False + elif basename == 'pydevd' and co_name in ('run', 'main', '_exec'): + self._can_create_dummy_thread = False + elif basename == 'pydevd_tracing': + self._can_create_dummy_thread = False + else: + self._can_create_dummy_thread = True + + # print('Can create dummy thread for thread started in: %s %s' % (basename, co_name)) + + cdef initialize_if_possible(self): + # Don't call threading.currentThread because if we're too early in the process + # we may create a dummy thread. + self.inside_frame_eval += 1 + + try: + thread_ident = _get_ident() + t = _thread_active.get(thread_ident) + if t is None: + if self._can_create_dummy_thread: + # Initialize the dummy thread and set the tracing (both are needed to + # actually stop on breakpoints). + t = threading.current_thread() + SetTrace(dummy_trace_dispatch) + else: + return # Cannot initialize until thread becomes active. + + if getattr(t, 'is_pydev_daemon_thread', False): + self.is_pydevd_thread = True + self.fully_initialized = True + else: + try: + additional_info = t.additional_info + if additional_info is None: + raise AttributeError() + except: + with _set_additional_thread_info_lock: + # If it's not there, set it within a lock to avoid any racing + # conditions. + additional_info = getattr(thread, 'additional_info', None) + if additional_info is None: + additional_info = PyDBAdditionalThreadInfo() + t.additional_info = additional_info + self.additional_info = additional_info + self.fully_initialized = True + finally: + self.inside_frame_eval -= 1 + + +cdef class FuncCodeInfo: + + cdef public str co_filename + cdef public str co_name + cdef public str canonical_normalized_filename + cdef bint always_skip_code + cdef public bint breakpoint_found + cdef public object new_code + + # When breakpoints_mtime != PyDb.mtime the validity of breakpoints have + # to be re-evaluated (if invalid a new FuncCodeInfo must be created and + # tracing can't be disabled for the related frames). + cdef public int breakpoints_mtime + + def __init__(self): + self.co_filename = '' + self.canonical_normalized_filename = '' + self.always_skip_code = False + + # If breakpoints are found but new_code is None, + # this means we weren't able to actually add the code + # where needed, so, fallback to tracing. + self.breakpoint_found = False + self.new_code = None + self.breakpoints_mtime = -1 + + +def dummy_trace_dispatch(frame, str event, arg): + if event == 'call': + if frame.f_trace is not None: + return frame.f_trace(frame, event, arg) + return None + + +def get_thread_info_py() -> ThreadInfo: + return get_thread_info(PyEval_GetFrame()) + + +cdef ThreadInfo get_thread_info(PyFrameObject * frame_obj): + ''' + Provides thread-related info. + + May return None if the thread is still not active. + ''' + cdef ThreadInfo thread_info + try: + # Note: changing to a `dict[thread.ident] = thread_info` had almost no + # effect in the performance. + thread_info = _thread_local_info.thread_info + except: + if frame_obj == NULL: + return None + thread_info = ThreadInfo() + thread_info.initialize(frame_obj) + thread_info.inside_frame_eval += 1 + try: + _thread_local_info.thread_info = thread_info + + # Note: _code_extra_index is not actually thread-related, + # but this is a good point to initialize it. + global _code_extra_index + if _code_extra_index == -1: + _code_extra_index = _PyEval_RequestCodeExtraIndex(release_co_extra) + + thread_info.initialize_if_possible() + finally: + thread_info.inside_frame_eval -= 1 + + return thread_info + + +def decref_py(obj): + ''' + Helper to be called from Python. + ''' + Py_DECREF(obj) + + +def get_func_code_info_py(thread_info, frame, code_obj) -> FuncCodeInfo: + ''' + Helper to be called from Python. + ''' + return get_func_code_info( thread_info, frame, code_obj) + + +cdef int _code_extra_index = -1 + +cdef FuncCodeInfo get_func_code_info(ThreadInfo thread_info, PyFrameObject * frame_obj, PyCodeObject * code_obj): + ''' + Provides code-object related info. + + Stores the gathered info in a cache in the code object itself. Note that + multiple threads can get the same info. + + get_thread_info() *must* be called at least once before get_func_code_info() + to initialize _code_extra_index. + + ''' + # f_code = code_obj + # DEBUG = f_code.co_filename.endswith('_debugger_case_multiprocessing.py') + # if DEBUG: + # print('get_func_code_info', f_code.co_name, f_code.co_filename) + + cdef object main_debugger = GlobalDebuggerHolder.global_dbg + thread_info.force_stay_in_untraced_mode = False # This is an output value of the function. + + cdef PyObject * extra + _PyCode_GetExtra( code_obj, _code_extra_index, & extra) + if extra is not NULL: + extra_obj = extra + if extra_obj is not NULL: + func_code_info_obj = extra_obj + if func_code_info_obj.breakpoints_mtime == main_debugger.mtime: + # if DEBUG: + # print('get_func_code_info: matched mtime', f_code.co_name, f_code.co_filename) + + return func_code_info_obj + + cdef str co_filename = code_obj.co_filename + cdef str co_name = code_obj.co_name + cdef dict cache_file_type + cdef tuple cache_file_type_key + + func_code_info = FuncCodeInfo() + func_code_info.breakpoints_mtime = main_debugger.mtime + + func_code_info.co_filename = co_filename + func_code_info.co_name = co_name + + if not func_code_info.always_skip_code: + try: + abs_path_real_path_and_base = NORM_PATHS_AND_BASE_CONTAINER[co_filename] + except: + abs_path_real_path_and_base = get_abs_path_real_path_and_base_from_frame(frame_obj) + + func_code_info.canonical_normalized_filename = abs_path_real_path_and_base[1] + + cache_file_type = main_debugger.get_cache_file_type() + # Note: this cache key must be the same from PyDB.get_file_type() -- see it for comments + # on the cache. + cache_file_type_key = (frame_obj.f_code.co_firstlineno, abs_path_real_path_and_base[0], frame_obj.f_code) + try: + file_type = cache_file_type[cache_file_type_key] # Make it faster + except: + file_type = main_debugger.get_file_type(frame_obj, abs_path_real_path_and_base) # we don't want to debug anything related to pydevd + + if file_type is not None: + func_code_info.always_skip_code = True + + if not func_code_info.always_skip_code: + if main_debugger is not None: + + breakpoints: dict = main_debugger.breakpoints.get(func_code_info.canonical_normalized_filename) + function_breakpoint: object = main_debugger.function_breakpoint_name_to_breakpoint.get(func_code_info.co_name) + # print('\n---') + # print(main_debugger.breakpoints) + # print(func_code_info.canonical_normalized_filename) + # print(main_debugger.breakpoints.get(func_code_info.canonical_normalized_filename)) + code_obj_py: object = code_obj + cached_code_obj_info: object = _cache.get(code_obj_py) + if cached_code_obj_info: + # The cache is for new code objects, so, in this case it's already + # using the new code and we can't change it as this is a generator! + # There's still a catch though: even though we don't replace the code, + # we may not want to go into tracing mode (as would usually happen + # when the new_code is None). + func_code_info.new_code = None + breakpoint_found, thread_info.force_stay_in_untraced_mode = \ + cached_code_obj_info.compute_force_stay_in_untraced_mode(breakpoints) + func_code_info.breakpoint_found = breakpoint_found + + elif function_breakpoint: + # Go directly into tracing mode + func_code_info.breakpoint_found = True + func_code_info.new_code = None + + elif breakpoints: + # if DEBUG: + # print('found breakpoints', code_obj_py.co_name, breakpoints) + + # Note: new_code can be None if unable to generate. + # It should automatically put the new code object in the cache. + breakpoint_found, func_code_info.new_code = generate_code_with_breakpoints(code_obj_py, breakpoints) + func_code_info.breakpoint_found = breakpoint_found + + Py_INCREF(func_code_info) + _PyCode_SetExtra( code_obj, _code_extra_index, func_code_info) + + return func_code_info + + +cdef class _CodeLineInfo: + + cdef public dict line_to_offset + cdef public int first_line + cdef public int last_line + + def __init__(self, dict line_to_offset, int first_line, int last_line): + self.line_to_offset = line_to_offset + self.first_line = first_line + self.last_line = last_line + + +# Note: this method has a version in pure-python too. +def _get_code_line_info(code_obj): + line_to_offset: dict = {} + first_line: int = None + last_line: int = None + + cdef int offset + cdef int line + + for offset, line in dis.findlinestarts(code_obj): + line_to_offset[line] = offset + + if line_to_offset: + first_line = min(line_to_offset) + last_line = max(line_to_offset) + return _CodeLineInfo(line_to_offset, first_line, last_line) + + +# Note: this is a cache where the key is the code objects we create ourselves so that +# we always return the same code object for generators. +# (so, we don't have a cache from the old code to the new info -- that's actually +# handled by the cython side in `FuncCodeInfo get_func_code_info` by providing the +# same code info if the debugger mtime is still the same). +_cache: dict = {} + +def get_cached_code_obj_info_py(code_obj_py): + ''' + :return _CacheValue: + :note: on cython use _cache.get(code_obj_py) directly. + ''' + return _cache.get(code_obj_py) + + +cdef class _CacheValue(object): + + cdef public object code_obj_py + cdef public _CodeLineInfo code_line_info + cdef public set breakpoints_hit_at_lines + cdef public set code_lines_as_set + + def __init__(self, object code_obj_py, _CodeLineInfo code_line_info, set breakpoints_hit_at_lines): + ''' + :param code_obj_py: + :param _CodeLineInfo code_line_info: + :param set[int] breakpoints_hit_at_lines: + ''' + self.code_obj_py = code_obj_py + self.code_line_info = code_line_info + self.breakpoints_hit_at_lines = breakpoints_hit_at_lines + self.code_lines_as_set = set(code_line_info.line_to_offset) + + cpdef compute_force_stay_in_untraced_mode(self, breakpoints): + ''' + :param breakpoints: + set(breakpoint_lines) or dict(breakpoint_line->breakpoint info) + :return tuple(breakpoint_found, force_stay_in_untraced_mode) + ''' + cdef bint force_stay_in_untraced_mode + cdef bint breakpoint_found + cdef set target_breakpoints + + force_stay_in_untraced_mode = False + + target_breakpoints = self.code_lines_as_set.intersection(breakpoints) + breakpoint_found = bool(target_breakpoints) + + if not breakpoint_found: + force_stay_in_untraced_mode = True + else: + force_stay_in_untraced_mode = self.breakpoints_hit_at_lines.issuperset(set(breakpoints)) + + return breakpoint_found, force_stay_in_untraced_mode + +def generate_code_with_breakpoints_py(object code_obj_py, dict breakpoints): + return generate_code_with_breakpoints(code_obj_py, breakpoints) + +# DEBUG = True +# debug_helper = DebugHelper() + +cdef generate_code_with_breakpoints(object code_obj_py, dict breakpoints): + ''' + :param breakpoints: + dict where the keys are the breakpoint lines. + :return tuple(breakpoint_found, new_code) + ''' + # The cache is needed for generator functions, because after each yield a new frame + # is created but the former code object is used (so, check if code_to_modify is + # already there and if not cache based on the new code generated). + + cdef bint success + cdef int breakpoint_line + cdef bint breakpoint_found + cdef _CacheValue cache_value + cdef set breakpoints_hit_at_lines + cdef dict line_to_offset + + assert code_obj_py not in _cache, 'If a code object is cached, that same code object must be reused.' + +# if DEBUG: +# initial_code_obj_py = code_obj_py + + code_line_info = _get_code_line_info(code_obj_py) + + success = True + + breakpoints_hit_at_lines = set() + line_to_offset = code_line_info.line_to_offset + + for breakpoint_line in breakpoints: + if breakpoint_line in line_to_offset: + breakpoints_hit_at_lines.add(breakpoint_line) + + if breakpoints_hit_at_lines: + success, new_code = insert_pydevd_breaks( + code_obj_py, + breakpoints_hit_at_lines, + code_line_info + ) + + if not success: + code_obj_py = None + else: + code_obj_py = new_code + + breakpoint_found = bool(breakpoints_hit_at_lines) + if breakpoint_found and success: +# if DEBUG: +# op_number = debug_helper.write_dis( +# 'inserting code, breaks at: %s' % (list(breakpoints),), +# initial_code_obj_py +# ) +# +# debug_helper.write_dis( +# 'after inserting code, breaks at: %s' % (list(breakpoints,)), +# code_obj_py, +# op_number=op_number, +# ) + + cache_value = _CacheValue(code_obj_py, code_line_info, breakpoints_hit_at_lines) + _cache[code_obj_py] = cache_value + + return breakpoint_found, code_obj_py + +import sys + +cdef bint IS_PY_39_OWNARDS = sys.version_info[:2] >= (3, 9) + +def frame_eval_func(): + cdef PyThreadState *state = PyThreadState_Get() + if IS_PY_39_OWNARDS: + state.interp.eval_frame = <_PyFrameEvalFunction *> get_bytecode_while_frame_eval_39 + else: + state.interp.eval_frame = <_PyFrameEvalFunction *> get_bytecode_while_frame_eval_38 + dummy_tracing_holder.set_trace_func(dummy_trace_dispatch) + + +def stop_frame_eval(): + cdef PyThreadState *state = PyThreadState_Get() + state.interp.eval_frame = _PyEval_EvalFrameDefault + +# During the build we'll generate 2 versions of the code below so that we're compatible with +# Python 3.9, which receives a "PyThreadState* tstate" as the first parameter and Python 3.6-3.8 +# which doesn't. +### TEMPLATE_START +cdef PyObject * get_bytecode_while_frame_eval(PyFrameObject * frame_obj, int exc): + ''' + This function makes the actual evaluation and changes the bytecode to a version + where programmatic breakpoints are added. + ''' + if GlobalDebuggerHolder is None or _thread_local_info is None or exc: + # Sometimes during process shutdown these global variables become None + return CALL_EvalFrameDefault + + # co_filename: str = frame_obj.f_code.co_filename + # if co_filename.endswith('threading.py'): + # return CALL_EvalFrameDefault + + cdef ThreadInfo thread_info + cdef int STATE_SUSPEND = 2 + cdef int CMD_STEP_INTO = 107 + cdef int CMD_STEP_OVER = 108 + cdef int CMD_STEP_OVER_MY_CODE = 159 + cdef int CMD_STEP_INTO_MY_CODE = 144 + cdef int CMD_STEP_INTO_COROUTINE = 206 + cdef int CMD_SMART_STEP_INTO = 128 + cdef bint can_skip = True + try: + thread_info = _thread_local_info.thread_info + except: + thread_info = get_thread_info(frame_obj) + if thread_info is None: + return CALL_EvalFrameDefault + + if thread_info.inside_frame_eval: + return CALL_EvalFrameDefault + + if not thread_info.fully_initialized: + thread_info.initialize_if_possible() + if not thread_info.fully_initialized: + return CALL_EvalFrameDefault + + # Can only get additional_info when fully initialized. + cdef PyDBAdditionalThreadInfo additional_info = thread_info.additional_info + if thread_info.is_pydevd_thread or additional_info.is_tracing: + # Make sure that we don't trace pydevd threads or inside our own calls. + return CALL_EvalFrameDefault + + # frame = frame_obj + # DEBUG = frame.f_code.co_filename.endswith('_debugger_case_tracing.py') + # if DEBUG: + # print('get_bytecode_while_frame_eval', frame.f_lineno, frame.f_code.co_name, frame.f_code.co_filename) + + thread_info.inside_frame_eval += 1 + additional_info.is_tracing = True + try: + main_debugger: object = GlobalDebuggerHolder.global_dbg + if main_debugger is None: + return CALL_EvalFrameDefault + frame = frame_obj + + if thread_info.thread_trace_func is None: + trace_func, apply_to_global = fix_top_level_trace_and_get_trace_func(main_debugger, frame) + if apply_to_global: + thread_info.thread_trace_func = trace_func + + if additional_info.pydev_step_cmd in (CMD_STEP_INTO, CMD_STEP_INTO_MY_CODE, CMD_STEP_INTO_COROUTINE, CMD_SMART_STEP_INTO) or \ + main_debugger.break_on_caught_exceptions or \ + main_debugger.break_on_user_uncaught_exceptions or \ + main_debugger.has_plugin_exception_breaks or \ + main_debugger.signature_factory or \ + additional_info.pydev_step_cmd in (CMD_STEP_OVER, CMD_STEP_OVER_MY_CODE) and main_debugger.show_return_values and frame.f_back is additional_info.pydev_step_stop: + + # if DEBUG: + # print('get_bytecode_while_frame_eval enabled trace') + if thread_info.thread_trace_func is not None: + frame.f_trace = thread_info.thread_trace_func + else: + frame.f_trace = main_debugger.trace_dispatch + else: + func_code_info: FuncCodeInfo = get_func_code_info(thread_info, frame_obj, frame_obj.f_code) + # if DEBUG: + # print('get_bytecode_while_frame_eval always skip', func_code_info.always_skip_code) + if not func_code_info.always_skip_code: + + if main_debugger.has_plugin_line_breaks or main_debugger.has_plugin_exception_breaks: + can_skip = main_debugger.plugin.can_skip(main_debugger, frame_obj) + + if not can_skip: + # if DEBUG: + # print('get_bytecode_while_frame_eval not can_skip') + if thread_info.thread_trace_func is not None: + frame.f_trace = thread_info.thread_trace_func + else: + frame.f_trace = main_debugger.trace_dispatch + + if can_skip and func_code_info.breakpoint_found: + # if DEBUG: + # print('get_bytecode_while_frame_eval new_code', func_code_info.new_code) + if not thread_info.force_stay_in_untraced_mode: + # If breakpoints are found but new_code is None, + # this means we weren't able to actually add the code + # where needed, so, fallback to tracing. + if func_code_info.new_code is None: + if thread_info.thread_trace_func is not None: + frame.f_trace = thread_info.thread_trace_func + else: + frame.f_trace = main_debugger.trace_dispatch + else: + # print('Using frame eval break for', frame_obj.f_code.co_name) + update_globals_dict( frame_obj.f_globals) + Py_INCREF(func_code_info.new_code) + old = frame_obj.f_code + frame_obj.f_code = func_code_info.new_code + Py_DECREF(old) + else: + # When we're forcing to stay in traced mode we need to + # update the globals dict (because this means that we're reusing + # a previous code which had breakpoints added in a new frame). + update_globals_dict( frame_obj.f_globals) + + finally: + thread_info.inside_frame_eval -= 1 + additional_info.is_tracing = False + + return CALL_EvalFrameDefault +### TEMPLATE_END diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_tracing.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_tracing.py new file mode 100644 index 0000000..7b34cd5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_tracing.py @@ -0,0 +1,122 @@ +import sys + +from _pydev_bundle import pydev_log +from _pydev_bundle._pydev_saved_modules import threading +from _pydevd_bundle.pydevd_comm import get_global_debugger +from pydevd_file_utils import get_abs_path_real_path_and_base_from_frame, NORM_PATHS_AND_BASE_CONTAINER +from _pydevd_bundle.pydevd_additional_thread_info import set_additional_thread_info + + +class DummyTracingHolder: + dummy_trace_func = None + + def set_trace_func(self, trace_func): + self.dummy_trace_func = trace_func + + +dummy_tracing_holder = DummyTracingHolder() + + +def update_globals_dict(globals_dict): + new_globals = {'_pydev_stop_at_break': _pydev_stop_at_break} + globals_dict.update(new_globals) + + +def _get_line_for_frame(frame): + # it's absolutely necessary to reset tracing function for frame in order to get the real line number + tracing_func = frame.f_trace + frame.f_trace = None + line = frame.f_lineno + frame.f_trace = tracing_func + return line + + +def _pydev_stop_at_break(line): + frame = sys._getframe(1) + # print('pydevd SET TRACING at ', line, 'curr line', frame.f_lineno) + t = threading.current_thread() + try: + additional_info = t.additional_info + except: + additional_info = set_additional_thread_info(t) + + if additional_info.is_tracing: + return + + additional_info.is_tracing += 1 + try: + py_db = get_global_debugger() + if py_db is None: + return + + pydev_log.debug("Setting f_trace due to frame eval mode in file: %s on line %s", frame.f_code.co_filename, line) + additional_info.trace_suspend_type = 'frame_eval' + + pydevd_frame_eval_cython_wrapper = sys.modules['_pydevd_frame_eval.pydevd_frame_eval_cython_wrapper'] + thread_info = pydevd_frame_eval_cython_wrapper.get_thread_info_py() + if thread_info.thread_trace_func is not None: + frame.f_trace = thread_info.thread_trace_func + else: + frame.f_trace = py_db.get_thread_local_trace_func() + finally: + additional_info.is_tracing -= 1 + + +def _pydev_needs_stop_at_break(line): + ''' + We separate the functionality into 2 functions so that we can generate a bytecode which + generates a spurious line change so that we can do: + + if _pydev_needs_stop_at_break(): + # Set line to line -1 + _pydev_stop_at_break() + # then, proceed to go to the current line + # (which will then trigger a line event). + ''' + t = threading.current_thread() + try: + additional_info = t.additional_info + except: + additional_info = set_additional_thread_info(t) + + if additional_info.is_tracing: + return False + + additional_info.is_tracing += 1 + try: + frame = sys._getframe(1) + # print('pydev needs stop at break?', line, 'curr line', frame.f_lineno, 'curr trace', frame.f_trace) + if frame.f_trace is not None: + # i.e.: this frame is already being traced, thus, we don't need to use programmatic breakpoints. + return False + + py_db = get_global_debugger() + if py_db is None: + return False + + try: + abs_path_real_path_and_base = NORM_PATHS_AND_BASE_CONTAINER[frame.f_code.co_filename] + except: + abs_path_real_path_and_base = get_abs_path_real_path_and_base_from_frame(frame) + canonical_normalized_filename = abs_path_real_path_and_base[1] + + try: + python_breakpoint = py_db.breakpoints[canonical_normalized_filename][line] + except: + # print("Couldn't find breakpoint in the file %s on line %s" % (frame.f_code.co_filename, line)) + # Could be KeyError if line is not there or TypeError if breakpoints_for_file is None. + # Note: using catch-all exception for performance reasons (if the user adds a breakpoint + # and then removes it after hitting it once, this method added for the programmatic + # breakpoint will keep on being called and one of those exceptions will always be raised + # here). + return False + + if python_breakpoint: + # print('YES') + return True + + finally: + additional_info.is_tracing -= 1 + + return False + diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_modify_bytecode.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_modify_bytecode.py new file mode 100644 index 0000000..7e76358 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_modify_bytecode.py @@ -0,0 +1,365 @@ +from collections import namedtuple +import dis +from functools import partial +import itertools +import os.path +import sys + +from _pydevd_frame_eval.vendored import bytecode +from _pydevd_frame_eval.vendored.bytecode.instr import Instr, Label +from _pydev_bundle import pydev_log +from _pydevd_frame_eval.pydevd_frame_tracing import _pydev_stop_at_break, _pydev_needs_stop_at_break + +DEBUG = False + + +class DebugHelper(object): + + def __init__(self): + self._debug_dir = os.path.join(os.path.dirname(__file__), 'debug_info') + try: + os.makedirs(self._debug_dir) + except: + pass + self._next = partial(next, itertools.count(0)) + + def _get_filename(self, op_number=None, prefix=''): + if op_number is None: + op_number = self._next() + name = '%03d_before.txt' % op_number + else: + name = '%03d_change.txt' % op_number + + filename = os.path.join(self._debug_dir, prefix + name) + return filename, op_number + + def write_bytecode(self, b, op_number=None, prefix=''): + filename, op_number = self._get_filename(op_number, prefix) + with open(filename, 'w') as stream: + bytecode.dump_bytecode(b, stream=stream, lineno=True) + return op_number + + def write_dis(self, code_to_modify, op_number=None, prefix=''): + filename, op_number = self._get_filename(op_number, prefix) + with open(filename, 'w') as stream: + stream.write('-------- ') + stream.write('-------- ') + stream.write('id(code_to_modify): %s' % id(code_to_modify)) + stream.write('\n\n') + dis.dis(code_to_modify, file=stream) + return op_number + + +_CodeLineInfo = namedtuple('_CodeLineInfo', 'line_to_offset, first_line, last_line') + + +# Note: this method has a version in cython too (that one is usually used, this is just for tests). +def _get_code_line_info(code_obj): + line_to_offset = {} + first_line = None + last_line = None + + for offset, line in dis.findlinestarts(code_obj): + line_to_offset[line] = offset + + if line_to_offset: + first_line = min(line_to_offset) + last_line = max(line_to_offset) + return _CodeLineInfo(line_to_offset, first_line, last_line) + + +if DEBUG: + debug_helper = DebugHelper() + + +def get_instructions_to_add( + stop_at_line, + _pydev_stop_at_break=_pydev_stop_at_break, + _pydev_needs_stop_at_break=_pydev_needs_stop_at_break + ): + ''' + This is the bytecode for something as: + + if _pydev_needs_stop_at_break(): + _pydev_stop_at_break() + + but with some special handling for lines. + ''' + # Good reference to how things work regarding line numbers and jumps: + # https://github.com/python/cpython/blob/3.6/Objects/lnotab_notes.txt + + # Usually use a stop line -1, but if that'd be 0, using line +1 is ok too. + spurious_line = stop_at_line - 1 + if spurious_line <= 0: + spurious_line = stop_at_line + 1 + + label = Label() + return [ + # -- if _pydev_needs_stop_at_break(): + Instr("LOAD_CONST", _pydev_needs_stop_at_break, lineno=stop_at_line), + Instr("LOAD_CONST", stop_at_line, lineno=stop_at_line), + Instr("CALL_FUNCTION", 1, lineno=stop_at_line), + Instr("POP_JUMP_IF_FALSE", label, lineno=stop_at_line), + + # -- _pydev_stop_at_break() + # + # Note that this has line numbers -1 so that when the NOP just below + # is executed we have a spurious line event. + Instr("LOAD_CONST", _pydev_stop_at_break, lineno=spurious_line), + Instr("LOAD_CONST", stop_at_line, lineno=spurious_line), + Instr("CALL_FUNCTION", 1, lineno=spurious_line), + Instr("POP_TOP", lineno=spurious_line), + + # Reason for the NOP: Python will give us a 'line' trace event whenever we forward jump to + # the first instruction of a line, so, in the case where we haven't added a programmatic + # breakpoint (either because we didn't hit a breakpoint anymore or because it was already + # tracing), we don't want the spurious line event due to the line change, so, we make a jump + # to the instruction right after the NOP so that the spurious line event is NOT generated in + # this case (otherwise we'd have a line event even if the line didn't change). + Instr("NOP", lineno=stop_at_line), + label, + ] + + +class _Node(object): + + def __init__(self, data): + self.prev = None + self.next = None + self.data = data + + def append(self, data): + node = _Node(data) + + curr_next = self.next + + node.next = self.next + node.prev = self + self.next = node + + if curr_next is not None: + curr_next.prev = node + + return node + + def prepend(self, data): + node = _Node(data) + + curr_prev = self.prev + + node.prev = self.prev + node.next = self + self.prev = node + + if curr_prev is not None: + curr_prev.next = node + + return node + + +class _HelperBytecodeList(object): + ''' + A helper double-linked list to make the manipulation a bit easier (so that we don't need + to keep track of indices that change) and performant (because adding multiple items to + the middle of a regular list isn't ideal). + ''' + + def __init__(self, lst=None): + self._head = None + self._tail = None + if lst: + node = self + for item in lst: + node = node.append(item) + + def append(self, data): + if self._tail is None: + node = _Node(data) + self._head = self._tail = node + return node + else: + node = self._tail = self.tail.append(data) + return node + + @property + def head(self): + node = self._head + # Manipulating the node directly may make it unsynchronized. + while node.prev: + self._head = node = node.prev + return node + + @property + def tail(self): + node = self._tail + # Manipulating the node directly may make it unsynchronized. + while node.next: + self._tail = node = node.next + return node + + def __iter__(self): + node = self.head + + while node: + yield node.data + node = node.next + + +_PREDICT_TABLE = { + 'LIST_APPEND': ('JUMP_ABSOLUTE',), + 'SET_ADD': ('JUMP_ABSOLUTE',), + 'GET_ANEXT': ('LOAD_CONST',), + 'GET_AWAITABLE': ('LOAD_CONST',), + 'DICT_MERGE': ('CALL_FUNCTION_EX',), + 'MAP_ADD': ('JUMP_ABSOLUTE',), + 'COMPARE_OP': ('POP_JUMP_IF_FALSE', 'POP_JUMP_IF_TRUE',), + 'IS_OP': ('POP_JUMP_IF_FALSE', 'POP_JUMP_IF_TRUE',), + 'CONTAINS_OP': ('POP_JUMP_IF_FALSE', 'POP_JUMP_IF_TRUE',), + + # Note: there are some others with PREDICT on ceval, but they have more logic + # and it needs more experimentation to know how it behaves in the static generated + # code (and it's only an issue for us if there's actually a line change between + # those, so, we don't have to really handle all the cases, only the one where + # the line number actually changes from one instruction to the predicted one). +} + +# 3.10 optimizations include copying code branches multiple times (for instance +# if the body of a finally has a single assign statement it can copy the assign to the case +# where an exception happens and doesn't happen for optimization purposes) and as such +# we need to add the programmatic breakpoint multiple times. +TRACK_MULTIPLE_BRANCHES = sys.version_info[:2] >= (3, 10) + +# When tracking multiple branches, we try to fix the bytecodes which would be PREDICTED in the +# Python eval loop so that we don't have spurious line events that wouldn't usually be issued +# in the tracing as they're ignored due to the eval prediction (even though they're in the bytecode). +FIX_PREDICT = sys.version_info[:2] >= (3, 10) + + +def insert_pydevd_breaks( + code_to_modify, + breakpoint_lines, + code_line_info=None, + _pydev_stop_at_break=_pydev_stop_at_break, + _pydev_needs_stop_at_break=_pydev_needs_stop_at_break, + ): + """ + Inserts pydevd programmatic breaks into the code (at the given lines). + + :param breakpoint_lines: set with the lines where we should add breakpoints. + :return: tuple(boolean flag whether insertion was successful, modified code). + """ + if code_line_info is None: + code_line_info = _get_code_line_info(code_to_modify) + + if not code_line_info.line_to_offset: + return False, code_to_modify + + # Create a copy (and make sure we're dealing with a set). + breakpoint_lines = set(breakpoint_lines) + + # Note that we can even generate breakpoints on the first line of code + # now, since we generate a spurious line event -- it may be a bit pointless + # as we'll stop in the first line and we don't currently stop the tracing after the + # user resumes, but in the future, if we do that, this would be a nice + # improvement. + # if code_to_modify.co_firstlineno in breakpoint_lines: + # return False, code_to_modify + + for line in breakpoint_lines: + if line <= 0: + # The first line is line 1, so, a break at line 0 is not valid. + pydev_log.info('Trying to add breakpoint in invalid line: %s', line) + return False, code_to_modify + + try: + b = bytecode.Bytecode.from_code(code_to_modify) + + if DEBUG: + op_number_bytecode = debug_helper.write_bytecode(b, prefix='bytecode.') + + helper_list = _HelperBytecodeList(b) + + modified_breakpoint_lines = breakpoint_lines.copy() + + curr_node = helper_list.head + added_breaks_in_lines = set() + last_lineno = None + while curr_node is not None: + instruction = curr_node.data + instruction_lineno = getattr(instruction, 'lineno', None) + curr_name = getattr(instruction, 'name', None) + + if FIX_PREDICT: + predict_targets = _PREDICT_TABLE.get(curr_name) + if predict_targets: + # Odd case: the next instruction may have a line number but it doesn't really + # appear in the tracing due to the PREDICT() in ceval, so, fix the bytecode so + # that it does things the way that ceval actually interprets it. + # See: https://mail.python.org/archives/list/python-dev@python.org/thread/CP2PTFCMTK57KM3M3DLJNWGO66R5RVPB/ + next_instruction = curr_node.next.data + next_name = getattr(next_instruction, 'name', None) + if next_name in predict_targets: + next_instruction_lineno = getattr(next_instruction, 'lineno', None) + if next_instruction_lineno: + next_instruction.lineno = None + + if instruction_lineno is not None: + if TRACK_MULTIPLE_BRANCHES: + if last_lineno is None: + last_lineno = instruction_lineno + else: + if last_lineno == instruction_lineno: + # If the previous is a label, someone may jump into it, so, we need to add + # the break even if it's in the same line. + if curr_node.prev.data.__class__ != Label: + # Skip adding this as the line is still the same. + curr_node = curr_node.next + continue + last_lineno = instruction_lineno + else: + if instruction_lineno in added_breaks_in_lines: + curr_node = curr_node.next + continue + + if instruction_lineno in modified_breakpoint_lines: + added_breaks_in_lines.add(instruction_lineno) + if curr_node.prev is not None and curr_node.prev.data.__class__ == Label \ + and curr_name == 'POP_TOP': + + # If we have a SETUP_FINALLY where the target is a POP_TOP, we can't change + # the target to be the breakpoint instruction (this can crash the interpreter). + + for new_instruction in get_instructions_to_add( + instruction_lineno, + _pydev_stop_at_break=_pydev_stop_at_break, + _pydev_needs_stop_at_break=_pydev_needs_stop_at_break, + ): + curr_node = curr_node.append(new_instruction) + + else: + for new_instruction in get_instructions_to_add( + instruction_lineno, + _pydev_stop_at_break=_pydev_stop_at_break, + _pydev_needs_stop_at_break=_pydev_needs_stop_at_break, + ): + curr_node.prepend(new_instruction) + + curr_node = curr_node.next + + b[:] = helper_list + + if DEBUG: + debug_helper.write_bytecode(b, op_number_bytecode, prefix='bytecode.') + + new_code = b.to_code() + + except: + pydev_log.exception('Error inserting pydevd breaks.') + return False, code_to_modify + + if DEBUG: + op_number = debug_helper.write_dis(code_to_modify) + debug_helper.write_dis(new_code, op_number) + + return True, new_code + diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/release_mem.h b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/release_mem.h new file mode 120000 index 0000000..8176b68 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/release_mem.h @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/31/b3/02/34941791c259f1453bc681f8e0cc2a1374115995f9582033ef30a3bba6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/README.txt b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/README.txt new file mode 120000 index 0000000..be58b95 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/README.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8e/04/8f/b0c3b719cf2770d51ee51c1dc5d541f981f2022a1630f5c7703e8a6d01 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/__init__.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..1d73f2e Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/__pycache__/pydevd_fix_code.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/__pycache__/pydevd_fix_code.cpython-38.pyc new file mode 100644 index 0000000..f06f671 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/__pycache__/pydevd_fix_code.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/COPYING b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/COPYING new file mode 120000 index 0000000..29328bc --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/COPYING @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6d/a5/a4/9be4ded8b2d44702bb4cbd333a431256354253f7b3bce6c7068dbdf139 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/INSTALLER new file mode 120000 index 0000000..d8b8e5c --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/INSTALLER @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ce/eb/ae/7b8927a3227e5303cf5e0f1f7b34bb542ad7250ac03fbcde36ec2f1508 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/METADATA b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/METADATA new file mode 120000 index 0000000..91f59db --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f5/76/9d/0cae984d0f853e8c182390d2e22780ee14469d13ff7cce59f62a0f9044 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/RECORD b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/RECORD new file mode 120000 index 0000000..c03f368 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/RECORD @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/da/e7/47/4eda60417ba4ccb6a3ecc55fac98416b8d2157b4a33fcbf2679bcda8c5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/REQUESTED b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/REQUESTED new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/REQUESTED @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/WHEEL b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/WHEEL new file mode 120000 index 0000000..5c55a1c --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3a/a4/64/174798e461ecb0ca2b16395b4c8ab4ef6be91e917ad1f21003a952f710 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/direct_url.json b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/direct_url.json new file mode 120000 index 0000000..56336b0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/direct_url.json @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b3/9f/11/6f829746530ac64fa6ce9bebfed25143e1f1f3e0c7b14e8d7688429c08 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/top_level.txt new file mode 120000 index 0000000..da34f9f --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f4/18/5d/07b1ea619f8fbc7368597ea29702d8590a9c80438bc1d6f76979b91b2b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/__init__.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/__init__.py new file mode 120000 index 0000000..fe26821 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f6/10/a9/94100657664d6c8e93924902f9979f93f4b16deb005707b6897b5d48f4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..3d036f8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/__pycache__/bytecode.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/__pycache__/bytecode.cpython-38.pyc new file mode 100644 index 0000000..8e0cc9a Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/__pycache__/bytecode.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/__pycache__/cfg.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/__pycache__/cfg.cpython-38.pyc new file mode 100644 index 0000000..785ffbc Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/__pycache__/cfg.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/__pycache__/concrete.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/__pycache__/concrete.cpython-38.pyc new file mode 100644 index 0000000..7ace182 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/__pycache__/concrete.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/__pycache__/flags.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/__pycache__/flags.cpython-38.pyc new file mode 100644 index 0000000..a6fe0be Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/__pycache__/flags.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/__pycache__/instr.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/__pycache__/instr.cpython-38.pyc new file mode 100644 index 0000000..1e20b11 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/__pycache__/instr.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/__pycache__/peephole_opt.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/__pycache__/peephole_opt.cpython-38.pyc new file mode 100644 index 0000000..eae8a13 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/__pycache__/peephole_opt.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/bytecode.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/bytecode.py new file mode 120000 index 0000000..90f295b --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/bytecode.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/50/00/82/3e0d02b8cf5123334c24baaf2e50b378c04d235519f9602ca733bbad03 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/cfg.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/cfg.py new file mode 120000 index 0000000..99d1c60 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/cfg.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fe/78/2d/77a2d3745ef843b78cd24bfe8d8ef463ed66d9d60e55374bdcb0018ba5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/concrete.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/concrete.py new file mode 120000 index 0000000..323111b --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/concrete.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d0/2a/04/679b3154ae812f2b49d4a236a998126fdf9400c917c1ad4688f682dda8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/flags.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/flags.py new file mode 120000 index 0000000..006d980 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/flags.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8a/94/2a/950baf1e7ff3c235a468f95fffe2cf4e339371acaeb774feb008a36105 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/instr.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/instr.py new file mode 120000 index 0000000..e997ecf --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/instr.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cf/9c/e0/73a7492d695a3b1a66884ae6477aa858afa96eca854390e7661631a7dc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/peephole_opt.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/peephole_opt.py new file mode 120000 index 0000000..62056b1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/peephole_opt.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3b/ba/b5/f6ad2c0e2c0de3356414676671e4e128ae1b4183ffd770c521b1fca3c3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__init__.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__init__.py new file mode 120000 index 0000000..1015f5b --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/aa/5a/49/ee78af39a8c4b4dee622383fc298903c18239e4372a55cb529d6e6944c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..17fa0aa Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__pycache__/test_bytecode.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__pycache__/test_bytecode.cpython-38.pyc new file mode 100644 index 0000000..606bc73 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__pycache__/test_bytecode.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__pycache__/test_cfg.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__pycache__/test_cfg.cpython-38.pyc new file mode 100644 index 0000000..d563da9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__pycache__/test_cfg.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__pycache__/test_code.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__pycache__/test_code.cpython-38.pyc new file mode 100644 index 0000000..ee019e2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__pycache__/test_code.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__pycache__/test_concrete.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__pycache__/test_concrete.cpython-38.pyc new file mode 100644 index 0000000..3a31e93 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__pycache__/test_concrete.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__pycache__/test_flags.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__pycache__/test_flags.cpython-38.pyc new file mode 100644 index 0000000..6f7cec0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__pycache__/test_flags.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__pycache__/test_instr.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__pycache__/test_instr.cpython-38.pyc new file mode 100644 index 0000000..d94d4a8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__pycache__/test_instr.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__pycache__/test_misc.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__pycache__/test_misc.cpython-38.pyc new file mode 100644 index 0000000..63749be Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__pycache__/test_misc.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__pycache__/test_peephole_opt.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__pycache__/test_peephole_opt.cpython-38.pyc new file mode 100644 index 0000000..0ec5d61 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__pycache__/test_peephole_opt.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__pycache__/util_annotation.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__pycache__/util_annotation.cpython-38.pyc new file mode 100644 index 0000000..ef7a1b3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__pycache__/util_annotation.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_bytecode.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_bytecode.py new file mode 120000 index 0000000..82cda03 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_bytecode.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a3/14/79/2c7c98ecca7c02735de6007d512d44d872cfd7f8a428367d3b5c9b07d8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_cfg.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_cfg.py new file mode 120000 index 0000000..1bca0fa --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_cfg.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ac/39/52/b01f524c2820be5efda6fd6aeae294c449736adf7dcfcfca70e6dc6dbf \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_code.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_code.py new file mode 120000 index 0000000..060256b --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_code.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e6/9f/7c/1430a91c6d86c54a683276b0e52e9205a93278ca9ae5e5f6f67ace9aea \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_concrete.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_concrete.py new file mode 120000 index 0000000..d9097ea --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_concrete.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1c/a1/40/83dea264a1230cca5a3f06b62ebc0445cb5d59409309c9efa3eb0a9c47 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_flags.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_flags.py new file mode 120000 index 0000000..971ba85 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_flags.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bc/17/96/1811d632f278c8ded174928899266eae3bb2786433ee91e97810402832 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_instr.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_instr.py new file mode 120000 index 0000000..4a991d7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_instr.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/85/0e/84/caa49d76325e52fe2f85916b122cb5c71322aa9c83b822b4c5f29b81ff \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_misc.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_misc.py new file mode 120000 index 0000000..e6720f7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_misc.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cf/42/b9/3b5e929007fcd4896374394aba64bec7be874ab7f9b67346b6c4cbb885 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_peephole_opt.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_peephole_opt.py new file mode 120000 index 0000000..16f1758 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_peephole_opt.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/af/af/b1/20f9111e14259d359792dd2c534a74af503cd048032a81494f11362760 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/util_annotation.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/util_annotation.py new file mode 120000 index 0000000..13b4c02 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/util_annotation.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c0/aa/ba/c8f5abce4365868965e58d746f7563b82928898560bdc22393ff23cdff \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/pydevd_fix_code.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/pydevd_fix_code.py new file mode 120000 index 0000000..61fbd89 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/pydevd_fix_code.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d0/83/0d/a958946fd34ce603f0f4dbfd2946b2f7d5e42e85b84e7925ba9624743b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_app_engine_debug_startup.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_app_engine_debug_startup.py new file mode 120000 index 0000000..c518db5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_app_engine_debug_startup.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fa/00/35/509f29458dd513c6d173b2615919b19516a743c406dfbdb83b98a878a0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_coverage.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_coverage.py new file mode 100644 index 0000000..665e87b --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_coverage.py @@ -0,0 +1,94 @@ +''' +Entry point module to run code-coverage. +''' + + +def is_valid_py_file(path): + ''' + Checks whether the file can be read by the coverage module. This is especially + needed for .pyx files and .py files with syntax errors. + ''' + import os + + is_valid = False + if os.path.isfile(path) and not os.path.splitext(path)[1] == '.pyx': + try: + with open(path, 'rb') as f: + compile(f.read(), path, 'exec') + is_valid = True + except: + pass + return is_valid + + +def execute(): + import os + import sys + + files = None + if 'combine' not in sys.argv: + + if '--pydev-analyze' in sys.argv: + + # Ok, what we want here is having the files passed through stdin (because + # there may be too many files for passing in the command line -- we could + # just pass a dir and make the find files here, but as that's already + # given in the java side, let's just gather that info here). + sys.argv.remove('--pydev-analyze') + s = input() + s = s.replace('\r', '') + s = s.replace('\n', '') + + files = [] + invalid_files = [] + for v in s.split('|'): + if is_valid_py_file(v): + files.append(v) + else: + invalid_files.append(v) + if invalid_files: + sys.stderr.write('Invalid files not passed to coverage: %s\n' + % ', '.join(invalid_files)) + + # Note that in this case we'll already be in the working dir with the coverage files, + # so, the coverage file location is not passed. + + else: + # For all commands, the coverage file is configured in pydev, and passed as the first + # argument in the command line, so, let's make sure this gets to the coverage module. + os.environ['COVERAGE_FILE'] = sys.argv[1] + del sys.argv[1] + + try: + import coverage # @UnresolvedImport + except: + sys.stderr.write('Error: coverage module could not be imported\n') + sys.stderr.write('Please make sure that the coverage module ' + '(http://nedbatchelder.com/code/coverage/)\n') + sys.stderr.write('is properly installed in your interpreter: %s\n' % (sys.executable,)) + + import traceback;traceback.print_exc() + return + + if hasattr(coverage, '__version__'): + version = tuple(map(int, coverage.__version__.split('.')[:2])) + if version < (4, 3): + sys.stderr.write('Error: minimum supported coverage version is 4.3.' + '\nFound: %s\nLocation: %s\n' + % ('.'.join(str(x) for x in version), coverage.__file__)) + sys.exit(1) + else: + sys.stderr.write('Warning: Could not determine version of python module coverage.' + '\nEnsure coverage version is >= 4.3\n') + + from coverage.cmdline import main # @UnresolvedImport + + if files is not None: + sys.argv.append('xml') + sys.argv += files + + main() + + +if __name__ == '__main__': + execute() diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/README b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/README new file mode 120000 index 0000000..224bad3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/README @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ae/f2/16/0d4a0db0fc484d283a114bb72fd0e28666540b0c7af2f42caa8fc54908 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/__init__.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..d4c5abd Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/__pycache__/inputhook.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/__pycache__/inputhook.cpython-38.pyc new file mode 100644 index 0000000..00be5b3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/__pycache__/inputhook.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/__pycache__/inputhookglut.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/__pycache__/inputhookglut.cpython-38.pyc new file mode 100644 index 0000000..a70de12 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/__pycache__/inputhookglut.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/__pycache__/inputhookgtk.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/__pycache__/inputhookgtk.cpython-38.pyc new file mode 100644 index 0000000..33b238c Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/__pycache__/inputhookgtk.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/__pycache__/inputhookgtk3.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/__pycache__/inputhookgtk3.cpython-38.pyc new file mode 100644 index 0000000..be76550 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/__pycache__/inputhookgtk3.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/__pycache__/inputhookpyglet.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/__pycache__/inputhookpyglet.cpython-38.pyc new file mode 100644 index 0000000..9d1220d Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/__pycache__/inputhookpyglet.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/__pycache__/inputhookqt4.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/__pycache__/inputhookqt4.cpython-38.pyc new file mode 100644 index 0000000..b5f03bb Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/__pycache__/inputhookqt4.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/__pycache__/inputhookqt5.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/__pycache__/inputhookqt5.cpython-38.pyc new file mode 100644 index 0000000..26f917f Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/__pycache__/inputhookqt5.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/__pycache__/inputhooktk.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/__pycache__/inputhooktk.cpython-38.pyc new file mode 100644 index 0000000..c06331b Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/__pycache__/inputhooktk.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/__pycache__/inputhookwx.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/__pycache__/inputhookwx.cpython-38.pyc new file mode 100644 index 0000000..0f0336d Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/__pycache__/inputhookwx.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/__pycache__/matplotlibtools.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/__pycache__/matplotlibtools.cpython-38.pyc new file mode 100644 index 0000000..3c27d34 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/__pycache__/matplotlibtools.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/__pycache__/qt.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/__pycache__/qt.cpython-38.pyc new file mode 100644 index 0000000..016ea12 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/__pycache__/qt.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/__pycache__/qt_for_kernel.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/__pycache__/qt_for_kernel.cpython-38.pyc new file mode 100644 index 0000000..7dcfebd Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/__pycache__/qt_for_kernel.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/__pycache__/qt_loaders.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/__pycache__/qt_loaders.cpython-38.pyc new file mode 100644 index 0000000..5fd3c18 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/__pycache__/qt_loaders.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/__pycache__/version.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/__pycache__/version.cpython-38.pyc new file mode 100644 index 0000000..f6baa6b Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/__pycache__/version.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/inputhook.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/inputhook.py new file mode 120000 index 0000000..228e261 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/inputhook.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1a/38/5f/302d30be1486b0329339310eb741a5e8595e692f35c949f80311889596 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/inputhookglut.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/inputhookglut.py new file mode 100644 index 0000000..d65add9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/inputhookglut.py @@ -0,0 +1,154 @@ +# coding: utf-8 +""" +GLUT Inputhook support functions +""" + +#----------------------------------------------------------------------------- +# Copyright (C) 2008-2011 The IPython Development Team +# +# Distributed under the terms of the BSD License. The full license is in +# the file COPYING, distributed as part of this software. +#----------------------------------------------------------------------------- + +# GLUT is quite an old library and it is difficult to ensure proper +# integration within IPython since original GLUT does not allow to handle +# events one by one. Instead, it requires for the mainloop to be entered +# and never returned (there is not even a function to exit he +# mainloop). Fortunately, there are alternatives such as freeglut +# (available for linux and windows) and the OSX implementation gives +# access to a glutCheckLoop() function that blocks itself until a new +# event is received. This means we have to setup the idle callback to +# ensure we got at least one event that will unblock the function. +# +# Furthermore, it is not possible to install these handlers without a window +# being first created. We choose to make this window invisible. This means that +# display mode options are set at this level and user won't be able to change +# them later without modifying the code. This should probably be made available +# via IPython options system. + +#----------------------------------------------------------------------------- +# Imports +#----------------------------------------------------------------------------- +import os +import sys +from _pydev_bundle._pydev_saved_modules import time +import signal +import OpenGL.GLUT as glut # @UnresolvedImport +import OpenGL.platform as platform # @UnresolvedImport +from timeit import default_timer as clock +from pydev_ipython.inputhook import stdin_ready + +#----------------------------------------------------------------------------- +# Constants +#----------------------------------------------------------------------------- + +# Frame per second : 60 +# Should probably be an IPython option +glut_fps = 60 + +# Display mode : double buffeed + rgba + depth +# Should probably be an IPython option +glut_display_mode = (glut.GLUT_DOUBLE | + glut.GLUT_RGBA | + glut.GLUT_DEPTH) + +glutMainLoopEvent = None +if sys.platform == 'darwin': + try: + glutCheckLoop = platform.createBaseFunction( + 'glutCheckLoop', dll=platform.GLUT, resultType=None, + argTypes=[], + doc='glutCheckLoop( ) -> None', + argNames=(), + ) + except AttributeError: + raise RuntimeError( + '''Your glut implementation does not allow interactive sessions''' + '''Consider installing freeglut.''') + glutMainLoopEvent = glutCheckLoop +elif glut.HAVE_FREEGLUT: + glutMainLoopEvent = glut.glutMainLoopEvent +else: + raise RuntimeError( + '''Your glut implementation does not allow interactive sessions. ''' + '''Consider installing freeglut.''') + +#----------------------------------------------------------------------------- +# Callback functions +#----------------------------------------------------------------------------- + + +def glut_display(): + # Dummy display function + pass + + +def glut_idle(): + # Dummy idle function + pass + + +def glut_close(): + # Close function only hides the current window + glut.glutHideWindow() + glutMainLoopEvent() + + +def glut_int_handler(signum, frame): + # Catch sigint and print the defautl message + signal.signal(signal.SIGINT, signal.default_int_handler) + print('\nKeyboardInterrupt') + # Need to reprint the prompt at this stage + + +#----------------------------------------------------------------------------- +# Code +#----------------------------------------------------------------------------- +def inputhook_glut(): + """Run the pyglet event loop by processing pending events only. + + This keeps processing pending events until stdin is ready. After + processing all pending events, a call to time.sleep is inserted. This is + needed, otherwise, CPU usage is at 100%. This sleep time should be tuned + though for best performance. + """ + # We need to protect against a user pressing Control-C when IPython is + # idle and this is running. We trap KeyboardInterrupt and pass. + + signal.signal(signal.SIGINT, glut_int_handler) + + try: + t = clock() + + # Make sure the default window is set after a window has been closed + if glut.glutGetWindow() == 0: + glut.glutSetWindow(1) + glutMainLoopEvent() + return 0 + + while not stdin_ready(): + glutMainLoopEvent() + # We need to sleep at this point to keep the idle CPU load + # low. However, if sleep to long, GUI response is poor. As + # a compromise, we watch how often GUI events are being processed + # and switch between a short and long sleep time. Here are some + # stats useful in helping to tune this. + # time CPU load + # 0.001 13% + # 0.005 3% + # 0.01 1.5% + # 0.05 0.5% + used_time = clock() - t + if used_time > 10.0: + # print 'Sleep for 1 s' # dbg + time.sleep(1.0) + elif used_time > 0.1: + # Few GUI events coming in, so we can sleep longer + # print 'Sleep for 0.05 s' # dbg + time.sleep(0.05) + else: + # Many GUI events coming in, so sleep only very little + time.sleep(0.001) + except KeyboardInterrupt: + pass + return 0 diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/inputhookgtk.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/inputhookgtk.py new file mode 120000 index 0000000..532282e --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/inputhookgtk.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2c/32/e0/d2d0d76e6bfe62838345e40ab4ebb901adc4081afd1d468d255d54624d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/inputhookgtk3.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/inputhookgtk3.py new file mode 120000 index 0000000..b30fd20 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/inputhookgtk3.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4a/1d/fc/db1af6e73b4a0107c2841366e03f8d0b952863e1e8d0b4c88f78b85a2f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/inputhookpyglet.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/inputhookpyglet.py new file mode 100644 index 0000000..5529307 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/inputhookpyglet.py @@ -0,0 +1,92 @@ +# encoding: utf-8 +""" +Enable pyglet to be used interacive by setting PyOS_InputHook. + +Authors +------- + +* Nicolas P. Rougier +* Fernando Perez +""" + +#----------------------------------------------------------------------------- +# Copyright (C) 2008-2011 The IPython Development Team +# +# Distributed under the terms of the BSD License. The full license is in +# the file COPYING, distributed as part of this software. +#----------------------------------------------------------------------------- + +#----------------------------------------------------------------------------- +# Imports +#----------------------------------------------------------------------------- + +import os +import sys +from _pydev_bundle._pydev_saved_modules import time +from timeit import default_timer as clock +import pyglet # @UnresolvedImport +from pydev_ipython.inputhook import stdin_ready + + +# On linux only, window.flip() has a bug that causes an AttributeError on +# window close. For details, see: +# http://groups.google.com/group/pyglet-users/browse_thread/thread/47c1aab9aa4a3d23/c22f9e819826799e?#c22f9e819826799e + +if sys.platform.startswith('linux'): + def flip(window): + try: + window.flip() + except AttributeError: + pass +else: + def flip(window): + window.flip() + +#----------------------------------------------------------------------------- +# Code +#----------------------------------------------------------------------------- + +def inputhook_pyglet(): + """Run the pyglet event loop by processing pending events only. + + This keeps processing pending events until stdin is ready. After + processing all pending events, a call to time.sleep is inserted. This is + needed, otherwise, CPU usage is at 100%. This sleep time should be tuned + though for best performance. + """ + # We need to protect against a user pressing Control-C when IPython is + # idle and this is running. We trap KeyboardInterrupt and pass. + try: + t = clock() + while not stdin_ready(): + pyglet.clock.tick() + for window in pyglet.app.windows: + window.switch_to() + window.dispatch_events() + window.dispatch_event('on_draw') + flip(window) + + # We need to sleep at this point to keep the idle CPU load + # low. However, if sleep to long, GUI response is poor. As + # a compromise, we watch how often GUI events are being processed + # and switch between a short and long sleep time. Here are some + # stats useful in helping to tune this. + # time CPU load + # 0.001 13% + # 0.005 3% + # 0.01 1.5% + # 0.05 0.5% + used_time = clock() - t + if used_time > 10.0: + # print 'Sleep for 1 s' # dbg + time.sleep(1.0) + elif used_time > 0.1: + # Few GUI events coming in, so we can sleep longer + # print 'Sleep for 0.05 s' # dbg + time.sleep(0.05) + else: + # Many GUI events coming in, so sleep only very little + time.sleep(0.001) + except KeyboardInterrupt: + pass + return 0 diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/inputhookqt4.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/inputhookqt4.py new file mode 120000 index 0000000..cf390ef --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/inputhookqt4.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0c/a3/a8/6c4bc7e9b22492f385e7cd558fead05d649453a7fb70473d7f35ebdff8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/inputhookqt5.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/inputhookqt5.py new file mode 120000 index 0000000..9b10b79 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/inputhookqt5.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f3/6a/7a/98b32b69d580cb31e1f5f6876ff7902518a0220696ef85916cd2daa057 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/inputhooktk.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/inputhooktk.py new file mode 120000 index 0000000..21499d7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/inputhooktk.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6d/6e/e1/2d5bf624eb8fd344d27aa230f4edca28d547b410691396c70125be6d2a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/inputhookwx.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/inputhookwx.py new file mode 100644 index 0000000..c2e4b91 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/inputhookwx.py @@ -0,0 +1,169 @@ +# encoding: utf-8 +""" +Enable wxPython to be used interacive by setting PyOS_InputHook. + +Authors: Robin Dunn, Brian Granger, Ondrej Certik +""" + +#----------------------------------------------------------------------------- +# Copyright (C) 2008-2011 The IPython Development Team +# +# Distributed under the terms of the BSD License. The full license is in +# the file COPYING, distributed as part of this software. +#----------------------------------------------------------------------------- + +#----------------------------------------------------------------------------- +# Imports +#----------------------------------------------------------------------------- + +import sys +import signal +from _pydev_bundle._pydev_saved_modules import time +from timeit import default_timer as clock +import wx + +from pydev_ipython.inputhook import stdin_ready + + +#----------------------------------------------------------------------------- +# Code +#----------------------------------------------------------------------------- + +def inputhook_wx1(): + """Run the wx event loop by processing pending events only. + + This approach seems to work, but its performance is not great as it + relies on having PyOS_InputHook called regularly. + """ + try: + app = wx.GetApp() # @UndefinedVariable + if app is not None: + assert wx.Thread_IsMain() # @UndefinedVariable + + # Make a temporary event loop and process system events until + # there are no more waiting, then allow idle events (which + # will also deal with pending or posted wx events.) + evtloop = wx.EventLoop() # @UndefinedVariable + ea = wx.EventLoopActivator(evtloop) # @UndefinedVariable + while evtloop.Pending(): + evtloop.Dispatch() + app.ProcessIdle() + del ea + except KeyboardInterrupt: + pass + return 0 + +class EventLoopTimer(wx.Timer): # @UndefinedVariable + + def __init__(self, func): + self.func = func + wx.Timer.__init__(self) # @UndefinedVariable + + def Notify(self): + self.func() + +class EventLoopRunner(object): + + def Run(self, time): + self.evtloop = wx.EventLoop() # @UndefinedVariable + self.timer = EventLoopTimer(self.check_stdin) + self.timer.Start(time) + self.evtloop.Run() + + def check_stdin(self): + if stdin_ready(): + self.timer.Stop() + self.evtloop.Exit() + +def inputhook_wx2(): + """Run the wx event loop, polling for stdin. + + This version runs the wx eventloop for an undetermined amount of time, + during which it periodically checks to see if anything is ready on + stdin. If anything is ready on stdin, the event loop exits. + + The argument to elr.Run controls how often the event loop looks at stdin. + This determines the responsiveness at the keyboard. A setting of 1000 + enables a user to type at most 1 char per second. I have found that a + setting of 10 gives good keyboard response. We can shorten it further, + but eventually performance would suffer from calling select/kbhit too + often. + """ + try: + app = wx.GetApp() # @UndefinedVariable + if app is not None: + assert wx.Thread_IsMain() # @UndefinedVariable + elr = EventLoopRunner() + # As this time is made shorter, keyboard response improves, but idle + # CPU load goes up. 10 ms seems like a good compromise. + elr.Run(time=10) # CHANGE time here to control polling interval + except KeyboardInterrupt: + pass + return 0 + +def inputhook_wx3(): + """Run the wx event loop by processing pending events only. + + This is like inputhook_wx1, but it keeps processing pending events + until stdin is ready. After processing all pending events, a call to + time.sleep is inserted. This is needed, otherwise, CPU usage is at 100%. + This sleep time should be tuned though for best performance. + """ + # We need to protect against a user pressing Control-C when IPython is + # idle and this is running. We trap KeyboardInterrupt and pass. + try: + app = wx.GetApp() # @UndefinedVariable + if app is not None: + if hasattr(wx, 'IsMainThread'): + assert wx.IsMainThread() # @UndefinedVariable + else: + assert wx.Thread_IsMain() # @UndefinedVariable + + # The import of wx on Linux sets the handler for signal.SIGINT + # to 0. This is a bug in wx or gtk. We fix by just setting it + # back to the Python default. + if not callable(signal.getsignal(signal.SIGINT)): + signal.signal(signal.SIGINT, signal.default_int_handler) + + evtloop = wx.EventLoop() # @UndefinedVariable + ea = wx.EventLoopActivator(evtloop) # @UndefinedVariable + t = clock() + while not stdin_ready(): + while evtloop.Pending(): + t = clock() + evtloop.Dispatch() + app.ProcessIdle() + # We need to sleep at this point to keep the idle CPU load + # low. However, if sleep to long, GUI response is poor. As + # a compromise, we watch how often GUI events are being processed + # and switch between a short and long sleep time. Here are some + # stats useful in helping to tune this. + # time CPU load + # 0.001 13% + # 0.005 3% + # 0.01 1.5% + # 0.05 0.5% + used_time = clock() - t + if used_time > 10.0: + # print 'Sleep for 1 s' # dbg + time.sleep(1.0) + elif used_time > 0.1: + # Few GUI events coming in, so we can sleep longer + # print 'Sleep for 0.05 s' # dbg + time.sleep(0.05) + else: + # Many GUI events coming in, so sleep only very little + time.sleep(0.001) + del ea + except KeyboardInterrupt: + pass + return 0 + +if sys.platform == 'darwin': + # On OSX, evtloop.Pending() always returns True, regardless of there being + # any events pending. As such we can't use implementations 1 or 3 of the + # inputhook as those depend on a pending/dispatch loop. + inputhook_wx = inputhook_wx2 +else: + # This is our default implementation + inputhook_wx = inputhook_wx3 diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/matplotlibtools.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/matplotlibtools.py new file mode 120000 index 0000000..508c68e --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/matplotlibtools.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6d/94/88/618d3d0a7cbdebe369c4e75b994d25b9e3446827c88493fcec3f9d6c57 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/qt.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/qt.py new file mode 120000 index 0000000..50e4b0b --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/qt.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2d/ec/be/ec7fc59f8d336ba9492a67a40beaf4b8e4de3a09c7e85206501686a8ff \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/qt_for_kernel.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/qt_for_kernel.py new file mode 120000 index 0000000..300120b --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/qt_for_kernel.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1c/5e/bc/5a55d1d3c5bafb80770e3b85fb901b34430babe357215b1ca125131057 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/qt_loaders.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/qt_loaders.py new file mode 120000 index 0000000..deabd19 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/qt_loaders.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/67/1c/96/3c67c2b5d61b1abb49e3d064016bbb0845bac37f158d29e8784cef5a33 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/version.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/version.py new file mode 120000 index 0000000..7aac396 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_ipython/version.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/94/b0/52/47c9ad945d5e0b3c3039e8e58dc840c9f4b2d28a43f1bd30fd08d1f7b4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_pysrc.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_pysrc.py new file mode 120000 index 0000000..a1d09dd --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_pysrc.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2c/ab/70/4320d862bcb79612fb61a96099e860583f36f8d0e9a906188b56d3623f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_run_in_console.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_run_in_console.py new file mode 100644 index 0000000..a87a0e4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_run_in_console.py @@ -0,0 +1,153 @@ +''' +Entry point module to run a file in the interactive console. +''' +import os +import sys +import traceback +from pydevconsole import InterpreterInterface, process_exec_queue, start_console_server, init_mpl_in_console +from _pydev_bundle._pydev_saved_modules import threading, _queue + +from _pydev_bundle import pydev_imports +from _pydevd_bundle.pydevd_utils import save_main_module +from _pydev_bundle.pydev_console_utils import StdIn +from pydevd_file_utils import get_fullname + + +def run_file(file, globals=None, locals=None, is_module=False): + module_name = None + entry_point_fn = None + if is_module: + file, _, entry_point_fn = file.partition(':') + module_name = file + filename = get_fullname(file) + if filename is None: + sys.stderr.write("No module named %s\n" % file) + return + else: + file = filename + + if os.path.isdir(file): + new_target = os.path.join(file, '__main__.py') + if os.path.isfile(new_target): + file = new_target + + if globals is None: + m = save_main_module(file, 'pydev_run_in_console') + + globals = m.__dict__ + try: + globals['__builtins__'] = __builtins__ + except NameError: + pass # Not there on Jython... + + if locals is None: + locals = globals + + if not is_module: + sys.path.insert(0, os.path.split(file)[0]) + + print('Running %s' % file) + try: + if not is_module: + pydev_imports.execfile(file, globals, locals) # execute the script + else: + # treat ':' as a seperator between module and entry point function + # if there is no entry point we run we same as with -m switch. Otherwise we perform + # an import and execute the entry point + if entry_point_fn: + mod = __import__(module_name, level=0, fromlist=[entry_point_fn], globals=globals, locals=locals) + func = getattr(mod, entry_point_fn) + func() + else: + # Run with the -m switch + from _pydevd_bundle import pydevd_runpy + pydevd_runpy._run_module_as_main(module_name) + except: + traceback.print_exc() + + return globals + + +def skip_successful_exit(*args): + """ System exit in file shouldn't kill interpreter (i.e. in `timeit`)""" + if len(args) == 1 and args[0] in (0, None): + pass + else: + raise SystemExit(*args) + + +def process_args(argv): + setup_args = {'file': '', 'module': False} + + setup_args['port'] = argv[1] + del argv[1] + setup_args['client_port'] = argv[1] + del argv[1] + + module_flag = "--module" + if module_flag in argv: + i = argv.index(module_flag) + if i != -1: + setup_args['module'] = True + setup_args['file'] = argv[i + 1] + del sys.argv[i] + else: + setup_args['file'] = argv[1] + + del argv[0] + + return setup_args + + +#======================================================================================================================= +# main +#======================================================================================================================= +if __name__ == '__main__': + setup = process_args(sys.argv) + + port = setup['port'] + client_port = setup['client_port'] + file = setup['file'] + is_module = setup['module'] + + from _pydev_bundle import pydev_localhost + + if int(port) == 0 and int(client_port) == 0: + (h, p) = pydev_localhost.get_socket_name() + client_port = p + + host = pydev_localhost.get_localhost() + + # replace exit (see comments on method) + # note that this does not work in jython!!! (sys method can't be replaced). + sys.exit = skip_successful_exit + + connect_status_queue = _queue.Queue() + interpreter = InterpreterInterface(host, int(client_port), threading.current_thread(), connect_status_queue=connect_status_queue) + + server_thread = threading.Thread(target=start_console_server, + name='ServerThread', + args=(host, int(port), interpreter)) + server_thread.daemon = True + server_thread.start() + + sys.stdin = StdIn(interpreter, host, client_port, sys.stdin) + + init_mpl_in_console(interpreter) + + try: + success = connect_status_queue.get(True, 60) + if not success: + raise ValueError() + except: + sys.stderr.write("Console server didn't start\n") + sys.stderr.flush() + sys.exit(1) + + globals = run_file(file, None, None, is_module) + + interpreter.get_namespace().update(globals) + + interpreter.ShowConsole() + + process_exec_queue(interpreter) diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_sitecustomize/__not_in_default_pythonpath.txt b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_sitecustomize/__not_in_default_pythonpath.txt new file mode 120000 index 0000000..47dde04 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_sitecustomize/__not_in_default_pythonpath.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/86/79/13/02ec52156fd38a5830d01b754552eb7c6444de16230264cf9b593eb1cf \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_sitecustomize/__pycache__/sitecustomize.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_sitecustomize/__pycache__/sitecustomize.cpython-38.pyc new file mode 100644 index 0000000..67319eb Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_sitecustomize/__pycache__/sitecustomize.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_sitecustomize/sitecustomize.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_sitecustomize/sitecustomize.py new file mode 120000 index 0000000..af63398 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydev_sitecustomize/sitecustomize.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/90/71/55/0882d09e0b5b353822693bb489c58387b851cea2293250127942c8f16a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevconsole.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevconsole.py new file mode 100644 index 0000000..6b13788 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevconsole.py @@ -0,0 +1,603 @@ +''' +Entry point module to start the interactive console. +''' +from _pydev_bundle._pydev_saved_modules import thread, _code +from _pydevd_bundle.pydevd_constants import IS_JYTHON +start_new_thread = thread.start_new_thread + +from _pydevd_bundle.pydevconsole_code import InteractiveConsole + +compile_command = _code.compile_command +InteractiveInterpreter = _code.InteractiveInterpreter + +import os +import sys + +from _pydev_bundle._pydev_saved_modules import threading +from _pydevd_bundle.pydevd_constants import INTERACTIVE_MODE_AVAILABLE + +import traceback +from _pydev_bundle import pydev_log + +from _pydevd_bundle import pydevd_save_locals + +from _pydev_bundle.pydev_imports import Exec, _queue + +import builtins as __builtin__ + +from _pydev_bundle.pydev_console_utils import BaseInterpreterInterface, BaseStdIn # @UnusedImport +from _pydev_bundle.pydev_console_utils import CodeFragment + + +class Command: + + def __init__(self, interpreter, code_fragment): + """ + :type code_fragment: CodeFragment + :type interpreter: InteractiveConsole + """ + self.interpreter = interpreter + self.code_fragment = code_fragment + self.more = None + + def symbol_for_fragment(code_fragment): + if code_fragment.is_single_line: + symbol = 'single' + else: + if IS_JYTHON: + symbol = 'single' # Jython doesn't support exec + else: + symbol = 'exec' + return symbol + + symbol_for_fragment = staticmethod(symbol_for_fragment) + + def run(self): + text = self.code_fragment.text + symbol = self.symbol_for_fragment(self.code_fragment) + + self.more = self.interpreter.runsource(text, '', symbol) + + +try: + from _pydev_bundle.pydev_imports import execfile + + __builtin__.execfile = execfile +except: + pass + +# Pull in runfile, the interface to UMD that wraps execfile +from _pydev_bundle.pydev_umd import runfile, _set_globals_function +if sys.version_info[0] >= 3: + __builtin__.runfile = runfile +else: + __builtin__.runfile = runfile + + +#======================================================================================================================= +# InterpreterInterface +#======================================================================================================================= +class InterpreterInterface(BaseInterpreterInterface): + ''' + The methods in this class should be registered in the xml-rpc server. + ''' + + def __init__(self, host, client_port, mainThread, connect_status_queue=None): + BaseInterpreterInterface.__init__(self, mainThread, connect_status_queue) + self.client_port = client_port + self.host = host + self.namespace = {} + self.interpreter = InteractiveConsole(self.namespace) + self._input_error_printed = False + + def do_add_exec(self, codeFragment): + command = Command(self.interpreter, codeFragment) + command.run() + return command.more + + def get_namespace(self): + return self.namespace + + def getCompletions(self, text, act_tok): + try: + from _pydev_bundle._pydev_completer import Completer + + completer = Completer(self.namespace, None) + return completer.complete(act_tok) + except: + pydev_log.exception() + return [] + + def close(self): + sys.exit(0) + + def get_greeting_msg(self): + return 'PyDev console: starting.\n' + + +class _ProcessExecQueueHelper: + _debug_hook = None + _return_control_osc = False + + +def set_debug_hook(debug_hook): + _ProcessExecQueueHelper._debug_hook = debug_hook + + +def activate_mpl_if_already_imported(interpreter): + if interpreter.mpl_modules_for_patching: + for module in list(interpreter.mpl_modules_for_patching): + if module in sys.modules: + activate_function = interpreter.mpl_modules_for_patching.pop(module) + activate_function() + + +def init_set_return_control_back(interpreter): + from pydev_ipython.inputhook import set_return_control_callback + + def return_control(): + ''' A function that the inputhooks can call (via inputhook.stdin_ready()) to find + out if they should cede control and return ''' + if _ProcessExecQueueHelper._debug_hook: + # Some of the input hooks check return control without doing + # a single operation, so we don't return True on every + # call when the debug hook is in place to allow the GUI to run + # XXX: Eventually the inputhook code will have diverged enough + # from the IPython source that it will be worthwhile rewriting + # it rather than pretending to maintain the old API + _ProcessExecQueueHelper._return_control_osc = not _ProcessExecQueueHelper._return_control_osc + if _ProcessExecQueueHelper._return_control_osc: + return True + + if not interpreter.exec_queue.empty(): + return True + return False + + set_return_control_callback(return_control) + + +def init_mpl_in_console(interpreter): + init_set_return_control_back(interpreter) + + if not INTERACTIVE_MODE_AVAILABLE: + return + + activate_mpl_if_already_imported(interpreter) + from _pydev_bundle.pydev_import_hook import import_hook_manager + for mod in list(interpreter.mpl_modules_for_patching): + import_hook_manager.add_module_name(mod, interpreter.mpl_modules_for_patching.pop(mod)) + + +if sys.platform != 'win32': + + if not hasattr(os, 'kill'): # Jython may not have it. + + def pid_exists(pid): + return True + + else: + + def pid_exists(pid): + # Note that this function in the face of errors will conservatively consider that + # the pid is still running (because we'll exit the current process when it's + # no longer running, so, we need to be 100% sure it actually exited). + + import errno + if pid == 0: + # According to "man 2 kill" PID 0 has a special meaning: + # it refers to <> so we don't want to go any further. + # If we get here it means this UNIX platform *does* have + # a process with id 0. + return True + try: + os.kill(pid, 0) + except OSError as err: + if err.errno == errno.ESRCH: + # ESRCH == No such process + return False + elif err.errno == errno.EPERM: + # EPERM clearly means there's a process to deny access to + return True + else: + # According to "man 2 kill" possible error values are + # (EINVAL, EPERM, ESRCH) therefore we should never get + # here. If we do, although it's an error, consider it + # exists (see first comment in this function). + return True + else: + return True + +else: + + def pid_exists(pid): + # Note that this function in the face of errors will conservatively consider that + # the pid is still running (because we'll exit the current process when it's + # no longer running, so, we need to be 100% sure it actually exited). + import ctypes + kernel32 = ctypes.windll.kernel32 + + PROCESS_QUERY_INFORMATION = 0x0400 + PROCESS_QUERY_LIMITED_INFORMATION = 0x1000 + ERROR_INVALID_PARAMETER = 0x57 + STILL_ACTIVE = 259 + + process = kernel32.OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_QUERY_LIMITED_INFORMATION, 0, pid) + if not process: + err = kernel32.GetLastError() + if err == ERROR_INVALID_PARAMETER: + # Means it doesn't exist (pid parameter is wrong). + return False + + # There was some unexpected error (such as access denied), so + # consider it exists (although it could be something else, but we don't want + # to raise any errors -- so, just consider it exists). + return True + + try: + zero = ctypes.c_int(0) + exit_code = ctypes.pointer(zero) + + exit_code_suceeded = kernel32.GetExitCodeProcess(process, exit_code) + if not exit_code_suceeded: + # There was some unexpected error (such as access denied), so + # consider it exists (although it could be something else, but we don't want + # to raise any errors -- so, just consider it exists). + return True + + elif bool(exit_code.contents.value) and int(exit_code.contents.value) != STILL_ACTIVE: + return False + finally: + kernel32.CloseHandle(process) + + return True + + +def process_exec_queue(interpreter): + init_mpl_in_console(interpreter) + from pydev_ipython.inputhook import get_inputhook + try: + kill_if_pid_not_alive = int(os.environ.get('PYDEV_ECLIPSE_PID', '-1')) + except: + kill_if_pid_not_alive = -1 + + while 1: + if kill_if_pid_not_alive != -1: + if not pid_exists(kill_if_pid_not_alive): + exit() + + # Running the request may have changed the inputhook in use + inputhook = get_inputhook() + + if _ProcessExecQueueHelper._debug_hook: + _ProcessExecQueueHelper._debug_hook() + + if inputhook: + try: + # Note: it'll block here until return_control returns True. + inputhook() + except: + pydev_log.exception() + try: + try: + code_fragment = interpreter.exec_queue.get(block=True, timeout=1 / 20.) # 20 calls/second + except _queue.Empty: + continue + + if callable(code_fragment): + # It can be a callable (i.e.: something that must run in the main + # thread can be put in the queue for later execution). + code_fragment() + else: + more = interpreter.add_exec(code_fragment) + except KeyboardInterrupt: + interpreter.buffer = None + continue + except SystemExit: + raise + except: + pydev_log.exception('Error processing queue on pydevconsole.') + exit() + + +if 'IPYTHONENABLE' in os.environ: + IPYTHON = os.environ['IPYTHONENABLE'] == 'True' +else: + # By default, don't use IPython because occasionally changes + # in IPython break pydevd. + IPYTHON = False + +try: + try: + exitfunc = sys.exitfunc + except AttributeError: + exitfunc = None + + if IPYTHON: + from _pydev_bundle.pydev_ipython_console import InterpreterInterface + if exitfunc is not None: + sys.exitfunc = exitfunc + else: + try: + delattr(sys, 'exitfunc') + except: + pass +except: + IPYTHON = False + pass + + +#======================================================================================================================= +# _DoExit +#======================================================================================================================= +def do_exit(*args): + ''' + We have to override the exit because calling sys.exit will only actually exit the main thread, + and as we're in a Xml-rpc server, that won't work. + ''' + + try: + import java.lang.System + + java.lang.System.exit(1) + except ImportError: + if len(args) == 1: + os._exit(args[0]) + else: + os._exit(0) + + +#======================================================================================================================= +# start_console_server +#======================================================================================================================= +def start_console_server(host, port, interpreter): + try: + if port == 0: + host = '' + + # I.e.: supporting the internal Jython version in PyDev to create a Jython interactive console inside Eclipse. + from _pydev_bundle.pydev_imports import SimpleXMLRPCServer as XMLRPCServer # @Reimport + + try: + server = XMLRPCServer((host, port), logRequests=False, allow_none=True) + + except: + sys.stderr.write('Error starting server with host: "%s", port: "%s", client_port: "%s"\n' % (host, port, interpreter.client_port)) + sys.stderr.flush() + raise + + # Tell UMD the proper default namespace + _set_globals_function(interpreter.get_namespace) + + server.register_function(interpreter.execLine) + server.register_function(interpreter.execMultipleLines) + server.register_function(interpreter.getCompletions) + server.register_function(interpreter.getFrame) + server.register_function(interpreter.getVariable) + server.register_function(interpreter.changeVariable) + server.register_function(interpreter.getDescription) + server.register_function(interpreter.close) + server.register_function(interpreter.interrupt) + server.register_function(interpreter.handshake) + server.register_function(interpreter.connectToDebugger) + server.register_function(interpreter.hello) + server.register_function(interpreter.getArray) + server.register_function(interpreter.evaluate) + server.register_function(interpreter.ShowConsole) + server.register_function(interpreter.loadFullValue) + + # Functions for GUI main loop integration + server.register_function(interpreter.enableGui) + + if port == 0: + (h, port) = server.socket.getsockname() + + print(port) + print(interpreter.client_port) + + while True: + try: + server.serve_forever() + except: + # Ugly code to be py2/3 compatible + # https://sw-brainwy.rhcloud.com/tracker/PyDev/534: + # Unhandled "interrupted system call" error in the pydevconsol.py + e = sys.exc_info()[1] + retry = False + try: + retry = e.args[0] == 4 # errno.EINTR + except: + pass + if not retry: + raise + # Otherwise, keep on going + return server + except: + pydev_log.exception() + # Notify about error to avoid long waiting + connection_queue = interpreter.get_connect_status_queue() + if connection_queue is not None: + connection_queue.put(False) + + +def start_server(host, port, client_port): + # replace exit (see comments on method) + # note that this does not work in jython!!! (sys method can't be replaced). + sys.exit = do_exit + + interpreter = InterpreterInterface(host, client_port, threading.current_thread()) + + start_new_thread(start_console_server, (host, port, interpreter)) + + process_exec_queue(interpreter) + + +def get_ipython_hidden_vars(): + if IPYTHON and hasattr(__builtin__, 'interpreter'): + interpreter = get_interpreter() + return interpreter.get_ipython_hidden_vars_dict() + + +def get_interpreter(): + try: + interpreterInterface = getattr(__builtin__, 'interpreter') + except AttributeError: + interpreterInterface = InterpreterInterface(None, None, threading.current_thread()) + __builtin__.interpreter = interpreterInterface + sys.stderr.write(interpreterInterface.get_greeting_msg()) + sys.stderr.flush() + + return interpreterInterface + + +def get_completions(text, token, globals, locals): + interpreterInterface = get_interpreter() + + interpreterInterface.interpreter.update(globals, locals) + + return interpreterInterface.getCompletions(text, token) + +#=============================================================================== +# Debugger integration +#=============================================================================== + + +def exec_code(code, globals, locals, debugger): + interpreterInterface = get_interpreter() + interpreterInterface.interpreter.update(globals, locals) + + res = interpreterInterface.need_more(code) + + if res: + return True + + interpreterInterface.add_exec(code, debugger) + + return False + + +class ConsoleWriter(InteractiveInterpreter): + skip = 0 + + def __init__(self, locals=None): + InteractiveInterpreter.__init__(self, locals) + + def write(self, data): + # if (data.find("global_vars") == -1 and data.find("pydevd") == -1): + if self.skip > 0: + self.skip -= 1 + else: + if data == "Traceback (most recent call last):\n": + self.skip = 1 + sys.stderr.write(data) + + def showsyntaxerror(self, filename=None): + """Display the syntax error that just occurred.""" + # Override for avoid using sys.excepthook PY-12600 + type, value, tb = sys.exc_info() + sys.last_type = type + sys.last_value = value + sys.last_traceback = tb + if filename and type is SyntaxError: + # Work hard to stuff the correct filename in the exception + try: + msg, (dummy_filename, lineno, offset, line) = value.args + except ValueError: + # Not the format we expect; leave it alone + pass + else: + # Stuff in the right filename + value = SyntaxError(msg, (filename, lineno, offset, line)) + sys.last_value = value + list = traceback.format_exception_only(type, value) + sys.stderr.write(''.join(list)) + + def showtraceback(self, *args, **kwargs): + """Display the exception that just occurred.""" + # Override for avoid using sys.excepthook PY-12600 + try: + type, value, tb = sys.exc_info() + sys.last_type = type + sys.last_value = value + sys.last_traceback = tb + tblist = traceback.extract_tb(tb) + del tblist[:1] + lines = traceback.format_list(tblist) + if lines: + lines.insert(0, "Traceback (most recent call last):\n") + lines.extend(traceback.format_exception_only(type, value)) + finally: + tblist = tb = None + sys.stderr.write(''.join(lines)) + + +def console_exec(thread_id, frame_id, expression, dbg): + """returns 'False' in case expression is partially correct + """ + frame = dbg.find_frame(thread_id, frame_id) + + is_multiline = expression.count('@LINE@') > 1 + expression = str(expression.replace('@LINE@', '\n')) + + # Not using frame.f_globals because of https://sourceforge.net/tracker2/?func=detail&aid=2541355&group_id=85796&atid=577329 + # (Names not resolved in generator expression in method) + # See message: http://mail.python.org/pipermail/python-list/2009-January/526522.html + updated_globals = {} + updated_globals.update(frame.f_globals) + updated_globals.update(frame.f_locals) # locals later because it has precedence over the actual globals + + if IPYTHON: + need_more = exec_code(CodeFragment(expression), updated_globals, frame.f_locals, dbg) + if not need_more: + pydevd_save_locals.save_locals(frame) + return need_more + + interpreter = ConsoleWriter() + + if not is_multiline: + try: + code = compile_command(expression) + except (OverflowError, SyntaxError, ValueError): + # Case 1 + interpreter.showsyntaxerror() + return False + if code is None: + # Case 2 + return True + else: + code = expression + + # Case 3 + + try: + Exec(code, updated_globals, frame.f_locals) + + except SystemExit: + raise + except: + interpreter.showtraceback() + else: + pydevd_save_locals.save_locals(frame) + return False + + +#======================================================================================================================= +# main +#======================================================================================================================= +if __name__ == '__main__': + # Important: don't use this module directly as the __main__ module, rather, import itself as pydevconsole + # so that we don't get multiple pydevconsole modules if it's executed directly (otherwise we'd have multiple + # representations of its classes). + # See: https://sw-brainwy.rhcloud.com/tracker/PyDev/446: + # 'Variables' and 'Expressions' views stopped working when debugging interactive console + import pydevconsole + sys.stdin = pydevconsole.BaseStdIn(sys.stdin) + port, client_port = sys.argv[1:3] + from _pydev_bundle import pydev_localhost + + if int(port) == 0 and int(client_port) == 0: + (h, p) = pydev_localhost.get_socket_name() + + client_port = p + + pydevconsole.start_server(pydev_localhost.get_localhost(), int(port), int(client_port)) diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd.py new file mode 100644 index 0000000..67382de --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd.py @@ -0,0 +1,3433 @@ +''' +Entry point module (keep at root): + +This module starts the debugger. +''' +import sys # @NoMove +if sys.version_info[:2] < (3, 6): + raise RuntimeError('The PyDev.Debugger requires Python 3.6 onwards to be run. If you need to use an older Python version, use an older version of the debugger.') +import os + +try: + # Just empty packages to check if they're in the PYTHONPATH. + import _pydev_bundle +except ImportError: + # On the first import of a pydevd module, add pydevd itself to the PYTHONPATH + # if its dependencies cannot be imported. + sys.path.append(os.path.dirname(os.path.abspath(__file__))) + import _pydev_bundle + +# Import this first as it'll check for shadowed modules and will make sure that we import +# things as needed for gevent. +from _pydevd_bundle import pydevd_constants + +import atexit +import dis +import io +from collections import defaultdict +from contextlib import contextmanager +from functools import partial +import itertools +import traceback +import weakref +import getpass as getpass_mod +import functools + +import pydevd_file_utils +from _pydev_bundle import pydev_imports, pydev_log +from _pydev_bundle._pydev_filesystem_encoding import getfilesystemencoding +from _pydev_bundle.pydev_is_thread_alive import is_thread_alive +from _pydev_bundle.pydev_override import overrides +from _pydev_bundle._pydev_saved_modules import threading, time, thread +from _pydevd_bundle import pydevd_extension_utils, pydevd_frame_utils +from _pydevd_bundle.pydevd_filtering import FilesFiltering, glob_matches_path +from _pydevd_bundle import pydevd_io, pydevd_vm_type +from _pydevd_bundle import pydevd_utils +from _pydevd_bundle import pydevd_runpy +from _pydev_bundle.pydev_console_utils import DebugConsoleStdIn +from _pydevd_bundle.pydevd_additional_thread_info import set_additional_thread_info +from _pydevd_bundle.pydevd_breakpoints import ExceptionBreakpoint, get_exception_breakpoint +from _pydevd_bundle.pydevd_comm_constants import (CMD_THREAD_SUSPEND, CMD_STEP_INTO, CMD_SET_BREAK, + CMD_STEP_INTO_MY_CODE, CMD_STEP_OVER, CMD_SMART_STEP_INTO, CMD_RUN_TO_LINE, + CMD_SET_NEXT_STATEMENT, CMD_STEP_RETURN, CMD_ADD_EXCEPTION_BREAK, CMD_STEP_RETURN_MY_CODE, + CMD_STEP_OVER_MY_CODE, constant_to_str, CMD_STEP_INTO_COROUTINE) +from _pydevd_bundle.pydevd_constants import (get_thread_id, get_current_thread_id, + DebugInfoHolder, PYTHON_SUSPEND, STATE_SUSPEND, STATE_RUN, get_frame, + clear_cached_thread_id, INTERACTIVE_MODE_AVAILABLE, SHOW_DEBUG_INFO_ENV, NULL, + NO_FTRACE, IS_IRONPYTHON, JSON_PROTOCOL, IS_CPYTHON, HTTP_JSON_PROTOCOL, USE_CUSTOM_SYS_CURRENT_FRAMES_MAP, call_only_once, + ForkSafeLock, IGNORE_BASENAMES_STARTING_WITH, EXCEPTION_TYPE_UNHANDLED, SUPPORT_GEVENT, + PYDEVD_IPYTHON_COMPATIBLE_DEBUGGING, PYDEVD_IPYTHON_CONTEXT) +from _pydevd_bundle.pydevd_defaults import PydevdCustomization # Note: import alias used on pydev_monkey. +from _pydevd_bundle.pydevd_custom_frames import CustomFramesContainer, custom_frames_container_init +from _pydevd_bundle.pydevd_dont_trace_files import DONT_TRACE, PYDEV_FILE, LIB_FILE, DONT_TRACE_DIRS +from _pydevd_bundle.pydevd_extension_api import DebuggerEventHandler +from _pydevd_bundle.pydevd_frame_utils import add_exception_to_frame, remove_exception_from_frame +from _pydevd_bundle.pydevd_net_command_factory_xml import NetCommandFactory +from _pydevd_bundle.pydevd_trace_dispatch import ( + trace_dispatch as _trace_dispatch, global_cache_skips, global_cache_frame_skips, fix_top_level_trace_and_get_trace_func) +from _pydevd_bundle.pydevd_utils import save_main_module, is_current_thread_main_thread, \ + import_attr_from_module +from _pydevd_frame_eval.pydevd_frame_eval_main import ( + frame_eval_func, dummy_trace_dispatch) +import pydev_ipython # @UnusedImport +from _pydevd_bundle.pydevd_source_mapping import SourceMapping +from _pydevd_bundle.pydevd_concurrency_analyser.pydevd_concurrency_logger import ThreadingLogger, AsyncioLogger, send_concurrency_message, cur_time +from _pydevd_bundle.pydevd_concurrency_analyser.pydevd_thread_wrappers import wrap_threads +from pydevd_file_utils import get_abs_path_real_path_and_base_from_frame, NORM_PATHS_AND_BASE_CONTAINER +from pydevd_file_utils import get_fullname, get_package_dir +from os.path import abspath as os_path_abspath +import pydevd_tracing +from _pydevd_bundle.pydevd_comm import (InternalThreadCommand, InternalThreadCommandForAnyThread, + create_server_socket, FSNotifyThread) +from _pydevd_bundle.pydevd_comm import(InternalConsoleExec, + _queue, ReaderThread, GetGlobalDebugger, get_global_debugger, + set_global_debugger, WriterThread, + start_client, start_server, InternalGetBreakpointException, InternalSendCurrExceptionTrace, + InternalSendCurrExceptionTraceProceeded) +from _pydevd_bundle.pydevd_daemon_thread import PyDBDaemonThread, mark_as_pydevd_daemon_thread +from _pydevd_bundle.pydevd_process_net_command_json import PyDevJsonCommandProcessor +from _pydevd_bundle.pydevd_process_net_command import process_net_command +from _pydevd_bundle.pydevd_net_command import NetCommand, NULL_NET_COMMAND + +from _pydevd_bundle.pydevd_breakpoints import stop_on_unhandled_exception +from _pydevd_bundle.pydevd_collect_bytecode_info import collect_try_except_info, collect_return_info, collect_try_except_info_from_source +from _pydevd_bundle.pydevd_suspended_frames import SuspendedFramesManager +from socket import SHUT_RDWR +from _pydevd_bundle.pydevd_api import PyDevdAPI +from _pydevd_bundle.pydevd_timeout import TimeoutTracker +from _pydevd_bundle.pydevd_thread_lifecycle import suspend_all_threads, mark_thread_suspended + +pydevd_gevent_integration = None + +if SUPPORT_GEVENT: + try: + from _pydevd_bundle import pydevd_gevent_integration + except: + pydev_log.exception( + 'pydevd: GEVENT_SUPPORT is set but gevent is not available in the environment.\n' + 'Please unset GEVENT_SUPPORT from the environment variables or install gevent.') + else: + pydevd_gevent_integration.log_gevent_debug_info() + +if USE_CUSTOM_SYS_CURRENT_FRAMES_MAP: + from _pydevd_bundle.pydevd_constants import constructed_tid_to_last_frame + +__version_info__ = (2, 8, 0) +__version_info_str__ = [] +for v in __version_info__: + __version_info_str__.append(str(v)) + +__version__ = '.'.join(__version_info_str__) + +# IMPORTANT: pydevd_constants must be the 1st thing defined because it'll keep a reference to the original sys._getframe + + +def install_breakpointhook(pydevd_breakpointhook=None): + if pydevd_breakpointhook is None: + + def pydevd_breakpointhook(*args, **kwargs): + hookname = os.getenv('PYTHONBREAKPOINT') + if ( + hookname is not None + and len(hookname) > 0 + and hasattr(sys, '__breakpointhook__') + and sys.__breakpointhook__ != pydevd_breakpointhook + ): + sys.__breakpointhook__(*args, **kwargs) + else: + settrace(*args, **kwargs) + + if sys.version_info[0:2] >= (3, 7): + # There are some choices on how to provide the breakpoint hook. Namely, we can provide a + # PYTHONBREAKPOINT which provides the import path for a method to be executed or we + # can override sys.breakpointhook. + # pydevd overrides sys.breakpointhook instead of providing an environment variable because + # it's possible that the debugger starts the user program but is not available in the + # PYTHONPATH (and would thus fail to be imported if PYTHONBREAKPOINT was set to pydevd.settrace). + # Note that the implementation still takes PYTHONBREAKPOINT in account (so, if it was provided + # by someone else, it'd still work). + sys.breakpointhook = pydevd_breakpointhook + else: + if sys.version_info[0] >= 3: + import builtins as __builtin__ # Py3 noqa + else: + import __builtin__ # noqa + + # In older versions, breakpoint() isn't really available, so, install the hook directly + # in the builtins. + __builtin__.breakpoint = pydevd_breakpointhook + sys.__breakpointhook__ = pydevd_breakpointhook + + +# Install the breakpoint hook at import time. +install_breakpointhook() + +from _pydevd_bundle.pydevd_plugin_utils import PluginManager + +threadingEnumerate = threading.enumerate +threadingCurrentThread = threading.current_thread + +try: + 'dummy'.encode('utf-8') # Added because otherwise Jython 2.2.1 wasn't finding the encoding (if it wasn't loaded in the main thread). +except: + pass + +_global_redirect_stdout_to_server = False +_global_redirect_stderr_to_server = False + +file_system_encoding = getfilesystemencoding() + +_CACHE_FILE_TYPE = {} + +pydev_log.debug('Using GEVENT_SUPPORT: %s', pydevd_constants.SUPPORT_GEVENT) +pydev_log.debug('Using GEVENT_SHOW_PAUSED_GREENLETS: %s', pydevd_constants.GEVENT_SHOW_PAUSED_GREENLETS) +pydev_log.debug('pydevd __file__: %s', os.path.abspath(__file__)) +pydev_log.debug('Using PYDEVD_IPYTHON_COMPATIBLE_DEBUGGING: %s', pydevd_constants.PYDEVD_IPYTHON_COMPATIBLE_DEBUGGING) +if pydevd_constants.PYDEVD_IPYTHON_COMPATIBLE_DEBUGGING: + pydev_log.debug('PYDEVD_IPYTHON_CONTEXT: %s', pydevd_constants.PYDEVD_IPYTHON_CONTEXT) + + +#======================================================================================================================= +# PyDBCommandThread +#======================================================================================================================= +class PyDBCommandThread(PyDBDaemonThread): + + def __init__(self, py_db): + PyDBDaemonThread.__init__(self, py_db) + self._py_db_command_thread_event = py_db._py_db_command_thread_event + self.name = 'pydevd.CommandThread' + + @overrides(PyDBDaemonThread._on_run) + def _on_run(self): + # Delay a bit this initialization to wait for the main program to start. + self._py_db_command_thread_event.wait(0.3) + + if self._kill_received: + return + + try: + while not self._kill_received: + try: + self.py_db.process_internal_commands() + except: + pydev_log.info('Finishing debug communication...(2)') + self._py_db_command_thread_event.clear() + self._py_db_command_thread_event.wait(0.3) + except: + try: + pydev_log.debug(sys.exc_info()[0]) + except: + # In interpreter shutdown many things can go wrong (any module variables may + # be None, streams can be closed, etc). + pass + + # only got this error in interpreter shutdown + # pydev_log.info('Finishing debug communication...(3)') + + @overrides(PyDBDaemonThread.do_kill_pydev_thread) + def do_kill_pydev_thread(self): + PyDBDaemonThread.do_kill_pydev_thread(self) + # Set flag so that it can exit before the usual timeout. + self._py_db_command_thread_event.set() + + +#======================================================================================================================= +# CheckAliveThread +# Non-daemon thread: guarantees that all data is written even if program is finished +#======================================================================================================================= +class CheckAliveThread(PyDBDaemonThread): + + def __init__(self, py_db): + PyDBDaemonThread.__init__(self, py_db) + self.name = 'pydevd.CheckAliveThread' + self.daemon = False + self._wait_event = threading.Event() + + @overrides(PyDBDaemonThread._on_run) + def _on_run(self): + py_db = self.py_db + + def can_exit(): + with py_db._main_lock: + # Note: it's important to get the lock besides checking that it's empty (this + # means that we're not in the middle of some command processing). + writer = py_db.writer + writer_empty = writer is not None and writer.empty() + + return not py_db.has_user_threads_alive() and writer_empty + + try: + while not self._kill_received: + self._wait_event.wait(0.3) + if can_exit(): + break + + py_db.check_output_redirect() + + if can_exit(): + pydev_log.debug("No threads alive, finishing debug session") + py_db.dispose_and_kill_all_pydevd_threads() + except: + pydev_log.exception() + + def join(self, timeout=None): + # If someone tries to join this thread, mark it to be killed. + # This is the case for CherryPy when auto-reload is turned on. + self.do_kill_pydev_thread() + PyDBDaemonThread.join(self, timeout=timeout) + + @overrides(PyDBDaemonThread.do_kill_pydev_thread) + def do_kill_pydev_thread(self): + PyDBDaemonThread.do_kill_pydev_thread(self) + # Set flag so that it can exit before the usual timeout. + self._wait_event.set() + + +class AbstractSingleNotificationBehavior(object): + ''' + The basic usage should be: + + # Increment the request time for the suspend. + single_notification_behavior.increment_suspend_time() + + # Notify that this is a pause request (when a pause, not a breakpoint). + single_notification_behavior.on_pause() + + # Mark threads to be suspended. + set_suspend(...) + + # On do_wait_suspend, use notify_thread_suspended: + def do_wait_suspend(...): + with single_notification_behavior.notify_thread_suspended(thread_id): + ... + ''' + + __slots__ = [ + '_last_resume_notification_time', + '_last_suspend_notification_time', + '_lock', + '_next_request_time', + '_suspend_time_request', + '_suspended_thread_ids', + '_pause_requested', + '_py_db', + ] + + NOTIFY_OF_PAUSE_TIMEOUT = .5 + + def __init__(self, py_db): + self._py_db = weakref.ref(py_db) + self._next_request_time = partial(next, itertools.count()) + self._last_suspend_notification_time = -1 + self._last_resume_notification_time = -1 + self._suspend_time_request = self._next_request_time() + self._lock = thread.allocate_lock() + self._suspended_thread_ids = set() + self._pause_requested = False + + def send_suspend_notification(self, thread_id, stop_reason): + raise AssertionError('abstract: subclasses must override.') + + def send_resume_notification(self, thread_id): + raise AssertionError('abstract: subclasses must override.') + + def increment_suspend_time(self): + with self._lock: + self._suspend_time_request = self._next_request_time() + + def on_pause(self): + # Upon a pause, we should force sending new suspend notifications + # if no notification is sent after some time and there's some thread already stopped. + with self._lock: + self._pause_requested = True + global_suspend_time = self._suspend_time_request + py_db = self._py_db() + if py_db is not None: + py_db.timeout_tracker.call_on_timeout( + self.NOTIFY_OF_PAUSE_TIMEOUT, + self._notify_after_timeout, + kwargs={'global_suspend_time': global_suspend_time} + ) + + def _notify_after_timeout(self, global_suspend_time): + with self._lock: + if self._suspended_thread_ids: + if global_suspend_time > self._last_suspend_notification_time: + self._last_suspend_notification_time = global_suspend_time + # Notify about any thread which is currently suspended. + pydev_log.info('Sending suspend notification after timeout.') + self.send_suspend_notification(next(iter(self._suspended_thread_ids)), CMD_THREAD_SUSPEND) + + def on_thread_suspend(self, thread_id, stop_reason): + with self._lock: + pause_requested = self._pause_requested + if pause_requested: + # When a suspend notification is sent, reset the pause flag. + self._pause_requested = False + + self._suspended_thread_ids.add(thread_id) + + # CMD_THREAD_SUSPEND should always be a side-effect of a break, so, only + # issue for a CMD_THREAD_SUSPEND if a pause is pending. + if stop_reason != CMD_THREAD_SUSPEND or pause_requested: + if self._suspend_time_request > self._last_suspend_notification_time: + pydev_log.info('Sending suspend notification.') + self._last_suspend_notification_time = self._suspend_time_request + self.send_suspend_notification(thread_id, stop_reason) + else: + pydev_log.info( + 'Suspend not sent (it was already sent). Last suspend % <= Last resume %s', + self._last_suspend_notification_time, + self._last_resume_notification_time, + ) + else: + pydev_log.info( + 'Suspend not sent because stop reason is thread suspend and pause was not requested.', + ) + + def on_thread_resume(self, thread_id): + # on resume (step, continue all): + with self._lock: + self._suspended_thread_ids.remove(thread_id) + if self._last_resume_notification_time < self._last_suspend_notification_time: + pydev_log.info('Sending resume notification.') + self._last_resume_notification_time = self._last_suspend_notification_time + self.send_resume_notification(thread_id) + else: + pydev_log.info( + 'Resume not sent (it was already sent). Last resume %s >= Last suspend %s', + self._last_resume_notification_time, + self._last_suspend_notification_time, + ) + + @contextmanager + def notify_thread_suspended(self, thread_id, stop_reason): + self.on_thread_suspend(thread_id, stop_reason) + try: + yield # At this point the thread must be actually suspended. + finally: + self.on_thread_resume(thread_id) + + +class ThreadsSuspendedSingleNotification(AbstractSingleNotificationBehavior): + + __slots__ = AbstractSingleNotificationBehavior.__slots__ + [ + 'multi_threads_single_notification', '_callbacks', '_callbacks_lock'] + + def __init__(self, py_db): + AbstractSingleNotificationBehavior.__init__(self, py_db) + # If True, pydevd will send a single notification when all threads are suspended/resumed. + self.multi_threads_single_notification = False + self._callbacks_lock = threading.Lock() + self._callbacks = [] + + def add_on_resumed_callback(self, callback): + with self._callbacks_lock: + self._callbacks.append(callback) + + @overrides(AbstractSingleNotificationBehavior.send_resume_notification) + def send_resume_notification(self, thread_id): + py_db = self._py_db() + if py_db is not None: + py_db.writer.add_command(py_db.cmd_factory.make_thread_resume_single_notification(thread_id)) + + with self._callbacks_lock: + callbacks = self._callbacks + self._callbacks = [] + + for callback in callbacks: + callback() + + @overrides(AbstractSingleNotificationBehavior.send_suspend_notification) + def send_suspend_notification(self, thread_id, stop_reason): + py_db = self._py_db() + if py_db is not None: + py_db.writer.add_command(py_db.cmd_factory.make_thread_suspend_single_notification(py_db, thread_id, stop_reason)) + + @overrides(AbstractSingleNotificationBehavior.notify_thread_suspended) + @contextmanager + def notify_thread_suspended(self, thread_id, stop_reason): + if self.multi_threads_single_notification: + with AbstractSingleNotificationBehavior.notify_thread_suspended(self, thread_id, stop_reason): + yield + else: + yield + + +class _Authentication(object): + + __slots__ = ['access_token', 'client_access_token', '_authenticated', '_wrong_attempts'] + + def __init__(self): + # A token to be send in the command line or through the settrace api -- when such token + # is given, the first message sent to the IDE must pass the same token to authenticate. + # Note that if a disconnect is sent, the same message must be resent to authenticate. + self.access_token = None + + # This token is the one that the client requires to accept a connection from pydevd + # (it's stored here and just passed back when required, it's not used internally + # for anything else). + self.client_access_token = None + + self._authenticated = None + + self._wrong_attempts = 0 + + def is_authenticated(self): + if self._authenticated is None: + return self.access_token is None + return self._authenticated + + def login(self, access_token): + if self._wrong_attempts >= 10: # A user can fail to authenticate at most 10 times. + return + + self._authenticated = access_token == self.access_token + if not self._authenticated: + self._wrong_attempts += 1 + else: + self._wrong_attempts = 0 + + def logout(self): + self._authenticated = None + self._wrong_attempts = 0 + + +class PyDB(object): + """ Main debugging class + Lots of stuff going on here: + + PyDB starts two threads on startup that connect to remote debugger (RDB) + The threads continuously read & write commands to RDB. + PyDB communicates with these threads through command queues. + Every RDB command is processed by calling process_net_command. + Every PyDB net command is sent to the net by posting NetCommand to WriterThread queue + + Some commands need to be executed on the right thread (suspend/resume & friends) + These are placed on the internal command queue. + """ + + # Direct child pids which should not be terminated when terminating processes. + # Note: class instance because it should outlive PyDB instances. + dont_terminate_child_pids = set() + + def __init__(self, set_as_global=True): + if set_as_global: + pydevd_tracing.replace_sys_set_trace_func() + + self.authentication = _Authentication() + + self.reader = None + self.writer = None + self._fsnotify_thread = None + self.created_pydb_daemon_threads = {} + self._waiting_for_connection_thread = None + self._on_configuration_done_event = threading.Event() + self.check_alive_thread = None + self.py_db_command_thread = None + self.quitting = None + self.cmd_factory = NetCommandFactory() + self._cmd_queue = defaultdict(_queue.Queue) # Key is thread id or '*', value is Queue + self.suspended_frames_manager = SuspendedFramesManager() + self._files_filtering = FilesFiltering() + self.timeout_tracker = TimeoutTracker(self) + + # Note: when the source mapping is changed we also have to clear the file types cache + # (because if a given file is a part of the project or not may depend on it being + # defined in the source mapping). + self.source_mapping = SourceMapping(on_source_mapping_changed=self._clear_filters_caches) + + # Determines whether we should terminate child processes when asked to terminate. + self.terminate_child_processes = True + + # These are the breakpoints received by the PyDevdAPI. They are meant to store + # the breakpoints in the api -- its actual contents are managed by the api. + self.api_received_breakpoints = {} + + # These are the breakpoints meant to be consumed during runtime. + self.breakpoints = {} + self.function_breakpoint_name_to_breakpoint = {} + + # Set communication protocol + PyDevdAPI().set_protocol(self, 0, PydevdCustomization.DEFAULT_PROTOCOL) + + self.variable_presentation = PyDevdAPI.VariablePresentation() + + # mtime to be raised when breakpoints change + self.mtime = 0 + + self.file_to_id_to_line_breakpoint = {} + self.file_to_id_to_plugin_breakpoint = {} + + # Note: breakpoints dict should not be mutated: a copy should be created + # and later it should be assigned back (to prevent concurrency issues). + self.break_on_uncaught_exceptions = {} + self.break_on_caught_exceptions = {} + self.break_on_user_uncaught_exceptions = {} + + self.ready_to_run = False + self._main_lock = thread.allocate_lock() + self._lock_running_thread_ids = thread.allocate_lock() + self._lock_create_fs_notify = thread.allocate_lock() + self._py_db_command_thread_event = threading.Event() + if set_as_global: + CustomFramesContainer._py_db_command_thread_event = self._py_db_command_thread_event + + self.pydb_disposed = False + self._wait_for_threads_to_finish_called = False + self._wait_for_threads_to_finish_called_lock = thread.allocate_lock() + self._wait_for_threads_to_finish_called_event = threading.Event() + + self.terminate_requested = False + self._disposed_lock = thread.allocate_lock() + self.signature_factory = None + self.SetTrace = pydevd_tracing.SetTrace + self.skip_on_exceptions_thrown_in_same_context = False + self.ignore_exceptions_thrown_in_lines_with_ignore_exception = True + + # Suspend debugger even if breakpoint condition raises an exception. + # May be changed with CMD_PYDEVD_JSON_CONFIG. + self.skip_suspend_on_breakpoint_exception = () # By default suspend on any Exception. + self.skip_print_breakpoint_exception = () # By default print on any Exception. + + # By default user can step into properties getter/setter/deleter methods + self.disable_property_trace = False + self.disable_property_getter_trace = False + self.disable_property_setter_trace = False + self.disable_property_deleter_trace = False + + # this is a dict of thread ids pointing to thread ids. Whenever a command is passed to the java end that + # acknowledges that a thread was created, the thread id should be passed here -- and if at some time we do not + # find that thread alive anymore, we must remove it from this list and make the java side know that the thread + # was killed. + self._running_thread_ids = {} + # Note: also access '_enable_thread_notifications' with '_lock_running_thread_ids' + self._enable_thread_notifications = False + + self._set_breakpoints_with_id = False + + # This attribute holds the file-> lines which have an @IgnoreException. + self.filename_to_lines_where_exceptions_are_ignored = {} + + # working with plugins (lazily initialized) + self.plugin = None + self.has_plugin_line_breaks = False + self.has_plugin_exception_breaks = False + self.thread_analyser = None + self.asyncio_analyser = None + + # The GUI event loop that's going to run. + # Possible values: + # matplotlib - Whatever GUI backend matplotlib is using. + # 'wx'/'qt'/'none'/... - GUI toolkits that have bulitin support. See pydevd_ipython/inputhook.py:24. + # Other - A custom function that'll be imported and run. + self._gui_event_loop = 'matplotlib' + self._installed_gui_support = False + self.gui_in_use = False + + # GUI event loop support in debugger + self.activate_gui_function = None + + # matplotlib support in debugger and debug console + self.mpl_hooks_in_debug_console = False + self.mpl_modules_for_patching = {} + + self._filename_to_not_in_scope = {} + self.first_breakpoint_reached = False + self._exclude_filters_enabled = self._files_filtering.use_exclude_filters() + self._is_libraries_filter_enabled = self._files_filtering.use_libraries_filter() + self.is_files_filter_enabled = self._exclude_filters_enabled or self._is_libraries_filter_enabled + self.show_return_values = False + self.remove_return_values_flag = False + self.redirect_output = False + # Note that besides the `redirect_output` flag, we also need to consider that someone + # else is already redirecting (i.e.: debugpy). + self.is_output_redirected = False + + # this flag disables frame evaluation even if it's available + self.use_frame_eval = True + + # If True, pydevd will send a single notification when all threads are suspended/resumed. + self._threads_suspended_single_notification = ThreadsSuspendedSingleNotification(self) + + # If True a step command will do a step in one thread and will also resume all other threads. + self.stepping_resumes_all_threads = False + + self._local_thread_trace_func = threading.local() + + self._server_socket_ready_event = threading.Event() + self._server_socket_name = None + + # Bind many locals to the debugger because upon teardown those names may become None + # in the namespace (and thus can't be relied upon unless the reference was previously + # saved). + if IS_IRONPYTHON: + + # A partial() cannot be used in IronPython for sys.settrace. + def new_trace_dispatch(frame, event, arg): + return _trace_dispatch(self, frame, event, arg) + + self.trace_dispatch = new_trace_dispatch + else: + self.trace_dispatch = partial(_trace_dispatch, self) + self.fix_top_level_trace_and_get_trace_func = fix_top_level_trace_and_get_trace_func + self.frame_eval_func = frame_eval_func + self.dummy_trace_dispatch = dummy_trace_dispatch + + # Note: this is different from pydevd_constants.thread_get_ident because we want Jython + # to be None here because it also doesn't have threading._active. + try: + self.threading_get_ident = threading.get_ident # Python 3 + self.threading_active = threading._active + except: + try: + self.threading_get_ident = threading._get_ident # Python 2 noqa + self.threading_active = threading._active + except: + self.threading_get_ident = None # Jython + self.threading_active = None + self.threading_current_thread = threading.currentThread + self.set_additional_thread_info = set_additional_thread_info + self.stop_on_unhandled_exception = stop_on_unhandled_exception + self.collect_return_info = collect_return_info + self.get_exception_breakpoint = get_exception_breakpoint + self._dont_trace_get_file_type = DONT_TRACE.get + self._dont_trace_dirs_get_file_type = DONT_TRACE_DIRS.get + self.PYDEV_FILE = PYDEV_FILE + self.LIB_FILE = LIB_FILE + + self._in_project_scope_cache = {} + self._exclude_by_filter_cache = {} + self._apply_filter_cache = {} + self._ignore_system_exit_codes = set() + + # DAP related + self._dap_messages_listeners = [] + + if set_as_global: + # Set as the global instance only after it's initialized. + set_global_debugger(self) + + # Stop the tracing as the last thing before the actual shutdown for a clean exit. + atexit.register(stoptrace) + + def collect_try_except_info(self, code_obj): + filename = code_obj.co_filename + try: + if os.path.exists(filename): + pydev_log.debug('Collecting try..except info from source for %s', filename) + try_except_infos = collect_try_except_info_from_source(filename) + if try_except_infos: + # Filter for the current function + max_line = -1 + min_line = sys.maxsize + for _, line in dis.findlinestarts(code_obj): + + if line > max_line: + max_line = line + + if line < min_line: + min_line = line + + try_except_infos = [x for x in try_except_infos if min_line <= x.try_line <= max_line] + return try_except_infos + + except: + pydev_log.exception('Error collecting try..except info from source (%s)', filename) + + pydev_log.debug('Collecting try..except info from bytecode for %s', filename) + return collect_try_except_info(code_obj) + + def setup_auto_reload_watcher(self, enable_auto_reload, watch_dirs, poll_target_time, exclude_patterns, include_patterns): + try: + with self._lock_create_fs_notify: + + # When setting up, dispose of the previous one (if any). + if self._fsnotify_thread is not None: + self._fsnotify_thread.do_kill_pydev_thread() + self._fsnotify_thread = None + + if not enable_auto_reload: + return + + exclude_patterns = tuple(exclude_patterns) + include_patterns = tuple(include_patterns) + + def accept_directory(absolute_filename, cache={}): + try: + return cache[absolute_filename] + except: + if absolute_filename and absolute_filename[-1] not in ('/', '\\'): + # I.e.: for directories we always end with '/' or '\\' so that + # we match exclusions such as "**/node_modules/**" + absolute_filename += os.path.sep + + # First include what we want + for include_pattern in include_patterns: + if glob_matches_path(absolute_filename, include_pattern): + cache[absolute_filename] = True + return True + + # Then exclude what we don't want + for exclude_pattern in exclude_patterns: + if glob_matches_path(absolute_filename, exclude_pattern): + cache[absolute_filename] = False + return False + + # By default track all directories not excluded. + cache[absolute_filename] = True + return True + + def accept_file(absolute_filename, cache={}): + try: + return cache[absolute_filename] + except: + # First include what we want + for include_pattern in include_patterns: + if glob_matches_path(absolute_filename, include_pattern): + cache[absolute_filename] = True + return True + + # Then exclude what we don't want + for exclude_pattern in exclude_patterns: + if glob_matches_path(absolute_filename, exclude_pattern): + cache[absolute_filename] = False + return False + + # By default don't track files not included. + cache[absolute_filename] = False + return False + + self._fsnotify_thread = FSNotifyThread(self, PyDevdAPI(), watch_dirs) + watcher = self._fsnotify_thread.watcher + watcher.accept_directory = accept_directory + watcher.accept_file = accept_file + + watcher.target_time_for_single_scan = poll_target_time + watcher.target_time_for_notification = poll_target_time + self._fsnotify_thread.start() + except: + pydev_log.exception('Error setting up auto-reload.') + + def get_arg_ppid(self): + try: + setup = SetupHolder.setup + if setup: + return int(setup.get('ppid', 0)) + except: + pydev_log.exception('Error getting ppid.') + + return 0 + + def wait_for_ready_to_run(self): + while not self.ready_to_run: + # busy wait until we receive run command + self.process_internal_commands() + self._py_db_command_thread_event.clear() + self._py_db_command_thread_event.wait(0.1) + + def on_initialize(self): + ''' + Note: only called when using the DAP (Debug Adapter Protocol). + ''' + self._on_configuration_done_event.clear() + + def on_configuration_done(self): + ''' + Note: only called when using the DAP (Debug Adapter Protocol). + ''' + self._on_configuration_done_event.set() + self._py_db_command_thread_event.set() + + def is_attached(self): + return self._on_configuration_done_event.is_set() + + def on_disconnect(self): + ''' + Note: only called when using the DAP (Debug Adapter Protocol). + ''' + self.authentication.logout() + self._on_configuration_done_event.clear() + + def set_ignore_system_exit_codes(self, ignore_system_exit_codes): + assert isinstance(ignore_system_exit_codes, (list, tuple, set)) + self._ignore_system_exit_codes = set(ignore_system_exit_codes) + + def ignore_system_exit_code(self, system_exit_exc): + if hasattr(system_exit_exc, 'code'): + return system_exit_exc.code in self._ignore_system_exit_codes + else: + return system_exit_exc in self._ignore_system_exit_codes + + def block_until_configuration_done(self, cancel=None): + if cancel is None: + cancel = NULL + + while not cancel.is_set(): + if self._on_configuration_done_event.is_set(): + cancel.set() # Set cancel to prevent reuse + return + + self.process_internal_commands() + self._py_db_command_thread_event.clear() + self._py_db_command_thread_event.wait(1 / 15.) + + def add_fake_frame(self, thread_id, frame_id, frame): + self.suspended_frames_manager.add_fake_frame(thread_id, frame_id, frame) + + def handle_breakpoint_condition(self, info, pybreakpoint, new_frame): + condition = pybreakpoint.condition + try: + if pybreakpoint.handle_hit_condition(new_frame): + return True + + if not condition: + return False + + return eval(condition, new_frame.f_globals, new_frame.f_locals) + except Exception as e: + if not isinstance(e, self.skip_print_breakpoint_exception): + stack_trace = io.StringIO() + etype, value, tb = sys.exc_info() + traceback.print_exception(etype, value, tb.tb_next, file=stack_trace) + + msg = 'Error while evaluating expression in conditional breakpoint: %s\n%s' % ( + condition, stack_trace.getvalue()) + api = PyDevdAPI() + api.send_error_message(self, msg) + + if not isinstance(e, self.skip_suspend_on_breakpoint_exception): + try: + # add exception_type and stacktrace into thread additional info + etype, value, tb = sys.exc_info() + error = ''.join(traceback.format_exception_only(etype, value)) + stack = traceback.extract_stack(f=tb.tb_frame.f_back) + + # On self.set_suspend(thread, CMD_SET_BREAK) this info will be + # sent to the client. + info.conditional_breakpoint_exception = \ + ('Condition:\n' + condition + '\n\nError:\n' + error, stack) + except: + pydev_log.exception() + return True + + return False + + finally: + etype, value, tb = None, None, None + + def handle_breakpoint_expression(self, pybreakpoint, info, new_frame): + try: + try: + val = eval(pybreakpoint.expression, new_frame.f_globals, new_frame.f_locals) + except: + val = sys.exc_info()[1] + finally: + if val is not None: + info.pydev_message = str(val) + + def _internal_get_file_type(self, abs_real_path_and_basename): + basename = abs_real_path_and_basename[-1] + if ( + basename.startswith(IGNORE_BASENAMES_STARTING_WITH) or + abs_real_path_and_basename[0].startswith(IGNORE_BASENAMES_STARTING_WITH) + ): + # Note: these are the files that are completely ignored (they aren't shown to the user + # as user nor library code as it's usually just noise in the frame stack). + return self.PYDEV_FILE + file_type = self._dont_trace_get_file_type(basename) + if file_type is not None: + return file_type + + if basename.startswith('__init__.py'): + # i.e.: ignore the __init__ files inside pydevd (the other + # files are ignored just by their name). + abs_path = abs_real_path_and_basename[0] + i = max(abs_path.rfind('/'), abs_path.rfind('\\')) + if i: + abs_path = abs_path[0:i] + i = max(abs_path.rfind('/'), abs_path.rfind('\\')) + if i: + dirname = abs_path[i + 1:] + # At this point, something as: + # "my_path\_pydev_runfiles\__init__.py" + # is now "_pydev_runfiles". + return self._dont_trace_dirs_get_file_type(dirname) + return None + + def dont_trace_external_files(self, abs_path): + ''' + :param abs_path: + The result from get_abs_path_real_path_and_base_from_file or + get_abs_path_real_path_and_base_from_frame. + + :return + True : + If files should NOT be traced. + + False: + If files should be traced. + ''' + # By default all external files are traced. Note: this function is expected to + # be changed for another function in PyDevdAPI.set_dont_trace_start_end_patterns. + return False + + def get_file_type(self, frame, abs_real_path_and_basename=None, _cache_file_type=_CACHE_FILE_TYPE): + ''' + :param abs_real_path_and_basename: + The result from get_abs_path_real_path_and_base_from_file or + get_abs_path_real_path_and_base_from_frame. + + :return + _pydevd_bundle.pydevd_dont_trace_files.PYDEV_FILE: + If it's a file internal to the debugger which shouldn't be + traced nor shown to the user. + + _pydevd_bundle.pydevd_dont_trace_files.LIB_FILE: + If it's a file in a library which shouldn't be traced. + + None: + If it's a regular user file which should be traced. + ''' + if abs_real_path_and_basename is None: + try: + # Make fast path faster! + abs_real_path_and_basename = NORM_PATHS_AND_BASE_CONTAINER[frame.f_code.co_filename] + except: + abs_real_path_and_basename = get_abs_path_real_path_and_base_from_frame(frame) + + # Note 1: we have to take into account that we may have files as '', and that in + # this case the cache key can't rely only on the filename. With the current cache, there's + # still a potential miss if 2 functions which have exactly the same content are compiled + # with '', but in practice as we only separate the one from python -c from the rest + # this shouldn't be a problem in practice. + + # Note 2: firstlineno added to make misses faster in the first comparison. + + # Note 3: this cache key is repeated in pydevd_frame_evaluator.pyx:get_func_code_info (for + # speedups). + cache_key = (frame.f_code.co_firstlineno, abs_real_path_and_basename[0], frame.f_code) + try: + return _cache_file_type[cache_key] + except: + if abs_real_path_and_basename[0] == '': + + # Consider it an untraceable file unless there's no back frame (ignoring + # internal files and runpy.py). + f = frame.f_back + while f is not None: + if (self.get_file_type(f) != self.PYDEV_FILE and + pydevd_file_utils.basename(f.f_code.co_filename) not in ('runpy.py', '')): + # We found some back frame that's not internal, which means we must consider + # this a library file. + # This is done because we only want to trace files as if they don't + # have any back frame (which is the case for python -c ...), for all other + # cases we don't want to trace them because we can't show the source to the + # user (at least for now...). + + # Note that we return as a LIB_FILE and not PYDEV_FILE because we still want + # to show it in the stack. + _cache_file_type[cache_key] = LIB_FILE + return LIB_FILE + f = f.f_back + else: + # This is a top-level file (used in python -c), so, trace it as usual... we + # still won't be able to show the sources, but some tests require this to work. + _cache_file_type[cache_key] = None + return None + + file_type = self._internal_get_file_type(abs_real_path_and_basename) + if file_type is None: + if self.dont_trace_external_files(abs_real_path_and_basename[0]): + file_type = PYDEV_FILE + + _cache_file_type[cache_key] = file_type + return file_type + + def is_cache_file_type_empty(self): + return not _CACHE_FILE_TYPE + + def get_cache_file_type(self, _cache=_CACHE_FILE_TYPE): # i.e.: Make it local. + return _cache + + def get_thread_local_trace_func(self): + try: + thread_trace_func = self._local_thread_trace_func.thread_trace_func + except AttributeError: + thread_trace_func = self.trace_dispatch + return thread_trace_func + + def enable_tracing(self, thread_trace_func=None, apply_to_all_threads=False): + ''' + Enables tracing. + + If in regular mode (tracing), will set the tracing function to the tracing + function for this thread -- by default it's `PyDB.trace_dispatch`, but after + `PyDB.enable_tracing` is called with a `thread_trace_func`, the given function will + be the default for the given thread. + + :param bool apply_to_all_threads: + If True we'll set the tracing function in all threads, not only in the current thread. + If False only the tracing for the current function should be changed. + In general apply_to_all_threads should only be true if this is the first time + this function is called on a multi-threaded program (either programmatically or attach + to pid). + ''' + if pydevd_gevent_integration is not None: + pydevd_gevent_integration.enable_gevent_integration() + + if self.frame_eval_func is not None: + self.frame_eval_func() + pydevd_tracing.SetTrace(self.dummy_trace_dispatch) + + if IS_CPYTHON and apply_to_all_threads: + pydevd_tracing.set_trace_to_threads(self.dummy_trace_dispatch) + return + + if apply_to_all_threads: + # If applying to all threads, don't use the local thread trace function. + assert thread_trace_func is not None + else: + if thread_trace_func is None: + thread_trace_func = self.get_thread_local_trace_func() + else: + self._local_thread_trace_func.thread_trace_func = thread_trace_func + + pydevd_tracing.SetTrace(thread_trace_func) + if IS_CPYTHON and apply_to_all_threads: + pydevd_tracing.set_trace_to_threads(thread_trace_func) + + def disable_tracing(self): + pydevd_tracing.SetTrace(None) + + def on_breakpoints_changed(self, removed=False): + ''' + When breakpoints change, we have to re-evaluate all the assumptions we've made so far. + ''' + if not self.ready_to_run: + # No need to do anything if we're still not running. + return + + self.mtime += 1 + if not removed: + # When removing breakpoints we can leave tracing as was, but if a breakpoint was added + # we have to reset the tracing for the existing functions to be re-evaluated. + self.set_tracing_for_untraced_contexts() + + def set_tracing_for_untraced_contexts(self): + # Enable the tracing for existing threads (because there may be frames being executed that + # are currently untraced). + + if IS_CPYTHON: + # Note: use sys._current_frames instead of threading.enumerate() because this way + # we also see C/C++ threads, not only the ones visible to the threading module. + tid_to_frame = sys._current_frames() + + ignore_thread_ids = set( + t.ident for t in threadingEnumerate() + if getattr(t, 'is_pydev_daemon_thread', False) or getattr(t, 'pydev_do_not_trace', False) + ) + + for thread_id, frame in tid_to_frame.items(): + if thread_id not in ignore_thread_ids: + self.set_trace_for_frame_and_parents(frame) + + else: + try: + threads = threadingEnumerate() + for t in threads: + if getattr(t, 'is_pydev_daemon_thread', False) or getattr(t, 'pydev_do_not_trace', False): + continue + + additional_info = set_additional_thread_info(t) + frame = additional_info.get_topmost_frame(t) + try: + if frame is not None: + self.set_trace_for_frame_and_parents(frame) + finally: + frame = None + finally: + frame = None + t = None + threads = None + additional_info = None + + @property + def multi_threads_single_notification(self): + return self._threads_suspended_single_notification.multi_threads_single_notification + + @multi_threads_single_notification.setter + def multi_threads_single_notification(self, notify): + self._threads_suspended_single_notification.multi_threads_single_notification = notify + + @property + def threads_suspended_single_notification(self): + return self._threads_suspended_single_notification + + def get_plugin_lazy_init(self): + if self.plugin is None: + self.plugin = PluginManager(self) + return self.plugin + + def in_project_scope(self, frame, absolute_filename=None): + ''' + Note: in general this method should not be used (apply_files_filter should be used + in most cases as it also handles the project scope check). + + :param frame: + The frame we want to check. + + :param absolute_filename: + Must be the result from get_abs_path_real_path_and_base_from_frame(frame)[0] (can + be used to speed this function a bit if it's already available to the caller, but + in general it's not needed). + ''' + try: + if absolute_filename is None: + try: + # Make fast path faster! + abs_real_path_and_basename = NORM_PATHS_AND_BASE_CONTAINER[frame.f_code.co_filename] + except: + abs_real_path_and_basename = get_abs_path_real_path_and_base_from_frame(frame) + + absolute_filename = abs_real_path_and_basename[0] + + cache_key = (frame.f_code.co_firstlineno, absolute_filename, frame.f_code) + + return self._in_project_scope_cache[cache_key] + except KeyError: + cache = self._in_project_scope_cache + try: + abs_real_path_and_basename # If we've gotten it previously, use it again. + except NameError: + abs_real_path_and_basename = get_abs_path_real_path_and_base_from_frame(frame) + + # pydevd files are never considered to be in the project scope. + file_type = self.get_file_type(frame, abs_real_path_and_basename) + if file_type == self.PYDEV_FILE: + cache[cache_key] = False + + elif absolute_filename == '': + # Special handling for '' + if file_type == self.LIB_FILE: + cache[cache_key] = False + else: + cache[cache_key] = True + + elif self.source_mapping.has_mapping_entry(absolute_filename): + cache[cache_key] = True + + else: + cache[cache_key] = self._files_filtering.in_project_roots(absolute_filename) + + return cache[cache_key] + + def in_project_roots_filename_uncached(self, absolute_filename): + return self._files_filtering.in_project_roots(absolute_filename) + + def _clear_filters_caches(self): + self._in_project_scope_cache.clear() + self._exclude_by_filter_cache.clear() + self._apply_filter_cache.clear() + self._exclude_filters_enabled = self._files_filtering.use_exclude_filters() + self._is_libraries_filter_enabled = self._files_filtering.use_libraries_filter() + self.is_files_filter_enabled = self._exclude_filters_enabled or self._is_libraries_filter_enabled + + def clear_dont_trace_start_end_patterns_caches(self): + # When start/end patterns are changed we must clear all caches which would be + # affected by a change in get_file_type() and reset the tracing function + # as places which were traced may no longer need to be traced and vice-versa. + self.on_breakpoints_changed() + _CACHE_FILE_TYPE.clear() + self._clear_filters_caches() + self._clear_skip_caches() + + def _exclude_by_filter(self, frame, absolute_filename): + ''' + :return: True if it should be excluded, False if it should be included and None + if no rule matched the given file. + + :note: it'll be normalized as needed inside of this method. + ''' + cache_key = (absolute_filename, frame.f_code.co_name, frame.f_code.co_firstlineno) + try: + return self._exclude_by_filter_cache[cache_key] + except KeyError: + cache = self._exclude_by_filter_cache + + # pydevd files are always filtered out + if self.get_file_type(frame) == self.PYDEV_FILE: + cache[cache_key] = True + else: + module_name = None + if self._files_filtering.require_module: + module_name = frame.f_globals.get('__name__', '') + cache[cache_key] = self._files_filtering.exclude_by_filter(absolute_filename, module_name) + + return cache[cache_key] + + def apply_files_filter(self, frame, original_filename, force_check_project_scope): + ''' + Should only be called if `self.is_files_filter_enabled == True` or `force_check_project_scope == True`. + + Note that it covers both the filter by specific paths includes/excludes as well + as the check which filters out libraries if not in the project scope. + + :param original_filename: + Note can either be the original filename or the absolute version of that filename. + + :param force_check_project_scope: + Check that the file is in the project scope even if the global setting + is off. + + :return bool: + True if it should be excluded when stepping and False if it should be + included. + ''' + cache_key = (frame.f_code.co_firstlineno, original_filename, force_check_project_scope, frame.f_code) + try: + return self._apply_filter_cache[cache_key] + except KeyError: + if self.plugin is not None and (self.has_plugin_line_breaks or self.has_plugin_exception_breaks): + # If it's explicitly needed by some plugin, we can't skip it. + if not self.plugin.can_skip(self, frame): + pydev_log.debug_once('File traced (included by plugins): %s', original_filename) + self._apply_filter_cache[cache_key] = False + return False + + if self._exclude_filters_enabled: + absolute_filename = pydevd_file_utils.absolute_path(original_filename) + exclude_by_filter = self._exclude_by_filter(frame, absolute_filename) + if exclude_by_filter is not None: + if exclude_by_filter: + # ignore files matching stepping filters + pydev_log.debug_once('File not traced (excluded by filters): %s', original_filename) + + self._apply_filter_cache[cache_key] = True + return True + else: + pydev_log.debug_once('File traced (explicitly included by filters): %s', original_filename) + + self._apply_filter_cache[cache_key] = False + return False + + if (self._is_libraries_filter_enabled or force_check_project_scope) and not self.in_project_scope(frame): + # ignore library files while stepping + self._apply_filter_cache[cache_key] = True + if force_check_project_scope: + pydev_log.debug_once('File not traced (not in project): %s', original_filename) + else: + pydev_log.debug_once('File not traced (not in project - force_check_project_scope): %s', original_filename) + + return True + + if force_check_project_scope: + pydev_log.debug_once('File traced: %s (force_check_project_scope)', original_filename) + else: + pydev_log.debug_once('File traced: %s', original_filename) + self._apply_filter_cache[cache_key] = False + return False + + def exclude_exception_by_filter(self, exception_breakpoint, trace): + if not exception_breakpoint.ignore_libraries and not self._exclude_filters_enabled: + return False + + if trace is None: + return True + + ignore_libraries = exception_breakpoint.ignore_libraries + exclude_filters_enabled = self._exclude_filters_enabled + + if (ignore_libraries and not self.in_project_scope(trace.tb_frame)) \ + or (exclude_filters_enabled and self._exclude_by_filter( + trace.tb_frame, + pydevd_file_utils.absolute_path(trace.tb_frame.f_code.co_filename))): + return True + + return False + + def set_project_roots(self, project_roots): + self._files_filtering.set_project_roots(project_roots) + self._clear_skip_caches() + self._clear_filters_caches() + + def set_exclude_filters(self, exclude_filters): + self._files_filtering.set_exclude_filters(exclude_filters) + self._clear_skip_caches() + self._clear_filters_caches() + + def set_use_libraries_filter(self, use_libraries_filter): + self._files_filtering.set_use_libraries_filter(use_libraries_filter) + self._clear_skip_caches() + self._clear_filters_caches() + + def get_use_libraries_filter(self): + return self._files_filtering.use_libraries_filter() + + def get_require_module_for_filters(self): + return self._files_filtering.require_module + + def has_user_threads_alive(self): + for t in pydevd_utils.get_non_pydevd_threads(): + if isinstance(t, PyDBDaemonThread): + pydev_log.error_once( + 'Error in debugger: Found PyDBDaemonThread not marked with is_pydev_daemon_thread=True.\n') + + if is_thread_alive(t): + if not t.daemon or hasattr(t, "__pydevd_main_thread"): + return True + + return False + + def initialize_network(self, sock, terminate_on_socket_close=True): + assert sock is not None + try: + sock.settimeout(None) # infinite, no timeouts from now on - jython does not have it + except: + pass + curr_reader = getattr(self, 'reader', None) + curr_writer = getattr(self, 'writer', None) + if curr_reader: + curr_reader.do_kill_pydev_thread() + if curr_writer: + curr_writer.do_kill_pydev_thread() + + self.writer = WriterThread(sock, self, terminate_on_socket_close=terminate_on_socket_close) + self.reader = ReaderThread( + sock, + self, + PyDevJsonCommandProcessor=PyDevJsonCommandProcessor, + process_net_command=process_net_command, + terminate_on_socket_close=terminate_on_socket_close + ) + self.writer.start() + self.reader.start() + + time.sleep(0.1) # give threads time to start + + def connect(self, host, port): + if host: + s = start_client(host, port) + else: + s = start_server(port) + + self.initialize_network(s) + + def create_wait_for_connection_thread(self): + if self._waiting_for_connection_thread is not None: + raise AssertionError('There is already another thread waiting for a connection.') + + self._server_socket_ready_event.clear() + self._waiting_for_connection_thread = self._WaitForConnectionThread(self) + self._waiting_for_connection_thread.start() + + def set_server_socket_ready(self): + self._server_socket_ready_event.set() + + def wait_for_server_socket_ready(self): + self._server_socket_ready_event.wait() + + @property + def dap_messages_listeners(self): + return self._dap_messages_listeners + + def add_dap_messages_listener(self, listener): + self._dap_messages_listeners.append(listener) + + class _WaitForConnectionThread(PyDBDaemonThread): + + def __init__(self, py_db): + PyDBDaemonThread.__init__(self, py_db) + self._server_socket = None + + def run(self): + host = SetupHolder.setup['client'] + port = SetupHolder.setup['port'] + + self._server_socket = create_server_socket(host=host, port=port) + self.py_db._server_socket_name = self._server_socket.getsockname() + self.py_db.set_server_socket_ready() + + while not self._kill_received: + try: + s = self._server_socket + if s is None: + return + + s.listen(1) + new_socket, _addr = s.accept() + if self._kill_received: + pydev_log.info("Connection (from wait_for_attach) accepted but ignored as kill was already received.") + return + + pydev_log.info("Connection (from wait_for_attach) accepted.") + reader = getattr(self.py_db, 'reader', None) + if reader is not None: + # This is needed if a new connection is done without the client properly + # sending a disconnect for the previous connection. + api = PyDevdAPI() + api.request_disconnect(self.py_db, resume_threads=False) + + self.py_db.initialize_network(new_socket, terminate_on_socket_close=False) + + except: + if DebugInfoHolder.DEBUG_TRACE_LEVEL > 0: + pydev_log.exception() + pydev_log.debug("Exiting _WaitForConnectionThread: %s\n", port) + + def do_kill_pydev_thread(self): + PyDBDaemonThread.do_kill_pydev_thread(self) + s = self._server_socket + if s is not None: + try: + s.close() + except: + pass + self._server_socket = None + + def get_internal_queue(self, thread_id): + """ returns internal command queue for a given thread. + if new queue is created, notify the RDB about it """ + if thread_id.startswith('__frame__'): + thread_id = thread_id[thread_id.rfind('|') + 1:] + return self._cmd_queue[thread_id] + + def post_method_as_internal_command(self, thread_id, method, *args, **kwargs): + if thread_id == '*': + internal_cmd = InternalThreadCommandForAnyThread(thread_id, method, *args, **kwargs) + else: + internal_cmd = InternalThreadCommand(thread_id, method, *args, **kwargs) + self.post_internal_command(internal_cmd, thread_id) + if thread_id == '*': + # Notify so that the command is handled as soon as possible. + self._py_db_command_thread_event.set() + + def post_internal_command(self, int_cmd, thread_id): + """ if thread_id is *, post to the '*' queue""" + queue = self.get_internal_queue(thread_id) + queue.put(int_cmd) + + def enable_output_redirection(self, redirect_stdout, redirect_stderr): + global _global_redirect_stdout_to_server + global _global_redirect_stderr_to_server + + _global_redirect_stdout_to_server = redirect_stdout + _global_redirect_stderr_to_server = redirect_stderr + self.redirect_output = redirect_stdout or redirect_stderr + if _global_redirect_stdout_to_server: + _init_stdout_redirect() + if _global_redirect_stderr_to_server: + _init_stderr_redirect() + + def check_output_redirect(self): + global _global_redirect_stdout_to_server + global _global_redirect_stderr_to_server + + if _global_redirect_stdout_to_server: + _init_stdout_redirect() + + if _global_redirect_stderr_to_server: + _init_stderr_redirect() + + def init_matplotlib_in_debug_console(self): + # import hook and patches for matplotlib support in debug console + from _pydev_bundle.pydev_import_hook import import_hook_manager + if is_current_thread_main_thread(): + for module in list(self.mpl_modules_for_patching): + import_hook_manager.add_module_name(module, self.mpl_modules_for_patching.pop(module)) + + def init_gui_support(self): + if self._installed_gui_support: + return + self._installed_gui_support = True + + # enable_gui and enable_gui_function in activate_matplotlib should be called in main thread. Unlike integrated console, + # in the debug console we have no interpreter instance with exec_queue, but we run this code in the main + # thread and can call it directly. + class _ReturnGuiLoopControlHelper: + _return_control_osc = False + + def return_control(): + # Some of the input hooks (e.g. Qt4Agg) check return control without doing + # a single operation, so we don't return True on every + # call when the debug hook is in place to allow the GUI to run + _ReturnGuiLoopControlHelper._return_control_osc = not _ReturnGuiLoopControlHelper._return_control_osc + return _ReturnGuiLoopControlHelper._return_control_osc + + from pydev_ipython.inputhook import set_return_control_callback, enable_gui + + set_return_control_callback(return_control) + + if self._gui_event_loop == 'matplotlib': + # prepare debugger for matplotlib integration with GUI event loop + from pydev_ipython.matplotlibtools import activate_matplotlib, activate_pylab, activate_pyplot, do_enable_gui + + self.mpl_modules_for_patching = {"matplotlib": lambda: activate_matplotlib(do_enable_gui), + "matplotlib.pyplot": activate_pyplot, + "pylab": activate_pylab } + else: + self.activate_gui_function = enable_gui + + def _activate_gui_if_needed(self): + if self.gui_in_use: + return + + if len(self.mpl_modules_for_patching) > 0: + if is_current_thread_main_thread(): # Note that we call only in the main thread. + for module in list(self.mpl_modules_for_patching): + if module in sys.modules: + activate_function = self.mpl_modules_for_patching.pop(module, None) + if activate_function is not None: + activate_function() + self.gui_in_use = True + + if self.activate_gui_function: + if is_current_thread_main_thread(): # Only call enable_gui in the main thread. + try: + # First try to activate builtin GUI event loops. + self.activate_gui_function(self._gui_event_loop) + self.activate_gui_function = None + self.gui_in_use = True + except ValueError: + # The user requested a custom GUI event loop, try to import it. + from pydev_ipython.inputhook import set_inputhook + try: + inputhook_function = import_attr_from_module(self._gui_event_loop) + set_inputhook(inputhook_function) + self.gui_in_use = True + except Exception as e: + pydev_log.debug("Cannot activate custom GUI event loop {}: {}".format(self._gui_event_loop, e)) + finally: + self.activate_gui_function = None + + def _call_input_hook(self): + try: + from pydev_ipython.inputhook import get_inputhook + inputhook = get_inputhook() + if inputhook: + inputhook() + except: + pass + + def notify_skipped_step_in_because_of_filters(self, frame): + self.writer.add_command(self.cmd_factory.make_skipped_step_in_because_of_filters(self, frame)) + + def notify_thread_created(self, thread_id, thread, use_lock=True): + if self.writer is None: + # Protect about threads being created before the communication structure is in place + # (note that they will appear later on anyways as pydevd does reconcile live/dead threads + # when processing internal commands, albeit it may take longer and in general this should + # not be usual as it's expected that the debugger is live before other threads are created). + return + + with self._lock_running_thread_ids if use_lock else NULL: + if not self._enable_thread_notifications: + return + + if thread_id in self._running_thread_ids: + return + + additional_info = set_additional_thread_info(thread) + if additional_info.pydev_notify_kill: + # After we notify it should be killed, make sure we don't notify it's alive (on a racing condition + # this could happen as we may notify before the thread is stopped internally). + return + + self._running_thread_ids[thread_id] = thread + + self.writer.add_command(self.cmd_factory.make_thread_created_message(thread)) + + def notify_thread_not_alive(self, thread_id, use_lock=True): + """ if thread is not alive, cancel trace_dispatch processing """ + if self.writer is None: + return + + with self._lock_running_thread_ids if use_lock else NULL: + if not self._enable_thread_notifications: + return + + thread = self._running_thread_ids.pop(thread_id, None) + if thread is None: + return + + additional_info = set_additional_thread_info(thread) + was_notified = additional_info.pydev_notify_kill + if not was_notified: + additional_info.pydev_notify_kill = True + + self.writer.add_command(self.cmd_factory.make_thread_killed_message(thread_id)) + + def set_enable_thread_notifications(self, enable): + with self._lock_running_thread_ids: + if self._enable_thread_notifications != enable: + self._enable_thread_notifications = enable + + if enable: + # As it was previously disabled, we have to notify about existing threads again + # (so, clear the cache related to that). + self._running_thread_ids = {} + + def process_internal_commands(self): + ''' + This function processes internal commands. + ''' + # If this method is being called before the debugger is ready to run we should not notify + # about threads and should only process commands sent to all threads. + ready_to_run = self.ready_to_run + + dispose = False + with self._main_lock: + program_threads_alive = {} + if ready_to_run: + self.check_output_redirect() + + all_threads = threadingEnumerate() + program_threads_dead = [] + with self._lock_running_thread_ids: + reset_cache = not self._running_thread_ids + + for t in all_threads: + if getattr(t, 'is_pydev_daemon_thread', False): + pass # I.e.: skip the DummyThreads created from pydev daemon threads + elif isinstance(t, PyDBDaemonThread): + pydev_log.error_once('Error in debugger: Found PyDBDaemonThread not marked with is_pydev_daemon_thread=True.') + + elif is_thread_alive(t): + if reset_cache: + # Fix multiprocessing debug with breakpoints in both main and child processes + # (https://youtrack.jetbrains.com/issue/PY-17092) When the new process is created, the main + # thread in the new process already has the attribute 'pydevd_id', so the new thread doesn't + # get new id with its process number and the debugger loses access to both threads. + # Therefore we should update thread_id for every main thread in the new process. + clear_cached_thread_id(t) + + thread_id = get_thread_id(t) + program_threads_alive[thread_id] = t + + self.notify_thread_created(thread_id, t, use_lock=False) + + # Compute and notify about threads which are no longer alive. + thread_ids = list(self._running_thread_ids.keys()) + for thread_id in thread_ids: + if thread_id not in program_threads_alive: + program_threads_dead.append(thread_id) + + for thread_id in program_threads_dead: + self.notify_thread_not_alive(thread_id, use_lock=False) + + cmds_to_execute = [] + + # Without self._lock_running_thread_ids + if len(program_threads_alive) == 0 and ready_to_run: + dispose = True + else: + # Actually process the commands now (make sure we don't have a lock for _lock_running_thread_ids + # acquired at this point as it could lead to a deadlock if some command evaluated tried to + # create a thread and wait for it -- which would try to notify about it getting that lock). + curr_thread_id = get_current_thread_id(threadingCurrentThread()) + if ready_to_run: + process_thread_ids = (curr_thread_id, '*') + else: + process_thread_ids = ('*',) + + for thread_id in process_thread_ids: + queue = self.get_internal_queue(thread_id) + + # some commands must be processed by the thread itself... if that's the case, + # we will re-add the commands to the queue after executing. + cmds_to_add_back = [] + + try: + while True: + int_cmd = queue.get(False) + + if not self.mpl_hooks_in_debug_console and isinstance(int_cmd, InternalConsoleExec) and not self.gui_in_use: + # add import hooks for matplotlib patches if only debug console was started + try: + self.init_matplotlib_in_debug_console() + self.gui_in_use = True + except: + pydev_log.debug("Matplotlib support in debug console failed", traceback.format_exc()) + self.mpl_hooks_in_debug_console = True + + if int_cmd.can_be_executed_by(curr_thread_id): + cmds_to_execute.append(int_cmd) + else: + pydev_log.verbose("NOT processing internal command: %s ", int_cmd) + cmds_to_add_back.append(int_cmd) + + except _queue.Empty: # @UndefinedVariable + # this is how we exit + for int_cmd in cmds_to_add_back: + queue.put(int_cmd) + + if dispose: + # Note: must be called without the main lock to avoid deadlocks. + self.dispose_and_kill_all_pydevd_threads() + else: + # Actually execute the commands without the main lock! + for int_cmd in cmds_to_execute: + pydev_log.verbose("processing internal command: %s", int_cmd) + try: + int_cmd.do_it(self) + except: + pydev_log.exception('Error processing internal command.') + + def consolidate_breakpoints(self, canonical_normalized_filename, id_to_breakpoint, file_to_line_to_breakpoints): + break_dict = {} + for _breakpoint_id, pybreakpoint in id_to_breakpoint.items(): + break_dict[pybreakpoint.line] = pybreakpoint + + file_to_line_to_breakpoints[canonical_normalized_filename] = break_dict + self._clear_skip_caches() + + def _clear_skip_caches(self): + global_cache_skips.clear() + global_cache_frame_skips.clear() + + def add_break_on_exception( + self, + exception, + condition, + expression, + notify_on_handled_exceptions, + notify_on_unhandled_exceptions, + notify_on_user_unhandled_exceptions, + notify_on_first_raise_only, + ignore_libraries=False + ): + try: + eb = ExceptionBreakpoint( + exception, + condition, + expression, + notify_on_handled_exceptions, + notify_on_unhandled_exceptions, + notify_on_user_unhandled_exceptions, + notify_on_first_raise_only, + ignore_libraries + ) + except ImportError: + pydev_log.critical("Error unable to add break on exception for: %s (exception could not be imported).", exception) + return None + + if eb.notify_on_unhandled_exceptions: + cp = self.break_on_uncaught_exceptions.copy() + cp[exception] = eb + if DebugInfoHolder.DEBUG_TRACE_BREAKPOINTS > 0: + pydev_log.critical("Exceptions to hook on terminate: %s.", cp) + self.break_on_uncaught_exceptions = cp + + if eb.notify_on_handled_exceptions: + cp = self.break_on_caught_exceptions.copy() + cp[exception] = eb + if DebugInfoHolder.DEBUG_TRACE_BREAKPOINTS > 0: + pydev_log.critical("Exceptions to hook always: %s.", cp) + self.break_on_caught_exceptions = cp + + if eb.notify_on_user_unhandled_exceptions: + cp = self.break_on_user_uncaught_exceptions.copy() + cp[exception] = eb + if DebugInfoHolder.DEBUG_TRACE_BREAKPOINTS > 0: + pydev_log.critical("Exceptions to hook on user uncaught code: %s.", cp) + self.break_on_user_uncaught_exceptions = cp + + return eb + + def set_suspend(self, thread, stop_reason, suspend_other_threads=False, is_pause=False, original_step_cmd=-1): + ''' + :param thread: + The thread which should be suspended. + + :param stop_reason: + Reason why the thread was suspended. + + :param suspend_other_threads: + Whether to force other threads to be suspended (i.e.: when hitting a breakpoint + with a suspend all threads policy). + + :param is_pause: + If this is a pause to suspend all threads, any thread can be considered as the 'main' + thread paused. + + :param original_step_cmd: + If given we may change the stop reason to this. + ''' + self._threads_suspended_single_notification.increment_suspend_time() + if is_pause: + self._threads_suspended_single_notification.on_pause() + + info = mark_thread_suspended(thread, stop_reason, original_step_cmd=original_step_cmd) + + if is_pause: + # Must set tracing after setting the state to suspend. + frame = info.get_topmost_frame(thread) + if frame is not None: + try: + self.set_trace_for_frame_and_parents(frame) + finally: + frame = None + + # If conditional breakpoint raises any exception during evaluation send the details to the client. + if stop_reason == CMD_SET_BREAK and info.conditional_breakpoint_exception is not None: + conditional_breakpoint_exception_tuple = info.conditional_breakpoint_exception + info.conditional_breakpoint_exception = None + self._send_breakpoint_condition_exception(thread, conditional_breakpoint_exception_tuple) + + if not suspend_other_threads and self.multi_threads_single_notification: + # In the mode which gives a single notification when all threads are + # stopped, stop all threads whenever a set_suspend is issued. + suspend_other_threads = True + + if suspend_other_threads: + # Suspend all except the current one (which we're currently suspending already). + suspend_all_threads(self, except_thread=thread) + + def _send_breakpoint_condition_exception(self, thread, conditional_breakpoint_exception_tuple): + """If conditional breakpoint raises an exception during evaluation + send exception details to java + """ + thread_id = get_thread_id(thread) + # conditional_breakpoint_exception_tuple - should contain 2 values (exception_type, stacktrace) + if conditional_breakpoint_exception_tuple and len(conditional_breakpoint_exception_tuple) == 2: + exc_type, stacktrace = conditional_breakpoint_exception_tuple + int_cmd = InternalGetBreakpointException(thread_id, exc_type, stacktrace) + self.post_internal_command(int_cmd, thread_id) + + def send_caught_exception_stack(self, thread, arg, curr_frame_id): + """Sends details on the exception which was caught (and where we stopped) to the java side. + + arg is: exception type, description, traceback object + """ + thread_id = get_thread_id(thread) + int_cmd = InternalSendCurrExceptionTrace(thread_id, arg, curr_frame_id) + self.post_internal_command(int_cmd, thread_id) + + def send_caught_exception_stack_proceeded(self, thread): + """Sends that some thread was resumed and is no longer showing an exception trace. + """ + thread_id = get_thread_id(thread) + int_cmd = InternalSendCurrExceptionTraceProceeded(thread_id) + self.post_internal_command(int_cmd, thread_id) + self.process_internal_commands() + + def send_process_created_message(self): + """Sends a message that a new process has been created. + """ + if self.writer is None or self.cmd_factory is None: + return + cmd = self.cmd_factory.make_process_created_message() + self.writer.add_command(cmd) + + def send_process_about_to_be_replaced(self): + """Sends a message that a new process has been created. + """ + if self.writer is None or self.cmd_factory is None: + return + cmd = self.cmd_factory.make_process_about_to_be_replaced_message() + if cmd is NULL_NET_COMMAND: + return + + sent = [False] + + def after_sent(*args, **kwargs): + sent[0] = True + + cmd.call_after_send(after_sent) + self.writer.add_command(cmd) + + timeout = 5 # Wait up to 5 seconds + initial_time = time.time() + while not sent[0]: + time.sleep(.05) + + if (time.time() - initial_time) > timeout: + pydev_log.critical('pydevd: Sending message related to process being replaced timed-out after %s seconds', timeout) + break + + def set_next_statement(self, frame, event, func_name, next_line): + stop = False + response_msg = "" + old_line = frame.f_lineno + if event == 'line' or event == 'exception': + # If we're already in the correct context, we have to stop it now, because we can act only on + # line events -- if a return was the next statement it wouldn't work (so, we have this code + # repeated at pydevd_frame). + + curr_func_name = frame.f_code.co_name + + # global context is set with an empty name + if curr_func_name in ('?', ''): + curr_func_name = '' + + if func_name == '*' or curr_func_name == func_name: + line = next_line + frame.f_trace = self.trace_dispatch + frame.f_lineno = line + stop = True + else: + response_msg = "jump is available only within the bottom frame" + return stop, old_line, response_msg + + def cancel_async_evaluation(self, thread_id, frame_id): + with self._main_lock: + try: + all_threads = threadingEnumerate() + for t in all_threads: + if getattr(t, 'is_pydev_daemon_thread', False) and hasattr(t, 'cancel_event') and t.thread_id == thread_id and \ + t.frame_id == frame_id: + t.cancel_event.set() + except: + pydev_log.exception() + + def find_frame(self, thread_id, frame_id): + """ returns a frame on the thread that has a given frame_id """ + return self.suspended_frames_manager.find_frame(thread_id, frame_id) + + def do_wait_suspend(self, thread, frame, event, arg, exception_type=None): # @UnusedVariable + """ busy waits until the thread state changes to RUN + it expects thread's state as attributes of the thread. + Upon running, processes any outstanding Stepping commands. + + :param exception_type: + If pausing due to an exception, its type. + """ + if USE_CUSTOM_SYS_CURRENT_FRAMES_MAP: + constructed_tid_to_last_frame[thread.ident] = sys._getframe() + self.process_internal_commands() + + thread_id = get_current_thread_id(thread) + + # print('do_wait_suspend %s %s %s %s %s %s (%s)' % (frame.f_lineno, frame.f_code.co_name, frame.f_code.co_filename, event, arg, constant_to_str(thread.additional_info.pydev_step_cmd), constant_to_str(thread.additional_info.pydev_original_step_cmd))) + # print('--- stack ---') + # print(traceback.print_stack(file=sys.stdout)) + # print('--- end stack ---') + + # Send the suspend message + message = thread.additional_info.pydev_message + suspend_type = thread.additional_info.trace_suspend_type + thread.additional_info.trace_suspend_type = 'trace' # Reset to trace mode for next call. + stop_reason = thread.stop_reason + + frames_list = None + + if arg is not None and event == 'exception': + # arg must be the exception info (tuple(exc_type, exc, traceback)) + exc_type, exc_desc, trace_obj = arg + if trace_obj is not None: + frames_list = pydevd_frame_utils.create_frames_list_from_traceback(trace_obj, frame, exc_type, exc_desc, exception_type=exception_type) + + if frames_list is None: + frames_list = pydevd_frame_utils.create_frames_list_from_frame(frame) + + if DebugInfoHolder.DEBUG_TRACE_LEVEL > 2: + pydev_log.debug( + 'PyDB.do_wait_suspend\nname: %s (line: %s)\n file: %s\n event: %s\n arg: %s\n step: %s (original step: %s)\n thread: %s, thread id: %s, id(thread): %s', + frame.f_code.co_name, + frame.f_lineno, + frame.f_code.co_filename, + event, + arg, + constant_to_str(thread.additional_info.pydev_step_cmd), + constant_to_str(thread.additional_info.pydev_original_step_cmd), + thread, + thread_id, + id(thread), + ) + for f in frames_list: + pydev_log.debug(' Stack: %s, %s, %s', f.f_code.co_filename, f.f_code.co_name, f.f_lineno) + + with self.suspended_frames_manager.track_frames(self) as frames_tracker: + frames_tracker.track(thread_id, frames_list) + cmd = frames_tracker.create_thread_suspend_command(thread_id, stop_reason, message, suspend_type) + self.writer.add_command(cmd) + + with CustomFramesContainer.custom_frames_lock: # @UndefinedVariable + from_this_thread = [] + + for frame_custom_thread_id, custom_frame in CustomFramesContainer.custom_frames.items(): + if custom_frame.thread_id == thread.ident: + frames_tracker.track(thread_id, pydevd_frame_utils.create_frames_list_from_frame(custom_frame.frame), frame_custom_thread_id=frame_custom_thread_id) + # print('Frame created as thread: %s' % (frame_custom_thread_id,)) + + self.writer.add_command(self.cmd_factory.make_custom_frame_created_message( + frame_custom_thread_id, custom_frame.name)) + + self.writer.add_command( + frames_tracker.create_thread_suspend_command(frame_custom_thread_id, CMD_THREAD_SUSPEND, "", suspend_type)) + + from_this_thread.append(frame_custom_thread_id) + + with self._threads_suspended_single_notification.notify_thread_suspended(thread_id, stop_reason): + keep_suspended = self._do_wait_suspend(thread, frame, event, arg, suspend_type, from_this_thread, frames_tracker) + + frames_list = None + + if keep_suspended: + # This means that we should pause again after a set next statement. + self._threads_suspended_single_notification.increment_suspend_time() + self.do_wait_suspend(thread, frame, event, arg, exception_type) + if DebugInfoHolder.DEBUG_TRACE_LEVEL > 2: + pydev_log.debug('Leaving PyDB.do_wait_suspend: %s (%s) %s', thread, thread_id, id(thread)) + + def _do_wait_suspend(self, thread, frame, event, arg, suspend_type, from_this_thread, frames_tracker): + info = thread.additional_info + info.step_in_initial_location = None + keep_suspended = False + + with self._main_lock: # Use lock to check if suspended state changed + activate_gui = info.pydev_state == STATE_SUSPEND and not self.pydb_disposed + + in_main_thread = is_current_thread_main_thread() + if activate_gui and in_main_thread: + # before every stop check if matplotlib modules were imported inside script code + # or some GUI event loop needs to be activated + self._activate_gui_if_needed() + + while True: + with self._main_lock: # Use lock to check if suspended state changed + if info.pydev_state != STATE_SUSPEND or (self.pydb_disposed and not self.terminate_requested): + # Note: we can't exit here if terminate was requested while a breakpoint was hit. + break + + if in_main_thread and self.gui_in_use: + # call input hooks if only GUI is in use + self._call_input_hook() + + self.process_internal_commands() + time.sleep(0.01) + + self.cancel_async_evaluation(get_current_thread_id(thread), str(id(frame))) + + # process any stepping instructions + if info.pydev_step_cmd in (CMD_STEP_INTO, CMD_STEP_INTO_MY_CODE): + info.step_in_initial_location = (frame, frame.f_lineno) + if frame.f_code.co_flags & 0x80: # CO_COROUTINE = 0x80 + # When in a coroutine we switch to CMD_STEP_INTO_COROUTINE. + info.pydev_step_cmd = CMD_STEP_INTO_COROUTINE + info.pydev_step_stop = frame + self.set_trace_for_frame_and_parents(frame) + else: + info.pydev_step_stop = None + self.set_trace_for_frame_and_parents(frame) + + elif info.pydev_step_cmd in (CMD_STEP_OVER, CMD_STEP_OVER_MY_CODE, CMD_SMART_STEP_INTO): + info.pydev_step_stop = frame + self.set_trace_for_frame_and_parents(frame) + + elif info.pydev_step_cmd == CMD_RUN_TO_LINE or info.pydev_step_cmd == CMD_SET_NEXT_STATEMENT: + info.pydev_step_stop = None + self.set_trace_for_frame_and_parents(frame) + stop = False + response_msg = "" + try: + stop, _old_line, response_msg = self.set_next_statement(frame, event, info.pydev_func_name, info.pydev_next_line) + except ValueError as e: + response_msg = "%s" % e + finally: + seq = info.pydev_message + cmd = self.cmd_factory.make_set_next_stmnt_status_message(seq, stop, response_msg) + self.writer.add_command(cmd) + info.pydev_message = '' + + if stop: + # Uninstall the current frames tracker before running it. + frames_tracker.untrack_all() + cmd = self.cmd_factory.make_thread_run_message(get_current_thread_id(thread), info.pydev_step_cmd) + self.writer.add_command(cmd) + info.pydev_state = STATE_SUSPEND + thread.stop_reason = CMD_SET_NEXT_STATEMENT + keep_suspended = True + + else: + # Set next did not work... + info.pydev_original_step_cmd = -1 + info.pydev_step_cmd = -1 + info.pydev_state = STATE_SUSPEND + thread.stop_reason = CMD_THREAD_SUSPEND + # return to the suspend state and wait for other command (without sending any + # additional notification to the client). + return self._do_wait_suspend(thread, frame, event, arg, suspend_type, from_this_thread, frames_tracker) + + elif info.pydev_step_cmd in (CMD_STEP_RETURN, CMD_STEP_RETURN_MY_CODE): + back_frame = frame.f_back + force_check_project_scope = info.pydev_step_cmd == CMD_STEP_RETURN_MY_CODE + + if force_check_project_scope or self.is_files_filter_enabled: + while back_frame is not None: + if self.apply_files_filter(back_frame, back_frame.f_code.co_filename, force_check_project_scope): + frame = back_frame + back_frame = back_frame.f_back + else: + break + + if back_frame is not None: + # steps back to the same frame (in a return call it will stop in the 'back frame' for the user) + info.pydev_step_stop = frame + self.set_trace_for_frame_and_parents(frame) + else: + # No back frame?!? -- this happens in jython when we have some frame created from an awt event + # (the previous frame would be the awt event, but this doesn't make part of 'jython', only 'java') + # so, if we're doing a step return in this situation, it's the same as just making it run + info.pydev_step_stop = None + info.pydev_original_step_cmd = -1 + info.pydev_step_cmd = -1 + info.pydev_state = STATE_RUN + + if PYDEVD_IPYTHON_COMPATIBLE_DEBUGGING: + info.pydev_use_scoped_step_frame = False + if info.pydev_step_cmd in ( + CMD_STEP_OVER, CMD_STEP_OVER_MY_CODE, + CMD_STEP_INTO, CMD_STEP_INTO_MY_CODE + ): + # i.e.: We're stepping: check if the stepping should be scoped (i.e.: in ipython + # each line is executed separately in a new frame, in which case we need to consider + # the next line as if it was still in the same frame). + f = frame.f_back + if f and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[1]: + f = f.f_back + if f and f.f_code.co_name == PYDEVD_IPYTHON_CONTEXT[2]: + info.pydev_use_scoped_step_frame = True + pydev_log.info('Using (ipython) scoped stepping.') + del f + + del frame + cmd = self.cmd_factory.make_thread_run_message(get_current_thread_id(thread), info.pydev_step_cmd) + self.writer.add_command(cmd) + + with CustomFramesContainer.custom_frames_lock: + # The ones that remained on last_running must now be removed. + for frame_id in from_this_thread: + # print('Removing created frame: %s' % (frame_id,)) + self.writer.add_command(self.cmd_factory.make_thread_killed_message(frame_id)) + + return keep_suspended + + def do_stop_on_unhandled_exception(self, thread, frame, frames_byid, arg): + pydev_log.debug("We are stopping in unhandled exception.") + try: + add_exception_to_frame(frame, arg) + self.send_caught_exception_stack(thread, arg, id(frame)) + try: + self.set_suspend(thread, CMD_ADD_EXCEPTION_BREAK) + self.do_wait_suspend(thread, frame, 'exception', arg, EXCEPTION_TYPE_UNHANDLED) + except: + self.send_caught_exception_stack_proceeded(thread) + except: + pydev_log.exception("We've got an error while stopping in unhandled exception: %s.", arg[0]) + finally: + remove_exception_from_frame(frame) + frame = None + + def set_trace_for_frame_and_parents(self, frame, **kwargs): + disable = kwargs.pop('disable', False) + assert not kwargs + + while frame is not None: + # Don't change the tracing on debugger-related files + file_type = self.get_file_type(frame) + + if file_type is None: + if disable: + pydev_log.debug('Disable tracing of frame: %s - %s', frame.f_code.co_filename, frame.f_code.co_name) + if frame.f_trace is not None and frame.f_trace is not NO_FTRACE: + frame.f_trace = NO_FTRACE + + elif frame.f_trace is not self.trace_dispatch: + pydev_log.debug('Set tracing of frame: %s - %s', frame.f_code.co_filename, frame.f_code.co_name) + frame.f_trace = self.trace_dispatch + else: + pydev_log.debug('SKIP set tracing of frame: %s - %s', frame.f_code.co_filename, frame.f_code.co_name) + + frame = frame.f_back + + del frame + + def _create_pydb_command_thread(self): + curr_pydb_command_thread = self.py_db_command_thread + if curr_pydb_command_thread is not None: + curr_pydb_command_thread.do_kill_pydev_thread() + + new_pydb_command_thread = self.py_db_command_thread = PyDBCommandThread(self) + new_pydb_command_thread.start() + + def _create_check_output_thread(self): + curr_output_checker_thread = self.check_alive_thread + if curr_output_checker_thread is not None: + curr_output_checker_thread.do_kill_pydev_thread() + + check_alive_thread = self.check_alive_thread = CheckAliveThread(self) + check_alive_thread.start() + + def start_auxiliary_daemon_threads(self): + self._create_pydb_command_thread() + self._create_check_output_thread() + + def __wait_for_threads_to_finish(self, timeout): + try: + with self._wait_for_threads_to_finish_called_lock: + wait_for_threads_to_finish_called = self._wait_for_threads_to_finish_called + self._wait_for_threads_to_finish_called = True + + if wait_for_threads_to_finish_called: + # Make sure that we wait for the previous call to be finished. + self._wait_for_threads_to_finish_called_event.wait(timeout=timeout) + else: + try: + + def get_pydb_daemon_threads_to_wait(): + pydb_daemon_threads = set(self.created_pydb_daemon_threads) + pydb_daemon_threads.discard(self.check_alive_thread) + pydb_daemon_threads.discard(threading.current_thread()) + return pydb_daemon_threads + + pydev_log.debug("PyDB.dispose_and_kill_all_pydevd_threads waiting for pydb daemon threads to finish") + started_at = time.time() + # Note: we wait for all except the check_alive_thread (which is not really a daemon + # thread and it can call this method itself). + while time.time() < started_at + timeout: + if len(get_pydb_daemon_threads_to_wait()) == 0: + break + time.sleep(1 / 10.) + else: + thread_names = [t.name for t in get_pydb_daemon_threads_to_wait()] + if thread_names: + pydev_log.debug("The following pydb threads may not have finished correctly: %s", + ', '.join(thread_names)) + finally: + self._wait_for_threads_to_finish_called_event.set() + except: + pydev_log.exception() + + def dispose_and_kill_all_pydevd_threads(self, wait=True, timeout=.5): + ''' + When this method is called we finish the debug session, terminate threads + and if this was registered as the global instance, unregister it -- afterwards + it should be possible to create a new instance and set as global to start + a new debug session. + + :param bool wait: + If True we'll wait for the threads to be actually finished before proceeding + (based on the available timeout). + Note that this must be thread-safe and if one thread is waiting the other thread should + also wait. + ''' + try: + back_frame = sys._getframe().f_back + pydev_log.debug( + 'PyDB.dispose_and_kill_all_pydevd_threads (called from: File "%s", line %s, in %s)', + back_frame.f_code.co_filename, back_frame.f_lineno, back_frame.f_code.co_name + ) + back_frame = None + with self._disposed_lock: + disposed = self.pydb_disposed + self.pydb_disposed = True + + if disposed: + if wait: + pydev_log.debug("PyDB.dispose_and_kill_all_pydevd_threads (already disposed - wait)") + self.__wait_for_threads_to_finish(timeout) + else: + pydev_log.debug("PyDB.dispose_and_kill_all_pydevd_threads (already disposed - no wait)") + return + + pydev_log.debug("PyDB.dispose_and_kill_all_pydevd_threads (first call)") + + # Wait until a time when there are no commands being processed to kill the threads. + started_at = time.time() + while time.time() < started_at + timeout: + with self._main_lock: + writer = self.writer + if writer is None or writer.empty(): + pydev_log.debug("PyDB.dispose_and_kill_all_pydevd_threads no commands being processed.") + break + else: + pydev_log.debug("PyDB.dispose_and_kill_all_pydevd_threads timed out waiting for writer to be empty.") + + pydb_daemon_threads = set(self.created_pydb_daemon_threads) + for t in pydb_daemon_threads: + if hasattr(t, 'do_kill_pydev_thread'): + pydev_log.debug("PyDB.dispose_and_kill_all_pydevd_threads killing thread: %s", t) + t.do_kill_pydev_thread() + + if wait: + self.__wait_for_threads_to_finish(timeout) + else: + pydev_log.debug("PyDB.dispose_and_kill_all_pydevd_threads: no wait") + + py_db = get_global_debugger() + if py_db is self: + set_global_debugger(None) + except: + pydev_log.debug("PyDB.dispose_and_kill_all_pydevd_threads: exception") + try: + if DebugInfoHolder.DEBUG_TRACE_LEVEL >= 3: + pydev_log.exception() + except: + pass + finally: + pydev_log.debug("PyDB.dispose_and_kill_all_pydevd_threads: finished") + + def prepare_to_run(self): + ''' Shared code to prepare debugging by installing traces and registering threads ''' + self.patch_threads() + self.start_auxiliary_daemon_threads() + + def patch_threads(self): + try: + # not available in jython! + threading.settrace(self.trace_dispatch) # for all future threads + except: + pass + + from _pydev_bundle.pydev_monkey import patch_thread_modules + patch_thread_modules() + + def run(self, file, globals=None, locals=None, is_module=False, set_trace=True): + module_name = None + entry_point_fn = '' + if is_module: + # When launching with `python -m `, python automatically adds + # an empty path to the PYTHONPATH which resolves files in the current + # directory, so, depending how pydevd itself is launched, we may need + # to manually add such an entry to properly resolve modules in the + # current directory (see: https://github.com/Microsoft/ptvsd/issues/1010). + if '' not in sys.path: + sys.path.insert(0, '') + file, _, entry_point_fn = file.partition(':') + module_name = file + filename = get_fullname(file) + if filename is None: + mod_dir = get_package_dir(module_name) + if mod_dir is None: + sys.stderr.write("No module named %s\n" % file) + return + else: + filename = get_fullname("%s.__main__" % module_name) + if filename is None: + sys.stderr.write("No module named %s\n" % file) + return + else: + file = filename + else: + file = filename + mod_dir = os.path.dirname(filename) + main_py = os.path.join(mod_dir, '__main__.py') + main_pyc = os.path.join(mod_dir, '__main__.pyc') + if filename.endswith('__init__.pyc'): + if os.path.exists(main_pyc): + filename = main_pyc + elif os.path.exists(main_py): + filename = main_py + elif filename.endswith('__init__.py'): + if os.path.exists(main_pyc) and not os.path.exists(main_py): + filename = main_pyc + elif os.path.exists(main_py): + filename = main_py + + sys.argv[0] = filename + + if os.path.isdir(file): + new_target = os.path.join(file, '__main__.py') + if os.path.isfile(new_target): + file = new_target + + m = None + if globals is None: + m = save_main_module(file, 'pydevd') + globals = m.__dict__ + try: + globals['__builtins__'] = __builtins__ + except NameError: + pass # Not there on Jython... + + if locals is None: + locals = globals + + # Predefined (writable) attributes: __name__ is the module's name; + # __doc__ is the module's documentation string, or None if unavailable; + # __file__ is the pathname of the file from which the module was loaded, + # if it was loaded from a file. The __file__ attribute is not present for + # C modules that are statically linked into the interpreter; for extension modules + # loaded dynamically from a shared library, it is the pathname of the shared library file. + + # I think this is an ugly hack, bug it works (seems to) for the bug that says that sys.path should be the same in + # debug and run. + if sys.path[0] != '' and m is not None and m.__file__.startswith(sys.path[0]): + # print >> sys.stderr, 'Deleting: ', sys.path[0] + del sys.path[0] + + if not is_module: + # now, the local directory has to be added to the pythonpath + # sys.path.insert(0, os.getcwd()) + # Changed: it's not the local directory, but the directory of the file launched + # The file being run must be in the pythonpath (even if it was not before) + sys.path.insert(0, os.path.split(os_path_abspath(file))[0]) + + if set_trace: + self.wait_for_ready_to_run() + + # call prepare_to_run when we already have all information about breakpoints + self.prepare_to_run() + + t = threadingCurrentThread() + thread_id = get_current_thread_id(t) + + if self.thread_analyser is not None: + wrap_threads() + self.thread_analyser.set_start_time(cur_time()) + send_concurrency_message("threading_event", 0, t.name, thread_id, "thread", "start", file, 1, None, parent=thread_id) + + if self.asyncio_analyser is not None: + # we don't have main thread in asyncio graph, so we should add a fake event + send_concurrency_message("asyncio_event", 0, "Task", "Task", "thread", "stop", file, 1, frame=None, parent=None) + + try: + if INTERACTIVE_MODE_AVAILABLE: + self.init_gui_support() + except: + pydev_log.exception("Matplotlib support in debugger failed") + + if hasattr(sys, 'exc_clear'): + # we should clean exception information in Python 2, before user's code execution + sys.exc_clear() + + # Notify that the main thread is created. + self.notify_thread_created(thread_id, t) + + # Note: important: set the tracing right before calling _exec. + if set_trace: + self.enable_tracing() + + return self._exec(is_module, entry_point_fn, module_name, file, globals, locals) + + def _exec(self, is_module, entry_point_fn, module_name, file, globals, locals): + ''' + This function should have frames tracked by unhandled exceptions (the `_exec` name is important). + ''' + if not is_module: + globals = pydevd_runpy.run_path(file, globals, '__main__') + else: + # treat ':' as a separator between module and entry point function + # if there is no entry point we run we same as with -m switch. Otherwise we perform + # an import and execute the entry point + if entry_point_fn: + mod = __import__(module_name, level=0, fromlist=[entry_point_fn], globals=globals, locals=locals) + func = getattr(mod, entry_point_fn) + func() + else: + # Run with the -m switch + globals = pydevd_runpy._run_module_as_main(module_name, alter_argv=False) + return globals + + def wait_for_commands(self, globals): + self._activate_gui_if_needed() + + thread = threading.current_thread() + from _pydevd_bundle import pydevd_frame_utils + frame = pydevd_frame_utils.Frame(None, -1, pydevd_frame_utils.FCode("Console", + os.path.abspath(os.path.dirname(__file__))), globals, globals) + thread_id = get_current_thread_id(thread) + self.add_fake_frame(thread_id, id(frame), frame) + + cmd = self.cmd_factory.make_show_console_message(self, thread_id, frame) + if self.writer is not None: + self.writer.add_command(cmd) + + while True: + if self.gui_in_use: + # call input hooks if only GUI is in use + self._call_input_hook() + self.process_internal_commands() + time.sleep(0.01) + + +class IDAPMessagesListener(object): + + def before_send(self, message_as_dict): + ''' + Called just before a message is sent to the IDE. + + :type message_as_dict: dict + ''' + + def after_receive(self, message_as_dict): + ''' + Called just after a message is received from the IDE. + + :type message_as_dict: dict + ''' + + +def add_dap_messages_listener(dap_messages_listener): + ''' + Adds a listener for the DAP (debug adapter protocol) messages. + + :type dap_messages_listener: IDAPMessagesListener + + :note: messages from the xml backend are not notified through this API. + + :note: the notifications are sent from threads and they are not synchronized (so, + it's possible that a message is sent and received from different threads at the same time). + ''' + py_db = get_global_debugger() + if py_db is None: + raise AssertionError('PyDB is still not setup.') + + py_db.add_dap_messages_listener(dap_messages_listener) + + +def send_json_message(msg): + ''' + API to send some custom json message. + + :param dict|pydevd_schema.BaseSchema msg: + The custom message to be sent. + + :return bool: + True if the message was added to the queue to be sent and False otherwise. + ''' + py_db = get_global_debugger() + if py_db is None: + return False + + writer = py_db.writer + if writer is None: + return False + + cmd = NetCommand(-1, 0, msg, is_json=True) + writer.add_command(cmd) + return True + + +def set_debug(setup): + setup['DEBUG_RECORD_SOCKET_READS'] = True + setup['DEBUG_TRACE_BREAKPOINTS'] = 1 + setup['DEBUG_TRACE_LEVEL'] = 3 + + +def enable_qt_support(qt_support_mode): + from _pydev_bundle import pydev_monkey_qt + pydev_monkey_qt.patch_qt(qt_support_mode) + + +def start_dump_threads_thread(filename_template, timeout, recurrent): + ''' + Helper to dump threads after a timeout. + + :param filename_template: + A template filename, such as 'c:/temp/thread_dump_%s.txt', where the %s will + be replaced by the time for the dump. + :param timeout: + The timeout (in seconds) for the dump. + :param recurrent: + If True we'll keep on doing thread dumps. + ''' + assert filename_template.count('%s') == 1, \ + 'Expected one %%s to appear in: %s' % (filename_template,) + + def _threads_on_timeout(): + try: + while True: + time.sleep(timeout) + filename = filename_template % (time.time(),) + try: + os.makedirs(os.path.dirname(filename)) + except Exception: + pass + with open(filename, 'w') as stream: + dump_threads(stream) + if not recurrent: + return + except Exception: + pydev_log.exception() + + t = threading.Thread(target=_threads_on_timeout) + mark_as_pydevd_daemon_thread(t) + t.start() + + +def dump_threads(stream=None): + ''' + Helper to dump thread info (default is printing to stderr). + ''' + pydevd_utils.dump_threads(stream) + + +def usage(doExit=0): + sys.stdout.write('Usage:\n') + sys.stdout.write('pydevd.py --port N [(--client hostname) | --server] --file executable [file_options]\n') + if doExit: + sys.exit(0) + + +def _init_stdout_redirect(): + pydevd_io.redirect_stream_to_pydb_io_messages(std='stdout') + + +def _init_stderr_redirect(): + pydevd_io.redirect_stream_to_pydb_io_messages(std='stderr') + + +def _enable_attach( + address, + dont_trace_start_patterns=(), + dont_trace_end_patterns=(), + patch_multiprocessing=False, + access_token=None, + client_access_token=None, + ): + ''' + Starts accepting connections at the given host/port. The debugger will not be initialized nor + configured, it'll only start accepting connections (and will have the tracing setup in this + thread). + + Meant to be used with the DAP (Debug Adapter Protocol) with _wait_for_attach(). + + :param address: (host, port) + :type address: tuple(str, int) + ''' + host = address[0] + port = int(address[1]) + + if SetupHolder.setup is not None: + if port != SetupHolder.setup['port']: + raise AssertionError('Unable to listen in port: %s (already listening in port: %s)' % (port, SetupHolder.setup['port'])) + settrace( + host=host, + port=port, + suspend=False, + wait_for_ready_to_run=False, + block_until_connected=False, + dont_trace_start_patterns=dont_trace_start_patterns, + dont_trace_end_patterns=dont_trace_end_patterns, + patch_multiprocessing=patch_multiprocessing, + access_token=access_token, + client_access_token=client_access_token, + ) + + py_db = get_global_debugger() + py_db.wait_for_server_socket_ready() + return py_db._server_socket_name + + +def _wait_for_attach(cancel=None): + ''' + Meant to be called after _enable_attach() -- the current thread will only unblock after a + connection is in place and the DAP (Debug Adapter Protocol) sends the ConfigurationDone + request. + ''' + py_db = get_global_debugger() + if py_db is None: + raise AssertionError('Debugger still not created. Please use _enable_attach() before using _wait_for_attach().') + + py_db.block_until_configuration_done(cancel=cancel) + + +def _is_attached(): + ''' + Can be called any time to check if the connection was established and the DAP (Debug Adapter Protocol) has sent + the ConfigurationDone request. + ''' + py_db = get_global_debugger() + return (py_db is not None) and py_db.is_attached() + + +#======================================================================================================================= +# settrace +#======================================================================================================================= +def settrace( + host=None, + stdout_to_server=False, + stderr_to_server=False, + port=5678, + suspend=True, + trace_only_current_thread=False, + overwrite_prev_trace=False, + patch_multiprocessing=False, + stop_at_frame=None, + block_until_connected=True, + wait_for_ready_to_run=True, + dont_trace_start_patterns=(), + dont_trace_end_patterns=(), + access_token=None, + client_access_token=None, + notify_stdin=True, + **kwargs + ): + '''Sets the tracing function with the pydev debug function and initializes needed facilities. + + :param host: the user may specify another host, if the debug server is not in the same machine (default is the local + host) + + :param stdout_to_server: when this is true, the stdout is passed to the debug server + + :param stderr_to_server: when this is true, the stderr is passed to the debug server + so that they are printed in its console and not in this process console. + + :param port: specifies which port to use for communicating with the server (note that the server must be started + in the same port). @note: currently it's hard-coded at 5678 in the client + + :param suspend: whether a breakpoint should be emulated as soon as this function is called. + + :param trace_only_current_thread: determines if only the current thread will be traced or all current and future + threads will also have the tracing enabled. + + :param overwrite_prev_trace: deprecated + + :param patch_multiprocessing: if True we'll patch the functions which create new processes so that launched + processes are debugged. + + :param stop_at_frame: if passed it'll stop at the given frame, otherwise it'll stop in the function which + called this method. + + :param wait_for_ready_to_run: if True settrace will block until the ready_to_run flag is set to True, + otherwise, it'll set ready_to_run to True and this function won't block. + + Note that if wait_for_ready_to_run == False, there are no guarantees that the debugger is synchronized + with what's configured in the client (IDE), the only guarantee is that when leaving this function + the debugger will be already connected. + + :param dont_trace_start_patterns: if set, then any path that starts with one fo the patterns in the collection + will not be traced + + :param dont_trace_end_patterns: if set, then any path that ends with one fo the patterns in the collection + will not be traced + + :param access_token: token to be sent from the client (i.e.: IDE) to the debugger when a connection + is established (verified by the debugger). + + :param client_access_token: token to be sent from the debugger to the client (i.e.: IDE) when + a connection is established (verified by the client). + + :param notify_stdin: + If True sys.stdin will be patched to notify the client when a message is requested + from the IDE. This is done so that when reading the stdin the client is notified. + Clients may need this to know when something that is being written should be interpreted + as an input to the process or as a command to be evaluated. + Note that parallel-python has issues with this (because it tries to assert that sys.stdin + is of a given type instead of just checking that it has what it needs). + ''' + + stdout_to_server = stdout_to_server or kwargs.get('stdoutToServer', False) # Backward compatibility + stderr_to_server = stderr_to_server or kwargs.get('stderrToServer', False) # Backward compatibility + + # Internal use (may be used to set the setup info directly for subprocesess). + __setup_holder__ = kwargs.get('__setup_holder__') + + with _set_trace_lock: + _locked_settrace( + host, + stdout_to_server, + stderr_to_server, + port, + suspend, + trace_only_current_thread, + patch_multiprocessing, + stop_at_frame, + block_until_connected, + wait_for_ready_to_run, + dont_trace_start_patterns, + dont_trace_end_patterns, + access_token, + client_access_token, + __setup_holder__=__setup_holder__, + notify_stdin=notify_stdin, + ) + + +_set_trace_lock = ForkSafeLock() + + +def _locked_settrace( + host, + stdout_to_server, + stderr_to_server, + port, + suspend, + trace_only_current_thread, + patch_multiprocessing, + stop_at_frame, + block_until_connected, + wait_for_ready_to_run, + dont_trace_start_patterns, + dont_trace_end_patterns, + access_token, + client_access_token, + __setup_holder__, + notify_stdin, + ): + if patch_multiprocessing: + try: + from _pydev_bundle import pydev_monkey + except: + pass + else: + pydev_monkey.patch_new_process_functions() + + if host is None: + from _pydev_bundle import pydev_localhost + host = pydev_localhost.get_localhost() + + global _global_redirect_stdout_to_server + global _global_redirect_stderr_to_server + + py_db = get_global_debugger() + if __setup_holder__: + SetupHolder.setup = __setup_holder__ + if py_db is None: + py_db = PyDB() + pydevd_vm_type.setup_type() + + if SetupHolder.setup is None: + setup = { + 'client': host, # dispatch expects client to be set to the host address when server is False + 'server': False, + 'port': int(port), + 'multiprocess': patch_multiprocessing, + 'skip-notify-stdin': not notify_stdin, + } + SetupHolder.setup = setup + + if access_token is not None: + py_db.authentication.access_token = access_token + SetupHolder.setup['access-token'] = access_token + if client_access_token is not None: + py_db.authentication.client_access_token = client_access_token + SetupHolder.setup['client-access-token'] = client_access_token + + if block_until_connected: + py_db.connect(host, port) # Note: connect can raise error. + else: + # Create a dummy writer and wait for the real connection. + py_db.writer = WriterThread(NULL, py_db, terminate_on_socket_close=False) + py_db.create_wait_for_connection_thread() + + if dont_trace_start_patterns or dont_trace_end_patterns: + PyDevdAPI().set_dont_trace_start_end_patterns(py_db, dont_trace_start_patterns, dont_trace_end_patterns) + + _global_redirect_stdout_to_server = stdout_to_server + _global_redirect_stderr_to_server = stderr_to_server + + if _global_redirect_stdout_to_server: + _init_stdout_redirect() + + if _global_redirect_stderr_to_server: + _init_stderr_redirect() + + if notify_stdin: + patch_stdin() + + t = threadingCurrentThread() + additional_info = set_additional_thread_info(t) + + if not wait_for_ready_to_run: + py_db.ready_to_run = True + + py_db.wait_for_ready_to_run() + py_db.start_auxiliary_daemon_threads() + + try: + if INTERACTIVE_MODE_AVAILABLE: + py_db.init_gui_support() + except: + pydev_log.exception("Matplotlib support in debugger failed") + + if trace_only_current_thread: + py_db.enable_tracing() + else: + # Trace future threads. + py_db.patch_threads() + + py_db.enable_tracing(py_db.trace_dispatch, apply_to_all_threads=True) + + # As this is the first connection, also set tracing for any untraced threads + py_db.set_tracing_for_untraced_contexts() + + py_db.set_trace_for_frame_and_parents(get_frame().f_back) + + with CustomFramesContainer.custom_frames_lock: # @UndefinedVariable + for _frameId, custom_frame in CustomFramesContainer.custom_frames.items(): + py_db.set_trace_for_frame_and_parents(custom_frame.frame) + + else: + # ok, we're already in debug mode, with all set, so, let's just set the break + if access_token is not None: + py_db.authentication.access_token = access_token + if client_access_token is not None: + py_db.authentication.client_access_token = client_access_token + + py_db.set_trace_for_frame_and_parents(get_frame().f_back) + + t = threadingCurrentThread() + additional_info = set_additional_thread_info(t) + + if trace_only_current_thread: + py_db.enable_tracing() + else: + # Trace future threads. + py_db.patch_threads() + py_db.enable_tracing(py_db.trace_dispatch, apply_to_all_threads=True) + + # Suspend as the last thing after all tracing is in place. + if suspend: + if stop_at_frame is not None: + # If the step was set we have to go to run state and + # set the proper frame for it to stop. + additional_info.pydev_state = STATE_RUN + additional_info.pydev_original_step_cmd = CMD_STEP_OVER + additional_info.pydev_step_cmd = CMD_STEP_OVER + additional_info.pydev_step_stop = stop_at_frame + additional_info.suspend_type = PYTHON_SUSPEND + else: + # Ask to break as soon as possible. + py_db.set_suspend(t, CMD_SET_BREAK) + + +def stoptrace(): + pydev_log.debug("pydevd.stoptrace()") + pydevd_tracing.restore_sys_set_trace_func() + sys.settrace(None) + try: + # not available in jython! + threading.settrace(None) # for all future threads + except: + pass + + from _pydev_bundle.pydev_monkey import undo_patch_thread_modules + undo_patch_thread_modules() + + # Either or both standard streams can be closed at this point, + # in which case flush() will fail. + try: + sys.stdout.flush() + except: + pass + try: + sys.stderr.flush() + except: + pass + + py_db = get_global_debugger() + + if py_db is not None: + py_db.dispose_and_kill_all_pydevd_threads() + + +class Dispatcher(object): + + def __init__(self): + self.port = None + + def connect(self, host, port): + self.host = host + self.port = port + self.client = start_client(self.host, self.port) + self.reader = DispatchReader(self) + self.reader.pydev_do_not_trace = False # we run reader in the same thread so we don't want to loose tracing + self.reader.run() + + def close(self): + try: + self.reader.do_kill_pydev_thread() + except: + pass + + +class DispatchReader(ReaderThread): + + def __init__(self, dispatcher): + self.dispatcher = dispatcher + + ReaderThread.__init__( + self, + get_global_debugger(), + self.dispatcher.client, + PyDevJsonCommandProcessor=PyDevJsonCommandProcessor, + process_net_command=process_net_command, + ) + + @overrides(ReaderThread._on_run) + def _on_run(self): + dummy_thread = threading.current_thread() + dummy_thread.is_pydev_daemon_thread = False + return ReaderThread._on_run(self) + + @overrides(PyDBDaemonThread.do_kill_pydev_thread) + def do_kill_pydev_thread(self): + if not self._kill_received: + ReaderThread.do_kill_pydev_thread(self) + try: + self.sock.shutdown(SHUT_RDWR) + except: + pass + try: + self.sock.close() + except: + pass + + def process_command(self, cmd_id, seq, text): + if cmd_id == 99: + self.dispatcher.port = int(text) + self._kill_received = True + + +DISPATCH_APPROACH_NEW_CONNECTION = 1 # Used by PyDev +DISPATCH_APPROACH_EXISTING_CONNECTION = 2 # Used by PyCharm +DISPATCH_APPROACH = DISPATCH_APPROACH_NEW_CONNECTION + + +def dispatch(): + setup = SetupHolder.setup + host = setup['client'] + port = setup['port'] + if DISPATCH_APPROACH == DISPATCH_APPROACH_EXISTING_CONNECTION: + dispatcher = Dispatcher() + try: + dispatcher.connect(host, port) + port = dispatcher.port + finally: + dispatcher.close() + return host, port + + +def settrace_forked(setup_tracing=True): + ''' + When creating a fork from a process in the debugger, we need to reset the whole debugger environment! + ''' + from _pydevd_bundle.pydevd_constants import GlobalDebuggerHolder + py_db = GlobalDebuggerHolder.global_dbg + if py_db is not None: + py_db.created_pydb_daemon_threads = {} # Just making sure we won't touch those (paused) threads. + py_db = None + + GlobalDebuggerHolder.global_dbg = None + threading.current_thread().additional_info = None + + # Make sure that we keep the same access tokens for subprocesses started through fork. + setup = SetupHolder.setup + if setup is None: + setup = {} + else: + # i.e.: Get the ppid at this point as it just changed. + # If we later do an exec() it should remain the same ppid. + setup[pydevd_constants.ARGUMENT_PPID] = PyDevdAPI().get_ppid() + access_token = setup.get('access-token') + client_access_token = setup.get('client-access-token') + + if setup_tracing: + from _pydevd_frame_eval.pydevd_frame_eval_main import clear_thread_local_info + host, port = dispatch() + + import pydevd_tracing + pydevd_tracing.restore_sys_set_trace_func() + + if setup_tracing: + if port is not None: + custom_frames_container_init() + + if clear_thread_local_info is not None: + clear_thread_local_info() + + settrace( + host, + port=port, + suspend=False, + trace_only_current_thread=False, + overwrite_prev_trace=True, + patch_multiprocessing=True, + access_token=access_token, + client_access_token=client_access_token, + ) + + +@contextmanager +def skip_subprocess_arg_patch(): + ''' + May be used to skip the monkey-patching that pydevd does to + skip changing arguments to embed the debugger into child processes. + + i.e.: + + with pydevd.skip_subprocess_arg_patch(): + subprocess.call(...) + ''' + from _pydev_bundle import pydev_monkey + with pydev_monkey.skip_subprocess_arg_patch(): + yield + + +def add_dont_terminate_child_pid(pid): + ''' + May be used to ask pydevd to skip the termination of some process + when it's asked to terminate (debug adapter protocol only). + + :param int pid: + The pid to be ignored. + + i.e.: + + process = subprocess.Popen(...) + pydevd.add_dont_terminate_child_pid(process.pid) + ''' + py_db = get_global_debugger() + if py_db is not None: + py_db.dont_terminate_child_pids.add(pid) + + +class SetupHolder: + + setup = None + + +def apply_debugger_options(setup_options): + """ + + :type setup_options: dict[str, bool] + """ + default_options = {'save-signatures': False, 'qt-support': ''} + default_options.update(setup_options) + setup_options = default_options + + debugger = get_global_debugger() + if setup_options['save-signatures']: + if pydevd_vm_type.get_vm_type() == pydevd_vm_type.PydevdVmType.JYTHON: + sys.stderr.write("Collecting run-time type information is not supported for Jython\n") + else: + # Only import it if we're going to use it! + from _pydevd_bundle.pydevd_signature import SignatureFactory + debugger.signature_factory = SignatureFactory() + + if setup_options['qt-support']: + enable_qt_support(setup_options['qt-support']) + + +@call_only_once +def patch_stdin(): + _internal_patch_stdin(None, sys, getpass_mod) + + +def _internal_patch_stdin(py_db=None, sys=None, getpass_mod=None): + ''' + Note: don't use this function directly, use `patch_stdin()` instead. + (this function is only meant to be used on test-cases to avoid patching the actual globals). + ''' + # Patch stdin so that we notify when readline() is called. + original_sys_stdin = sys.stdin + debug_console_stdin = DebugConsoleStdIn(py_db, original_sys_stdin) + sys.stdin = debug_console_stdin + + _original_getpass = getpass_mod.getpass + + @functools.wraps(_original_getpass) + def getpass(*args, **kwargs): + with DebugConsoleStdIn.notify_input_requested(debug_console_stdin): + try: + curr_stdin = sys.stdin + if curr_stdin is debug_console_stdin: + sys.stdin = original_sys_stdin + return _original_getpass(*args, **kwargs) + finally: + sys.stdin = curr_stdin + + getpass_mod.getpass = getpass + +# Dispatch on_debugger_modules_loaded here, after all primary py_db modules are loaded + + +for handler in pydevd_extension_utils.extensions_of_type(DebuggerEventHandler): + handler.on_debugger_modules_loaded(debugger_version=__version__) + + +#======================================================================================================================= +# main +#======================================================================================================================= +def main(): + + # parse the command line. --file is our last argument that is required + pydev_log.debug("Initial arguments: %s", (sys.argv,)) + pydev_log.debug("Current pid: %s", os.getpid()) + try: + from _pydevd_bundle.pydevd_command_line_handling import process_command_line + setup = process_command_line(sys.argv) + SetupHolder.setup = setup + except ValueError: + pydev_log.exception() + usage(1) + + if setup['print-in-debugger-startup']: + try: + pid = ' (pid: %s)' % os.getpid() + except: + pid = '' + sys.stderr.write("pydev debugger: starting%s\n" % pid) + + pydev_log.debug("Executing file %s", setup['file']) + pydev_log.debug("arguments: %s", (sys.argv,)) + + pydevd_vm_type.setup_type(setup.get('vm_type', None)) + + if SHOW_DEBUG_INFO_ENV: + set_debug(setup) + + DebugInfoHolder.DEBUG_RECORD_SOCKET_READS = setup.get('DEBUG_RECORD_SOCKET_READS', DebugInfoHolder.DEBUG_RECORD_SOCKET_READS) + DebugInfoHolder.DEBUG_TRACE_BREAKPOINTS = setup.get('DEBUG_TRACE_BREAKPOINTS', DebugInfoHolder.DEBUG_TRACE_BREAKPOINTS) + DebugInfoHolder.DEBUG_TRACE_LEVEL = setup.get('DEBUG_TRACE_LEVEL', DebugInfoHolder.DEBUG_TRACE_LEVEL) + + port = setup['port'] + host = setup['client'] + f = setup['file'] + fix_app_engine_debug = False + + debugger = get_global_debugger() + if debugger is None: + debugger = PyDB() + + try: + from _pydev_bundle import pydev_monkey + except: + pass # Not usable on jython 2.1 + else: + if setup['multiprocess']: # PyDev + pydev_monkey.patch_new_process_functions() + + elif setup['multiproc']: # PyCharm + pydev_log.debug("Started in multiproc mode\n") + global DISPATCH_APPROACH + DISPATCH_APPROACH = DISPATCH_APPROACH_EXISTING_CONNECTION + + dispatcher = Dispatcher() + try: + dispatcher.connect(host, port) + if dispatcher.port is not None: + port = dispatcher.port + pydev_log.debug("Received port %d\n", port) + pydev_log.info("pydev debugger: process %d is connecting\n" % os.getpid()) + + try: + pydev_monkey.patch_new_process_functions() + except: + pydev_log.exception("Error patching process functions.") + else: + pydev_log.critical("pydev debugger: couldn't get port for new debug process.") + finally: + dispatcher.close() + else: + try: + pydev_monkey.patch_new_process_functions_with_warning() + except: + pydev_log.exception("Error patching process functions.") + + # Only do this patching if we're not running with multiprocess turned on. + if f.find('dev_appserver.py') != -1: + if os.path.basename(f).startswith('dev_appserver.py'): + appserver_dir = os.path.dirname(f) + version_file = os.path.join(appserver_dir, 'VERSION') + if os.path.exists(version_file): + try: + stream = open(version_file, 'r') + try: + for line in stream.read().splitlines(): + line = line.strip() + if line.startswith('release:'): + line = line[8:].strip() + version = line.replace('"', '') + version = version.split('.') + if int(version[0]) > 1: + fix_app_engine_debug = True + + elif int(version[0]) == 1: + if int(version[1]) >= 7: + # Only fix from 1.7 onwards + fix_app_engine_debug = True + break + finally: + stream.close() + except: + pydev_log.exception() + + try: + # In the default run (i.e.: run directly on debug mode), we try to patch stackless as soon as possible + # on a run where we have a remote debug, we may have to be more careful because patching stackless means + # that if the user already had a stackless.set_schedule_callback installed, he'd loose it and would need + # to call it again (because stackless provides no way of getting the last function which was registered + # in set_schedule_callback). + # + # So, ideally, if there's an application using stackless and the application wants to use the remote debugger + # and benefit from stackless debugging, the application itself must call: + # + # import pydevd_stackless + # pydevd_stackless.patch_stackless() + # + # itself to be able to benefit from seeing the tasklets created before the remote debugger is attached. + from _pydevd_bundle import pydevd_stackless + pydevd_stackless.patch_stackless() + except: + # It's ok not having stackless there... + try: + if hasattr(sys, 'exc_clear'): + sys.exc_clear() # the exception information should be cleaned in Python 2 + except: + pass + + is_module = setup['module'] + if not setup['skip-notify-stdin']: + patch_stdin() + + if setup[pydevd_constants.ARGUMENT_JSON_PROTOCOL]: + PyDevdAPI().set_protocol(debugger, 0, JSON_PROTOCOL) + + elif setup[pydevd_constants.ARGUMENT_HTTP_JSON_PROTOCOL]: + PyDevdAPI().set_protocol(debugger, 0, HTTP_JSON_PROTOCOL) + + elif setup[pydevd_constants.ARGUMENT_HTTP_PROTOCOL]: + PyDevdAPI().set_protocol(debugger, 0, pydevd_constants.HTTP_PROTOCOL) + + elif setup[pydevd_constants.ARGUMENT_QUOTED_LINE_PROTOCOL]: + PyDevdAPI().set_protocol(debugger, 0, pydevd_constants.QUOTED_LINE_PROTOCOL) + + access_token = setup['access-token'] + if access_token: + debugger.authentication.access_token = access_token + + client_access_token = setup['client-access-token'] + if client_access_token: + debugger.authentication.client_access_token = client_access_token + + if fix_app_engine_debug: + sys.stderr.write("pydev debugger: google app engine integration enabled\n") + curr_dir = os.path.dirname(__file__) + app_engine_startup_file = os.path.join(curr_dir, 'pydev_app_engine_debug_startup.py') + + sys.argv.insert(1, '--python_startup_script=' + app_engine_startup_file) + import json + setup['pydevd'] = __file__ + sys.argv.insert(2, '--python_startup_args=%s' % json.dumps(setup),) + sys.argv.insert(3, '--automatic_restart=no') + sys.argv.insert(4, '--max_module_instances=1') + + # Run the dev_appserver + debugger.run(setup['file'], None, None, is_module, set_trace=False) + else: + if setup['save-threading']: + debugger.thread_analyser = ThreadingLogger() + if setup['save-asyncio']: + debugger.asyncio_analyser = AsyncioLogger() + + apply_debugger_options(setup) + + try: + debugger.connect(host, port) + except: + sys.stderr.write("Could not connect to %s: %s\n" % (host, port)) + pydev_log.exception() + sys.exit(1) + + globals = debugger.run(setup['file'], None, None, is_module) + + if setup['cmd-line']: + debugger.wait_for_commands(globals) + + +if __name__ == '__main__': + main() diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/README.txt b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/README.txt new file mode 120000 index 0000000..9ac001e --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/README.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/26/26/cb/a1d538973c2f1b223c4cd6df621bbadba30fa58377cf8600c3cdb34cf5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/__pycache__/_always_live_program.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/__pycache__/_always_live_program.cpython-38.pyc new file mode 100644 index 0000000..3d5eae8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/__pycache__/_always_live_program.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/__pycache__/_check.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/__pycache__/_check.cpython-38.pyc new file mode 100644 index 0000000..e4ee5af Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/__pycache__/_check.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/__pycache__/_test_attach_to_process.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/__pycache__/_test_attach_to_process.cpython-38.pyc new file mode 100644 index 0000000..54af595 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/__pycache__/_test_attach_to_process.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/__pycache__/_test_attach_to_process_linux.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/__pycache__/_test_attach_to_process_linux.cpython-38.pyc new file mode 100644 index 0000000..151deae Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/__pycache__/_test_attach_to_process_linux.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/__pycache__/add_code_to_python_process.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/__pycache__/add_code_to_python_process.cpython-38.pyc new file mode 100644 index 0000000..19cb36e Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/__pycache__/add_code_to_python_process.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/__pycache__/attach_pydevd.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/__pycache__/attach_pydevd.cpython-38.pyc new file mode 100644 index 0000000..03b2bcb Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/__pycache__/attach_pydevd.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/__pycache__/attach_script.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/__pycache__/attach_script.cpython-38.pyc new file mode 100644 index 0000000..9e52982 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/__pycache__/attach_script.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/_always_live_program.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/_always_live_program.py new file mode 120000 index 0000000..3382181 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/_always_live_program.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/23/c0/9b/ab64d1d387deae13750cc76cf5a8054ea17c4524fa3f0e9d883147afaa \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/_check.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/_check.py new file mode 100644 index 0000000..2dbeafe --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/_check.py @@ -0,0 +1,2 @@ +import add_code_to_python_process +print(add_code_to_python_process.run_python_code(3736, "print(20)", connect_debugger_tracing=False)) diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/_test_attach_to_process.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/_test_attach_to_process.py new file mode 120000 index 0000000..4f8c4df --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/_test_attach_to_process.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/90/cf/4b/160cd7fea4287c36ff5f48583126fc41fa206be7b1281967837fff299c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/_test_attach_to_process_linux.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/_test_attach_to_process_linux.py new file mode 120000 index 0000000..218a195 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/_test_attach_to_process_linux.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/01/32/fc/5af35c18f8b7c131ed4d02f6dd484ac676ed1bd770077313644882fb61 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/add_code_to_python_process.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/add_code_to_python_process.py new file mode 100644 index 0000000..462feae --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/add_code_to_python_process.py @@ -0,0 +1,606 @@ +r''' +Copyright: Brainwy Software Ltda. + +License: EPL. +============= + +Works for Windows by using an executable that'll inject a dll to a process and call a function. + +Note: https://github.com/fabioz/winappdbg is used just to determine if the target process is 32 or 64 bits. + +Works for Linux relying on gdb. + +Limitations: +============ + + Linux: + ------ + + 1. It possible that ptrace is disabled: /etc/sysctl.d/10-ptrace.conf + + Note that even enabling it in /etc/sysctl.d/10-ptrace.conf (i.e.: making the + ptrace_scope=0), it's possible that we need to run the application that'll use ptrace (or + gdb in this case) as root (so, we must sudo the python which'll run this module). + + 2. It currently doesn't work in debug builds (i.e.: python_d) + + +Other implementations: +- pyrasite.com: + GPL + Windows/linux (in Linux it also uses gdb to connect -- although specifics are different as we use a dll to execute + code with other threads stopped). It's Windows approach is more limited because it doesn't seem to deal properly with + Python 3 if threading is disabled. + +- https://github.com/google/pyringe: + Apache v2. + Only linux/Python 2. + +- http://pytools.codeplex.com: + Apache V2 + Windows Only (but supports mixed mode debugging) + Our own code relies heavily on a part of it: http://pytools.codeplex.com/SourceControl/latest#Python/Product/PyDebugAttach/PyDebugAttach.cpp + to overcome some limitations of attaching and running code in the target python executable on Python 3. + See: attach.cpp + +Linux: References if we wanted to use a pure-python debugger: + https://bitbucket.org/haypo/python-ptrace/ + http://stackoverflow.com/questions/7841573/how-to-get-an-error-message-for-errno-value-in-python + Jugaad: + https://www.defcon.org/images/defcon-19/dc-19-presentations/Jakhar/DEFCON-19-Jakhar-Jugaad-Linux-Thread-Injection.pdf + https://github.com/aseemjakhar/jugaad + +Something else (general and not Python related): +- http://www.codeproject.com/Articles/4610/Three-Ways-to-Inject-Your-Code-into-Another-Proces + +Other references: +- https://github.com/haypo/faulthandler +- http://nedbatchelder.com/text/trace-function.html +- https://github.com/python-git/python/blob/master/Python/sysmodule.c (sys_settrace) +- https://github.com/python-git/python/blob/master/Python/ceval.c (PyEval_SetTrace) +- https://github.com/python-git/python/blob/master/Python/thread.c (PyThread_get_key_value) + + +To build the dlls needed on windows, visual studio express 13 was used (see compile_dll.bat) + +See: attach_pydevd.py to attach the pydev debugger to a running python process. +''' + +# Note: to work with nasm compiling asm to code and decompiling to see asm with shellcode: +# x:\nasm\nasm-2.07-win32\nasm-2.07\nasm.exe +# nasm.asm&x:\nasm\nasm-2.07-win32\nasm-2.07\ndisasm.exe -b arch nasm +import ctypes +import os +import struct +import subprocess +import sys +import time +from contextlib import contextmanager +import platform +import traceback + +try: + TimeoutError = TimeoutError # @ReservedAssignment +except NameError: + + class TimeoutError(RuntimeError): # @ReservedAssignment + pass + + +@contextmanager +def _create_win_event(name): + from winappdbg.win32.kernel32 import CreateEventA, WaitForSingleObject, CloseHandle + + manual_reset = False # i.e.: after someone waits it, automatically set to False. + initial_state = False + if not isinstance(name, bytes): + name = name.encode('utf-8') + event = CreateEventA(None, manual_reset, initial_state, name) + if not event: + raise ctypes.WinError() + + class _WinEvent(object): + + def wait_for_event_set(self, timeout=None): + ''' + :param timeout: in seconds + ''' + if timeout is None: + timeout = 0xFFFFFFFF + else: + timeout = int(timeout * 1000) + ret = WaitForSingleObject(event, timeout) + if ret in (0, 0x80): + return True + elif ret == 0x102: + # Timed out + return False + else: + raise ctypes.WinError() + + try: + yield _WinEvent() + finally: + CloseHandle(event) + + +IS_WINDOWS = sys.platform == 'win32' +IS_LINUX = sys.platform in ('linux', 'linux2') +IS_MAC = sys.platform == 'darwin' + + +def is_python_64bit(): + return (struct.calcsize('P') == 8) + + +def get_target_filename(is_target_process_64=None, prefix=None, extension=None): + # Note: we have an independent (and similar -- but not equal) version of this method in + # `pydevd_tracing.py` which should be kept synchronized with this one (we do a copy + # because the `pydevd_attach_to_process` is mostly independent and shouldn't be imported in the + # debugger -- the only situation where it's imported is if the user actually does an attach to + # process, through `attach_pydevd.py`, but this should usually be called from the IDE directly + # and not from the debugger). + libdir = os.path.dirname(__file__) + + if is_target_process_64 is None: + if IS_WINDOWS: + # i.e.: On windows the target process could have a different bitness (32bit is emulated on 64bit). + raise AssertionError("On windows it's expected that the target bitness is specified.") + + # For other platforms, just use the the same bitness of the process we're running in. + is_target_process_64 = is_python_64bit() + + arch = '' + if IS_WINDOWS: + # prefer not using platform.machine() when possible (it's a bit heavyweight as it may + # spawn a subprocess). + arch = os.environ.get("PROCESSOR_ARCHITEW6432", os.environ.get('PROCESSOR_ARCHITECTURE', '')) + + if not arch: + arch = platform.machine() + if not arch: + print('platform.machine() did not return valid value.') # This shouldn't happen... + return None + + if IS_WINDOWS: + if not extension: + extension = '.dll' + suffix_64 = 'amd64' + suffix_32 = 'x86' + + elif IS_LINUX: + if not extension: + extension = '.so' + suffix_64 = 'amd64' + suffix_32 = 'x86' + + elif IS_MAC: + if not extension: + extension = '.dylib' + suffix_64 = 'x86_64' + suffix_32 = 'x86' + + else: + print('Unable to attach to process in platform: %s', sys.platform) + return None + + if arch.lower() not in ('amd64', 'x86', 'x86_64', 'i386', 'x86'): + # We don't support this processor by default. Still, let's support the case where the + # user manually compiled it himself with some heuristics. + # + # Ideally the user would provide a library in the format: "attach_." + # based on the way it's currently compiled -- see: + # - windows/compile_windows.bat + # - linux_and_mac/compile_linux.sh + # - linux_and_mac/compile_mac.sh + + try: + found = [name for name in os.listdir(libdir) if name.startswith('attach_') and name.endswith(extension)] + except: + print('Error listing dir: %s' % (libdir,)) + traceback.print_exc() + return None + + if prefix: + expected_name = prefix + arch + extension + expected_name_linux = prefix + 'linux_' + arch + extension + else: + # Default is looking for the attach_ / attach_linux + expected_name = 'attach_' + arch + extension + expected_name_linux = 'attach_linux_' + arch + extension + + filename = None + if expected_name in found: # Heuristic: user compiled with "attach_." + filename = os.path.join(libdir, expected_name) + + elif IS_LINUX and expected_name_linux in found: # Heuristic: user compiled with "attach_linux_." + filename = os.path.join(libdir, expected_name_linux) + + elif len(found) == 1: # Heuristic: user removed all libraries and just left his own lib. + filename = os.path.join(libdir, found[0]) + + else: # Heuristic: there's one additional library which doesn't seem to be our own. Find the odd one. + filtered = [name for name in found if not name.endswith((suffix_64 + extension, suffix_32 + extension))] + if len(filtered) == 1: # If more than one is available we can't be sure... + filename = os.path.join(libdir, found[0]) + + if filename is None: + print( + 'Unable to attach to process in arch: %s (did not find %s in %s).' % ( + arch, expected_name, libdir + ) + ) + return None + + print('Using %s in arch: %s.' % (filename, arch)) + + else: + if is_target_process_64: + suffix = suffix_64 + else: + suffix = suffix_32 + + if not prefix: + # Default is looking for the attach_ / attach_linux + if IS_WINDOWS or IS_MAC: # just the extension changes + prefix = 'attach_' + elif IS_LINUX: + prefix = 'attach_linux_' # historically it has a different name + else: + print('Unable to attach to process in platform: %s' % (sys.platform,)) + return None + + filename = os.path.join(libdir, '%s%s%s' % (prefix, suffix, extension)) + + if not os.path.exists(filename): + print('Expected: %s to exist.' % (filename,)) + return None + + return filename + + +def run_python_code_windows(pid, python_code, connect_debugger_tracing=False, show_debug_info=0): + assert '\'' not in python_code, 'Having a single quote messes with our command.' + from winappdbg.process import Process + if not isinstance(python_code, bytes): + python_code = python_code.encode('utf-8') + + process = Process(pid) + bits = process.get_bits() + is_target_process_64 = bits == 64 + + # Note: this restriction no longer applies (we create a process with the proper bitness from + # this process so that the attach works). + # if is_target_process_64 != is_python_64bit(): + # raise RuntimeError("The architecture of the Python used to connect doesn't match the architecture of the target.\n" + # "Target 64 bits: %s\n" + # "Current Python 64 bits: %s" % (is_target_process_64, is_python_64bit())) + + with _acquire_mutex('_pydevd_pid_attach_mutex_%s' % (pid,), 10): + print('--- Connecting to %s bits target (current process is: %s) ---' % (bits, 64 if is_python_64bit() else 32)) + + with _win_write_to_shared_named_memory(python_code, pid): + + target_executable = get_target_filename(is_target_process_64, 'inject_dll_', '.exe') + if not target_executable: + raise RuntimeError('Could not find expected .exe file to inject dll in attach to process.') + + target_dll = get_target_filename(is_target_process_64) + if not target_dll: + raise RuntimeError('Could not find expected .dll file in attach to process.') + + print('\n--- Injecting attach dll: %s into pid: %s ---' % (os.path.basename(target_dll), pid)) + args = [target_executable, str(pid), target_dll] + subprocess.check_call(args) + + # Now, if the first injection worked, go on to the second which will actually + # run the code. + target_dll_run_on_dllmain = get_target_filename(is_target_process_64, 'run_code_on_dllmain_', '.dll') + if not target_dll_run_on_dllmain: + raise RuntimeError('Could not find expected .dll in attach to process.') + + with _create_win_event('_pydevd_pid_event_%s' % (pid,)) as event: + print('\n--- Injecting run code dll: %s into pid: %s ---' % (os.path.basename(target_dll_run_on_dllmain), pid)) + args = [target_executable, str(pid), target_dll_run_on_dllmain] + subprocess.check_call(args) + + if not event.wait_for_event_set(10): + print('Timeout error: the attach may not have completed.') + print('--- Finished dll injection ---\n') + + return 0 + + +@contextmanager +def _acquire_mutex(mutex_name, timeout): + ''' + Only one process may be attaching to a pid, so, create a system mutex + to make sure this holds in practice. + ''' + from winappdbg.win32.kernel32 import CreateMutex, GetLastError, CloseHandle + from winappdbg.win32.defines import ERROR_ALREADY_EXISTS + + initial_time = time.time() + while True: + mutex = CreateMutex(None, True, mutex_name) + acquired = GetLastError() != ERROR_ALREADY_EXISTS + if acquired: + break + if time.time() - initial_time > timeout: + raise TimeoutError('Unable to acquire mutex to make attach before timeout.') + time.sleep(.2) + + try: + yield + finally: + CloseHandle(mutex) + + +@contextmanager +def _win_write_to_shared_named_memory(python_code, pid): + # Use the definitions from winappdbg when possible. + from winappdbg.win32 import defines + from winappdbg.win32.kernel32 import ( + CreateFileMapping, + MapViewOfFile, + CloseHandle, + UnmapViewOfFile, + ) + + memmove = ctypes.cdll.msvcrt.memmove + memmove.argtypes = [ + ctypes.c_void_p, + ctypes.c_void_p, + defines.SIZE_T, + ] + memmove.restype = ctypes.c_void_p + + # Note: BUFSIZE must be the same from run_code_in_memory.hpp + BUFSIZE = 2048 + assert isinstance(python_code, bytes) + assert len(python_code) > 0, 'Python code must not be empty.' + # Note: -1 so that we're sure we'll add a \0 to the end. + assert len(python_code) < BUFSIZE - 1, 'Python code must have at most %s bytes (found: %s)' % (BUFSIZE - 1, len(python_code)) + + python_code += b'\0' * (BUFSIZE - len(python_code)) + assert python_code.endswith(b'\0') + + INVALID_HANDLE_VALUE = -1 + PAGE_READWRITE = 0x4 + FILE_MAP_WRITE = 0x2 + filemap = CreateFileMapping( + INVALID_HANDLE_VALUE, 0, PAGE_READWRITE, 0, BUFSIZE, u"__pydevd_pid_code_to_run__%s" % (pid,)) + + if filemap == INVALID_HANDLE_VALUE or filemap is None: + raise Exception("Failed to create named file mapping (ctypes: CreateFileMapping): %s" % (filemap,)) + try: + view = MapViewOfFile(filemap, FILE_MAP_WRITE, 0, 0, 0) + if not view: + raise Exception("Failed to create view of named file mapping (ctypes: MapViewOfFile).") + + try: + memmove(view, python_code, BUFSIZE) + yield + finally: + UnmapViewOfFile(view) + finally: + CloseHandle(filemap) + + +def run_python_code_linux(pid, python_code, connect_debugger_tracing=False, show_debug_info=0): + assert '\'' not in python_code, 'Having a single quote messes with our command.' + + target_dll = get_target_filename() + if not target_dll: + raise RuntimeError('Could not find .so for attach to process.') + target_dll_name = os.path.splitext(os.path.basename(target_dll))[0] + + # Note: we currently don't support debug builds + is_debug = 0 + # Note that the space in the beginning of each line in the multi-line is important! + cmd = [ + 'gdb', + '--nw', # no gui interface + '--nh', # no ~/.gdbinit + '--nx', # no .gdbinit +# '--quiet', # no version number on startup + '--pid', + str(pid), + '--batch', +# '--batch-silent', + ] + + # PYDEVD_GDB_SCAN_SHARED_LIBRARIES can be a list of strings with the shared libraries + # which should be scanned by default to make the attach to process (i.e.: libdl, libltdl, libc, libfreebl3). + # + # The default is scanning all shared libraries, but on some cases this can be in the 20-30 + # seconds range for some corner cases. + # See: https://github.com/JetBrains/intellij-community/pull/1608 + # + # By setting PYDEVD_GDB_SCAN_SHARED_LIBRARIES (to a comma-separated string), it's possible to + # specify just a few libraries to be loaded (not many are needed for the attach, + # but it can be tricky to pre-specify for all Linux versions as this may change + # across different versions). + # + # See: https://github.com/microsoft/debugpy/issues/762#issuecomment-947103844 + # for a comment that explains the basic steps on how to discover what should be available + # in each case (mostly trying different versions based on the output of gdb). + # + # The upside is that for cases when too many libraries are loaded the attach could be slower + # and just specifying the one that is actually needed for the attach can make it much faster. + # + # The downside is that it may be dependent on the Linux version being attached to (which is the + # reason why this is no longer done by default -- see: https://github.com/microsoft/debugpy/issues/882). + gdb_load_shared_libraries = os.environ.get('PYDEVD_GDB_SCAN_SHARED_LIBRARIES', '').strip() + if gdb_load_shared_libraries: + cmd.extend(["--init-eval-command='set auto-solib-add off'"]) # Don't scan all libraries. + + for lib in gdb_load_shared_libraries.split(','): + lib = lib.strip() + cmd.extend(["--eval-command='sharedlibrary %s'" % (lib,)]) # Scan the specified library + + cmd.extend(["--eval-command='set scheduler-locking off'"]) # If on we'll deadlock. + + # Leave auto by default (it should do the right thing as we're attaching to a process in the + # current host). + cmd.extend(["--eval-command='set architecture auto'"]) + + cmd.extend([ + "--eval-command='call (void*)dlopen(\"%s\", 2)'" % target_dll, + "--eval-command='sharedlibrary %s'" % target_dll_name, + "--eval-command='call (int)DoAttach(%s, \"%s\", %s)'" % ( + is_debug, python_code, show_debug_info) + ]) + + # print ' '.join(cmd) + + env = os.environ.copy() + # Remove the PYTHONPATH (if gdb has a builtin Python it could fail if we + # have the PYTHONPATH for a different python version or some forced encoding). + env.pop('PYTHONIOENCODING', None) + env.pop('PYTHONPATH', None) + print('Running: %s' % (' '.join(cmd))) + p = subprocess.Popen( + ' '.join(cmd), + shell=True, + env=env, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + ) + print('Running gdb in target process.') + out, err = p.communicate() + print('stdout: %s' % (out,)) + print('stderr: %s' % (err,)) + return out, err + + +def find_helper_script(filedir, script_name): + target_filename = os.path.join(filedir, 'linux_and_mac', script_name) + target_filename = os.path.normpath(target_filename) + if not os.path.exists(target_filename): + raise RuntimeError('Could not find helper script: %s' % target_filename) + + return target_filename + + +def run_python_code_mac(pid, python_code, connect_debugger_tracing=False, show_debug_info=0): + assert '\'' not in python_code, 'Having a single quote messes with our command.' + + target_dll = get_target_filename() + if not target_dll: + raise RuntimeError('Could not find .dylib for attach to process.') + + libdir = os.path.dirname(__file__) + lldb_prepare_file = find_helper_script(libdir, 'lldb_prepare.py') + # Note: we currently don't support debug builds + + is_debug = 0 + # Note that the space in the beginning of each line in the multi-line is important! + cmd = [ + 'lldb', + '--no-lldbinit', # Do not automatically parse any '.lldbinit' files. + # '--attach-pid', + # str(pid), + # '--arch', + # arch, + '--script-language', + 'Python' + # '--batch-silent', + ] + + cmd.extend([ + "-o 'process attach --pid %d'" % pid, + "-o 'command script import \"%s\"'" % (lldb_prepare_file,), + "-o 'load_lib_and_attach \"%s\" %s \"%s\" %s'" % (target_dll, + is_debug, python_code, show_debug_info), + ]) + + cmd.extend([ + "-o 'process detach'", + "-o 'script import os; os._exit(1)'", + ]) + + # print ' '.join(cmd) + + env = os.environ.copy() + # Remove the PYTHONPATH (if gdb has a builtin Python it could fail if we + # have the PYTHONPATH for a different python version or some forced encoding). + env.pop('PYTHONIOENCODING', None) + env.pop('PYTHONPATH', None) + print('Running: %s' % (' '.join(cmd))) + p = subprocess.Popen( + ' '.join(cmd), + shell=True, + env=env, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + ) + print('Running lldb in target process.') + out, err = p.communicate() + print('stdout: %s' % (out,)) + print('stderr: %s' % (err,)) + return out, err + + +if IS_WINDOWS: + run_python_code = run_python_code_windows +elif IS_MAC: + run_python_code = run_python_code_mac +elif IS_LINUX: + run_python_code = run_python_code_linux +else: + + def run_python_code(*args, **kwargs): + print('Unable to attach to process in platform: %s', sys.platform) + + +def test(): + print('Running with: %s' % (sys.executable,)) + code = ''' +import os, time, sys +print(os.getpid()) +#from threading import Thread +#Thread(target=str).start() +if __name__ == '__main__': + while True: + time.sleep(.5) + sys.stdout.write('.\\n') + sys.stdout.flush() +''' + + p = subprocess.Popen([sys.executable, '-u', '-c', code]) + try: + code = 'print("It worked!")\n' + + # Real code will be something as: + # code = '''import sys;sys.path.append(r'X:\winappdbg-code\examples'); import imported;''' + run_python_code(p.pid, python_code=code) + print('\nRun a 2nd time...\n') + run_python_code(p.pid, python_code=code) + + time.sleep(3) + finally: + p.kill() + + +def main(args): + # Otherwise, assume the first parameter is the pid and anything else is code to be executed + # in the target process. + pid = int(args[0]) + del args[0] + python_code = ';'.join(args) + + # Note: on Linux the python code may not have a single quote char: ' + run_python_code(pid, python_code) + + +if __name__ == '__main__': + args = sys.argv[1:] + if not args: + print('Expected pid and Python code to execute in target process.') + else: + if '--test' == args[0]: + test() + else: + main(args) + diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_linux_amd64.so b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_linux_amd64.so new file mode 120000 index 0000000..eefee5c --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_linux_amd64.so @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/21/b1/15/c508fe146dc8f92ebc8d48552349e163ffc17ea10aad62fd90cc78ca22 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_pydevd.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_pydevd.py new file mode 120000 index 0000000..bd76409 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_pydevd.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/10/72/b5/bd8d11dfa03e6597a7eaa3597ae7251be100d9facb8f51463a828baa7a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_script.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_script.py new file mode 100644 index 0000000..c8ad003 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_script.py @@ -0,0 +1,186 @@ + + +def get_main_thread_instance(threading): + if hasattr(threading, 'main_thread'): + return threading.main_thread() + else: + # On Python 2 we don't really have an API to get the main thread, + # so, we just get it from the 'shutdown' bound method. + return threading._shutdown.im_self + + +def get_main_thread_id(unlikely_thread_id=None): + ''' + :param unlikely_thread_id: + Pass to mark some thread id as not likely the main thread. + + :return tuple(thread_id, critical_warning) + ''' + import sys + import os + + current_frames = sys._current_frames() + possible_thread_ids = [] + for thread_ident, frame in current_frames.items(): + while frame.f_back is not None: + frame = frame.f_back + + basename = os.path.basename(frame.f_code.co_filename) + if basename.endswith(('.pyc', '.pyo')): + basename = basename[:-1] + + if (frame.f_code.co_name, basename) in [ + ('_run_module_as_main', 'runpy.py'), + ('_run_module_as_main', ''), + ('run_module_as_main', 'runpy.py'), + ('run_module', 'runpy.py'), + ('run_path', 'runpy.py'), + ]: + # This is the case for python -m (this is an ideal match, so, + # let's return it). + return thread_ident, '' + + if frame.f_code.co_name == '': + if frame.f_globals.get('__name__') == '__main__': + possible_thread_ids.insert(0, thread_ident) # Add with higher priority + continue + + # Usually the main thread will be started in the , whereas others would + # be started in another place (but when Python is embedded, this may not be + # correct, so, just add to the available possibilities as we'll have to choose + # one if there are multiple). + possible_thread_ids.append(thread_ident) + + if len(possible_thread_ids) > 0: + if len(possible_thread_ids) == 1: + return possible_thread_ids[0], '' # Ideal: only one match + + while unlikely_thread_id in possible_thread_ids: + possible_thread_ids.remove(unlikely_thread_id) + + if len(possible_thread_ids) == 1: + return possible_thread_ids[0], '' # Ideal: only one match + + elif len(possible_thread_ids) > 1: + # Bad: we can't really be certain of anything at this point. + return possible_thread_ids[0], \ + 'Multiple thread ids found (%s). Choosing main thread id randomly (%s).' % ( + possible_thread_ids, possible_thread_ids[0]) + + # If we got here we couldn't discover the main thread id. + return None, 'Unable to discover main thread id.' + + +def fix_main_thread_id(on_warn=lambda msg:None, on_exception=lambda msg:None, on_critical=lambda msg:None): + # This means that we weren't able to import threading in the main thread (which most + # likely means that the main thread is paused or in some very long operation). + # In this case we'll import threading here and hotfix what may be wrong in the threading + # module (if we're on Windows where we create a thread to do the attach and on Linux + # we are not certain on which thread we're executing this code). + # + # The code below is a workaround for https://bugs.python.org/issue37416 + import sys + import threading + + try: + with threading._active_limbo_lock: + main_thread_instance = get_main_thread_instance(threading) + + if sys.platform == 'win32': + # On windows this code would be called in a secondary thread, so, + # the current thread is unlikely to be the main thread. + if hasattr(threading, '_get_ident'): + unlikely_thread_id = threading._get_ident() # py2 + else: + unlikely_thread_id = threading.get_ident() # py3 + else: + unlikely_thread_id = None + + main_thread_id, critical_warning = get_main_thread_id(unlikely_thread_id) + + if main_thread_id is not None: + main_thread_id_attr = '_ident' + if not hasattr(main_thread_instance, main_thread_id_attr): + main_thread_id_attr = '_Thread__ident' + assert hasattr(main_thread_instance, main_thread_id_attr) + + if main_thread_id != getattr(main_thread_instance, main_thread_id_attr): + # Note that we also have to reset the '_tstack_lock' for a regular lock. + # This is needed to avoid an error on shutdown because this lock is bound + # to the thread state and will be released when the secondary thread + # that initialized the lock is finished -- making an assert fail during + # process shutdown. + main_thread_instance._tstate_lock = threading._allocate_lock() + main_thread_instance._tstate_lock.acquire() + + # Actually patch the thread ident as well as the threading._active dict + # (we should have the _active_limbo_lock to do that). + threading._active.pop(getattr(main_thread_instance, main_thread_id_attr), None) + setattr(main_thread_instance, main_thread_id_attr, main_thread_id) + threading._active[getattr(main_thread_instance, main_thread_id_attr)] = main_thread_instance + + # Note: only import from pydevd after the patching is done (we want to do the minimum + # possible when doing that patching). + on_warn('The threading module was not imported by user code in the main thread. The debugger will attempt to work around https://bugs.python.org/issue37416.') + + if critical_warning: + on_critical('Issue found when debugger was trying to work around https://bugs.python.org/issue37416:\n%s' % (critical_warning,)) + except: + on_exception('Error patching main thread id.') + + +def attach(port, host, protocol=''): + try: + import sys + fix_main_thread = 'threading' not in sys.modules + + if fix_main_thread: + + def on_warn(msg): + from _pydev_bundle import pydev_log + pydev_log.warn(msg) + + def on_exception(msg): + from _pydev_bundle import pydev_log + pydev_log.exception(msg) + + def on_critical(msg): + from _pydev_bundle import pydev_log + pydev_log.critical(msg) + + fix_main_thread_id(on_warn=on_warn, on_exception=on_exception, on_critical=on_critical) + + else: + from _pydev_bundle import pydev_log # @Reimport + pydev_log.debug('The threading module is already imported by user code.') + + if protocol: + from _pydevd_bundle import pydevd_defaults + pydevd_defaults.PydevdCustomization.DEFAULT_PROTOCOL = protocol + + import pydevd + + # I.e.: disconnect/reset if already connected. + + pydevd.SetupHolder.setup = None + + py_db = pydevd.get_global_debugger() + if py_db is not None: + py_db.dispose_and_kill_all_pydevd_threads(wait=False) + + # pydevd.DebugInfoHolder.DEBUG_RECORD_SOCKET_READS = True + # pydevd.DebugInfoHolder.DEBUG_TRACE_BREAKPOINTS = 3 + # pydevd.DebugInfoHolder.DEBUG_TRACE_LEVEL = 3 + pydevd.settrace( + port=port, + host=host, + stdoutToServer=True, + stderrToServer=True, + overwrite_prev_trace=True, + suspend=False, + trace_only_current_thread=False, + patch_multiprocessing=False, + ) + except: + import traceback + traceback.print_exc() diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace.hpp b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace.hpp new file mode 100644 index 0000000..510f916 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace.hpp @@ -0,0 +1,193 @@ +#ifndef _PY_CUSTOM_PYEVAL_SETTRACE_HPP_ +#define _PY_CUSTOM_PYEVAL_SETTRACE_HPP_ + +#include "python.h" +#include "py_utils.hpp" +#include "py_custom_pyeval_settrace_common.hpp" +#include "py_custom_pyeval_settrace_310.hpp" +#include "py_custom_pyeval_settrace_311.hpp" + +// On Python 3.7 onwards the thread state is not kept in PyThread_set_key_value (rather +// it uses PyThread_tss_set using PyThread_tss_set(&_PyRuntime.gilstate.autoTSSkey, (void *)tstate) +// and we don't have access to that key from here (thus, we can't use the previous approach which +// made CPython think that the current thread had the thread state where we wanted to set the tracing). +// +// So, the solution implemented here is not faking that change and reimplementing PyEval_SetTrace. +// The implementation is mostly the same from the one in CPython, but we have one shortcoming: +// +// When CPython sets the tracing for a thread it increments _Py_TracingPossible (actually +// _PyRuntime.ceval.tracing_possible). This implementation has one issue: it only works on +// deltas when the tracing is set (so, a settrace(func) will increase the _Py_TracingPossible global value and a +// settrace(None) will decrease it, but when a thread dies it's kept as is and is not decreased). +// -- as we don't currently have access to _PyRuntime we have to create a thread, set the tracing +// and let it die so that the count is increased (this is really hacky, but better than having +// to create a local copy of the whole _PyRuntime (defined in pystate.h with several inner structs) +// which would need to be kept up to date for each new CPython version just to increment that variable). + + + +/** + * This version is used in internalInitializeCustomPyEvalSetTrace->pyObject_FastCallDict on older + * versions of CPython (pre 3.7). + */ + static PyObject * + PyObject_FastCallDictCustom(PyObject* callback, PyObject *stack[3], int ignoredStackSizeAlways3, void* ignored) + { + PyObject *args = internalInitializeCustomPyEvalSetTrace->pyTuple_New(3); + PyObject *result; + + if (args == NULL) { + return NULL; + } + + IncRef(stack[0]); + IncRef(stack[1]); + IncRef(stack[2]); + + // I.e.: same thing as: PyTuple_SET_ITEM(args, 0, stack[0]); + reinterpret_cast(args)->ob_item[0] = stack[0]; + reinterpret_cast(args)->ob_item[1] = stack[1]; + reinterpret_cast(args)->ob_item[2] = stack[2]; + + /* call the Python-level function */ + result = internalInitializeCustomPyEvalSetTrace->pyEval_CallObjectWithKeywords(callback, args, (PyObject*)NULL); + + /* cleanup */ + DecRef(args, internalInitializeCustomPyEvalSetTrace->isDebug); + return result; +} + +static PyObject * +InternalCallTrampoline(PyObject* callback, + PyFrameObjectBaseUpTo39 *frame, int what, PyObject *arg) +{ + PyObject *result; + PyObject *stack[3]; + +// Note: this is commented out from CPython (we shouldn't need it and it adds a reasonable overhead). +// if (PyFrame_FastToLocalsWithError(frame) < 0) { +// return NULL; +// } +// + stack[0] = (PyObject *)frame; + stack[1] = InternalWhatstrings_37[what]; + stack[2] = (arg != NULL) ? arg : internalInitializeCustomPyEvalSetTrace->pyNone; + + + // Helpers to print info. + // printf("%s\n", internalInitializeCustomPyEvalSetTrace->pyUnicode_AsUTF8(internalInitializeCustomPyEvalSetTrace->pyObject_Repr((PyObject *)stack[0]))); + // printf("%s\n", internalInitializeCustomPyEvalSetTrace->pyUnicode_AsUTF8(internalInitializeCustomPyEvalSetTrace->pyObject_Repr((PyObject *)stack[1]))); + // printf("%s\n", internalInitializeCustomPyEvalSetTrace->pyUnicode_AsUTF8(internalInitializeCustomPyEvalSetTrace->pyObject_Repr((PyObject *)stack[2]))); + // printf("%s\n", internalInitializeCustomPyEvalSetTrace->pyUnicode_AsUTF8(internalInitializeCustomPyEvalSetTrace->pyObject_Repr((PyObject *)callback))); + + // call the Python-level function + // result = _PyObject_FastCall(callback, stack, 3); + // + // Note that _PyObject_FastCall is actually a define: + // #define _PyObject_FastCall(func, args, nargs) _PyObject_FastCallDict((func), (args), (nargs), NULL) + + result = internalInitializeCustomPyEvalSetTrace->pyObject_FastCallDict(callback, stack, 3, NULL); + + +// Note: this is commented out from CPython (we shouldn't need it and it adds a reasonable overhead). +// PyFrame_LocalsToFast(frame, 1); + + if (result == NULL) { + internalInitializeCustomPyEvalSetTrace->pyTraceBack_Here(frame); + } + + return result; +} + +static int +InternalTraceTrampoline(PyObject *self, PyFrameObject *frameParam, + int what, PyObject *arg) +{ + PyObject *callback; + PyObject *result; + + PyFrameObjectBaseUpTo39 *frame = reinterpret_cast(frameParam); + + if (what == PyTrace_CALL){ + callback = self; + } else { + callback = frame->f_trace; + } + + if (callback == NULL){ + return 0; + } + + result = InternalCallTrampoline(callback, frame, what, arg); + if (result == NULL) { + // Note: calling the original sys.settrace here. + internalInitializeCustomPyEvalSetTrace->pyEval_SetTrace(NULL, NULL); + PyObject *temp_f_trace = frame->f_trace; + frame->f_trace = NULL; + if(temp_f_trace != NULL){ + DecRef(temp_f_trace, internalInitializeCustomPyEvalSetTrace->isDebug); + } + return -1; + } + if (result != internalInitializeCustomPyEvalSetTrace->pyNone) { + PyObject *tmp = frame->f_trace; + frame->f_trace = result; + DecRef(tmp, internalInitializeCustomPyEvalSetTrace->isDebug); + } + else { + DecRef(result, internalInitializeCustomPyEvalSetTrace->isDebug); + } + return 0; +} + +// Based on ceval.c (PyEval_SetTrace(Py_tracefunc func, PyObject *arg)) +template +void InternalPySetTrace_Template(T tstate, PyObjectHolder* traceFunc, bool isDebug) +{ + PyObject *temp = tstate->c_traceobj; + + // We can't increase _Py_TracingPossible. Everything else should be equal to CPython. + // runtime->ceval.tracing_possible += (func != NULL) - (tstate->c_tracefunc != NULL); + + PyObject *arg = traceFunc->ToPython(); + IncRef(arg); + tstate->c_tracefunc = NULL; + tstate->c_traceobj = NULL; + /* Must make sure that profiling is not ignored if 'temp' is freed */ + tstate->use_tracing = tstate->c_profilefunc != NULL; + if(temp != NULL){ + DecRef(temp, isDebug); + } + tstate->c_tracefunc = InternalTraceTrampoline; + tstate->c_traceobj = arg; + /* Flag that tracing or profiling is turned on */ + tstate->use_tracing = ((InternalTraceTrampoline != NULL) + || (tstate->c_profilefunc != NULL)); + +}; + + +void InternalPySetTrace(PyThreadState* curThread, PyObjectHolder* traceFunc, bool isDebug, PythonVersion version) +{ + if (PyThreadState_25_27::IsFor(version)) { + InternalPySetTrace_Template(reinterpret_cast(curThread), traceFunc, isDebug); + } else if (PyThreadState_30_33::IsFor(version)) { + InternalPySetTrace_Template(reinterpret_cast(curThread), traceFunc, isDebug); + } else if (PyThreadState_34_36::IsFor(version)) { + InternalPySetTrace_Template(reinterpret_cast(curThread), traceFunc, isDebug); + } else if (PyThreadState_37_38::IsFor(version)) { + InternalPySetTrace_Template(reinterpret_cast(curThread), traceFunc, isDebug); + } else if (PyThreadState_39::IsFor(version)) { + InternalPySetTrace_Template(reinterpret_cast(curThread), traceFunc, isDebug); + } else if (PyThreadState_310::IsFor(version)) { + // 3.10 has other changes on the actual algorithm (use_tracing is per-frame now), so, we have a full new version for it. + InternalPySetTrace_Template310(reinterpret_cast(curThread), traceFunc, isDebug); + } else if (PyThreadState_311::IsFor(version)) { + InternalPySetTrace_Template311(reinterpret_cast(curThread), traceFunc, isDebug); + } else { + printf("Unable to set trace to target thread with Python version: %d", version); + } +} + + +#endif //_PY_CUSTOM_PYEVAL_SETTRACE_HPP_ \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace_310.hpp b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace_310.hpp new file mode 120000 index 0000000..a3d2cf4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace_310.hpp @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/98/da/fa/2d52cf0e8091cb12cf4dd61bd095835d27d19fbc6e0333cecd95afa05b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace_311.hpp b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace_311.hpp new file mode 100644 index 0000000..d3086ad --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace_311.hpp @@ -0,0 +1,120 @@ +#ifndef _PY_CUSTOM_PYEVAL_SETTRACE_311_HPP_ +#define _PY_CUSTOM_PYEVAL_SETTRACE_311_HPP_ + +#include "python.h" +#include "py_utils.hpp" + +static PyObject * +InternalCallTrampoline311(PyObject* callback, + PyFrameObject311 *frame, int what, PyObject *arg) +{ + PyObject *result; + PyObject *stack[3]; + +// Note: this is commented out from CPython (we shouldn't need it and it adds a reasonable overhead). +// if (PyFrame_FastToLocalsWithError(frame) < 0) { +// return NULL; +// } +// + stack[0] = (PyObject *)frame; + stack[1] = InternalWhatstrings_37[what]; + stack[2] = (arg != NULL) ? arg : internalInitializeCustomPyEvalSetTrace->pyNone; + + + // Helper to print info. + //printf("--- start\n"); + //printf("%s\n", internalInitializeCustomPyEvalSetTrace->pyUnicode_AsUTF8(internalInitializeCustomPyEvalSetTrace->pyObject_Repr((PyObject *)stack[0]))); + //printf("%s\n", internalInitializeCustomPyEvalSetTrace->pyUnicode_AsUTF8(internalInitializeCustomPyEvalSetTrace->pyObject_Repr((PyObject *)stack[1]))); + //printf("%s\n", internalInitializeCustomPyEvalSetTrace->pyUnicode_AsUTF8(internalInitializeCustomPyEvalSetTrace->pyObject_Repr((PyObject *)stack[2]))); + //printf("--- end\n"); + + result = internalInitializeCustomPyEvalSetTrace->pyObject_FastCallDict(callback, stack, 3, NULL); + +// Note: this is commented out from CPython (we shouldn't need it and it adds a reasonable overhead). +// PyFrame_LocalsToFast(frame, 1); + + if (result == NULL) { + internalInitializeCustomPyEvalSetTrace->pyTraceBack_Here(frame); + } + + return result; +} + +// See: static int trace_trampoline(PyObject *self, PyFrameObject *frame, int what, PyObject *arg) +// in: https://github.com/python/cpython/blob/3.11/Python/sysmodule.c +static int +InternalTraceTrampoline311(PyObject *self, PyFrameObject *frameParam, + int what, PyObject *arg) +{ + PyObject *callback; + PyObject *result; + + PyFrameObject311 *frame = reinterpret_cast(frameParam); + + if (what == PyTrace_CALL){ + callback = self; + } else { + callback = frame->f_trace; + } + + if (callback == NULL){ + return 0; + } + + result = InternalCallTrampoline311(callback, frame, what, arg); + if (result == NULL) { + // Note: calling the original sys.settrace here. + internalInitializeCustomPyEvalSetTrace->pyEval_SetTrace(NULL, NULL); + PyObject *temp_f_trace = frame->f_trace; + frame->f_trace = NULL; + if(temp_f_trace != NULL){ + DecRef(temp_f_trace, internalInitializeCustomPyEvalSetTrace->isDebug); + } + return -1; + } + if (result != internalInitializeCustomPyEvalSetTrace->pyNone) { + PyObject *tmp = frame->f_trace; + frame->f_trace = result; + DecRef(tmp, internalInitializeCustomPyEvalSetTrace->isDebug); + } + else { + DecRef(result, internalInitializeCustomPyEvalSetTrace->isDebug); + } + return 0; +} + +// Based on ceval.c (PyEval_SetTrace(Py_tracefunc func, PyObject *arg)) +// https://github.com/python/cpython/blob/3.11/Python/ceval.c +template +void InternalPySetTrace_Template311(T tstate, PyObjectHolder* traceFunc, bool isDebug) +{ + PyObject *traceobj = tstate->c_traceobj; + + PyObject *arg = traceFunc->ToPython(); + IncRef(arg); + tstate->c_tracefunc = NULL; + tstate->c_traceobj = NULL; + + // This is different (previously it was just: tstate->use_tracing, now + // this flag is per-frame). + int use_tracing = (tstate->c_profilefunc != NULL); + + // Note: before 3.11 this was just 1 or 0, now it needs to be 255 or 0. + tstate->cframe->use_tracing = (use_tracing ? 255 : 0); + + if(traceobj != NULL){ + DecRef(traceobj, isDebug); + } + tstate->c_tracefunc = InternalTraceTrampoline311; + tstate->c_traceobj = arg; + /* Flag that tracing or profiling is turned on */ + use_tracing = ((InternalTraceTrampoline311 != NULL) + || (tstate->c_profilefunc != NULL)); + + // Note: before 3.11 this was just 1 or 0, now it needs to be 255 or 0. + tstate->cframe->use_tracing = (use_tracing ? 255 : 0); + +}; + + +#endif //_PY_CUSTOM_PYEVAL_SETTRACE_311_HPP_ \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace_common.hpp b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace_common.hpp new file mode 120000 index 0000000..3253a1b --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace_common.hpp @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/af/57/21/e94830178af15bc7a188d9c0bc9135f150a8525d93ba33fb9d30b2d2f4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_settrace.hpp b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_settrace.hpp new file mode 100644 index 0000000..ba6c25f --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_settrace.hpp @@ -0,0 +1,193 @@ +#ifndef _PY_SETTRACE_HPP_ +#define _PY_SETTRACE_HPP_ + +#include "ref_utils.hpp" +#include "py_utils.hpp" +#include "python.h" +#include "py_custom_pyeval_settrace.hpp" +#include + + +#ifdef _WIN32 + +typedef HMODULE MODULE_TYPE; +#else // LINUX ----------------------------------------------------------------- + +typedef void* MODULE_TYPE; +typedef ssize_t SSIZE_T; +typedef unsigned int DWORD; + +#endif + +DWORD GetPythonThreadId(PythonVersion version, PyThreadState* curThread) { + DWORD threadId = 0; + if (PyThreadState_25_27::IsFor(version)) { + threadId = (DWORD)((PyThreadState_25_27*)curThread)->thread_id; + } else if (PyThreadState_30_33::IsFor(version)) { + threadId = (DWORD)((PyThreadState_30_33*)curThread)->thread_id; + } else if (PyThreadState_34_36::IsFor(version)) { + threadId = (DWORD)((PyThreadState_34_36*)curThread)->thread_id; + } else if (PyThreadState_37_38::IsFor(version)) { + threadId = (DWORD)((PyThreadState_37_38*)curThread)->thread_id; + } else if (PyThreadState_39::IsFor(version)) { + threadId = (DWORD)((PyThreadState_39*)curThread)->thread_id; + } else if (PyThreadState_310::IsFor(version)) { + threadId = (DWORD)((PyThreadState_310*)curThread)->thread_id; + } else if (PyThreadState_311::IsFor(version)) { + threadId = (DWORD)((PyThreadState_311*)curThread)->thread_id; + } + return threadId; +} + + +/** + * This function may be called to set a tracing function to existing python threads. + */ +int InternalSetSysTraceFunc( + MODULE_TYPE module, + bool isDebug, + bool showDebugInfo, + PyObjectHolder* traceFunc, + PyObjectHolder* setTraceFunc, + unsigned int threadId, + PyObjectHolder* pyNone) +{ + + if(showDebugInfo){ + PRINT("InternalSetSysTraceFunc started."); + } + + DEFINE_PROC(isInit, Py_IsInitialized*, "Py_IsInitialized", 100); + if (!isInit()) { + PRINT("Py_IsInitialized returned false."); + return 110; + } + + auto version = GetPythonVersion(module); + + // found initialized Python runtime, gather and check the APIs we need. + + DEFINE_PROC(interpHead, PyInterpreterState_Head*, "PyInterpreterState_Head", 120); + DEFINE_PROC(gilEnsure, PyGILState_Ensure*, "PyGILState_Ensure", 130); + DEFINE_PROC(gilRelease, PyGILState_Release*, "PyGILState_Release", 140); + DEFINE_PROC(threadHead, PyInterpreterState_ThreadHead*, "PyInterpreterState_ThreadHead", 150); + DEFINE_PROC(threadNext, PyThreadState_Next*, "PyThreadState_Next", 160); + DEFINE_PROC(threadSwap, PyThreadState_Swap*, "PyThreadState_Swap", 170); + DEFINE_PROC(call, PyObject_CallFunctionObjArgs*, "PyObject_CallFunctionObjArgs", 180); + + PyInt_FromLong* intFromLong; + + if (version >= PythonVersion_30) { + DEFINE_PROC(intFromLongPy3, PyInt_FromLong*, "PyLong_FromLong", 190); + intFromLong = intFromLongPy3; + } else { + DEFINE_PROC(intFromLongPy2, PyInt_FromLong*, "PyInt_FromLong", 200); + intFromLong = intFromLongPy2; + } + + DEFINE_PROC(pyGetAttr, PyObject_GetAttrString*, "PyObject_GetAttrString", 250); + DEFINE_PROC(pyHasAttr, PyObject_HasAttrString*, "PyObject_HasAttrString", 260); + DEFINE_PROC_NO_CHECK(PyCFrame_Type, PyTypeObject*, "PyCFrame_Type", 300); // optional + + DEFINE_PROC_NO_CHECK(curPythonThread, PyThreadState**, "_PyThreadState_Current", 310); // optional + DEFINE_PROC_NO_CHECK(getPythonThread, _PyThreadState_UncheckedGet*, "_PyThreadState_UncheckedGet", 320); // optional + + if (curPythonThread == nullptr && getPythonThread == nullptr) { + // we're missing some APIs, we cannot attach. + PRINT("Error, missing Python threading API!!"); + return 330; + } + + auto head = interpHead(); + if (head == nullptr) { + // this interpreter is loaded but not initialized. + PRINT("Interpreter not initialized!"); + return 340; + } + + GilHolder gilLock(gilEnsure, gilRelease); // acquire and hold the GIL until done... + + int retVal = 0; + // find what index is holding onto the thread state... + auto curPyThread = getPythonThread ? getPythonThread() : *curPythonThread; + + if(curPyThread == nullptr){ + PRINT("Getting the current python thread returned nullptr."); + return 345; + } + + + // We do what PyEval_SetTrace does, but for any target thread. + PyUnicode_InternFromString* pyUnicode_InternFromString; + if (version >= PythonVersion_30) { + DEFINE_PROC(unicodeFromString, PyUnicode_InternFromString*, "PyUnicode_InternFromString", 520); + pyUnicode_InternFromString = unicodeFromString; + } else { + DEFINE_PROC(stringFromString, PyUnicode_InternFromString*, "PyString_InternFromString", 525); + pyUnicode_InternFromString = stringFromString; + } + + DEFINE_PROC_NO_CHECK(pyObject_FastCallDict, _PyObject_FastCallDict*, "_PyObject_FastCallDict", 530); + DEFINE_PROC(pyTuple_New, PyTuple_New*, "PyTuple_New", 531); + DEFINE_PROC(pyEval_CallObjectWithKeywords, PyEval_CallObjectWithKeywords*, "PyEval_CallObjectWithKeywords", 532); + + if(pyObject_FastCallDict == nullptr) { + DEFINE_PROC_NO_CHECK(pyObject_FastCallDict, _PyObject_FastCallDict*, "PyObject_VectorcallDict", 533); + } + + if(pyObject_FastCallDict == nullptr) { + // we have to use PyObject_FastCallDictCustom for older versions of CPython (pre 3.7). + pyObject_FastCallDict = reinterpret_cast<_PyObject_FastCallDict*>(&PyObject_FastCallDictCustom); + } + + + DEFINE_PROC(pyTraceBack_Here, PyTraceBack_Here*, "PyTraceBack_Here", 540); + DEFINE_PROC(pyEval_SetTrace, PyEval_SetTrace*, "PyEval_SetTrace", 550); + + // These are defined mostly for printing info while debugging, so, if they're not there, don't bother reporting. + DEFINE_PROC_NO_CHECK(pyObject_Repr, PyObject_Repr*, "PyObject_Repr", 551); + DEFINE_PROC_NO_CHECK(pyUnicode_AsUTF8, PyUnicode_AsUTF8*, "PyUnicode_AsUTF8", 552); + + + bool found = false; + for (PyThreadState* curThread = threadHead(head); curThread != nullptr; curThread = threadNext(curThread)) { + if (GetPythonThreadId(version, curThread) != threadId) { + continue; + } + found = true; + + if(showDebugInfo){ + printf("setting trace for thread: %d\n", threadId); + } + + if(!InternalIsTraceInitialized()) + { + InternalInitializeCustomPyEvalSetTrace *internalInitializeCustomPyEvalSetTrace = new InternalInitializeCustomPyEvalSetTrace(); + + IncRef(pyNone->ToPython()); + internalInitializeCustomPyEvalSetTrace->pyNone = pyNone->ToPython(); + + internalInitializeCustomPyEvalSetTrace->pyUnicode_InternFromString = pyUnicode_InternFromString; + internalInitializeCustomPyEvalSetTrace->pyObject_FastCallDict = pyObject_FastCallDict; + internalInitializeCustomPyEvalSetTrace->isDebug = isDebug; + internalInitializeCustomPyEvalSetTrace->pyTraceBack_Here = pyTraceBack_Here; + internalInitializeCustomPyEvalSetTrace->pyEval_SetTrace = pyEval_SetTrace; + internalInitializeCustomPyEvalSetTrace->pyTuple_New = pyTuple_New; + internalInitializeCustomPyEvalSetTrace->pyEval_CallObjectWithKeywords = pyEval_CallObjectWithKeywords; + internalInitializeCustomPyEvalSetTrace->pyObject_Repr = pyObject_Repr; + internalInitializeCustomPyEvalSetTrace->pyUnicode_AsUTF8 = pyUnicode_AsUTF8; + + InternalTraceInit(internalInitializeCustomPyEvalSetTrace); + } + InternalPySetTrace(curThread, traceFunc, isDebug, version); + break; + } + if(!found) { + retVal = 501; + } + + return retVal; + +} + +#endif // _PY_SETTRACE_HPP_ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_utils.hpp b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_utils.hpp new file mode 100644 index 0000000..97163a4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_utils.hpp @@ -0,0 +1,84 @@ +#ifndef _PY_UTILS_HPP_ +#define _PY_UTILS_HPP_ + +typedef int (Py_IsInitialized)(); +typedef PyInterpreterState* (PyInterpreterState_Head)(); +typedef enum { PyGILState_LOCKED, PyGILState_UNLOCKED } PyGILState_STATE; +typedef PyGILState_STATE(PyGILState_Ensure)(); +typedef void (PyGILState_Release)(PyGILState_STATE); +typedef int (PyRun_SimpleString)(const char *command); +typedef PyThreadState* (PyInterpreterState_ThreadHead)(PyInterpreterState* interp); +typedef PyThreadState* (PyThreadState_Next)(PyThreadState *tstate); +typedef PyThreadState* (PyThreadState_Swap)(PyThreadState *tstate); +typedef PyThreadState* (_PyThreadState_UncheckedGet)(); +typedef PyObject* (PyObject_CallFunctionObjArgs)(PyObject *callable, ...); // call w/ varargs, last arg should be nullptr +typedef PyObject* (PyInt_FromLong)(long); +typedef PyObject* (PyErr_Occurred)(); +typedef void (PyErr_Fetch)(PyObject **ptype, PyObject **pvalue, PyObject **ptraceback); +typedef void (PyErr_Restore)(PyObject *type, PyObject *value, PyObject *traceback); +typedef PyObject* (PyImport_ImportModule) (const char *name); +typedef PyObject* (PyImport_ImportModuleNoBlock) (const char *name); +typedef PyObject* (PyObject_GetAttrString)(PyObject *o, const char *attr_name); +typedef PyObject* (PyObject_HasAttrString)(PyObject *o, const char *attr_name); +typedef void* (PyThread_get_key_value)(int); +typedef int (PyThread_set_key_value)(int, void*); +typedef void (PyThread_delete_key_value)(int); +typedef int (PyObject_Not) (PyObject *o); +typedef PyObject* (PyDict_New)(); +typedef PyObject* (PyUnicode_InternFromString)(const char *u); +typedef PyObject * (_PyObject_FastCallDict)( + PyObject *callable, PyObject *const *args, Py_ssize_t nargs, PyObject *kwargs); +typedef int (PyTraceBack_Here)(PyFrameObject *frame); + +typedef PyObject* PyTuple_New(Py_ssize_t len); +typedef PyObject* PyEval_CallObjectWithKeywords(PyObject *callable, PyObject *args, PyObject *kwargs); + +typedef void (PyEval_SetTrace)(Py_tracefunc, PyObject *); +typedef int (*Py_tracefunc)(PyObject *, PyFrameObject *frame, int, PyObject *); +typedef int (_PyEval_SetTrace)(PyThreadState *tstate, Py_tracefunc func, PyObject *arg); + +typedef PyObject* PyObject_Repr(PyObject *); +typedef const char* PyUnicode_AsUTF8(PyObject *unicode); + +// holder to ensure we release the GIL even in error conditions +class GilHolder { + PyGILState_STATE _gilState; + PyGILState_Release* _release; +public: + GilHolder(PyGILState_Ensure* acquire, PyGILState_Release* release) { + _gilState = acquire(); + _release = release; + } + + ~GilHolder() { + _release(_gilState); + } +}; + +#ifdef _WIN32 + +#define PRINT(msg) {std::cout << msg << std::endl << std::flush;} + +#define DEFINE_PROC_NO_CHECK(func, funcType, funcNameStr, errorCode) \ + funcType func=reinterpret_cast(GetProcAddress(module, funcNameStr)); + +#define DEFINE_PROC(func, funcType, funcNameStr, errorCode) \ + DEFINE_PROC_NO_CHECK(func, funcType, funcNameStr, errorCode); \ + if(func == nullptr){std::cout << funcNameStr << " not found." << std::endl << std::flush; return errorCode;}; + +#else // LINUX ----------------------------------------------------------------- + +#define PRINT(msg) {printf(msg); printf("\n");} + +#define CHECK_NULL(ptr, msg, errorCode) if(ptr == nullptr){printf(msg); return errorCode;} + +#define DEFINE_PROC_NO_CHECK(func, funcType, funcNameStr, errorCode) \ + funcType func; *(void**)(&func) = dlsym(module, funcNameStr); + +#define DEFINE_PROC(func, funcType, funcNameStr, errorCode) \ + DEFINE_PROC_NO_CHECK(func, funcType, funcNameStr, errorCode); \ + if(func == nullptr){printf(funcNameStr); printf(" not found.\n"); return errorCode;}; + +#endif //_WIN32 + +#endif //_PY_UTILS_HPP_ \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_version.hpp b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_version.hpp new file mode 100644 index 0000000..be73692 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_version.hpp @@ -0,0 +1,90 @@ + +#ifndef __PY_VERSION_HPP__ +#define __PY_VERSION_HPP__ + + +#include + +enum PythonVersion { + PythonVersion_Unknown, + PythonVersion_25 = 0x0205, + PythonVersion_26 = 0x0206, + PythonVersion_27 = 0x0207, + PythonVersion_30 = 0x0300, + PythonVersion_31 = 0x0301, + PythonVersion_32 = 0x0302, + PythonVersion_33 = 0x0303, + PythonVersion_34 = 0x0304, + PythonVersion_35 = 0x0305, + PythonVersion_36 = 0x0306, + PythonVersion_37 = 0x0307, + PythonVersion_38 = 0x0308, + PythonVersion_39 = 0x0309, + PythonVersion_310 = 0x030A, + PythonVersion_311 = 0x030B +}; + + +#ifdef _WIN32 + +typedef const char* (GetVersionFunc)(); + +static PythonVersion GetPythonVersion(HMODULE hMod) { + auto versionFunc = reinterpret_cast(GetProcAddress(hMod, "Py_GetVersion")); + if (versionFunc == nullptr) { + return PythonVersion_Unknown; + } + const char* version = versionFunc(); + + +#else // LINUX ----------------------------------------------------------------- + +typedef const char* (*GetVersionFunc) (); + +static PythonVersion GetPythonVersion(void *module) { + GetVersionFunc versionFunc; + *(void**)(&versionFunc) = dlsym(module, "Py_GetVersion"); + if(versionFunc == nullptr) { + return PythonVersion_Unknown; + } + const char* version = versionFunc(); + +#endif //_WIN32 + + if (version != nullptr && strlen(version) >= 3 && version[1] == '.') { + if (version[0] == '2') { + switch (version[2]) { + case '5': return PythonVersion_25; + case '6': return PythonVersion_26; + case '7': return PythonVersion_27; + } + } + else if (version[0] == '3') { + switch (version[2]) { + case '0': return PythonVersion_30; + case '1': + if(strlen(version) >= 4){ + if(version[3] == '0'){ + return PythonVersion_310; + } + if(version[3] == '1'){ + return PythonVersion_311; + } + } + return PythonVersion_Unknown; // we don't care about 3.1 anymore... + + case '2': return PythonVersion_32; + case '3': return PythonVersion_33; + case '4': return PythonVersion_34; + case '5': return PythonVersion_35; + case '6': return PythonVersion_36; + case '7': return PythonVersion_37; + case '8': return PythonVersion_38; + case '9': return PythonVersion_39; + } + } + } + return PythonVersion_Unknown; +} + +#endif \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/python.h b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/python.h new file mode 100644 index 0000000..ce5dc98 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/python.h @@ -0,0 +1,704 @@ +// Python Tools for Visual Studio +// Copyright(c) Microsoft Corporation +// All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the License); you may not use +// this file except in compliance with the License. You may obtain a copy of the +// License at http://www.apache.org/licenses/LICENSE-2.0 +// +// THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS +// OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY +// IMPLIED WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +// MERCHANTABILITY OR NON-INFRINGEMENT. +// +// See the Apache Version 2.0 License for specific language governing +// permissions and limitations under the License. + +#ifndef __PYTHON_H__ +#define __PYTHON_H__ + +#include "../common/py_version.hpp" + +#include + +#ifndef _WIN32 +typedef unsigned int DWORD; +typedef ssize_t SSIZE_T; +#endif +typedef SSIZE_T Py_ssize_t; + +// defines limited header of Python API for compatible access across a number of Pythons. + +class PyTypeObject; +class PyThreadState; + +#define PyObject_HEAD \ + size_t ob_refcnt; \ + PyTypeObject *ob_type; + +#define PyObject_VAR_HEAD \ + PyObject_HEAD \ + size_t ob_size; /* Number of items in variable part */ + +class PyObject { +public: + PyObject_HEAD +}; + +class PyVarObject : public PyObject { +public: + size_t ob_size; /* Number of items in variable part */ +}; + +// 2.5 - 3.7 +class PyFunctionObject : public PyObject { +public: + PyObject *func_code; /* A code object */ +}; + +// 2.5 - 2.7 compatible +class PyStringObject : public PyVarObject { +public: + long ob_shash; + int ob_sstate; + char ob_sval[1]; + + /* Invariants: + * ob_sval contains space for 'ob_size+1' elements. + * ob_sval[ob_size] == 0. + * ob_shash is the hash of the string or -1 if not computed yet. + * ob_sstate != 0 iff the string object is in stringobject.c's + * 'interned' dictionary; in this case the two references + * from 'interned' to this object are *not counted* in ob_refcnt. + */ +}; + +// 2.4 - 3.7 compatible +typedef struct { + PyObject_HEAD + size_t length; /* Length of raw Unicode data in buffer */ + wchar_t *str; /* Raw Unicode buffer */ + long hash; /* Hash value; -1 if not set */ +} PyUnicodeObject; + + +class PyFrameObject : public PyObject { + // After 3.10 we don't really have things we want to reuse common, so, + // create an empty base (it's not based on PyVarObject because on Python 3.11 + // it's just a PyObject and no longer a PyVarObject -- the part related to + // the var object must be declared in ech subclass in this case). +}; + +// 2.4 - 3.7 compatible +class PyFrameObjectBaseUpTo39 : public PyFrameObject { +public: + size_t ob_size; /* Number of items in variable part -- i.e.: PyVarObject*/ + + PyFrameObjectBaseUpTo39 *f_back; /* previous frame, or nullptr */ + PyObject *f_code; /* code segment */ + PyObject *f_builtins; /* builtin symbol table (PyDictObject) */ + PyObject *f_globals; /* global symbol table (PyDictObject) */ + PyObject *f_locals; /* local symbol table (any mapping) */ + PyObject **f_valuestack; /* points after the last local */ + /* Next free slot in f_valuestack. Frame creation sets to f_valuestack. + Frame evaluation usually NULLs it, but a frame that yields sets it + to the current stack top. */ + PyObject **f_stacktop; + PyObject *f_trace; /* Trace function */ + + // It has more things, but we're only interested in things up to f_trace. + +}; + + +// https://github.com/python/cpython/blob/3.10/Include/cpython/frameobject.h +class PyFrameObject310 : public PyFrameObject { +public: + size_t ob_size; /* Number of items in variable part -- i.e.: PyVarObject*/ + + PyFrameObject310 *f_back; /* previous frame, or NULL */ + PyObject *f_code; /* code segment */ + PyObject *f_builtins; /* builtin symbol table (PyDictObject) */ + PyObject *f_globals; /* global symbol table (PyDictObject) */ + PyObject *f_locals; /* local symbol table (any mapping) */ + PyObject **f_valuestack; /* points after the last local */ + PyObject *f_trace; /* Trace function */ + + // It has more things, but we're only interested in things up to f_trace. +}; + +typedef uint16_t _Py_CODEUNIT; + +// https://github.com/python/cpython/blob/3.11/Include/internal/pycore_frame.h +typedef struct _PyInterpreterFrame311 { + /* "Specials" section */ + PyFunctionObject *f_func; /* Strong reference */ + PyObject *f_globals; /* Borrowed reference */ + PyObject *f_builtins; /* Borrowed reference */ + PyObject *f_locals; /* Strong reference, may be NULL */ + void *f_code; /* Strong reference */ + void *frame_obj; /* Strong reference, may be NULL */ + /* Linkage section */ + struct _PyInterpreterFrame311 *previous; + // NOTE: This is not necessarily the last instruction started in the given + // frame. Rather, it is the code unit *prior to* the *next* instruction. For + // example, it may be an inline CACHE entry, an instruction we just jumped + // over, or (in the case of a newly-created frame) a totally invalid value: + _Py_CODEUNIT *prev_instr; + int stacktop; /* Offset of TOS from localsplus */ + bool is_entry; // Whether this is the "root" frame for the current _PyCFrame. + char owner; + /* Locals and stack */ + PyObject *localsplus[1]; +} _PyInterpreterFrame311; + +// https://github.com/python/cpython/blob/3.11/Include/internal/pycore_frame.h +// Note that in 3.11 it's no longer a "PyVarObject". +class PyFrameObject311 : public PyFrameObject { +public: + PyFrameObject311 *f_back; /* previous frame, or NULL */ + struct _PyInterpreterFrame311 *f_frame; /* points to the frame data */ + PyObject *f_trace; /* Trace function */ + int f_lineno; /* Current line number. Only valid if non-zero */ + char f_trace_lines; /* Emit per-line trace events? */ + char f_trace_opcodes; /* Emit per-opcode trace events? */ + char f_fast_as_locals; /* Have the fast locals of this frame been converted to a dict? */ + // It has more things, but we're not interested on those. +}; + + +typedef void (*destructor)(PyObject *); + +// 2.4 - 3.7 +class PyMethodDef { +public: + char *ml_name; /* The name of the built-in function/method */ +}; + + +// +// 2.5 - 3.7 +// While these are compatible there are fields only available on later versions. +class PyTypeObject : public PyVarObject { +public: + const char *tp_name; /* For printing, in format "." */ + size_t tp_basicsize, tp_itemsize; /* For allocation */ + + /* Methods to implement standard operations */ + + destructor tp_dealloc; + void *tp_print; + void *tp_getattr; + void *tp_setattr; + union { + void *tp_compare; /* 2.4 - 3.4 */ + void *tp_as_async; /* 3.5 - 3.7 */ + }; + void *tp_repr; + + /* Method suites for standard classes */ + + void *tp_as_number; + void *tp_as_sequence; + void *tp_as_mapping; + + /* More standard operations (here for binary compatibility) */ + + void *tp_hash; + void *tp_call; + void *tp_str; + void *tp_getattro; + void *tp_setattro; + + /* Functions to access object as input/output buffer */ + void *tp_as_buffer; + + /* Flags to define presence of optional/expanded features */ + long tp_flags; + + const char *tp_doc; /* Documentation string */ + + /* Assigned meaning in release 2.0 */ + /* call function for all accessible objects */ + void *tp_traverse; + + /* delete references to contained objects */ + void *tp_clear; + + /* Assigned meaning in release 2.1 */ + /* rich comparisons */ + void *tp_richcompare; + + /* weak reference enabler */ + size_t tp_weaklistoffset; + + /* Added in release 2.2 */ + /* Iterators */ + void *tp_iter; + void *tp_iternext; + + /* Attribute descriptor and subclassing stuff */ + PyMethodDef *tp_methods; + struct PyMemberDef *tp_members; + struct PyGetSetDef *tp_getset; + struct _typeobject *tp_base; + PyObject *tp_dict; + void *tp_descr_get; + void *tp_descr_set; + size_t tp_dictoffset; + void *tp_init; + void *tp_alloc; + void *tp_new; + void *tp_free; /* Low-level free-memory routine */ + void *tp_is_gc; /* For PyObject_IS_GC */ + PyObject *tp_bases; + PyObject *tp_mro; /* method resolution order */ + PyObject *tp_cache; + PyObject *tp_subclasses; + PyObject *tp_weaklist; + void *tp_del; + + /* Type attribute cache version tag. Added in version 2.6 */ + unsigned int tp_version_tag; +}; + +// 2.4 - 3.7 +class PyTupleObject : public PyVarObject { +public: + PyObject *ob_item[1]; + + /* ob_item contains space for 'ob_size' elements. + * Items must normally not be nullptr, except during construction when + * the tuple is not yet visible outside the function that builds it. + */ +}; + +// 2.4 - 3.7 +class PyCFunctionObject : public PyObject { +public: + PyMethodDef *m_ml; /* Description of the C function to call */ + PyObject *m_self; /* Passed as 'self' arg to the C func, can be nullptr */ + PyObject *m_module; /* The __module__ attribute, can be anything */ +}; + +typedef int (*Py_tracefunc)(PyObject *, PyFrameObject *, int, PyObject *); + +#define PyTrace_CALL 0 +#define PyTrace_EXCEPTION 1 +#define PyTrace_LINE 2 +#define PyTrace_RETURN 3 +#define PyTrace_C_CALL 4 +#define PyTrace_C_EXCEPTION 5 +#define PyTrace_C_RETURN 6 + +class PyInterpreterState { +}; + +class PyThreadState { }; + +class PyThreadState_25_27 : public PyThreadState { +public: + /* See Python/ceval.c for comments explaining most fields */ + + PyThreadState *next; + PyInterpreterState *interp; + + PyFrameObjectBaseUpTo39 *frame; + int recursion_depth; + /* 'tracing' keeps track of the execution depth when tracing/profiling. + This is to prevent the actual trace/profile code from being recorded in + the trace/profile. */ + int tracing; + int use_tracing; + + Py_tracefunc c_profilefunc; + Py_tracefunc c_tracefunc; + PyObject *c_profileobj; + PyObject *c_traceobj; + + PyObject *curexc_type; + PyObject *curexc_value; + PyObject *curexc_traceback; + + PyObject *exc_type; + PyObject *exc_value; + PyObject *exc_traceback; + + PyObject *dict; /* Stores per-thread state */ + + /* tick_counter is incremented whenever the check_interval ticker + * reaches zero. The purpose is to give a useful measure of the number + * of interpreted bytecode instructions in a given thread. This + * extremely lightweight statistic collector may be of interest to + * profilers (like psyco.jit()), although nothing in the core uses it. + */ + int tick_counter; + + int gilstate_counter; + + PyObject *async_exc; /* Asynchronous exception to raise */ + long thread_id; /* Thread id where this tstate was created */ + + /* XXX signal handlers should also be here */ + static bool IsFor(int majorVersion, int minorVersion) { + return majorVersion == 2 && (minorVersion >= 5 && minorVersion <= 7); + } + + static bool IsFor(PythonVersion version) { + return version >= PythonVersion_25 && version <= PythonVersion_27; + } +}; + +class PyThreadState_30_33 : public PyThreadState { +public: + PyThreadState *next; + PyInterpreterState *interp; + + PyFrameObjectBaseUpTo39 *frame; + int recursion_depth; + char overflowed; /* The stack has overflowed. Allow 50 more calls + to handle the runtime error. */ + char recursion_critical; /* The current calls must not cause + a stack overflow. */ + /* 'tracing' keeps track of the execution depth when tracing/profiling. + This is to prevent the actual trace/profile code from being recorded in + the trace/profile. */ + int tracing; + int use_tracing; + + Py_tracefunc c_profilefunc; + Py_tracefunc c_tracefunc; + PyObject *c_profileobj; + PyObject *c_traceobj; + + PyObject *curexc_type; + PyObject *curexc_value; + PyObject *curexc_traceback; + + PyObject *exc_type; + PyObject *exc_value; + PyObject *exc_traceback; + + PyObject *dict; /* Stores per-thread state */ + + /* tick_counter is incremented whenever the check_interval ticker + * reaches zero. The purpose is to give a useful measure of the number + * of interpreted bytecode instructions in a given thread. This + * extremely lightweight statistic collector may be of interest to + * profilers (like psyco.jit()), although nothing in the core uses it. + */ + int tick_counter; + + int gilstate_counter; + + PyObject *async_exc; /* Asynchronous exception to raise */ + long thread_id; /* Thread id where this tstate was created */ + + /* XXX signal handlers should also be here */ + static bool IsFor(int majorVersion, int minorVersion) { + return majorVersion == 3 && (minorVersion >= 0 && minorVersion <= 3); + } + + static bool IsFor(PythonVersion version) { + return version >= PythonVersion_30 && version <= PythonVersion_33; + } +}; + +class PyThreadState_34_36 : public PyThreadState { +public: + PyThreadState *prev; + PyThreadState *next; + PyInterpreterState *interp; + + PyFrameObjectBaseUpTo39 *frame; + int recursion_depth; + char overflowed; /* The stack has overflowed. Allow 50 more calls + to handle the runtime error. */ + char recursion_critical; /* The current calls must not cause + a stack overflow. */ + /* 'tracing' keeps track of the execution depth when tracing/profiling. + This is to prevent the actual trace/profile code from being recorded in + the trace/profile. */ + int tracing; + int use_tracing; + + Py_tracefunc c_profilefunc; + Py_tracefunc c_tracefunc; + PyObject *c_profileobj; + PyObject *c_traceobj; + + PyObject *curexc_type; + PyObject *curexc_value; + PyObject *curexc_traceback; + + PyObject *exc_type; + PyObject *exc_value; + PyObject *exc_traceback; + + PyObject *dict; /* Stores per-thread state */ + + int gilstate_counter; + + PyObject *async_exc; /* Asynchronous exception to raise */ + + long thread_id; /* Thread id where this tstate was created */ + /* XXX signal handlers should also be here */ + + static bool IsFor(int majorVersion, int minorVersion) { + return majorVersion == 3 && minorVersion >= 4 && minorVersion <= 6; + } + + static bool IsFor(PythonVersion version) { + return version >= PythonVersion_34 && version <= PythonVersion_36; + } +}; + +struct _PyErr_StackItem { + PyObject *exc_type, *exc_value, *exc_traceback; + struct _PyErr_StackItem *previous_item; +}; + + +class PyThreadState_37_38 : public PyThreadState { +public: + PyThreadState *prev; + PyThreadState *next; + PyInterpreterState *interp; + + PyFrameObjectBaseUpTo39 *frame; + int recursion_depth; + char overflowed; /* The stack has overflowed. Allow 50 more calls + to handle the runtime error. */ + char recursion_critical; /* The current calls must not cause + a stack overflow. */ + /* 'tracing' keeps track of the execution depth when tracing/profiling. + This is to prevent the actual trace/profile code from being recorded in + the trace/profile. */ + int stackcheck_counter; + + int tracing; + int use_tracing; + + Py_tracefunc c_profilefunc; + Py_tracefunc c_tracefunc; + PyObject *c_profileobj; + PyObject *c_traceobj; + + PyObject *curexc_type; + PyObject *curexc_value; + PyObject *curexc_traceback; + + _PyErr_StackItem exc_state; + _PyErr_StackItem *exc_info; + + PyObject *dict; /* Stores per-thread state */ + + int gilstate_counter; + + PyObject *async_exc; /* Asynchronous exception to raise */ + + unsigned long thread_id; /* Thread id where this tstate was created */ + + static bool IsFor(int majorVersion, int minorVersion) { + return majorVersion == 3 && (minorVersion == 7 || minorVersion == 8); + } + + static bool IsFor(PythonVersion version) { + return version == PythonVersion_37 || version == PythonVersion_38; + } +}; + +// i.e.: https://github.com/python/cpython/blob/master/Include/cpython/pystate.h +class PyThreadState_39 : public PyThreadState { +public: + PyThreadState *prev; + PyThreadState *next; + PyInterpreterState *interp; + + PyFrameObjectBaseUpTo39 *frame; + int recursion_depth; + char overflowed; /* The stack has overflowed. Allow 50 more calls + to handle the runtime error. */ + int stackcheck_counter; + + int tracing; + int use_tracing; + + Py_tracefunc c_profilefunc; + Py_tracefunc c_tracefunc; + PyObject *c_profileobj; + PyObject *c_traceobj; + + PyObject *curexc_type; + PyObject *curexc_value; + PyObject *curexc_traceback; + + _PyErr_StackItem exc_state; + _PyErr_StackItem *exc_info; + + PyObject *dict; /* Stores per-thread state */ + + int gilstate_counter; + + PyObject *async_exc; /* Asynchronous exception to raise */ + + unsigned long thread_id; /* Thread id where this tstate was created */ + + static bool IsFor(int majorVersion, int minorVersion) { + return majorVersion == 3 && minorVersion == 9; + } + + static bool IsFor(PythonVersion version) { + return version == PythonVersion_39; + } +}; + +typedef struct _cframe { + /* This struct will be threaded through the C stack + * allowing fast access to per-thread state that needs + * to be accessed quickly by the interpreter, but can + * be modified outside of the interpreter. + * + * WARNING: This makes data on the C stack accessible from + * heap objects. Care must be taken to maintain stack + * discipline and make sure that instances of this struct cannot + * accessed outside of their lifetime. + */ + int use_tracing; + struct _cframe *previous; +} CFrame; + +// i.e.: https://github.com/python/cpython/blob/master/Include/cpython/pystate.h +class PyThreadState_310 : public PyThreadState { +public: + PyThreadState *prev; + PyThreadState *next; + PyInterpreterState *interp; + + PyFrameObject310 *frame; + int recursion_depth; + int recursion_headroom; /* Allow 50 more calls to handle any errors. */ + int stackcheck_counter; + + /* 'tracing' keeps track of the execution depth when tracing/profiling. + This is to prevent the actual trace/profile code from being recorded in + the trace/profile. */ + int tracing; + + /* Pointer to current CFrame in the C stack frame of the currently, + * or most recently, executing _PyEval_EvalFrameDefault. */ + CFrame *cframe; + + + Py_tracefunc c_profilefunc; + Py_tracefunc c_tracefunc; + PyObject *c_profileobj; + PyObject *c_traceobj; + + PyObject *curexc_type; + PyObject *curexc_value; + PyObject *curexc_traceback; + + _PyErr_StackItem exc_state; + _PyErr_StackItem *exc_info; + + PyObject *dict; /* Stores per-thread state */ + + int gilstate_counter; + + PyObject *async_exc; /* Asynchronous exception to raise */ + + unsigned long thread_id; /* Thread id where this tstate was created */ + + static bool IsFor(int majorVersion, int minorVersion) { + return majorVersion == 3 && minorVersion == 10; + } + + static bool IsFor(PythonVersion version) { + return version == PythonVersion_310; + } +}; + +// i.e.: https://github.com/python/cpython/blob/3.11/Include/cpython/pystate.h +class PyThreadState_311 : public PyThreadState { +public: + PyThreadState *prev; + PyThreadState *next; + PyInterpreterState *interp; + + int _initialized; + + int _static; + + int recursion_remaining; + int recursion_limit; + int recursion_headroom; /* Allow 50 more calls to handle any errors. */ + + /* 'tracing' keeps track of the execution depth when tracing/profiling. + This is to prevent the actual trace/profile code from being recorded in + the trace/profile. */ + int tracing; + int tracing_what; + + /* Pointer to current CFrame in the C stack frame of the currently, + * or most recently, executing _PyEval_EvalFrameDefault. */ + CFrame *cframe; + + + Py_tracefunc c_profilefunc; + Py_tracefunc c_tracefunc; + PyObject *c_profileobj; + PyObject *c_traceobj; + + PyObject *curexc_type; + PyObject *curexc_value; + PyObject *curexc_traceback; + + _PyErr_StackItem *exc_info; + + PyObject *dict; /* Stores per-thread state */ + + int gilstate_counter; + + PyObject *async_exc; /* Asynchronous exception to raise */ + + unsigned long thread_id; /* Thread id where this tstate was created */ + + static bool IsFor(int majorVersion, int minorVersion) { + return majorVersion == 3 && minorVersion == 11; + } + + static bool IsFor(PythonVersion version) { + return version == PythonVersion_311; + } +}; + +class PyIntObject : public PyObject { +public: + long ob_ival; +}; + +class Py3kLongObject : public PyVarObject { +public: + DWORD ob_digit[1]; +}; + +class PyOldStyleClassObject : public PyObject { +public: + PyObject *cl_bases; /* A tuple of class objects */ + PyObject *cl_dict; /* A dictionary */ + PyObject *cl_name; /* A string */ + /* The following three are functions or nullptr */ + PyObject *cl_getattr; + PyObject *cl_setattr; + PyObject *cl_delattr; +}; + +class PyInstanceObject : public PyObject { +public: + PyOldStyleClassObject *in_class; /* The class object */ + PyObject *in_dict; /* A dictionary */ + PyObject *in_weakreflist; /* List of weak references */ +}; + +#endif diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/ref_utils.hpp b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/ref_utils.hpp new file mode 120000 index 0000000..0b79a2c --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/ref_utils.hpp @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f3/00/c5/424f57a009cad8474ce09f9112b29f058667f77b86e91c393826cbb00d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/.gitignore b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/.gitignore new file mode 120000 index 0000000..6eb16fc --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/.gitignore @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/af/7a/c3/6ad06e99bf5c443871df986c749a7d5113d49a3824ca70105622c8a11e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/__pycache__/lldb_prepare.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/__pycache__/lldb_prepare.cpython-38.pyc new file mode 100644 index 0000000..b5d2595 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/__pycache__/lldb_prepare.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/attach.cpp b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/attach.cpp new file mode 120000 index 0000000..fbed076 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/attach.cpp @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c4/6f/0d/98ec1fba15cdf77b29b86fee11f7b4b4e9f7da19e58c2a98e5fd73df9e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/compile_linux.sh b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/compile_linux.sh new file mode 120000 index 0000000..d26a4ea --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/compile_linux.sh @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/61/b0/57/00cc1704413afa387872576a3d5f544a4eab37f7ce98675838966c1c2f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/compile_mac.sh b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/compile_mac.sh new file mode 120000 index 0000000..8e38219 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/compile_mac.sh @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3e/be/bf/65b7efc91c7e92618d79d452234e99b5964f458c0f8f7553851ae894ab \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/compile_manylinux.cmd b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/compile_manylinux.cmd new file mode 120000 index 0000000..7408e0a --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/compile_manylinux.cmd @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5b/dd/c2/e231be7c69f6eeb77561eb379de3f6ba92533bda8074a64f7fc72f4901 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/lldb_prepare.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/lldb_prepare.py new file mode 120000 index 0000000..17344f6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/lldb_prepare.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/79/29/8b/d4a2cb3ab1bcaf8449c9539ddd44948eca6559774a4820a79c6c8655da \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__init__.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__init__.py new file mode 120000 index 0000000..4c13004 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d9/55/39/c07302d511252c725ae5cc0f568e9b2bcb110e272cf5c14cb6ac779aae \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..8137b21 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/breakpoint.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/breakpoint.cpython-38.pyc new file mode 100644 index 0000000..dceb165 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/breakpoint.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/compat.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/compat.cpython-38.pyc new file mode 100644 index 0000000..b5a3f55 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/compat.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/crash.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/crash.cpython-38.pyc new file mode 100644 index 0000000..6b160cb Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/crash.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/debug.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/debug.cpython-38.pyc new file mode 100644 index 0000000..5d02377 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/debug.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/disasm.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/disasm.cpython-38.pyc new file mode 100644 index 0000000..2b3f0c0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/disasm.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/event.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/event.cpython-38.pyc new file mode 100644 index 0000000..03f2a4b Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/event.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/interactive.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/interactive.cpython-38.pyc new file mode 100644 index 0000000..32e5fec Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/interactive.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/module.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/module.cpython-38.pyc new file mode 100644 index 0000000..1ba7d7d Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/module.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/process.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/process.cpython-38.pyc new file mode 100644 index 0000000..eade9b3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/process.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/registry.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/registry.cpython-38.pyc new file mode 100644 index 0000000..27a9780 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/registry.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/search.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/search.cpython-38.pyc new file mode 100644 index 0000000..5856e0e Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/search.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/sql.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/sql.cpython-38.pyc new file mode 100644 index 0000000..92d9e7b Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/sql.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/system.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/system.cpython-38.pyc new file mode 100644 index 0000000..aaf9b75 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/system.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/textio.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/textio.cpython-38.pyc new file mode 100644 index 0000000..9d92a28 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/textio.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/thread.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/thread.cpython-38.pyc new file mode 100644 index 0000000..392de37 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/thread.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/util.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/util.cpython-38.pyc new file mode 100644 index 0000000..cc671ef Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/util.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/window.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/window.cpython-38.pyc new file mode 100644 index 0000000..26bd658 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__pycache__/window.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/breakpoint.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/breakpoint.py new file mode 120000 index 0000000..dd7a86c --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/breakpoint.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/d3/7e/0256014bc4bc642fe5397a902aad2db5d58e2a37e6469abc1127cd9fce \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/compat.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/compat.py new file mode 120000 index 0000000..b8a298f --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/compat.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d0/a1/07/50933d1d53c993311afdfe9c59be8b07b89c92bef13aa2afb8e5638de0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/crash.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/crash.py new file mode 120000 index 0000000..0f37443 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/crash.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6c/0c/1e/d218cc7a975991f20449f0894b14093a70b10bbca9d38ea777a6c94c8d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/debug.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/debug.py new file mode 120000 index 0000000..56bdee4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/debug.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4c/8e/7d/53221ab01645ea2967f0e331b500a422fe2dea1457a986840fc6d14f38 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/disasm.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/disasm.py new file mode 120000 index 0000000..ebcc310 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/disasm.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7b/8e/6f/89d305915976b399eed98256e22139360d4a9d6a1b3560569db699b244 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/event.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/event.py new file mode 120000 index 0000000..072ce98 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/event.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/43/31/cf/09c1af119d4bacbdf775d55e80cb1be815114605414a2da7576d1a393b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/interactive.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/interactive.py new file mode 100644 index 0000000..b9d842f --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/interactive.py @@ -0,0 +1,2242 @@ +#!~/.wine/drive_c/Python25/python.exe +# -*- coding: utf-8 -*- + +# Acknowledgements: +# Nicolas Economou, for his command line debugger on which this is inspired. +# http://tinyurl.com/nicolaseconomou + +# Copyright (c) 2009-2014, Mario Vilas +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# * Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice,this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of the copyright holder nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + +""" +Interactive debugging console. + +@group Debugging: + ConsoleDebugger + +@group Exceptions: + CmdError +""" + +from __future__ import with_statement + +__revision__ = "$Id$" + +__all__ = [ 'ConsoleDebugger', 'CmdError' ] + +# TODO document this module with docstrings. +# TODO command to set a last error breakpoint. +# TODO command to show available plugins. + +from winappdbg import win32 +from winappdbg import compat +from winappdbg.system import System +from winappdbg.util import PathOperations +from winappdbg.event import EventHandler, NoEvent +from winappdbg.textio import HexInput, HexOutput, HexDump, CrashDump, DebugLog + +import os +import sys +import code +import time +import warnings +import traceback + +# too many variables named "cmd" to have a module by the same name :P +from cmd import Cmd + +# lazy imports +readline = None + +#============================================================================== + + +class DummyEvent (NoEvent): + "Dummy event object used internally by L{ConsoleDebugger}." + + def get_pid(self): + return self._pid + + def get_tid(self): + return self._tid + + def get_process(self): + return self._process + + def get_thread(self): + return self._thread + +#============================================================================== + + +class CmdError (Exception): + """ + Exception raised when a command parsing error occurs. + Used internally by L{ConsoleDebugger}. + """ + +#============================================================================== + + +class ConsoleDebugger (Cmd, EventHandler): + """ + Interactive console debugger. + + @see: L{Debug.interactive} + """ + +#------------------------------------------------------------------------------ +# Class variables + + # Exception to raise when an error occurs executing a command. + command_error_exception = CmdError + + # Milliseconds to wait for debug events in the main loop. + dwMilliseconds = 100 + + # History file name. + history_file = '.winappdbg_history' + + # Confirm before quitting? + confirm_quit = True + + # Valid plugin name characters. + valid_plugin_name_chars = 'ABCDEFGHIJKLMNOPQRSTUVWXY' \ + 'abcdefghijklmnopqrstuvwxy' \ + '012345678' \ + '_' + + # Names of the registers. + segment_names = ('cs', 'ds', 'es', 'fs', 'gs') + + register_alias_64_to_32 = { + 'eax':'Rax', 'ebx':'Rbx', 'ecx':'Rcx', 'edx':'Rdx', + 'eip':'Rip', 'ebp':'Rbp', 'esp':'Rsp', 'esi':'Rsi', 'edi':'Rdi' + } + register_alias_64_to_16 = { 'ax':'Rax', 'bx':'Rbx', 'cx':'Rcx', 'dx':'Rdx' } + register_alias_64_to_8_low = { 'al':'Rax', 'bl':'Rbx', 'cl':'Rcx', 'dl':'Rdx' } + register_alias_64_to_8_high = { 'ah':'Rax', 'bh':'Rbx', 'ch':'Rcx', 'dh':'Rdx' } + register_alias_32_to_16 = { 'ax':'Eax', 'bx':'Ebx', 'cx':'Ecx', 'dx':'Edx' } + register_alias_32_to_8_low = { 'al':'Eax', 'bl':'Ebx', 'cl':'Ecx', 'dl':'Edx' } + register_alias_32_to_8_high = { 'ah':'Eax', 'bh':'Ebx', 'ch':'Ecx', 'dh':'Edx' } + + register_aliases_full_32 = list(segment_names) + register_aliases_full_32.extend(compat.iterkeys(register_alias_32_to_16)) + register_aliases_full_32.extend(compat.iterkeys(register_alias_32_to_8_low)) + register_aliases_full_32.extend(compat.iterkeys(register_alias_32_to_8_high)) + register_aliases_full_32 = tuple(register_aliases_full_32) + + register_aliases_full_64 = list(segment_names) + register_aliases_full_64.extend(compat.iterkeys(register_alias_64_to_32)) + register_aliases_full_64.extend(compat.iterkeys(register_alias_64_to_16)) + register_aliases_full_64.extend(compat.iterkeys(register_alias_64_to_8_low)) + register_aliases_full_64.extend(compat.iterkeys(register_alias_64_to_8_high)) + register_aliases_full_64 = tuple(register_aliases_full_64) + + # Names of the control flow instructions. + jump_instructions = ( + 'jmp', 'jecxz', 'jcxz', + 'ja', 'jnbe', 'jae', 'jnb', 'jb', 'jnae', 'jbe', 'jna', 'jc', 'je', + 'jz', 'jnc', 'jne', 'jnz', 'jnp', 'jpo', 'jp', 'jpe', 'jg', 'jnle', + 'jge', 'jnl', 'jl', 'jnge', 'jle', 'jng', 'jno', 'jns', 'jo', 'js' + ) + call_instructions = ('call', 'ret', 'retn') + loop_instructions = ('loop', 'loopz', 'loopnz', 'loope', 'loopne') + control_flow_instructions = call_instructions + loop_instructions + \ + jump_instructions + +#------------------------------------------------------------------------------ +# Instance variables + + def __init__(self): + """ + Interactive console debugger. + + @see: L{Debug.interactive} + """ + Cmd.__init__(self) + EventHandler.__init__(self) + + # Quit the debugger when True. + self.debuggerExit = False + + # Full path to the history file. + self.history_file_full_path = None + + # Last executed command. + self.__lastcmd = "" + +#------------------------------------------------------------------------------ +# Debugger + + # Use this Debug object. + def start_using_debugger(self, debug): + + # Clear the previous Debug object. + self.stop_using_debugger() + + # Keep the Debug object. + self.debug = debug + + # Set ourselves as the event handler for the debugger. + self.prevHandler = debug.set_event_handler(self) + + # Stop using the Debug object given by start_using_debugger(). + # Circular references must be removed, or the destructors never get called. + def stop_using_debugger(self): + if hasattr(self, 'debug'): + debug = self.debug + debug.set_event_handler(self.prevHandler) + del self.prevHandler + del self.debug + return debug + return None + + # Destroy the Debug object. + def destroy_debugger(self, autodetach=True): + debug = self.stop_using_debugger() + if debug is not None: + if not autodetach: + debug.kill_all(bIgnoreExceptions=True) + debug.lastEvent = None + debug.stop() + del debug + + @property + def lastEvent(self): + return self.debug.lastEvent + + def set_fake_last_event(self, process): + if self.lastEvent is None: + self.debug.lastEvent = DummyEvent(self.debug) + self.debug.lastEvent._process = process + self.debug.lastEvent._thread = process.get_thread( + process.get_thread_ids()[0]) + self.debug.lastEvent._pid = process.get_pid() + self.debug.lastEvent._tid = self.lastEvent._thread.get_tid() + +#------------------------------------------------------------------------------ +# Input + +# TODO +# * try to guess breakpoints when insufficient data is given +# * child Cmd instances will have to be used for other prompts, for example +# when assembling or editing memory - it may also be a good idea to think +# if it's possible to make the main Cmd instance also a child, instead of +# the debugger itself - probably the same goes for the EventHandler, maybe +# it can be used as a contained object rather than a parent class. + + # Join a token list into an argument string. + def join_tokens(self, token_list): + return self.debug.system.argv_to_cmdline(token_list) + + # Split an argument string into a token list. + def split_tokens(self, arg, min_count=0, max_count=None): + token_list = self.debug.system.cmdline_to_argv(arg) + if len(token_list) < min_count: + raise CmdError("missing parameters.") + if max_count and len(token_list) > max_count: + raise CmdError("too many parameters.") + return token_list + + # Token is a thread ID or name. + def input_thread(self, token): + targets = self.input_thread_list([token]) + if len(targets) == 0: + raise CmdError("missing thread name or ID") + if len(targets) > 1: + msg = "more than one thread with that name:\n" + for tid in targets: + msg += "\t%d\n" % tid + msg = msg[:-len("\n")] + raise CmdError(msg) + return targets[0] + + # Token list is a list of thread IDs or names. + def input_thread_list(self, token_list): + targets = set() + system = self.debug.system + for token in token_list: + try: + tid = self.input_integer(token) + if not system.has_thread(tid): + raise CmdError("thread not found (%d)" % tid) + targets.add(tid) + except ValueError: + found = set() + for process in system.iter_processes(): + found.update(system.find_threads_by_name(token)) + if not found: + raise CmdError("thread not found (%s)" % token) + for thread in found: + targets.add(thread.get_tid()) + targets = list(targets) + targets.sort() + return targets + + # Token is a process ID or name. + def input_process(self, token): + targets = self.input_process_list([token]) + if len(targets) == 0: + raise CmdError("missing process name or ID") + if len(targets) > 1: + msg = "more than one process with that name:\n" + for pid in targets: + msg += "\t%d\n" % pid + msg = msg[:-len("\n")] + raise CmdError(msg) + return targets[0] + + # Token list is a list of process IDs or names. + def input_process_list(self, token_list): + targets = set() + system = self.debug.system + for token in token_list: + try: + pid = self.input_integer(token) + if not system.has_process(pid): + raise CmdError("process not found (%d)" % pid) + targets.add(pid) + except ValueError: + found = system.find_processes_by_filename(token) + if not found: + raise CmdError("process not found (%s)" % token) + for (process, _) in found: + targets.add(process.get_pid()) + targets = list(targets) + targets.sort() + return targets + + # Token is a command line to execute. + def input_command_line(self, command_line): + argv = self.debug.system.cmdline_to_argv(command_line) + if not argv: + raise CmdError("missing command line to execute") + fname = argv[0] + if not os.path.exists(fname): + try: + fname, _ = win32.SearchPath(None, fname, '.exe') + except WindowsError: + raise CmdError("file not found: %s" % fname) + argv[0] = fname + command_line = self.debug.system.argv_to_cmdline(argv) + return command_line + + # Token is an integer. + # Only hexadecimal format is supported. + def input_hexadecimal_integer(self, token): + return int(token, 0x10) + + # Token is an integer. + # It can be in any supported format. + def input_integer(self, token): + return HexInput.integer(token) +# # input_integer = input_hexadecimal_integer + + # Token is an address. + # The address can be a integer, a label or a register. + def input_address(self, token, pid=None, tid=None): + address = None + if self.is_register(token): + if tid is None: + if self.lastEvent is None or pid != self.lastEvent.get_pid(): + msg = "can't resolve register (%s) for unknown thread" + raise CmdError(msg % token) + tid = self.lastEvent.get_tid() + address = self.input_register(token, tid) + if address is None: + try: + address = self.input_hexadecimal_integer(token) + except ValueError: + if pid is None: + if self.lastEvent is None: + raise CmdError("no current process set") + process = self.lastEvent.get_process() + elif self.lastEvent is not None and pid == self.lastEvent.get_pid(): + process = self.lastEvent.get_process() + else: + try: + process = self.debug.system.get_process(pid) + except KeyError: + raise CmdError("process not found (%d)" % pid) + try: + address = process.resolve_label(token) + except Exception: + raise CmdError("unknown address (%s)" % token) + return address + + # Token is an address range, or a single address. + # The addresses can be integers, labels or registers. + def input_address_range(self, token_list, pid=None, tid=None): + if len(token_list) == 2: + token_1, token_2 = token_list + address = self.input_address(token_1, pid, tid) + try: + size = self.input_integer(token_2) + except ValueError: + raise CmdError("bad address range: %s %s" % (token_1, token_2)) + elif len(token_list) == 1: + token = token_list[0] + if '-' in token: + try: + token_1, token_2 = token.split('-') + except Exception: + raise CmdError("bad address range: %s" % token) + address = self.input_address(token_1, pid, tid) + size = self.input_address(token_2, pid, tid) - address + else: + address = self.input_address(token, pid, tid) + size = None + return address, size + + # XXX TODO + # Support non-integer registers here. + def is_register(self, token): + if win32.arch == 'i386': + if token in self.register_aliases_full_32: + return True + token = token.title() + for (name, typ) in win32.CONTEXT._fields_: + if name == token: + return win32.sizeof(typ) == win32.sizeof(win32.DWORD) + elif win32.arch == 'amd64': + if token in self.register_aliases_full_64: + return True + token = token.title() + for (name, typ) in win32.CONTEXT._fields_: + if name == token: + return win32.sizeof(typ) == win32.sizeof(win32.DWORD64) + return False + + # The token is a register name. + # Returns None if no register name is matched. + def input_register(self, token, tid=None): + if tid is None: + if self.lastEvent is None: + raise CmdError("no current process set") + thread = self.lastEvent.get_thread() + else: + thread = self.debug.system.get_thread(tid) + ctx = thread.get_context() + + token = token.lower() + title = token.title() + + if title in ctx: + return ctx.get(title) # eax -> Eax + + if ctx.arch == 'i386': + + if token in self.segment_names: + return ctx.get('Seg%s' % title) # cs -> SegCs + + if token in self.register_alias_32_to_16: + return ctx.get(self.register_alias_32_to_16[token]) & 0xFFFF + + if token in self.register_alias_32_to_8_low: + return ctx.get(self.register_alias_32_to_8_low[token]) & 0xFF + + if token in self.register_alias_32_to_8_high: + return (ctx.get(self.register_alias_32_to_8_high[token]) & 0xFF00) >> 8 + + elif ctx.arch == 'amd64': + + if token in self.segment_names: + return ctx.get('Seg%s' % title) # cs -> SegCs + + if token in self.register_alias_64_to_32: + return ctx.get(self.register_alias_64_to_32[token]) & 0xFFFFFFFF + + if token in self.register_alias_64_to_16: + return ctx.get(self.register_alias_64_to_16[token]) & 0xFFFF + + if token in self.register_alias_64_to_8_low: + return ctx.get(self.register_alias_64_to_8_low[token]) & 0xFF + + if token in self.register_alias_64_to_8_high: + return (ctx.get(self.register_alias_64_to_8_high[token]) & 0xFF00) >> 8 + + return None + + # Token list contains an address or address range. + # The prefix is also parsed looking for process and thread IDs. + def input_full_address_range(self, token_list): + pid, tid = self.get_process_and_thread_ids_from_prefix() + address, size = self.input_address_range(token_list, pid, tid) + return pid, tid, address, size + + # Token list contains a breakpoint. + def input_breakpoint(self, token_list): + pid, tid, address, size = self.input_full_address_range(token_list) + if not self.debug.is_debugee(pid): + raise CmdError("target process is not being debugged") + return pid, tid, address, size + + # Token list contains a memory address, and optional size and process. + # Sets the results as the default for the next display command. + def input_display(self, token_list, default_size=64): + pid, tid, address, size = self.input_full_address_range(token_list) + if not size: + size = default_size + next_address = HexOutput.integer(address + size) + self.default_display_target = next_address + return pid, tid, address, size + +#------------------------------------------------------------------------------ +# Output + + # Tell the user a module was loaded. + def print_module_load(self, event): + mod = event.get_module() + base = mod.get_base() + name = mod.get_filename() + if not name: + name = '' + msg = "Loaded module (%s) %s" + msg = msg % (HexDump.address(base), name) + print(msg) + + # Tell the user a module was unloaded. + def print_module_unload(self, event): + mod = event.get_module() + base = mod.get_base() + name = mod.get_filename() + if not name: + name = '' + msg = "Unloaded module (%s) %s" + msg = msg % (HexDump.address(base), name) + print(msg) + + # Tell the user a process was started. + def print_process_start(self, event): + pid = event.get_pid() + start = event.get_start_address() + if start: + start = HexOutput.address(start) + print("Started process %d at %s" % (pid, start)) + else: + print("Attached to process %d" % pid) + + # Tell the user a thread was started. + def print_thread_start(self, event): + tid = event.get_tid() + start = event.get_start_address() + if start: + with warnings.catch_warnings(): + warnings.simplefilter("ignore") + start = event.get_process().get_label_at_address(start) + print("Started thread %d at %s" % (tid, start)) + else: + print("Attached to thread %d" % tid) + + # Tell the user a process has finished. + def print_process_end(self, event): + pid = event.get_pid() + code = event.get_exit_code() + print("Process %d terminated, exit code %d" % (pid, code)) + + # Tell the user a thread has finished. + def print_thread_end(self, event): + tid = event.get_tid() + code = event.get_exit_code() + print("Thread %d terminated, exit code %d" % (tid, code)) + + # Print(debug strings. + def print_debug_string(self, event): + tid = event.get_tid() + string = event.get_debug_string() + print("Thread %d says: %r" % (tid, string)) + + # Inform the user of any other debugging event. + def print_event(self, event): + code = HexDump.integer(event.get_event_code()) + name = event.get_event_name() + desc = event.get_event_description() + if code in desc: + print('') + print("%s: %s" % (name, desc)) + else: + print('') + print("%s (%s): %s" % (name, code, desc)) + self.print_event_location(event) + + # Stop on exceptions and prompt for commands. + def print_exception(self, event): + address = HexDump.address(event.get_exception_address()) + code = HexDump.integer(event.get_exception_code()) + desc = event.get_exception_description() + if event.is_first_chance(): + chance = 'first' + else: + chance = 'second' + if code in desc: + msg = "%s at address %s (%s chance)" % (desc, address, chance) + else: + msg = "%s (%s) at address %s (%s chance)" % (desc, code, address, chance) + print('') + print(msg) + self.print_event_location(event) + + # Show the current location in the code. + def print_event_location(self, event): + process = event.get_process() + thread = event.get_thread() + self.print_current_location(process, thread) + + # Show the current location in the code. + def print_breakpoint_location(self, event): + process = event.get_process() + thread = event.get_thread() + pc = event.get_exception_address() + self.print_current_location(process, thread, pc) + + # Show the current location in any process and thread. + def print_current_location(self, process=None, thread=None, pc=None): + if not process: + if self.lastEvent is None: + raise CmdError("no current process set") + process = self.lastEvent.get_process() + if not thread: + if self.lastEvent is None: + raise CmdError("no current process set") + thread = self.lastEvent.get_thread() + thread.suspend() + try: + if pc is None: + pc = thread.get_pc() + ctx = thread.get_context() + finally: + thread.resume() + label = process.get_label_at_address(pc) + try: + disasm = process.disassemble(pc, 15) + except WindowsError: + disasm = None + except NotImplementedError: + disasm = None + print('') + print(CrashDump.dump_registers(ctx),) + print("%s:" % label) + if disasm: + print(CrashDump.dump_code_line(disasm[0], pc, bShowDump=True)) + else: + try: + data = process.peek(pc, 15) + except Exception: + data = None + if data: + print('%s: %s' % (HexDump.address(pc), HexDump.hexblock_byte(data))) + else: + print('%s: ???' % HexDump.address(pc)) + + # Display memory contents using a given method. + def print_memory_display(self, arg, method): + if not arg: + arg = self.default_display_target + token_list = self.split_tokens(arg, 1, 2) + pid, tid, address, size = self.input_display(token_list) + label = self.get_process(pid).get_label_at_address(address) + data = self.read_memory(address, size, pid) + if data: + print("%s:" % label) + print(method(data, address),) + +#------------------------------------------------------------------------------ +# Debugging + + # Get the process ID from the prefix or the last event. + def get_process_id_from_prefix(self): + if self.cmdprefix: + pid = self.input_process(self.cmdprefix) + else: + if self.lastEvent is None: + raise CmdError("no current process set") + pid = self.lastEvent.get_pid() + return pid + + # Get the thread ID from the prefix or the last event. + def get_thread_id_from_prefix(self): + if self.cmdprefix: + tid = self.input_thread(self.cmdprefix) + else: + if self.lastEvent is None: + raise CmdError("no current process set") + tid = self.lastEvent.get_tid() + return tid + + # Get the process from the prefix or the last event. + def get_process_from_prefix(self): + pid = self.get_process_id_from_prefix() + return self.get_process(pid) + + # Get the thread from the prefix or the last event. + def get_thread_from_prefix(self): + tid = self.get_thread_id_from_prefix() + return self.get_thread(tid) + + # Get the process and thread IDs from the prefix or the last event. + def get_process_and_thread_ids_from_prefix(self): + if self.cmdprefix: + try: + pid = self.input_process(self.cmdprefix) + tid = None + except CmdError: + try: + tid = self.input_thread(self.cmdprefix) + pid = self.debug.system.get_thread(tid).get_pid() + except CmdError: + msg = "unknown process or thread (%s)" % self.cmdprefix + raise CmdError(msg) + else: + if self.lastEvent is None: + raise CmdError("no current process set") + pid = self.lastEvent.get_pid() + tid = self.lastEvent.get_tid() + return pid, tid + + # Get the process and thread from the prefix or the last event. + def get_process_and_thread_from_prefix(self): + pid, tid = self.get_process_and_thread_ids_from_prefix() + process = self.get_process(pid) + thread = self.get_thread(tid) + return process, thread + + # Get the process object. + def get_process(self, pid=None): + if pid is None: + if self.lastEvent is None: + raise CmdError("no current process set") + process = self.lastEvent.get_process() + elif self.lastEvent is not None and pid == self.lastEvent.get_pid(): + process = self.lastEvent.get_process() + else: + try: + process = self.debug.system.get_process(pid) + except KeyError: + raise CmdError("process not found (%d)" % pid) + return process + + # Get the thread object. + def get_thread(self, tid=None): + if tid is None: + if self.lastEvent is None: + raise CmdError("no current process set") + thread = self.lastEvent.get_thread() + elif self.lastEvent is not None and tid == self.lastEvent.get_tid(): + thread = self.lastEvent.get_thread() + else: + try: + thread = self.debug.system.get_thread(tid) + except KeyError: + raise CmdError("thread not found (%d)" % tid) + return thread + + # Read the process memory. + def read_memory(self, address, size, pid=None): + process = self.get_process(pid) + try: + data = process.peek(address, size) + except WindowsError: + orig_address = HexOutput.integer(address) + next_address = HexOutput.integer(address + size) + msg = "error reading process %d, from %s to %s (%d bytes)" + msg = msg % (pid, orig_address, next_address, size) + raise CmdError(msg) + return data + + # Write the process memory. + def write_memory(self, address, data, pid=None): + process = self.get_process(pid) + try: + process.write(address, data) + except WindowsError: + size = len(data) + orig_address = HexOutput.integer(address) + next_address = HexOutput.integer(address + size) + msg = "error reading process %d, from %s to %s (%d bytes)" + msg = msg % (pid, orig_address, next_address, size) + raise CmdError(msg) + + # Change a register value. + def change_register(self, register, value, tid=None): + + # Get the thread. + if tid is None: + if self.lastEvent is None: + raise CmdError("no current process set") + thread = self.lastEvent.get_thread() + else: + try: + thread = self.debug.system.get_thread(tid) + except KeyError: + raise CmdError("thread not found (%d)" % tid) + + # Convert the value to integer type. + try: + value = self.input_integer(value) + except ValueError: + pid = thread.get_pid() + value = self.input_address(value, pid, tid) + + # Suspend the thread. + # The finally clause ensures the thread is resumed before returning. + thread.suspend() + try: + + # Get the current context. + ctx = thread.get_context() + + # Register name matching is case insensitive. + register = register.lower() + + # Integer 32 bits registers. + if register in self.register_names: + register = register.title() # eax -> Eax + + # Segment (16 bit) registers. + if register in self.segment_names: + register = 'Seg%s' % register.title() # cs -> SegCs + value = value & 0x0000FFFF + + # Integer 16 bits registers. + if register in self.register_alias_16: + register = self.register_alias_16[register] + previous = ctx.get(register) & 0xFFFF0000 + value = (value & 0x0000FFFF) | previous + + # Integer 8 bits registers (low part). + if register in self.register_alias_8_low: + register = self.register_alias_8_low[register] + previous = ctx.get(register) % 0xFFFFFF00 + value = (value & 0x000000FF) | previous + + # Integer 8 bits registers (high part). + if register in self.register_alias_8_high: + register = self.register_alias_8_high[register] + previous = ctx.get(register) % 0xFFFF00FF + value = ((value & 0x000000FF) << 8) | previous + + # Set the new context. + ctx.__setitem__(register, value) + thread.set_context(ctx) + + # Resume the thread. + finally: + thread.resume() + + # Very crude way to find data within the process memory. + # TODO: Perhaps pfind.py can be integrated here instead. + def find_in_memory(self, query, process): + for mbi in process.get_memory_map(): + if mbi.State != win32.MEM_COMMIT or mbi.Protect & win32.PAGE_GUARD: + continue + address = mbi.BaseAddress + size = mbi.RegionSize + try: + data = process.read(address, size) + except WindowsError: + msg = "*** Warning: read error at address %s" + msg = msg % HexDump.address(address) + print(msg) + width = min(len(query), 16) + p = data.find(query) + while p >= 0: + q = p + len(query) + d = data[ p: min(q, p + width) ] + h = HexDump.hexline(d, width=width) + a = HexDump.address(address + p) + print("%s: %s" % (a, h)) + p = data.find(query, q) + + # Kill a process. + def kill_process(self, pid): + process = self.debug.system.get_process(pid) + try: + process.kill() + if self.debug.is_debugee(pid): + self.debug.detach(pid) + print("Killed process (%d)" % pid) + except Exception: + print("Error trying to kill process (%d)" % pid) + + # Kill a thread. + def kill_thread(self, tid): + thread = self.debug.system.get_thread(tid) + try: + thread.kill() + process = thread.get_process() + pid = process.get_pid() + if self.debug.is_debugee(pid) and not process.is_alive(): + self.debug.detach(pid) + print("Killed thread (%d)" % tid) + except Exception: + print("Error trying to kill thread (%d)" % tid) + +#------------------------------------------------------------------------------ +# Command prompt input + + # Prompt the user for commands. + def prompt_user(self): + while not self.debuggerExit: + try: + self.cmdloop() + break + except CmdError: + e = sys.exc_info()[1] + print("*** Error: %s" % str(e)) + except Exception: + traceback.print_exc() +# # self.debuggerExit = True + + # Prompt the user for a YES/NO kind of question. + def ask_user(self, msg, prompt="Are you sure? (y/N): "): + print(msg) + answer = raw_input(prompt) + answer = answer.strip()[:1].lower() + return answer == 'y' + + # Autocomplete the given command when not ambiguous. + # Convert it to lowercase (so commands are seen as case insensitive). + def autocomplete(self, cmd): + cmd = cmd.lower() + completed = self.completenames(cmd) + if len(completed) == 1: + cmd = completed[0] + return cmd + + # Get the help text for the given list of command methods. + # Note it's NOT a list of commands, but a list of actual method names. + # Each line of text is stripped and all lines are sorted. + # Repeated text lines are removed. + # Returns a single, possibly multiline, string. + def get_help(self, commands): + msg = set() + for name in commands: + if name != 'do_help': + try: + doc = getattr(self, name).__doc__.split('\n') + except Exception: + return ("No help available when Python" + " is run with the -OO switch.") + for x in doc: + x = x.strip() + if x: + msg.add(' %s' % x) + msg = list(msg) + msg.sort() + msg = '\n'.join(msg) + return msg + + # Parse the prefix and remove it from the command line. + def split_prefix(self, line): + prefix = None + if line.startswith('~'): + pos = line.find(' ') + if pos == 1: + pos = line.find(' ', pos + 1) + if not pos < 0: + prefix = line[ 1: pos ].strip() + line = line[ pos: ].strip() + return prefix, line + +#------------------------------------------------------------------------------ +# Cmd() hacks + + # Header for help page. + doc_header = 'Available commands (type help * or help )' + +# # # Read and write directly to stdin and stdout. +# # # This prevents the use of raw_input and print. +# # use_rawinput = False + + @property + def prompt(self): + if self.lastEvent: + pid = self.lastEvent.get_pid() + tid = self.lastEvent.get_tid() + if self.debug.is_debugee(pid): +# # return '~%d(%d)> ' % (tid, pid) + return '%d:%d> ' % (pid, tid) + return '> ' + + # Return a sorted list of method names. + # Only returns the methods that implement commands. + def get_names(self): + names = Cmd.get_names(self) + names = [ x for x in set(names) if x.startswith('do_') ] + names.sort() + return names + + # Automatically autocomplete commands, even if Tab wasn't pressed. + # The prefix is removed from the line and stored in self.cmdprefix. + # Also implement the commands that consist of a symbol character. + def parseline(self, line): + self.cmdprefix, line = self.split_prefix(line) + line = line.strip() + if line: + if line[0] == '.': + line = 'plugin ' + line[1:] + elif line[0] == '#': + line = 'python ' + line[1:] + cmd, arg, line = Cmd.parseline(self, line) + if cmd: + cmd = self.autocomplete(cmd) + return cmd, arg, line + +# # # Don't repeat the last executed command. +# # def emptyline(self): +# # pass + + # Reset the defaults for some commands. + def preloop(self): + self.default_disasm_target = 'eip' + self.default_display_target = 'eip' + self.last_display_command = self.do_db + + # Put the prefix back in the command line. + def get_lastcmd(self): + return self.__lastcmd + + def set_lastcmd(self, lastcmd): + if self.cmdprefix: + lastcmd = '~%s %s' % (self.cmdprefix, lastcmd) + self.__lastcmd = lastcmd + + lastcmd = property(get_lastcmd, set_lastcmd) + + # Quit the command prompt if the debuggerExit flag is on. + def postcmd(self, stop, line): + return stop or self.debuggerExit + +#------------------------------------------------------------------------------ +# Commands + + # Each command contains a docstring with it's help text. + # The help text consist of independent text lines, + # where each line shows a command and it's parameters. + # Each command method has the help message for itself and all it's aliases. + # Only the docstring for the "help" command is shown as-is. + + # NOTE: Command methods MUST be all lowercase! + + # Extended help command. + def do_help(self, arg): + """ + ? - show the list of available commands + ? * - show help for all commands + ? [command...] - show help for the given command(s) + help - show the list of available commands + help * - show help for all commands + help [command...] - show help for the given command(s) + """ + if not arg: + Cmd.do_help(self, arg) + elif arg in ('?', 'help'): + # An easter egg :) + print(" Help! I need somebody...") + print(" Help! Not just anybody...") + print(" Help! You know, I need someone...") + print(" Heeelp!") + else: + if arg == '*': + commands = self.get_names() + commands = [ x for x in commands if x.startswith('do_') ] + else: + commands = set() + for x in arg.split(' '): + x = x.strip() + if x: + for n in self.completenames(x): + commands.add('do_%s' % n) + commands = list(commands) + commands.sort() + print(self.get_help(commands)) + + def do_shell(self, arg): + """ + ! - spawn a system shell + shell - spawn a system shell + ! [arguments...] - execute a single shell command + shell [arguments...] - execute a single shell command + """ + if self.cmdprefix: + raise CmdError("prefix not allowed") + + # Try to use the environment to locate cmd.exe. + # If not found, it's usually OK to just use the filename, + # since cmd.exe is one of those "magic" programs that + # can be automatically found by CreateProcess. + shell = os.getenv('ComSpec', 'cmd.exe') + + # When given a command, run it and return. + # When no command is given, spawn a shell. + if arg: + arg = '%s /c %s' % (shell, arg) + else: + arg = shell + process = self.debug.system.start_process(arg, bConsole=True) + process.wait() + + # This hack fixes a bug in Python, the interpreter console is closing the + # stdin pipe when calling the exit() function (Ctrl+Z seems to work fine). + class _PythonExit(object): + + def __repr__(self): + return "Use exit() or Ctrl-Z plus Return to exit" + + def __call__(self): + raise SystemExit() + + _python_exit = _PythonExit() + + # Spawns a Python shell with some handy local variables and the winappdbg + # module already imported. Also the console banner is improved. + def _spawn_python_shell(self, arg): + import winappdbg + banner = ('Python %s on %s\nType "help", "copyright", ' + '"credits" or "license" for more information.\n') + platform = winappdbg.version.lower() + platform = 'WinAppDbg %s' % platform + banner = banner % (sys.version, platform) + local = {} + local.update(__builtins__) + local.update({ + '__name__': '__console__', + '__doc__': None, + 'exit': self._python_exit, + 'self': self, + 'arg': arg, + 'winappdbg': winappdbg, + }) + try: + code.interact(banner=banner, local=local) + except SystemExit: + # We need to catch it so it doesn't kill our program. + pass + + def do_python(self, arg): + """ + # - spawn a python interpreter + python - spawn a python interpreter + # - execute a single python statement + python - execute a single python statement + """ + if self.cmdprefix: + raise CmdError("prefix not allowed") + + # When given a Python statement, execute it directly. + if arg: + try: + compat.exec_(arg, globals(), locals()) + except Exception: + traceback.print_exc() + + # When no statement is given, spawn a Python interpreter. + else: + try: + self._spawn_python_shell(arg) + except Exception: + e = sys.exc_info()[1] + raise CmdError( + "unhandled exception when running Python console: %s" % e) + + def do_quit(self, arg): + """ + quit - close the debugging session + q - close the debugging session + """ + if self.cmdprefix: + raise CmdError("prefix not allowed") + if arg: + raise CmdError("too many arguments") + if self.confirm_quit: + count = self.debug.get_debugee_count() + if count > 0: + if count == 1: + msg = "There's a program still running." + else: + msg = "There are %s programs still running." % count + if not self.ask_user(msg): + return False + self.debuggerExit = True + return True + + do_q = do_quit + + def do_attach(self, arg): + """ + attach [target...] - attach to the given process(es) + """ + if self.cmdprefix: + raise CmdError("prefix not allowed") + targets = self.input_process_list(self.split_tokens(arg, 1)) + if not targets: + print("Error: missing parameters") + else: + debug = self.debug + for pid in targets: + try: + debug.attach(pid) + print("Attached to process (%d)" % pid) + except Exception: + print("Error: can't attach to process (%d)" % pid) + + def do_detach(self, arg): + """ + [~process] detach - detach from the current process + detach - detach from the current process + detach [target...] - detach from the given process(es) + """ + debug = self.debug + token_list = self.split_tokens(arg) + if self.cmdprefix: + token_list.insert(0, self.cmdprefix) + targets = self.input_process_list(token_list) + if not targets: + if self.lastEvent is None: + raise CmdError("no current process set") + targets = [ self.lastEvent.get_pid() ] + for pid in targets: + try: + debug.detach(pid) + print("Detached from process (%d)" % pid) + except Exception: + print("Error: can't detach from process (%d)" % pid) + + def do_windowed(self, arg): + """ + windowed [arguments...] - run a windowed program for debugging + """ + if self.cmdprefix: + raise CmdError("prefix not allowed") + cmdline = self.input_command_line(arg) + try: + process = self.debug.execl(arg, + bConsole=False, + bFollow=self.options.follow) + print("Spawned process (%d)" % process.get_pid()) + except Exception: + raise CmdError("can't execute") + self.set_fake_last_event(process) + + def do_console(self, arg): + """ + console [arguments...] - run a console program for debugging + """ + if self.cmdprefix: + raise CmdError("prefix not allowed") + cmdline = self.input_command_line(arg) + try: + process = self.debug.execl(arg, + bConsole=True, + bFollow=self.options.follow) + print("Spawned process (%d)" % process.get_pid()) + except Exception: + raise CmdError("can't execute") + self.set_fake_last_event(process) + + def do_continue(self, arg): + """ + continue - continue execution + g - continue execution + go - continue execution + """ + if self.cmdprefix: + raise CmdError("prefix not allowed") + if arg: + raise CmdError("too many arguments") + if self.debug.get_debugee_count() > 0: + return True + + do_g = do_continue + do_go = do_continue + + def do_gh(self, arg): + """ + gh - go with exception handled + """ + if self.cmdprefix: + raise CmdError("prefix not allowed") + if arg: + raise CmdError("too many arguments") + if self.lastEvent: + self.lastEvent.continueStatus = win32.DBG_EXCEPTION_HANDLED + return self.do_go(arg) + + def do_gn(self, arg): + """ + gn - go with exception not handled + """ + if self.cmdprefix: + raise CmdError("prefix not allowed") + if arg: + raise CmdError("too many arguments") + if self.lastEvent: + self.lastEvent.continueStatus = win32.DBG_EXCEPTION_NOT_HANDLED + return self.do_go(arg) + + def do_refresh(self, arg): + """ + refresh - refresh the list of running processes and threads + [~process] refresh - refresh the list of running threads + """ + if arg: + raise CmdError("too many arguments") + if self.cmdprefix: + process = self.get_process_from_prefix() + process.scan() + else: + self.debug.system.scan() + + def do_processlist(self, arg): + """ + pl - show the processes being debugged + processlist - show the processes being debugged + """ + if self.cmdprefix: + raise CmdError("prefix not allowed") + if arg: + raise CmdError("too many arguments") + system = self.debug.system + pid_list = self.debug.get_debugee_pids() + if pid_list: + print("Process ID File name") + for pid in pid_list: + if pid == 0: + filename = "System Idle Process" + elif pid == 4: + filename = "System" + else: + filename = system.get_process(pid).get_filename() + filename = PathOperations.pathname_to_filename(filename) + print("%-12d %s" % (pid, filename)) + + do_pl = do_processlist + + def do_threadlist(self, arg): + """ + tl - show the threads being debugged + threadlist - show the threads being debugged + """ + if arg: + raise CmdError("too many arguments") + if self.cmdprefix: + process = self.get_process_from_prefix() + for thread in process.iter_threads(): + tid = thread.get_tid() + name = thread.get_name() + print("%-12d %s" % (tid, name)) + else: + system = self.debug.system + pid_list = self.debug.get_debugee_pids() + if pid_list: + print("Thread ID Thread name") + for pid in pid_list: + process = system.get_process(pid) + for thread in process.iter_threads(): + tid = thread.get_tid() + name = thread.get_name() + print("%-12d %s" % (tid, name)) + + do_tl = do_threadlist + + def do_kill(self, arg): + """ + [~process] kill - kill a process + [~thread] kill - kill a thread + kill - kill the current process + kill * - kill all debugged processes + kill - kill the given processes and threads + """ + if arg: + if arg == '*': + target_pids = self.debug.get_debugee_pids() + target_tids = list() + else: + target_pids = set() + target_tids = set() + if self.cmdprefix: + pid, tid = self.get_process_and_thread_ids_from_prefix() + if tid is None: + target_tids.add(tid) + else: + target_pids.add(pid) + for token in self.split_tokens(arg): + try: + pid = self.input_process(token) + target_pids.add(pid) + except CmdError: + try: + tid = self.input_process(token) + target_pids.add(pid) + except CmdError: + msg = "unknown process or thread (%s)" % token + raise CmdError(msg) + target_pids = list(target_pids) + target_tids = list(target_tids) + target_pids.sort() + target_tids.sort() + msg = "You are about to kill %d processes and %d threads." + msg = msg % (len(target_pids), len(target_tids)) + if self.ask_user(msg): + for pid in target_pids: + self.kill_process(pid) + for tid in target_tids: + self.kill_thread(tid) + else: + if self.cmdprefix: + pid, tid = self.get_process_and_thread_ids_from_prefix() + if tid is None: + if self.lastEvent is not None and pid == self.lastEvent.get_pid(): + msg = "You are about to kill the current process." + else: + msg = "You are about to kill process %d." % pid + if self.ask_user(msg): + self.kill_process(pid) + else: + if self.lastEvent is not None and tid == self.lastEvent.get_tid(): + msg = "You are about to kill the current thread." + else: + msg = "You are about to kill thread %d." % tid + if self.ask_user(msg): + self.kill_thread(tid) + else: + if self.lastEvent is None: + raise CmdError("no current process set") + pid = self.lastEvent.get_pid() + if self.ask_user("You are about to kill the current process."): + self.kill_process(pid) + + # TODO: create hidden threads using undocumented API calls. + def do_modload(self, arg): + """ + [~process] modload - load a DLL module + """ + filename = self.split_tokens(arg, 1, 1)[0] + process = self.get_process_from_prefix() + try: + process.inject_dll(filename, bWait=False) + except RuntimeError: + print("Can't inject module: %r" % filename) + + # TODO: modunload + + def do_stack(self, arg): + """ + [~thread] k - show the stack trace + [~thread] stack - show the stack trace + """ + if arg: # XXX TODO add depth parameter + raise CmdError("too many arguments") + pid, tid = self.get_process_and_thread_ids_from_prefix() + process = self.get_process(pid) + thread = process.get_thread(tid) + try: + stack_trace = thread.get_stack_trace_with_labels() + if stack_trace: + print(CrashDump.dump_stack_trace_with_labels(stack_trace),) + else: + print("No stack trace available for thread (%d)" % tid) + except WindowsError: + print("Can't get stack trace for thread (%d)" % tid) + + do_k = do_stack + + def do_break(self, arg): + """ + break - force a debug break in all debugees + break [process...] - force a debug break + """ + debug = self.debug + system = debug.system + targets = self.input_process_list(self.split_tokens(arg)) + if not targets: + targets = debug.get_debugee_pids() + targets.sort() + if self.lastEvent: + current = self.lastEvent.get_pid() + else: + current = None + for pid in targets: + if pid != current and debug.is_debugee(pid): + process = system.get_process(pid) + try: + process.debug_break() + except WindowsError: + print("Can't force a debug break on process (%d)") + + def do_step(self, arg): + """ + p - step on the current assembly instruction + next - step on the current assembly instruction + step - step on the current assembly instruction + """ + if self.cmdprefix: + raise CmdError("prefix not allowed") + if self.lastEvent is None: + raise CmdError("no current process set") + if arg: # XXX this check is to be removed + raise CmdError("too many arguments") + pid = self.lastEvent.get_pid() + thread = self.lastEvent.get_thread() + pc = thread.get_pc() + code = thread.disassemble(pc, 16)[0] + size = code[1] + opcode = code[2].lower() + if ' ' in opcode: + opcode = opcode[: opcode.find(' ') ] + if opcode in self.jump_instructions or opcode in ('int', 'ret', 'retn'): + return self.do_trace(arg) + address = pc + size +# # print(hex(pc), hex(address), size # XXX DEBUG + self.debug.stalk_at(pid, address) + return True + + do_p = do_step + do_next = do_step + + def do_trace(self, arg): + """ + t - trace at the current assembly instruction + trace - trace at the current assembly instruction + """ + if arg: # XXX this check is to be removed + raise CmdError("too many arguments") + if self.lastEvent is None: + raise CmdError("no current thread set") + self.lastEvent.get_thread().set_tf() + return True + + do_t = do_trace + + def do_bp(self, arg): + """ + [~process] bp
- set a code breakpoint + """ + pid = self.get_process_id_from_prefix() + if not self.debug.is_debugee(pid): + raise CmdError("target process is not being debugged") + process = self.get_process(pid) + token_list = self.split_tokens(arg, 1, 1) + try: + address = self.input_address(token_list[0], pid) + deferred = False + except Exception: + address = token_list[0] + deferred = True + if not address: + address = token_list[0] + deferred = True + self.debug.break_at(pid, address) + if deferred: + print("Deferred breakpoint set at %s" % address) + else: + print("Breakpoint set at %s" % address) + + def do_ba(self, arg): + """ + [~thread] ba <1|2|4|8>
- set hardware breakpoint + """ + debug = self.debug + thread = self.get_thread_from_prefix() + pid = thread.get_pid() + tid = thread.get_tid() + if not debug.is_debugee(pid): + raise CmdError("target thread is not being debugged") + token_list = self.split_tokens(arg, 3, 3) + access = token_list[0].lower() + size = token_list[1] + address = token_list[2] + if access == 'a': + access = debug.BP_BREAK_ON_ACCESS + elif access == 'w': + access = debug.BP_BREAK_ON_WRITE + elif access == 'e': + access = debug.BP_BREAK_ON_EXECUTION + else: + raise CmdError("bad access type: %s" % token_list[0]) + if size == '1': + size = debug.BP_WATCH_BYTE + elif size == '2': + size = debug.BP_WATCH_WORD + elif size == '4': + size = debug.BP_WATCH_DWORD + elif size == '8': + size = debug.BP_WATCH_QWORD + else: + raise CmdError("bad breakpoint size: %s" % size) + thread = self.get_thread_from_prefix() + tid = thread.get_tid() + pid = thread.get_pid() + if not debug.is_debugee(pid): + raise CmdError("target process is not being debugged") + address = self.input_address(address, pid) + if debug.has_hardware_breakpoint(tid, address): + debug.erase_hardware_breakpoint(tid, address) + debug.define_hardware_breakpoint(tid, address, access, size) + debug.enable_hardware_breakpoint(tid, address) + + def do_bm(self, arg): + """ + [~process] bm - set memory breakpoint + """ + pid = self.get_process_id_from_prefix() + if not self.debug.is_debugee(pid): + raise CmdError("target process is not being debugged") + process = self.get_process(pid) + token_list = self.split_tokens(arg, 1, 2) + address, size = self.input_address_range(token_list[0], pid) + self.debug.watch_buffer(pid, address, size) + + def do_bl(self, arg): + """ + bl - list the breakpoints for the current process + bl * - list the breakpoints for all processes + [~process] bl - list the breakpoints for the given process + bl [process...] - list the breakpoints for each given process + """ + debug = self.debug + if arg == '*': + if self.cmdprefix: + raise CmdError("prefix not supported") + breakpoints = debug.get_debugee_pids() + else: + targets = self.input_process_list(self.split_tokens(arg)) + if self.cmdprefix: + targets.insert(0, self.input_process(self.cmdprefix)) + if not targets: + if self.lastEvent is None: + raise CmdError("no current process is set") + targets = [ self.lastEvent.get_pid() ] + for pid in targets: + bplist = debug.get_process_code_breakpoints(pid) + printed_process_banner = False + if bplist: + if not printed_process_banner: + print("Process %d:" % pid) + printed_process_banner = True + for bp in bplist: + address = repr(bp)[1:-1].replace('remote address ', '') + print(" %s" % address) + dbplist = debug.get_process_deferred_code_breakpoints(pid) + if dbplist: + if not printed_process_banner: + print("Process %d:" % pid) + printed_process_banner = True + for (label, action, oneshot) in dbplist: + if oneshot: + address = " Deferred unconditional one-shot" \ + " code breakpoint at %s" + else: + address = " Deferred unconditional" \ + " code breakpoint at %s" + address = address % label + print(" %s" % address) + bplist = debug.get_process_page_breakpoints(pid) + if bplist: + if not printed_process_banner: + print("Process %d:" % pid) + printed_process_banner = True + for bp in bplist: + address = repr(bp)[1:-1].replace('remote address ', '') + print(" %s" % address) + for tid in debug.system.get_process(pid).iter_thread_ids(): + bplist = debug.get_thread_hardware_breakpoints(tid) + if bplist: + print("Thread %d:" % tid) + for bp in bplist: + address = repr(bp)[1:-1].replace('remote address ', '') + print(" %s" % address) + + def do_bo(self, arg): + """ + [~process] bo
- make a code breakpoint one-shot + [~thread] bo
- make a hardware breakpoint one-shot + [~process] bo - make a memory breakpoint one-shot + [~process] bo
- make a memory breakpoint one-shot + """ + token_list = self.split_tokens(arg, 1, 2) + pid, tid, address, size = self.input_breakpoint(token_list) + debug = self.debug + found = False + if size is None: + if tid is not None: + if debug.has_hardware_breakpoint(tid, address): + debug.enable_one_shot_hardware_breakpoint(tid, address) + found = True + if pid is not None: + if debug.has_code_breakpoint(pid, address): + debug.enable_one_shot_code_breakpoint(pid, address) + found = True + else: + if debug.has_page_breakpoint(pid, address): + debug.enable_one_shot_page_breakpoint(pid, address) + found = True + if not found: + print("Error: breakpoint not found.") + + def do_be(self, arg): + """ + [~process] be
- enable a code breakpoint + [~thread] be
- enable a hardware breakpoint + [~process] be - enable a memory breakpoint + [~process] be
- enable a memory breakpoint + """ + token_list = self.split_tokens(arg, 1, 2) + pid, tid, address, size = self.input_breakpoint(token_list) + debug = self.debug + found = False + if size is None: + if tid is not None: + if debug.has_hardware_breakpoint(tid, address): + debug.enable_hardware_breakpoint(tid, address) + found = True + if pid is not None: + if debug.has_code_breakpoint(pid, address): + debug.enable_code_breakpoint(pid, address) + found = True + else: + if debug.has_page_breakpoint(pid, address): + debug.enable_page_breakpoint(pid, address) + found = True + if not found: + print("Error: breakpoint not found.") + + def do_bd(self, arg): + """ + [~process] bd
- disable a code breakpoint + [~thread] bd
- disable a hardware breakpoint + [~process] bd - disable a memory breakpoint + [~process] bd
- disable a memory breakpoint + """ + token_list = self.split_tokens(arg, 1, 2) + pid, tid, address, size = self.input_breakpoint(token_list) + debug = self.debug + found = False + if size is None: + if tid is not None: + if debug.has_hardware_breakpoint(tid, address): + debug.disable_hardware_breakpoint(tid, address) + found = True + if pid is not None: + if debug.has_code_breakpoint(pid, address): + debug.disable_code_breakpoint(pid, address) + found = True + else: + if debug.has_page_breakpoint(pid, address): + debug.disable_page_breakpoint(pid, address) + found = True + if not found: + print("Error: breakpoint not found.") + + def do_bc(self, arg): + """ + [~process] bc
- clear a code breakpoint + [~thread] bc
- clear a hardware breakpoint + [~process] bc - clear a memory breakpoint + [~process] bc
- clear a memory breakpoint + """ + token_list = self.split_tokens(arg, 1, 2) + pid, tid, address, size = self.input_breakpoint(token_list) + debug = self.debug + found = False + if size is None: + if tid is not None: + if debug.has_hardware_breakpoint(tid, address): + debug.dont_watch_variable(tid, address) + found = True + if pid is not None: + if debug.has_code_breakpoint(pid, address): + debug.dont_break_at(pid, address) + found = True + else: + if debug.has_page_breakpoint(pid, address): + debug.dont_watch_buffer(pid, address, size) + found = True + if not found: + print("Error: breakpoint not found.") + + def do_disassemble(self, arg): + """ + [~thread] u [register] - show code disassembly + [~process] u [address] - show code disassembly + [~thread] disassemble [register] - show code disassembly + [~process] disassemble [address] - show code disassembly + """ + if not arg: + arg = self.default_disasm_target + token_list = self.split_tokens(arg, 1, 1) + pid, tid = self.get_process_and_thread_ids_from_prefix() + process = self.get_process(pid) + address = self.input_address(token_list[0], pid, tid) + try: + code = process.disassemble(address, 15 * 8)[:8] + except Exception: + msg = "can't disassemble address %s" + msg = msg % HexDump.address(address) + raise CmdError(msg) + if code: + label = process.get_label_at_address(address) + last_code = code[-1] + next_address = last_code[0] + last_code[1] + next_address = HexOutput.integer(next_address) + self.default_disasm_target = next_address + print("%s:" % label) +# # print(CrashDump.dump_code(code)) + for line in code: + print(CrashDump.dump_code_line(line, bShowDump=False)) + + do_u = do_disassemble + + def do_search(self, arg): + """ + [~process] s [address-address] + [~process] search [address-address] + """ + token_list = self.split_tokens(arg, 1, 3) + pid, tid = self.get_process_and_thread_ids_from_prefix() + process = self.get_process(pid) + if len(token_list) == 1: + pattern = token_list[0] + minAddr = None + maxAddr = None + else: + pattern = token_list[-1] + addr, size = self.input_address_range(token_list[:-1], pid, tid) + minAddr = addr + maxAddr = addr + size + iter = process.search_bytes(pattern) + if process.get_bits() == 32: + addr_width = 8 + else: + addr_width = 16 + # TODO: need a prettier output here! + for addr in iter: + print(HexDump.address(addr, addr_width)) + + do_s = do_search + + def do_searchhex(self, arg): + """ + [~process] sh [address-address] + [~process] searchhex [address-address] + """ + token_list = self.split_tokens(arg, 1, 3) + pid, tid = self.get_process_and_thread_ids_from_prefix() + process = self.get_process(pid) + if len(token_list) == 1: + pattern = token_list[0] + minAddr = None + maxAddr = None + else: + pattern = token_list[-1] + addr, size = self.input_address_range(token_list[:-1], pid, tid) + minAddr = addr + maxAddr = addr + size + iter = process.search_hexa(pattern) + if process.get_bits() == 32: + addr_width = 8 + else: + addr_width = 16 + for addr, bytes in iter: + print(HexDump.hexblock(bytes, addr, addr_width),) + + do_sh = do_searchhex + +# # def do_strings(self, arg): +# # """ +# # [~process] strings - extract ASCII strings from memory +# # """ +# # if arg: +# # raise CmdError("too many arguments") +# # pid, tid = self.get_process_and_thread_ids_from_prefix() +# # process = self.get_process(pid) +# # for addr, size, data in process.strings(): +# # print("%s: %r" % (HexDump.address(addr), data) + + def do_d(self, arg): + """ + [~thread] d - show memory contents + [~thread] d - show memory contents + [~thread] d - show memory contents + [~process] d
- show memory contents + [~process] d - show memory contents + [~process] d
- show memory contents + """ + return self.last_display_command(arg) + + def do_db(self, arg): + """ + [~thread] db - show memory contents as bytes + [~thread] db - show memory contents as bytes + [~thread] db - show memory contents as bytes + [~process] db
- show memory contents as bytes + [~process] db - show memory contents as bytes + [~process] db
- show memory contents as bytes + """ + self.print_memory_display(arg, HexDump.hexblock) + self.last_display_command = self.do_db + + def do_dw(self, arg): + """ + [~thread] dw - show memory contents as words + [~thread] dw - show memory contents as words + [~thread] dw - show memory contents as words + [~process] dw
- show memory contents as words + [~process] dw - show memory contents as words + [~process] dw
- show memory contents as words + """ + self.print_memory_display(arg, HexDump.hexblock_word) + self.last_display_command = self.do_dw + + def do_dd(self, arg): + """ + [~thread] dd - show memory contents as dwords + [~thread] dd - show memory contents as dwords + [~thread] dd - show memory contents as dwords + [~process] dd
- show memory contents as dwords + [~process] dd - show memory contents as dwords + [~process] dd
- show memory contents as dwords + """ + self.print_memory_display(arg, HexDump.hexblock_dword) + self.last_display_command = self.do_dd + + def do_dq(self, arg): + """ + [~thread] dq - show memory contents as qwords + [~thread] dq - show memory contents as qwords + [~thread] dq - show memory contents as qwords + [~process] dq
- show memory contents as qwords + [~process] dq - show memory contents as qwords + [~process] dq
- show memory contents as qwords + """ + self.print_memory_display(arg, HexDump.hexblock_qword) + self.last_display_command = self.do_dq + + # XXX TODO + # Change the way the default is used with ds and du + + def do_ds(self, arg): + """ + [~thread] ds - show memory contents as ANSI string + [~process] ds
- show memory contents as ANSI string + """ + if not arg: + arg = self.default_display_target + token_list = self.split_tokens(arg, 1, 1) + pid, tid, address, size = self.input_display(token_list, 256) + process = self.get_process(pid) + data = process.peek_string(address, False, size) + if data: + print(repr(data)) + self.last_display_command = self.do_ds + + def do_du(self, arg): + """ + [~thread] du - show memory contents as Unicode string + [~process] du
- show memory contents as Unicode string + """ + if not arg: + arg = self.default_display_target + token_list = self.split_tokens(arg, 1, 2) + pid, tid, address, size = self.input_display(token_list, 256) + process = self.get_process(pid) + data = process.peek_string(address, True, size) + if data: + print(repr(data)) + self.last_display_command = self.do_du + + def do_register(self, arg): + """ + [~thread] r - print(the value of all registers + [~thread] r - print(the value of a register + [~thread] r = - change the value of a register + [~thread] register - print(the value of all registers + [~thread] register - print(the value of a register + [~thread] register = - change the value of a register + """ + arg = arg.strip() + if not arg: + self.print_current_location() + else: + equ = arg.find('=') + if equ >= 0: + register = arg[:equ].strip() + value = arg[equ + 1:].strip() + if not value: + value = '0' + self.change_register(register, value) + else: + value = self.input_register(arg) + if value is None: + raise CmdError("unknown register: %s" % arg) + try: + label = None + thread = self.get_thread_from_prefix() + process = thread.get_process() + module = process.get_module_at_address(value) + if module: + label = module.get_label_at_address(value) + except RuntimeError: + label = None + reg = arg.upper() + val = HexDump.address(value) + if label: + print("%s: %s (%s)" % (reg, val, label)) + else: + print("%s: %s" % (reg, val)) + + do_r = do_register + + def do_eb(self, arg): + """ + [~process] eb
- write the data to the specified address + """ + # TODO + # data parameter should be optional, use a child Cmd here + pid = self.get_process_id_from_prefix() + token_list = self.split_tokens(arg, 2) + address = self.input_address(token_list[0], pid) + data = HexInput.hexadecimal(' '.join(token_list[1:])) + self.write_memory(address, data, pid) + + # XXX TODO + # add ew, ed and eq here + + def do_find(self, arg): + """ + [~process] f - find the string in the process memory + [~process] find - find the string in the process memory + """ + if not arg: + raise CmdError("missing parameter: string") + process = self.get_process_from_prefix() + self.find_in_memory(arg, process) + + do_f = do_find + + def do_memory(self, arg): + """ + [~process] m - show the process memory map + [~process] memory - show the process memory map + """ + if arg: # TODO: take min and max addresses + raise CmdError("too many arguments") + process = self.get_process_from_prefix() + try: + memoryMap = process.get_memory_map() + mappedFilenames = process.get_mapped_filenames() + print('') + print(CrashDump.dump_memory_map(memoryMap, mappedFilenames)) + except WindowsError: + msg = "can't get memory information for process (%d)" + raise CmdError(msg % process.get_pid()) + + do_m = do_memory + +#------------------------------------------------------------------------------ +# Event handling + +# TODO +# * add configurable stop/don't stop behavior on events and exceptions + + # Stop for all events, unless stated otherwise. + def event(self, event): + self.print_event(event) + self.prompt_user() + + # Stop for all exceptions, unless stated otherwise. + def exception(self, event): + self.print_exception(event) + self.prompt_user() + + # Stop for breakpoint exceptions. + def breakpoint(self, event): + if hasattr(event, 'breakpoint') and event.breakpoint: + self.print_breakpoint_location(event) + else: + self.print_exception(event) + self.prompt_user() + + # Stop for WOW64 breakpoint exceptions. + def wow64_breakpoint(self, event): + self.print_exception(event) + self.prompt_user() + + # Stop for single step exceptions. + def single_step(self, event): + if event.debug.is_tracing(event.get_tid()): + self.print_breakpoint_location(event) + else: + self.print_exception(event) + self.prompt_user() + + # Don't stop for C++ exceptions. + def ms_vc_exception(self, event): + self.print_exception(event) + event.continueStatus = win32.DBG_CONTINUE + + # Don't stop for process start. + def create_process(self, event): + self.print_process_start(event) + self.print_thread_start(event) + self.print_module_load(event) + + # Don't stop for process exit. + def exit_process(self, event): + self.print_process_end(event) + + # Don't stop for thread creation. + def create_thread(self, event): + self.print_thread_start(event) + + # Don't stop for thread exit. + def exit_thread(self, event): + self.print_thread_end(event) + + # Don't stop for DLL load. + def load_dll(self, event): + self.print_module_load(event) + + # Don't stop for DLL unload. + def unload_dll(self, event): + self.print_module_unload(event) + + # Don't stop for debug strings. + def output_string(self, event): + self.print_debug_string(event) + +#------------------------------------------------------------------------------ +# History file + + def load_history(self): + global readline + if readline is None: + try: + import readline + except ImportError: + return + if self.history_file_full_path is None: + folder = os.environ.get('USERPROFILE', '') + if not folder: + folder = os.environ.get('HOME', '') + if not folder: + folder = os.path.split(sys.argv[0])[1] + if not folder: + folder = os.path.curdir + self.history_file_full_path = os.path.join(folder, + self.history_file) + try: + if os.path.exists(self.history_file_full_path): + readline.read_history_file(self.history_file_full_path) + except IOError: + e = sys.exc_info()[1] + warnings.warn("Cannot load history file, reason: %s" % str(e)) + + def save_history(self): + if self.history_file_full_path is not None: + global readline + if readline is None: + try: + import readline + except ImportError: + return + try: + readline.write_history_file(self.history_file_full_path) + except IOError: + e = sys.exc_info()[1] + warnings.warn("Cannot save history file, reason: %s" % str(e)) + +#------------------------------------------------------------------------------ +# Main loop + + # Debugging loop. + def loop(self): + self.debuggerExit = False + debug = self.debug + + # Stop on the initial event, if any. + if self.lastEvent is not None: + self.cmdqueue.append('r') + self.prompt_user() + + # Loop until the debugger is told to quit. + while not self.debuggerExit: + + try: + + # If for some reason the last event wasn't continued, + # continue it here. This won't be done more than once + # for a given Event instance, though. + try: + debug.cont() + # On error, show the command prompt. + except Exception: + traceback.print_exc() + self.prompt_user() + + # While debugees are attached, handle debug events. + # Some debug events may cause the command prompt to be shown. + if self.debug.get_debugee_count() > 0: + try: + + # Get the next debug event. + debug.wait() + + # Dispatch the debug event. + try: + debug.dispatch() + + # Continue the debug event. + finally: + debug.cont() + + # On error, show the command prompt. + except Exception: + traceback.print_exc() + self.prompt_user() + + # While no debugees are attached, show the command prompt. + else: + self.prompt_user() + + # When the user presses Ctrl-C send a debug break to all debugees. + except KeyboardInterrupt: + success = False + try: + print("*** User requested debug break") + system = debug.system + for pid in debug.get_debugee_pids(): + try: + system.get_process(pid).debug_break() + success = True + except: + traceback.print_exc() + except: + traceback.print_exc() + if not success: + raise # This should never happen! diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/module.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/module.py new file mode 120000 index 0000000..d06e3c2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/module.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/69/03/97/70acedcc1cc884136e11b4af68d67ec6d0c446f896ca74736d25697acc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/process.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/process.py new file mode 120000 index 0000000..6e69c09 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/process.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/56/25/ef/3f0c04cf6fc42ab1be9b289c142aed5238abace982a27dfa02379423bf \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/registry.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/registry.py new file mode 120000 index 0000000..eadf145 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/registry.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/06/64/e1/2dfe53697b0f117ce4d7a3eab591c802b64aa522bb7f5b2b1bca05a49e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/search.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/search.py new file mode 120000 index 0000000..1bc7657 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/search.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/36/e5/28/ca853b94c668be26e06488e44cab51b31595b98dc54587ce26270cefe9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/sql.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/sql.py new file mode 120000 index 0000000..c93110d --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/sql.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bc/79/ce/1da6ee14732ae0906eeea7fd3baa2652b4933ac386c5dc6383cd5fbeec \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/system.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/system.py new file mode 120000 index 0000000..9484d50 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/system.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2f/9a/19/ab29faf249280e91673982646887538c595ed7fb413f06933df70acefa \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/textio.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/textio.py new file mode 120000 index 0000000..2361dbb --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/textio.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a2/c5/05/1eac6864174640b99fbcf5c416292f34f63f25b890b9be4ddbfb6079ed \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/thread.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/thread.py new file mode 120000 index 0000000..f776694 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/thread.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b8/4b/97/9bcc52ab88b064d7f05bac179eb4ef1787e9be4613cfef95414610da68 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/util.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/util.py new file mode 120000 index 0000000..95fcfac --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/util.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f4/61/43/e763c63a0d1ccc9734a1496913cb132551d99e66a6f38b5eabddfcc5e8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__init__.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__init__.py new file mode 120000 index 0000000..3614371 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2e/33/cb/434a6feab7074266f7da3575d9b194c3f093b22d1ab5f36e3af920da77 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..441fbce Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/advapi32.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/advapi32.cpython-38.pyc new file mode 100644 index 0000000..cebfb2d Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/advapi32.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/context_amd64.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/context_amd64.cpython-38.pyc new file mode 100644 index 0000000..56c344b Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/context_amd64.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/context_i386.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/context_i386.cpython-38.pyc new file mode 100644 index 0000000..b295918 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/context_i386.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/dbghelp.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/dbghelp.cpython-38.pyc new file mode 100644 index 0000000..526d2a7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/dbghelp.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/defines.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/defines.cpython-38.pyc new file mode 100644 index 0000000..b3eb0ea Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/defines.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/gdi32.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/gdi32.cpython-38.pyc new file mode 100644 index 0000000..4e5dd90 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/gdi32.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/kernel32.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/kernel32.cpython-38.pyc new file mode 100644 index 0000000..0b1320f Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/kernel32.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/ntdll.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/ntdll.cpython-38.pyc new file mode 100644 index 0000000..85c7ecd Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/ntdll.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/peb_teb.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/peb_teb.cpython-38.pyc new file mode 100644 index 0000000..8a3f556 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/peb_teb.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/psapi.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/psapi.cpython-38.pyc new file mode 100644 index 0000000..24db857 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/psapi.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/shell32.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/shell32.cpython-38.pyc new file mode 100644 index 0000000..327ab4d Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/shell32.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/shlwapi.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/shlwapi.cpython-38.pyc new file mode 100644 index 0000000..9079a69 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/shlwapi.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/user32.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/user32.cpython-38.pyc new file mode 100644 index 0000000..8e2c04b Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/user32.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/version.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/version.cpython-38.pyc new file mode 100644 index 0000000..c386f28 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/version.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/wtsapi32.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/wtsapi32.cpython-38.pyc new file mode 100644 index 0000000..d478138 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__pycache__/wtsapi32.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/advapi32.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/advapi32.py new file mode 120000 index 0000000..95b2fba --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/advapi32.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d8/41/6f/a9ebb15068a20c64f3907315e1f11e0d9bccc66ac1c83e61bbd0a533c0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/context_amd64.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/context_amd64.py new file mode 120000 index 0000000..9522591 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/context_amd64.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f1/e4/f5/fc6be67e9448d87596a9d3434498c0e93be9c1597c650715bd264508e6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/context_i386.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/context_i386.py new file mode 120000 index 0000000..a6d4ce8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/context_i386.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/08/b0/f9/440422ebce857c2b346eccc4821fd9545223f98ad412df0746f1c4e471 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/dbghelp.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/dbghelp.py new file mode 120000 index 0000000..8d91853 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/dbghelp.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ea/66/40/e6c0ef1ab21f3fbebe26fe9bbc860e3777234ebb98b76f42c6ed9029d4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/defines.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/defines.py new file mode 120000 index 0000000..8b39e4e --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/defines.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/55/ea/dc/d342a76375d2c48d0a3296fcd54e0fea4e8c50709ef8d82cc651bb21ef \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/gdi32.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/gdi32.py new file mode 120000 index 0000000..b81a940 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/gdi32.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e6/2f/11/a46e37c0430061b7018c4c0969e9ab561ae517018a8642fde3b091fbb1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/kernel32.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/kernel32.py new file mode 120000 index 0000000..f7cccb1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/kernel32.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4d/e4/6c/00383b799375770eda19ea5b3886686c69a22b375d4fe6ca119f7b6d02 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/ntdll.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/ntdll.py new file mode 120000 index 0000000..ec0c2a5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/ntdll.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ec/f4/ae/9e5d62c59a39cbe6e897ec39de21381a12843d8bfb291888f7f0a23a6b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/peb_teb.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/peb_teb.py new file mode 120000 index 0000000..3f782cd --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/peb_teb.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2a/30/97/d18b5efe0eedcb6e3485e85505b69dc66848d8cfbe6d5bb449f84a4bd1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/psapi.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/psapi.py new file mode 120000 index 0000000..f0f736b --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/psapi.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/57/99/fd/1d22e7d1fbf9ab07bcdf332318605c4de276c282734bf85d8c6421a6ce \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/shell32.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/shell32.py new file mode 120000 index 0000000..2ac4f35 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/shell32.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4f/63/00/3e1282a867e0fc9c581999160a1ce50ed0ec44079ccec2fc7c68526030 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/shlwapi.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/shlwapi.py new file mode 120000 index 0000000..7b7e543 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/shlwapi.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c7/b8/d5/e7ff7d1ab654d30943f9e3d478cd3d52afcf27b2f533d630b9c20c504c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/user32.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/user32.py new file mode 120000 index 0000000..ad11f5a --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/user32.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f9/86/1d/56b3155195a9ccc20151b78b90d96143b542061be358b759b4df6ed15a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/version.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/version.py new file mode 120000 index 0000000..08104b0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/version.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b8/1b/6b/3e8b9bc0cbffd422d27f8da4a4f40e88eae29c2b58264c56ab33a5d3d2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/wtsapi32.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/wtsapi32.py new file mode 120000 index 0000000..dc5348c --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/wtsapi32.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3f/ee/09/20fdfcaed6d0fa21ed763481b2deb9ea67c178510158f6723ab083fdcd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/window.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/window.py new file mode 120000 index 0000000..99ff60f --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/window.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/13/bc/ce/ac92975e6d8e9d1a7f5efb7cebcfc1c0455d87fdfd7ada834206582e34 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/attach.cpp b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/attach.cpp new file mode 120000 index 0000000..e912a24 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/attach.cpp @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a9/12/55/769b44caf66d33bd31d17992906865dd4dbc118059f73081dbe196de91 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/attach.h b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/attach.h new file mode 120000 index 0000000..9eb769e --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/attach.h @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ad/60/40/de47737f21da13d5fd0e2b9bddca23a099578c2dd32a72d0bfe9c609e0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/compile_windows.bat b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/compile_windows.bat new file mode 120000 index 0000000..2e32bd9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/compile_windows.bat @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/61/ad/dd/66389b7959e437e3375d7e521ff98b1982937292426524254b12fa6ba0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/inject_dll.cpp b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/inject_dll.cpp new file mode 120000 index 0000000..7391b16 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/inject_dll.cpp @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/19/09/99/6e934144c316d5615c0c53a525a18bcb5fa8678a82088ca8e5ec4f2c13 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/py_win_helpers.hpp b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/py_win_helpers.hpp new file mode 120000 index 0000000..1341e07 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/py_win_helpers.hpp @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/9a/4e/f9cd687ee6f89e7d1763d90cb139b7b38f3f10f13e55602195ddfbd382 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/run_code_in_memory.hpp b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/run_code_in_memory.hpp new file mode 120000 index 0000000..2d314c2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/run_code_in_memory.hpp @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ce/f0/c2/f5c54667a05712ccff226f90308b9b770eaf5f7042220d93d757157ef8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/run_code_on_dllmain.cpp b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/run_code_on_dllmain.cpp new file mode 120000 index 0000000..5d396e4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/run_code_on_dllmain.cpp @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/02/94/33/6bc649adf7b65388d324f6bc22dcef9c773bc361ba62b7eae014ffe7a8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/stdafx.cpp b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/stdafx.cpp new file mode 120000 index 0000000..948ad75 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/stdafx.cpp @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/34/ef/2a/95ceec294ea81c0fc09d7252a1d1eea592e2ce9de7a414dcf841a9063f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/stdafx.h b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/stdafx.h new file mode 120000 index 0000000..b177ff9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/stdafx.h @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/97/4b/44/231c62bf45eb21e889db379d4dde1f62b765c554caf040a9064f3cd563 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/targetver.h b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/targetver.h new file mode 120000 index 0000000..fd86666 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/targetver.h @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7e/ac/3e/88fa291bf57ea454717f7de55452f4baf59f0d4076932d1b89b15b94ad \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_file_utils.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_file_utils.py new file mode 100644 index 0000000..ffe0d7f --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_file_utils.py @@ -0,0 +1,911 @@ +r''' + This module provides utilities to get the absolute filenames so that we can be sure that: + - The case of a file will match the actual file in the filesystem (otherwise breakpoints won't be hit). + - Providing means for the user to make path conversions when doing a remote debugging session in + one machine and debugging in another. + + To do that, the PATHS_FROM_ECLIPSE_TO_PYTHON constant must be filled with the appropriate paths. + + @note: + in this context, the server is where your python process is running + and the client is where eclipse is running. + + E.g.: + If the server (your python process) has the structure + /user/projects/my_project/src/package/module1.py + + and the client has: + c:\my_project\src\package\module1.py + + the PATHS_FROM_ECLIPSE_TO_PYTHON would have to be: + PATHS_FROM_ECLIPSE_TO_PYTHON = [(r'c:\my_project\src', r'/user/projects/my_project/src')] + + alternatively, this can be set with an environment variable from the command line: + set PATHS_FROM_ECLIPSE_TO_PYTHON=[['c:\my_project\src','/user/projects/my_project/src']] + + @note: DEBUG_CLIENT_SERVER_TRANSLATION can be set to True to debug the result of those translations + + @note: the case of the paths is important! Note that this can be tricky to get right when one machine + uses a case-independent filesystem and the other uses a case-dependent filesystem (if the system being + debugged is case-independent, 'normcase()' should be used on the paths defined in PATHS_FROM_ECLIPSE_TO_PYTHON). + + @note: all the paths with breakpoints must be translated (otherwise they won't be found in the server) + + @note: to enable remote debugging in the target machine (pydev extensions in the eclipse installation) + import pydevd;pydevd.settrace(host, stdoutToServer, stderrToServer, port, suspend) + + see parameter docs on pydevd.py + + @note: for doing a remote debugging session, all the pydevd_ files must be on the server accessible + through the PYTHONPATH (and the PATHS_FROM_ECLIPSE_TO_PYTHON only needs to be set on the target + machine for the paths that'll actually have breakpoints). +''' + +from _pydev_bundle import pydev_log +from _pydevd_bundle.pydevd_constants import DebugInfoHolder, IS_WINDOWS, IS_JYTHON, \ + DISABLE_FILE_VALIDATION, is_true_in_env +from _pydev_bundle._pydev_filesystem_encoding import getfilesystemencoding +from _pydevd_bundle.pydevd_comm_constants import file_system_encoding, filesystem_encoding_is_utf8 +from _pydev_bundle.pydev_log import error_once + +import json +import os.path +import sys +import itertools +import ntpath +from functools import partial + +_nt_os_normcase = ntpath.normcase +os_path_basename = os.path.basename +os_path_exists = os.path.exists +join = os.path.join + +try: + FileNotFoundError +except NameError: + FileNotFoundError = IOError # noqa + +try: + os_path_real_path = os.path.realpath # @UndefinedVariable +except: + # jython does not support os.path.realpath + # realpath is a no-op on systems without islink support + os_path_real_path = os.path.abspath + + +def _get_library_dir(): + library_dir = None + try: + import sysconfig + library_dir = sysconfig.get_path('purelib') + except ImportError: + pass # i.e.: Only 2.7 onwards + + if library_dir is None or not os_path_exists(library_dir): + for path in sys.path: + if os_path_exists(path) and os.path.basename(path) == 'site-packages': + library_dir = path + break + + if library_dir is None or not os_path_exists(library_dir): + library_dir = os.path.dirname(os.__file__) + + return library_dir + + +# Note: we can't call sysconfig.get_path from _apply_func_and_normalize_case (it deadlocks on Python 2.7) so, we +# need to get the library dir during module loading. +_library_dir = _get_library_dir() + +# defined as a list of tuples where the 1st element of the tuple is the path in the client machine +# and the 2nd element is the path in the server machine. +# see module docstring for more details. +try: + PATHS_FROM_ECLIPSE_TO_PYTHON = json.loads(os.environ.get('PATHS_FROM_ECLIPSE_TO_PYTHON', '[]')) +except Exception: + pydev_log.critical('Error loading PATHS_FROM_ECLIPSE_TO_PYTHON from environment variable.') + pydev_log.exception() + PATHS_FROM_ECLIPSE_TO_PYTHON = [] +else: + if not isinstance(PATHS_FROM_ECLIPSE_TO_PYTHON, list): + pydev_log.critical('Expected PATHS_FROM_ECLIPSE_TO_PYTHON loaded from environment variable to be a list.') + PATHS_FROM_ECLIPSE_TO_PYTHON = [] + else: + # Converting json lists to tuple + PATHS_FROM_ECLIPSE_TO_PYTHON = [tuple(x) for x in PATHS_FROM_ECLIPSE_TO_PYTHON] + +# example: +# PATHS_FROM_ECLIPSE_TO_PYTHON = [ +# (r'd:\temp\temp_workspace_2\test_python\src\yyy\yyy', +# r'd:\temp\temp_workspace_2\test_python\src\hhh\xxx') +# ] + +convert_to_long_pathname = lambda filename:filename +convert_to_short_pathname = lambda filename:filename +get_path_with_real_case = lambda filename:filename + +if sys.platform == 'win32': + try: + import ctypes + from ctypes.wintypes import MAX_PATH, LPCWSTR, LPWSTR, DWORD + + GetLongPathName = ctypes.windll.kernel32.GetLongPathNameW # noqa + GetLongPathName.argtypes = [LPCWSTR, LPWSTR, DWORD] + GetLongPathName.restype = DWORD + + GetShortPathName = ctypes.windll.kernel32.GetShortPathNameW # noqa + GetShortPathName.argtypes = [LPCWSTR, LPWSTR, DWORD] + GetShortPathName.restype = DWORD + + def _convert_to_long_pathname(filename): + buf = ctypes.create_unicode_buffer(MAX_PATH) + + rv = GetLongPathName(filename, buf, MAX_PATH) + if rv != 0 and rv <= MAX_PATH: + filename = buf.value + + return filename + + def _convert_to_short_pathname(filename): + buf = ctypes.create_unicode_buffer(MAX_PATH) + + rv = GetShortPathName(filename, buf, MAX_PATH) + if rv != 0 and rv <= MAX_PATH: + filename = buf.value + + return filename + + # Note that we have a cache for previous list dirs... the only case where this may be an + # issue is if the user actually changes the case of an existing file on windows while + # the debugger is executing (as this seems very unlikely and the cache can save a + # reasonable time -- especially on mapped drives -- it seems nice to have it). + _listdir_cache = {} + + def _resolve_listing(resolved, iter_parts, cache=_listdir_cache): + while True: # Note: while True to make iterative and not recursive + try: + resolve_lowercase = next(iter_parts) # must be lowercase already + except StopIteration: + return resolved + + resolved_lower = resolved.lower() + + resolved_joined = cache.get((resolved_lower, resolve_lowercase)) + if resolved_joined is None: + dir_contents = cache.get(resolved_lower) + if dir_contents is None: + dir_contents = cache[resolved_lower] = os.listdir(resolved) + + for filename in dir_contents: + if filename.lower() == resolve_lowercase: + resolved_joined = os.path.join(resolved, filename) + cache[(resolved_lower, resolve_lowercase)] = resolved_joined + break + else: + raise FileNotFoundError('Unable to find: %s in %s' % ( + resolve_lowercase, resolved)) + + resolved = resolved_joined + + def _get_path_with_real_case(filename): + # Note: this previously made: + # convert_to_long_pathname(convert_to_short_pathname(filename)) + # but this is no longer done because we can't rely on getting the shortname + # consistently (there are settings to disable it on Windows). + # So, using approach which resolves by listing the dir. + + if '~' in filename: + filename = convert_to_long_pathname(filename) + + if filename.startswith('<') or not os_path_exists(filename): + return filename # Not much we can do. + + drive, parts = os.path.splitdrive(os.path.normpath(filename)) + drive = drive.upper() + while parts.startswith(os.path.sep): + parts = parts[1:] + drive += os.path.sep + parts = parts.lower().split(os.path.sep) + + try: + if parts == ['']: + return drive + return _resolve_listing(drive, iter(parts)) + except FileNotFoundError: + _listdir_cache.clear() + # Retry once after clearing the cache we have. + try: + return _resolve_listing(drive, iter(parts)) + except FileNotFoundError: + if os_path_exists(filename): + # This is really strange, ask the user to report as error. + pydev_log.critical( + 'pydev debugger: critical: unable to get real case for file. Details:\n' + 'filename: %s\ndrive: %s\nparts: %s\n' + '(please create a ticket in the tracker to address this).', + filename, drive, parts + ) + pydev_log.exception() + # Don't fail, just return the original file passed. + return filename + + # Check that it actually works + _get_path_with_real_case(__file__) + except: + # Something didn't quite work out, leave no-op conversions in place. + if DebugInfoHolder.DEBUG_TRACE_LEVEL > 2: + pydev_log.exception() + else: + convert_to_long_pathname = _convert_to_long_pathname + convert_to_short_pathname = _convert_to_short_pathname + get_path_with_real_case = _get_path_with_real_case + +elif IS_JYTHON and IS_WINDOWS: + + def get_path_with_real_case(filename): + from java.io import File # noqa + f = File(filename) + ret = f.getCanonicalPath() + return ret + +if IS_JYTHON: + + def _normcase_windows(filename): + return filename.lower() + +else: + + def _normcase_windows(filename): + # `normcase` doesn't lower case on Python 2 for non-English locale, so we should do it manually. + if '~' in filename: + filename = convert_to_long_pathname(filename) + + filename = _nt_os_normcase(filename) + return filename.lower() + + +def _normcase_linux(filename): + return filename # no-op + + +_filename_normalization = os.environ.get('PYDEVD_FILENAME_NORMALIZATION', '').lower() +if _filename_normalization == 'lower': + # Note: this is mostly for testing (forcing to always lower-case all contents + # internally -- used to mimick Windows normalization on Linux). + + def _normcase_lower(filename): + return filename.lower() + + _default_normcase = _normcase_lower + +elif _filename_normalization == 'none': + # Disable any filename normalization may be an option on Windows if the + # user is having issues under some circumstances. + _default_normcase = _normcase_linux + +elif IS_WINDOWS: + _default_normcase = _normcase_windows + +else: + _default_normcase = _normcase_linux + + +def normcase(s, NORMCASE_CACHE={}): + try: + return NORMCASE_CACHE[s] + except: + normalized = NORMCASE_CACHE[s] = _default_normcase(s) + return normalized + + +_ide_os = 'WINDOWS' if IS_WINDOWS else 'UNIX' + +_normcase_from_client = normcase + + +def normcase_from_client(s): + return _normcase_from_client(s) + + +DEBUG_CLIENT_SERVER_TRANSLATION = os.environ.get('DEBUG_PYDEVD_PATHS_TRANSLATION', 'False').lower() in ('1', 'true') + + +def set_ide_os(os): + ''' + We need to set the IDE os because the host where the code is running may be + actually different from the client (and the point is that we want the proper + paths to translate from the client to the server). + + :param os: + 'UNIX' or 'WINDOWS' + ''' + global _ide_os + global _normcase_from_client + prev = _ide_os + if os == 'WIN': # Apparently PyCharm uses 'WIN' (https://github.com/fabioz/PyDev.Debugger/issues/116) + os = 'WINDOWS' + + assert os in ('WINDOWS', 'UNIX') + + if DEBUG_CLIENT_SERVER_TRANSLATION: + print('pydev debugger: client OS: %s' % (os,)) + + _normcase_from_client = normcase + if os == 'WINDOWS': + + # Client in Windows and server in Unix, we need to normalize the case. + if not IS_WINDOWS: + _normcase_from_client = _normcase_windows + + else: + # Client in Unix and server in Windows, we can't normalize the case. + if IS_WINDOWS: + _normcase_from_client = _normcase_linux + + if prev != os: + _ide_os = os + # We need to (re)setup how the client <-> server translation works to provide proper separators. + setup_client_server_paths(_last_client_server_paths_set) + + +# Caches filled as requested during the debug session. +NORM_PATHS_CONTAINER = {} +NORM_PATHS_AND_BASE_CONTAINER = {} + + +def canonical_normalized_path(filename): + ''' + This returns a filename that is canonical and it's meant to be used internally + to store information on breakpoints and see if there's any hit on it. + + Note that this version is only internal as it may not match the case and + may have symlinks resolved (and thus may not match what the user expects + in the editor). + ''' + return get_abs_path_real_path_and_base_from_file(filename)[1] + + +def absolute_path(filename): + ''' + Provides a version of the filename that's absolute (and NOT normalized). + ''' + return get_abs_path_real_path_and_base_from_file(filename)[0] + + +def basename(filename): + ''' + Provides the basename for a file. + ''' + return get_abs_path_real_path_and_base_from_file(filename)[2] + + +# Returns tuple of absolute path and real path for given filename +def _abs_and_canonical_path(filename, NORM_PATHS_CONTAINER=NORM_PATHS_CONTAINER): + try: + return NORM_PATHS_CONTAINER[filename] + except: + if filename.__class__ != str: + raise AssertionError('Paths passed to _abs_and_canonical_path must be str. Found: %s (%s)' % (filename, type(filename))) + if os is None: # Interpreter shutdown + return filename, filename + + os_path = os.path + if os_path is None: # Interpreter shutdown + return filename, filename + + os_path_abspath = os_path.abspath + os_path_isabs = os_path.isabs + + if os_path_abspath is None or os_path_isabs is None or os_path_real_path is None: # Interpreter shutdown + return filename, filename + + isabs = os_path_isabs(filename) + + if _global_resolve_symlinks: + os_path_abspath = os_path_real_path + + normalize = False + abs_path = _apply_func_and_normalize_case(filename, os_path_abspath, isabs, normalize) + + normalize = True + real_path = _apply_func_and_normalize_case(filename, os_path_real_path, isabs, normalize) + + # cache it for fast access later + NORM_PATHS_CONTAINER[filename] = abs_path, real_path + return abs_path, real_path + + +def _get_relative_filename_abs_path(filename, func, os_path_exists=os_path_exists): + # If we have a relative path and the file does not exist when made absolute, try to + # resolve it based on the sys.path entries. + for p in sys.path: + r = func(os.path.join(p, filename)) + if os_path_exists(r): + return r + + # We couldn't find the real file for the relative path. Resolve it as if it was in + # a library (so that it's considered a library file and not a project file). + r = func(os.path.join(_library_dir, filename)) + return r + + +def _apply_func_and_normalize_case(filename, func, isabs, normalize_case, os_path_exists=os_path_exists, join=join): + if filename.startswith('<'): + # Not really a file, rather a synthetic name like or ; + # shouldn't be normalized. + return filename + + r = func(filename) + + if not isabs: + if not os_path_exists(r): + r = _get_relative_filename_abs_path(filename, func) + + ind = r.find('.zip') + if ind == -1: + ind = r.find('.egg') + if ind != -1: + ind += 4 + zip_path = r[:ind] + inner_path = r[ind:] + if inner_path.startswith('!'): + # Note (fabioz): although I can replicate this by creating a file ending as + # .zip! or .egg!, I don't really know what's the real-world case for this + # (still kept as it was added by @jetbrains, but it should probably be reviewed + # later on). + # Note 2: it goes hand-in-hand with 'exists'. + inner_path = inner_path[1:] + zip_path = zip_path + '!' + + if inner_path.startswith('/') or inner_path.startswith('\\'): + inner_path = inner_path[1:] + if inner_path: + if normalize_case: + r = join(normcase(zip_path), inner_path) + else: + r = join(zip_path, inner_path) + return r + + if normalize_case: + r = normcase(r) + return r + + +_ZIP_SEARCH_CACHE = {} +_NOT_FOUND_SENTINEL = object() + + +def exists(filename): + if os_path_exists(filename): + return True + + if not os.path.isabs(filename): + filename = _get_relative_filename_abs_path(filename, os.path.abspath) + if os_path_exists(filename): + return True + + ind = filename.find('.zip') + if ind == -1: + ind = filename.find('.egg') + + if ind != -1: + ind += 4 + zip_path = filename[:ind] + inner_path = filename[ind:] + if inner_path.startswith("!"): + # Note (fabioz): although I can replicate this by creating a file ending as + # .zip! or .egg!, I don't really know what's the real-world case for this + # (still kept as it was added by @jetbrains, but it should probably be reviewed + # later on). + # Note 2: it goes hand-in-hand with '_apply_func_and_normalize_case'. + inner_path = inner_path[1:] + zip_path = zip_path + '!' + + zip_file_obj = _ZIP_SEARCH_CACHE.get(zip_path, _NOT_FOUND_SENTINEL) + if zip_file_obj is None: + return False + elif zip_file_obj is _NOT_FOUND_SENTINEL: + try: + import zipfile + zip_file_obj = zipfile.ZipFile(zip_path, 'r') + _ZIP_SEARCH_CACHE[zip_path] = zip_file_obj + except: + _ZIP_SEARCH_CACHE[zip_path] = _NOT_FOUND_SENTINEL + return False + + try: + if inner_path.startswith('/') or inner_path.startswith('\\'): + inner_path = inner_path[1:] + + _info = zip_file_obj.getinfo(inner_path.replace('\\', '/')) + + return join(zip_path, inner_path) + except KeyError: + return False + + else: + pydev_log.debug('os.path.exists(%r) returned False.', filename) + + return False + + +try: + report = pydev_log.critical + if DISABLE_FILE_VALIDATION: + report = pydev_log.debug + + try: + code = os_path_real_path.func_code + except AttributeError: + code = os_path_real_path.__code__ + + if code.co_filename.startswith(' in this case). + f = '' + + if f.startswith('<'): + return f, normcase(f), f + + if _abs_and_canonical_path is None: # Interpreter shutdown + i = max(f.rfind('/'), f.rfind('\\')) + return (f, f, f[i + 1:]) + + if f is not None: + if f.endswith('.pyc'): + f = f[:-1] + elif f.endswith('$py.class'): + f = f[:-len('$py.class')] + '.py' + + abs_path, canonical_normalized_filename = _abs_and_canonical_path(f) + + try: + base = os_path_basename(canonical_normalized_filename) + except AttributeError: + # Error during shutdown. + i = max(f.rfind('/'), f.rfind('\\')) + base = f[i + 1:] + ret = abs_path, canonical_normalized_filename, base + NORM_PATHS_AND_BASE_CONTAINER[filename] = ret + return ret + + +def get_abs_path_real_path_and_base_from_frame(frame, NORM_PATHS_AND_BASE_CONTAINER=NORM_PATHS_AND_BASE_CONTAINER): + try: + return NORM_PATHS_AND_BASE_CONTAINER[frame.f_code.co_filename] + except: + # This one is just internal (so, does not need any kind of client-server translation) + f = frame.f_code.co_filename + + if f is not None and f.startswith (('build/bdist.', 'build\\bdist.')): + # files from eggs in Python 2.7 have paths like build/bdist.linux-x86_64/egg/ + f = frame.f_globals['__file__'] + + if get_abs_path_real_path_and_base_from_file is None: + # Interpreter shutdown + if not f: + # i.e.: it's possible that the user compiled code with an empty string (consider + # it as in this case). + f = '' + i = max(f.rfind('/'), f.rfind('\\')) + return f, f, f[i + 1:] + + ret = get_abs_path_real_path_and_base_from_file(f) + # Also cache based on the frame.f_code.co_filename (if we had it inside build/bdist it can make a difference). + NORM_PATHS_AND_BASE_CONTAINER[frame.f_code.co_filename] = ret + return ret + + +def get_fullname(mod_name): + import pkgutil + try: + loader = pkgutil.get_loader(mod_name) + except: + return None + if loader is not None: + for attr in ("get_filename", "_get_filename"): + meth = getattr(loader, attr, None) + if meth is not None: + return meth(mod_name) + return None + + +def get_package_dir(mod_name): + for path in sys.path: + mod_path = join(path, mod_name.replace('.', '/')) + if os.path.isdir(mod_path): + return mod_path + return None + diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/__init__.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/__init__.py new file mode 120000 index 0000000..7075117 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/de/b6/43/3214a6a42137cbe8a98cf8d0ad4bf60889b9a21082a6b48952832b72a4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..a303e85 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/__pycache__/django_debug.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/__pycache__/django_debug.cpython-38.pyc new file mode 100644 index 0000000..63e9af1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/__pycache__/django_debug.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/__pycache__/jinja2_debug.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/__pycache__/jinja2_debug.cpython-38.pyc new file mode 100644 index 0000000..c5fe853 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/__pycache__/jinja2_debug.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/__pycache__/pydevd_line_validation.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/__pycache__/pydevd_line_validation.cpython-38.pyc new file mode 100644 index 0000000..38d6386 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/__pycache__/pydevd_line_validation.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/django_debug.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/django_debug.py new file mode 100644 index 0000000..ff7f1eb --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/django_debug.py @@ -0,0 +1,613 @@ +import inspect + +from _pydev_bundle import pydev_log +from _pydevd_bundle.pydevd_comm import CMD_SET_BREAK, CMD_ADD_EXCEPTION_BREAK +from _pydevd_bundle.pydevd_constants import STATE_SUSPEND, DJANGO_SUSPEND, \ + DebugInfoHolder +from _pydevd_bundle.pydevd_frame_utils import add_exception_to_frame, FCode, just_raised, ignore_exception_trace +from pydevd_file_utils import canonical_normalized_path, absolute_path +from _pydevd_bundle.pydevd_api import PyDevdAPI +from pydevd_plugins.pydevd_line_validation import LineBreakpointWithLazyValidation, ValidationInfo +from _pydev_bundle.pydev_override import overrides + +IS_DJANGO18 = False +IS_DJANGO19 = False +IS_DJANGO19_OR_HIGHER = False +try: + import django + version = django.VERSION + IS_DJANGO18 = version[0] == 1 and version[1] == 8 + IS_DJANGO19 = version[0] == 1 and version[1] == 9 + IS_DJANGO19_OR_HIGHER = ((version[0] == 1 and version[1] >= 9) or version[0] > 1) +except: + pass + + +class DjangoLineBreakpoint(LineBreakpointWithLazyValidation): + + def __init__(self, canonical_normalized_filename, breakpoint_id, line, condition, func_name, expression, hit_condition=None, is_logpoint=False): + self.canonical_normalized_filename = canonical_normalized_filename + LineBreakpointWithLazyValidation.__init__(self, breakpoint_id, line, condition, func_name, expression, hit_condition=hit_condition, is_logpoint=is_logpoint) + + def __str__(self): + return "DjangoLineBreakpoint: %s-%d" % (self.canonical_normalized_filename, self.line) + + +class _DjangoValidationInfo(ValidationInfo): + + @overrides(ValidationInfo._collect_valid_lines_in_template_uncached) + def _collect_valid_lines_in_template_uncached(self, template): + lines = set() + for node in self._iternodes(template.nodelist): + if node.__class__.__name__ in _IGNORE_RENDER_OF_CLASSES: + continue + lineno = self._get_lineno(node) + if lineno is not None: + lines.add(lineno) + return lines + + def _get_lineno(self, node): + if hasattr(node, 'token') and hasattr(node.token, 'lineno'): + return node.token.lineno + return None + + def _iternodes(self, nodelist): + for node in nodelist: + yield node + + try: + children = node.child_nodelists + except: + pass + else: + for attr in children: + nodelist = getattr(node, attr, None) + if nodelist: + # i.e.: yield from _iternodes(nodelist) + for node in self._iternodes(nodelist): + yield node + + +def add_line_breakpoint(plugin, pydb, type, canonical_normalized_filename, breakpoint_id, line, condition, expression, func_name, hit_condition=None, is_logpoint=False, add_breakpoint_result=None, on_changed_breakpoint_state=None): + if type == 'django-line': + django_line_breakpoint = DjangoLineBreakpoint(canonical_normalized_filename, breakpoint_id, line, condition, func_name, expression, hit_condition=hit_condition, is_logpoint=is_logpoint) + if not hasattr(pydb, 'django_breakpoints'): + _init_plugin_breaks(pydb) + + if IS_DJANGO19_OR_HIGHER: + add_breakpoint_result.error_code = PyDevdAPI.ADD_BREAKPOINT_LAZY_VALIDATION + django_line_breakpoint.add_breakpoint_result = add_breakpoint_result + django_line_breakpoint.on_changed_breakpoint_state = on_changed_breakpoint_state + else: + add_breakpoint_result.error_code = PyDevdAPI.ADD_BREAKPOINT_NO_ERROR + + return django_line_breakpoint, pydb.django_breakpoints + return None + + +def after_breakpoints_consolidated(plugin, py_db, canonical_normalized_filename, id_to_pybreakpoint, file_to_line_to_breakpoints): + if IS_DJANGO19_OR_HIGHER: + django_breakpoints_for_file = file_to_line_to_breakpoints.get(canonical_normalized_filename) + if not django_breakpoints_for_file: + return + + if not hasattr(py_db, 'django_validation_info'): + _init_plugin_breaks(py_db) + + # In general we validate the breakpoints only when the template is loaded, but if the template + # was already loaded, we can validate the breakpoints based on the last loaded value. + py_db.django_validation_info.verify_breakpoints_from_template_cached_lines( + py_db, canonical_normalized_filename, django_breakpoints_for_file) + + +def add_exception_breakpoint(plugin, pydb, type, exception): + if type == 'django': + if not hasattr(pydb, 'django_exception_break'): + _init_plugin_breaks(pydb) + pydb.django_exception_break[exception] = True + return True + return False + + +def _init_plugin_breaks(pydb): + pydb.django_exception_break = {} + pydb.django_breakpoints = {} + + pydb.django_validation_info = _DjangoValidationInfo() + + +def remove_exception_breakpoint(plugin, pydb, type, exception): + if type == 'django': + try: + del pydb.django_exception_break[exception] + return True + except: + pass + return False + + +def remove_all_exception_breakpoints(plugin, pydb): + if hasattr(pydb, 'django_exception_break'): + pydb.django_exception_break = {} + return True + return False + + +def get_breakpoints(plugin, pydb, type): + if type == 'django-line': + return pydb.django_breakpoints + return None + + +def _inherits(cls, *names): + if cls.__name__ in names: + return True + inherits_node = False + for base in inspect.getmro(cls): + if base.__name__ in names: + inherits_node = True + break + return inherits_node + + +_IGNORE_RENDER_OF_CLASSES = ('TextNode', 'NodeList') + + +def _is_django_render_call(frame, debug=False): + try: + name = frame.f_code.co_name + if name != 'render': + return False + + if 'self' not in frame.f_locals: + return False + + cls = frame.f_locals['self'].__class__ + + inherits_node = _inherits(cls, 'Node') + + if not inherits_node: + return False + + clsname = cls.__name__ + if IS_DJANGO19: + # in Django 1.9 we need to save the flag that there is included template + if clsname == 'IncludeNode': + if 'context' in frame.f_locals: + context = frame.f_locals['context'] + context._has_included_template = True + + return clsname not in _IGNORE_RENDER_OF_CLASSES + except: + pydev_log.exception() + return False + + +def _is_django_context_get_call(frame): + try: + if 'self' not in frame.f_locals: + return False + + cls = frame.f_locals['self'].__class__ + + return _inherits(cls, 'BaseContext') + except: + pydev_log.exception() + return False + + +def _is_django_resolve_call(frame): + try: + name = frame.f_code.co_name + if name != '_resolve_lookup': + return False + + if 'self' not in frame.f_locals: + return False + + cls = frame.f_locals['self'].__class__ + + clsname = cls.__name__ + return clsname == 'Variable' + except: + pydev_log.exception() + return False + + +def _is_django_suspended(thread): + return thread.additional_info.suspend_type == DJANGO_SUSPEND + + +def suspend_django(main_debugger, thread, frame, cmd=CMD_SET_BREAK): + if frame.f_lineno is None: + return None + + main_debugger.set_suspend(thread, cmd) + thread.additional_info.suspend_type = DJANGO_SUSPEND + + return frame + + +def _find_django_render_frame(frame): + while frame is not None and not _is_django_render_call(frame): + frame = frame.f_back + + return frame + +#======================================================================================================================= +# Django Frame +#======================================================================================================================= + + +def _read_file(filename): + # type: (str) -> str + f = open(filename, 'r', encoding='utf-8', errors='replace') + s = f.read() + f.close() + return s + + +def _offset_to_line_number(text, offset): + curLine = 1 + curOffset = 0 + while curOffset < offset: + if curOffset == len(text): + return -1 + c = text[curOffset] + if c == '\n': + curLine += 1 + elif c == '\r': + curLine += 1 + if curOffset < len(text) and text[curOffset + 1] == '\n': + curOffset += 1 + + curOffset += 1 + + return curLine + + +def _get_source_django_18_or_lower(frame): + # This method is usable only for the Django <= 1.8 + try: + node = frame.f_locals['self'] + if hasattr(node, 'source'): + return node.source + else: + if IS_DJANGO18: + # The debug setting was changed since Django 1.8 + pydev_log.error_once("WARNING: Template path is not available. Set the 'debug' option in the OPTIONS of a DjangoTemplates " + "backend.") + else: + # The debug setting for Django < 1.8 + pydev_log.error_once("WARNING: Template path is not available. Please set TEMPLATE_DEBUG=True in your settings.py to make " + "django template breakpoints working") + return None + + except: + pydev_log.exception() + return None + + +def _convert_to_str(s): + return s + + +def _get_template_original_file_name_from_frame(frame): + try: + if IS_DJANGO19: + # The Node source was removed since Django 1.9 + if 'context' in frame.f_locals: + context = frame.f_locals['context'] + if hasattr(context, '_has_included_template'): + # if there was included template we need to inspect the previous frames and find its name + back = frame.f_back + while back is not None and frame.f_code.co_name in ('render', '_render'): + locals = back.f_locals + if 'self' in locals: + self = locals['self'] + if self.__class__.__name__ == 'Template' and hasattr(self, 'origin') and \ + hasattr(self.origin, 'name'): + return _convert_to_str(self.origin.name) + back = back.f_back + else: + if hasattr(context, 'template') and hasattr(context.template, 'origin') and \ + hasattr(context.template.origin, 'name'): + return _convert_to_str(context.template.origin.name) + return None + elif IS_DJANGO19_OR_HIGHER: + # For Django 1.10 and later there is much simpler way to get template name + if 'self' in frame.f_locals: + self = frame.f_locals['self'] + if hasattr(self, 'origin') and hasattr(self.origin, 'name'): + return _convert_to_str(self.origin.name) + return None + + source = _get_source_django_18_or_lower(frame) + if source is None: + pydev_log.debug("Source is None\n") + return None + fname = _convert_to_str(source[0].name) + + if fname == '': + pydev_log.debug("Source name is %s\n" % fname) + return None + else: + return fname + except: + if DebugInfoHolder.DEBUG_TRACE_LEVEL >= 2: + pydev_log.exception('Error getting django template filename.') + return None + + +def _get_template_line(frame): + if IS_DJANGO19_OR_HIGHER: + node = frame.f_locals['self'] + if hasattr(node, 'token') and hasattr(node.token, 'lineno'): + return node.token.lineno + else: + return None + + source = _get_source_django_18_or_lower(frame) + original_filename = _get_template_original_file_name_from_frame(frame) + if original_filename is not None: + try: + absolute_filename = absolute_path(original_filename) + return _offset_to_line_number(_read_file(absolute_filename), source[1][0]) + except: + return None + return None + + +class DjangoTemplateFrame(object): + + IS_PLUGIN_FRAME = True + + def __init__(self, frame): + original_filename = _get_template_original_file_name_from_frame(frame) + self._back_context = frame.f_locals['context'] + self.f_code = FCode('Django Template', original_filename) + self.f_lineno = _get_template_line(frame) + self.f_back = frame + self.f_globals = {} + self.f_locals = self._collect_context(self._back_context) + self.f_trace = None + + def _collect_context(self, context): + res = {} + try: + for d in context.dicts: + for k, v in d.items(): + res[k] = v + except AttributeError: + pass + return res + + def _change_variable(self, name, value): + for d in self._back_context.dicts: + for k, v in d.items(): + if k == name: + d[k] = value + + +class DjangoTemplateSyntaxErrorFrame(object): + + IS_PLUGIN_FRAME = True + + def __init__(self, frame, original_filename, lineno, f_locals): + self.f_code = FCode('Django TemplateSyntaxError', original_filename) + self.f_lineno = lineno + self.f_back = frame + self.f_globals = {} + self.f_locals = f_locals + self.f_trace = None + + +def change_variable(plugin, frame, attr, expression): + if isinstance(frame, DjangoTemplateFrame): + result = eval(expression, frame.f_globals, frame.f_locals) + frame._change_variable(attr, result) + return result + return False + + +def _is_django_variable_does_not_exist_exception_break_context(frame): + try: + name = frame.f_code.co_name + except: + name = None + return name in ('_resolve_lookup', 'find_template') + + +def _is_ignoring_failures(frame): + while frame is not None: + if frame.f_code.co_name == 'resolve': + ignore_failures = frame.f_locals.get('ignore_failures') + if ignore_failures: + return True + frame = frame.f_back + + return False + +#======================================================================================================================= +# Django Step Commands +#======================================================================================================================= + + +def can_skip(plugin, main_debugger, frame): + if main_debugger.django_breakpoints: + if _is_django_render_call(frame): + return False + + if main_debugger.django_exception_break: + module_name = frame.f_globals.get('__name__', '') + + if module_name == 'django.template.base': + # Exceptions raised at django.template.base must be checked. + return False + + return True + + +def has_exception_breaks(plugin): + if len(plugin.main_debugger.django_exception_break) > 0: + return True + return False + + +def has_line_breaks(plugin): + for _canonical_normalized_filename, breakpoints in plugin.main_debugger.django_breakpoints.items(): + if len(breakpoints) > 0: + return True + return False + + +def cmd_step_into(plugin, main_debugger, frame, event, args, stop_info, stop): + info = args[2] + thread = args[3] + plugin_stop = False + if _is_django_suspended(thread): + stop_info['django_stop'] = event == 'call' and _is_django_render_call(frame) + plugin_stop = stop_info['django_stop'] + stop = stop and _is_django_resolve_call(frame.f_back) and not _is_django_context_get_call(frame) + if stop: + info.pydev_django_resolve_frame = True # we remember that we've go into python code from django rendering frame + return stop, plugin_stop + + +def cmd_step_over(plugin, main_debugger, frame, event, args, stop_info, stop): + info = args[2] + thread = args[3] + plugin_stop = False + if _is_django_suspended(thread): + stop_info['django_stop'] = event == 'call' and _is_django_render_call(frame) + plugin_stop = stop_info['django_stop'] + stop = False + return stop, plugin_stop + else: + if event == 'return' and info.pydev_django_resolve_frame and _is_django_resolve_call(frame.f_back): + # we return to Django suspend mode and should not stop before django rendering frame + info.pydev_step_stop = frame.f_back + info.pydev_django_resolve_frame = False + thread.additional_info.suspend_type = DJANGO_SUSPEND + stop = info.pydev_step_stop is frame and event in ('line', 'return') + return stop, plugin_stop + + +def stop(plugin, main_debugger, frame, event, args, stop_info, arg, step_cmd): + main_debugger = args[0] + thread = args[3] + if 'django_stop' in stop_info and stop_info['django_stop']: + frame = suspend_django(main_debugger, thread, DjangoTemplateFrame(frame), step_cmd) + if frame: + main_debugger.do_wait_suspend(thread, frame, event, arg) + return True + return False + + +def get_breakpoint(plugin, py_db, pydb_frame, frame, event, args): + py_db = args[0] + _filename = args[1] + info = args[2] + breakpoint_type = 'django' + + if event == 'call' and info.pydev_state != STATE_SUSPEND and py_db.django_breakpoints and _is_django_render_call(frame): + original_filename = _get_template_original_file_name_from_frame(frame) + pydev_log.debug("Django is rendering a template: %s", original_filename) + + canonical_normalized_filename = canonical_normalized_path(original_filename) + django_breakpoints_for_file = py_db.django_breakpoints.get(canonical_normalized_filename) + + if django_breakpoints_for_file: + + # At this point, let's validate whether template lines are correct. + if IS_DJANGO19_OR_HIGHER: + django_validation_info = py_db.django_validation_info + context = frame.f_locals['context'] + django_template = context.template + django_validation_info.verify_breakpoints(py_db, canonical_normalized_filename, django_breakpoints_for_file, django_template) + + pydev_log.debug("Breakpoints for that file: %s", django_breakpoints_for_file) + template_line = _get_template_line(frame) + pydev_log.debug("Tracing template line: %s", template_line) + + if template_line in django_breakpoints_for_file: + django_breakpoint = django_breakpoints_for_file[template_line] + new_frame = DjangoTemplateFrame(frame) + return True, django_breakpoint, new_frame, breakpoint_type + + return False, None, None, breakpoint_type + + +def suspend(plugin, main_debugger, thread, frame, bp_type): + if bp_type == 'django': + return suspend_django(main_debugger, thread, DjangoTemplateFrame(frame)) + return None + + +def _get_original_filename_from_origin_in_parent_frame_locals(frame, parent_frame_name): + filename = None + parent_frame = frame + while parent_frame.f_code.co_name != parent_frame_name: + parent_frame = parent_frame.f_back + + origin = None + if parent_frame is not None: + origin = parent_frame.f_locals.get('origin') + + if hasattr(origin, 'name') and origin.name is not None: + filename = _convert_to_str(origin.name) + return filename + + +def exception_break(plugin, main_debugger, pydb_frame, frame, args, arg): + main_debugger = args[0] + thread = args[3] + exception, value, trace = arg + + if main_debugger.django_exception_break and exception is not None: + if exception.__name__ in ['VariableDoesNotExist', 'TemplateDoesNotExist', 'TemplateSyntaxError'] and \ + just_raised(trace) and not ignore_exception_trace(trace): + + if exception.__name__ == 'TemplateSyntaxError': + # In this case we don't actually have a regular render frame with the context + # (we didn't really get to that point). + token = getattr(value, 'token', None) + + if token is None: + # Django 1.7 does not have token in exception. Try to get it from locals. + token = frame.f_locals.get('token') + + lineno = getattr(token, 'lineno', None) + + original_filename = None + if lineno is not None: + original_filename = _get_original_filename_from_origin_in_parent_frame_locals(frame, 'get_template') + + if original_filename is None: + # Django 1.7 does not have origin in get_template. Try to get it from + # load_template. + original_filename = _get_original_filename_from_origin_in_parent_frame_locals(frame, 'load_template') + + if original_filename is not None and lineno is not None: + syntax_error_frame = DjangoTemplateSyntaxErrorFrame( + frame, original_filename, lineno, {'token': token, 'exception': exception}) + + suspend_frame = suspend_django( + main_debugger, thread, syntax_error_frame, CMD_ADD_EXCEPTION_BREAK) + return True, suspend_frame + + elif exception.__name__ == 'VariableDoesNotExist': + if _is_django_variable_does_not_exist_exception_break_context(frame): + if not getattr(exception, 'silent_variable_failure', False) and not _is_ignoring_failures(frame): + render_frame = _find_django_render_frame(frame) + if render_frame: + suspend_frame = suspend_django( + main_debugger, thread, DjangoTemplateFrame(render_frame), CMD_ADD_EXCEPTION_BREAK) + if suspend_frame: + add_exception_to_frame(suspend_frame, (exception, value, trace)) + thread.additional_info.pydev_message = 'VariableDoesNotExist' + suspend_frame.f_back = frame + frame = suspend_frame + return True, frame + + return None diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/extensions/README.md b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/extensions/README.md new file mode 120000 index 0000000..c48f3ff --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/extensions/README.md @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/73/1b/bc/176f79b27515360a84e715ca9d94e96ea6d1dcb4e69bad2980ad08393b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/extensions/__init__.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/extensions/__init__.py new file mode 120000 index 0000000..ed18dfe --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/extensions/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ae/ab/4d/b1f0dc2a0424703b75c0ad924d72eb207f0dbf536c5ac4077bf983677d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/extensions/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/extensions/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..e207192 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/extensions/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/__init__.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/__init__.py new file mode 120000 index 0000000..ed18dfe --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ae/ab/4d/b1f0dc2a0424703b75c0ad924d72eb207f0dbf536c5ac4077bf983677d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..e93c31e Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/__pycache__/pydevd_helpers.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/__pycache__/pydevd_helpers.cpython-38.pyc new file mode 100644 index 0000000..94a8b43 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/__pycache__/pydevd_helpers.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/__pycache__/pydevd_plugin_numpy_types.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/__pycache__/pydevd_plugin_numpy_types.cpython-38.pyc new file mode 100644 index 0000000..8f2b2b1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/__pycache__/pydevd_plugin_numpy_types.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/__pycache__/pydevd_plugin_pandas_types.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/__pycache__/pydevd_plugin_pandas_types.cpython-38.pyc new file mode 100644 index 0000000..2fbe343 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/__pycache__/pydevd_plugin_pandas_types.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/__pycache__/pydevd_plugins_django_form_str.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/__pycache__/pydevd_plugins_django_form_str.cpython-38.pyc new file mode 100644 index 0000000..fab9f1e Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/__pycache__/pydevd_plugins_django_form_str.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_helpers.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_helpers.py new file mode 120000 index 0000000..f230e03 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_helpers.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d1/f1/51/eb780638254d587a7e7bc125e8e3e50659634c9c027b5a042565cfbf93 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_plugin_numpy_types.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_plugin_numpy_types.py new file mode 120000 index 0000000..5520e49 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_plugin_numpy_types.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/60/ac/69/b82320ba66e3702f781a4f75872dbaa1b0cc3a50796770b199a478f7ad \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_plugin_pandas_types.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_plugin_pandas_types.py new file mode 100644 index 0000000..2c1090c --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_plugin_pandas_types.py @@ -0,0 +1,160 @@ +import sys + +from _pydevd_bundle.pydevd_constants import PANDAS_MAX_ROWS, PANDAS_MAX_COLS, PANDAS_MAX_COLWIDTH +from _pydevd_bundle.pydevd_extension_api import TypeResolveProvider, StrPresentationProvider +from _pydevd_bundle.pydevd_resolver import inspect, MethodWrapperType +from _pydevd_bundle.pydevd_utils import Timer + +from .pydevd_helpers import find_mod_attr +from contextlib import contextmanager + + +def _get_dictionary(obj, replacements): + ret = dict() + cls = obj.__class__ + for attr_name in dir(obj): + + # This is interesting but it actually hides too much info from the dataframe. + # attr_type_in_cls = type(getattr(cls, attr_name, None)) + # if attr_type_in_cls == property: + # ret[attr_name] = '' + # continue + + timer = Timer() + try: + replacement = replacements.get(attr_name) + if replacement is not None: + ret[attr_name] = replacement + continue + + attr_value = getattr(obj, attr_name, '') + if inspect.isroutine(attr_value) or isinstance(attr_value, MethodWrapperType): + continue + ret[attr_name] = attr_value + except Exception as e: + ret[attr_name] = '' % (e,) + finally: + timer.report_if_getting_attr_slow(cls, attr_name) + + return ret + + +@contextmanager +def customize_pandas_options(): + # The default repr depends on the settings of: + # + # pandas.set_option('display.max_columns', None) + # pandas.set_option('display.max_rows', None) + # + # which can make the repr **very** slow on some cases, so, we customize pandas to have + # smaller values if the current values are too big. + custom_options = [] + + from pandas import get_option + + max_rows = get_option("display.max_rows") + max_cols = get_option("display.max_columns") + max_colwidth = get_option("display.max_colwidth") + + if max_rows is None or max_rows > PANDAS_MAX_ROWS: + custom_options.append("display.max_rows") + custom_options.append(PANDAS_MAX_ROWS) + + if max_cols is None or max_cols > PANDAS_MAX_COLS: + custom_options.append("display.max_columns") + custom_options.append(PANDAS_MAX_COLS) + + if max_colwidth is None or max_colwidth > PANDAS_MAX_COLWIDTH: + custom_options.append("display.max_colwidth") + custom_options.append(PANDAS_MAX_COLWIDTH) + + if custom_options: + from pandas import option_context + with option_context(*custom_options): + yield + else: + yield + + +class PandasDataFrameTypeResolveProvider(object): + + def can_provide(self, type_object, type_name): + data_frame_class = find_mod_attr('pandas.core.frame', 'DataFrame') + return data_frame_class is not None and issubclass(type_object, data_frame_class) + + def resolve(self, obj, attribute): + return getattr(obj, attribute) + + def get_dictionary(self, obj): + replacements = { + # This actually calls: DataFrame.transpose(), which can be expensive, so, + # let's just add some string representation for it. + 'T': '', + + # This creates a whole new dict{index: Series) for each column. Doing a + # subsequent repr() from this dict can be very slow, so, don't return it. + '_series': '', + + 'style': '', + } + return _get_dictionary(obj, replacements) + + def get_str(self, df): + with customize_pandas_options(): + return repr(df) + + +class PandasSeriesTypeResolveProvider(object): + + def can_provide(self, type_object, type_name): + series_class = find_mod_attr('pandas.core.series', 'Series') + return series_class is not None and issubclass(type_object, series_class) + + def resolve(self, obj, attribute): + return getattr(obj, attribute) + + def get_dictionary(self, obj): + replacements = { + # This actually calls: DataFrame.transpose(), which can be expensive, so, + # let's just add some string representation for it. + 'T': '', + + # This creates a whole new dict{index: Series) for each column. Doing a + # subsequent repr() from this dict can be very slow, so, don't return it. + '_series': '', + + 'style': '', + } + return _get_dictionary(obj, replacements) + + def get_str(self, series): + with customize_pandas_options(): + return repr(series) + + +class PandasStylerTypeResolveProvider(object): + + def can_provide(self, type_object, type_name): + series_class = find_mod_attr('pandas.io.formats.style', 'Styler') + return series_class is not None and issubclass(type_object, series_class) + + def resolve(self, obj, attribute): + return getattr(obj, attribute) + + def get_dictionary(self, obj): + replacements = { + 'data': '', + + '__dict__': '', + } + return _get_dictionary(obj, replacements) + + +if not sys.platform.startswith("java"): + TypeResolveProvider.register(PandasDataFrameTypeResolveProvider) + StrPresentationProvider.register(PandasDataFrameTypeResolveProvider) + + TypeResolveProvider.register(PandasSeriesTypeResolveProvider) + StrPresentationProvider.register(PandasSeriesTypeResolveProvider) + + TypeResolveProvider.register(PandasStylerTypeResolveProvider) diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_plugins_django_form_str.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_plugins_django_form_str.py new file mode 120000 index 0000000..8cae21f --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_plugins_django_form_str.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/aa/ea/ab/4542ae2843e84f7ecc0656bbc09092b961e2a35748d5c10ad46d77a8ed \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/jinja2_debug.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/jinja2_debug.py new file mode 100644 index 0000000..a5e4a00 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/jinja2_debug.py @@ -0,0 +1,506 @@ +from _pydevd_bundle.pydevd_constants import STATE_SUSPEND, JINJA2_SUSPEND +from _pydevd_bundle.pydevd_comm import CMD_SET_BREAK, CMD_ADD_EXCEPTION_BREAK +from pydevd_file_utils import canonical_normalized_path +from _pydevd_bundle.pydevd_frame_utils import add_exception_to_frame, FCode +from _pydev_bundle import pydev_log +from pydevd_plugins.pydevd_line_validation import LineBreakpointWithLazyValidation, ValidationInfo +from _pydev_bundle.pydev_override import overrides +from _pydevd_bundle.pydevd_api import PyDevdAPI + + +class Jinja2LineBreakpoint(LineBreakpointWithLazyValidation): + + def __init__(self, canonical_normalized_filename, breakpoint_id, line, condition, func_name, expression, hit_condition=None, is_logpoint=False): + self.canonical_normalized_filename = canonical_normalized_filename + LineBreakpointWithLazyValidation.__init__(self, breakpoint_id, line, condition, func_name, expression, hit_condition=hit_condition, is_logpoint=is_logpoint) + + def __str__(self): + return "Jinja2LineBreakpoint: %s-%d" % (self.canonical_normalized_filename, self.line) + + +class _Jinja2ValidationInfo(ValidationInfo): + + @overrides(ValidationInfo._collect_valid_lines_in_template_uncached) + def _collect_valid_lines_in_template_uncached(self, template): + lineno_mapping = _get_frame_lineno_mapping(template) + if not lineno_mapping: + return set() + + return set(x[0] for x in lineno_mapping) + + +def add_line_breakpoint(plugin, pydb, type, canonical_normalized_filename, breakpoint_id, line, condition, expression, func_name, hit_condition=None, is_logpoint=False, add_breakpoint_result=None, on_changed_breakpoint_state=None): + if type == 'jinja2-line': + jinja2_line_breakpoint = Jinja2LineBreakpoint(canonical_normalized_filename, breakpoint_id, line, condition, func_name, expression, hit_condition=hit_condition, is_logpoint=is_logpoint) + if not hasattr(pydb, 'jinja2_breakpoints'): + _init_plugin_breaks(pydb) + + add_breakpoint_result.error_code = PyDevdAPI.ADD_BREAKPOINT_LAZY_VALIDATION + jinja2_line_breakpoint.add_breakpoint_result = add_breakpoint_result + jinja2_line_breakpoint.on_changed_breakpoint_state = on_changed_breakpoint_state + + return jinja2_line_breakpoint, pydb.jinja2_breakpoints + return None + + +def after_breakpoints_consolidated(plugin, py_db, canonical_normalized_filename, id_to_pybreakpoint, file_to_line_to_breakpoints): + jinja2_breakpoints_for_file = file_to_line_to_breakpoints.get(canonical_normalized_filename) + if not jinja2_breakpoints_for_file: + return + + if not hasattr(py_db, 'jinja2_validation_info'): + _init_plugin_breaks(py_db) + + # In general we validate the breakpoints only when the template is loaded, but if the template + # was already loaded, we can validate the breakpoints based on the last loaded value. + py_db.jinja2_validation_info.verify_breakpoints_from_template_cached_lines( + py_db, canonical_normalized_filename, jinja2_breakpoints_for_file) + + +def add_exception_breakpoint(plugin, pydb, type, exception): + if type == 'jinja2': + if not hasattr(pydb, 'jinja2_exception_break'): + _init_plugin_breaks(pydb) + pydb.jinja2_exception_break[exception] = True + return True + return False + + +def _init_plugin_breaks(pydb): + pydb.jinja2_exception_break = {} + pydb.jinja2_breakpoints = {} + + pydb.jinja2_validation_info = _Jinja2ValidationInfo() + + +def remove_all_exception_breakpoints(plugin, pydb): + if hasattr(pydb, 'jinja2_exception_break'): + pydb.jinja2_exception_break = {} + return True + return False + + +def remove_exception_breakpoint(plugin, pydb, type, exception): + if type == 'jinja2': + try: + del pydb.jinja2_exception_break[exception] + return True + except: + pass + return False + + +def get_breakpoints(plugin, pydb, type): + if type == 'jinja2-line': + return pydb.jinja2_breakpoints + return None + + +def _is_jinja2_render_call(frame): + try: + name = frame.f_code.co_name + if "__jinja_template__" in frame.f_globals and name in ("root", "loop", "macro") or name.startswith("block_"): + return True + return False + except: + pydev_log.exception() + return False + + +def _suspend_jinja2(pydb, thread, frame, cmd=CMD_SET_BREAK, message=None): + frame = Jinja2TemplateFrame(frame) + + if frame.f_lineno is None: + return None + + pydb.set_suspend(thread, cmd) + + thread.additional_info.suspend_type = JINJA2_SUSPEND + if cmd == CMD_ADD_EXCEPTION_BREAK: + # send exception name as message + if message: + message = str(message) + thread.additional_info.pydev_message = message + + return frame + + +def _is_jinja2_suspended(thread): + return thread.additional_info.suspend_type == JINJA2_SUSPEND + + +def _is_jinja2_context_call(frame): + return "_Context__obj" in frame.f_locals + + +def _is_jinja2_internal_function(frame): + return 'self' in frame.f_locals and frame.f_locals['self'].__class__.__name__ in \ + ('LoopContext', 'TemplateReference', 'Macro', 'BlockReference') + + +def _find_jinja2_render_frame(frame): + while frame is not None and not _is_jinja2_render_call(frame): + frame = frame.f_back + + return frame + +#======================================================================================================================= +# Jinja2 Frame +#======================================================================================================================= + + +class Jinja2TemplateFrame(object): + + IS_PLUGIN_FRAME = True + + def __init__(self, frame, original_filename=None, template_lineno=None): + + if original_filename is None: + original_filename = _get_jinja2_template_original_filename(frame) + + if template_lineno is None: + template_lineno = _get_jinja2_template_line(frame) + + self.back_context = None + if 'context' in frame.f_locals: + # sometimes we don't have 'context', e.g. in macros + self.back_context = frame.f_locals['context'] + self.f_code = FCode('template', original_filename) + self.f_lineno = template_lineno + self.f_back = frame + self.f_globals = {} + self.f_locals = self.collect_context(frame) + self.f_trace = None + + def _get_real_var_name(self, orig_name): + # replace leading number for local variables + parts = orig_name.split('_') + if len(parts) > 1 and parts[0].isdigit(): + return parts[1] + return orig_name + + def collect_context(self, frame): + res = {} + for k, v in frame.f_locals.items(): + if not k.startswith('l_'): + res[k] = v + elif v and not _is_missing(v): + res[self._get_real_var_name(k[2:])] = v + if self.back_context is not None: + for k, v in self.back_context.items(): + res[k] = v + return res + + def _change_variable(self, frame, name, value): + in_vars_or_parents = False + if 'context' in frame.f_locals: + if name in frame.f_locals['context'].parent: + self.back_context.parent[name] = value + in_vars_or_parents = True + if name in frame.f_locals['context'].vars: + self.back_context.vars[name] = value + in_vars_or_parents = True + + l_name = 'l_' + name + if l_name in frame.f_locals: + if in_vars_or_parents: + frame.f_locals[l_name] = self.back_context.resolve(name) + else: + frame.f_locals[l_name] = value + + +class Jinja2TemplateSyntaxErrorFrame(object): + + IS_PLUGIN_FRAME = True + + def __init__(self, frame, exception_cls_name, filename, lineno, f_locals): + self.f_code = FCode('Jinja2 %s' % (exception_cls_name,), filename) + self.f_lineno = lineno + self.f_back = frame + self.f_globals = {} + self.f_locals = f_locals + self.f_trace = None + + +def change_variable(plugin, frame, attr, expression): + if isinstance(frame, Jinja2TemplateFrame): + result = eval(expression, frame.f_globals, frame.f_locals) + frame._change_variable(frame.f_back, attr, result) + return result + return False + + +def _is_missing(item): + if item.__class__.__name__ == 'MissingType': + return True + return False + + +def _find_render_function_frame(frame): + # in order to hide internal rendering functions + old_frame = frame + try: + while not ('self' in frame.f_locals and frame.f_locals['self'].__class__.__name__ == 'Template' and \ + frame.f_code.co_name == 'render'): + frame = frame.f_back + if frame is None: + return old_frame + return frame + except: + return old_frame + + +def _get_jinja2_template_debug_info(frame): + frame_globals = frame.f_globals + + jinja_template = frame_globals.get('__jinja_template__') + + if jinja_template is None: + return None + + return _get_frame_lineno_mapping(jinja_template) + + +def _get_frame_lineno_mapping(jinja_template): + ''' + :rtype: list(tuple(int,int)) + :return: list((original_line, line_in_frame)) + ''' + # _debug_info is a string with the mapping from frame line to actual line + # i.e.: "5=13&8=14" + _debug_info = jinja_template._debug_info + if not _debug_info: + # Sometimes template contains only plain text. + return None + + # debug_info is a list with the mapping from frame line to actual line + # i.e.: [(5, 13), (8, 14)] + return jinja_template.debug_info + + +def _get_jinja2_template_line(frame): + debug_info = _get_jinja2_template_debug_info(frame) + if debug_info is None: + return None + + lineno = frame.f_lineno + + for pair in debug_info: + if pair[1] == lineno: + return pair[0] + + return None + + +def _convert_to_str(s): + return s + + +def _get_jinja2_template_original_filename(frame): + if '__jinja_template__' in frame.f_globals: + return _convert_to_str(frame.f_globals['__jinja_template__'].filename) + + return None + +#======================================================================================================================= +# Jinja2 Step Commands +#======================================================================================================================= + + +def has_exception_breaks(plugin): + if len(plugin.main_debugger.jinja2_exception_break) > 0: + return True + return False + + +def has_line_breaks(plugin): + for _canonical_normalized_filename, breakpoints in plugin.main_debugger.jinja2_breakpoints.items(): + if len(breakpoints) > 0: + return True + return False + + +def can_skip(plugin, pydb, frame): + if pydb.jinja2_breakpoints and _is_jinja2_render_call(frame): + filename = _get_jinja2_template_original_filename(frame) + if filename is not None: + canonical_normalized_filename = canonical_normalized_path(filename) + jinja2_breakpoints_for_file = pydb.jinja2_breakpoints.get(canonical_normalized_filename) + if jinja2_breakpoints_for_file: + return False + + if pydb.jinja2_exception_break: + name = frame.f_code.co_name + + # errors in compile time + if name in ('template', 'top-level template code', '') or name.startswith('block '): + f_back = frame.f_back + module_name = '' + if f_back is not None: + module_name = f_back.f_globals.get('__name__', '') + if module_name.startswith('jinja2.'): + return False + + return True + + +def cmd_step_into(plugin, pydb, frame, event, args, stop_info, stop): + info = args[2] + thread = args[3] + plugin_stop = False + stop_info['jinja2_stop'] = False + if _is_jinja2_suspended(thread): + stop_info['jinja2_stop'] = event in ('call', 'line') and _is_jinja2_render_call(frame) + plugin_stop = stop_info['jinja2_stop'] + stop = False + if info.pydev_call_from_jinja2 is not None: + if _is_jinja2_internal_function(frame): + # if internal Jinja2 function was called, we sould continue debugging inside template + info.pydev_call_from_jinja2 = None + else: + # we go into python code from Jinja2 rendering frame + stop = True + + if event == 'call' and _is_jinja2_context_call(frame.f_back): + # we called function from context, the next step will be in function + info.pydev_call_from_jinja2 = 1 + + if event == 'return' and _is_jinja2_context_call(frame.f_back): + # we return from python code to Jinja2 rendering frame + info.pydev_step_stop = info.pydev_call_from_jinja2 + info.pydev_call_from_jinja2 = None + thread.additional_info.suspend_type = JINJA2_SUSPEND + stop = False + + # print "info.pydev_call_from_jinja2", info.pydev_call_from_jinja2, "stop_info", stop_info, \ + # "thread.additional_info.suspend_type", thread.additional_info.suspend_type + # print "event", event, "farme.locals", frame.f_locals + return stop, plugin_stop + + +def cmd_step_over(plugin, pydb, frame, event, args, stop_info, stop): + info = args[2] + thread = args[3] + plugin_stop = False + stop_info['jinja2_stop'] = False + if _is_jinja2_suspended(thread): + stop = False + + if info.pydev_call_inside_jinja2 is None: + if _is_jinja2_render_call(frame): + if event == 'call': + info.pydev_call_inside_jinja2 = frame.f_back + if event in ('line', 'return'): + info.pydev_call_inside_jinja2 = frame + else: + if event == 'line': + if _is_jinja2_render_call(frame) and info.pydev_call_inside_jinja2 is frame: + stop_info['jinja2_stop'] = True + plugin_stop = stop_info['jinja2_stop'] + if event == 'return': + if frame is info.pydev_call_inside_jinja2 and 'event' not in frame.f_back.f_locals: + info.pydev_call_inside_jinja2 = _find_jinja2_render_frame(frame.f_back) + return stop, plugin_stop + else: + if event == 'return' and _is_jinja2_context_call(frame.f_back): + # we return from python code to Jinja2 rendering frame + info.pydev_call_from_jinja2 = None + info.pydev_call_inside_jinja2 = _find_jinja2_render_frame(frame) + thread.additional_info.suspend_type = JINJA2_SUSPEND + stop = False + return stop, plugin_stop + # print "info.pydev_call_from_jinja2", info.pydev_call_from_jinja2, "stop", stop, "jinja_stop", jinja2_stop, \ + # "thread.additional_info.suspend_type", thread.additional_info.suspend_type + # print "event", event, "info.pydev_call_inside_jinja2", info.pydev_call_inside_jinja2 + # print "frame", frame, "frame.f_back", frame.f_back, "step_stop", info.pydev_step_stop + # print "is_context_call", _is_jinja2_context_call(frame) + # print "render", _is_jinja2_render_call(frame) + # print "-------------" + return stop, plugin_stop + + +def stop(plugin, pydb, frame, event, args, stop_info, arg, step_cmd): + pydb = args[0] + thread = args[3] + if 'jinja2_stop' in stop_info and stop_info['jinja2_stop']: + frame = _suspend_jinja2(pydb, thread, frame, step_cmd) + if frame: + pydb.do_wait_suspend(thread, frame, event, arg) + return True + return False + + +def get_breakpoint(plugin, py_db, pydb_frame, frame, event, args): + py_db = args[0] + _filename = args[1] + info = args[2] + break_type = 'jinja2' + + if event == 'line' and info.pydev_state != STATE_SUSPEND and py_db.jinja2_breakpoints and _is_jinja2_render_call(frame): + + jinja_template = frame.f_globals.get('__jinja_template__') + if jinja_template is None: + return False, None, None, break_type + + original_filename = _get_jinja2_template_original_filename(frame) + if original_filename is not None: + pydev_log.debug("Jinja2 is rendering a template: %s", original_filename) + canonical_normalized_filename = canonical_normalized_path(original_filename) + jinja2_breakpoints_for_file = py_db.jinja2_breakpoints.get(canonical_normalized_filename) + + if jinja2_breakpoints_for_file: + + jinja2_validation_info = py_db.jinja2_validation_info + jinja2_validation_info.verify_breakpoints(py_db, canonical_normalized_filename, jinja2_breakpoints_for_file, jinja_template) + + template_lineno = _get_jinja2_template_line(frame) + if template_lineno is not None: + jinja2_breakpoint = jinja2_breakpoints_for_file.get(template_lineno) + if jinja2_breakpoint is not None: + new_frame = Jinja2TemplateFrame(frame, original_filename, template_lineno) + return True, jinja2_breakpoint, new_frame, break_type + + return False, None, None, break_type + + +def suspend(plugin, pydb, thread, frame, bp_type): + if bp_type == 'jinja2': + return _suspend_jinja2(pydb, thread, frame) + return None + + +def exception_break(plugin, pydb, pydb_frame, frame, args, arg): + pydb = args[0] + thread = args[3] + exception, value, trace = arg + if pydb.jinja2_exception_break and exception is not None: + exception_type = list(pydb.jinja2_exception_break.keys())[0] + if exception.__name__ in ('UndefinedError', 'TemplateNotFound', 'TemplatesNotFound'): + # errors in rendering + render_frame = _find_jinja2_render_frame(frame) + if render_frame: + suspend_frame = _suspend_jinja2(pydb, thread, render_frame, CMD_ADD_EXCEPTION_BREAK, message=exception_type) + if suspend_frame: + add_exception_to_frame(suspend_frame, (exception, value, trace)) + suspend_frame.f_back = frame + frame = suspend_frame + return True, frame + + elif exception.__name__ in ('TemplateSyntaxError', 'TemplateAssertionError'): + name = frame.f_code.co_name + + # errors in compile time + if name in ('template', 'top-level template code', '') or name.startswith('block '): + + f_back = frame.f_back + if f_back is not None: + module_name = f_back.f_globals.get('__name__', '') + + if module_name.startswith('jinja2.'): + # Jinja2 translates exception info and creates fake frame on his own + pydb_frame.set_suspend(thread, CMD_ADD_EXCEPTION_BREAK) + add_exception_to_frame(frame, (exception, value, trace)) + thread.additional_info.suspend_type = JINJA2_SUSPEND + thread.additional_info.pydev_message = str(exception_type) + return True, frame + return None diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/pydevd_line_validation.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/pydevd_line_validation.py new file mode 100644 index 0000000..2b64a52 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/pydevd_line_validation.py @@ -0,0 +1,107 @@ +from _pydevd_bundle.pydevd_breakpoints import LineBreakpoint +from _pydevd_bundle.pydevd_api import PyDevdAPI +import bisect +from _pydev_bundle import pydev_log + + +class LineBreakpointWithLazyValidation(LineBreakpoint): + + def __init__(self, *args, **kwargs): + LineBreakpoint.__init__(self, *args, **kwargs) + # This is the _AddBreakpointResult that'll be modified (and then re-sent on the + # on_changed_breakpoint_state). + self.add_breakpoint_result = None + + # The signature for the callback should be: + # on_changed_breakpoint_state(breakpoint_id: int, add_breakpoint_result: _AddBreakpointResult) + self.on_changed_breakpoint_state = None + + # When its state is checked (in which case it'd call on_changed_breakpoint_state if the + # state changed), we store a cache key in 'verified_cache_key' -- in case it changes + # we'd need to re-verify it (for instance, the template could have changed on disk). + self.verified_cache_key = None + + +class ValidationInfo(object): + + def __init__(self): + self._canonical_normalized_filename_to_last_template_lines = {} + + def _collect_valid_lines_in_template(self, template): + # We cache the lines in the template itself. Note that among requests the + # template may be a different instance (because the template contents could be + # changed on disk), but this may still be called multiple times during the + # same render session, so, caching is interesting. + lines_cache = getattr(template, '__pydevd_lines_cache__', None) + if lines_cache is not None: + lines, sorted_lines = lines_cache + return lines, sorted_lines + + lines = self._collect_valid_lines_in_template_uncached(template) + + lines = frozenset(lines) + sorted_lines = tuple(sorted(lines)) + template.__pydevd_lines_cache__ = lines, sorted_lines + return lines, sorted_lines + + def _collect_valid_lines_in_template_uncached(self, template): + raise NotImplementedError() + + def verify_breakpoints(self, py_db, canonical_normalized_filename, template_breakpoints_for_file, template): + ''' + This function should be called whenever a rendering is detected. + + :param str canonical_normalized_filename: + :param dict[int:LineBreakpointWithLazyValidation] template_breakpoints_for_file: + ''' + valid_lines_frozenset, sorted_lines = self._collect_valid_lines_in_template(template) + + self._canonical_normalized_filename_to_last_template_lines[canonical_normalized_filename] = valid_lines_frozenset, sorted_lines + self._verify_breakpoints_with_lines_collected(py_db, canonical_normalized_filename, template_breakpoints_for_file, valid_lines_frozenset, sorted_lines) + + def verify_breakpoints_from_template_cached_lines(self, py_db, canonical_normalized_filename, template_breakpoints_for_file): + ''' + This is used when the lines are already available (if just the template is available, + `verify_breakpoints` should be used instead). + ''' + cached = self._canonical_normalized_filename_to_last_template_lines.get(canonical_normalized_filename) + if cached is not None: + valid_lines_frozenset, sorted_lines = cached + self._verify_breakpoints_with_lines_collected(py_db, canonical_normalized_filename, template_breakpoints_for_file, valid_lines_frozenset, sorted_lines) + + def _verify_breakpoints_with_lines_collected(self, py_db, canonical_normalized_filename, template_breakpoints_for_file, valid_lines_frozenset, sorted_lines): + for line, template_bp in list(template_breakpoints_for_file.items()): # Note: iterate in a copy (we may mutate it). + if template_bp.verified_cache_key != valid_lines_frozenset: + template_bp.verified_cache_key = valid_lines_frozenset + valid = line in valid_lines_frozenset + + if not valid: + new_line = -1 + if sorted_lines: + # Adjust to the first preceding valid line. + idx = bisect.bisect_left(sorted_lines, line) + if idx > 0: + new_line = sorted_lines[idx - 1] + + if new_line >= 0 and new_line not in template_breakpoints_for_file: + # We just add it if found and if there's no existing breakpoint at that + # location. + if template_bp.add_breakpoint_result.error_code != PyDevdAPI.ADD_BREAKPOINT_NO_ERROR and template_bp.add_breakpoint_result.translated_line != new_line: + pydev_log.debug('Template breakpoint in %s in line: %s moved to line: %s', canonical_normalized_filename, line, new_line) + template_bp.add_breakpoint_result.error_code = PyDevdAPI.ADD_BREAKPOINT_NO_ERROR + template_bp.add_breakpoint_result.translated_line = new_line + + # Add it to a new line. + template_breakpoints_for_file.pop(line, None) + template_breakpoints_for_file[new_line] = template_bp + template_bp.on_changed_breakpoint_state(template_bp.breakpoint_id, template_bp.add_breakpoint_result) + else: + if template_bp.add_breakpoint_result.error_code != PyDevdAPI.ADD_BREAKPOINT_INVALID_LINE: + pydev_log.debug('Template breakpoint in %s in line: %s invalid (valid lines: %s)', canonical_normalized_filename, line, valid_lines_frozenset) + template_bp.add_breakpoint_result.error_code = PyDevdAPI.ADD_BREAKPOINT_INVALID_LINE + template_bp.on_changed_breakpoint_state(template_bp.breakpoint_id, template_bp.add_breakpoint_result) + else: + if template_bp.add_breakpoint_result.error_code != PyDevdAPI.ADD_BREAKPOINT_NO_ERROR: + template_bp.add_breakpoint_result.error_code = PyDevdAPI.ADD_BREAKPOINT_NO_ERROR + template_bp.on_changed_breakpoint_state(template_bp.breakpoint_id, template_bp.add_breakpoint_result) + diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_tracing.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_tracing.py new file mode 100644 index 0000000..5061a53 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/pydevd_tracing.py @@ -0,0 +1,375 @@ +from _pydevd_bundle.pydevd_constants import get_frame, IS_CPYTHON, IS_64BIT_PROCESS, IS_WINDOWS, \ + IS_LINUX, IS_MAC, DebugInfoHolder, LOAD_NATIVE_LIB_FLAG, \ + ENV_FALSE_LOWER_VALUES, ForkSafeLock +from _pydev_bundle._pydev_saved_modules import thread, threading +from _pydev_bundle import pydev_log, pydev_monkey +import os.path +import platform +import ctypes +from io import StringIO +import sys +import traceback + +_original_settrace = sys.settrace + + +class TracingFunctionHolder: + '''This class exists just to keep some variables (so that we don't keep them in the global namespace). + ''' + _original_tracing = None + _warn = True + _traceback_limit = 1 + _warnings_shown = {} + + +def get_exception_traceback_str(): + exc_info = sys.exc_info() + s = StringIO() + traceback.print_exception(exc_info[0], exc_info[1], exc_info[2], file=s) + return s.getvalue() + + +def _get_stack_str(frame): + + msg = '\nIf this is needed, please check: ' + \ + '\nhttp://pydev.blogspot.com/2007/06/why-cant-pydev-debugger-work-with.html' + \ + '\nto see how to restore the debug tracing back correctly.\n' + + if TracingFunctionHolder._traceback_limit: + s = StringIO() + s.write('Call Location:\n') + traceback.print_stack(f=frame, limit=TracingFunctionHolder._traceback_limit, file=s) + msg = msg + s.getvalue() + + return msg + + +def _internal_set_trace(tracing_func): + if TracingFunctionHolder._warn: + frame = get_frame() + if frame is not None and frame.f_back is not None: + filename = frame.f_back.f_code.co_filename.lower() + if not filename.endswith('threading.py') and not filename.endswith('pydevd_tracing.py'): + + message = \ + '\nPYDEV DEBUGGER WARNING:' + \ + '\nsys.settrace() should not be used when the debugger is being used.' + \ + '\nThis may cause the debugger to stop working correctly.' + \ + '%s' % _get_stack_str(frame.f_back) + + if message not in TracingFunctionHolder._warnings_shown: + # only warn about each message once... + TracingFunctionHolder._warnings_shown[message] = 1 + sys.stderr.write('%s\n' % (message,)) + sys.stderr.flush() + + if TracingFunctionHolder._original_tracing: + TracingFunctionHolder._original_tracing(tracing_func) + + +_last_tracing_func_thread_local = threading.local() + + +def SetTrace(tracing_func): + _last_tracing_func_thread_local.tracing_func = tracing_func + + if tracing_func is not None: + if set_trace_to_threads(tracing_func, thread_idents=[thread.get_ident()], create_dummy_thread=False) == 0: + # If we can use our own tracer instead of the one from sys.settrace, do it (the reason + # is that this is faster than the Python version because we don't call + # PyFrame_FastToLocalsWithError and PyFrame_LocalsToFast at each event! + # (the difference can be huge when checking line events on frames as the + # time increases based on the number of local variables in the scope) + # See: InternalCallTrampoline (on the C side) for details. + return + + # If it didn't work (or if it was None), use the Python version. + set_trace = TracingFunctionHolder._original_tracing or sys.settrace + set_trace(tracing_func) + + +def reapply_settrace(): + try: + tracing_func = _last_tracing_func_thread_local.tracing_func + except AttributeError: + return + else: + SetTrace(tracing_func) + + +def replace_sys_set_trace_func(): + if TracingFunctionHolder._original_tracing is None: + TracingFunctionHolder._original_tracing = sys.settrace + sys.settrace = _internal_set_trace + + +def restore_sys_set_trace_func(): + if TracingFunctionHolder._original_tracing is not None: + sys.settrace = TracingFunctionHolder._original_tracing + TracingFunctionHolder._original_tracing = None + + +_lock = ForkSafeLock() + + +def _load_python_helper_lib(): + try: + # If it's already loaded, just return it. + return _load_python_helper_lib.__lib__ + except AttributeError: + pass + with _lock: + try: + return _load_python_helper_lib.__lib__ + except AttributeError: + pass + + lib = _load_python_helper_lib_uncached() + _load_python_helper_lib.__lib__ = lib + return lib + + +def get_python_helper_lib_filename(): + # Note: we have an independent (and similar -- but not equal) version of this method in + # `add_code_to_python_process.py` which should be kept synchronized with this one (we do a copy + # because the `pydevd_attach_to_process` is mostly independent and shouldn't be imported in the + # debugger -- the only situation where it's imported is if the user actually does an attach to + # process, through `attach_pydevd.py`, but this should usually be called from the IDE directly + # and not from the debugger). + libdir = os.path.join(os.path.dirname(__file__), 'pydevd_attach_to_process') + + arch = '' + if IS_WINDOWS: + # prefer not using platform.machine() when possible (it's a bit heavyweight as it may + # spawn a subprocess). + arch = os.environ.get("PROCESSOR_ARCHITEW6432", os.environ.get('PROCESSOR_ARCHITECTURE', '')) + + if not arch: + arch = platform.machine() + if not arch: + pydev_log.info('platform.machine() did not return valid value.') # This shouldn't happen... + return None + + if IS_WINDOWS: + extension = '.dll' + suffix_64 = 'amd64' + suffix_32 = 'x86' + + elif IS_LINUX: + extension = '.so' + suffix_64 = 'amd64' + suffix_32 = 'x86' + + elif IS_MAC: + extension = '.dylib' + suffix_64 = 'x86_64' + suffix_32 = 'x86' + + else: + pydev_log.info('Unable to set trace to all threads in platform: %s', sys.platform) + return None + + if arch.lower() not in ('amd64', 'x86', 'x86_64', 'i386', 'x86'): + # We don't support this processor by default. Still, let's support the case where the + # user manually compiled it himself with some heuristics. + # + # Ideally the user would provide a library in the format: "attach_." + # based on the way it's currently compiled -- see: + # - windows/compile_windows.bat + # - linux_and_mac/compile_linux.sh + # - linux_and_mac/compile_mac.sh + + try: + found = [name for name in os.listdir(libdir) if name.startswith('attach_') and name.endswith(extension)] + except: + if DebugInfoHolder.DEBUG_TRACE_LEVEL >= 1: + # There is no need to show this unless debug tracing is enabled. + pydev_log.exception('Error listing dir: %s', libdir) + return None + + expected_name = 'attach_' + arch + extension + expected_name_linux = 'attach_linux_' + arch + extension + + filename = None + if expected_name in found: # Heuristic: user compiled with "attach_." + filename = os.path.join(libdir, expected_name) + + elif IS_LINUX and expected_name_linux in found: # Heuristic: user compiled with "attach_linux_." + filename = os.path.join(libdir, expected_name_linux) + + elif len(found) == 1: # Heuristic: user removed all libraries and just left his own lib. + filename = os.path.join(libdir, found[0]) + + else: # Heuristic: there's one additional library which doesn't seem to be our own. Find the odd one. + filtered = [name for name in found if not name.endswith((suffix_64 + extension, suffix_32 + extension))] + if len(filtered) == 1: # If more than one is available we can't be sure... + filename = os.path.join(libdir, found[0]) + + if filename is None: + pydev_log.info( + 'Unable to set trace to all threads in arch: %s (did not find a %s lib in %s).', + arch, expected_name, libdir + + ) + return None + + pydev_log.info('Using %s lib in arch: %s.', filename, arch) + + else: + # Happy path for which we have pre-compiled binaries. + if IS_64BIT_PROCESS: + suffix = suffix_64 + else: + suffix = suffix_32 + + if IS_WINDOWS or IS_MAC: # just the extension changes + prefix = 'attach_' + elif IS_LINUX: # + prefix = 'attach_linux_' # historically it has a different name + else: + pydev_log.info('Unable to set trace to all threads in platform: %s', sys.platform) + return None + + filename = os.path.join(libdir, '%s%s%s' % (prefix, suffix, extension)) + + if not os.path.exists(filename): + pydev_log.critical('Expected: %s to exist.', filename) + return None + + return filename + + +def _load_python_helper_lib_uncached(): + if (not IS_CPYTHON or sys.version_info[:2] > (3, 11) + or hasattr(sys, 'gettotalrefcount') or LOAD_NATIVE_LIB_FLAG in ENV_FALSE_LOWER_VALUES): + pydev_log.info('Helper lib to set tracing to all threads not loaded.') + return None + + try: + filename = get_python_helper_lib_filename() + if filename is None: + return None + # Load as pydll so that we don't release the gil. + lib = ctypes.pydll.LoadLibrary(filename) + pydev_log.info('Successfully Loaded helper lib to set tracing to all threads.') + return lib + except: + if DebugInfoHolder.DEBUG_TRACE_LEVEL >= 1: + # Only show message if tracing is on (we don't have pre-compiled + # binaries for all architectures -- i.e.: ARM). + pydev_log.exception('Error loading: %s', filename) + return None + + +def set_trace_to_threads(tracing_func, thread_idents=None, create_dummy_thread=True): + assert tracing_func is not None + + ret = 0 + + # Note: use sys._current_frames() keys to get the thread ids because it'll return + # thread ids created in C/C++ where there's user code running, unlike the APIs + # from the threading module which see only threads created through it (unless + # a call for threading.current_thread() was previously done in that thread, + # in which case a dummy thread would've been created for it). + if thread_idents is None: + thread_idents = set(sys._current_frames().keys()) + + for t in threading.enumerate(): + # PY-44778: ignore pydevd threads and also add any thread that wasn't found on + # sys._current_frames() as some existing threads may not appear in + # sys._current_frames() but may be available through the `threading` module. + if getattr(t, 'pydev_do_not_trace', False): + thread_idents.discard(t.ident) + else: + thread_idents.add(t.ident) + + curr_ident = thread.get_ident() + curr_thread = threading._active.get(curr_ident) + + if curr_ident in thread_idents and len(thread_idents) != 1: + # The current thread must be updated first (because we need to set + # the reference to `curr_thread`). + thread_idents = list(thread_idents) + thread_idents.remove(curr_ident) + thread_idents.insert(0, curr_ident) + + for thread_ident in thread_idents: + # If that thread is not available in the threading module we also need to create a + # dummy thread for it (otherwise it'll be invisible to the debugger). + if create_dummy_thread: + if thread_ident not in threading._active: + + class _DummyThread(threading._DummyThread): + + def _set_ident(self): + # Note: Hack to set the thread ident that we want. + self._ident = thread_ident + + t = _DummyThread() + # Reset to the base class (don't expose our own version of the class). + t.__class__ = threading._DummyThread + + if thread_ident == curr_ident: + curr_thread = t + + with threading._active_limbo_lock: + # On Py2 it'll put in active getting the current indent, not using the + # ident that was set, so, we have to update it (should be harmless on Py3 + # so, do it always). + threading._active[thread_ident] = t + threading._active[curr_ident] = curr_thread + + if t.ident != thread_ident: + # Check if it actually worked. + pydev_log.critical('pydevd: creation of _DummyThread with fixed thread ident did not succeed.') + + # Some (ptvsd) tests failed because of this, so, leave it always disabled for now. + # show_debug_info = 1 if DebugInfoHolder.DEBUG_TRACE_LEVEL >= 1 else 0 + show_debug_info = 0 + + # Hack to increase _Py_TracingPossible. + # See comments on py_custom_pyeval_settrace.hpp + proceed = thread.allocate_lock() + proceed.acquire() + + def dummy_trace(frame, event, arg): + return dummy_trace + + def increase_tracing_count(): + set_trace = TracingFunctionHolder._original_tracing or sys.settrace + set_trace(dummy_trace) + proceed.release() + + start_new_thread = pydev_monkey.get_original_start_new_thread(thread) + start_new_thread(increase_tracing_count, ()) + proceed.acquire() # Only proceed after the release() is done. + proceed = None + + # Note: The set_trace_func is not really used anymore in the C side. + set_trace_func = TracingFunctionHolder._original_tracing or sys.settrace + + lib = _load_python_helper_lib() + if lib is None: # This is the case if it's not CPython. + pydev_log.info('Unable to load helper lib to set tracing to all threads (unsupported python vm).') + ret = -1 + else: + try: + result = lib.AttachDebuggerTracing( + ctypes.c_int(show_debug_info), + ctypes.py_object(set_trace_func), + ctypes.py_object(tracing_func), + ctypes.c_uint(thread_ident), + ctypes.py_object(None), + ) + except: + if DebugInfoHolder.DEBUG_TRACE_LEVEL >= 1: + # There is no need to show this unless debug tracing is enabled. + pydev_log.exception('Error attaching debugger tracing') + ret = -1 + else: + if result != 0: + pydev_log.info('Unable to set tracing for existing thread. Result: %s', result) + ret = result + + return ret + diff --git a/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/setup_pydevd_cython.py b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/setup_pydevd_cython.py new file mode 100644 index 0000000..5b395dd --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_vendored/pydevd/setup_pydevd_cython.py @@ -0,0 +1,250 @@ +''' +A simpler setup version just to compile the speedup module. + +It should be used as: + +python setup_pydevd_cython build_ext --inplace + +Note: the .c file and other generated files are regenerated from +the .pyx file by running "python build_tools/build.py" +''' + +import os +import sys +from setuptools import setup + +os.chdir(os.path.dirname(os.path.abspath(__file__))) + +IS_PY36_OR_GREATER = sys.version_info > (3, 6) +TODO_PY311 = sys.version_info > (3, 11) + + +def process_args(): + extension_folder = None + target_pydevd_name = None + target_frame_eval = None + force_cython = False + + for i, arg in enumerate(sys.argv[:]): + if arg == '--build-lib': + extension_folder = sys.argv[i + 1] + # It shouldn't be removed from sys.argv (among with --build-temp) because they're passed further to setup() + if arg.startswith('--target-pyd-name='): + sys.argv.remove(arg) + target_pydevd_name = arg[len('--target-pyd-name='):] + if arg.startswith('--target-pyd-frame-eval='): + sys.argv.remove(arg) + target_frame_eval = arg[len('--target-pyd-frame-eval='):] + if arg == '--force-cython': + sys.argv.remove(arg) + force_cython = True + + return extension_folder, target_pydevd_name, target_frame_eval, force_cython + + +def process_template_lines(template_lines): + # Create 2 versions of the template, one for Python 3.8 and another for Python 3.9 + for version in ('38', '39'): + yield '### WARNING: GENERATED CODE, DO NOT EDIT!' + yield '### WARNING: GENERATED CODE, DO NOT EDIT!' + yield '### WARNING: GENERATED CODE, DO NOT EDIT!' + + for line in template_lines: + if version == '38': + line = line.replace('get_bytecode_while_frame_eval(PyFrameObject * frame_obj, int exc)', 'get_bytecode_while_frame_eval_38(PyFrameObject * frame_obj, int exc)') + line = line.replace('CALL_EvalFrameDefault', 'CALL_EvalFrameDefault_38(frame_obj, exc)') + else: # 3.9 + line = line.replace('get_bytecode_while_frame_eval(PyFrameObject * frame_obj, int exc)', 'get_bytecode_while_frame_eval_39(PyThreadState* tstate, PyFrameObject * frame_obj, int exc)') + line = line.replace('CALL_EvalFrameDefault', 'CALL_EvalFrameDefault_39(tstate, frame_obj, exc)') + + yield line + + yield '### WARNING: GENERATED CODE, DO NOT EDIT!' + yield '### WARNING: GENERATED CODE, DO NOT EDIT!' + yield '### WARNING: GENERATED CODE, DO NOT EDIT!' + yield '' + yield '' + + +def process_template_file(contents): + ret = [] + template_lines = [] + + append_to = ret + for line in contents.splitlines(keepends=False): + if line.strip() == '### TEMPLATE_START': + append_to = template_lines + elif line.strip() == '### TEMPLATE_END': + append_to = ret + for line in process_template_lines(template_lines): + ret.append(line) + else: + append_to.append(line) + + return '\n'.join(ret) + + +def build_extension(dir_name, extension_name, target_pydevd_name, force_cython, extended=False, has_pxd=False, template=False): + pyx_file = os.path.join(os.path.dirname(__file__), dir_name, "%s.pyx" % (extension_name,)) + + if template: + pyx_template_file = os.path.join(os.path.dirname(__file__), dir_name, "%s.template.pyx" % (extension_name,)) + with open(pyx_template_file, 'r') as stream: + contents = stream.read() + + contents = process_template_file(contents) + + with open(pyx_file, 'w') as stream: + stream.write(contents) + + if target_pydevd_name != extension_name: + # It MUST be there in this case! + # (otherwise we'll have unresolved externals because the .c file had another name initially). + import shutil + + # We must force cython in this case (but only in this case -- for the regular setup in the user machine, we + # should always compile the .c file). + force_cython = True + + new_pyx_file = os.path.join(os.path.dirname(__file__), dir_name, "%s.pyx" % (target_pydevd_name,)) + new_c_file = os.path.join(os.path.dirname(__file__), dir_name, "%s.c" % (target_pydevd_name,)) + shutil.copy(pyx_file, new_pyx_file) + pyx_file = new_pyx_file + if has_pxd: + pxd_file = os.path.join(os.path.dirname(__file__), dir_name, "%s.pxd" % (extension_name,)) + new_pxd_file = os.path.join(os.path.dirname(__file__), dir_name, "%s.pxd" % (target_pydevd_name,)) + shutil.copy(pxd_file, new_pxd_file) + assert os.path.exists(pyx_file) + + try: + c_files = [os.path.join(dir_name, "%s.c" % target_pydevd_name), ] + if force_cython: + for c_file in c_files: + try: + os.remove(c_file) + except: + pass + from Cython.Build import cythonize # @UnusedImport + # Generate the .c files in cythonize (will not compile at this point). + + target = "%s/%s.pyx" % (dir_name, target_pydevd_name,) + cythonize([target]) + + # Workarounds needed in CPython 3.8 and 3.9 to access PyInterpreterState.eval_frame. + for c_file in c_files: + with open(c_file, 'r') as stream: + c_file_contents = stream.read() + + if '#include "internal/pycore_gc.h"' not in c_file_contents: + c_file_contents = c_file_contents.replace('#include "Python.h"', '''#include "Python.h" +#if PY_VERSION_HEX >= 0x03090000 +#include "internal/pycore_gc.h" +#include "internal/pycore_interp.h" +#endif +''') + + if '#include "internal/pycore_pystate.h"' not in c_file_contents: + c_file_contents = c_file_contents.replace('#include "pystate.h"', '''#include "pystate.h" +#if PY_VERSION_HEX >= 0x03080000 +#include "internal/pycore_pystate.h" +#endif +''') + + # We want the same output on Windows and Linux. + c_file_contents = c_file_contents.replace('\r\n', '\n').replace('\r', '\n') + c_file_contents = c_file_contents.replace(r'_pydevd_frame_eval\\release_mem.h', '_pydevd_frame_eval/release_mem.h') + c_file_contents = c_file_contents.replace(r'_pydevd_frame_eval\\pydevd_frame_evaluator.pyx', '_pydevd_frame_eval/pydevd_frame_evaluator.pyx') + c_file_contents = c_file_contents.replace(r'_pydevd_bundle\\pydevd_cython.pxd', '_pydevd_bundle/pydevd_cython.pxd') + c_file_contents = c_file_contents.replace(r'_pydevd_bundle\\pydevd_cython.pyx', '_pydevd_bundle/pydevd_cython.pyx') + + with open(c_file, 'w') as stream: + stream.write(c_file_contents) + + # Always compile the .c (and not the .pyx) file (which we should keep up-to-date by running build_tools/build.py). + from distutils.extension import Extension + extra_compile_args = [] + extra_link_args = [] + + if 'linux' in sys.platform: + # Enabling -flto brings executable from 4MB to 0.56MB and -Os to 0.41MB + # Profiling shows an execution around 3-5% slower with -Os vs -O3, + # so, kept only -flto. + extra_compile_args = ["-flto", "-O3"] + extra_link_args = extra_compile_args[:] + + # Note: also experimented with profile-guided optimization. The executable + # size became a bit smaller (from 0.56MB to 0.5MB) but this would add an + # extra step to run the debugger to obtain the optimizations + # so, skipped it for now (note: the actual benchmarks time was in the + # margin of a 0-1% improvement, which is probably not worth it for + # speed increments). + # extra_compile_args = ["-flto", "-fprofile-generate"] + # ... Run benchmarks ... + # extra_compile_args = ["-flto", "-fprofile-use", "-fprofile-correction"] + elif 'win32' in sys.platform: + pass + # uncomment to generate pdbs for visual studio. + # extra_compile_args=["-Zi", "/Od"] + # extra_link_args=["-debug"] + + kwargs = {} + if extra_link_args: + kwargs['extra_link_args'] = extra_link_args + if extra_compile_args: + kwargs['extra_compile_args'] = extra_compile_args + + ext_modules = [ + Extension( + "%s%s.%s" % (dir_name, "_ext" if extended else "", target_pydevd_name,), + c_files, + **kwargs + )] + + # This is needed in CPython 3.8 to be able to include internal/pycore_pystate.h + # (needed to set PyInterpreterState.eval_frame). + for module in ext_modules: + module.define_macros = [('Py_BUILD_CORE_MODULE', '1')] + setup( + name='Cythonize', + ext_modules=ext_modules + ) + finally: + if target_pydevd_name != extension_name: + try: + os.remove(new_pyx_file) + except: + import traceback + traceback.print_exc() + try: + os.remove(new_c_file) + except: + import traceback + traceback.print_exc() + if has_pxd: + try: + os.remove(new_pxd_file) + except: + import traceback + traceback.print_exc() + + +extension_folder, target_pydevd_name, target_frame_eval, force_cython = process_args() + +extension_name = "pydevd_cython" +if target_pydevd_name is None: + target_pydevd_name = extension_name +build_extension("_pydevd_bundle", extension_name, target_pydevd_name, force_cython, extension_folder, True) + +if IS_PY36_OR_GREATER and not TODO_PY311: + extension_name = "pydevd_frame_evaluator" + if target_frame_eval is None: + target_frame_eval = extension_name + build_extension("_pydevd_frame_eval", extension_name, target_frame_eval, force_cython, extension_folder, True, template=True) + +if extension_folder: + os.chdir(extension_folder) + for folder in [file for file in os.listdir(extension_folder) if + file != 'build' and os.path.isdir(os.path.join(extension_folder, file))]: + file = os.path.join(folder, "__init__.py") + if not os.path.exists(file): + open(file, 'a').close() diff --git a/venv/lib/python3.8/site-packages/debugpy/_version.py b/venv/lib/python3.8/site-packages/debugpy/_version.py new file mode 100644 index 0000000..4fb2fa4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/_version.py @@ -0,0 +1,21 @@ + +# This file was generated by 'versioneer.py' (0.18) from +# revision-control system data, or from the parent directory name of an +# unpacked source archive. Distribution tarballs contain a pre-generated copy +# of this file. + +import json + +version_json = ''' +{ + "date": "2022-08-15T14:32:56-0700", + "dirty": false, + "error": null, + "full-revisionid": "8b5eeee7e0b1678e701b07d94e6c3cf07b923597", + "version": "1.6.3" +} +''' # END VERSION_JSON + + +def get_versions(): + return json.loads(version_json) diff --git a/venv/lib/python3.8/site-packages/debugpy/adapter/__init__.py b/venv/lib/python3.8/site-packages/debugpy/adapter/__init__.py new file mode 100644 index 0000000..fa55b25 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/adapter/__init__.py @@ -0,0 +1,14 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See LICENSE in the project root +# for license information. + +from __future__ import annotations +import typing + +if typing.TYPE_CHECKING: + __all__: list[str] + +__all__ = [] + +access_token = None +"""Access token used to authenticate with this adapter.""" diff --git a/venv/lib/python3.8/site-packages/debugpy/adapter/__main__.py b/venv/lib/python3.8/site-packages/debugpy/adapter/__main__.py new file mode 100644 index 0000000..54d80cb --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/adapter/__main__.py @@ -0,0 +1,224 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See LICENSE in the project root +# for license information. + +import argparse +import atexit +import codecs +import locale +import os +import sys + +# WARNING: debugpy and submodules must not be imported on top level in this module, +# and should be imported locally inside main() instead. + + +def main(args): + # If we're talking DAP over stdio, stderr is not guaranteed to be read from, + # so disable it to avoid the pipe filling and locking up. This must be done + # as early as possible, before the logging module starts writing to it. + if args.port is None: + sys.stderr = stderr = open(os.devnull, "w") + atexit.register(stderr.close) + + from debugpy import adapter + from debugpy.common import json, log, sockets + from debugpy.adapter import clients, servers, sessions + + if args.for_server is not None: + if os.name == "posix": + # On POSIX, we need to leave the process group and its session, and then + # daemonize properly by double-forking (first fork already happened when + # this process was spawned). + os.setsid() + if os.fork() != 0: + sys.exit(0) + + for stdio in sys.stdin, sys.stdout, sys.stderr: + if stdio is not None: + stdio.close() + + if args.log_stderr: + log.stderr.levels |= set(log.LEVELS) + if args.log_dir is not None: + log.log_dir = args.log_dir + + log.to_file(prefix="debugpy.adapter") + log.describe_environment("debugpy.adapter startup environment:") + + servers.access_token = args.server_access_token + if args.for_server is None: + adapter.access_token = codecs.encode(os.urandom(32), "hex").decode("ascii") + + endpoints = {} + try: + client_host, client_port = clients.serve(args.host, args.port) + except Exception as exc: + if args.for_server is None: + raise + endpoints = {"error": "Can't listen for client connections: " + str(exc)} + else: + endpoints["client"] = {"host": client_host, "port": client_port} + + if args.for_server is not None: + try: + server_host, server_port = servers.serve() + except Exception as exc: + endpoints = {"error": "Can't listen for server connections: " + str(exc)} + else: + endpoints["server"] = {"host": server_host, "port": server_port} + + log.info( + "Sending endpoints info to debug server at localhost:{0}:\n{1}", + args.for_server, + json.repr(endpoints), + ) + + try: + sock = sockets.create_client() + try: + sock.settimeout(None) + sock.connect(("127.0.0.1", args.for_server)) + sock_io = sock.makefile("wb", 0) + try: + sock_io.write(json.dumps(endpoints).encode("utf-8")) + finally: + sock_io.close() + finally: + sockets.close_socket(sock) + except Exception: + log.reraise_exception("Error sending endpoints info to debug server:") + + if "error" in endpoints: + log.error("Couldn't set up endpoints; exiting.") + sys.exit(1) + + listener_file = os.getenv("DEBUGPY_ADAPTER_ENDPOINTS") + if listener_file is not None: + log.info( + "Writing endpoints info to {0!r}:\n{1}", listener_file, json.repr(endpoints) + ) + + def delete_listener_file(): + log.info("Listener ports closed; deleting {0!r}", listener_file) + try: + os.remove(listener_file) + except Exception: + log.swallow_exception( + "Failed to delete {0!r}", listener_file, level="warning" + ) + + try: + with open(listener_file, "w") as f: + atexit.register(delete_listener_file) + print(json.dumps(endpoints), file=f) + except Exception: + log.reraise_exception("Error writing endpoints info to file:") + + if args.port is None: + clients.Client("stdio") + + # These must be registered after the one above, to ensure that the listener sockets + # are closed before the endpoint info file is deleted - this way, another process + # can wait for the file to go away as a signal that the ports are no longer in use. + atexit.register(servers.stop_serving) + atexit.register(clients.stop_serving) + + servers.wait_until_disconnected() + log.info("All debug servers disconnected; waiting for remaining sessions...") + + sessions.wait_until_ended() + log.info("All debug sessions have ended; exiting.") + + +def _parse_argv(argv): + parser = argparse.ArgumentParser() + + parser.add_argument( + "--for-server", type=int, metavar="PORT", help=argparse.SUPPRESS + ) + + parser.add_argument( + "--port", + type=int, + default=None, + metavar="PORT", + help="start the adapter in debugServer mode on the specified port", + ) + + parser.add_argument( + "--host", + type=str, + default="127.0.0.1", + metavar="HOST", + help="start the adapter in debugServer mode on the specified host", + ) + + parser.add_argument( + "--access-token", type=str, help="access token expected from the server" + ) + + parser.add_argument( + "--server-access-token", type=str, help="access token expected by the server" + ) + + parser.add_argument( + "--log-dir", + type=str, + metavar="DIR", + help="enable logging and use DIR to save adapter logs", + ) + + parser.add_argument( + "--log-stderr", action="store_true", help="enable logging to stderr" + ) + + args = parser.parse_args(argv[1:]) + + if args.port is None: + if args.log_stderr: + parser.error("--log-stderr requires --port") + if args.for_server is not None: + parser.error("--for-server requires --port") + + return args + + +if __name__ == "__main__": + # debugpy can also be invoked directly rather than via -m. In this case, the first + # entry on sys.path is the one added automatically by Python for the directory + # containing this file. This means that import debugpy will not work, since we need + # the parent directory of debugpy/ to be in sys.path, rather than debugpy/adapter/. + # + # The other issue is that many other absolute imports will break, because they + # will be resolved relative to debugpy/adapter/ - e.g. `import state` will then try + # to import debugpy/adapter/state.py. + # + # To fix both, we need to replace the automatically added entry such that it points + # at parent directory of debugpy/ instead of debugpy/adapter, import debugpy with that + # in sys.path, and then remove the first entry entry altogether, so that it doesn't + # affect any further imports we might do. For example, suppose the user did: + # + # python /foo/bar/debugpy/adapter ... + # + # At the beginning of this script, sys.path will contain "/foo/bar/debugpy/adapter" + # as the first entry. What we want is to replace it with "/foo/bar', then import + # debugpy with that in effect, and then remove the replaced entry before any more + # code runs. The imported debugpy module will remain in sys.modules, and thus all + # future imports of it or its submodules will resolve accordingly. + if "debugpy" not in sys.modules: + # Do not use dirname() to walk up - this can be a relative path, e.g. ".". + sys.path[0] = sys.path[0] + "/../../" + __import__("debugpy") + del sys.path[0] + + # Apply OS-global and user-specific locale settings. + try: + locale.setlocale(locale.LC_ALL, "") + except Exception: + # On POSIX, locale is set via environment variables, and this can fail if + # those variables reference a non-existing locale. Ignore and continue using + # the default "C" locale if so. + pass + + main(_parse_argv(sys.argv)) diff --git a/venv/lib/python3.8/site-packages/debugpy/adapter/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/adapter/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..402f522 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/adapter/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/adapter/__pycache__/__main__.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/adapter/__pycache__/__main__.cpython-38.pyc new file mode 100644 index 0000000..b7fdf96 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/adapter/__pycache__/__main__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/adapter/__pycache__/clients.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/adapter/__pycache__/clients.cpython-38.pyc new file mode 100644 index 0000000..d19a581 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/adapter/__pycache__/clients.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/adapter/__pycache__/components.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/adapter/__pycache__/components.cpython-38.pyc new file mode 100644 index 0000000..d14118b Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/adapter/__pycache__/components.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/adapter/__pycache__/launchers.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/adapter/__pycache__/launchers.cpython-38.pyc new file mode 100644 index 0000000..193099a Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/adapter/__pycache__/launchers.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/adapter/__pycache__/servers.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/adapter/__pycache__/servers.cpython-38.pyc new file mode 100644 index 0000000..fd307a9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/adapter/__pycache__/servers.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/adapter/__pycache__/sessions.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/adapter/__pycache__/sessions.cpython-38.pyc new file mode 100644 index 0000000..deff839 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/adapter/__pycache__/sessions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/adapter/clients.py b/venv/lib/python3.8/site-packages/debugpy/adapter/clients.py new file mode 100644 index 0000000..82985e6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/adapter/clients.py @@ -0,0 +1,703 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See LICENSE in the project root +# for license information. + +from __future__ import annotations + +import atexit +import os +import sys + +import debugpy +from debugpy import adapter, common, launcher +from debugpy.common import json, log, messaging, sockets +from debugpy.adapter import components, servers, sessions + + +class Client(components.Component): + """Handles the client side of a debug session.""" + + message_handler = components.Component.message_handler + + known_subprocesses: set[servers.Connection] + """Server connections to subprocesses that this client has been made aware of. + """ + + class Capabilities(components.Capabilities): + PROPERTIES = { + "supportsVariableType": False, + "supportsVariablePaging": False, + "supportsRunInTerminalRequest": False, + "supportsMemoryReferences": False, + "supportsArgsCanBeInterpretedByShell": False, + } + + class Expectations(components.Capabilities): + PROPERTIES = { + "locale": "en-US", + "linesStartAt1": True, + "columnsStartAt1": True, + "pathFormat": json.enum("path", optional=True), # we don't support "uri" + } + + def __init__(self, sock): + if sock == "stdio": + log.info("Connecting to client over stdio...", self) + stream = messaging.JsonIOStream.from_stdio() + # Make sure that nothing else tries to interfere with the stdio streams + # that are going to be used for DAP communication from now on. + sys.stdin = stdin = open(os.devnull, "r") + atexit.register(stdin.close) + sys.stdout = stdout = open(os.devnull, "w") + atexit.register(stdout.close) + else: + stream = messaging.JsonIOStream.from_socket(sock) + + with sessions.Session() as session: + super().__init__(session, stream) + + self.client_id = None + """ID of the connecting client. This can be 'test' while running tests.""" + + self.has_started = False + """Whether the "launch" or "attach" request was received from the client, and + fully handled. + """ + + self.start_request = None + """The "launch" or "attach" request as received from the client. + """ + + self._initialize_request = None + """The "initialize" request as received from the client, to propagate to the + server later.""" + + self._deferred_events = [] + """Deferred events from the launcher and the server that must be propagated + only if and when the "launch" or "attach" response is sent. + """ + + self.known_subprocesses = set() + + session.client = self + session.register() + + # For the transition period, send the telemetry events with both old and new + # name. The old one should be removed once the new one lights up. + self.channel.send_event( + "output", + { + "category": "telemetry", + "output": "ptvsd", + "data": {"packageVersion": debugpy.__version__}, + }, + ) + self.channel.send_event( + "output", + { + "category": "telemetry", + "output": "debugpy", + "data": {"packageVersion": debugpy.__version__}, + }, + ) + + def propagate_after_start(self, event): + # pydevd starts sending events as soon as we connect, but the client doesn't + # expect to see any until it receives the response to "launch" or "attach" + # request. If client is not ready yet, save the event instead of propagating + # it immediately. + if self._deferred_events is not None: + self._deferred_events.append(event) + log.debug("Propagation deferred.") + else: + self.client.channel.propagate(event) + + def _propagate_deferred_events(self): + log.debug("Propagating deferred events to {0}...", self.client) + for event in self._deferred_events: + log.debug("Propagating deferred {0}", event.describe()) + self.client.channel.propagate(event) + log.info("All deferred events propagated to {0}.", self.client) + self._deferred_events = None + + # Generic event handler. There are no specific handlers for client events, because + # there are no events from the client in DAP - but we propagate them if we can, in + # case some events appear in future protocol versions. + @message_handler + def event(self, event): + if self.server: + self.server.channel.propagate(event) + + # Generic request handler, used if there's no specific handler below. + @message_handler + def request(self, request): + return self.server.channel.delegate(request) + + @message_handler + def initialize_request(self, request): + if self._initialize_request is not None: + raise request.isnt_valid("Session is already initialized") + + self.client_id = request("clientID", "") + self.capabilities = self.Capabilities(self, request) + self.expectations = self.Expectations(self, request) + self._initialize_request = request + + exception_breakpoint_filters = [ + { + "filter": "raised", + "label": "Raised Exceptions", + "default": False, + "description": "Break whenever any exception is raised.", + }, + { + "filter": "uncaught", + "label": "Uncaught Exceptions", + "default": True, + "description": "Break when the process is exiting due to unhandled exception.", + }, + { + "filter": "userUnhandled", + "label": "User Uncaught Exceptions", + "default": False, + "description": "Break when exception escapes into library code.", + }, + ] + + return { + "supportsCompletionsRequest": True, + "supportsConditionalBreakpoints": True, + "supportsConfigurationDoneRequest": True, + "supportsDebuggerProperties": True, + "supportsDelayedStackTraceLoading": True, + "supportsEvaluateForHovers": True, + "supportsExceptionInfoRequest": True, + "supportsExceptionOptions": True, + "supportsFunctionBreakpoints": True, + "supportsHitConditionalBreakpoints": True, + "supportsLogPoints": True, + "supportsModulesRequest": True, + "supportsSetExpression": True, + "supportsSetVariable": True, + "supportsValueFormattingOptions": True, + "supportsTerminateDebuggee": True, + "supportsGotoTargetsRequest": True, + "supportsClipboardContext": True, + "exceptionBreakpointFilters": exception_breakpoint_filters, + "supportsStepInTargetsRequest": True, + } + + # Common code for "launch" and "attach" request handlers. + # + # See https://github.com/microsoft/vscode/issues/4902#issuecomment-368583522 + # for the sequence of request and events necessary to orchestrate the start. + def _start_message_handler(f): + @components.Component.message_handler + def handle(self, request): + assert request.is_request("launch", "attach") + if self._initialize_request is None: + raise request.isnt_valid("Session is not initialized yet") + if self.launcher or self.server: + raise request.isnt_valid("Session is already started") + + self.session.no_debug = request("noDebug", json.default(False)) + if self.session.no_debug: + servers.dont_wait_for_first_connection() + + self.session.debug_options = debug_options = set( + request("debugOptions", json.array(str)) + ) + + f(self, request) + if request.response is not None: + return + + if self.server: + self.server.initialize(self._initialize_request) + self._initialize_request = None + + arguments = request.arguments + if self.launcher: + redirecting = arguments.get("console") == "internalConsole" + if "RedirectOutput" in debug_options: + # The launcher is doing output redirection, so we don't need the + # server to do it, as well. + arguments = dict(arguments) + arguments["debugOptions"] = list( + debug_options - {"RedirectOutput"} + ) + redirecting = True + + if arguments.get("redirectOutput"): + arguments = dict(arguments) + del arguments["redirectOutput"] + redirecting = True + + arguments["isOutputRedirected"] = redirecting + + # pydevd doesn't send "initialized", and responds to the start request + # immediately, without waiting for "configurationDone". If it changes + # to conform to the DAP spec, we'll need to defer waiting for response. + try: + self.server.channel.request(request.command, arguments) + except messaging.NoMoreMessages: + # Server closed connection before we could receive the response to + # "attach" or "launch" - this can happen when debuggee exits shortly + # after starting. It's not an error, but we can't do anything useful + # here at this point, either, so just bail out. + request.respond({}) + self.session.finalize( + "{0} disconnected before responding to {1}".format( + self.server, + json.repr(request.command), + ) + ) + return + except messaging.MessageHandlingError as exc: + exc.propagate(request) + + if self.session.no_debug: + self.start_request = request + self.has_started = True + request.respond({}) + self._propagate_deferred_events() + return + + if "clientOS" in request: + client_os = request("clientOS", json.enum("windows", "unix")).upper() + elif {"WindowsClient", "Windows"} & debug_options: + client_os = "WINDOWS" + elif {"UnixClient", "UNIX"} & debug_options: + client_os = "UNIX" + else: + client_os = "WINDOWS" if sys.platform == "win32" else "UNIX" + self.server.channel.request( + "setDebuggerProperty", + { + "skipSuspendOnBreakpointException": ("BaseException",), + "skipPrintBreakpointException": ("NameError",), + "multiThreadsSingleNotification": True, + "ideOS": client_os, + }, + ) + + # Let the client know that it can begin configuring the adapter. + self.channel.send_event("initialized") + + self.start_request = request + return messaging.NO_RESPONSE # will respond on "configurationDone" + + return handle + + @_start_message_handler + def launch_request(self, request): + from debugpy.adapter import launchers + + if self.session.id != 1 or len(servers.connections()): + raise request.cant_handle('"attach" expected') + + debug_options = set(request("debugOptions", json.array(str))) + + # Handling of properties that can also be specified as legacy "debugOptions" flags. + # If property is explicitly set to false, but the flag is in "debugOptions", treat + # it as an error. Returns None if the property wasn't explicitly set either way. + def property_or_debug_option(prop_name, flag_name): + assert prop_name[0].islower() and flag_name[0].isupper() + + value = request(prop_name, bool, optional=True) + if value == (): + value = None + + if flag_name in debug_options: + if value is False: + raise request.isnt_valid( + '{0}:false and "debugOptions":[{1}] are mutually exclusive', + json.repr(prop_name), + json.repr(flag_name), + ) + value = True + + return value + + # "pythonPath" is a deprecated legacy spelling. If "python" is missing, then try + # the alternative. But if both are missing, the error message should say "python". + python_key = "python" + if python_key in request: + if "pythonPath" in request: + raise request.isnt_valid( + '"pythonPath" is not valid if "python" is specified' + ) + elif "pythonPath" in request: + python_key = "pythonPath" + python = request(python_key, json.array(str, vectorize=True, size=(0,))) + if not len(python): + python = [sys.executable] + + python += request("pythonArgs", json.array(str, size=(0,))) + request.arguments["pythonArgs"] = python[1:] + request.arguments["python"] = python + + launcher_python = request("debugLauncherPython", str, optional=True) + if launcher_python == (): + launcher_python = python[0] + + program = module = code = () + if "program" in request: + program = request("program", str) + args = [program] + request.arguments["processName"] = program + if "module" in request: + module = request("module", str) + args = ["-m", module] + request.arguments["processName"] = module + if "code" in request: + code = request("code", json.array(str, vectorize=True, size=(1,))) + args = ["-c", "\n".join(code)] + request.arguments["processName"] = "-c" + + num_targets = len([x for x in (program, module, code) if x != ()]) + if num_targets == 0: + raise request.isnt_valid( + 'either "program", "module", or "code" must be specified' + ) + elif num_targets != 1: + raise request.isnt_valid( + '"program", "module", and "code" are mutually exclusive' + ) + + console = request( + "console", + json.enum( + "internalConsole", + "integratedTerminal", + "externalTerminal", + optional=True, + ), + ) + console_title = request("consoleTitle", json.default("Python Debug Console")) + + # Propagate "args" via CLI so that shell expansion can be applied if requested. + target_args = request("args", json.array(str, vectorize=True)) + args += target_args + + # If "args" was a single string rather than an array, shell expansion must be applied. + shell_expand_args = len(target_args) > 0 and isinstance( + request.arguments["args"], str + ) + if shell_expand_args: + if not self.capabilities["supportsArgsCanBeInterpretedByShell"]: + raise request.isnt_valid( + 'Shell expansion in "args" is not supported by the client' + ) + if console == "internalConsole": + raise request.isnt_valid( + 'Shell expansion in "args" is not available for "console":"internalConsole"' + ) + + cwd = request("cwd", str, optional=True) + if cwd == (): + # If it's not specified, but we're launching a file rather than a module, + # and the specified path has a directory in it, use that. + cwd = None if program == () else (os.path.dirname(program) or None) + + sudo = bool(property_or_debug_option("sudo", "Sudo")) + if sudo and sys.platform == "win32": + raise request.cant_handle('"sudo":true is not supported on Windows.') + + launcher_path = request("debugLauncherPath", os.path.dirname(launcher.__file__)) + adapter_host = request("debugAdapterHost", "127.0.0.1") + + try: + servers.serve(adapter_host) + except Exception as exc: + raise request.cant_handle( + "{0} couldn't create listener socket for servers: {1}", + self.session, + exc, + ) + + launchers.spawn_debuggee( + self.session, + request, + [launcher_python], + launcher_path, + adapter_host, + args, + shell_expand_args, + cwd, + console, + console_title, + sudo, + ) + + @_start_message_handler + def attach_request(self, request): + if self.session.no_debug: + raise request.isnt_valid('"noDebug" is not supported for "attach"') + + host = request("host", str, optional=True) + port = request("port", int, optional=True) + listen = request("listen", dict, optional=True) + connect = request("connect", dict, optional=True) + pid = request("processId", (int, str), optional=True) + sub_pid = request("subProcessId", int, optional=True) + + if host != () or port != (): + if listen != (): + raise request.isnt_valid( + '"listen" and "host"/"port" are mutually exclusive' + ) + if connect != (): + raise request.isnt_valid( + '"connect" and "host"/"port" are mutually exclusive' + ) + if listen != (): + if connect != (): + raise request.isnt_valid( + '"listen" and "connect" are mutually exclusive' + ) + if pid != (): + raise request.isnt_valid( + '"listen" and "processId" are mutually exclusive' + ) + if sub_pid != (): + raise request.isnt_valid( + '"listen" and "subProcessId" are mutually exclusive' + ) + if pid != () and sub_pid != (): + raise request.isnt_valid( + '"processId" and "subProcessId" are mutually exclusive' + ) + + if listen != (): + if servers.is_serving(): + raise request.isnt_valid('Multiple concurrent "listen" sessions are not supported') + host = listen("host", "127.0.0.1") + port = listen("port", int) + adapter.access_token = None + host, port = servers.serve(host, port) + else: + if not servers.is_serving(): + servers.serve() + host, port = servers.listener.getsockname() + + # There are four distinct possibilities here. + # + # If "processId" is specified, this is attach-by-PID. We need to inject the + # debug server into the designated process, and then wait until it connects + # back to us. Since the injected server can crash, there must be a timeout. + # + # If "subProcessId" is specified, this is attach to a known subprocess, likely + # in response to a "debugpyAttach" event. If so, the debug server should be + # connected already, and thus the wait timeout is zero. + # + # If "listen" is specified, this is attach-by-socket with the server expected + # to connect to the adapter via debugpy.connect(). There is no PID known in + # advance, so just wait until the first server connection indefinitely, with + # no timeout. + # + # If "connect" is specified, this is attach-by-socket in which the server has + # spawned the adapter via debugpy.listen(). There is no PID known to the client + # in advance, but the server connection should be either be there already, or + # the server should be connecting shortly, so there must be a timeout. + # + # In the last two cases, if there's more than one server connection already, + # this is a multiprocess re-attach. The client doesn't know the PID, so we just + # connect it to the oldest server connection that we have - in most cases, it + # will be the one for the root debuggee process, but if it has exited already, + # it will be some subprocess. + if pid != (): + if not isinstance(pid, int): + try: + pid = int(pid) + except Exception: + raise request.isnt_valid('"processId" must be parseable as int') + debugpy_args = request("debugpyArgs", json.array(str)) + servers.inject(pid, debugpy_args) + timeout = common.PROCESS_SPAWN_TIMEOUT + pred = lambda conn: conn.pid == pid + else: + if sub_pid == (): + pred = lambda conn: True + timeout = common.PROCESS_SPAWN_TIMEOUT if listen == () else None + else: + pred = lambda conn: conn.pid == sub_pid + timeout = 0 + + self.channel.send_event("debugpyWaitingForServer", {"host": host, "port": port}) + conn = servers.wait_for_connection(self.session, pred, timeout) + if conn is None: + if sub_pid != (): + # If we can't find a matching subprocess, it's not always an error - + # it might have already exited, or didn't even get a chance to connect. + # To prevent the client from complaining, pretend that the "attach" + # request was successful, but that the session terminated immediately. + request.respond({}) + self.session.finalize( + 'No known subprocess with "subProcessId":{0}'.format(sub_pid) + ) + return + + raise request.cant_handle( + ( + "Timed out waiting for debug server to connect." + if timeout + else "There is no debug server connected to this adapter." + ), + sub_pid, + ) + + try: + conn.attach_to_session(self.session) + except ValueError: + request.cant_handle("{0} is already being debugged.", conn) + + @message_handler + def configurationDone_request(self, request): + if self.start_request is None or self.has_started: + request.cant_handle( + '"configurationDone" is only allowed during handling of a "launch" ' + 'or an "attach" request' + ) + + try: + self.has_started = True + try: + result = self.server.channel.delegate(request) + except messaging.NoMoreMessages: + # Server closed connection before we could receive the response to + # "configurationDone" - this can happen when debuggee exits shortly + # after starting. It's not an error, but we can't do anything useful + # here at this point, either, so just bail out. + request.respond({}) + self.start_request.respond({}) + self.session.finalize( + "{0} disconnected before responding to {1}".format( + self.server, + json.repr(request.command), + ) + ) + return + else: + request.respond(result) + except messaging.MessageHandlingError as exc: + self.start_request.cant_handle(str(exc)) + finally: + if self.start_request.response is None: + self.start_request.respond({}) + self._propagate_deferred_events() + + # Notify the client of any child processes of the debuggee that aren't already + # being debugged. + for conn in servers.connections(): + if conn.server is None and conn.ppid == self.session.pid: + self.notify_of_subprocess(conn) + + @message_handler + def evaluate_request(self, request): + propagated_request = self.server.channel.propagate(request) + + def handle_response(response): + request.respond(response.body) + + propagated_request.on_response(handle_response) + + return messaging.NO_RESPONSE + + @message_handler + def pause_request(self, request): + request.arguments["threadId"] = "*" + return self.server.channel.delegate(request) + + @message_handler + def continue_request(self, request): + request.arguments["threadId"] = "*" + + try: + return self.server.channel.delegate(request) + except messaging.NoMoreMessages: + # pydevd can sometimes allow the debuggee to exit before the queued + # "continue" response gets sent. Thus, a failed "continue" response + # indicating that the server disconnected should be treated as success. + return {"allThreadsContinued": True} + + @message_handler + def debugpySystemInfo_request(self, request): + result = {"debugpy": {"version": debugpy.__version__}} + if self.server: + try: + pydevd_info = self.server.channel.request("pydevdSystemInfo") + except Exception: + # If the server has already disconnected, or couldn't handle it, + # report what we've got. + pass + else: + result.update(pydevd_info) + return result + + @message_handler + def terminate_request(self, request): + self.session.finalize('client requested "terminate"', terminate_debuggee=True) + return {} + + @message_handler + def disconnect_request(self, request): + terminate_debuggee = request("terminateDebuggee", bool, optional=True) + if terminate_debuggee == (): + terminate_debuggee = None + self.session.finalize('client requested "disconnect"', terminate_debuggee) + return {} + + def notify_of_subprocess(self, conn): + log.info("{1} is a subprocess of {0}.", self, conn) + with self.session: + if self.start_request is None or conn in self.known_subprocesses: + return + if "processId" in self.start_request.arguments: + log.warning( + "Not reporting subprocess for {0}, because the parent process " + 'was attached to using "processId" rather than "port".', + self.session, + ) + return + + log.info("Notifying {0} about {1}.", self, conn) + body = dict(self.start_request.arguments) + self.known_subprocesses.add(conn) + self.session.notify_changed() + + for key in "processId", "listen", "preLaunchTask", "postDebugTask": + body.pop(key, None) + + body["name"] = "Subprocess {0}".format(conn.pid) + body["request"] = "attach" + body["subProcessId"] = conn.pid + + for key in "args", "processName", "pythonArgs": + body.pop(key, None) + + host = body.pop("host", None) + port = body.pop("port", None) + if "connect" not in body: + body["connect"] = {} + if "host" not in body["connect"]: + body["connect"]["host"] = host if host is not None else "127.0.0.1" + if "port" not in body["connect"]: + if port is None: + _, port = listener.getsockname() + body["connect"]["port"] = port + + self.channel.send_event("debugpyAttach", body) + + +def serve(host, port): + global listener + listener = sockets.serve("Client", Client, host, port) + return listener.getsockname() + + +def stop_serving(): + try: + listener.close() + except Exception: + log.swallow_exception(level="warning") diff --git a/venv/lib/python3.8/site-packages/debugpy/adapter/components.py b/venv/lib/python3.8/site-packages/debugpy/adapter/components.py new file mode 100644 index 0000000..cc88d14 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/adapter/components.py @@ -0,0 +1,183 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See LICENSE in the project root +# for license information. + +import functools + +from debugpy.common import json, log, messaging, util + + +ACCEPT_CONNECTIONS_TIMEOUT = 10 + + +class ComponentNotAvailable(Exception): + def __init__(self, type): + super().__init__(f"{type.__name__} is not available") + + +class Component(util.Observable): + """A component managed by a debug adapter: client, launcher, or debug server. + + Every component belongs to a Session, which is used for synchronization and + shared data. + + Every component has its own message channel, and provides message handlers for + that channel. All handlers should be decorated with @Component.message_handler, + which ensures that Session is locked for the duration of the handler. Thus, only + one handler is running at any given time across all components, unless the lock + is released explicitly or via Session.wait_for(). + + Components report changes to their attributes to Session, allowing one component + to wait_for() a change caused by another component. + """ + + def __init__(self, session, stream=None, channel=None): + assert (stream is None) ^ (channel is None) + + try: + lock_held = session.lock.acquire(blocking=False) + assert lock_held, "__init__ of a Component subclass must lock its Session" + finally: + session.lock.release() + + super().__init__() + + self.session = session + + if channel is None: + stream.name = str(self) + channel = messaging.JsonMessageChannel(stream, self) + channel.start() + else: + channel.name = channel.stream.name = str(self) + channel.handlers = self + self.channel = channel + self.is_connected = True + + # Do this last to avoid triggering useless notifications for assignments above. + self.observers += [lambda *_: self.session.notify_changed()] + + def __str__(self): + return f"{type(self).__name__}[{self.session.id}]" + + @property + def client(self): + return self.session.client + + @property + def launcher(self): + return self.session.launcher + + @property + def server(self): + return self.session.server + + def wait_for(self, *args, **kwargs): + return self.session.wait_for(*args, **kwargs) + + @staticmethod + def message_handler(f): + """Applied to a message handler to automatically lock and unlock the session + for its duration, and to validate the session state. + + If the handler raises ComponentNotAvailable or JsonIOError, converts it to + Message.cant_handle(). + """ + + @functools.wraps(f) + def lock_and_handle(self, message): + try: + with self.session: + return f(self, message) + except ComponentNotAvailable as exc: + raise message.cant_handle("{0}", exc, silent=True) + except messaging.MessageHandlingError as exc: + if exc.cause is message: + raise + else: + exc.propagate(message) + except messaging.JsonIOError as exc: + raise message.cant_handle( + "{0} disconnected unexpectedly", exc.stream.name, silent=True + ) + + return lock_and_handle + + def disconnect(self): + with self.session: + self.is_connected = False + self.session.finalize("{0} has disconnected".format(self)) + + +def missing(session, type): + class Missing(object): + """A dummy component that raises ComponentNotAvailable whenever some + attribute is accessed on it. + """ + + __getattr__ = __setattr__ = lambda self, *_: report() + __bool__ = __nonzero__ = lambda self: False + + def report(): + try: + raise ComponentNotAvailable(type) + except Exception as exc: + log.reraise_exception("{0} in {1}", exc, session) + + return Missing() + + +class Capabilities(dict): + """A collection of feature flags for a component. Corresponds to JSON properties + in the DAP "initialize" request or response, other than those that identify the + party. + """ + + PROPERTIES = {} + """JSON property names and default values for the the capabilities represented + by instances of this class. Keys are names, and values are either default values + or validators. + + If the value is callable, it must be a JSON validator; see debugpy.common.json for + details. If the value is not callable, it is as if json.default(value) validator + was used instead. + """ + + def __init__(self, component, message): + """Parses an "initialize" request or response and extracts the feature flags. + + For every "X" in self.PROPERTIES, sets self["X"] to the corresponding value + from message.payload if it's present there, or to the default value otherwise. + """ + + assert message.is_request("initialize") or message.is_response("initialize") + + self.component = component + + payload = message.payload + for name, validate in self.PROPERTIES.items(): + value = payload.get(name, ()) + if not callable(validate): + validate = json.default(validate) + + try: + value = validate(value) + except Exception as exc: + raise message.isnt_valid("{0} {1}", json.repr(name), exc) + + assert ( + value != () + ), f"{validate} must provide a default value for missing properties." + self[name] = value + + log.debug("{0}", self) + + def __repr__(self): + return f"{type(self).__name__}: {json.repr(dict(self))}" + + def require(self, *keys): + for key in keys: + if not self[key]: + raise messaging.MessageHandlingError( + f"{self.component} does not have capability {json.repr(key)}", + ) diff --git a/venv/lib/python3.8/site-packages/debugpy/adapter/launchers.py b/venv/lib/python3.8/site-packages/debugpy/adapter/launchers.py new file mode 100644 index 0000000..444e54d --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/adapter/launchers.py @@ -0,0 +1,191 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See LICENSE in the project root +# for license information. + +import os +import subprocess +import sys + +from debugpy import adapter, common +from debugpy.common import log, messaging, sockets +from debugpy.adapter import components, servers + + +class Launcher(components.Component): + """Handles the launcher side of a debug session.""" + + message_handler = components.Component.message_handler + + def __init__(self, session, stream): + with session: + assert not session.launcher + super().__init__(session, stream) + + self.pid = None + """Process ID of the debuggee process, as reported by the launcher.""" + + self.exit_code = None + """Exit code of the debuggee process.""" + + session.launcher = self + + @message_handler + def process_event(self, event): + self.pid = event("systemProcessId", int) + self.client.propagate_after_start(event) + + @message_handler + def output_event(self, event): + self.client.propagate_after_start(event) + + @message_handler + def exited_event(self, event): + self.exit_code = event("exitCode", int) + # We don't want to tell the client about this just yet, because it will then + # want to disconnect, and the launcher might still be waiting for keypress + # (if wait-on-exit was enabled). Instead, we'll report the event when we + # receive "terminated" from the launcher, right before it exits. + + @message_handler + def terminated_event(self, event): + try: + self.client.channel.send_event("exited", {"exitCode": self.exit_code}) + except Exception: + pass + self.channel.close() + + def terminate_debuggee(self): + with self.session: + if self.exit_code is None: + try: + self.channel.request("terminate") + except Exception: + pass + + +def spawn_debuggee( + session, + start_request, + python, + launcher_path, + adapter_host, + args, + shell_expand_args, + cwd, + console, + console_title, + sudo, +): + # -E tells sudo to propagate environment variables to the target process - this + # is necessary for launcher to get DEBUGPY_LAUNCHER_PORT and DEBUGPY_LOG_DIR. + cmdline = ["sudo", "-E"] if sudo else [] + cmdline += python + cmdline += [launcher_path] + env = {} + + arguments = dict(start_request.arguments) + if not session.no_debug: + _, arguments["port"] = servers.listener.getsockname() + arguments["adapterAccessToken"] = adapter.access_token + + def on_launcher_connected(sock): + listener.close() + stream = messaging.JsonIOStream.from_socket(sock) + Launcher(session, stream) + + try: + listener = sockets.serve( + "Launcher", on_launcher_connected, adapter_host, backlog=1 + ) + except Exception as exc: + raise start_request.cant_handle( + "{0} couldn't create listener socket for launcher: {1}", session, exc + ) + + try: + launcher_host, launcher_port = listener.getsockname() + launcher_addr = ( + launcher_port + if launcher_host == "127.0.0.1" + else f"{launcher_host}:{launcher_port}" + ) + cmdline += [str(launcher_addr), "--"] + cmdline += args + + if log.log_dir is not None: + env[str("DEBUGPY_LOG_DIR")] = log.log_dir + if log.stderr.levels != {"warning", "error"}: + env[str("DEBUGPY_LOG_STDERR")] = str(" ".join(log.stderr.levels)) + + if console == "internalConsole": + log.info("{0} spawning launcher: {1!r}", session, cmdline) + try: + # If we are talking to the client over stdio, sys.stdin and sys.stdout + # are redirected to avoid mangling the DAP message stream. Make sure + # the launcher also respects that. + subprocess.Popen( + cmdline, + cwd=cwd, + env=dict(list(os.environ.items()) + list(env.items())), + stdin=sys.stdin, + stdout=sys.stdout, + stderr=sys.stderr, + ) + except Exception as exc: + raise start_request.cant_handle("Failed to spawn launcher: {0}", exc) + else: + log.info('{0} spawning launcher via "runInTerminal" request.', session) + session.client.capabilities.require("supportsRunInTerminalRequest") + kinds = {"integratedTerminal": "integrated", "externalTerminal": "external"} + request_args = { + "kind": kinds[console], + "title": console_title, + "args": cmdline, + "env": env, + } + if cwd is not None: + request_args["cwd"] = cwd + if shell_expand_args: + request_args["argsCanBeInterpretedByShell"] = True + try: + # It is unspecified whether this request receives a response immediately, or only + # after the spawned command has completed running, so do not block waiting for it. + session.client.channel.send_request("runInTerminal", request_args) + except messaging.MessageHandlingError as exc: + exc.propagate(start_request) + + # If using sudo, it might prompt for password, and launcher won't start running + # until the user enters it, so don't apply timeout in that case. + if not session.wait_for( + lambda: session.launcher, + timeout=(None if sudo else common.PROCESS_SPAWN_TIMEOUT), + ): + raise start_request.cant_handle("Timed out waiting for launcher to connect") + + try: + session.launcher.channel.request(start_request.command, arguments) + except messaging.MessageHandlingError as exc: + exc.propagate(start_request) + + if not session.wait_for( + lambda: session.launcher.pid is not None, + timeout=common.PROCESS_SPAWN_TIMEOUT, + ): + raise start_request.cant_handle( + 'Timed out waiting for "process" event from launcher' + ) + + if session.no_debug: + return + + # Wait for the first incoming connection regardless of the PID - it won't + # necessarily match due to the use of stubs like py.exe or "conda run". + conn = servers.wait_for_connection( + session, lambda conn: True, timeout=common.PROCESS_SPAWN_TIMEOUT + ) + if conn is None: + raise start_request.cant_handle("Timed out waiting for debuggee to spawn") + conn.attach_to_session(session) + + finally: + listener.close() diff --git a/venv/lib/python3.8/site-packages/debugpy/adapter/servers.py b/venv/lib/python3.8/site-packages/debugpy/adapter/servers.py new file mode 100644 index 0000000..b860558 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/adapter/servers.py @@ -0,0 +1,563 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See LICENSE in the project root +# for license information. + +from __future__ import annotations + +import os +import subprocess +import sys +import threading +import time + +import debugpy +from debugpy import adapter +from debugpy.common import json, log, messaging, sockets +from debugpy.adapter import components + + +access_token = None +"""Access token used to authenticate with the servers.""" + +listener = None +"""Listener socket that accepts server connections.""" + +_lock = threading.RLock() + +_connections = [] +"""All servers that are connected to this adapter, in order in which they connected. +""" + +_connections_changed = threading.Event() + + +class Connection(object): + """A debug server that is connected to the adapter. + + Servers that are not participating in a debug session are managed directly by the + corresponding Connection instance. + + Servers that are participating in a debug session are managed by that sessions's + Server component instance, but Connection object remains, and takes over again + once the session ends. + """ + + disconnected: bool + + process_replaced: bool + """Whether this is a connection to a process that is being replaced in situ + by another process, e.g. via exec(). + """ + + server: Server | None + """The Server component, if this debug server belongs to Session. + """ + + pid: int | None + + ppid: int | None + + channel: messaging.JsonMessageChannel + + def __init__(self, sock): + from debugpy.adapter import sessions + + self.disconnected = False + + self.process_replaced = False + + self.server = None + + self.pid = None + + stream = messaging.JsonIOStream.from_socket(sock, str(self)) + self.channel = messaging.JsonMessageChannel(stream, self) + self.channel.start() + + try: + self.authenticate() + info = self.channel.request("pydevdSystemInfo") + process_info = info("process", json.object()) + self.pid = process_info("pid", int) + self.ppid = process_info("ppid", int, optional=True) + if self.ppid == (): + self.ppid = None + self.channel.name = stream.name = str(self) + + debugpy_dir = os.path.dirname(os.path.dirname(debugpy.__file__)) + # Note: we must check if 'debugpy' is not already in sys.modules because the + # evaluation of an import at the wrong time could deadlock Python due to + # its import lock. + # + # So, in general this evaluation shouldn't do anything. It's only + # important when pydevd attaches automatically to a subprocess. In this + # case, we have to make sure that debugpy is properly put back in the game + # for users to be able to use it.v + # + # In this case (when the import is needed), this evaluation *must* be done + # before the configurationDone request is sent -- if this is not respected + # it's possible that pydevd already started secondary threads to handle + # commands, in which case it's very likely that this command would be + # evaluated at the wrong thread and the import could potentially deadlock + # the program. + # + # Note 2: the sys module is guaranteed to be in the frame globals and + # doesn't need to be imported. + inject_debugpy = """ +if 'debugpy' not in sys.modules: + sys.path.insert(0, {debugpy_dir!r}) + try: + import debugpy + finally: + del sys.path[0] +""" + inject_debugpy = inject_debugpy.format(debugpy_dir=debugpy_dir) + + try: + self.channel.request("evaluate", {"expression": inject_debugpy}) + except messaging.MessageHandlingError: + # Failure to inject is not a fatal error - such a subprocess can + # still be debugged, it just won't support "import debugpy" in user + # code - so don't terminate the session. + log.swallow_exception( + "Failed to inject debugpy into {0}:", self, level="warning" + ) + + with _lock: + # The server can disconnect concurrently before we get here, e.g. if + # it was force-killed. If the disconnect() handler has already run, + # don't register this server or report it, since there's nothing to + # deregister it. + if self.disconnected: + return + + # An existing connection with the same PID and process_replaced == True + # corresponds to the process that replaced itself with this one, so it's + # not an error. + if any( + conn.pid == self.pid and not conn.process_replaced + for conn in _connections + ): + raise KeyError(f"{self} is already connected to this adapter") + + is_first_server = len(_connections) == 0 + _connections.append(self) + _connections_changed.set() + + except Exception: + log.swallow_exception("Failed to accept incoming server connection:") + self.channel.close() + + # If this was the first server to connect, and the main thread is inside + # wait_until_disconnected(), we want to unblock it and allow it to exit. + dont_wait_for_first_connection() + + # If we couldn't retrieve all the necessary info from the debug server, + # or there's a PID clash, we don't want to track this debuggee anymore, + # but we want to continue accepting connections. + return + + parent_session = sessions.get(self.ppid) + if parent_session is None: + parent_session = sessions.get(self.pid) + if parent_session is None: + log.info("No active debug session for parent process of {0}.", self) + else: + if self.pid == parent_session.pid: + parent_server = parent_session.server + if not (parent_server and parent_server.connection.process_replaced): + log.error("{0} is not expecting replacement.", parent_session) + self.channel.close() + return + try: + parent_session.client.notify_of_subprocess(self) + return + except Exception: + # This might fail if the client concurrently disconnects from the parent + # session. We still want to keep the connection around, in case the + # client reconnects later. If the parent session was "launch", it'll take + # care of closing the remaining server connections. + log.swallow_exception( + "Failed to notify parent session about {0}:", self + ) + + # If we got to this point, the subprocess notification was either not sent, + # or not delivered successfully. For the first server, this is expected, since + # it corresponds to the root process, and there is no other debug session to + # notify. But subsequent server connections represent subprocesses, and those + # will not start running user code until the client tells them to. Since there + # isn't going to be a client without the notification, such subprocesses have + # to be unblocked. + if is_first_server: + return + log.info("No clients to wait for - unblocking {0}.", self) + try: + self.channel.request("initialize", {"adapterID": "debugpy"}) + self.channel.request("attach", {"subProcessId": self.pid}) + self.channel.request("configurationDone") + self.channel.request("disconnect") + except Exception: + log.swallow_exception("Failed to unblock orphaned subprocess:") + self.channel.close() + + def __str__(self): + return "Server" + ("[?]" if self.pid is None else f"[pid={self.pid}]") + + def authenticate(self): + if access_token is None and adapter.access_token is None: + return + auth = self.channel.request( + "pydevdAuthorize", {"debugServerAccessToken": access_token} + ) + if auth["clientAccessToken"] != adapter.access_token: + self.channel.close() + raise RuntimeError('Mismatched "clientAccessToken"; server not authorized.') + + def request(self, request): + raise request.isnt_valid( + "Requests from the debug server to the client are not allowed." + ) + + def event(self, event): + pass + + def terminated_event(self, event): + self.channel.close() + + def disconnect(self): + with _lock: + self.disconnected = True + if self.server is not None: + # If the disconnect happened while Server was being instantiated, + # we need to tell it, so that it can clean up via Session.finalize(). + # It will also take care of deregistering the connection in that case. + self.server.disconnect() + elif self in _connections: + _connections.remove(self) + _connections_changed.set() + + def attach_to_session(self, session): + """Attaches this server to the specified Session as a Server component. + + Raises ValueError if the server already belongs to some session. + """ + + with _lock: + if self.server is not None: + raise ValueError + log.info("Attaching {0} to {1}", self, session) + self.server = Server(session, self) + + +class Server(components.Component): + """Handles the debug server side of a debug session.""" + + message_handler = components.Component.message_handler + + connection: Connection + + class Capabilities(components.Capabilities): + PROPERTIES = { + "supportsCompletionsRequest": False, + "supportsConditionalBreakpoints": False, + "supportsConfigurationDoneRequest": False, + "supportsDataBreakpoints": False, + "supportsDelayedStackTraceLoading": False, + "supportsDisassembleRequest": False, + "supportsEvaluateForHovers": False, + "supportsExceptionInfoRequest": False, + "supportsExceptionOptions": False, + "supportsFunctionBreakpoints": False, + "supportsGotoTargetsRequest": False, + "supportsHitConditionalBreakpoints": False, + "supportsLoadedSourcesRequest": False, + "supportsLogPoints": False, + "supportsModulesRequest": False, + "supportsReadMemoryRequest": False, + "supportsRestartFrame": False, + "supportsRestartRequest": False, + "supportsSetExpression": False, + "supportsSetVariable": False, + "supportsStepBack": False, + "supportsStepInTargetsRequest": False, + "supportsTerminateDebuggee": False, + "supportsTerminateRequest": False, + "supportsTerminateThreadsRequest": False, + "supportsValueFormattingOptions": False, + "exceptionBreakpointFilters": [], + "additionalModuleColumns": [], + "supportedChecksumAlgorithms": [], + } + + def __init__(self, session, connection): + assert connection.server is None + with session: + assert not session.server + super().__init__(session, channel=connection.channel) + + self.connection = connection + + assert self.session.pid is None + if self.session.launcher and self.session.launcher.pid != self.pid: + log.info( + "Launcher reported PID={0}, but server reported PID={1}", + self.session.launcher.pid, + self.pid, + ) + self.session.pid = self.pid + + session.server = self + + @property + def pid(self): + """Process ID of the debuggee process, as reported by the server.""" + return self.connection.pid + + @property + def ppid(self): + """Parent process ID of the debuggee process, as reported by the server.""" + return self.connection.ppid + + def initialize(self, request): + assert request.is_request("initialize") + self.connection.authenticate() + request = self.channel.propagate(request) + request.wait_for_response() + self.capabilities = self.Capabilities(self, request.response) + + # Generic request handler, used if there's no specific handler below. + @message_handler + def request(self, request): + # Do not delegate requests from the server by default. There is a security + # boundary between the server and the adapter, and we cannot trust arbitrary + # requests sent over that boundary, since they may contain arbitrary code + # that the client will execute - e.g. "runInTerminal". The adapter must only + # propagate requests that it knows are safe. + raise request.isnt_valid( + "Requests from the debug server to the client are not allowed." + ) + + # Generic event handler, used if there's no specific handler below. + @message_handler + def event(self, event): + self.client.propagate_after_start(event) + + @message_handler + def initialized_event(self, event): + # pydevd doesn't send it, but the adapter will send its own in any case. + pass + + @message_handler + def process_event(self, event): + # If there is a launcher, it's handling the process event. + if not self.launcher: + self.client.propagate_after_start(event) + + @message_handler + def continued_event(self, event): + # https://github.com/microsoft/ptvsd/issues/1530 + # + # DAP specification says that a step request implies that only the thread on + # which that step occurred is resumed for the duration of the step. However, + # for VS compatibility, pydevd can operate in a mode that resumes all threads + # instead. This is set according to the value of "steppingResumesAllThreads" + # in "launch" or "attach" request, which defaults to true. If explicitly set + # to false, pydevd will only resume the thread that was stepping. + # + # To ensure that the client is aware that other threads are getting resumed in + # that mode, pydevd sends a "continued" event with "allThreadsResumed": true. + # when responding to a step request. This ensures correct behavior in VSCode + # and other DAP-conformant clients. + # + # On the other hand, VS does not follow the DAP specification in this regard. + # When it requests a step, it assumes that all threads will be resumed, and + # does not expect to see "continued" events explicitly reflecting that fact. + # If such events are sent regardless, VS behaves erratically. Thus, we have + # to suppress them specifically for VS. + if self.client.client_id not in ("visualstudio", "vsformac"): + self.client.propagate_after_start(event) + + @message_handler + def exited_event(self, event: messaging.Event): + if event("pydevdReason", str, optional=True) == "processReplaced": + # The parent process used some API like exec() that replaced it with another + # process in situ. The connection will shut down immediately afterwards, but + # we need to keep the corresponding session alive long enough to report the + # subprocess to it. + self.connection.process_replaced = True + else: + # If there is a launcher, it's handling the exit code. + if not self.launcher: + self.client.propagate_after_start(event) + + @message_handler + def terminated_event(self, event): + # Do not propagate this, since we'll report our own. + self.channel.close() + + def detach_from_session(self): + with _lock: + self.is_connected = False + self.channel.handlers = self.connection + self.channel.name = self.channel.stream.name = str(self.connection) + self.connection.server = None + + def disconnect(self): + if self.connection.process_replaced: + # Wait for the replacement server to connect to the adapter, and to report + # itself to the client for this session if there is one. + log.info("{0} is waiting for replacement subprocess.", self) + session = self.session + if not session.client or not session.client.is_connected: + wait_for_connection( + session, lambda conn: conn.pid == self.pid, timeout=30 + ) + else: + self.wait_for( + lambda: ( + not session.client + or not session.client.is_connected + or any( + conn.pid == self.pid + for conn in session.client.known_subprocesses + ) + ), + timeout=30, + ) + with _lock: + _connections.remove(self.connection) + _connections_changed.set() + super().disconnect() + + +def serve(host="127.0.0.1", port=0): + global listener + listener = sockets.serve("Server", Connection, host, port) + return listener.getsockname() + + +def is_serving(): + return listener is not None + + +def stop_serving(): + global listener + try: + if listener is not None: + listener.close() + listener = None + except Exception: + log.swallow_exception(level="warning") + + +def connections(): + with _lock: + return list(_connections) + + +def wait_for_connection(session, predicate, timeout=None): + """Waits until there is a server matching the specified predicate connected to + this adapter, and returns the corresponding Connection. + + If there is more than one server connection already available, returns the oldest + one. + """ + + def wait_for_timeout(): + time.sleep(timeout) + wait_for_timeout.timed_out = True + with _lock: + _connections_changed.set() + + wait_for_timeout.timed_out = timeout == 0 + if timeout: + thread = threading.Thread( + target=wait_for_timeout, name="servers.wait_for_connection() timeout" + ) + thread.daemon = True + thread.start() + + if timeout != 0: + log.info("{0} waiting for connection from debug server...", session) + while True: + with _lock: + _connections_changed.clear() + conns = (conn for conn in _connections if predicate(conn)) + conn = next(conns, None) + if conn is not None or wait_for_timeout.timed_out: + return conn + _connections_changed.wait() + + +def wait_until_disconnected(): + """Blocks until all debug servers disconnect from the adapter. + + If there are no server connections, waits until at least one is established first, + before waiting for it to disconnect. + """ + while True: + _connections_changed.wait() + with _lock: + _connections_changed.clear() + if not len(_connections): + return + + +def dont_wait_for_first_connection(): + """Unblocks any pending wait_until_disconnected() call that is waiting on the + first server to connect. + """ + with _lock: + _connections_changed.set() + + +def inject(pid, debugpy_args): + host, port = listener.getsockname() + + cmdline = [ + sys.executable, + os.path.dirname(debugpy.__file__), + "--connect", + host + ":" + str(port), + ] + if adapter.access_token is not None: + cmdline += ["--adapter-access-token", adapter.access_token] + cmdline += debugpy_args + cmdline += ["--pid", str(pid)] + + log.info("Spawning attach-to-PID debugger injector: {0!r}", cmdline) + try: + injector = subprocess.Popen( + cmdline, + bufsize=0, + stdin=subprocess.PIPE, + stdout=subprocess.PIPE, + stderr=subprocess.STDOUT, + ) + except Exception as exc: + log.swallow_exception( + "Failed to inject debug server into process with PID={0}", pid + ) + raise messaging.MessageHandlingError( + "Failed to inject debug server into process with PID={0}: {1}".format( + pid, exc + ) + ) + + # We need to capture the output of the injector - otherwise it can get blocked + # on a write() syscall when it tries to print something. + + def capture_output(): + while True: + line = injector.stdout.readline() + if not line: + break + log.info("Injector[PID={0}] output:\n{1}", pid, line.rstrip()) + log.info("Injector[PID={0}] exited.", pid) + + thread = threading.Thread( + target=capture_output, + name=f"Injector[PID={pid}] output", + ) + thread.daemon = True + thread.start() diff --git a/venv/lib/python3.8/site-packages/debugpy/adapter/sessions.py b/venv/lib/python3.8/site-packages/debugpy/adapter/sessions.py new file mode 100644 index 0000000..ca6c574 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/adapter/sessions.py @@ -0,0 +1,281 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See LICENSE in the project root +# for license information. + +import itertools +import os +import signal +import threading +import time + +from debugpy import common +from debugpy.common import log, util +from debugpy.adapter import components, launchers, servers + + +_lock = threading.RLock() +_sessions = set() +_sessions_changed = threading.Event() + + +class Session(util.Observable): + """A debug session involving a client, an adapter, a launcher, and a debug server. + + The client and the adapter are always present, and at least one of launcher and debug + server is present, depending on the scenario. + """ + + _counter = itertools.count(1) + + def __init__(self): + from debugpy.adapter import clients + + super().__init__() + + self.lock = threading.RLock() + self.id = next(self._counter) + self._changed_condition = threading.Condition(self.lock) + + self.client = components.missing(self, clients.Client) + """The client component. Always present.""" + + self.launcher = components.missing(self, launchers.Launcher) + """The launcher componet. Always present in "launch" sessions, and never + present in "attach" sessions. + """ + + self.server = components.missing(self, servers.Server) + """The debug server component. Always present, unless this is a "launch" + session with "noDebug". + """ + + self.no_debug = None + """Whether this is a "noDebug" session.""" + + self.pid = None + """Process ID of the debuggee process.""" + + self.debug_options = {} + """Debug options as specified by "launch" or "attach" request.""" + + self.is_finalizing = False + """Whether finalize() has been invoked.""" + + self.observers += [lambda *_: self.notify_changed()] + + def __str__(self): + return f"Session[{self.id}]" + + def __enter__(self): + """Lock the session for exclusive access.""" + self.lock.acquire() + return self + + def __exit__(self, exc_type, exc_value, exc_tb): + """Unlock the session.""" + self.lock.release() + + def register(self): + with _lock: + _sessions.add(self) + _sessions_changed.set() + + def notify_changed(self): + with self: + self._changed_condition.notify_all() + + # A session is considered ended once all components disconnect, and there + # are no further incoming messages from anything to handle. + components = self.client, self.launcher, self.server + if all(not com or not com.is_connected for com in components): + with _lock: + if self in _sessions: + log.info("{0} has ended.", self) + _sessions.remove(self) + _sessions_changed.set() + + def wait_for(self, predicate, timeout=None): + """Waits until predicate() becomes true. + + The predicate is invoked with the session locked. If satisfied, the method + returns immediately. Otherwise, the lock is released (even if it was held + at entry), and the method blocks waiting for some attribute of either self, + self.client, self.server, or self.launcher to change. On every change, session + is re-locked and predicate is re-evaluated, until it is satisfied. + + While the session is unlocked, message handlers for components other than + the one that is waiting can run, but message handlers for that one are still + blocked. + + If timeout is not None, the method will unblock and return after that many + seconds regardless of whether the predicate was satisfied. The method returns + False if it timed out, and True otherwise. + """ + + def wait_for_timeout(): + time.sleep(timeout) + wait_for_timeout.timed_out = True + self.notify_changed() + + wait_for_timeout.timed_out = False + if timeout is not None: + thread = threading.Thread( + target=wait_for_timeout, name="Session.wait_for() timeout" + ) + thread.daemon = True + thread.start() + + with self: + while not predicate(): + if wait_for_timeout.timed_out: + return False + self._changed_condition.wait() + return True + + def finalize(self, why, terminate_debuggee=None): + """Finalizes the debug session. + + If the server is present, sends "disconnect" request with "terminateDebuggee" + set as specified request to it; waits for it to disconnect, allowing any + remaining messages from it to be handled; and closes the server channel. + + If the launcher is present, sends "terminate" request to it, regardless of the + value of terminate; waits for it to disconnect, allowing any remaining messages + from it to be handled; and closes the launcher channel. + + If the client is present, sends "terminated" event to it. + + If terminate_debuggee=None, it is treated as True if the session has a Launcher + component, and False otherwise. + """ + + if self.is_finalizing: + return + self.is_finalizing = True + log.info("{0}; finalizing {1}.", why, self) + + if terminate_debuggee is None: + terminate_debuggee = bool(self.launcher) + + try: + self._finalize(why, terminate_debuggee) + except Exception: + # Finalization should never fail, and if it does, the session is in an + # indeterminate and likely unrecoverable state, so just fail fast. + log.swallow_exception("Fatal error while finalizing {0}", self) + os._exit(1) + + log.info("{0} finalized.", self) + + def _finalize(self, why, terminate_debuggee): + # If the client started a session, and then disconnected before issuing "launch" + # or "attach", the main thread will be blocked waiting for the first server + # connection to come in - unblock it, so that we can exit. + servers.dont_wait_for_first_connection() + + if self.server: + if self.server.is_connected: + if terminate_debuggee and self.launcher and self.launcher.is_connected: + # If we were specifically asked to terminate the debuggee, and we + # can ask the launcher to kill it, do so instead of disconnecting + # from the server to prevent debuggee from running any more code. + self.launcher.terminate_debuggee() + else: + # Otherwise, let the server handle it the best it can. + try: + self.server.channel.request( + "disconnect", {"terminateDebuggee": terminate_debuggee} + ) + except Exception: + pass + self.server.detach_from_session() + + if self.launcher and self.launcher.is_connected: + # If there was a server, we just disconnected from it above, which should + # cause the debuggee process to exit, unless it is being replaced in situ - + # so let's wait for that first. + if self.server and not self.server.connection.process_replaced: + log.info('{0} waiting for "exited" event...', self) + if not self.wait_for( + lambda: self.launcher.exit_code is not None, + timeout=common.PROCESS_EXIT_TIMEOUT, + ): + log.warning('{0} timed out waiting for "exited" event.', self) + + # Terminate the debuggee process if it's still alive for any reason - + # whether it's because there was no server to handle graceful shutdown, + # or because the server couldn't handle it for some reason - unless the + # process is being replaced in situ. + if not (self.server and self.server.connection.process_replaced): + self.launcher.terminate_debuggee() + + # Wait until the launcher message queue fully drains. There is no timeout + # here, because the final "terminated" event will only come after reading + # user input in wait-on-exit scenarios. In addition, if the process was + # replaced in situ, the launcher might still have more output to capture + # from its replacement. + log.info("{0} waiting for {1} to disconnect...", self, self.launcher) + self.wait_for(lambda: not self.launcher.is_connected) + + try: + self.launcher.channel.close() + except Exception: + log.swallow_exception() + + if self.client: + if self.client.is_connected: + # Tell the client that debugging is over, but don't close the channel until it + # tells us to, via the "disconnect" request. + try: + self.client.channel.send_event("terminated") + except Exception: + pass + + if ( + self.client.start_request is not None + and self.client.start_request.command == "launch" + and not (self.server and self.server.connection.process_replaced) + ): + servers.stop_serving() + log.info( + '"launch" session ended - killing remaining debuggee processes.' + ) + + pids_killed = set() + if self.launcher and self.launcher.pid is not None: + # Already killed above. + pids_killed.add(self.launcher.pid) + + while True: + conns = [ + conn + for conn in servers.connections() + if conn.pid not in pids_killed + ] + if not len(conns): + break + for conn in conns: + log.info("Killing {0}", conn) + try: + os.kill(conn.pid, signal.SIGTERM) + except Exception: + log.swallow_exception("Failed to kill {0}", conn) + pids_killed.add(conn.pid) + + +def get(pid): + with _lock: + return next((session for session in _sessions if session.pid == pid), None) + + +def wait_until_ended(): + """Blocks until all sessions have ended. + + A session ends when all components that it manages disconnect from it. + """ + while True: + with _lock: + if not len(_sessions): + return + _sessions_changed.clear() + _sessions_changed.wait() diff --git a/venv/lib/python3.8/site-packages/debugpy/common/__init__.py b/venv/lib/python3.8/site-packages/debugpy/common/__init__.py new file mode 100644 index 0000000..3dde363 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/common/__init__.py @@ -0,0 +1,18 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See LICENSE in the project root +# for license information. + +from __future__ import annotations +import os +import typing + +if typing.TYPE_CHECKING: + __all__: list[str] + +__all__ = [] + +# The lower time bound for assuming that the process hasn't spawned successfully. +PROCESS_SPAWN_TIMEOUT = float(os.getenv("DEBUGPY_PROCESS_SPAWN_TIMEOUT", 15)) + +# The lower time bound for assuming that the process hasn't exited gracefully. +PROCESS_EXIT_TIMEOUT = float(os.getenv("DEBUGPY_PROCESS_EXIT_TIMEOUT", 5)) diff --git a/venv/lib/python3.8/site-packages/debugpy/common/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/common/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..1efd686 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/common/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/common/__pycache__/json.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/common/__pycache__/json.cpython-38.pyc new file mode 100644 index 0000000..18305eb Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/common/__pycache__/json.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/common/__pycache__/log.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/common/__pycache__/log.cpython-38.pyc new file mode 100644 index 0000000..6b082f2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/common/__pycache__/log.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/common/__pycache__/messaging.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/common/__pycache__/messaging.cpython-38.pyc new file mode 100644 index 0000000..7540135 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/common/__pycache__/messaging.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/common/__pycache__/singleton.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/common/__pycache__/singleton.cpython-38.pyc new file mode 100644 index 0000000..e4847e0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/common/__pycache__/singleton.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/common/__pycache__/sockets.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/common/__pycache__/sockets.cpython-38.pyc new file mode 100644 index 0000000..56c53f8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/common/__pycache__/sockets.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/common/__pycache__/stacks.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/common/__pycache__/stacks.cpython-38.pyc new file mode 100644 index 0000000..0e1d84a Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/common/__pycache__/stacks.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/common/__pycache__/timestamp.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/common/__pycache__/timestamp.cpython-38.pyc new file mode 100644 index 0000000..b92d0fc Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/common/__pycache__/timestamp.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/common/__pycache__/util.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/common/__pycache__/util.cpython-38.pyc new file mode 100644 index 0000000..81ab315 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/common/__pycache__/util.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/common/json.py b/venv/lib/python3.8/site-packages/debugpy/common/json.py new file mode 100644 index 0000000..6f3e2b2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/common/json.py @@ -0,0 +1,292 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See LICENSE in the project root +# for license information. + +"""Improved JSON serialization. +""" + +import builtins +import json +import numbers +import operator + + +JsonDecoder = json.JSONDecoder + + +class JsonEncoder(json.JSONEncoder): + """Customizable JSON encoder. + + If the object implements __getstate__, then that method is invoked, and its + result is serialized instead of the object itself. + """ + + def default(self, value): + try: + get_state = value.__getstate__ + except AttributeError: + pass + else: + return get_state() + return super().default(value) + + +class JsonObject(object): + """A wrapped Python object that formats itself as JSON when asked for a string + representation via str() or format(). + """ + + json_encoder_factory = JsonEncoder + """Used by __format__ when format_spec is not empty.""" + + json_encoder = json_encoder_factory(indent=4) + """The default encoder used by __format__ when format_spec is empty.""" + + def __init__(self, value): + assert not isinstance(value, JsonObject) + self.value = value + + def __getstate__(self): + raise NotImplementedError + + def __repr__(self): + return builtins.repr(self.value) + + def __str__(self): + return format(self) + + def __format__(self, format_spec): + """If format_spec is empty, uses self.json_encoder to serialize self.value + as a string. Otherwise, format_spec is treated as an argument list to be + passed to self.json_encoder_factory - which defaults to JSONEncoder - and + then the resulting formatter is used to serialize self.value as a string. + + Example:: + + format("{0} {0:indent=4,sort_keys=True}", json.repr(x)) + """ + if format_spec: + # At this point, format_spec is a string that looks something like + # "indent=4,sort_keys=True". What we want is to build a function call + # from that which looks like: + # + # json_encoder_factory(indent=4,sort_keys=True) + # + # which we can then eval() to create our encoder instance. + make_encoder = "json_encoder_factory(" + format_spec + ")" + encoder = eval( + make_encoder, {"json_encoder_factory": self.json_encoder_factory} + ) + else: + encoder = self.json_encoder + return encoder.encode(self.value) + + +# JSON property validators, for use with MessageDict. +# +# A validator is invoked with the actual value of the JSON property passed to it as +# the sole argument; or if the property is missing in JSON, then () is passed. Note +# that None represents an actual null in JSON, while () is a missing value. +# +# The validator must either raise TypeError or ValueError describing why the property +# value is invalid, or else return the value of the property, possibly after performing +# some substitutions - e.g. replacing () with some default value. + + +def _converter(value, classinfo): + """Convert value (str) to number, otherwise return None if is not possible""" + for one_info in classinfo: + if issubclass(one_info, numbers.Number): + try: + return one_info(value) + except ValueError: + pass + + +def of_type(*classinfo, **kwargs): + """Returns a validator for a JSON property that requires it to have a value of + the specified type. If optional=True, () is also allowed. + + The meaning of classinfo is the same as for isinstance(). + """ + + assert len(classinfo) + optional = kwargs.pop("optional", False) + assert not len(kwargs) + + def validate(value): + if (optional and value == ()) or isinstance(value, classinfo): + return value + else: + converted_value = _converter(value, classinfo) + if converted_value: + return converted_value + + if not optional and value == (): + raise ValueError("must be specified") + raise TypeError("must be " + " or ".join(t.__name__ for t in classinfo)) + + return validate + + +def default(default): + """Returns a validator for a JSON property with a default value. + + The validator will only allow property values that have the same type as the + specified default value. + """ + + def validate(value): + if value == (): + return default + elif isinstance(value, type(default)): + return value + else: + raise TypeError("must be {0}".format(type(default).__name__)) + + return validate + + +def enum(*values, **kwargs): + """Returns a validator for a JSON enum. + + The validator will only allow the property to have one of the specified values. + + If optional=True, and the property is missing, the first value specified is used + as the default. + """ + + assert len(values) + optional = kwargs.pop("optional", False) + assert not len(kwargs) + + def validate(value): + if optional and value == (): + return values[0] + elif value in values: + return value + else: + raise ValueError("must be one of: {0!r}".format(list(values))) + + return validate + + +def array(validate_item=False, vectorize=False, size=None): + """Returns a validator for a JSON array. + + If the property is missing, it is treated as if it were []. Otherwise, it must + be a list. + + If validate_item=False, it's treated as if it were (lambda x: x) - i.e. any item + is considered valid, and is unchanged. If validate_item is a type or a tuple, + it's treated as if it were json.of_type(validate). + + Every item in the list is replaced with validate_item(item) in-place, propagating + any exceptions raised by the latter. If validate_item is a type or a tuple, it is + treated as if it were json.of_type(validate_item). + + If vectorize=True, and the value is neither a list nor a dict, it is treated as + if it were a single-element list containing that single value - e.g. "foo" is + then the same as ["foo"]; but {} is an error, and not [{}]. + + If size is not None, it can be an int, a tuple of one int, a tuple of two ints, + or a set. If it's an int, the array must have exactly that many elements. If it's + a tuple of one int, it's the minimum length. If it's a tuple of two ints, they + are the minimum and the maximum lengths. If it's a set, it's the set of sizes that + are valid - e.g. for {2, 4}, the array can be either 2 or 4 elements long. + """ + + if not validate_item: + validate_item = lambda x: x + elif isinstance(validate_item, type) or isinstance(validate_item, tuple): + validate_item = of_type(validate_item) + + if size is None: + validate_size = lambda _: True + elif isinstance(size, set): + size = {operator.index(n) for n in size} + validate_size = lambda value: ( + len(value) in size + or "must have {0} elements".format( + " or ".join(str(n) for n in sorted(size)) + ) + ) + elif isinstance(size, tuple): + assert 1 <= len(size) <= 2 + size = tuple(operator.index(n) for n in size) + min_len, max_len = (size + (None,))[0:2] + validate_size = lambda value: ( + "must have at least {0} elements".format(min_len) + if len(value) < min_len + else "must have at most {0} elements".format(max_len) + if max_len is not None and len(value) < max_len + else True + ) + else: + size = operator.index(size) + validate_size = lambda value: ( + len(value) == size or "must have {0} elements".format(size) + ) + + def validate(value): + if value == (): + value = [] + elif vectorize and not isinstance(value, (list, dict)): + value = [value] + + of_type(list)(value) + + size_err = validate_size(value) # True if valid, str if error + if size_err is not True: + raise ValueError(size_err) + + for i, item in enumerate(value): + try: + value[i] = validate_item(item) + except (TypeError, ValueError) as exc: + raise type(exc)(f"[{repr(i)}] {exc}") + return value + + return validate + + +def object(validate_value=False): + """Returns a validator for a JSON object. + + If the property is missing, it is treated as if it were {}. Otherwise, it must + be a dict. + + If validate_value=False, it's treated as if it were (lambda x: x) - i.e. any + value is considered valid, and is unchanged. If validate_value is a type or a + tuple, it's treated as if it were json.of_type(validate_value). + + Every value in the dict is replaced with validate_value(value) in-place, propagating + any exceptions raised by the latter. If validate_value is a type or a tuple, it is + treated as if it were json.of_type(validate_value). Keys are not affected. + """ + + if isinstance(validate_value, type) or isinstance(validate_value, tuple): + validate_value = of_type(validate_value) + + def validate(value): + if value == (): + return {} + + of_type(dict)(value) + if validate_value: + for k, v in value.items(): + try: + value[k] = validate_value(v) + except (TypeError, ValueError) as exc: + raise type(exc)(f"[{repr(k)}] {exc}") + return value + + return validate + + +def repr(value): + return JsonObject(value) + + +dumps = json.dumps +loads = json.loads diff --git a/venv/lib/python3.8/site-packages/debugpy/common/log.py b/venv/lib/python3.8/site-packages/debugpy/common/log.py new file mode 100644 index 0000000..2859dc2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/common/log.py @@ -0,0 +1,384 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See LICENSE in the project root +# for license information. + +import atexit +import contextlib +import functools +import inspect +import io +import os +import platform +import sys +import threading +import traceback + +import debugpy +from debugpy.common import json, timestamp, util + + +LEVELS = ("debug", "info", "warning", "error") +"""Logging levels, lowest to highest importance. +""" + +log_dir = os.getenv("DEBUGPY_LOG_DIR") +"""If not None, debugger logs its activity to a file named debugpy.*-.log +in the specified directory, where is the return value of os.getpid(). +""" + +timestamp_format = "09.3f" +"""Format spec used for timestamps. Can be changed to dial precision up or down. +""" + +_lock = threading.RLock() +_tls = threading.local() +_files = {} # filename -> LogFile +_levels = set() # combined for all log files + + +def _update_levels(): + global _levels + _levels = frozenset(level for file in _files.values() for level in file.levels) + + +class LogFile(object): + def __init__(self, filename, file, levels=LEVELS, close_file=True): + info("Also logging to {0}.", json.repr(filename)) + self.filename = filename + self.file = file + self.close_file = close_file + self._levels = frozenset(levels) + + with _lock: + _files[self.filename] = self + _update_levels() + info( + "{0} {1}\n{2} {3} ({4}-bit)\ndebugpy {5}", + platform.platform(), + platform.machine(), + platform.python_implementation(), + platform.python_version(), + 64 if sys.maxsize > 2 ** 32 else 32, + debugpy.__version__, + _to_files=[self], + ) + + @property + def levels(self): + return self._levels + + @levels.setter + def levels(self, value): + with _lock: + self._levels = frozenset(LEVELS if value is all else value) + _update_levels() + + def write(self, level, output): + if level in self.levels: + try: + self.file.write(output) + self.file.flush() + except Exception: + pass + + def close(self): + with _lock: + del _files[self.filename] + _update_levels() + info("Not logging to {0} anymore.", json.repr(self.filename)) + + if self.close_file: + try: + self.file.close() + except Exception: + pass + + def __enter__(self): + return self + + def __exit__(self, exc_type, exc_val, exc_tb): + self.close() + + +class NoLog(object): + file = filename = None + + __bool__ = __nonzero__ = lambda self: False + + def close(self): + pass + + def __enter__(self): + return self + + def __exit__(self, exc_type, exc_val, exc_tb): + pass + + +# Used to inject a newline into stderr if logging there, to clean up the output +# when it's intermixed with regular prints from other sources. +def newline(level="info"): + with _lock: + stderr.write(level, "\n") + + +def write(level, text, _to_files=all): + assert level in LEVELS + + t = timestamp.current() + format_string = "{0}+{1:" + timestamp_format + "}: " + prefix = format_string.format(level[0].upper(), t) + + text = getattr(_tls, "prefix", "") + text + indent = "\n" + (" " * len(prefix)) + output = indent.join(text.split("\n")) + output = prefix + output + "\n\n" + + with _lock: + if _to_files is all: + _to_files = _files.values() + for file in _to_files: + file.write(level, output) + + return text + + +def write_format(level, format_string, *args, **kwargs): + # Don't spend cycles doing expensive formatting if we don't have to. Errors are + # always formatted, so that error() can return the text even if it's not logged. + if level != "error" and level not in _levels: + return + + try: + text = format_string.format(*args, **kwargs) + except Exception: + reraise_exception() + + return write(level, text, kwargs.pop("_to_files", all)) + + +debug = functools.partial(write_format, "debug") +info = functools.partial(write_format, "info") +warning = functools.partial(write_format, "warning") + + +def error(*args, **kwargs): + """Logs an error. + + Returns the output wrapped in AssertionError. Thus, the following:: + + raise log.error(s, ...) + + has the same effect as:: + + log.error(...) + assert False, (s.format(...)) + """ + return AssertionError(write_format("error", *args, **kwargs)) + + +def _exception(format_string="", *args, **kwargs): + level = kwargs.pop("level", "error") + exc_info = kwargs.pop("exc_info", sys.exc_info()) + + if format_string: + format_string += "\n\n" + format_string += "{exception}\nStack where logged:\n{stack}" + + exception = "".join(traceback.format_exception(*exc_info)) + + f = inspect.currentframe() + f = f.f_back if f else f # don't log this frame + try: + stack = "".join(traceback.format_stack(f)) + finally: + del f # avoid cycles + + write_format( + level, format_string, *args, exception=exception, stack=stack, **kwargs + ) + + +def swallow_exception(format_string="", *args, **kwargs): + """Logs an exception with full traceback. + + If format_string is specified, it is formatted with format(*args, **kwargs), and + prepended to the exception traceback on a separate line. + + If exc_info is specified, the exception it describes will be logged. Otherwise, + sys.exc_info() - i.e. the exception being handled currently - will be logged. + + If level is specified, the exception will be logged as a message of that level. + The default is "error". + """ + + _exception(format_string, *args, **kwargs) + + +def reraise_exception(format_string="", *args, **kwargs): + """Like swallow_exception(), but re-raises the current exception after logging it.""" + + assert "exc_info" not in kwargs + _exception(format_string, *args, **kwargs) + raise + + +def to_file(filename=None, prefix=None, levels=LEVELS): + """Starts logging all messages at the specified levels to the designated file. + + Either filename or prefix must be specified, but not both. + + If filename is specified, it designates the log file directly. + + If prefix is specified, the log file is automatically created in options.log_dir, + with filename computed as prefix + os.getpid(). If log_dir is None, no log file + is created, and the function returns immediately. + + If the file with the specified or computed name is already being used as a log + file, it is not overwritten, but its levels are updated as specified. + + The function returns an object with a close() method. When the object is closed, + logs are not written into that file anymore. Alternatively, the returned object + can be used in a with-statement: + + with log.to_file("some.log"): + # now also logging to some.log + # not logging to some.log anymore + """ + + assert (filename is not None) ^ (prefix is not None) + + if filename is None: + if log_dir is None: + return NoLog() + try: + os.makedirs(log_dir) + except OSError: + pass + filename = f"{log_dir}/{prefix}-{os.getpid()}.log" + + file = _files.get(filename) + if file is None: + file = LogFile(filename, io.open(filename, "w", encoding="utf-8"), levels) + else: + file.levels = levels + return file + + +@contextlib.contextmanager +def prefixed(format_string, *args, **kwargs): + """Adds a prefix to all messages logged from the current thread for the duration + of the context manager. + """ + prefix = format_string.format(*args, **kwargs) + old_prefix = getattr(_tls, "prefix", "") + _tls.prefix = prefix + old_prefix + try: + yield + finally: + _tls.prefix = old_prefix + + +def describe_environment(header): + import sysconfig + import site # noqa + + result = [header, "\n\n"] + + def report(s, *args, **kwargs): + result.append(s.format(*args, **kwargs)) + + def report_paths(get_paths, label=None): + prefix = f" {label or get_paths}: " + + expr = None + if not callable(get_paths): + expr = get_paths + get_paths = lambda: util.evaluate(expr) + try: + paths = get_paths() + except AttributeError: + report("{0}\n", prefix) + return + except Exception: + swallow_exception( + "Error evaluating {0}", + repr(expr) if expr else util.srcnameof(get_paths), + ) + return + + if not isinstance(paths, (list, tuple)): + paths = [paths] + + for p in sorted(paths): + report("{0}{1}", prefix, p) + rp = os.path.realpath(p) + if p != rp: + report("({0})", rp) + report("\n") + + prefix = " " * len(prefix) + + report("System paths:\n") + report_paths("sys.prefix") + report_paths("sys.base_prefix") + report_paths("sys.real_prefix") + report_paths("site.getsitepackages()") + report_paths("site.getusersitepackages()") + + site_packages = [ + p + for p in sys.path + if os.path.exists(p) and os.path.basename(p) == "site-packages" + ] + report_paths(lambda: site_packages, "sys.path (site-packages)") + + for name in sysconfig.get_path_names(): + expr = "sysconfig.get_path({0!r})".format(name) + report_paths(expr) + + report_paths("os.__file__") + report_paths("threading.__file__") + report_paths("debugpy.__file__") + + result = "".join(result).rstrip("\n") + info("{0}", result) + + +stderr = LogFile( + "", + sys.stderr, + levels=os.getenv("DEBUGPY_LOG_STDERR", "warning error").split(), + close_file=False, +) + + +@atexit.register +def _close_files(): + for file in tuple(_files.values()): + file.close() + + +# The following are helper shortcuts for printf debugging. They must never be used +# in production code. + + +def _repr(value): # pragma: no cover + warning("$REPR {0!r}", value) + + +def _vars(*names): # pragma: no cover + locals = inspect.currentframe().f_back.f_locals + if names: + locals = {name: locals[name] for name in names if name in locals} + warning("$VARS {0!r}", locals) + + +def _stack(): # pragma: no cover + stack = "\n".join(traceback.format_stack()) + warning("$STACK:\n\n{0}", stack) + + +def _threads(): # pragma: no cover + output = "\n".join([str(t) for t in threading.enumerate()]) + warning("$THREADS:\n\n{0}", output) diff --git a/venv/lib/python3.8/site-packages/debugpy/common/messaging.py b/venv/lib/python3.8/site-packages/debugpy/common/messaging.py new file mode 100644 index 0000000..eb9556d --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/common/messaging.py @@ -0,0 +1,1505 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See LICENSE in the project root +# for license information. + +"""An implementation of the session and presentation layers as used in the Debug +Adapter Protocol (DAP): channels and their lifetime, JSON messages, requests, +responses, and events. + +https://microsoft.github.io/debug-adapter-protocol/overview#base-protocol +""" + +from __future__ import annotations + +import collections +import contextlib +import functools +import itertools +import os +import socket +import sys +import threading + +from debugpy.common import json, log, util +from debugpy.common.util import hide_thread_from_debugger + + +class JsonIOError(IOError): + """Indicates that a read or write operation on JsonIOStream has failed.""" + + def __init__(self, *args, **kwargs): + stream = kwargs.pop("stream") + cause = kwargs.pop("cause", None) + if not len(args) and cause is not None: + args = [str(cause)] + super().__init__(*args, **kwargs) + + self.stream = stream + """The stream that couldn't be read or written. + + Set by JsonIOStream.read_json() and JsonIOStream.write_json(). + + JsonMessageChannel relies on this value to decide whether a NoMoreMessages + instance that bubbles up to the message loop is related to that loop. + """ + + self.cause = cause + """The underlying exception, if any.""" + + +class NoMoreMessages(JsonIOError, EOFError): + """Indicates that there are no more messages that can be read from or written + to a stream. + """ + + def __init__(self, *args, **kwargs): + args = args if len(args) else ["No more messages"] + super().__init__(*args, **kwargs) + + +class JsonIOStream(object): + """Implements a JSON value stream over two byte streams (input and output). + + Each value is encoded as a DAP packet, with metadata headers and a JSON payload. + """ + + MAX_BODY_SIZE = 0xFFFFFF + + json_decoder_factory = json.JsonDecoder + """Used by read_json() when decoder is None.""" + + json_encoder_factory = json.JsonEncoder + """Used by write_json() when encoder is None.""" + + @classmethod + def from_stdio(cls, name="stdio"): + """Creates a new instance that receives messages from sys.stdin, and sends + them to sys.stdout. + """ + return cls(sys.stdin.buffer, sys.stdout.buffer, name) + + @classmethod + def from_process(cls, process, name="stdio"): + """Creates a new instance that receives messages from process.stdin, and sends + them to process.stdout. + """ + return cls(process.stdout, process.stdin, name) + + @classmethod + def from_socket(cls, sock, name=None): + """Creates a new instance that sends and receives messages over a socket.""" + sock.settimeout(None) # make socket blocking + if name is None: + name = repr(sock) + + # TODO: investigate switching to buffered sockets; readline() on unbuffered + # sockets is very slow! Although the implementation of readline() itself is + # native code, it calls read(1) in a loop - and that then ultimately calls + # SocketIO.readinto(), which is implemented in Python. + socket_io = sock.makefile("rwb", 0) + + # SocketIO.close() doesn't close the underlying socket. + def cleanup(): + try: + sock.shutdown(socket.SHUT_RDWR) + except Exception: + pass + sock.close() + + return cls(socket_io, socket_io, name, cleanup) + + def __init__(self, reader, writer, name=None, cleanup=lambda: None): + """Creates a new JsonIOStream. + + reader must be a BytesIO-like object, from which incoming messages will be + read by read_json(). + + writer must be a BytesIO-like object, into which outgoing messages will be + written by write_json(). + + cleanup must be a callable; it will be invoked without arguments when the + stream is closed. + + reader.readline() must treat "\n" as the line terminator, and must leave "\r" + as is - it must not replace "\r\n" with "\n" automatically, as TextIO does. + """ + + if name is None: + name = f"reader={reader!r}, writer={writer!r}" + + self.name = name + self._reader = reader + self._writer = writer + self._cleanup = cleanup + self._closed = False + + def close(self): + """Closes the stream, the reader, and the writer.""" + + if self._closed: + return + self._closed = True + + log.debug("Closing {0} message stream", self.name) + try: + try: + # Close the writer first, so that the other end of the connection has + # its message loop waiting on read() unblocked. If there is an exception + # while closing the writer, we still want to try to close the reader - + # only one exception can bubble up, so if both fail, it'll be the one + # from reader. + try: + self._writer.close() + finally: + if self._reader is not self._writer: + self._reader.close() + finally: + self._cleanup() + except Exception: + log.reraise_exception("Error while closing {0} message stream", self.name) + + def _log_message(self, dir, data, logger=log.debug): + return logger("{0} {1} {2}", self.name, dir, data) + + def _read_line(self, reader): + line = b"" + while True: + try: + line += reader.readline() + except Exception as exc: + raise NoMoreMessages(str(exc), stream=self) + if not line: + raise NoMoreMessages(stream=self) + if line.endswith(b"\r\n"): + line = line[0:-2] + return line + + def read_json(self, decoder=None): + """Read a single JSON value from reader. + + Returns JSON value as parsed by decoder.decode(), or raises NoMoreMessages + if there are no more values to be read. + """ + + decoder = decoder if decoder is not None else self.json_decoder_factory() + reader = self._reader + read_line = functools.partial(self._read_line, reader) + + # If any error occurs while reading and parsing the message, log the original + # raw message data as is, so that it's possible to diagnose missing or invalid + # headers, encoding issues, JSON syntax errors etc. + def log_message_and_reraise_exception(format_string="", *args, **kwargs): + if format_string: + format_string += "\n\n" + format_string += "{name} -->\n{raw_lines}" + + raw_lines = b"".join(raw_chunks).split(b"\n") + raw_lines = "\n".join(repr(line) for line in raw_lines) + + log.reraise_exception( + format_string, *args, name=self.name, raw_lines=raw_lines, **kwargs + ) + + raw_chunks = [] + headers = {} + + while True: + try: + line = read_line() + except Exception: + # Only log it if we have already read some headers, and are looking + # for a blank line terminating them. If this is the very first read, + # there's no message data to log in any case, and the caller might + # be anticipating the error - e.g. NoMoreMessages on disconnect. + if headers: + log_message_and_reraise_exception( + "Error while reading message headers:" + ) + else: + raise + + raw_chunks += [line, b"\n"] + if line == b"": + break + + key, _, value = line.partition(b":") + headers[key] = value + + try: + length = int(headers[b"Content-Length"]) + if not (0 <= length <= self.MAX_BODY_SIZE): + raise ValueError + except (KeyError, ValueError): + try: + raise IOError("Content-Length is missing or invalid:") + except Exception: + log_message_and_reraise_exception() + + body_start = len(raw_chunks) + body_remaining = length + while body_remaining > 0: + try: + chunk = reader.read(body_remaining) + if not chunk: + raise EOFError + except Exception as exc: + # Not logged due to https://github.com/microsoft/ptvsd/issues/1699 + raise NoMoreMessages(str(exc), stream=self) + + raw_chunks.append(chunk) + body_remaining -= len(chunk) + assert body_remaining == 0 + + body = b"".join(raw_chunks[body_start:]) + try: + body = body.decode("utf-8") + except Exception: + log_message_and_reraise_exception() + + try: + body = decoder.decode(body) + except Exception: + log_message_and_reraise_exception() + + # If parsed successfully, log as JSON for readability. + self._log_message("-->", body) + return body + + def write_json(self, value, encoder=None): + """Write a single JSON value into writer. + + Value is written as encoded by encoder.encode(). + """ + + if self._closed: + # Don't log this - it's a common pattern to write to a stream while + # anticipating EOFError from it in case it got closed concurrently. + raise NoMoreMessages(stream=self) + + encoder = encoder if encoder is not None else self.json_encoder_factory() + writer = self._writer + + # Format the value as a message, and try to log any failures using as much + # information as we already have at the point of the failure. For example, + # if it fails after it is serialized to JSON, log that JSON. + + try: + body = encoder.encode(value) + except Exception: + self._log_message("<--", repr(value), logger=log.reraise_exception) + body = body.encode("utf-8") + + header = f"Content-Length: {len(body)}\r\n\r\n".encode("ascii") + data = header + body + data_written = 0 + try: + while data_written < len(data): + written = writer.write(data[data_written:]) + data_written += written + writer.flush() + except Exception as exc: + self._log_message("<--", value, logger=log.swallow_exception) + raise JsonIOError(stream=self, cause=exc) + + self._log_message("<--", value) + + def __repr__(self): + return f"{type(self).__name__}({self.name!r})" + + +class MessageDict(collections.OrderedDict): + """A specialized dict that is used for JSON message payloads - Request.arguments, + Response.body, and Event.body. + + For all members that normally throw KeyError when a requested key is missing, this + dict raises InvalidMessageError instead. Thus, a message handler can skip checks + for missing properties, and just work directly with the payload on the assumption + that it is valid according to the protocol specification; if anything is missing, + it will be reported automatically in the proper manner. + + If the value for the requested key is itself a dict, it is returned as is, and not + automatically converted to MessageDict. Thus, to enable convenient chaining - e.g. + d["a"]["b"]["c"] - the dict must consistently use MessageDict instances rather than + vanilla dicts for all its values, recursively. This is guaranteed for the payload + of all freshly received messages (unless and until it is mutated), but there is no + such guarantee for outgoing messages. + """ + + def __init__(self, message, items=None): + assert message is None or isinstance(message, Message) + + if items is None: + super().__init__() + else: + super().__init__(items) + + self.message = message + """The Message object that owns this dict. + + For any instance exposed via a Message object corresponding to some incoming + message, it is guaranteed to reference that Message object. There is no similar + guarantee for outgoing messages. + """ + + def __repr__(self): + try: + return format(json.repr(self)) + except Exception: + return super().__repr__() + + def __call__(self, key, validate, optional=False): + """Like get(), but with validation. + + The item is first retrieved as if with self.get(key, default=()) - the default + value is () rather than None, so that JSON nulls are distinguishable from + missing properties. + + If optional=True, and the value is (), it's returned as is. Otherwise, the + item is validated by invoking validate(item) on it. + + If validate=False, it's treated as if it were (lambda x: x) - i.e. any value + is considered valid, and is returned unchanged. If validate is a type or a + tuple, it's treated as json.of_type(validate). Otherwise, if validate is not + callable(), it's treated as json.default(validate). + + If validate() returns successfully, the item is substituted with the value + it returns - thus, the validator can e.g. replace () with a suitable default + value for the property. + + If validate() raises TypeError or ValueError, raises InvalidMessageError with + the same text that applies_to(self.messages). + + See debugpy.common.json for reusable validators. + """ + + if not validate: + validate = lambda x: x + elif isinstance(validate, type) or isinstance(validate, tuple): + validate = json.of_type(validate, optional=optional) + elif not callable(validate): + validate = json.default(validate) + + value = self.get(key, ()) + try: + value = validate(value) + except (TypeError, ValueError) as exc: + message = Message if self.message is None else self.message + err = str(exc) + if not err.startswith("["): + err = " " + err + raise message.isnt_valid("{0}{1}", json.repr(key), err) + return value + + def _invalid_if_no_key(func): + def wrap(self, key, *args, **kwargs): + try: + return func(self, key, *args, **kwargs) + except KeyError: + message = Message if self.message is None else self.message + raise message.isnt_valid("missing property {0!r}", key) + + return wrap + + __getitem__ = _invalid_if_no_key(collections.OrderedDict.__getitem__) + __delitem__ = _invalid_if_no_key(collections.OrderedDict.__delitem__) + pop = _invalid_if_no_key(collections.OrderedDict.pop) + + del _invalid_if_no_key + + +def _payload(value): + """JSON validator for message payload. + + If that value is missing or null, it is treated as if it were {}. + """ + + if value is not None and value != (): + if isinstance(value, dict): # can be int, str, list... + assert isinstance(value, MessageDict) + return value + + # Missing payload. Construct a dummy MessageDict, and make it look like it was + # deserialized. See JsonMessageChannel._parse_incoming_message for why it needs + # to have associate_with(). + + def associate_with(message): + value.message = message + + value = MessageDict(None) + value.associate_with = associate_with + return value + + +class Message(object): + """Represents a fully parsed incoming or outgoing message. + + https://microsoft.github.io/debug-adapter-protocol/specification#protocolmessage + """ + + def __init__(self, channel, seq, json=None): + self.channel = channel + + self.seq = seq + """Sequence number of the message in its channel. + + This can be None for synthesized Responses. + """ + + self.json = json + """For incoming messages, the MessageDict containing raw JSON from which + this message was originally parsed. + """ + + def __str__(self): + return json.repr(self.json) if self.json is not None else repr(self) + + def describe(self): + """A brief description of the message that is enough to identify it. + + Examples: + '#1 request "launch" from IDE' + '#2 response to #1 request "launch" from IDE'. + """ + raise NotImplementedError + + @property + def payload(self) -> MessageDict: + """Payload of the message - self.body or self.arguments, depending on the + message type. + """ + raise NotImplementedError + + def __call__(self, *args, **kwargs): + """Same as self.payload(...).""" + return self.payload(*args, **kwargs) + + def __contains__(self, key): + """Same as (key in self.payload).""" + return key in self.payload + + def is_event(self, *event): + """Returns True if this message is an Event of one of the specified types.""" + if not isinstance(self, Event): + return False + return event == () or self.event in event + + def is_request(self, *command): + """Returns True if this message is a Request of one of the specified types.""" + if not isinstance(self, Request): + return False + return command == () or self.command in command + + def is_response(self, *command): + """Returns True if this message is a Response to a request of one of the + specified types. + """ + if not isinstance(self, Response): + return False + return command == () or self.request.command in command + + def error(self, exc_type, format_string, *args, **kwargs): + """Returns a new exception of the specified type from the point at which it is + invoked, with the specified formatted message as the reason. + + The resulting exception will have its cause set to the Message object on which + error() was called. Additionally, if that message is a Request, a failure + response is immediately sent. + """ + + assert issubclass(exc_type, MessageHandlingError) + + silent = kwargs.pop("silent", False) + reason = format_string.format(*args, **kwargs) + exc = exc_type(reason, self, silent) # will log it + + if isinstance(self, Request): + self.respond(exc) + return exc + + def isnt_valid(self, *args, **kwargs): + """Same as self.error(InvalidMessageError, ...).""" + return self.error(InvalidMessageError, *args, **kwargs) + + def cant_handle(self, *args, **kwargs): + """Same as self.error(MessageHandlingError, ...).""" + return self.error(MessageHandlingError, *args, **kwargs) + + +class Event(Message): + """Represents an incoming event. + + https://microsoft.github.io/debug-adapter-protocol/specification#event + + It is guaranteed that body is a MessageDict associated with this Event, and so + are all the nested dicts in it. If "body" was missing or null in JSON, body is + an empty dict. + + To handle the event, JsonMessageChannel tries to find a handler for this event in + JsonMessageChannel.handlers. Given event="X", if handlers.X_event exists, then it + is the specific handler for this event. Otherwise, handlers.event must exist, and + it is the generic handler for this event. A missing handler is a fatal error. + + No further incoming messages are processed until the handler returns, except for + responses to requests that have wait_for_response() invoked on them. + + To report failure to handle the event, the handler must raise an instance of + MessageHandlingError that applies_to() the Event object it was handling. Any such + failure is logged, after which the message loop moves on to the next message. + + Helper methods Message.isnt_valid() and Message.cant_handle() can be used to raise + the appropriate exception type that applies_to() the Event object. + """ + + def __init__(self, channel, seq, event, body, json=None): + super().__init__(channel, seq, json) + + self.event = event + + if isinstance(body, MessageDict) and hasattr(body, "associate_with"): + body.associate_with(self) + self.body = body + + def describe(self): + return f"#{self.seq} event {json.repr(self.event)} from {self.channel}" + + @property + def payload(self): + return self.body + + @staticmethod + def _parse(channel, message_dict): + seq = message_dict("seq", int) + event = message_dict("event", str) + body = message_dict("body", _payload) + message = Event(channel, seq, event, body, json=message_dict) + channel._enqueue_handlers(message, message._handle) + + def _handle(self): + channel = self.channel + handler = channel._get_handler_for("event", self.event) + try: + try: + result = handler(self) + assert ( + result is None + ), f"Handler {util.srcnameof(handler)} tried to respond to {self.describe()}." + except MessageHandlingError as exc: + if not exc.applies_to(self): + raise + log.error( + "Handler {0}\ncouldn't handle {1}:\n{2}", + util.srcnameof(handler), + self.describe(), + str(exc), + ) + except Exception: + log.reraise_exception( + "Handler {0}\ncouldn't handle {1}:", + util.srcnameof(handler), + self.describe(), + ) + + +NO_RESPONSE = object() +"""Can be returned from a request handler in lieu of the response body, to indicate +that no response is to be sent. + +Request.respond() must be invoked explicitly at some later point to provide a response. +""" + + +class Request(Message): + """Represents an incoming or an outgoing request. + + Incoming requests are represented directly by instances of this class. + + Outgoing requests are represented by instances of OutgoingRequest, which provides + additional functionality to handle responses. + + For incoming requests, it is guaranteed that arguments is a MessageDict associated + with this Request, and so are all the nested dicts in it. If "arguments" was missing + or null in JSON, arguments is an empty dict. + + To handle the request, JsonMessageChannel tries to find a handler for this request + in JsonMessageChannel.handlers. Given command="X", if handlers.X_request exists, + then it is the specific handler for this request. Otherwise, handlers.request must + exist, and it is the generic handler for this request. A missing handler is a fatal + error. + + The handler is then invoked with the Request object as its sole argument. + + If the handler itself invokes respond() on the Request at any point, then it must + not return any value. + + Otherwise, if the handler returns NO_RESPONSE, no response to the request is sent. + It must be sent manually at some later point via respond(). + + Otherwise, a response to the request is sent with the returned value as the body. + + To fail the request, the handler can return an instance of MessageHandlingError, + or respond() with one, or raise one such that it applies_to() the Request object + being handled. + + Helper methods Message.isnt_valid() and Message.cant_handle() can be used to raise + the appropriate exception type that applies_to() the Request object. + """ + + def __init__(self, channel, seq, command, arguments, json=None): + super().__init__(channel, seq, json) + + self.command = command + + if isinstance(arguments, MessageDict) and hasattr(arguments, "associate_with"): + arguments.associate_with(self) + self.arguments = arguments + + self.response = None + """Response to this request. + + For incoming requests, it is set as soon as the request handler returns. + + For outgoing requests, it is set as soon as the response is received, and + before self._handle_response is invoked. + """ + + def describe(self): + return f"#{self.seq} request {json.repr(self.command)} from {self.channel}" + + @property + def payload(self): + return self.arguments + + def respond(self, body): + assert self.response is None + d = {"type": "response", "request_seq": self.seq, "command": self.command} + + if isinstance(body, Exception): + d["success"] = False + d["message"] = str(body) + else: + d["success"] = True + if body is not None and body != {}: + d["body"] = body + + with self.channel._send_message(d) as seq: + pass + self.response = Response(self.channel, seq, self, body) + + @staticmethod + def _parse(channel, message_dict): + seq = message_dict("seq", int) + command = message_dict("command", str) + arguments = message_dict("arguments", _payload) + message = Request(channel, seq, command, arguments, json=message_dict) + channel._enqueue_handlers(message, message._handle) + + def _handle(self): + channel = self.channel + handler = channel._get_handler_for("request", self.command) + try: + try: + result = handler(self) + except MessageHandlingError as exc: + if not exc.applies_to(self): + raise + result = exc + log.error( + "Handler {0}\ncouldn't handle {1}:\n{2}", + util.srcnameof(handler), + self.describe(), + str(exc), + ) + + if result is NO_RESPONSE: + assert self.response is None, ( + "Handler {0} for {1} must not return NO_RESPONSE if it has already " + "invoked request.respond().".format( + util.srcnameof(handler), self.describe() + ) + ) + elif self.response is not None: + assert result is None or result is self.response.body, ( + "Handler {0} for {1} must not return a response body if it has " + "already invoked request.respond().".format( + util.srcnameof(handler), self.describe() + ) + ) + else: + assert result is not None, ( + "Handler {0} for {1} must either call request.respond() before it " + "returns, or return the response body, or return NO_RESPONSE.".format( + util.srcnameof(handler), self.describe() + ) + ) + try: + self.respond(result) + except NoMoreMessages: + log.warning( + "Channel was closed before the response from handler {0} to {1} could be sent", + util.srcnameof(handler), + self.describe(), + ) + + except Exception: + log.reraise_exception( + "Handler {0}\ncouldn't handle {1}:", + util.srcnameof(handler), + self.describe(), + ) + + +class OutgoingRequest(Request): + """Represents an outgoing request, for which it is possible to wait for a + response to be received, and register a response handler. + """ + + _parse = _handle = None + + def __init__(self, channel, seq, command, arguments): + super().__init__(channel, seq, command, arguments) + self._response_handlers = [] + + def describe(self): + return f"{self.seq} request {json.repr(self.command)} to {self.channel}" + + def wait_for_response(self, raise_if_failed=True): + """Waits until a response is received for this request, records the Response + object for it in self.response, and returns response.body. + + If no response was received from the other party before the channel closed, + self.response is a synthesized Response with body=NoMoreMessages(). + + If raise_if_failed=True and response.success is False, raises response.body + instead of returning. + """ + + with self.channel: + while self.response is None: + self.channel._handlers_enqueued.wait() + + if raise_if_failed and not self.response.success: + raise self.response.body + return self.response.body + + def on_response(self, response_handler): + """Registers a handler to invoke when a response is received for this request. + The handler is invoked with Response as its sole argument. + + If response has already been received, invokes the handler immediately. + + It is guaranteed that self.response is set before the handler is invoked. + If no response was received from the other party before the channel closed, + self.response is a dummy Response with body=NoMoreMessages(). + + The handler is always invoked asynchronously on an unspecified background + thread - thus, the caller of on_response() can never be blocked or deadlocked + by the handler. + + No further incoming messages are processed until the handler returns, except for + responses to requests that have wait_for_response() invoked on them. + """ + + with self.channel: + self._response_handlers.append(response_handler) + self._enqueue_response_handlers() + + def _enqueue_response_handlers(self): + response = self.response + if response is None: + # Response._parse() will submit the handlers when response is received. + return + + def run_handlers(): + for handler in handlers: + try: + try: + handler(response) + except MessageHandlingError as exc: + if not exc.applies_to(response): + raise + log.error( + "Handler {0}\ncouldn't handle {1}:\n{2}", + util.srcnameof(handler), + response.describe(), + str(exc), + ) + except Exception: + log.reraise_exception( + "Handler {0}\ncouldn't handle {1}:", + util.srcnameof(handler), + response.describe(), + ) + + handlers = self._response_handlers[:] + self.channel._enqueue_handlers(response, run_handlers) + del self._response_handlers[:] + + +class Response(Message): + """Represents an incoming or an outgoing response to a Request. + + https://microsoft.github.io/debug-adapter-protocol/specification#response + + error_message corresponds to "message" in JSON, and is renamed for clarity. + + If success is False, body is None. Otherwise, it is a MessageDict associated + with this Response, and so are all the nested dicts in it. If "body" was missing + or null in JSON, body is an empty dict. + + If this is a response to an outgoing request, it will be handled by the handler + registered via self.request.on_response(), if any. + + Regardless of whether there is such a handler, OutgoingRequest.wait_for_response() + can also be used to retrieve and handle the response. If there is a handler, it is + executed before wait_for_response() returns. + + No further incoming messages are processed until the handler returns, except for + responses to requests that have wait_for_response() invoked on them. + + To report failure to handle the event, the handler must raise an instance of + MessageHandlingError that applies_to() the Response object it was handling. Any + such failure is logged, after which the message loop moves on to the next message. + + Helper methods Message.isnt_valid() and Message.cant_handle() can be used to raise + the appropriate exception type that applies_to() the Response object. + """ + + def __init__(self, channel, seq, request, body, json=None): + super().__init__(channel, seq, json) + + self.request = request + """The request to which this is the response.""" + + if isinstance(body, MessageDict) and hasattr(body, "associate_with"): + body.associate_with(self) + self.body = body + """Body of the response if the request was successful, or an instance + of some class derived from Exception it it was not. + + If a response was received from the other side, but request failed, it is an + instance of MessageHandlingError containing the received error message. If the + error message starts with InvalidMessageError.PREFIX, then it's an instance of + the InvalidMessageError specifically, and that prefix is stripped. + + If no response was received from the other party before the channel closed, + it is an instance of NoMoreMessages. + """ + + def describe(self): + return f"#{self.seq} response to {self.request.describe()}" + + @property + def payload(self): + return self.body + + @property + def success(self): + """Whether the request succeeded or not.""" + return not isinstance(self.body, Exception) + + @property + def result(self): + """Result of the request. Returns the value of response.body, unless it + is an exception, in which case it is raised instead. + """ + if self.success: + return self.body + else: + raise self.body + + @staticmethod + def _parse(channel, message_dict, body=None): + seq = message_dict("seq", int) if (body is None) else None + request_seq = message_dict("request_seq", int) + command = message_dict("command", str) + success = message_dict("success", bool) + if body is None: + if success: + body = message_dict("body", _payload) + else: + error_message = message_dict("message", str) + exc_type = MessageHandlingError + if error_message.startswith(InvalidMessageError.PREFIX): + error_message = error_message[len(InvalidMessageError.PREFIX) :] + exc_type = InvalidMessageError + body = exc_type(error_message, silent=True) + + try: + with channel: + request = channel._sent_requests.pop(request_seq) + known_request = True + except KeyError: + # Synthetic Request that only has seq and command as specified in response + # JSON, for error reporting purposes. + request = OutgoingRequest(channel, request_seq, command, "") + known_request = False + + if not success: + body.cause = request + + response = Response(channel, seq, request, body, json=message_dict) + + with channel: + request.response = response + request._enqueue_response_handlers() + + if known_request: + return response + else: + raise response.isnt_valid( + "request_seq={0} does not match any known request", request_seq + ) + + +class Disconnect(Message): + """A dummy message used to represent disconnect. It's always the last message + received from any channel. + """ + + def __init__(self, channel): + super().__init__(channel, None) + + def describe(self): + return f"disconnect from {self.channel}" + + +class MessageHandlingError(Exception): + """Indicates that a message couldn't be handled for some reason. + + If the reason is a contract violation - i.e. the message that was handled did not + conform to the protocol specification - InvalidMessageError, which is a subclass, + should be used instead. + + If any message handler raises an exception not derived from this class, it will + escape the message loop unhandled, and terminate the process. + + If any message handler raises this exception, but applies_to(message) is False, it + is treated as if it was a generic exception, as desribed above. Thus, if a request + handler issues another request of its own, and that one fails, the failure is not + silently propagated. However, a request that is delegated via Request.delegate() + will also propagate failures back automatically. For manual propagation, catch the + exception, and call exc.propagate(). + + If any event handler raises this exception, and applies_to(event) is True, the + exception is silently swallowed by the message loop. + + If any request handler raises this exception, and applies_to(request) is True, the + exception is silently swallowed by the message loop, and a failure response is sent + with "message" set to str(reason). + + Note that, while errors are not logged when they're swallowed by the message loop, + by that time they have already been logged by their __init__ (when instantiated). + """ + + def __init__(self, reason, cause=None, silent=False): + """Creates a new instance of this class, and immediately logs the exception. + + Message handling errors are logged immediately unless silent=True, so that the + precise context in which they occured can be determined from the surrounding + log entries. + """ + + self.reason = reason + """Why it couldn't be handled. This can be any object, but usually it's either + str or Exception. + """ + + assert cause is None or isinstance(cause, Message) + self.cause = cause + """The Message object for the message that couldn't be handled. For responses + to unknown requests, this is a synthetic Request. + """ + + if not silent: + try: + raise self + except MessageHandlingError: + log.swallow_exception() + + def __hash__(self): + return hash((self.reason, id(self.cause))) + + def __eq__(self, other): + if not isinstance(other, MessageHandlingError): + return NotImplemented + if type(self) is not type(other): + return NotImplemented + if self.reason != other.reason: + return False + if self.cause is not None and other.cause is not None: + if self.cause.seq != other.cause.seq: + return False + return True + + def __ne__(self, other): + return not self == other + + def __str__(self): + return str(self.reason) + + def __repr__(self): + s = type(self).__name__ + if self.cause is None: + s += f"reason={self.reason!r})" + else: + s += f"channel={self.cause.channel.name!r}, cause={self.cause.seq!r}, reason={self.reason!r})" + return s + + def applies_to(self, message): + """Whether this MessageHandlingError can be treated as a reason why the + handling of message failed. + + If self.cause is None, this is always true. + + If self.cause is not None, this is only true if cause is message. + """ + return self.cause is None or self.cause is message + + def propagate(self, new_cause): + """Propagates this error, raising a new instance of the same class with the + same reason, but a different cause. + """ + raise type(self)(self.reason, new_cause, silent=True) + + +class InvalidMessageError(MessageHandlingError): + """Indicates that an incoming message did not follow the protocol specification - + for example, it was missing properties that are required, or the message itself + is not allowed in the current state. + + Raised by MessageDict in lieu of KeyError for missing keys. + """ + + PREFIX = "Invalid message: " + """Automatically prepended to the "message" property in JSON responses, when the + handler raises InvalidMessageError. + + If a failed response has "message" property that starts with this prefix, it is + reported as InvalidMessageError rather than MessageHandlingError. + """ + + def __str__(self): + return InvalidMessageError.PREFIX + str(self.reason) + + +class JsonMessageChannel(object): + """Implements a JSON message channel on top of a raw JSON message stream, with + support for DAP requests, responses, and events. + + The channel can be locked for exclusive use via the with-statement:: + + with channel: + channel.send_request(...) + # No interleaving messages can be sent here from other threads. + channel.send_event(...) + """ + + def __init__(self, stream, handlers=None, name=None): + self.stream = stream + self.handlers = handlers + self.name = name if name is not None else stream.name + self.started = False + self._lock = threading.RLock() + self._closed = False + self._seq_iter = itertools.count(1) + self._sent_requests = {} # {seq: Request} + self._handler_queue = [] # [(what, handler)] + self._handlers_enqueued = threading.Condition(self._lock) + self._handler_thread = None + self._parser_thread = None + + def __str__(self): + return self.name + + def __repr__(self): + return f"{type(self).__name__}({self.name!r})" + + def __enter__(self): + self._lock.acquire() + return self + + def __exit__(self, exc_type, exc_value, exc_tb): + self._lock.release() + + def close(self): + """Closes the underlying stream. + + This does not immediately terminate any handlers that are already executing, + but they will be unable to respond. No new request or event handlers will + execute after this method is called, even for messages that have already been + received. However, response handlers will continue to executed for any request + that is still pending, as will any handlers registered via on_response(). + """ + with self: + if not self._closed: + self._closed = True + self.stream.close() + + def start(self): + """Starts a message loop which parses incoming messages and invokes handlers + for them on a background thread, until the channel is closed. + + Incoming messages, including responses to requests, will not be processed at + all until this is invoked. + """ + + assert not self.started + self.started = True + + self._parser_thread = threading.Thread( + target=self._parse_incoming_messages, name=f"{self} message parser" + ) + + hide_thread_from_debugger(self._parser_thread) + self._parser_thread.daemon = True + self._parser_thread.start() + + def wait(self): + """Waits for the message loop to terminate, and for all enqueued Response + message handlers to finish executing. + """ + parser_thread = self._parser_thread + try: + if parser_thread is not None: + parser_thread.join() + except AssertionError: + log.debug("Handled error joining parser thread.") + try: + handler_thread = self._handler_thread + if handler_thread is not None: + handler_thread.join() + except AssertionError: + log.debug("Handled error joining handler thread.") + + # Order of keys for _prettify() - follows the order of properties in + # https://microsoft.github.io/debug-adapter-protocol/specification + _prettify_order = ( + "seq", + "type", + "request_seq", + "success", + "command", + "event", + "message", + "arguments", + "body", + "error", + ) + + def _prettify(self, message_dict): + """Reorders items in a MessageDict such that it is more readable.""" + for key in self._prettify_order: + if key not in message_dict: + continue + value = message_dict[key] + del message_dict[key] + message_dict[key] = value + + @contextlib.contextmanager + def _send_message(self, message): + """Sends a new message to the other party. + + Generates a new sequence number for the message, and provides it to the + caller before the message is sent, using the context manager protocol:: + + with send_message(...) as seq: + # The message hasn't been sent yet. + ... + # Now the message has been sent. + + Safe to call concurrently for the same channel from different threads. + """ + + assert "seq" not in message + with self: + seq = next(self._seq_iter) + + message = MessageDict(None, message) + message["seq"] = seq + self._prettify(message) + + with self: + yield seq + self.stream.write_json(message) + + def send_request(self, command, arguments=None, on_before_send=None): + """Sends a new request, and returns the OutgoingRequest object for it. + + If arguments is None or {}, "arguments" will be omitted in JSON. + + If on_before_send is not None, invokes on_before_send() with the request + object as the sole argument, before the request actually gets sent. + + Does not wait for response - use OutgoingRequest.wait_for_response(). + + Safe to call concurrently for the same channel from different threads. + """ + + d = {"type": "request", "command": command} + if arguments is not None and arguments != {}: + d["arguments"] = arguments + + with self._send_message(d) as seq: + request = OutgoingRequest(self, seq, command, arguments) + if on_before_send is not None: + on_before_send(request) + self._sent_requests[seq] = request + return request + + def send_event(self, event, body=None): + """Sends a new event. + + If body is None or {}, "body" will be omitted in JSON. + + Safe to call concurrently for the same channel from different threads. + """ + + d = {"type": "event", "event": event} + if body is not None and body != {}: + d["body"] = body + + with self._send_message(d): + pass + + def request(self, *args, **kwargs): + """Same as send_request(...).wait_for_response()""" + return self.send_request(*args, **kwargs).wait_for_response() + + def propagate(self, message): + """Sends a new message with the same type and payload. + + If it was a request, returns the new OutgoingRequest object for it. + """ + assert message.is_request() or message.is_event() + if message.is_request(): + return self.send_request(message.command, message.arguments) + else: + self.send_event(message.event, message.body) + + def delegate(self, message): + """Like propagate(message).wait_for_response(), but will also propagate + any resulting MessageHandlingError back. + """ + try: + result = self.propagate(message) + if result.is_request(): + result = result.wait_for_response() + return result + except MessageHandlingError as exc: + exc.propagate(message) + + def _parse_incoming_messages(self): + log.debug("Starting message loop for channel {0}", self) + try: + while True: + self._parse_incoming_message() + + except NoMoreMessages as exc: + log.debug("Exiting message loop for channel {0}: {1}", self, exc) + with self: + # Generate dummy responses for all outstanding requests. + err_message = str(exc) + + # Response._parse() will remove items from _sent_requests, so + # make a snapshot before iterating. + sent_requests = list(self._sent_requests.values()) + + for request in sent_requests: + response_json = MessageDict( + None, + { + "seq": -1, + "request_seq": request.seq, + "command": request.command, + "success": False, + "message": err_message, + }, + ) + Response._parse(self, response_json, body=exc) + assert not len(self._sent_requests) + + self._enqueue_handlers(Disconnect(self), self._handle_disconnect) + self.close() + + _message_parsers = { + "event": Event._parse, + "request": Request._parse, + "response": Response._parse, + } + + def _parse_incoming_message(self): + """Reads incoming messages, parses them, and puts handlers into the queue + for _run_handlers() to invoke, until the channel is closed. + """ + + # Set up a dedicated decoder for this message, to create MessageDict instances + # for all JSON objects, and track them so that they can be later wired up to + # the Message they belong to, once it is instantiated. + def object_hook(d): + d = MessageDict(None, d) + if "seq" in d: + self._prettify(d) + d.associate_with = associate_with + message_dicts.append(d) + return d + + # A hack to work around circular dependency between messages, and instances of + # MessageDict in their payload. We need to set message for all of them, but it + # cannot be done until the actual Message is created - which happens after the + # dicts are created during deserialization. + # + # So, upon deserialization, every dict in the message payload gets a method + # that can be called to set MessageDict.message for *all* dicts belonging to + # that message. This method can then be invoked on the top-level dict by the + # parser, after it has parsed enough of the dict to create the appropriate + # instance of Event, Request, or Response for this message. + def associate_with(message): + for d in message_dicts: + d.message = message + del d.associate_with + + message_dicts = [] + decoder = self.stream.json_decoder_factory(object_hook=object_hook) + message_dict = self.stream.read_json(decoder) + assert isinstance(message_dict, MessageDict) # make sure stream used decoder + + msg_type = message_dict("type", json.enum("event", "request", "response")) + parser = self._message_parsers[msg_type] + try: + parser(self, message_dict) + except InvalidMessageError as exc: + log.error( + "Failed to parse message in channel {0}: {1} in:\n{2}", + self, + str(exc), + json.repr(message_dict), + ) + except Exception as exc: + if isinstance(exc, NoMoreMessages) and exc.stream is self.stream: + raise + log.swallow_exception( + "Fatal error in channel {0} while parsing:\n{1}", + self, + json.repr(message_dict), + ) + os._exit(1) + + def _enqueue_handlers(self, what, *handlers): + """Enqueues handlers for _run_handlers() to run. + + `what` is the Message being handled, and is used for logging purposes. + + If the background thread with _run_handlers() isn't running yet, starts it. + """ + + with self: + self._handler_queue.extend((what, handler) for handler in handlers) + self._handlers_enqueued.notify_all() + + # If there is anything to handle, but there's no handler thread yet, + # spin it up. This will normally happen only once, on the first call + # to _enqueue_handlers(), and that thread will run all the handlers + # for parsed messages. However, this can also happen is somebody calls + # Request.on_response() - possibly concurrently from multiple threads - + # after the channel has already been closed, and the initial handler + # thread has exited. In this case, we spin up a new thread just to run + # the enqueued response handlers, and it will exit as soon as it's out + # of handlers to run. + if len(self._handler_queue) and self._handler_thread is None: + self._handler_thread = threading.Thread( + target=self._run_handlers, + name=f"{self} message handler", + ) + hide_thread_from_debugger(self._handler_thread) + self._handler_thread.start() + + def _run_handlers(self): + """Runs enqueued handlers until the channel is closed, or until the handler + queue is empty once the channel is closed. + """ + + while True: + with self: + closed = self._closed + if closed: + # Wait for the parser thread to wrap up and enqueue any remaining + # handlers, if it is still running. + self._parser_thread.join() + # From this point on, _enqueue_handlers() can only get called + # from Request.on_response(). + + with self: + if not closed and not len(self._handler_queue): + # Wait for something to process. + self._handlers_enqueued.wait() + + # Make a snapshot before releasing the lock. + handlers = self._handler_queue[:] + del self._handler_queue[:] + + if closed and not len(handlers): + # Nothing to process, channel is closed, and parser thread is + # not running anymore - time to quit! If Request.on_response() + # needs to call _enqueue_handlers() later, it will spin up + # a new handler thread. + self._handler_thread = None + return + + for what, handler in handlers: + # If the channel is closed, we don't want to process any more events + # or requests - only responses and the final disconnect handler. This + # is to guarantee that if a handler calls close() on its own channel, + # the corresponding request or event is the last thing to be processed. + if closed and handler in (Event._handle, Request._handle): + continue + + with log.prefixed("/handling {0}/\n", what.describe()): + try: + handler() + except Exception: + # It's already logged by the handler, so just fail fast. + self.close() + os._exit(1) + + def _get_handler_for(self, type, name): + """Returns the handler for a message of a given type.""" + + with self: + handlers = self.handlers + + for handler_name in (name + "_" + type, type): + try: + return getattr(handlers, handler_name) + except AttributeError: + continue + + raise AttributeError( + "handler object {0} for channel {1} has no handler for {2} {3!r}".format( + util.srcnameof(handlers), + self, + type, + name, + ) + ) + + def _handle_disconnect(self): + handler = getattr(self.handlers, "disconnect", lambda: None) + try: + handler() + except Exception: + log.reraise_exception( + "Handler {0}\ncouldn't handle disconnect from {1}:", + util.srcnameof(handler), + self, + ) + + +class MessageHandlers(object): + """A simple delegating message handlers object for use with JsonMessageChannel. + For every argument provided, the object gets an attribute with the corresponding + name and value. + """ + + def __init__(self, **kwargs): + for name, func in kwargs.items(): + setattr(self, name, func) diff --git a/venv/lib/python3.8/site-packages/debugpy/common/singleton.py b/venv/lib/python3.8/site-packages/debugpy/common/singleton.py new file mode 100644 index 0000000..d515a4a --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/common/singleton.py @@ -0,0 +1,185 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See LICENSE in the project root +# for license information. + +import functools +import threading + + +class Singleton(object): + """A base class for a class of a singleton object. + + For any derived class T, the first invocation of T() will create the instance, + and any future invocations of T() will return that instance. + + Concurrent invocations of T() from different threads are safe. + """ + + # A dual-lock scheme is necessary to be thread safe while avoiding deadlocks. + # _lock_lock is shared by all singleton types, and is used to construct their + # respective _lock instances when invoked for a new type. Then _lock is used + # to synchronize all further access for that type, including __init__. This way, + # __init__ for any given singleton can access another singleton, and not get + # deadlocked if that other singleton is trying to access it. + _lock_lock = threading.RLock() + _lock = None + + # Specific subclasses will get their own _instance set in __new__. + _instance = None + + _is_shared = None # True if shared, False if exclusive + + def __new__(cls, *args, **kwargs): + # Allow arbitrary args and kwargs if shared=False, because that is guaranteed + # to construct a new singleton if it succeeds. Otherwise, this call might end + # up returning an existing instance, which might have been constructed with + # different arguments, so allowing them is misleading. + assert not kwargs.get("shared", False) or (len(args) + len(kwargs)) == 0, ( + "Cannot use constructor arguments when accessing a Singleton without " + "specifying shared=False." + ) + + # Avoid locking as much as possible with repeated double-checks - the most + # common path is when everything is already allocated. + if not cls._instance: + # If there's no per-type lock, allocate it. + if cls._lock is None: + with cls._lock_lock: + if cls._lock is None: + cls._lock = threading.RLock() + + # Now that we have a per-type lock, we can synchronize construction. + if not cls._instance: + with cls._lock: + if not cls._instance: + cls._instance = object.__new__(cls) + # To prevent having __init__ invoked multiple times, call + # it here directly, and then replace it with a stub that + # does nothing - that stub will get auto-invoked on return, + # and on all future singleton accesses. + cls._instance.__init__() + cls.__init__ = lambda *args, **kwargs: None + + return cls._instance + + def __init__(self, *args, **kwargs): + """Initializes the singleton instance. Guaranteed to only be invoked once for + any given type derived from Singleton. + + If shared=False, the caller is requesting a singleton instance for their own + exclusive use. This is only allowed if the singleton has not been created yet; + if so, it is created and marked as being in exclusive use. While it is marked + as such, all attempts to obtain an existing instance of it immediately raise + an exception. The singleton can eventually be promoted to shared use by calling + share() on it. + """ + + shared = kwargs.pop("shared", True) + with self: + if shared: + assert ( + type(self)._is_shared is not False + ), "Cannot access a non-shared Singleton." + type(self)._is_shared = True + else: + assert type(self)._is_shared is None, "Singleton is already created." + + def __enter__(self): + """Lock this singleton to prevent concurrent access.""" + type(self)._lock.acquire() + return self + + def __exit__(self, exc_type, exc_value, exc_tb): + """Unlock this singleton to allow concurrent access.""" + type(self)._lock.release() + + def share(self): + """Share this singleton, if it was originally created with shared=False.""" + type(self)._is_shared = True + + +class ThreadSafeSingleton(Singleton): + """A singleton that incorporates a lock for thread-safe access to its members. + + The lock can be acquired using the context manager protocol, and thus idiomatic + use is in conjunction with a with-statement. For example, given derived class T:: + + with T() as t: + t.x = t.frob(t.y) + + All access to the singleton from the outside should follow this pattern for both + attributes and method calls. Singleton members can assume that self is locked by + the caller while they're executing, but recursive locking of the same singleton + on the same thread is also permitted. + """ + + threadsafe_attrs = frozenset() + """Names of attributes that are guaranteed to be used in a thread-safe manner. + + This is typically used in conjunction with share() to simplify synchronization. + """ + + readonly_attrs = frozenset() + """Names of attributes that are readonly. These can be read without locking, but + cannot be written at all. + + Every derived class gets its own separate set. Thus, for any given singleton type + T, an attribute can be made readonly after setting it, with T.readonly_attrs.add(). + """ + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + # Make sure each derived class gets a separate copy. + type(self).readonly_attrs = set(type(self).readonly_attrs) + + # Prevent callers from reading or writing attributes without locking, except for + # reading attributes listed in threadsafe_attrs, and methods specifically marked + # with @threadsafe_method. Such methods should perform the necessary locking to + # ensure thread safety for the callers. + + @staticmethod + def assert_locked(self): + lock = type(self)._lock + assert lock.acquire(blocking=False), ( + "ThreadSafeSingleton accessed without locking. Either use with-statement, " + "or if it is a method or property, mark it as @threadsafe_method or with " + "@autolocked_method, as appropriate." + ) + lock.release() + + def __getattribute__(self, name): + value = object.__getattribute__(self, name) + if name not in (type(self).threadsafe_attrs | type(self).readonly_attrs): + if not getattr(value, "is_threadsafe_method", False): + ThreadSafeSingleton.assert_locked(self) + return value + + def __setattr__(self, name, value): + assert name not in type(self).readonly_attrs, "This attribute is read-only." + if name not in type(self).threadsafe_attrs: + ThreadSafeSingleton.assert_locked(self) + return object.__setattr__(self, name, value) + + +def threadsafe_method(func): + """Marks a method of a ThreadSafeSingleton-derived class as inherently thread-safe. + + A method so marked must either not use any singleton state, or lock it appropriately. + """ + + func.is_threadsafe_method = True + return func + + +def autolocked_method(func): + """Automatically synchronizes all calls of a method of a ThreadSafeSingleton-derived + class by locking the singleton for the duration of each call. + """ + + @functools.wraps(func) + @threadsafe_method + def lock_and_call(self, *args, **kwargs): + with self: + return func(self, *args, **kwargs) + + return lock_and_call diff --git a/venv/lib/python3.8/site-packages/debugpy/common/sockets.py b/venv/lib/python3.8/site-packages/debugpy/common/sockets.py new file mode 100644 index 0000000..e5f820d --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/common/sockets.py @@ -0,0 +1,122 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See LICENSE in the project root +# for license information. + +import socket +import sys +import threading + +from debugpy.common import log +from debugpy.common.util import hide_thread_from_debugger + + +def create_server(host, port=0, backlog=socket.SOMAXCONN, timeout=None): + """Return a local server socket listening on the given port.""" + + assert backlog > 0 + if host is None: + host = "127.0.0.1" + if port is None: + port = 0 + + try: + server = _new_sock() + server.bind((host, port)) + if timeout is not None: + server.settimeout(timeout) + server.listen(backlog) + except Exception: + server.close() + raise + return server + + +def create_client(): + """Return a client socket that may be connected to a remote address.""" + return _new_sock() + + +def _new_sock(): + sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM, socket.IPPROTO_TCP) + if sys.platform == "win32": + sock.setsockopt(socket.SOL_SOCKET, socket.SO_EXCLUSIVEADDRUSE, 1) + else: + sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) + + # Set TCP keepalive on an open socket. + # It activates after 1 second (TCP_KEEPIDLE,) of idleness, + # then sends a keepalive ping once every 3 seconds (TCP_KEEPINTVL), + # and closes the connection after 5 failed ping (TCP_KEEPCNT), or 15 seconds + try: + sock.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1) + except (AttributeError, OSError): + pass # May not be available everywhere. + try: + sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_KEEPIDLE, 1) + except (AttributeError, OSError): + pass # May not be available everywhere. + try: + sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_KEEPINTVL, 3) + except (AttributeError, OSError): + pass # May not be available everywhere. + try: + sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_KEEPCNT, 5) + except (AttributeError, OSError): + pass # May not be available everywhere. + return sock + + +def shut_down(sock, how=socket.SHUT_RDWR): + """Shut down the given socket.""" + sock.shutdown(how) + + +def close_socket(sock): + """Shutdown and close the socket.""" + try: + shut_down(sock) + except Exception: + pass + sock.close() + + +def serve(name, handler, host, port=0, backlog=socket.SOMAXCONN, timeout=None): + """Accepts TCP connections on the specified host and port, and invokes the + provided handler function for every new connection. + + Returns the created server socket. + """ + + assert backlog > 0 + + try: + listener = create_server(host, port, backlog, timeout) + except Exception: + log.reraise_exception( + "Error listening for incoming {0} connections on {1}:{2}:", name, host, port + ) + host, port = listener.getsockname() + log.info("Listening for incoming {0} connections on {1}:{2}...", name, host, port) + + def accept_worker(): + while True: + try: + sock, (other_host, other_port) = listener.accept() + except (OSError, socket.error): + # Listener socket has been closed. + break + + log.info( + "Accepted incoming {0} connection from {1}:{2}.", + name, + other_host, + other_port, + ) + handler(sock) + + thread = threading.Thread(target=accept_worker) + thread.daemon = True + hide_thread_from_debugger(thread) + thread.start() + + return listener diff --git a/venv/lib/python3.8/site-packages/debugpy/common/stacks.py b/venv/lib/python3.8/site-packages/debugpy/common/stacks.py new file mode 100644 index 0000000..a7bd16f --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/common/stacks.py @@ -0,0 +1,62 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See LICENSE in the project root +# for license information. + +"""Provides facilities to dump all stacks of all threads in the process. +""" + +import os +import sys +import time +import threading +import traceback + +from debugpy.common import log + + +def dump(): + """Dump stacks of all threads in this process, except for the current thread.""" + + tid = threading.current_thread().ident + pid = os.getpid() + + log.info("Dumping stacks for process {0}...", pid) + + for t_ident, frame in sys._current_frames().items(): + if t_ident == tid: + continue + + for t in threading.enumerate(): + if t.ident == tid: + t_name = t.name + t_daemon = t.daemon + break + else: + t_name = t_daemon = "" + + stack = "".join(traceback.format_stack(frame)) + log.info( + "Stack of thread {0} (tid={1}, pid={2}, daemon={3}):\n\n{4}", + t_name, + t_ident, + pid, + t_daemon, + stack, + ) + + log.info("Finished dumping stacks for process {0}.", pid) + + +def dump_after(secs): + """Invokes dump() on a background thread after waiting for the specified time.""" + + def dumper(): + time.sleep(secs) + try: + dump() + except: + log.swallow_exception() + + thread = threading.Thread(target=dumper) + thread.daemon = True + thread.start() diff --git a/venv/lib/python3.8/site-packages/debugpy/common/timestamp.py b/venv/lib/python3.8/site-packages/debugpy/common/timestamp.py new file mode 100644 index 0000000..2913b60 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/common/timestamp.py @@ -0,0 +1,22 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See LICENSE in the project root +# for license information. + +"""Provides monotonic timestamps with a resetable zero. +""" + +import time + +__all__ = ["current", "reset"] + + +def current(): + return time.monotonic() - timestamp_zero + + +def reset(): + global timestamp_zero + timestamp_zero = time.monotonic() + + +reset() diff --git a/venv/lib/python3.8/site-packages/debugpy/common/util.py b/venv/lib/python3.8/site-packages/debugpy/common/util.py new file mode 100644 index 0000000..54850a0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/common/util.py @@ -0,0 +1,164 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See LICENSE in the project root +# for license information. + +import inspect +import os +import sys + + +def evaluate(code, path=__file__, mode="eval"): + # Setting file path here to avoid breaking here if users have set + # "break on exception raised" setting. This code can potentially run + # in user process and is indistinguishable if the path is not set. + # We use the path internally to skip exception inside the debugger. + expr = compile(code, path, "eval") + return eval(expr, {}, sys.modules) + + +class Observable(object): + """An object with change notifications.""" + + observers = () # used when attributes are set before __init__ is invoked + + def __init__(self): + self.observers = [] + + def __setattr__(self, name, value): + try: + return super().__setattr__(name, value) + finally: + for ob in self.observers: + ob(self, name) + + +class Env(dict): + """A dict for environment variables.""" + + @staticmethod + def snapshot(): + """Returns a snapshot of the current environment.""" + return Env(os.environ) + + def copy(self, updated_from=None): + result = Env(self) + if updated_from is not None: + result.update(updated_from) + return result + + def prepend_to(self, key, entry): + """Prepends a new entry to a PATH-style environment variable, creating + it if it doesn't exist already. + """ + try: + tail = os.path.pathsep + self[key] + except KeyError: + tail = "" + self[key] = entry + tail + + +def force_str(s, encoding, errors="strict"): + """Converts s to str, using the provided encoding. If s is already str, + it is returned as is. + """ + return s.decode(encoding, errors) if isinstance(s, bytes) else str(s) + + +def force_bytes(s, encoding, errors="strict"): + """Converts s to bytes, using the provided encoding. If s is already bytes, + it is returned as is. + + If errors="strict" and s is bytes, its encoding is verified by decoding it; + UnicodeError is raised if it cannot be decoded. + """ + if isinstance(s, str): + return s.encode(encoding, errors) + else: + s = bytes(s) + if errors == "strict": + # Return value ignored - invoked solely for verification. + s.decode(encoding, errors) + return s + + +def force_ascii(s, errors="strict"): + """Same as force_bytes(s, "ascii", errors)""" + return force_bytes(s, "ascii", errors) + + +def force_utf8(s, errors="strict"): + """Same as force_bytes(s, "utf8", errors)""" + return force_bytes(s, "utf8", errors) + + +def nameof(obj, quote=False): + """Returns the most descriptive name of a Python module, class, or function, + as a Unicode string + + If quote=True, name is quoted with repr(). + + Best-effort, but guaranteed to not fail - always returns something. + """ + + try: + name = obj.__qualname__ + except Exception: + try: + name = obj.__name__ + except Exception: + # Fall back to raw repr(), and skip quoting. + try: + name = repr(obj) + except Exception: + return "" + else: + quote = False + + if quote: + try: + name = repr(name) + except Exception: + pass + + return force_str(name, "utf-8", "replace") + + +def srcnameof(obj): + """Returns the most descriptive name of a Python module, class, or function, + including source information (filename and linenumber), if available. + + Best-effort, but guaranteed to not fail - always returns something. + """ + + name = nameof(obj, quote=True) + + # Get the source information if possible. + try: + src_file = inspect.getsourcefile(obj) + except Exception: + pass + else: + name += f" (file {src_file!r}" + try: + _, src_lineno = inspect.getsourcelines(obj) + except Exception: + pass + else: + name += f", line {src_lineno}" + name += ")" + + return name + + +def hide_debugpy_internals(): + """Returns True if the caller should hide something from debugpy.""" + return "DEBUGPY_TRACE_DEBUGPY" not in os.environ + + +def hide_thread_from_debugger(thread): + """Disables tracing for the given thread if DEBUGPY_TRACE_DEBUGPY is not set. + DEBUGPY_TRACE_DEBUGPY is used to debug debugpy with debugpy + """ + if hide_debugpy_internals(): + thread.pydev_do_not_trace = True + thread.is_pydev_daemon_thread = True diff --git a/venv/lib/python3.8/site-packages/debugpy/launcher/__init__.py b/venv/lib/python3.8/site-packages/debugpy/launcher/__init__.py new file mode 100644 index 0000000..a6e0934 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/launcher/__init__.py @@ -0,0 +1,32 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See LICENSE in the project root +# for license information. + +__all__ = [] + + +adapter_host = None +"""The host on which adapter is running and listening for incoming connections +from the launcher and the servers.""" + +channel = None +"""DAP message channel to the adapter.""" + + +def connect(host, port): + from debugpy.common import log, messaging, sockets + from debugpy.launcher import handlers + + global channel, adapter_host + assert channel is None + assert adapter_host is None + + log.info("Connecting to adapter at {0}:{1}", host, port) + + sock = sockets.create_client() + sock.connect((host, port)) + adapter_host = host + + stream = messaging.JsonIOStream.from_socket(sock, "Adapter") + channel = messaging.JsonMessageChannel(stream, handlers=handlers) + channel.start() diff --git a/venv/lib/python3.8/site-packages/debugpy/launcher/__main__.py b/venv/lib/python3.8/site-packages/debugpy/launcher/__main__.py new file mode 100644 index 0000000..cff18b5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/launcher/__main__.py @@ -0,0 +1,91 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See LICENSE in the project root +# for license information. + +__all__ = ["main"] + +import locale +import signal +import sys + +# WARNING: debugpy and submodules must not be imported on top level in this module, +# and should be imported locally inside main() instead. + + +def main(): + from debugpy import launcher + from debugpy.common import log + from debugpy.launcher import debuggee + + log.to_file(prefix="debugpy.launcher") + log.describe_environment("debugpy.launcher startup environment:") + + if sys.platform == "win32": + # For windows, disable exceptions on Ctrl+C - we want to allow the debuggee + # process to handle these, or not, as it sees fit. If the debuggee exits + # on Ctrl+C, the launcher will also exit, so it doesn't need to observe + # the signal directly. + signal.signal(signal.SIGINT, signal.SIG_IGN) + + # Everything before "--" is command line arguments for the launcher itself, + # and everything after "--" is command line arguments for the debuggee. + log.info("sys.argv before parsing: {0}", sys.argv) + sep = sys.argv.index("--") + launcher_argv = sys.argv[1:sep] + sys.argv[:] = [sys.argv[0]] + sys.argv[sep + 1 :] + log.info("sys.argv after patching: {0}", sys.argv) + + # The first argument specifies the host/port on which the adapter is waiting + # for launcher to connect. It's either host:port, or just port. + adapter = launcher_argv[0] + host, sep, port = adapter.partition(":") + if not sep: + host = "127.0.0.1" + port = adapter + port = int(port) + + launcher.connect(host, port) + launcher.channel.wait() + + if debuggee.process is not None: + sys.exit(debuggee.process.returncode) + + +if __name__ == "__main__": + # debugpy can also be invoked directly rather than via -m. In this case, the first + # entry on sys.path is the one added automatically by Python for the directory + # containing this file. This means that import debugpy will not work, since we need + # the parent directory of debugpy/ to be in sys.path, rather than debugpy/launcher/. + # + # The other issue is that many other absolute imports will break, because they + # will be resolved relative to debugpy/launcher/ - e.g. `import state` will then try + # to import debugpy/launcher/state.py. + # + # To fix both, we need to replace the automatically added entry such that it points + # at parent directory of debugpy/ instead of debugpy/launcher, import debugpy with that + # in sys.path, and then remove the first entry entry altogether, so that it doesn't + # affect any further imports we might do. For example, suppose the user did: + # + # python /foo/bar/debugpy/launcher ... + # + # At the beginning of this script, sys.path will contain "/foo/bar/debugpy/launcher" + # as the first entry. What we want is to replace it with "/foo/bar', then import + # debugpy with that in effect, and then remove the replaced entry before any more + # code runs. The imported debugpy module will remain in sys.modules, and thus all + # future imports of it or its submodules will resolve accordingly. + if "debugpy" not in sys.modules: + # Do not use dirname() to walk up - this can be a relative path, e.g. ".". + sys.path[0] = sys.path[0] + "/../../" + __import__("debugpy") + del sys.path[0] + + # Apply OS-global and user-specific locale settings. + try: + locale.setlocale(locale.LC_ALL, "") + except Exception: + # On POSIX, locale is set via environment variables, and this can fail if + # those variables reference a non-existing locale. Ignore and continue using + # the default "C" locale if so. + pass + + main() diff --git a/venv/lib/python3.8/site-packages/debugpy/launcher/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/launcher/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..4b7dd9f Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/launcher/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/launcher/__pycache__/__main__.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/launcher/__pycache__/__main__.cpython-38.pyc new file mode 100644 index 0000000..503deed Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/launcher/__pycache__/__main__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/launcher/__pycache__/debuggee.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/launcher/__pycache__/debuggee.cpython-38.pyc new file mode 100644 index 0000000..ca1c0f1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/launcher/__pycache__/debuggee.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/launcher/__pycache__/handlers.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/launcher/__pycache__/handlers.cpython-38.pyc new file mode 100644 index 0000000..cf087ef Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/launcher/__pycache__/handlers.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/launcher/__pycache__/output.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/launcher/__pycache__/output.cpython-38.pyc new file mode 100644 index 0000000..f130acc Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/launcher/__pycache__/output.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/launcher/__pycache__/winapi.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/launcher/__pycache__/winapi.cpython-38.pyc new file mode 100644 index 0000000..a624acc Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/launcher/__pycache__/winapi.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/launcher/debuggee.py b/venv/lib/python3.8/site-packages/debugpy/launcher/debuggee.py new file mode 100644 index 0000000..2d85288 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/launcher/debuggee.py @@ -0,0 +1,249 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See LICENSE in the project root +# for license information. + +import atexit +import ctypes +import os +import signal +import struct +import subprocess +import sys +import threading + +from debugpy import launcher +from debugpy.common import log, messaging +from debugpy.launcher import output + +if sys.platform == "win32": + from debugpy.launcher import winapi + + +process = None +"""subprocess.Popen instance for the debuggee process.""" + +job_handle = None +"""On Windows, the handle for the job object to which the debuggee is assigned.""" + +wait_on_exit_predicates = [] +"""List of functions that determine whether to pause after debuggee process exits. + +Every function is invoked with exit code as the argument. If any of the functions +returns True, the launcher pauses and waits for user input before exiting. +""" + + +def describe(): + return f"Debuggee[PID={process.pid}]" + + +def spawn(process_name, cmdline, env, redirect_output): + log.info( + "Spawning debuggee process:\n\n" + "Command line: {0!r}\n\n" + "Environment variables: {1!r}\n\n", + cmdline, + env, + ) + + close_fds = set() + try: + if redirect_output: + # subprocess.PIPE behavior can vary substantially depending on Python version + # and platform; using our own pipes keeps it simple, predictable, and fast. + stdout_r, stdout_w = os.pipe() + stderr_r, stderr_w = os.pipe() + close_fds |= {stdout_r, stdout_w, stderr_r, stderr_w} + kwargs = dict(stdout=stdout_w, stderr=stderr_w) + else: + kwargs = {} + + if sys.platform != "win32": + + def preexec_fn(): + try: + # Start the debuggee in a new process group, so that the launcher can + # kill the entire process tree later. + os.setpgrp() + + # Make the new process group the foreground group in its session, so + # that it can interact with the terminal. The debuggee will receive + # SIGTTOU when tcsetpgrp() is called, and must ignore it. + old_handler = signal.signal(signal.SIGTTOU, signal.SIG_IGN) + try: + tty = os.open("/dev/tty", os.O_RDWR) + try: + os.tcsetpgrp(tty, os.getpgrp()) + finally: + os.close(tty) + finally: + signal.signal(signal.SIGTTOU, old_handler) + except Exception: + # Not an error - /dev/tty doesn't work when there's no terminal. + log.swallow_exception( + "Failed to set up process group", level="info" + ) + + kwargs.update(preexec_fn=preexec_fn) + + try: + global process + process = subprocess.Popen(cmdline, env=env, bufsize=0, **kwargs) + except Exception as exc: + raise messaging.MessageHandlingError( + "Couldn't spawn debuggee: {0}\n\nCommand line:{1!r}".format( + exc, cmdline + ) + ) + + log.info("Spawned {0}.", describe()) + + if sys.platform == "win32": + # Assign the debuggee to a new job object, so that the launcher can kill + # the entire process tree later. + try: + global job_handle + job_handle = winapi.kernel32.CreateJobObjectA(None, None) + + job_info = winapi.JOBOBJECT_EXTENDED_LIMIT_INFORMATION() + job_info_size = winapi.DWORD(ctypes.sizeof(job_info)) + winapi.kernel32.QueryInformationJobObject( + job_handle, + winapi.JobObjectExtendedLimitInformation, + ctypes.pointer(job_info), + job_info_size, + ctypes.pointer(job_info_size), + ) + + job_info.BasicLimitInformation.LimitFlags |= ( + # Ensure that the job will be terminated by the OS once the + # launcher exits, even if it doesn't terminate the job explicitly. + winapi.JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE + | + # Allow the debuggee to create its own jobs unrelated to ours. + winapi.JOB_OBJECT_LIMIT_BREAKAWAY_OK + ) + winapi.kernel32.SetInformationJobObject( + job_handle, + winapi.JobObjectExtendedLimitInformation, + ctypes.pointer(job_info), + job_info_size, + ) + + process_handle = winapi.kernel32.OpenProcess( + winapi.PROCESS_TERMINATE | winapi.PROCESS_SET_QUOTA, + False, + process.pid, + ) + + winapi.kernel32.AssignProcessToJobObject(job_handle, process_handle) + + except Exception: + log.swallow_exception("Failed to set up job object", level="warning") + + atexit.register(kill) + + launcher.channel.send_event( + "process", + { + "startMethod": "launch", + "isLocalProcess": True, + "systemProcessId": process.pid, + "name": process_name, + "pointerSize": struct.calcsize("P") * 8, + }, + ) + + if redirect_output: + for category, fd, tee in [ + ("stdout", stdout_r, sys.stdout), + ("stderr", stderr_r, sys.stderr), + ]: + output.CaptureOutput(describe(), category, fd, tee) + close_fds.remove(fd) + + wait_thread = threading.Thread(target=wait_for_exit, name="wait_for_exit()") + wait_thread.daemon = True + wait_thread.start() + + finally: + for fd in close_fds: + try: + os.close(fd) + except Exception: + log.swallow_exception(level="warning") + + +def kill(): + if process is None: + return + + try: + if process.poll() is None: + log.info("Killing {0}", describe()) + # Clean up the process tree + if sys.platform == "win32": + # On Windows, kill the job object. + winapi.kernel32.TerminateJobObject(job_handle, 0) + else: + # On POSIX, kill the debuggee's process group. + os.killpg(process.pid, signal.SIGKILL) + except Exception: + log.swallow_exception("Failed to kill {0}", describe()) + + +def wait_for_exit(): + try: + code = process.wait() + if sys.platform != "win32" and code < 0: + # On POSIX, if the process was terminated by a signal, Popen will use + # a negative returncode to indicate that - but the actual exit code of + # the process is always an unsigned number, and can be determined by + # taking the lowest 8 bits of that negative returncode. + code &= 0xFF + except Exception: + log.swallow_exception("Couldn't determine process exit code") + code = -1 + + log.info("{0} exited with code {1}", describe(), code) + output.wait_for_remaining_output() + + # Determine whether we should wait or not before sending "exited", so that any + # follow-up "terminate" requests don't affect the predicates. + should_wait = any(pred(code) for pred in wait_on_exit_predicates) + + try: + launcher.channel.send_event("exited", {"exitCode": code}) + except Exception: + pass + + if should_wait: + _wait_for_user_input() + + try: + launcher.channel.send_event("terminated") + except Exception: + pass + + +def _wait_for_user_input(): + if sys.stdout and sys.stdin and sys.stdin.isatty(): + from debugpy.common import log + + try: + import msvcrt + except ImportError: + can_getch = False + else: + can_getch = True + + if can_getch: + log.debug("msvcrt available - waiting for user input via getch()") + sys.stdout.write("Press any key to continue . . . ") + sys.stdout.flush() + msvcrt.getch() + else: + log.debug("msvcrt not available - waiting for user input via read()") + sys.stdout.write("Press Enter to continue . . . ") + sys.stdout.flush() + sys.stdin.read(1) diff --git a/venv/lib/python3.8/site-packages/debugpy/launcher/handlers.py b/venv/lib/python3.8/site-packages/debugpy/launcher/handlers.py new file mode 100644 index 0000000..213a5b9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/launcher/handlers.py @@ -0,0 +1,152 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See LICENSE in the project root +# for license information. + +import os +import sys + +import debugpy +from debugpy import launcher +from debugpy.common import json +from debugpy.launcher import debuggee + + +def launch_request(request): + debug_options = set(request("debugOptions", json.array(str))) + + # Handling of properties that can also be specified as legacy "debugOptions" flags. + # If property is explicitly set to false, but the flag is in "debugOptions", treat + # it as an error. Returns None if the property wasn't explicitly set either way. + def property_or_debug_option(prop_name, flag_name): + assert prop_name[0].islower() and flag_name[0].isupper() + + value = request(prop_name, bool, optional=True) + if value == (): + value = None + + if flag_name in debug_options: + if value is False: + raise request.isnt_valid( + '{0}:false and "debugOptions":[{1}] are mutually exclusive', + json.repr(prop_name), + json.repr(flag_name), + ) + value = True + + return value + + python = request("python", json.array(str, size=(1,))) + cmdline = list(python) + + if not request("noDebug", json.default(False)): + # see https://github.com/microsoft/debugpy/issues/861 + if sys.version_info[:2] >= (3, 11): + cmdline += ["-X", "frozen_modules=off"] + + port = request("port", int) + cmdline += [ + os.path.dirname(debugpy.__file__), + "--connect", + launcher.adapter_host + ":" + str(port), + ] + + if not request("subProcess", True): + cmdline += ["--configure-subProcess", "False"] + + qt_mode = request( + "qt", + json.enum( + "none", "auto", "pyside", "pyside2", "pyqt4", "pyqt5", optional=True + ), + ) + cmdline += ["--configure-qt", qt_mode] + + adapter_access_token = request("adapterAccessToken", str, optional=True) + if adapter_access_token != (): + cmdline += ["--adapter-access-token", adapter_access_token] + + debugpy_args = request("debugpyArgs", json.array(str)) + cmdline += debugpy_args + + # Use the copy of arguments that was propagated via the command line rather than + # "args" in the request itself, to allow for shell expansion. + cmdline += sys.argv[1:] + + process_name = request("processName", sys.executable) + + env = os.environ.copy() + env_changes = request("env", json.object((str, type(None)))) + if sys.platform == "win32": + # Environment variables are case-insensitive on Win32, so we need to normalize + # both dicts to make sure that env vars specified in the debug configuration + # overwrite the global env vars correctly. If debug config has entries that + # differ in case only, that's an error. + env = {k.upper(): v for k, v in os.environ.items()} + new_env_changes = {} + for k, v in env_changes.items(): + k_upper = k.upper() + if k_upper in new_env_changes: + if new_env_changes[k_upper] == v: + continue + else: + raise request.isnt_valid( + 'Found duplicate in "env": {0}.'.format(k_upper) + ) + new_env_changes[k_upper] = v + env_changes = new_env_changes + if "DEBUGPY_TEST" in env: + # If we're running as part of a debugpy test, make sure that codecov is not + # applied to the debuggee, since it will conflict with pydevd. + env.pop("COV_CORE_SOURCE", None) + env.update(env_changes) + env = {k: v for k, v in env.items() if v is not None} + + if request("gevent", False): + env["GEVENT_SUPPORT"] = "True" + + console = request( + "console", + json.enum( + "internalConsole", "integratedTerminal", "externalTerminal", optional=True + ), + ) + + redirect_output = property_or_debug_option("redirectOutput", "RedirectOutput") + if redirect_output is None: + # If neither the property nor the option were specified explicitly, choose + # the default depending on console type - "internalConsole" needs it to + # provide any output at all, but it's unnecessary for the terminals. + redirect_output = console == "internalConsole" + if redirect_output: + # sys.stdout buffering must be disabled - otherwise we won't see the output + # at all until the buffer fills up. + env["PYTHONUNBUFFERED"] = "1" + # Force UTF-8 output to minimize data loss due to re-encoding. + env["PYTHONIOENCODING"] = "utf-8" + + if property_or_debug_option("waitOnNormalExit", "WaitOnNormalExit"): + if console == "internalConsole": + raise request.isnt_valid( + '"waitOnNormalExit" is not supported for "console":"internalConsole"' + ) + debuggee.wait_on_exit_predicates.append(lambda code: code == 0) + if property_or_debug_option("waitOnAbnormalExit", "WaitOnAbnormalExit"): + if console == "internalConsole": + raise request.isnt_valid( + '"waitOnAbnormalExit" is not supported for "console":"internalConsole"' + ) + debuggee.wait_on_exit_predicates.append(lambda code: code != 0) + + debuggee.spawn(process_name, cmdline, env, redirect_output) + return {} + + +def terminate_request(request): + del debuggee.wait_on_exit_predicates[:] + request.respond({}) + debuggee.kill() + + +def disconnect(): + del debuggee.wait_on_exit_predicates[:] + debuggee.kill() diff --git a/venv/lib/python3.8/site-packages/debugpy/launcher/output.py b/venv/lib/python3.8/site-packages/debugpy/launcher/output.py new file mode 100644 index 0000000..70cd521 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/launcher/output.py @@ -0,0 +1,113 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See LICENSE in the project root +# for license information. + +import codecs +import os +import threading + +from debugpy import launcher +from debugpy.common import log + + +class CaptureOutput(object): + """Captures output from the specified file descriptor, and tees it into another + file descriptor while generating DAP "output" events for it. + """ + + instances = {} + """Keys are output categories, values are CaptureOutput instances.""" + + def __init__(self, whose, category, fd, stream): + assert category not in self.instances + self.instances[category] = self + log.info("Capturing {0} of {1}.", category, whose) + + self.category = category + self._whose = whose + self._fd = fd + self._decoder = codecs.getincrementaldecoder("utf-8")(errors="surrogateescape") + + if stream is None: + # Can happen if running under pythonw.exe. + self._stream = None + else: + self._stream = stream.buffer + encoding = stream.encoding + if encoding is None or encoding == "cp65001": + encoding = "utf-8" + try: + self._encode = codecs.getencoder(encoding) + except Exception: + log.swallow_exception( + "Unsupported {0} encoding {1!r}; falling back to UTF-8.", + category, + encoding, + level="warning", + ) + self._encode = codecs.getencoder("utf-8") + else: + log.info("Using encoding {0!r} for {1}", encoding, category) + + self._worker_thread = threading.Thread(target=self._worker, name=category) + self._worker_thread.start() + + def __del__(self): + fd = self._fd + if fd is not None: + try: + os.close(fd) + except Exception: + pass + + def _worker(self): + while self._fd is not None: + try: + s = os.read(self._fd, 0x1000) + except Exception: + break + if not len(s): + break + self._process_chunk(s) + + # Flush any remaining data in the incremental decoder. + self._process_chunk(b"", final=True) + + def _process_chunk(self, s, final=False): + s = self._decoder.decode(s, final=final) + if len(s) == 0: + return + + try: + launcher.channel.send_event( + "output", {"category": self.category, "output": s.replace("\r\n", "\n")} + ) + except Exception: + pass # channel to adapter is already closed + + if self._stream is None: + return + + try: + s, _ = self._encode(s, "surrogateescape") + size = len(s) + i = 0 + while i < size: + written = self._stream.write(s[i:]) + self._stream.flush() + if written == 0: + # This means that the output stream was closed from the other end. + # Do the same to the debuggee, so that it knows as well. + os.close(self._fd) + self._fd = None + break + i += written + except Exception: + log.swallow_exception("Error printing {0!r} to {1}", s, self.category) + + +def wait_for_remaining_output(): + """Waits for all remaining output to be captured and propagated.""" + for category, instance in CaptureOutput.instances.items(): + log.info("Waiting for remaining {0} of {1}.", category, instance._whose) + instance._worker_thread.join() diff --git a/venv/lib/python3.8/site-packages/debugpy/launcher/winapi.py b/venv/lib/python3.8/site-packages/debugpy/launcher/winapi.py new file mode 100644 index 0000000..a93dbc7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/launcher/winapi.py @@ -0,0 +1,104 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See LICENSE in the project root +# for license information. + +import ctypes +from ctypes.wintypes import BOOL, DWORD, HANDLE, LARGE_INTEGER, LPCSTR, UINT + +from debugpy.common import log + + +JOBOBJECTCLASS = ctypes.c_int +LPDWORD = ctypes.POINTER(DWORD) +LPVOID = ctypes.c_void_p +SIZE_T = ctypes.c_size_t +ULONGLONG = ctypes.c_ulonglong + + +class IO_COUNTERS(ctypes.Structure): + _fields_ = [ + ("ReadOperationCount", ULONGLONG), + ("WriteOperationCount", ULONGLONG), + ("OtherOperationCount", ULONGLONG), + ("ReadTransferCount", ULONGLONG), + ("WriteTransferCount", ULONGLONG), + ("OtherTransferCount", ULONGLONG), + ] + + +class JOBOBJECT_BASIC_LIMIT_INFORMATION(ctypes.Structure): + _fields_ = [ + ("PerProcessUserTimeLimit", LARGE_INTEGER), + ("PerJobUserTimeLimit", LARGE_INTEGER), + ("LimitFlags", DWORD), + ("MinimumWorkingSetSize", SIZE_T), + ("MaximumWorkingSetSize", SIZE_T), + ("ActiveProcessLimit", DWORD), + ("Affinity", SIZE_T), + ("PriorityClass", DWORD), + ("SchedulingClass", DWORD), + ] + + +class JOBOBJECT_EXTENDED_LIMIT_INFORMATION(ctypes.Structure): + _fields_ = [ + ("BasicLimitInformation", JOBOBJECT_BASIC_LIMIT_INFORMATION), + ("IoInfo", IO_COUNTERS), + ("ProcessMemoryLimit", SIZE_T), + ("JobMemoryLimit", SIZE_T), + ("PeakProcessMemoryUsed", SIZE_T), + ("PeakJobMemoryUsed", SIZE_T), + ] + + +JobObjectExtendedLimitInformation = JOBOBJECTCLASS(9) + +JOB_OBJECT_LIMIT_BREAKAWAY_OK = 0x00000800 +JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE = 0x00002000 + +PROCESS_TERMINATE = 0x0001 +PROCESS_SET_QUOTA = 0x0100 + + +def _errcheck(is_error_result=(lambda result: not result)): + def impl(result, func, args): + if is_error_result(result): + log.debug("{0} returned {1}", func.__name__, result) + raise ctypes.WinError() + else: + return result + + return impl + + +kernel32 = ctypes.windll.kernel32 + +kernel32.AssignProcessToJobObject.errcheck = _errcheck() +kernel32.AssignProcessToJobObject.restype = BOOL +kernel32.AssignProcessToJobObject.argtypes = (HANDLE, HANDLE) + +kernel32.CreateJobObjectA.errcheck = _errcheck(lambda result: result == 0) +kernel32.CreateJobObjectA.restype = HANDLE +kernel32.CreateJobObjectA.argtypes = (LPVOID, LPCSTR) + +kernel32.OpenProcess.errcheck = _errcheck(lambda result: result == 0) +kernel32.OpenProcess.restype = HANDLE +kernel32.OpenProcess.argtypes = (DWORD, BOOL, DWORD) + +kernel32.QueryInformationJobObject.errcheck = _errcheck() +kernel32.QueryInformationJobObject.restype = BOOL +kernel32.QueryInformationJobObject.argtypes = ( + HANDLE, + JOBOBJECTCLASS, + LPVOID, + DWORD, + LPDWORD, +) + +kernel32.SetInformationJobObject.errcheck = _errcheck() +kernel32.SetInformationJobObject.restype = BOOL +kernel32.SetInformationJobObject.argtypes = (HANDLE, JOBOBJECTCLASS, LPVOID, DWORD) + +kernel32.TerminateJobObject.errcheck = _errcheck() +kernel32.TerminateJobObject.restype = BOOL +kernel32.TerminateJobObject.argtypes = (HANDLE, UINT) diff --git a/venv/lib/python3.8/site-packages/debugpy/public_api.py b/venv/lib/python3.8/site-packages/debugpy/public_api.py new file mode 100644 index 0000000..3c80089 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/public_api.py @@ -0,0 +1,185 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See LICENSE in the project root +# for license information. + +from __future__ import annotations + +import functools +import typing + +from debugpy import _version + + +# Expose debugpy.server API from subpackage, but do not actually import it unless +# and until a member is invoked - we don't want the server package loaded in the +# adapter, the tests, or setup.py. + +# Docstrings for public API members must be formatted according to PEP 8 - no more +# than 72 characters per line! - and must be readable when retrieved via help(). + + +Endpoint = typing.Tuple[str, int] + + +def _api(cancelable=False): + def apply(f): + @functools.wraps(f) + def wrapper(*args, **kwargs): + from debugpy.server import api + + wrapped = getattr(api, f.__name__) + return wrapped(*args, **kwargs) + + if cancelable: + + def cancel(*args, **kwargs): + from debugpy.server import api + + wrapped = getattr(api, f.__name__) + return wrapped.cancel(*args, **kwargs) + + wrapper.cancel = cancel + + return wrapper + + return apply + + +@_api() +def log_to(__path: str) -> None: + """Generate detailed debugpy logs in the specified directory. + + The directory must already exist. Several log files are generated, + one for every process involved in the debug session. + """ + + +@_api() +def configure(__properties: dict[str, typing.Any] | None = None, **kwargs) -> None: + """Sets debug configuration properties that cannot be set in the + "attach" request, because they must be applied as early as possible + in the process being debugged. + + For example, a "launch" configuration with subprocess debugging + disabled can be defined entirely in JSON:: + + { + "request": "launch", + "subProcess": false, + ... + } + + But the same cannot be done with "attach", because "subProcess" + must be known at the point debugpy starts tracing execution. Thus, + it is not available in JSON, and must be omitted:: + + { + "request": "attach", + ... + } + + and set from within the debugged process instead:: + + debugpy.configure(subProcess=False) + debugpy.listen(...) + + Properties to set can be passed either as a single dict argument, + or as separate keyword arguments:: + + debugpy.configure({"subProcess": False}) + """ + + +@_api() +def listen(__endpoint: Endpoint | int) -> Endpoint: + """Starts a debug adapter debugging this process, that listens for + incoming socket connections from clients on the specified address. + + `__endpoint` must be either a (host, port) tuple as defined by the + standard `socket` module for the `AF_INET` address family, or a port + number. If only the port is specified, host is "127.0.0.1". + + Returns the interface and the port on which the debug adapter is + actually listening, in the same format as `__endpoint`. This may be + different from address if port was 0 in the latter, in which case + the adapter will pick some unused ephemeral port to listen on. + + This function does't wait for a client to connect to the debug + adapter that it starts. Use `wait_for_client` to block execution + until the client connects. + """ + + +@_api() +def connect(__endpoint: Endpoint | int, *, access_token: str | None = None) -> Endpoint: + """Tells an existing debug adapter instance that is listening on the + specified address to debug this process. + + `__endpoint` must be either a (host, port) tuple as defined by the + standard `socket` module for the `AF_INET` address family, or a port + number. If only the port is specified, host is "127.0.0.1". + + `access_token` must be the same value that was passed to the adapter + via the `--server-access-token` command-line switch. + + This function does't wait for a client to connect to the debug + adapter that it connects to. Use `wait_for_client` to block + execution until the client connects. + """ + + +@_api(cancelable=True) +def wait_for_client() -> None: + """If there is a client connected to the debug adapter that is + debugging this process, returns immediately. Otherwise, blocks + until a client connects to the adapter. + + While this function is waiting, it can be canceled by calling + `wait_for_client.cancel()` from another thread. + """ + + +@_api() +def is_client_connected() -> bool: + """True if a client is connected to the debug adapter that is + debugging this process. + """ + + +@_api() +def breakpoint() -> None: + """If a client is connected to the debug adapter that is debugging + this process, pauses execution of all threads, and simulates a + breakpoint being hit at the line following the call. + + It is also registered as the default handler for builtins.breakpoint(). + """ + + +@_api() +def debug_this_thread() -> None: + """Makes the debugger aware of the current thread. + + Must be called on any background thread that is started by means + other than the usual Python APIs (i.e. the "threading" module), + in order for breakpoints to work on that thread. + """ + + +@_api() +def trace_this_thread(__should_trace: bool): + """Tells the debug adapter to enable or disable tracing on the + current thread. + + When the thread is traced, the debug adapter can detect breakpoints + being hit, but execution is slower, especially in functions that + have any breakpoints set in them. Disabling tracing when breakpoints + are not anticipated to be hit can improve performance. It can also + be used to skip breakpoints on a particular thread. + + Tracing is automatically disabled for all threads when there is no + client connected to the debug adapter. + """ + + +__version__: str = _version.get_versions()["version"] diff --git a/venv/lib/python3.8/site-packages/debugpy/server/__init__.py b/venv/lib/python3.8/site-packages/debugpy/server/__init__.py new file mode 100644 index 0000000..42d5367 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/server/__init__.py @@ -0,0 +1,7 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See LICENSE in the project root +# for license information. + +# "force_pydevd" must be imported first to ensure (via side effects) +# that the debugpy-vendored copy of pydevd gets used. +import debugpy._vendored.force_pydevd # noqa diff --git a/venv/lib/python3.8/site-packages/debugpy/server/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/server/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..3a369db Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/server/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/server/__pycache__/api.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/server/__pycache__/api.cpython-38.pyc new file mode 100644 index 0000000..76b6f42 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/server/__pycache__/api.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/server/__pycache__/attach_pid_injected.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/server/__pycache__/attach_pid_injected.cpython-38.pyc new file mode 100644 index 0000000..c28e5b9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/server/__pycache__/attach_pid_injected.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/server/__pycache__/cli.cpython-38.pyc b/venv/lib/python3.8/site-packages/debugpy/server/__pycache__/cli.cpython-38.pyc new file mode 100644 index 0000000..3cc3fed Binary files /dev/null and b/venv/lib/python3.8/site-packages/debugpy/server/__pycache__/cli.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/debugpy/server/api.py b/venv/lib/python3.8/site-packages/debugpy/server/api.py new file mode 100644 index 0000000..515ea06 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/server/api.py @@ -0,0 +1,343 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See LICENSE in the project root +# for license information. + +import codecs +import os +import pydevd +import socket +import sys +import threading + +import debugpy +from debugpy import adapter +from debugpy.common import json, log, sockets +from _pydevd_bundle.pydevd_constants import get_global_debugger +from pydevd_file_utils import absolute_path +from debugpy.common.util import hide_debugpy_internals + +_tls = threading.local() + +# TODO: "gevent", if possible. +_config = { + "qt": "none", + "subProcess": True, + "python": sys.executable, +} + +_config_valid_values = { + # If property is not listed here, any value is considered valid, so long as + # its type matches that of the default value in _config. + "qt": ["auto", "none", "pyside", "pyside2", "pyqt4", "pyqt5"], +} + +# This must be a global to prevent it from being garbage collected and triggering +# https://bugs.python.org/issue37380. +_adapter_process = None + + +def _settrace(*args, **kwargs): + log.debug("pydevd.settrace(*{0!r}, **{1!r})", args, kwargs) + # The stdin in notification is not acted upon in debugpy, so, disable it. + kwargs.setdefault("notify_stdin", False) + try: + return pydevd.settrace(*args, **kwargs) + except Exception: + raise + else: + _settrace.called = True + + +_settrace.called = False + + +def ensure_logging(): + """Starts logging to log.log_dir, if it hasn't already been done.""" + if ensure_logging.ensured: + return + ensure_logging.ensured = True + log.to_file(prefix="debugpy.server") + log.describe_environment("Initial environment:") + + +ensure_logging.ensured = False + + +def log_to(path): + if ensure_logging.ensured: + raise RuntimeError("logging has already begun") + + log.debug("log_to{0!r}", (path,)) + if path is sys.stderr: + log.stderr.levels |= set(log.LEVELS) + else: + log.log_dir = path + + +def configure(properties=None, **kwargs): + if _settrace.called: + raise RuntimeError("debug adapter is already running") + + ensure_logging() + log.debug("configure{0!r}", (properties, kwargs)) + + if properties is None: + properties = kwargs + else: + properties = dict(properties) + properties.update(kwargs) + + for k, v in properties.items(): + if k not in _config: + raise ValueError("Unknown property {0!r}".format(k)) + expected_type = type(_config[k]) + if type(v) is not expected_type: + raise ValueError("{0!r} must be a {1}".format(k, expected_type.__name__)) + valid_values = _config_valid_values.get(k) + if (valid_values is not None) and (v not in valid_values): + raise ValueError("{0!r} must be one of: {1!r}".format(k, valid_values)) + _config[k] = v + + +def _starts_debugging(func): + def debug(address, **kwargs): + if _settrace.called: + raise RuntimeError("this process already has a debug adapter") + + try: + _, port = address + except Exception: + port = address + address = ("127.0.0.1", port) + try: + port.__index__() # ensure it's int-like + except Exception: + raise ValueError("expected port or (host, port)") + if not (0 <= port < 2 ** 16): + raise ValueError("invalid port number") + + ensure_logging() + log.debug("{0}({1!r}, **{2!r})", func.__name__, address, kwargs) + log.info("Initial debug configuration: {0}", json.repr(_config)) + + qt_mode = _config.get("qt", "none") + if qt_mode != "none": + pydevd.enable_qt_support(qt_mode) + + settrace_kwargs = { + "suspend": False, + "patch_multiprocessing": _config.get("subProcess", True), + } + + if hide_debugpy_internals(): + debugpy_path = os.path.dirname(absolute_path(debugpy.__file__)) + settrace_kwargs["dont_trace_start_patterns"] = (debugpy_path,) + settrace_kwargs["dont_trace_end_patterns"] = (str("debugpy_launcher.py"),) + + try: + return func(address, settrace_kwargs, **kwargs) + except Exception: + log.reraise_exception("{0}() failed:", func.__name__, level="info") + + return debug + + +@_starts_debugging +def listen(address, settrace_kwargs): + # Errors below are logged with level="info", because the caller might be catching + # and handling exceptions, and we don't want to spam their stderr unnecessarily. + + import subprocess + + server_access_token = codecs.encode(os.urandom(32), "hex").decode("ascii") + + try: + endpoints_listener = sockets.create_server("127.0.0.1", 0, timeout=10) + except Exception as exc: + log.swallow_exception("Can't listen for adapter endpoints:") + raise RuntimeError("can't listen for adapter endpoints: " + str(exc)) + + try: + endpoints_host, endpoints_port = endpoints_listener.getsockname() + log.info( + "Waiting for adapter endpoints on {0}:{1}...", + endpoints_host, + endpoints_port, + ) + + host, port = address + adapter_args = [ + _config.get("python", sys.executable), + os.path.dirname(adapter.__file__), + "--for-server", + str(endpoints_port), + "--host", + host, + "--port", + str(port), + "--server-access-token", + server_access_token, + ] + if log.log_dir is not None: + adapter_args += ["--log-dir", log.log_dir] + log.info("debugpy.listen() spawning adapter: {0}", json.repr(adapter_args)) + + # On Windows, detach the adapter from our console, if any, so that it doesn't + # receive Ctrl+C from it, and doesn't keep it open once we exit. + creationflags = 0 + if sys.platform == "win32": + creationflags |= 0x08000000 # CREATE_NO_WINDOW + creationflags |= 0x00000200 # CREATE_NEW_PROCESS_GROUP + + # Adapter will outlive this process, so we shouldn't wait for it. However, we + # need to ensure that the Popen instance for it doesn't get garbage-collected + # by holding a reference to it in a non-local variable, to avoid triggering + # https://bugs.python.org/issue37380. + try: + global _adapter_process + _adapter_process = subprocess.Popen( + adapter_args, close_fds=True, creationflags=creationflags + ) + if os.name == "posix": + # It's going to fork again to daemonize, so we need to wait on it to + # clean it up properly. + _adapter_process.wait() + else: + # Suppress misleading warning about child process still being alive when + # this process exits (https://bugs.python.org/issue38890). + _adapter_process.returncode = 0 + pydevd.add_dont_terminate_child_pid(_adapter_process.pid) + except Exception as exc: + log.swallow_exception("Error spawning debug adapter:", level="info") + raise RuntimeError("error spawning debug adapter: " + str(exc)) + + try: + sock, _ = endpoints_listener.accept() + try: + sock.settimeout(None) + sock_io = sock.makefile("rb", 0) + try: + endpoints = json.loads(sock_io.read().decode("utf-8")) + finally: + sock_io.close() + finally: + sockets.close_socket(sock) + except socket.timeout: + log.swallow_exception( + "Timed out waiting for adapter to connect:", level="info" + ) + raise RuntimeError("timed out waiting for adapter to connect") + except Exception as exc: + log.swallow_exception("Error retrieving adapter endpoints:", level="info") + raise RuntimeError("error retrieving adapter endpoints: " + str(exc)) + + finally: + endpoints_listener.close() + + log.info("Endpoints received from adapter: {0}", json.repr(endpoints)) + + if "error" in endpoints: + raise RuntimeError(str(endpoints["error"])) + + try: + server_host = str(endpoints["server"]["host"]) + server_port = int(endpoints["server"]["port"]) + client_host = str(endpoints["client"]["host"]) + client_port = int(endpoints["client"]["port"]) + except Exception as exc: + log.swallow_exception( + "Error parsing adapter endpoints:\n{0}\n", + json.repr(endpoints), + level="info", + ) + raise RuntimeError("error parsing adapter endpoints: " + str(exc)) + log.info( + "Adapter is accepting incoming client connections on {0}:{1}", + client_host, + client_port, + ) + + _settrace( + host=server_host, + port=server_port, + wait_for_ready_to_run=False, + block_until_connected=True, + access_token=server_access_token, + **settrace_kwargs + ) + log.info("pydevd is connected to adapter at {0}:{1}", server_host, server_port) + return client_host, client_port + + +@_starts_debugging +def connect(address, settrace_kwargs, access_token=None): + host, port = address + _settrace(host=host, port=port, client_access_token=access_token, **settrace_kwargs) + + +class wait_for_client: + def __call__(self): + ensure_logging() + log.debug("wait_for_client()") + + pydb = get_global_debugger() + if pydb is None: + raise RuntimeError("listen() or connect() must be called first") + + cancel_event = threading.Event() + self.cancel = cancel_event.set + pydevd._wait_for_attach(cancel=cancel_event) + + @staticmethod + def cancel(): + raise RuntimeError("wait_for_client() must be called first") + + +wait_for_client = wait_for_client() + + +def is_client_connected(): + return pydevd._is_attached() + + +def breakpoint(): + ensure_logging() + if not is_client_connected(): + log.info("breakpoint() ignored - debugger not attached") + return + log.debug("breakpoint()") + + # Get the first frame in the stack that's not an internal frame. + pydb = get_global_debugger() + stop_at_frame = sys._getframe().f_back + while ( + stop_at_frame is not None + and pydb.get_file_type(stop_at_frame) == pydb.PYDEV_FILE + ): + stop_at_frame = stop_at_frame.f_back + + _settrace( + suspend=True, + trace_only_current_thread=True, + patch_multiprocessing=False, + stop_at_frame=stop_at_frame, + ) + stop_at_frame = None + + +def debug_this_thread(): + ensure_logging() + log.debug("debug_this_thread()") + + _settrace(suspend=False) + + +def trace_this_thread(should_trace): + ensure_logging() + log.debug("trace_this_thread({0!r})", should_trace) + + pydb = get_global_debugger() + if should_trace: + pydb.enable_tracing() + else: + pydb.disable_tracing() diff --git a/venv/lib/python3.8/site-packages/debugpy/server/attach_pid_injected.py b/venv/lib/python3.8/site-packages/debugpy/server/attach_pid_injected.py new file mode 100644 index 0000000..a8df6e1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/server/attach_pid_injected.py @@ -0,0 +1,92 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See LICENSE in the project root +# for license information. + +"""Script injected into the debuggee process during attach-to-PID.""" + +import os + + +__file__ = os.path.abspath(__file__) +_debugpy_dir = os.path.dirname(os.path.dirname(os.path.dirname(__file__))) + + +def attach(setup): + log = None + try: + import sys + + if "threading" not in sys.modules: + try: + + def on_warn(msg): + print(msg, file=sys.stderr) + + def on_exception(msg): + print(msg, file=sys.stderr) + + def on_critical(msg): + print(msg, file=sys.stderr) + + pydevd_attach_to_process_path = os.path.join( + _debugpy_dir, + "debugpy", + "_vendored", + "pydevd", + "pydevd_attach_to_process", + ) + assert os.path.exists(pydevd_attach_to_process_path) + sys.path.insert(0, pydevd_attach_to_process_path) + + # NOTE: that it's not a part of the pydevd PYTHONPATH + import attach_script + + attach_script.fix_main_thread_id( + on_warn=on_warn, on_exception=on_exception, on_critical=on_critical + ) + + # NOTE: At this point it should be safe to remove this. + sys.path.remove(pydevd_attach_to_process_path) + except: + import traceback + + traceback.print_exc() + raise + + sys.path.insert(0, _debugpy_dir) + try: + import debugpy + import debugpy.server + from debugpy.common import json, log + import pydevd + finally: + assert sys.path[0] == _debugpy_dir + del sys.path[0] + + py_db = pydevd.get_global_debugger() + if py_db is not None: + py_db.dispose_and_kill_all_pydevd_threads(wait=False) + + if setup["log_to"] is not None: + debugpy.log_to(setup["log_to"]) + log.info("Configuring injected debugpy: {0}", json.repr(setup)) + + if setup["mode"] == "listen": + debugpy.listen(setup["address"]) + elif setup["mode"] == "connect": + debugpy.connect( + setup["address"], access_token=setup["adapter_access_token"] + ) + else: + raise AssertionError(repr(setup)) + + except: + import traceback + + traceback.print_exc() + if log is None: + raise + else: + log.reraise_exception() + + log.info("debugpy injected successfully") diff --git a/venv/lib/python3.8/site-packages/debugpy/server/cli.py b/venv/lib/python3.8/site-packages/debugpy/server/cli.py new file mode 100644 index 0000000..ba14347 --- /dev/null +++ b/venv/lib/python3.8/site-packages/debugpy/server/cli.py @@ -0,0 +1,434 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See LICENSE in the project root +# for license information. + +import json +import os +import re +import sys +from importlib.util import find_spec + +# debugpy.__main__ should have preloaded pydevd properly before importing this module. +# Otherwise, some stdlib modules above might have had imported threading before pydevd +# could perform the necessary detours in it. +assert "pydevd" in sys.modules +import pydevd + +# Note: use the one bundled from pydevd so that it's invisible for the user. +from _pydevd_bundle import pydevd_runpy as runpy + +import debugpy +from debugpy.common import log +from debugpy.server import api + + +TARGET = " | -m | -c | --pid " + +HELP = """debugpy {0} +See https://aka.ms/debugpy for documentation. + +Usage: debugpy --listen | --connect + [:] + [--wait-for-client] + [--configure- ]... + [--log-to ] [--log-to-stderr] + {1} + []... +""".format( + debugpy.__version__, TARGET +) + + +class Options(object): + mode = None + address = None + log_to = None + log_to_stderr = False + target = None + target_kind = None + wait_for_client = False + adapter_access_token = None + + +options = Options() +options.config = {"qt": "none", "subProcess": True} + + +def in_range(parser, start, stop): + def parse(s): + n = parser(s) + if start is not None and n < start: + raise ValueError("must be >= {0}".format(start)) + if stop is not None and n >= stop: + raise ValueError("must be < {0}".format(stop)) + return n + + return parse + + +pid = in_range(int, 0, None) + + +def print_help_and_exit(switch, it): + print(HELP, file=sys.stderr) + sys.exit(0) + + +def print_version_and_exit(switch, it): + print(debugpy.__version__) + sys.exit(0) + + +def set_arg(varname, parser=(lambda x: x)): + def do(arg, it): + value = parser(next(it)) + setattr(options, varname, value) + + return do + + +def set_const(varname, value): + def do(arg, it): + setattr(options, varname, value) + + return do + + +def set_address(mode): + def do(arg, it): + if options.address is not None: + raise ValueError("--listen and --connect are mutually exclusive") + + # It's either host:port, or just port. + value = next(it) + host, sep, port = value.partition(":") + if not sep: + host = "127.0.0.1" + port = value + try: + port = int(port) + except Exception: + port = -1 + if not (0 <= port < 2 ** 16): + raise ValueError("invalid port number") + + options.mode = mode + options.address = (host, port) + + return do + + +def set_config(arg, it): + prefix = "--configure-" + assert arg.startswith(prefix) + name = arg[len(prefix) :] + value = next(it) + + if name not in options.config: + raise ValueError("unknown property {0!r}".format(name)) + + expected_type = type(options.config[name]) + try: + if expected_type is bool: + value = {"true": True, "false": False}[value.lower()] + else: + value = expected_type(value) + except Exception: + raise ValueError("{0!r} must be a {1}".format(name, expected_type.__name__)) + + options.config[name] = value + + +def set_target(kind, parser=(lambda x: x), positional=False): + def do(arg, it): + options.target_kind = kind + target = parser(arg if positional else next(it)) + + if isinstance(target, bytes): + # target may be the code, so, try some additional encodings... + try: + target = target.decode(sys.getfilesystemencoding()) + except UnicodeDecodeError: + try: + target = target.decode("utf-8") + except UnicodeDecodeError: + import locale + + target = target.decode(locale.getpreferredencoding(False)) + options.target = target + + return do + + +# fmt: off +switches = [ + # Switch Placeholder Action + # ====== =========== ====== + + # Switches that are documented for use by end users. + ("-(\\?|h|-help)", None, print_help_and_exit), + ("-(V|-version)", None, print_version_and_exit), + ("--log-to" , "", set_arg("log_to")), + ("--log-to-stderr", None, set_const("log_to_stderr", True)), + ("--listen", "
", set_address("listen")), + ("--connect", "
", set_address("connect")), + ("--wait-for-client", None, set_const("wait_for_client", True)), + ("--configure-.+", "", set_config), + + # Switches that are used internally by the client or debugpy itself. + ("--adapter-access-token", "", set_arg("adapter_access_token")), + + # Targets. The "" entry corresponds to positional command line arguments, + # i.e. the ones not preceded by any switch name. + ("", "", set_target("file", positional=True)), + ("-m", "", set_target("module")), + ("-c", "", set_target("code")), + ("--pid", "", set_target("pid", pid)), +] +# fmt: on + + +def consume_argv(): + while len(sys.argv) >= 2: + value = sys.argv[1] + del sys.argv[1] + yield value + + +def parse_argv(): + seen = set() + it = consume_argv() + + while True: + try: + arg = next(it) + except StopIteration: + raise ValueError("missing target: " + TARGET) + + switch = arg + if not switch.startswith("-"): + switch = "" + for pattern, placeholder, action in switches: + if re.match("^(" + pattern + ")$", switch): + break + else: + raise ValueError("unrecognized switch " + switch) + + if switch in seen: + raise ValueError("duplicate switch " + switch) + else: + seen.add(switch) + + try: + action(arg, it) + except StopIteration: + assert placeholder is not None + raise ValueError("{0}: missing {1}".format(switch, placeholder)) + except Exception as exc: + raise ValueError("invalid {0} {1}: {2}".format(switch, placeholder, exc)) + + if options.target is not None: + break + + if options.mode is None: + raise ValueError("either --listen or --connect is required") + if options.adapter_access_token is not None and options.mode != "connect": + raise ValueError("--adapter-access-token requires --connect") + if options.target_kind == "pid" and options.wait_for_client: + raise ValueError("--pid does not support --wait-for-client") + + assert options.target is not None + assert options.target_kind is not None + assert options.address is not None + + +def start_debugging(argv_0): + # We need to set up sys.argv[0] before invoking either listen() or connect(), + # because they use it to report the "process" event. Thus, we can't rely on + # run_path() and run_module() doing that, even though they will eventually. + sys.argv[0] = argv_0 + + log.debug("sys.argv after patching: {0!r}", sys.argv) + + debugpy.configure(options.config) + + if options.mode == "listen": + debugpy.listen(options.address) + elif options.mode == "connect": + debugpy.connect(options.address, access_token=options.adapter_access_token) + else: + raise AssertionError(repr(options.mode)) + + if options.wait_for_client: + debugpy.wait_for_client() + + +def run_file(): + target = options.target + start_debugging(target) + + # run_path has one difference with invoking Python from command-line: + # if the target is a file (rather than a directory), it does not add its + # parent directory to sys.path. Thus, importing other modules from the + # same directory is broken unless sys.path is patched here. + + if os.path.isfile(target): + dir = os.path.dirname(target) + sys.path.insert(0, dir) + else: + log.debug("Not a file: {0!r}", target) + + log.describe_environment("Pre-launch environment:") + + log.info("Running file {0!r}", target) + runpy.run_path(target, run_name="__main__") + + +def run_module(): + # Add current directory to path, like Python itself does for -m. This must + # be in place before trying to use find_spec below to resolve submodules. + sys.path.insert(0, str("")) + + # We want to do the same thing that run_module() would do here, without + # actually invoking it. + argv_0 = sys.argv[0] + try: + spec = find_spec(options.target) + if spec is not None: + argv_0 = spec.origin + except Exception: + log.swallow_exception("Error determining module path for sys.argv") + + start_debugging(argv_0) + log.describe_environment("Pre-launch environment:") + log.info("Running module {0!r}", options.target) + + # Docs say that runpy.run_module is equivalent to -m, but it's not actually + # the case for packages - -m sets __name__ to "__main__", but run_module sets + # it to "pkg.__main__". This breaks everything that uses the standard pattern + # __name__ == "__main__" to detect being run as a CLI app. On the other hand, + # runpy._run_module_as_main is a private function that actually implements -m. + try: + run_module_as_main = runpy._run_module_as_main + except AttributeError: + log.warning("runpy._run_module_as_main is missing, falling back to run_module.") + runpy.run_module(options.target, alter_sys=True) + else: + run_module_as_main(options.target, alter_argv=True) + + +def run_code(): + # Add current directory to path, like Python itself does for -c. + sys.path.insert(0, str("")) + code = compile(options.target, str(""), str("exec")) + + start_debugging(str("-c")) + + log.describe_environment("Pre-launch environment:") + log.info("Running code:\n\n{0}", options.target) + + eval(code, {}) + + +def attach_to_pid(): + pid = options.target + log.info("Attaching to process with PID={0}", pid) + + encode = lambda s: list(bytearray(s.encode("utf-8"))) if s is not None else None + + script_dir = os.path.dirname(debugpy.server.__file__) + assert os.path.exists(script_dir) + script_dir = encode(script_dir) + + setup = { + "mode": options.mode, + "address": options.address, + "wait_for_client": options.wait_for_client, + "log_to": options.log_to, + "adapter_access_token": options.adapter_access_token, + } + setup = encode(json.dumps(setup)) + + python_code = """ +import codecs; +import json; +import sys; + +decode = lambda s: codecs.utf_8_decode(bytearray(s))[0] if s is not None else None; + +script_dir = decode({script_dir}); +setup = json.loads(decode({setup})); + +sys.path.insert(0, script_dir); +import attach_pid_injected; +del sys.path[0]; + +attach_pid_injected.attach(setup); +""" + python_code = ( + python_code.replace("\r", "") + .replace("\n", "") + .format(script_dir=script_dir, setup=setup) + ) + log.info("Code to be injected: \n{0}", python_code.replace(";", ";\n")) + + # pydevd restriction on characters in injected code. + assert not ( + {'"', "'", "\r", "\n"} & set(python_code) + ), "Injected code should not contain any single quotes, double quotes, or newlines." + + pydevd_attach_to_process_path = os.path.join( + os.path.dirname(pydevd.__file__), "pydevd_attach_to_process" + ) + + assert os.path.exists(pydevd_attach_to_process_path) + sys.path.append(pydevd_attach_to_process_path) + + try: + import add_code_to_python_process # noqa + + log.info("Injecting code into process with PID={0} ...", pid) + add_code_to_python_process.run_python_code( + pid, + python_code, + connect_debugger_tracing=True, + show_debug_info=int(os.getenv("DEBUGPY_ATTACH_BY_PID_DEBUG_INFO", "0")), + ) + except Exception: + log.reraise_exception("Code injection into PID={0} failed:", pid) + log.info("Code injection into PID={0} completed.", pid) + + +def main(): + original_argv = list(sys.argv) + try: + parse_argv() + except Exception as exc: + print(str(HELP) + str("\nError: ") + str(exc), file=sys.stderr) + sys.exit(2) + + if options.log_to is not None: + debugpy.log_to(options.log_to) + if options.log_to_stderr: + debugpy.log_to(sys.stderr) + + api.ensure_logging() + + log.info( + str("sys.argv before parsing: {0!r}\n" " after parsing: {1!r}"), + original_argv, + sys.argv, + ) + + try: + run = { + "file": run_file, + "module": run_module, + "code": run_code, + "pid": attach_to_pid, + }[options.target_kind] + run() + except SystemExit as exc: + log.reraise_exception( + "Debuggee exited via SystemExit: {0!r}", exc.code, level="debug" + ) diff --git a/venv/lib/python3.8/site-packages/distlib-0.3.6.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/distlib-0.3.6.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/distlib-0.3.6.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/distlib-0.3.6.dist-info/LICENSE.txt b/venv/lib/python3.8/site-packages/distlib-0.3.6.dist-info/LICENSE.txt new file mode 120000 index 0000000..21f668d --- /dev/null +++ b/venv/lib/python3.8/site-packages/distlib-0.3.6.dist-info/LICENSE.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/80/8e/10/c8a6ab8deb149ff9b3fb19f447a808094606d712a9ca57fead3552599d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/distlib-0.3.6.dist-info/METADATA b/venv/lib/python3.8/site-packages/distlib-0.3.6.dist-info/METADATA new file mode 120000 index 0000000..2adf2c6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/distlib-0.3.6.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b7/ba/41/4ea1003eca709daffae27c900b6b0e038392a9b08aa8cc08d5caf4b61f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/distlib-0.3.6.dist-info/RECORD b/venv/lib/python3.8/site-packages/distlib-0.3.6.dist-info/RECORD new file mode 100644 index 0000000..5432cff --- /dev/null +++ b/venv/lib/python3.8/site-packages/distlib-0.3.6.dist-info/RECORD @@ -0,0 +1,38 @@ +distlib-0.3.6.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +distlib-0.3.6.dist-info/LICENSE.txt,sha256=gI4QyKarjesUn_mz-xn0R6gICUYG1xKpylf-rTVSWZ0,14531 +distlib-0.3.6.dist-info/METADATA,sha256=t7pBTqEAPspwna_64nyQC2sOA4OSqbCKqMwI1cr0th8,5112 +distlib-0.3.6.dist-info/RECORD,, +distlib-0.3.6.dist-info/WHEEL,sha256=z9j0xAa_JmUKMpmz72K0ZGALSM_n-wQVmGbleXx2VHg,110 +distlib-0.3.6.dist-info/top_level.txt,sha256=9BERqitu_vzyeyILOcGzX9YyA2AB_xlC4-81V6xoizk,8 +distlib/__init__.py,sha256=acgfseOC55dNrVAzaBKpUiH3Z6V7Q1CaxsiQ3K7pC-E,581 +distlib/__pycache__/__init__.cpython-38.pyc,, +distlib/__pycache__/compat.cpython-38.pyc,, +distlib/__pycache__/database.cpython-38.pyc,, +distlib/__pycache__/index.cpython-38.pyc,, +distlib/__pycache__/locators.cpython-38.pyc,, +distlib/__pycache__/manifest.cpython-38.pyc,, +distlib/__pycache__/markers.cpython-38.pyc,, +distlib/__pycache__/metadata.cpython-38.pyc,, +distlib/__pycache__/resources.cpython-38.pyc,, +distlib/__pycache__/scripts.cpython-38.pyc,, +distlib/__pycache__/util.cpython-38.pyc,, +distlib/__pycache__/version.cpython-38.pyc,, +distlib/__pycache__/wheel.cpython-38.pyc,, +distlib/compat.py,sha256=tfoMrj6tujk7G4UC2owL6ArgDuCKabgBxuJRGZSmpko,41259 +distlib/database.py,sha256=o_mw0fAr93NDAHHHfqG54Y1Hi9Rkfrp2BX15XWZYK50,51697 +distlib/index.py,sha256=HFiDG7LMoaBs829WuotrfIwcErOOExUOR_AeBtw_TCU,20834 +distlib/locators.py,sha256=wNzG-zERzS_XGls-nBPVVyLRHa2skUlkn0-5n0trMWA,51991 +distlib/manifest.py,sha256=nQEhYmgoreaBZzyFzwYsXxJARu3fo4EkunU163U16iE,14811 +distlib/markers.py,sha256=TpHHHLgkzyT7YHbwj-2i6weRaq-Ivy2-MUnrDkjau-U,5058 +distlib/metadata.py,sha256=g_DIiu8nBXRzA-mWPRpatHGbmFZqaFoss7z9TG7QSUU,39801 +distlib/resources.py,sha256=LwbPksc0A1JMbi6XnuPdMBUn83X7BPuFNWqPGEKI698,10820 +distlib/scripts.py,sha256=BmkTKmiTk4m2cj-iueliatwz3ut_9SsABBW51vnQnZU,18102 +distlib/t32.exe,sha256=a0GV5kCoWsMutvliiCKmIgV98eRZ33wXoS-XrqvJQVs,97792 +distlib/t64-arm.exe,sha256=68TAa32V504xVBnufojh0PcenpR3U4wAqTqf-MZqbPw,182784 +distlib/t64.exe,sha256=gaYY8hy4fbkHYTTnA4i26ct8IQZzkBG2pRdy0iyuBrc,108032 +distlib/util.py,sha256=31dPXn3Rfat0xZLeVoFpuniyhe6vsbl9_QN-qd9Lhlk,66262 +distlib/version.py,sha256=WG__LyAa2GwmA6qSoEJtvJE8REA1LZpbSizy8WvhJLk,23513 +distlib/w32.exe,sha256=R4csx3-OGM9kL4aPIzQKRo5TfmRSHZo6QWyLhDhNBks,91648 +distlib/w64-arm.exe,sha256=xdyYhKj0WDcVUOCb05blQYvzdYIKMbmJn2SZvzkcey4,168448 +distlib/w64.exe,sha256=ejGf-rojoBfXseGLpya6bFTFPWRG21X5KvU8J5iU-K0,101888 +distlib/wheel.py,sha256=Rgqs658VsJ3R2845qwnZD8XQryV2CzWw2mghwLvxxsI,43898 diff --git a/venv/lib/python3.8/site-packages/distlib-0.3.6.dist-info/WHEEL b/venv/lib/python3.8/site-packages/distlib-0.3.6.dist-info/WHEEL new file mode 120000 index 0000000..ae483c4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/distlib-0.3.6.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cf/d8/f4/c406bf26650a3299b3ef62b464600b48cfe7fb04159866e5797c765478 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/distlib-0.3.6.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/distlib-0.3.6.dist-info/top_level.txt new file mode 120000 index 0000000..f0c65d6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/distlib-0.3.6.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f4/11/11/aa2b6efefcf27b220b39c1b35fd632036001ff1942e3ef3557ac688b39 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/distlib/__init__.py b/venv/lib/python3.8/site-packages/distlib/__init__.py new file mode 120000 index 0000000..c1bdfcc --- /dev/null +++ b/venv/lib/python3.8/site-packages/distlib/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/69/c8/1f/b1e382e7974dad50336812a95221f767a57b43509ac6c890dcaee90be1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/distlib/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/distlib/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..c6ae432 Binary files /dev/null and b/venv/lib/python3.8/site-packages/distlib/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/distlib/__pycache__/compat.cpython-38.pyc b/venv/lib/python3.8/site-packages/distlib/__pycache__/compat.cpython-38.pyc new file mode 100644 index 0000000..46adb6e Binary files /dev/null and b/venv/lib/python3.8/site-packages/distlib/__pycache__/compat.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/distlib/__pycache__/database.cpython-38.pyc b/venv/lib/python3.8/site-packages/distlib/__pycache__/database.cpython-38.pyc new file mode 100644 index 0000000..a3259b3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/distlib/__pycache__/database.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/distlib/__pycache__/index.cpython-38.pyc b/venv/lib/python3.8/site-packages/distlib/__pycache__/index.cpython-38.pyc new file mode 100644 index 0000000..88a2c93 Binary files /dev/null and b/venv/lib/python3.8/site-packages/distlib/__pycache__/index.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/distlib/__pycache__/locators.cpython-38.pyc b/venv/lib/python3.8/site-packages/distlib/__pycache__/locators.cpython-38.pyc new file mode 100644 index 0000000..997b749 Binary files /dev/null and b/venv/lib/python3.8/site-packages/distlib/__pycache__/locators.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/distlib/__pycache__/manifest.cpython-38.pyc b/venv/lib/python3.8/site-packages/distlib/__pycache__/manifest.cpython-38.pyc new file mode 100644 index 0000000..992bd6d Binary files /dev/null and b/venv/lib/python3.8/site-packages/distlib/__pycache__/manifest.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/distlib/__pycache__/markers.cpython-38.pyc b/venv/lib/python3.8/site-packages/distlib/__pycache__/markers.cpython-38.pyc new file mode 100644 index 0000000..b0c942c Binary files /dev/null and b/venv/lib/python3.8/site-packages/distlib/__pycache__/markers.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/distlib/__pycache__/metadata.cpython-38.pyc b/venv/lib/python3.8/site-packages/distlib/__pycache__/metadata.cpython-38.pyc new file mode 100644 index 0000000..6342dad Binary files /dev/null and b/venv/lib/python3.8/site-packages/distlib/__pycache__/metadata.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/distlib/__pycache__/resources.cpython-38.pyc b/venv/lib/python3.8/site-packages/distlib/__pycache__/resources.cpython-38.pyc new file mode 100644 index 0000000..a8abe34 Binary files /dev/null and b/venv/lib/python3.8/site-packages/distlib/__pycache__/resources.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/distlib/__pycache__/scripts.cpython-38.pyc b/venv/lib/python3.8/site-packages/distlib/__pycache__/scripts.cpython-38.pyc new file mode 100644 index 0000000..64fb583 Binary files /dev/null and b/venv/lib/python3.8/site-packages/distlib/__pycache__/scripts.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/distlib/__pycache__/util.cpython-38.pyc b/venv/lib/python3.8/site-packages/distlib/__pycache__/util.cpython-38.pyc new file mode 100644 index 0000000..20e430b Binary files /dev/null and b/venv/lib/python3.8/site-packages/distlib/__pycache__/util.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/distlib/__pycache__/version.cpython-38.pyc b/venv/lib/python3.8/site-packages/distlib/__pycache__/version.cpython-38.pyc new file mode 100644 index 0000000..3df1452 Binary files /dev/null and b/venv/lib/python3.8/site-packages/distlib/__pycache__/version.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/distlib/__pycache__/wheel.cpython-38.pyc b/venv/lib/python3.8/site-packages/distlib/__pycache__/wheel.cpython-38.pyc new file mode 100644 index 0000000..d3690fa Binary files /dev/null and b/venv/lib/python3.8/site-packages/distlib/__pycache__/wheel.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/distlib/compat.py b/venv/lib/python3.8/site-packages/distlib/compat.py new file mode 120000 index 0000000..614d2f0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/distlib/compat.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b5/fa/0c/ae3eadba393b1b8502da8c0be80ae00ee08a69b801c6e2511994a6a64a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/distlib/database.py b/venv/lib/python3.8/site-packages/distlib/database.py new file mode 120000 index 0000000..2c4f55d --- /dev/null +++ b/venv/lib/python3.8/site-packages/distlib/database.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a3/f9/b0/d1f02bf773430071c77ea1b9e18d478bd4647eba76057d795d66582b9d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/distlib/index.py b/venv/lib/python3.8/site-packages/distlib/index.py new file mode 120000 index 0000000..e2dbc73 --- /dev/null +++ b/venv/lib/python3.8/site-packages/distlib/index.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1c/58/83/1bb2cca1a06cf36f56ba8b6b7c8c1c12b38e13150e47f01e06dc3f4c25 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/distlib/locators.py b/venv/lib/python3.8/site-packages/distlib/locators.py new file mode 120000 index 0000000..5750382 --- /dev/null +++ b/venv/lib/python3.8/site-packages/distlib/locators.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c0/dc/c6/fb3111cd2fd71a5b3e9c13d55722d11dadac9149649f4fb99f4b6b3160 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/distlib/manifest.py b/venv/lib/python3.8/site-packages/distlib/manifest.py new file mode 120000 index 0000000..40c5a1c --- /dev/null +++ b/venv/lib/python3.8/site-packages/distlib/manifest.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9d/01/21/626828ade681673c85cf062c5f124046eddfa38124ba7535eb7535ea21 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/distlib/markers.py b/venv/lib/python3.8/site-packages/distlib/markers.py new file mode 120000 index 0000000..68848bf --- /dev/null +++ b/venv/lib/python3.8/site-packages/distlib/markers.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4e/91/c7/1cb824cf24fb6076f08feda2eb07916aaf88bf2dbe3149eb0e48dabbe5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/distlib/metadata.py b/venv/lib/python3.8/site-packages/distlib/metadata.py new file mode 120000 index 0000000..294f450 --- /dev/null +++ b/venv/lib/python3.8/site-packages/distlib/metadata.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/83/f0/c8/8aef2705747303e9963d1a5ab4719b98566a685a2cb3bcfd4c6ed04945 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/distlib/resources.py b/venv/lib/python3.8/site-packages/distlib/resources.py new file mode 120000 index 0000000..1974508 --- /dev/null +++ b/venv/lib/python3.8/site-packages/distlib/resources.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2f/06/cf/92c73403524c6e2e979ee3dd301527f375fb04fb85356a8f184288ebdf \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/distlib/scripts.py b/venv/lib/python3.8/site-packages/distlib/scripts.py new file mode 120000 index 0000000..e2a799b --- /dev/null +++ b/venv/lib/python3.8/site-packages/distlib/scripts.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/06/69/13/2a68939389b6723fa2b9e9626adc33deeb7ff52b000415b9d6f9d09d95 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/distlib/t32.exe b/venv/lib/python3.8/site-packages/distlib/t32.exe new file mode 120000 index 0000000..e8fc587 --- /dev/null +++ b/venv/lib/python3.8/site-packages/distlib/t32.exe @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6b/41/95/e640a85ac32eb6f9628822a622057df1e459df7c17a12f97aeabc9415b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/distlib/t64-arm.exe b/venv/lib/python3.8/site-packages/distlib/t64-arm.exe new file mode 120000 index 0000000..090b86d --- /dev/null +++ b/venv/lib/python3.8/site-packages/distlib/t64-arm.exe @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/eb/c4/c0/6b7d95e74e315419ee7e88e1d0f71e9e9477538c00a93a9ff8c66a6cfc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/distlib/t64.exe b/venv/lib/python3.8/site-packages/distlib/t64.exe new file mode 120000 index 0000000..0b32848 --- /dev/null +++ b/venv/lib/python3.8/site-packages/distlib/t64.exe @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/81/a6/18/f21cb87db9076134e70388b6e9cb7c2106739011b6a51772d22cae06b7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/distlib/util.py b/venv/lib/python3.8/site-packages/distlib/util.py new file mode 120000 index 0000000..ed78ed6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/distlib/util.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/df/57/4f/5e7dd17dab74c592de568169ba78b285eeafb1b97dfd037ea9df4b8659 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/distlib/version.py b/venv/lib/python3.8/site-packages/distlib/version.py new file mode 120000 index 0000000..2448d9b --- /dev/null +++ b/venv/lib/python3.8/site-packages/distlib/version.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/58/6f/ff/2f201ad86c2603aa92a0426dbc913c4440352d9a5b4a2cf2f16be124b9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/distlib/w32.exe b/venv/lib/python3.8/site-packages/distlib/w32.exe new file mode 120000 index 0000000..f7b9e91 --- /dev/null +++ b/venv/lib/python3.8/site-packages/distlib/w32.exe @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/47/87/2c/c77f8e18cf642f868f23340a468e537e64521d9a3a416c8b84384d064b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/distlib/w64-arm.exe b/venv/lib/python3.8/site-packages/distlib/w64-arm.exe new file mode 120000 index 0000000..f0ab28f --- /dev/null +++ b/venv/lib/python3.8/site-packages/distlib/w64-arm.exe @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c5/dc/98/84a8f458371550e09bd396e5418bf375820a31b9899f6499bf391c7b2e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/distlib/w64.exe b/venv/lib/python3.8/site-packages/distlib/w64.exe new file mode 120000 index 0000000..900deda --- /dev/null +++ b/venv/lib/python3.8/site-packages/distlib/w64.exe @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7a/31/9f/faba23a017d7b1e18ba726ba6c54c53d6446db55f92af53c279894f8ad \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/distlib/wheel.py b/venv/lib/python3.8/site-packages/distlib/wheel.py new file mode 120000 index 0000000..89a68e6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/distlib/wheel.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/46/0a/ac/eb9f15b09dd1dbce39ab09d90fc5d0af25760b35b0da6821c0bbf1c6c2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/distutils-precedence.pth b/venv/lib/python3.8/site-packages/distutils-precedence.pth new file mode 120000 index 0000000..023640d --- /dev/null +++ b/venv/lib/python3.8/site-packages/distutils-precedence.pth @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7e/a7/ff/ef3fe2a117ee12c68ed6553617f0d7fd2f0590257c25c484959a3b7373 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/filelock-3.8.0.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/filelock-3.8.0.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/filelock-3.8.0.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/filelock-3.8.0.dist-info/LICENSE b/venv/lib/python3.8/site-packages/filelock-3.8.0.dist-info/LICENSE new file mode 120000 index 0000000..6c06c3a --- /dev/null +++ b/venv/lib/python3.8/site-packages/filelock-3.8.0.dist-info/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/88/d9/b4/eb60579c191ec391ca04c16130572d7eedc4a86daa58bf28c6e14c9bcd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/filelock-3.8.0.dist-info/METADATA b/venv/lib/python3.8/site-packages/filelock-3.8.0.dist-info/METADATA new file mode 120000 index 0000000..7fb0aaa --- /dev/null +++ b/venv/lib/python3.8/site-packages/filelock-3.8.0.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/08/3a/11/d5fbf859e032955e1a6654453952743ba2406c7d261dab88115753fdc8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/filelock-3.8.0.dist-info/RECORD b/venv/lib/python3.8/site-packages/filelock-3.8.0.dist-info/RECORD new file mode 100644 index 0000000..ca8ff3b --- /dev/null +++ b/venv/lib/python3.8/site-packages/filelock-3.8.0.dist-info/RECORD @@ -0,0 +1,24 @@ +filelock-3.8.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +filelock-3.8.0.dist-info/LICENSE,sha256=iNm062BXnBkew5HKBMFhMFctfu3EqG2qWL8oxuFMm80,1210 +filelock-3.8.0.dist-info/METADATA,sha256=CDoR1fv4WeAylV4aZlRFOVJ0O6JAbH0mHauIEVdT_cg,2311 +filelock-3.8.0.dist-info/RECORD,, +filelock-3.8.0.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92 +filelock-3.8.0.dist-info/top_level.txt,sha256=NDrf9i5BNogz4hEdsr6Hi7Ws3TlSSKY4Q2Y9_-i2GwU,9 +filelock-3.8.0.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1 +filelock/__init__.py,sha256=XE-RanOqTbJkFCKJbe3PqzNCkVgLQXqs_Yp1rrUPF58,1246 +filelock/__pycache__/__init__.cpython-38.pyc,, +filelock/__pycache__/_api.cpython-38.pyc,, +filelock/__pycache__/_error.cpython-38.pyc,, +filelock/__pycache__/_soft.cpython-38.pyc,, +filelock/__pycache__/_unix.cpython-38.pyc,, +filelock/__pycache__/_util.cpython-38.pyc,, +filelock/__pycache__/_windows.cpython-38.pyc,, +filelock/__pycache__/version.cpython-38.pyc,, +filelock/_api.py,sha256=74rZeupmXu8PFZGBAprN3fE4rS45d0njANACuPOeI0M,8895 +filelock/_error.py,sha256=Gaxp2TfdmgdvYFkllGCBOE37vYIXnHKKW3RYfKH7DYM,399 +filelock/_soft.py,sha256=rSpmt4Oi0Eb4JeKzyWImeqf5MYCJR0Dyc_kUN3kHj7Y,1650 +filelock/_unix.py,sha256=gM4-5mqDtamGp5qwWkaZNSTuv9p7vwBa4diVmI1ZBwQ,1578 +filelock/_util.py,sha256=BZKOAYTQdmcHmF34-Ft4kMdEvk3a8NGtsAhe6kfxZuU,594 +filelock/_windows.py,sha256=wvg-_SfJEDyxDeDVH8wBqxbPquXaycoYXgXJOBmm-G4,1890 +filelock/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +filelock/version.py,sha256=tu_YI6bXBlf0-atO2EfySopGOlrOwqLUiRyOvOhMUtw,176 diff --git a/venv/lib/python3.8/site-packages/filelock-3.8.0.dist-info/WHEEL b/venv/lib/python3.8/site-packages/filelock-3.8.0.dist-info/WHEEL new file mode 120000 index 0000000..7e89bc1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/filelock-3.8.0.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1b/5e/87/e00dc87a84269cead8578b9e6462928e18a95f1f3373c9eef451a5bcc0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/filelock-3.8.0.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/filelock-3.8.0.dist-info/top_level.txt new file mode 120000 index 0000000..699b46c --- /dev/null +++ b/venv/lib/python3.8/site-packages/filelock-3.8.0.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/34/3a/df/f62e41368833e2111db2be878bb5acdd395248a63843663dffe8b61b05 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/filelock-3.8.0.dist-info/zip-safe b/venv/lib/python3.8/site-packages/filelock-3.8.0.dist-info/zip-safe new file mode 120000 index 0000000..e11f061 --- /dev/null +++ b/venv/lib/python3.8/site-packages/filelock-3.8.0.dist-info/zip-safe @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/01/ba/47/19c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/filelock/__init__.py b/venv/lib/python3.8/site-packages/filelock/__init__.py new file mode 120000 index 0000000..de3b65c --- /dev/null +++ b/venv/lib/python3.8/site-packages/filelock/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5c/4f/91/6a73aa4db2641422896dedcfab334291580b417aacfd8a75aeb50f179f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/filelock/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/filelock/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..c86a843 Binary files /dev/null and b/venv/lib/python3.8/site-packages/filelock/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/filelock/__pycache__/_api.cpython-38.pyc b/venv/lib/python3.8/site-packages/filelock/__pycache__/_api.cpython-38.pyc new file mode 100644 index 0000000..472edaa Binary files /dev/null and b/venv/lib/python3.8/site-packages/filelock/__pycache__/_api.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/filelock/__pycache__/_error.cpython-38.pyc b/venv/lib/python3.8/site-packages/filelock/__pycache__/_error.cpython-38.pyc new file mode 100644 index 0000000..1b2f13e Binary files /dev/null and b/venv/lib/python3.8/site-packages/filelock/__pycache__/_error.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/filelock/__pycache__/_soft.cpython-38.pyc b/venv/lib/python3.8/site-packages/filelock/__pycache__/_soft.cpython-38.pyc new file mode 100644 index 0000000..26a3c8c Binary files /dev/null and b/venv/lib/python3.8/site-packages/filelock/__pycache__/_soft.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/filelock/__pycache__/_unix.cpython-38.pyc b/venv/lib/python3.8/site-packages/filelock/__pycache__/_unix.cpython-38.pyc new file mode 100644 index 0000000..3183647 Binary files /dev/null and b/venv/lib/python3.8/site-packages/filelock/__pycache__/_unix.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/filelock/__pycache__/_util.cpython-38.pyc b/venv/lib/python3.8/site-packages/filelock/__pycache__/_util.cpython-38.pyc new file mode 100644 index 0000000..b4345fa Binary files /dev/null and b/venv/lib/python3.8/site-packages/filelock/__pycache__/_util.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/filelock/__pycache__/_windows.cpython-38.pyc b/venv/lib/python3.8/site-packages/filelock/__pycache__/_windows.cpython-38.pyc new file mode 100644 index 0000000..8228892 Binary files /dev/null and b/venv/lib/python3.8/site-packages/filelock/__pycache__/_windows.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/filelock/__pycache__/version.cpython-38.pyc b/venv/lib/python3.8/site-packages/filelock/__pycache__/version.cpython-38.pyc new file mode 100644 index 0000000..9bf472a Binary files /dev/null and b/venv/lib/python3.8/site-packages/filelock/__pycache__/version.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/filelock/_api.py b/venv/lib/python3.8/site-packages/filelock/_api.py new file mode 120000 index 0000000..ebd8cc6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/filelock/_api.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ef/8a/d9/7aea665eef0f159181029acdddf138ad2e397749e300d002b8f39e2343 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/filelock/_error.py b/venv/lib/python3.8/site-packages/filelock/_error.py new file mode 120000 index 0000000..e2b46cb --- /dev/null +++ b/venv/lib/python3.8/site-packages/filelock/_error.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/19/ac/69/d937dd9a076f605925946081384dfbbd82179c728a5b74587ca1fb0d83 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/filelock/_soft.py b/venv/lib/python3.8/site-packages/filelock/_soft.py new file mode 120000 index 0000000..8ecbabe --- /dev/null +++ b/venv/lib/python3.8/site-packages/filelock/_soft.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ad/2a/66/b783a2d046f825e2b3c962267aa7f93180894740f273f9143779078fb6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/filelock/_unix.py b/venv/lib/python3.8/site-packages/filelock/_unix.py new file mode 120000 index 0000000..98c86b1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/filelock/_unix.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/80/ce/3e/e66a83b5a986a79ab05a46993524eebfda7bbf005ae1d895988d590704 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/filelock/_util.py b/venv/lib/python3.8/site-packages/filelock/_util.py new file mode 120000 index 0000000..215a9be --- /dev/null +++ b/venv/lib/python3.8/site-packages/filelock/_util.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/05/92/8e/0184d0766707985df8f85b7890c744be4ddaf0d1adb0085eea47f166e5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/filelock/_windows.py b/venv/lib/python3.8/site-packages/filelock/_windows.py new file mode 120000 index 0000000..a6d8663 --- /dev/null +++ b/venv/lib/python3.8/site-packages/filelock/_windows.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c2/f8/3e/fd27c9103cb10de0d51fcc01ab16cfaae5dac9ca185e05c93819a6f86e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/filelock/py.typed b/venv/lib/python3.8/site-packages/filelock/py.typed new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/filelock/py.typed @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/filelock/version.py b/venv/lib/python3.8/site-packages/filelock/version.py new file mode 120000 index 0000000..8e0e78a --- /dev/null +++ b/venv/lib/python3.8/site-packages/filelock/version.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b6/ef/d8/23a6d70657f4f9ab4ed847f24a8a463a5acec2a2d4891c8ebce84c52dc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/flask/__init__.py b/venv/lib/python3.8/site-packages/flask/__init__.py new file mode 120000 index 0000000..efa8ec2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/flask/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/63/89/84/5aa00cc63fcec6af5e62fded5b237ed2753dc9528118afede81c6abef3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/flask/__main__.py b/venv/lib/python3.8/site-packages/flask/__main__.py new file mode 120000 index 0000000..880171c --- /dev/null +++ b/venv/lib/python3.8/site-packages/flask/__main__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6d/8b/7d/7846a845059d7a3107143f11131f63c5511d669b44085b15ec5e3d2279 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/flask/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/flask/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..9554358 Binary files /dev/null and b/venv/lib/python3.8/site-packages/flask/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/flask/__pycache__/__main__.cpython-38.pyc b/venv/lib/python3.8/site-packages/flask/__pycache__/__main__.cpython-38.pyc new file mode 100644 index 0000000..ec4578d Binary files /dev/null and b/venv/lib/python3.8/site-packages/flask/__pycache__/__main__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/flask/__pycache__/app.cpython-38.pyc b/venv/lib/python3.8/site-packages/flask/__pycache__/app.cpython-38.pyc new file mode 100644 index 0000000..d38d0a1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/flask/__pycache__/app.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/flask/__pycache__/blueprints.cpython-38.pyc b/venv/lib/python3.8/site-packages/flask/__pycache__/blueprints.cpython-38.pyc new file mode 100644 index 0000000..5502e01 Binary files /dev/null and b/venv/lib/python3.8/site-packages/flask/__pycache__/blueprints.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/flask/__pycache__/cli.cpython-38.pyc b/venv/lib/python3.8/site-packages/flask/__pycache__/cli.cpython-38.pyc new file mode 100644 index 0000000..7dc7a67 Binary files /dev/null and b/venv/lib/python3.8/site-packages/flask/__pycache__/cli.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/flask/__pycache__/config.cpython-38.pyc b/venv/lib/python3.8/site-packages/flask/__pycache__/config.cpython-38.pyc new file mode 100644 index 0000000..22ac207 Binary files /dev/null and b/venv/lib/python3.8/site-packages/flask/__pycache__/config.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/flask/__pycache__/ctx.cpython-38.pyc b/venv/lib/python3.8/site-packages/flask/__pycache__/ctx.cpython-38.pyc new file mode 100644 index 0000000..5c9cba4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/flask/__pycache__/ctx.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/flask/__pycache__/debughelpers.cpython-38.pyc b/venv/lib/python3.8/site-packages/flask/__pycache__/debughelpers.cpython-38.pyc new file mode 100644 index 0000000..ca1715a Binary files /dev/null and b/venv/lib/python3.8/site-packages/flask/__pycache__/debughelpers.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/flask/__pycache__/globals.cpython-38.pyc b/venv/lib/python3.8/site-packages/flask/__pycache__/globals.cpython-38.pyc new file mode 100644 index 0000000..27aca80 Binary files /dev/null and b/venv/lib/python3.8/site-packages/flask/__pycache__/globals.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/flask/__pycache__/helpers.cpython-38.pyc b/venv/lib/python3.8/site-packages/flask/__pycache__/helpers.cpython-38.pyc new file mode 100644 index 0000000..ed80e7d Binary files /dev/null and b/venv/lib/python3.8/site-packages/flask/__pycache__/helpers.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/flask/__pycache__/logging.cpython-38.pyc b/venv/lib/python3.8/site-packages/flask/__pycache__/logging.cpython-38.pyc new file mode 100644 index 0000000..de9c17f Binary files /dev/null and b/venv/lib/python3.8/site-packages/flask/__pycache__/logging.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/flask/__pycache__/scaffold.cpython-38.pyc b/venv/lib/python3.8/site-packages/flask/__pycache__/scaffold.cpython-38.pyc new file mode 100644 index 0000000..a9e89b1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/flask/__pycache__/scaffold.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/flask/__pycache__/sessions.cpython-38.pyc b/venv/lib/python3.8/site-packages/flask/__pycache__/sessions.cpython-38.pyc new file mode 100644 index 0000000..8683eb4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/flask/__pycache__/sessions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/flask/__pycache__/signals.cpython-38.pyc b/venv/lib/python3.8/site-packages/flask/__pycache__/signals.cpython-38.pyc new file mode 100644 index 0000000..b95db01 Binary files /dev/null and b/venv/lib/python3.8/site-packages/flask/__pycache__/signals.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/flask/__pycache__/templating.cpython-38.pyc b/venv/lib/python3.8/site-packages/flask/__pycache__/templating.cpython-38.pyc new file mode 100644 index 0000000..5386b3e Binary files /dev/null and b/venv/lib/python3.8/site-packages/flask/__pycache__/templating.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/flask/__pycache__/testing.cpython-38.pyc b/venv/lib/python3.8/site-packages/flask/__pycache__/testing.cpython-38.pyc new file mode 100644 index 0000000..417e531 Binary files /dev/null and b/venv/lib/python3.8/site-packages/flask/__pycache__/testing.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/flask/__pycache__/typing.cpython-38.pyc b/venv/lib/python3.8/site-packages/flask/__pycache__/typing.cpython-38.pyc new file mode 100644 index 0000000..1d4d626 Binary files /dev/null and b/venv/lib/python3.8/site-packages/flask/__pycache__/typing.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/flask/__pycache__/views.cpython-38.pyc b/venv/lib/python3.8/site-packages/flask/__pycache__/views.cpython-38.pyc new file mode 100644 index 0000000..691548c Binary files /dev/null and b/venv/lib/python3.8/site-packages/flask/__pycache__/views.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/flask/__pycache__/wrappers.cpython-38.pyc b/venv/lib/python3.8/site-packages/flask/__pycache__/wrappers.cpython-38.pyc new file mode 100644 index 0000000..820c29b Binary files /dev/null and b/venv/lib/python3.8/site-packages/flask/__pycache__/wrappers.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/flask/app.py b/venv/lib/python3.8/site-packages/flask/app.py new file mode 120000 index 0000000..43da456 --- /dev/null +++ b/venv/lib/python3.8/site-packages/flask/app.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/55/f0/5c/1a6115bde31c49a8e45260d70843af01dfb6988049df9e4a89cbd0e201 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/flask/blueprints.py b/venv/lib/python3.8/site-packages/flask/blueprints.py new file mode 120000 index 0000000..a159f1c --- /dev/null +++ b/venv/lib/python3.8/site-packages/flask/blueprints.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/25/ba/ed/fb68e52e2164942dc37bd116062a0fb438c76186d79530caf59ecbda79 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/flask/cli.py b/venv/lib/python3.8/site-packages/flask/cli.py new file mode 120000 index 0000000..2266671 --- /dev/null +++ b/venv/lib/python3.8/site-packages/flask/cli.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7e/82/e5/0fc362217731a71326450bef9593db54cf29c4e6891b7b1ae7c73d7400 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/flask/config.py b/venv/lib/python3.8/site-packages/flask/config.py new file mode 120000 index 0000000..1f81a0b --- /dev/null +++ b/venv/lib/python3.8/site-packages/flask/config.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/21/6a/87/79c1f8a680f1344520e14fd903509394be412990d7de87c6e14198ca2d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/flask/ctx.py b/venv/lib/python3.8/site-packages/flask/ctx.py new file mode 120000 index 0000000..3005831 --- /dev/null +++ b/venv/lib/python3.8/site-packages/flask/ctx.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/64/e1/84/5ae163b02224def9be0bda4b304d1ee2c69e064786a6bdad4d2bde9923 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/flask/debughelpers.py b/venv/lib/python3.8/site-packages/flask/debughelpers.py new file mode 120000 index 0000000..e0bac70 --- /dev/null +++ b/venv/lib/python3.8/site-packages/flask/debughelpers.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fd/1b/c0/2f74d6e65a8c25e0955ad4d4eab483242ee39d16812fa3849159a8a325 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/flask/globals.py b/venv/lib/python3.8/site-packages/flask/globals.py new file mode 120000 index 0000000..c2232d4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/flask/globals.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d4/32/d9/322f12bbe4b581ff3312247724f8ba557608ad8aa6f02f7ffcbcbaeacb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/flask/helpers.py b/venv/lib/python3.8/site-packages/flask/helpers.py new file mode 120000 index 0000000..16ae5c1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/flask/helpers.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/10/ba/b6/efbe398e286b77200ff6a63c2843650950dd9d64564c89f7e4bf5af945 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/flask/json/__init__.py b/venv/lib/python3.8/site-packages/flask/json/__init__.py new file mode 120000 index 0000000..1759aff --- /dev/null +++ b/venv/lib/python3.8/site-packages/flask/json/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4c/ec/25/7474f7fe415a5c794e44a8bdc825adedd6cf341d28bdd1c74169524736 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/flask/json/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/flask/json/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..95260e2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/flask/json/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/flask/json/__pycache__/provider.cpython-38.pyc b/venv/lib/python3.8/site-packages/flask/json/__pycache__/provider.cpython-38.pyc new file mode 100644 index 0000000..06333e5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/flask/json/__pycache__/provider.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/flask/json/__pycache__/tag.cpython-38.pyc b/venv/lib/python3.8/site-packages/flask/json/__pycache__/tag.cpython-38.pyc new file mode 100644 index 0000000..c78e8e0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/flask/json/__pycache__/tag.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/flask/json/provider.py b/venv/lib/python3.8/site-packages/flask/json/provider.py new file mode 120000 index 0000000..71a387a --- /dev/null +++ b/venv/lib/python3.8/site-packages/flask/json/provider.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8d/70/8d/ca97f5d4f3789e042312de8b9d2742590d721c802434b1e55d094207e0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/flask/json/tag.py b/venv/lib/python3.8/site-packages/flask/json/tag.py new file mode 120000 index 0000000..627343a --- /dev/null +++ b/venv/lib/python3.8/site-packages/flask/json/tag.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7f/2b/37/1c12ecb161ee300209b9371fd8ad1b0ada2c78f04a5c85804991048e75 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/flask/logging.py b/venv/lib/python3.8/site-packages/flask/logging.py new file mode 120000 index 0000000..f087371 --- /dev/null +++ b/venv/lib/python3.8/site-packages/flask/logging.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/59/89/e0/d1b2d3452fc226ba1c19c08b26989b1dfd65ca01c4fe983e2a8508438c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/flask/py.typed b/venv/lib/python3.8/site-packages/flask/py.typed new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/flask/py.typed @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/flask/scaffold.py b/venv/lib/python3.8/site-packages/flask/scaffold.py new file mode 120000 index 0000000..cd3c405 --- /dev/null +++ b/venv/lib/python3.8/site-packages/flask/scaffold.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b6/24/11/2bebcc6399ee72837aa5ec1717cec66b1ae5b6c0863a04d5b13eb09bbb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/flask/sessions.py b/venv/lib/python3.8/site-packages/flask/sessions.py new file mode 120000 index 0000000..fca9e86 --- /dev/null +++ b/venv/lib/python3.8/site-packages/flask/sessions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/eb/aa/06/944faff6269cf9e6f9e2d14ddc82c08c9d4579eb871d6c3df1455aa317 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/flask/signals.py b/venv/lib/python3.8/site-packages/flask/signals.py new file mode 120000 index 0000000..69d5366 --- /dev/null +++ b/venv/lib/python3.8/site-packages/flask/signals.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1f/b4/30/0dc88af9db41c629e32a97b1a6094fd04ea4d0c2482e21564c8b5f9aa5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/flask/templating.py b/venv/lib/python3.8/site-packages/flask/templating.py new file mode 120000 index 0000000..53d6373 --- /dev/null +++ b/venv/lib/python3.8/site-packages/flask/templating.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d4/fe/0e/cef4a70367ec253620413dc6e28c152acb8ecfc5dd742891ea3307189d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/flask/testing.py b/venv/lib/python3.8/site-packages/flask/testing.py new file mode 120000 index 0000000..dc5c68d --- /dev/null +++ b/venv/lib/python3.8/site-packages/flask/testing.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a7/9d/5f/f4fee30dcfc80d2899ba0ee3ca99df55cc6c42b320dc1dad9e3969105c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/flask/typing.py b/venv/lib/python3.8/site-packages/flask/typing.py new file mode 120000 index 0000000..4534852 --- /dev/null +++ b/venv/lib/python3.8/site-packages/flask/typing.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2a/0c/5e/81317dbfd5afba89e0785f0ba2822fa593dabb31ababd6577f78019587 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/flask/views.py b/venv/lib/python3.8/site-packages/flask/views.py new file mode 120000 index 0000000..be82166 --- /dev/null +++ b/venv/lib/python3.8/site-packages/flask/views.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6e/f7/96/8a58af90f3fee0707dc3f7cebac073eac1cd225d104ea29414c0a5b731 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/flask/wrappers.py b/venv/lib/python3.8/site-packages/flask/wrappers.py new file mode 120000 index 0000000..0b64de3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/flask/wrappers.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/59/af/9b/86335d3cfbde4874b5769cc3febf9ac99c486051750e85a770a39a7eb9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/frozenlist-1.3.1.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/frozenlist-1.3.1.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/frozenlist-1.3.1.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/frozenlist-1.3.1.dist-info/LICENSE b/venv/lib/python3.8/site-packages/frozenlist-1.3.1.dist-info/LICENSE new file mode 120000 index 0000000..59071a4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/frozenlist-1.3.1.dist-info/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6f/d5/24/3e92dd7f98ec69c7ac377728e74905709ff527a5bf98d6d0263c04f5b6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/frozenlist-1.3.1.dist-info/METADATA b/venv/lib/python3.8/site-packages/frozenlist-1.3.1.dist-info/METADATA new file mode 120000 index 0000000..2b6fc54 --- /dev/null +++ b/venv/lib/python3.8/site-packages/frozenlist-1.3.1.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/57/89/8a/ce7653102d6ce50fa5ccf1421c4b514691f618070738869c57decdc0d8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/frozenlist-1.3.1.dist-info/RECORD b/venv/lib/python3.8/site-packages/frozenlist-1.3.1.dist-info/RECORD new file mode 100644 index 0000000..99b0698 --- /dev/null +++ b/venv/lib/python3.8/site-packages/frozenlist-1.3.1.dist-info/RECORD @@ -0,0 +1,14 @@ +frozenlist-1.3.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +frozenlist-1.3.1.dist-info/LICENSE,sha256=b9UkPpLdf5jsacesN3co50kFcJ_1J6W_mNbQJjwE9bY,11332 +frozenlist-1.3.1.dist-info/METADATA,sha256=V4mKznZTEC1s5Q-lzPFCHEtRRpH2GAcHOIacV97NwNg,4693 +frozenlist-1.3.1.dist-info/RECORD,, +frozenlist-1.3.1.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +frozenlist-1.3.1.dist-info/WHEEL,sha256=Buq0s4-kaRglAVHfGKm_b4CVYtkMY90kHTy3VpNpJvY,217 +frozenlist-1.3.1.dist-info/direct_url.json,sha256=PosO1rd3_sON7K2omE5gaRUX3lVISKFrNX57qoUDN8c,331 +frozenlist-1.3.1.dist-info/top_level.txt,sha256=jivtxsPXA3nK3WBWW2LW5Mtu_GHt8UZA13NeCs2cKuA,11 +frozenlist/__init__.py,sha256=HgKOrvsm49GjCdB8jQfIlcCuOWfupghXw3La2ZGzzMo,2323 +frozenlist/__init__.pyi,sha256=vMEoES1xGegPtVXoCi9XydEeHsyuIq-KdeXwP5PdsaA,1470 +frozenlist/__pycache__/__init__.cpython-38.pyc,, +frozenlist/_frozenlist.cpython-38-x86_64-linux-gnu.so,sha256=yJ55hIcNoqoAP6aQTMWzIV8zFbP3Gd7SlhDO_1kpWEA,509408 +frozenlist/_frozenlist.pyx,sha256=9V4Z1En6TZwgFD26d-sjxyhUzUm338H1Qiz4-i5ukv0,2983 +frozenlist/py.typed,sha256=sow9soTwP9T_gEAQSVh7Gb8855h04Nwmhs2We-JRgZM,7 diff --git a/venv/lib/python3.8/site-packages/frozenlist-1.3.1.dist-info/REQUESTED b/venv/lib/python3.8/site-packages/frozenlist-1.3.1.dist-info/REQUESTED new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.8/site-packages/frozenlist-1.3.1.dist-info/WHEEL b/venv/lib/python3.8/site-packages/frozenlist-1.3.1.dist-info/WHEEL new file mode 120000 index 0000000..aad2577 --- /dev/null +++ b/venv/lib/python3.8/site-packages/frozenlist-1.3.1.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/06/ea/b4/b38fa46918250151df18a9bf6f809562d90c63dd241d3cb756936926f6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/frozenlist-1.3.1.dist-info/direct_url.json b/venv/lib/python3.8/site-packages/frozenlist-1.3.1.dist-info/direct_url.json new file mode 100644 index 0000000..a7d7d06 --- /dev/null +++ b/venv/lib/python3.8/site-packages/frozenlist-1.3.1.dist-info/direct_url.json @@ -0,0 +1 @@ +{"archive_info": {"hash": "sha256=42719a8bd3792744c9b523674b752091a7962d0d2d117f0b417a3eba97d1164b"}, "url": "https://files.pythonhosted.org/packages/29/ec/5715f872eac10ba488a389f0f2680dafa94f115b823b3ed1cdea31026297/frozenlist-1.3.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl"} \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/frozenlist-1.3.1.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/frozenlist-1.3.1.dist-info/top_level.txt new file mode 120000 index 0000000..6bfe80e --- /dev/null +++ b/venv/lib/python3.8/site-packages/frozenlist-1.3.1.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8e/2b/ed/c6c3d70379cadd60565b62d6e4cb6efc61edf14640d7735e0acd9c2ae0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/frozenlist/__init__.py b/venv/lib/python3.8/site-packages/frozenlist/__init__.py new file mode 120000 index 0000000..cc2246b --- /dev/null +++ b/venv/lib/python3.8/site-packages/frozenlist/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1e/02/8e/aefb26e3d1a309d07c8d07c895c0ae3967eea60857c372dad991b3ccca \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/frozenlist/__init__.pyi b/venv/lib/python3.8/site-packages/frozenlist/__init__.pyi new file mode 120000 index 0000000..16b4164 --- /dev/null +++ b/venv/lib/python3.8/site-packages/frozenlist/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bc/c1/28/112d7119e80fb555e80a2f57c9d11e1eccae22af8a75e5f03f93ddb1a0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/frozenlist/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/frozenlist/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..6cbbe8b Binary files /dev/null and b/venv/lib/python3.8/site-packages/frozenlist/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/frozenlist/_frozenlist.cpython-38-x86_64-linux-gnu.so b/venv/lib/python3.8/site-packages/frozenlist/_frozenlist.cpython-38-x86_64-linux-gnu.so new file mode 120000 index 0000000..7bc3af8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/frozenlist/_frozenlist.cpython-38-x86_64-linux-gnu.so @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c8/9e/79/84870da2aa003fa6904cc5b3215f3315b3f719ded29610ceff59295840 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/frozenlist/_frozenlist.pyx b/venv/lib/python3.8/site-packages/frozenlist/_frozenlist.pyx new file mode 120000 index 0000000..9332204 --- /dev/null +++ b/venv/lib/python3.8/site-packages/frozenlist/_frozenlist.pyx @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f5/5e/19/d449fa4d9c20143dba77eb23c72854cd49b7dfc1f5422cf8fa2e6e92fd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/frozenlist/py.typed b/venv/lib/python3.8/site-packages/frozenlist/py.typed new file mode 120000 index 0000000..a3f4481 --- /dev/null +++ b/venv/lib/python3.8/site-packages/frozenlist/py.typed @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b2/8c/3d/b284f03fd4ff80401049587b19bf3ce79874e0dc2686cd967be2518193 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/html5lib-1.1.dist-info/AUTHORS.rst b/venv/lib/python3.8/site-packages/html5lib-1.1.dist-info/AUTHORS.rst new file mode 120000 index 0000000..8e72d48 --- /dev/null +++ b/venv/lib/python3.8/site-packages/html5lib-1.1.dist-info/AUTHORS.rst @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0e/b3/40/3227e80e9b90c899fe296f87e8af13b766b9aca9d5d94178f8346b1942 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/html5lib-1.1.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/html5lib-1.1.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/html5lib-1.1.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/html5lib-1.1.dist-info/LICENSE b/venv/lib/python3.8/site-packages/html5lib-1.1.dist-info/LICENSE new file mode 120000 index 0000000..d684e14 --- /dev/null +++ b/venv/lib/python3.8/site-packages/html5lib-1.1.dist-info/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/16/a3/99/91619e92f18680932da2a9199fdf7d95df3ecaedc52ea06218aabafd6f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/html5lib-1.1.dist-info/METADATA b/venv/lib/python3.8/site-packages/html5lib-1.1.dist-info/METADATA new file mode 120000 index 0000000..ced052c --- /dev/null +++ b/venv/lib/python3.8/site-packages/html5lib-1.1.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/63/7c/3e/9ddff6d87427411cb7cb2a55b15fe47b6145f78b940f8faf1a97360e72 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/html5lib-1.1.dist-info/RECORD b/venv/lib/python3.8/site-packages/html5lib-1.1.dist-info/RECORD new file mode 100644 index 0000000..c7bc98e --- /dev/null +++ b/venv/lib/python3.8/site-packages/html5lib-1.1.dist-info/RECORD @@ -0,0 +1,73 @@ +html5lib-1.1.dist-info/AUTHORS.rst,sha256=DrNAMifoDpuQyJn-KW-H6K8Tt2a5rKnV2UF4-DRrGUI,983 +html5lib-1.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +html5lib-1.1.dist-info/LICENSE,sha256=FqOZkWGekvGGgJMtoqkZn999ld8-yu3FLqBiGKq6_W8,1084 +html5lib-1.1.dist-info/METADATA,sha256=Y3w-nd_22HQnQRy3yypVsV_ke2FF94uUD4-vGpc2DnI,16076 +html5lib-1.1.dist-info/RECORD,, +html5lib-1.1.dist-info/WHEEL,sha256=kGT74LWyRUZrL4VgLh6_g12IeVl_9u9ZVhadrgXZUEY,110 +html5lib-1.1.dist-info/top_level.txt,sha256=XEX6CHpskSmvjJB4tP6m4Q5NYXhIf_0ceMc0PNbzJPQ,9 +html5lib/__init__.py,sha256=pWnYcfZ69wNLrdQL7bpr49FUi8O8w0KhKCOHsyRgYGQ,1143 +html5lib/__pycache__/__init__.cpython-38.pyc,, +html5lib/__pycache__/_ihatexml.cpython-38.pyc,, +html5lib/__pycache__/_inputstream.cpython-38.pyc,, +html5lib/__pycache__/_tokenizer.cpython-38.pyc,, +html5lib/__pycache__/_utils.cpython-38.pyc,, +html5lib/__pycache__/constants.cpython-38.pyc,, +html5lib/__pycache__/html5parser.cpython-38.pyc,, +html5lib/__pycache__/serializer.cpython-38.pyc,, +html5lib/_ihatexml.py,sha256=ifOwF7pXqmyThIXc3boWc96s4MDezqRrRVp7FwDYUFs,16728 +html5lib/_inputstream.py,sha256=IKuMiY8rzb7pqIGCpbvTqsxysLEpgEHWYvYEFu4LUAI,32300 +html5lib/_tokenizer.py,sha256=WvJQa2Mli4NtTmhLXkX8Jy5FcWttqCaiDTiKyaw8D-k,77028 +html5lib/_trie/__init__.py,sha256=nqfgO910329BEVJ5T4psVwQtjd2iJyEXQ2-X8c1YxwU,109 +html5lib/_trie/__pycache__/__init__.cpython-38.pyc,, +html5lib/_trie/__pycache__/_base.cpython-38.pyc,, +html5lib/_trie/__pycache__/py.cpython-38.pyc,, +html5lib/_trie/_base.py,sha256=CaybYyMro8uERQYjby2tTeSUatnWDfWroUN9N7ety5w,1013 +html5lib/_trie/py.py,sha256=zg7RZSHxJ8mLmuI_7VEIV8AomISrgkvqCP477AgXaG0,1763 +html5lib/_utils.py,sha256=AxAJSG15eyarCgKMnlUwzs1X6jFHXqEvhlYEOxAFmis,4919 +html5lib/constants.py,sha256=Ll-yzLU_jcjyAI_h57zkqZ7aQWE5t5xA4y_jQgoUUhw,83464 +html5lib/filters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +html5lib/filters/__pycache__/__init__.cpython-38.pyc,, +html5lib/filters/__pycache__/alphabeticalattributes.cpython-38.pyc,, +html5lib/filters/__pycache__/base.cpython-38.pyc,, +html5lib/filters/__pycache__/inject_meta_charset.cpython-38.pyc,, +html5lib/filters/__pycache__/lint.cpython-38.pyc,, +html5lib/filters/__pycache__/optionaltags.cpython-38.pyc,, +html5lib/filters/__pycache__/sanitizer.cpython-38.pyc,, +html5lib/filters/__pycache__/whitespace.cpython-38.pyc,, +html5lib/filters/alphabeticalattributes.py,sha256=lViZc2JMCclXi_5gduvmdzrRxtO5Xo9ONnbHBVCsykU,919 +html5lib/filters/base.py,sha256=z-IU9ZAYjpsVsqmVt7kuWC63jR11hDMr6CVrvuao8W0,286 +html5lib/filters/inject_meta_charset.py,sha256=egDXUEHXmAG9504xz0K6ALDgYkvUrC2q15YUVeNlVQg,2945 +html5lib/filters/lint.py,sha256=upXATs6By7cot7o0bnNqR15sPq2Fn6Vnjvoy3gyO_rY,3631 +html5lib/filters/optionaltags.py,sha256=8lWT75J0aBOHmPgfmqTHSfPpPMp01T84NKu0CRedxcE,10588 +html5lib/filters/sanitizer.py,sha256=XGNSdzIqDTaHot1V-rRj1V_XOolApJ7n95tHP9JcgNU,26885 +html5lib/filters/whitespace.py,sha256=8eWqZxd4UC4zlFGW6iyY6f-2uuT8pOCSALc3IZt7_t4,1214 +html5lib/html5parser.py,sha256=w5hZJh0cvD3g4CS196DiTmuGpSKCMYe1GS46-yf_WZQ,117174 +html5lib/serializer.py,sha256=K2kfoLyMPMFPfdusfR30SrxNkf0mJB92-P5_RntyaaI,15747 +html5lib/treeadapters/__init__.py,sha256=18hyI-at2aBsdKzpwRwa5lGF1ipgctaTYXoU9En2ZQg,650 +html5lib/treeadapters/__pycache__/__init__.cpython-38.pyc,, +html5lib/treeadapters/__pycache__/genshi.cpython-38.pyc,, +html5lib/treeadapters/__pycache__/sax.cpython-38.pyc,, +html5lib/treeadapters/genshi.py,sha256=CH27pAsDKmu4ZGkAUrwty7u0KauGLCZRLPMzaO3M5vo,1715 +html5lib/treeadapters/sax.py,sha256=BKS8woQTnKiqeffHsxChUqL4q2ZR_wb5fc9MJ3zQC8s,1776 +html5lib/treebuilders/__init__.py,sha256=AysSJyvPfikCMMsTVvaxwkgDieELD5dfR8FJIAuq7hY,3592 +html5lib/treebuilders/__pycache__/__init__.cpython-38.pyc,, +html5lib/treebuilders/__pycache__/base.cpython-38.pyc,, +html5lib/treebuilders/__pycache__/dom.cpython-38.pyc,, +html5lib/treebuilders/__pycache__/etree.cpython-38.pyc,, +html5lib/treebuilders/__pycache__/etree_lxml.cpython-38.pyc,, +html5lib/treebuilders/base.py,sha256=oeZNGEB-kt90YJGVH05gb5a8E7ids2AbYwGRsVCieWk,14553 +html5lib/treebuilders/dom.py,sha256=22whb0C71zXIsai5mamg6qzBEiigcBIvaDy4Asw3at0,8925 +html5lib/treebuilders/etree.py,sha256=EbmHx-wQ-11MVucTPtF7Ul92-mQGN3Udu_KfDn-Ifhk,12824 +html5lib/treebuilders/etree_lxml.py,sha256=OazDHZGO_q4FnVs4Dhs4hzzn2JwGAOs-rfV8LAlUGW4,14754 +html5lib/treewalkers/__init__.py,sha256=OBPtc1TU5mGyy18QDMxKEyYEz0wxFUUNj5v0-XgmYhY,5719 +html5lib/treewalkers/__pycache__/__init__.cpython-38.pyc,, +html5lib/treewalkers/__pycache__/base.cpython-38.pyc,, +html5lib/treewalkers/__pycache__/dom.cpython-38.pyc,, +html5lib/treewalkers/__pycache__/etree.cpython-38.pyc,, +html5lib/treewalkers/__pycache__/etree_lxml.cpython-38.pyc,, +html5lib/treewalkers/__pycache__/genshi.cpython-38.pyc,, +html5lib/treewalkers/base.py,sha256=ouiOsuSzvI0KgzdWP8PlxIaSNs9falhbiinAEc_UIJY,7476 +html5lib/treewalkers/dom.py,sha256=EHyFR8D8lYNnyDU9lx_IKigVJRyecUGua0mOi7HBukc,1413 +html5lib/treewalkers/etree.py,sha256=gkD4tfEfRWPsEGvgHHJxZmKZXUvBzVVGz3v5C_MIiOE,4539 +html5lib/treewalkers/etree_lxml.py,sha256=eLedbn6nPjlpebibsWVijey7WEpzDwxU3ubwUoudBuA,6345 +html5lib/treewalkers/genshi.py,sha256=4D2PECZ5n3ZN3qu3jMl9yY7B81jnQApBQSVlfaIuYbA,2309 diff --git a/venv/lib/python3.8/site-packages/html5lib-1.1.dist-info/WHEEL b/venv/lib/python3.8/site-packages/html5lib-1.1.dist-info/WHEEL new file mode 120000 index 0000000..d940cd1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/html5lib-1.1.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/90/64/fb/e0b5b245466b2f85602e1ebf835d8879597ff6ef5956169dae05d95046 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/html5lib-1.1.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/html5lib-1.1.dist-info/top_level.txt new file mode 120000 index 0000000..1cb5c85 --- /dev/null +++ b/venv/lib/python3.8/site-packages/html5lib-1.1.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5c/45/fa/087a6c9129af8c9078b4fea6e10e4d6178487ffd1c78c7343cd6f324f4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/html5lib/__init__.py b/venv/lib/python3.8/site-packages/html5lib/__init__.py new file mode 120000 index 0000000..eca24cb --- /dev/null +++ b/venv/lib/python3.8/site-packages/html5lib/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a5/69/d8/71f67af7034badd40bedba6be3d1548bc3bcc342a1282387b324606064 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/html5lib/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/html5lib/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..b430a05 Binary files /dev/null and b/venv/lib/python3.8/site-packages/html5lib/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/html5lib/__pycache__/_ihatexml.cpython-38.pyc b/venv/lib/python3.8/site-packages/html5lib/__pycache__/_ihatexml.cpython-38.pyc new file mode 100644 index 0000000..7df7863 Binary files /dev/null and b/venv/lib/python3.8/site-packages/html5lib/__pycache__/_ihatexml.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/html5lib/__pycache__/_inputstream.cpython-38.pyc b/venv/lib/python3.8/site-packages/html5lib/__pycache__/_inputstream.cpython-38.pyc new file mode 100644 index 0000000..e0abfd0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/html5lib/__pycache__/_inputstream.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/html5lib/__pycache__/_tokenizer.cpython-38.pyc b/venv/lib/python3.8/site-packages/html5lib/__pycache__/_tokenizer.cpython-38.pyc new file mode 100644 index 0000000..61c811a Binary files /dev/null and b/venv/lib/python3.8/site-packages/html5lib/__pycache__/_tokenizer.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/html5lib/__pycache__/_utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/html5lib/__pycache__/_utils.cpython-38.pyc new file mode 100644 index 0000000..b5f2a59 Binary files /dev/null and b/venv/lib/python3.8/site-packages/html5lib/__pycache__/_utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/html5lib/__pycache__/constants.cpython-38.pyc b/venv/lib/python3.8/site-packages/html5lib/__pycache__/constants.cpython-38.pyc new file mode 100644 index 0000000..dfefd8b Binary files /dev/null and b/venv/lib/python3.8/site-packages/html5lib/__pycache__/constants.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/html5lib/__pycache__/html5parser.cpython-38.pyc b/venv/lib/python3.8/site-packages/html5lib/__pycache__/html5parser.cpython-38.pyc new file mode 100644 index 0000000..66d5f9c Binary files /dev/null and b/venv/lib/python3.8/site-packages/html5lib/__pycache__/html5parser.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/html5lib/__pycache__/serializer.cpython-38.pyc b/venv/lib/python3.8/site-packages/html5lib/__pycache__/serializer.cpython-38.pyc new file mode 100644 index 0000000..635c72c Binary files /dev/null and b/venv/lib/python3.8/site-packages/html5lib/__pycache__/serializer.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/html5lib/_ihatexml.py b/venv/lib/python3.8/site-packages/html5lib/_ihatexml.py new file mode 120000 index 0000000..6947873 --- /dev/null +++ b/venv/lib/python3.8/site-packages/html5lib/_ihatexml.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/89/f3/b0/17ba57aa6c938485dcddba1673deace0c0decea46b455a7b1700d8505b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/html5lib/_inputstream.py b/venv/lib/python3.8/site-packages/html5lib/_inputstream.py new file mode 120000 index 0000000..1cd0659 --- /dev/null +++ b/venv/lib/python3.8/site-packages/html5lib/_inputstream.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/20/ab/8c/898f2bcdbee9a88182a5bbd3aacc72b0b1298041d662f60416ee0b5002 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/html5lib/_tokenizer.py b/venv/lib/python3.8/site-packages/html5lib/_tokenizer.py new file mode 120000 index 0000000..e762724 --- /dev/null +++ b/venv/lib/python3.8/site-packages/html5lib/_tokenizer.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5a/f2/50/6b63258b836d4e684b5e45fc272e45716b6da826a20d388ac9ac3c0fe9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/html5lib/_trie/__init__.py b/venv/lib/python3.8/site-packages/html5lib/_trie/__init__.py new file mode 120000 index 0000000..2480dbb --- /dev/null +++ b/venv/lib/python3.8/site-packages/html5lib/_trie/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9e/a7/e0/3bdd74df6f411152794f8a6c57042d8ddda2272117436f97f1cd58c705 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/html5lib/_trie/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/html5lib/_trie/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..450989d Binary files /dev/null and b/venv/lib/python3.8/site-packages/html5lib/_trie/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/html5lib/_trie/__pycache__/_base.cpython-38.pyc b/venv/lib/python3.8/site-packages/html5lib/_trie/__pycache__/_base.cpython-38.pyc new file mode 100644 index 0000000..0099d6b Binary files /dev/null and b/venv/lib/python3.8/site-packages/html5lib/_trie/__pycache__/_base.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/html5lib/_trie/__pycache__/py.cpython-38.pyc b/venv/lib/python3.8/site-packages/html5lib/_trie/__pycache__/py.cpython-38.pyc new file mode 100644 index 0000000..ef55635 Binary files /dev/null and b/venv/lib/python3.8/site-packages/html5lib/_trie/__pycache__/py.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/html5lib/_trie/_base.py b/venv/lib/python3.8/site-packages/html5lib/_trie/_base.py new file mode 120000 index 0000000..c1b31dc --- /dev/null +++ b/venv/lib/python3.8/site-packages/html5lib/_trie/_base.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/09/ac/9b/63232ba3cb844506236f2dad4de4946ad9d60df5aba1437d37b7adcb9c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/html5lib/_trie/py.py b/venv/lib/python3.8/site-packages/html5lib/_trie/py.py new file mode 120000 index 0000000..3862871 --- /dev/null +++ b/venv/lib/python3.8/site-packages/html5lib/_trie/py.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ce/0e/d1/6521f127c98b9ae23fed510857c0289884ab824bea08fe3bec0817686d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/html5lib/_utils.py b/venv/lib/python3.8/site-packages/html5lib/_utils.py new file mode 120000 index 0000000..dd00f49 --- /dev/null +++ b/venv/lib/python3.8/site-packages/html5lib/_utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/03/10/09/486d797b26ab0a028c9e5530cecd57ea31475ea12f8656043b10059a2b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/html5lib/constants.py b/venv/lib/python3.8/site-packages/html5lib/constants.py new file mode 120000 index 0000000..d6826d2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/html5lib/constants.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2e/5f/b2/ccb53f8dc8f2008fe1e7bce4a99eda416139b79c40e32fe3420a14521c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/html5lib/filters/__init__.py b/venv/lib/python3.8/site-packages/html5lib/filters/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/html5lib/filters/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/html5lib/filters/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/html5lib/filters/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..800594a Binary files /dev/null and b/venv/lib/python3.8/site-packages/html5lib/filters/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/html5lib/filters/__pycache__/alphabeticalattributes.cpython-38.pyc b/venv/lib/python3.8/site-packages/html5lib/filters/__pycache__/alphabeticalattributes.cpython-38.pyc new file mode 100644 index 0000000..71864db Binary files /dev/null and b/venv/lib/python3.8/site-packages/html5lib/filters/__pycache__/alphabeticalattributes.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/html5lib/filters/__pycache__/base.cpython-38.pyc b/venv/lib/python3.8/site-packages/html5lib/filters/__pycache__/base.cpython-38.pyc new file mode 100644 index 0000000..59d6158 Binary files /dev/null and b/venv/lib/python3.8/site-packages/html5lib/filters/__pycache__/base.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/html5lib/filters/__pycache__/inject_meta_charset.cpython-38.pyc b/venv/lib/python3.8/site-packages/html5lib/filters/__pycache__/inject_meta_charset.cpython-38.pyc new file mode 100644 index 0000000..85f81fc Binary files /dev/null and b/venv/lib/python3.8/site-packages/html5lib/filters/__pycache__/inject_meta_charset.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/html5lib/filters/__pycache__/lint.cpython-38.pyc b/venv/lib/python3.8/site-packages/html5lib/filters/__pycache__/lint.cpython-38.pyc new file mode 100644 index 0000000..b30828c Binary files /dev/null and b/venv/lib/python3.8/site-packages/html5lib/filters/__pycache__/lint.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/html5lib/filters/__pycache__/optionaltags.cpython-38.pyc b/venv/lib/python3.8/site-packages/html5lib/filters/__pycache__/optionaltags.cpython-38.pyc new file mode 100644 index 0000000..040dc5e Binary files /dev/null and b/venv/lib/python3.8/site-packages/html5lib/filters/__pycache__/optionaltags.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/html5lib/filters/__pycache__/sanitizer.cpython-38.pyc b/venv/lib/python3.8/site-packages/html5lib/filters/__pycache__/sanitizer.cpython-38.pyc new file mode 100644 index 0000000..7d15cbb Binary files /dev/null and b/venv/lib/python3.8/site-packages/html5lib/filters/__pycache__/sanitizer.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/html5lib/filters/__pycache__/whitespace.cpython-38.pyc b/venv/lib/python3.8/site-packages/html5lib/filters/__pycache__/whitespace.cpython-38.pyc new file mode 100644 index 0000000..696754d Binary files /dev/null and b/venv/lib/python3.8/site-packages/html5lib/filters/__pycache__/whitespace.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/html5lib/filters/alphabeticalattributes.py b/venv/lib/python3.8/site-packages/html5lib/filters/alphabeticalattributes.py new file mode 120000 index 0000000..6b2a34c --- /dev/null +++ b/venv/lib/python3.8/site-packages/html5lib/filters/alphabeticalattributes.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/95/58/99/73624c09c9578bfe6076ebe6773ad1c6d3b95e8f4e3676c70550acca45 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/html5lib/filters/base.py b/venv/lib/python3.8/site-packages/html5lib/filters/base.py new file mode 120000 index 0000000..33dad03 --- /dev/null +++ b/venv/lib/python3.8/site-packages/html5lib/filters/base.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cf/e2/14/f590188e9b15b2a995b7b92e582eb78d1d7584332be8256bbee6a8f16d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/html5lib/filters/inject_meta_charset.py b/venv/lib/python3.8/site-packages/html5lib/filters/inject_meta_charset.py new file mode 120000 index 0000000..cc37aa0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/html5lib/filters/inject_meta_charset.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7a/00/d7/5041d79801bde74e31cf42ba00b0e0624bd4ac2daad7961455e3655508 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/html5lib/filters/lint.py b/venv/lib/python3.8/site-packages/html5lib/filters/lint.py new file mode 120000 index 0000000..a6f95df --- /dev/null +++ b/venv/lib/python3.8/site-packages/html5lib/filters/lint.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ba/95/c0/4ece81cbb728b7ba346e736a475e6c3ead859fa5678efa32de0c8efeb6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/html5lib/filters/optionaltags.py b/venv/lib/python3.8/site-packages/html5lib/filters/optionaltags.py new file mode 120000 index 0000000..530f236 --- /dev/null +++ b/venv/lib/python3.8/site-packages/html5lib/filters/optionaltags.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f2/55/93/ef927468138798f81f9aa4c749f3e93cca74d53f3834abb409179dc5c1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/html5lib/filters/sanitizer.py b/venv/lib/python3.8/site-packages/html5lib/filters/sanitizer.py new file mode 120000 index 0000000..f467823 --- /dev/null +++ b/venv/lib/python3.8/site-packages/html5lib/filters/sanitizer.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5c/63/52/77322a0d3687a2dd55fab463d55fd73a8940a49ee7f79b473fd25c80d5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/html5lib/filters/whitespace.py b/venv/lib/python3.8/site-packages/html5lib/filters/whitespace.py new file mode 120000 index 0000000..d23b215 --- /dev/null +++ b/venv/lib/python3.8/site-packages/html5lib/filters/whitespace.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f1/e5/aa/671778502e33945196ea2c98e9ffb6bae4fca4e09200b737219b7bfede \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/html5lib/html5parser.py b/venv/lib/python3.8/site-packages/html5lib/html5parser.py new file mode 120000 index 0000000..42b9c97 --- /dev/null +++ b/venv/lib/python3.8/site-packages/html5lib/html5parser.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c3/98/59/261d1cbc3de0e024b5f7a0e24e6b86a522823187b5192e3afb27ff5994 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/html5lib/serializer.py b/venv/lib/python3.8/site-packages/html5lib/serializer.py new file mode 120000 index 0000000..ce5795e --- /dev/null +++ b/venv/lib/python3.8/site-packages/html5lib/serializer.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2b/69/1f/a0bc8c3cc14f7ddbac7d1df44abc4d91fd26241f76f8fe7f467b7269a2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/html5lib/treeadapters/__init__.py b/venv/lib/python3.8/site-packages/html5lib/treeadapters/__init__.py new file mode 120000 index 0000000..94cfe09 --- /dev/null +++ b/venv/lib/python3.8/site-packages/html5lib/treeadapters/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d7/c8/72/23e6add9a06c74ace9c11c1ae65185d62a6072d693617a14f449f66508 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/html5lib/treeadapters/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/html5lib/treeadapters/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..120bb77 Binary files /dev/null and b/venv/lib/python3.8/site-packages/html5lib/treeadapters/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/html5lib/treeadapters/__pycache__/genshi.cpython-38.pyc b/venv/lib/python3.8/site-packages/html5lib/treeadapters/__pycache__/genshi.cpython-38.pyc new file mode 100644 index 0000000..e75c6bd Binary files /dev/null and b/venv/lib/python3.8/site-packages/html5lib/treeadapters/__pycache__/genshi.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/html5lib/treeadapters/__pycache__/sax.cpython-38.pyc b/venv/lib/python3.8/site-packages/html5lib/treeadapters/__pycache__/sax.cpython-38.pyc new file mode 100644 index 0000000..e417d2f Binary files /dev/null and b/venv/lib/python3.8/site-packages/html5lib/treeadapters/__pycache__/sax.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/html5lib/treeadapters/genshi.py b/venv/lib/python3.8/site-packages/html5lib/treeadapters/genshi.py new file mode 120000 index 0000000..808957b --- /dev/null +++ b/venv/lib/python3.8/site-packages/html5lib/treeadapters/genshi.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/08/7d/bb/a40b032a6bb864690052bc2dcbbbb429ab862c26512cf33368edcce6fa \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/html5lib/treeadapters/sax.py b/venv/lib/python3.8/site-packages/html5lib/treeadapters/sax.py new file mode 120000 index 0000000..e1d5b8c --- /dev/null +++ b/venv/lib/python3.8/site-packages/html5lib/treeadapters/sax.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/04/a4/bc/c284139ca8aa79f7c7b310a152a2f8ab6651ff06f97dcf4c277cd00bcb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/html5lib/treebuilders/__init__.py b/venv/lib/python3.8/site-packages/html5lib/treebuilders/__init__.py new file mode 120000 index 0000000..e26cacb --- /dev/null +++ b/venv/lib/python3.8/site-packages/html5lib/treebuilders/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/03/2b/12/272bcf7e290230cb1356f6b1c2480389e10b0f975f47c149200baaee16 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/html5lib/treebuilders/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/html5lib/treebuilders/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..d61a906 Binary files /dev/null and b/venv/lib/python3.8/site-packages/html5lib/treebuilders/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/html5lib/treebuilders/__pycache__/base.cpython-38.pyc b/venv/lib/python3.8/site-packages/html5lib/treebuilders/__pycache__/base.cpython-38.pyc new file mode 100644 index 0000000..77371ed Binary files /dev/null and b/venv/lib/python3.8/site-packages/html5lib/treebuilders/__pycache__/base.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/html5lib/treebuilders/__pycache__/dom.cpython-38.pyc b/venv/lib/python3.8/site-packages/html5lib/treebuilders/__pycache__/dom.cpython-38.pyc new file mode 100644 index 0000000..a79ab30 Binary files /dev/null and b/venv/lib/python3.8/site-packages/html5lib/treebuilders/__pycache__/dom.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/html5lib/treebuilders/__pycache__/etree.cpython-38.pyc b/venv/lib/python3.8/site-packages/html5lib/treebuilders/__pycache__/etree.cpython-38.pyc new file mode 100644 index 0000000..1345024 Binary files /dev/null and b/venv/lib/python3.8/site-packages/html5lib/treebuilders/__pycache__/etree.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/html5lib/treebuilders/__pycache__/etree_lxml.cpython-38.pyc b/venv/lib/python3.8/site-packages/html5lib/treebuilders/__pycache__/etree_lxml.cpython-38.pyc new file mode 100644 index 0000000..5b8fc26 Binary files /dev/null and b/venv/lib/python3.8/site-packages/html5lib/treebuilders/__pycache__/etree_lxml.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/html5lib/treebuilders/base.py b/venv/lib/python3.8/site-packages/html5lib/treebuilders/base.py new file mode 120000 index 0000000..05d3926 --- /dev/null +++ b/venv/lib/python3.8/site-packages/html5lib/treebuilders/base.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a1/e6/4d/18407e92df746091951f4e606f96bc13b89db3601b630191b150a27969 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/html5lib/treebuilders/dom.py b/venv/lib/python3.8/site-packages/html5lib/treebuilders/dom.py new file mode 120000 index 0000000..fbd0add --- /dev/null +++ b/venv/lib/python3.8/site-packages/html5lib/treebuilders/dom.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/db/6c/21/6f40bbd735c8b1a8b999a9a0eaacc11228a070122f683cb802cc376add \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/html5lib/treebuilders/etree.py b/venv/lib/python3.8/site-packages/html5lib/treebuilders/etree.py new file mode 120000 index 0000000..e045f2b --- /dev/null +++ b/venv/lib/python3.8/site-packages/html5lib/treebuilders/etree.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/11/b9/87/c7ec10fb5d4c56e7133ed17b525f76fa640637751dbbf29f0e7f887e19 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/html5lib/treebuilders/etree_lxml.py b/venv/lib/python3.8/site-packages/html5lib/treebuilders/etree_lxml.py new file mode 120000 index 0000000..ffe928f --- /dev/null +++ b/venv/lib/python3.8/site-packages/html5lib/treebuilders/etree_lxml.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/39/ac/c3/1d918efeae059d5b380e1b38873ce7d89c0600eb3eadf57c2c0954196e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/html5lib/treewalkers/__init__.py b/venv/lib/python3.8/site-packages/html5lib/treewalkers/__init__.py new file mode 120000 index 0000000..08ce8c3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/html5lib/treewalkers/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/38/13/ed/7354d4e661b2cb5f100ccc4a132604cf4c3115450d8f9bf4f978266216 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/html5lib/treewalkers/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/html5lib/treewalkers/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..de3e756 Binary files /dev/null and b/venv/lib/python3.8/site-packages/html5lib/treewalkers/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/html5lib/treewalkers/__pycache__/base.cpython-38.pyc b/venv/lib/python3.8/site-packages/html5lib/treewalkers/__pycache__/base.cpython-38.pyc new file mode 100644 index 0000000..d2cf93d Binary files /dev/null and b/venv/lib/python3.8/site-packages/html5lib/treewalkers/__pycache__/base.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/html5lib/treewalkers/__pycache__/dom.cpython-38.pyc b/venv/lib/python3.8/site-packages/html5lib/treewalkers/__pycache__/dom.cpython-38.pyc new file mode 100644 index 0000000..5ca766c Binary files /dev/null and b/venv/lib/python3.8/site-packages/html5lib/treewalkers/__pycache__/dom.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/html5lib/treewalkers/__pycache__/etree.cpython-38.pyc b/venv/lib/python3.8/site-packages/html5lib/treewalkers/__pycache__/etree.cpython-38.pyc new file mode 100644 index 0000000..7f54ab1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/html5lib/treewalkers/__pycache__/etree.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/html5lib/treewalkers/__pycache__/etree_lxml.cpython-38.pyc b/venv/lib/python3.8/site-packages/html5lib/treewalkers/__pycache__/etree_lxml.cpython-38.pyc new file mode 100644 index 0000000..a95ebaf Binary files /dev/null and b/venv/lib/python3.8/site-packages/html5lib/treewalkers/__pycache__/etree_lxml.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/html5lib/treewalkers/__pycache__/genshi.cpython-38.pyc b/venv/lib/python3.8/site-packages/html5lib/treewalkers/__pycache__/genshi.cpython-38.pyc new file mode 100644 index 0000000..3329d9e Binary files /dev/null and b/venv/lib/python3.8/site-packages/html5lib/treewalkers/__pycache__/genshi.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/html5lib/treewalkers/base.py b/venv/lib/python3.8/site-packages/html5lib/treewalkers/base.py new file mode 120000 index 0000000..8e9971f --- /dev/null +++ b/venv/lib/python3.8/site-packages/html5lib/treewalkers/base.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a2/e8/8e/b2e4b3bc8d0a8337563fc3e5c4869236cf5f6a585b8a29c011cfd42096 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/html5lib/treewalkers/dom.py b/venv/lib/python3.8/site-packages/html5lib/treewalkers/dom.py new file mode 120000 index 0000000..ed7d180 --- /dev/null +++ b/venv/lib/python3.8/site-packages/html5lib/treewalkers/dom.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/10/7c/85/47c0fc958367c8353d971fc82a2815251c9e7141ae6b498e8bb1c1ba47 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/html5lib/treewalkers/etree.py b/venv/lib/python3.8/site-packages/html5lib/treewalkers/etree.py new file mode 120000 index 0000000..4654ae2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/html5lib/treewalkers/etree.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/82/40/f8/b5f11f4563ec106be01c72716662995d4bc1cd5546cf7bf90bf30888e1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/html5lib/treewalkers/etree_lxml.py b/venv/lib/python3.8/site-packages/html5lib/treewalkers/etree_lxml.py new file mode 120000 index 0000000..84c9be6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/html5lib/treewalkers/etree_lxml.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/78/b7/9d/6e7ea73e396979b89bb165628decbb584a730f0c54dee6f0528b9d06e0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/html5lib/treewalkers/genshi.py b/venv/lib/python3.8/site-packages/html5lib/treewalkers/genshi.py new file mode 120000 index 0000000..3ca1fb6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/html5lib/treewalkers/genshi.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e0/3d/8f/1026799f764ddeabb78cc97dc98ec1f358e7400a414125657da22e61b0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/idna-3.4.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/idna-3.4.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/idna-3.4.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/idna-3.4.dist-info/LICENSE.md b/venv/lib/python3.8/site-packages/idna-3.4.dist-info/LICENSE.md new file mode 120000 index 0000000..2e82bc9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/idna-3.4.dist-info/LICENSE.md @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a2/d6/e4/d940bd24dbe7b9645cde19a9792cc51db7ae0d5acd301ac860caa3e836 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/idna-3.4.dist-info/METADATA b/venv/lib/python3.8/site-packages/idna-3.4.dist-info/METADATA new file mode 120000 index 0000000..966a731 --- /dev/null +++ b/venv/lib/python3.8/site-packages/idna-3.4.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f1/a2/d2/7fd3054bba01dbaa59876869ae0ede269d1425273edeba5ffdebe9e030 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/idna-3.4.dist-info/RECORD b/venv/lib/python3.8/site-packages/idna-3.4.dist-info/RECORD new file mode 100644 index 0000000..d3f1852 --- /dev/null +++ b/venv/lib/python3.8/site-packages/idna-3.4.dist-info/RECORD @@ -0,0 +1,22 @@ +idna-3.4.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +idna-3.4.dist-info/LICENSE.md,sha256=otbk2UC9JNvnuWRc3hmpeSzFHbeuDVrNMBrIYMqj6DY,1523 +idna-3.4.dist-info/METADATA,sha256=8aLSf9MFS7oB26pZh2hprg7eJp0UJSc-3rpf_evp4DA,9830 +idna-3.4.dist-info/RECORD,, +idna-3.4.dist-info/WHEEL,sha256=4TfKIB_xu-04bc2iKz6_zFt-gEFEEDU_31HGhqzOCE8,81 +idna/__init__.py,sha256=KJQN1eQBr8iIK5SKrJ47lXvxG0BJ7Lm38W4zT0v_8lk,849 +idna/__pycache__/__init__.cpython-38.pyc,, +idna/__pycache__/codec.cpython-38.pyc,, +idna/__pycache__/compat.cpython-38.pyc,, +idna/__pycache__/core.cpython-38.pyc,, +idna/__pycache__/idnadata.cpython-38.pyc,, +idna/__pycache__/intranges.cpython-38.pyc,, +idna/__pycache__/package_data.cpython-38.pyc,, +idna/__pycache__/uts46data.cpython-38.pyc,, +idna/codec.py,sha256=6ly5odKfqrytKT9_7UrlGklHnf1DSK2r9C6cSM4sa28,3374 +idna/compat.py,sha256=0_sOEUMT4CVw9doD3vyRhX80X19PwqFoUBs7gWsFME4,321 +idna/core.py,sha256=1JxchwKzkxBSn7R_oCE12oBu3eVux0VzdxolmIad24M,12950 +idna/idnadata.py,sha256=xUjqKqiJV8Ho_XzBpAtv5JFoVPSupK-SUXvtjygUHqw,44375 +idna/intranges.py,sha256=YBr4fRYuWH7kTKS2tXlFjM24ZF1Pdvcir-aywniInqg,1881 +idna/package_data.py,sha256=C_jHJzmX8PI4xq0jpzmcTMxpb5lDsq4o5VyxQzlVrZE,21 +idna/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +idna/uts46data.py,sha256=zvjZU24s58_uAS850Mcd0NnD0X7_gCMAMjzWNIeUJdc,206539 diff --git a/venv/lib/python3.8/site-packages/idna-3.4.dist-info/WHEEL b/venv/lib/python3.8/site-packages/idna-3.4.dist-info/WHEEL new file mode 120000 index 0000000..988b552 --- /dev/null +++ b/venv/lib/python3.8/site-packages/idna-3.4.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e1/37/ca/201ff1bbed386dcda22b3ebfcc5b7e80414410353fdf51c686acce084f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/idna/__init__.py b/venv/lib/python3.8/site-packages/idna/__init__.py new file mode 120000 index 0000000..913d7a6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/idna/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/28/94/0d/d5e401afc8882b948aac9e3b957bf11b4049ecb9b7f16e334f4bfff259 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/idna/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/idna/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..7316ac5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/idna/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/idna/__pycache__/codec.cpython-38.pyc b/venv/lib/python3.8/site-packages/idna/__pycache__/codec.cpython-38.pyc new file mode 100644 index 0000000..78968b9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/idna/__pycache__/codec.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/idna/__pycache__/compat.cpython-38.pyc b/venv/lib/python3.8/site-packages/idna/__pycache__/compat.cpython-38.pyc new file mode 100644 index 0000000..2448c90 Binary files /dev/null and b/venv/lib/python3.8/site-packages/idna/__pycache__/compat.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/idna/__pycache__/core.cpython-38.pyc b/venv/lib/python3.8/site-packages/idna/__pycache__/core.cpython-38.pyc new file mode 100644 index 0000000..fbc14bd Binary files /dev/null and b/venv/lib/python3.8/site-packages/idna/__pycache__/core.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/idna/__pycache__/idnadata.cpython-38.pyc b/venv/lib/python3.8/site-packages/idna/__pycache__/idnadata.cpython-38.pyc new file mode 100644 index 0000000..92735ea Binary files /dev/null and b/venv/lib/python3.8/site-packages/idna/__pycache__/idnadata.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/idna/__pycache__/intranges.cpython-38.pyc b/venv/lib/python3.8/site-packages/idna/__pycache__/intranges.cpython-38.pyc new file mode 100644 index 0000000..03eea52 Binary files /dev/null and b/venv/lib/python3.8/site-packages/idna/__pycache__/intranges.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/idna/__pycache__/package_data.cpython-38.pyc b/venv/lib/python3.8/site-packages/idna/__pycache__/package_data.cpython-38.pyc new file mode 100644 index 0000000..bb848cd Binary files /dev/null and b/venv/lib/python3.8/site-packages/idna/__pycache__/package_data.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/idna/__pycache__/uts46data.cpython-38.pyc b/venv/lib/python3.8/site-packages/idna/__pycache__/uts46data.cpython-38.pyc new file mode 100644 index 0000000..97ef3cc Binary files /dev/null and b/venv/lib/python3.8/site-packages/idna/__pycache__/uts46data.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/idna/codec.py b/venv/lib/python3.8/site-packages/idna/codec.py new file mode 120000 index 0000000..5f4210d --- /dev/null +++ b/venv/lib/python3.8/site-packages/idna/codec.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ea/5c/b9/a1d29faabcad293f7fed4ae51a49479dfd4348adabf42e9c48ce2c6b6f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/idna/compat.py b/venv/lib/python3.8/site-packages/idna/compat.py new file mode 120000 index 0000000..5766610 --- /dev/null +++ b/venv/lib/python3.8/site-packages/idna/compat.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d3/fb/0e/114313e02570f5da03defc91857f345f5f4fc2a168501b3b816b05304e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/idna/core.py b/venv/lib/python3.8/site-packages/idna/core.py new file mode 120000 index 0000000..fc2ac5d --- /dev/null +++ b/venv/lib/python3.8/site-packages/idna/core.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d4/9c/5c/8702b39310529fb47fa02135da806edde56ec74573771a2598869ddb83 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/idna/idnadata.py b/venv/lib/python3.8/site-packages/idna/idnadata.py new file mode 120000 index 0000000..aa79204 --- /dev/null +++ b/venv/lib/python3.8/site-packages/idna/idnadata.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c5/48/ea/2aa88957c1e8fd7cc1a40b6fe4916854f4aea4af92517bed8f28141eac \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/idna/intranges.py b/venv/lib/python3.8/site-packages/idna/intranges.py new file mode 120000 index 0000000..096f1d4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/idna/intranges.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/60/1a/f8/7d162e587ee44ca4b6b579458ccdb8645d4f76f722afe6b2c278889ea8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/idna/package_data.py b/venv/lib/python3.8/site-packages/idna/package_data.py new file mode 120000 index 0000000..fed7324 --- /dev/null +++ b/venv/lib/python3.8/site-packages/idna/package_data.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0b/f8/c7/273997f0f238c6ad23a7399c4ccc696f9943b2ae28e55cb1433955ad91 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/idna/py.typed b/venv/lib/python3.8/site-packages/idna/py.typed new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/idna/py.typed @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/idna/uts46data.py b/venv/lib/python3.8/site-packages/idna/uts46data.py new file mode 120000 index 0000000..fda634b --- /dev/null +++ b/venv/lib/python3.8/site-packages/idna/uts46data.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ce/f8/d9/536e2ce7cfee012f39d0c71dd0d9c3d17eff802300323cd634879425d7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/importlib_metadata-5.0.0.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/importlib_metadata-5.0.0.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/importlib_metadata-5.0.0.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/importlib_metadata-5.0.0.dist-info/LICENSE b/venv/lib/python3.8/site-packages/importlib_metadata-5.0.0.dist-info/LICENSE new file mode 120000 index 0000000..acbcd57 --- /dev/null +++ b/venv/lib/python3.8/site-packages/importlib_metadata-5.0.0.dist-info/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cf/c7/74/9b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/importlib_metadata-5.0.0.dist-info/METADATA b/venv/lib/python3.8/site-packages/importlib_metadata-5.0.0.dist-info/METADATA new file mode 100644 index 0000000..829da26 --- /dev/null +++ b/venv/lib/python3.8/site-packages/importlib_metadata-5.0.0.dist-info/METADATA @@ -0,0 +1,135 @@ +Metadata-Version: 2.1 +Name: importlib-metadata +Version: 5.0.0 +Summary: Read metadata from Python packages +Home-page: https://github.com/python/importlib_metadata +Author: Jason R. Coombs +Author-email: jaraco@jaraco.com +Classifier: Development Status :: 5 - Production/Stable +Classifier: Intended Audience :: Developers +Classifier: License :: OSI Approved :: Apache Software License +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3 :: Only +Requires-Python: >=3.7 +License-File: LICENSE +Requires-Dist: zipp (>=0.5) +Requires-Dist: typing-extensions (>=3.6.4) ; python_version < "3.8" +Provides-Extra: docs +Requires-Dist: sphinx (>=3.5) ; extra == 'docs' +Requires-Dist: jaraco.packaging (>=9) ; extra == 'docs' +Requires-Dist: rst.linker (>=1.9) ; extra == 'docs' +Requires-Dist: furo ; extra == 'docs' +Requires-Dist: jaraco.tidelift (>=1.4) ; extra == 'docs' +Provides-Extra: perf +Requires-Dist: ipython ; extra == 'perf' +Provides-Extra: testing +Requires-Dist: pytest (>=6) ; extra == 'testing' +Requires-Dist: pytest-checkdocs (>=2.4) ; extra == 'testing' +Requires-Dist: pytest-flake8 ; extra == 'testing' +Requires-Dist: flake8 (<5) ; extra == 'testing' +Requires-Dist: pytest-cov ; extra == 'testing' +Requires-Dist: pytest-enabler (>=1.3) ; extra == 'testing' +Requires-Dist: packaging ; extra == 'testing' +Requires-Dist: pyfakefs ; extra == 'testing' +Requires-Dist: flufl.flake8 ; extra == 'testing' +Requires-Dist: pytest-perf (>=0.9.2) ; extra == 'testing' +Requires-Dist: pytest-black (>=0.3.7) ; (platform_python_implementation != "PyPy") and extra == 'testing' +Requires-Dist: pytest-mypy (>=0.9.1) ; (platform_python_implementation != "PyPy") and extra == 'testing' +Requires-Dist: importlib-resources (>=1.3) ; (python_version < "3.9") and extra == 'testing' + +.. image:: https://img.shields.io/pypi/v/importlib_metadata.svg + :target: `PyPI link`_ + +.. image:: https://img.shields.io/pypi/pyversions/importlib_metadata.svg + :target: `PyPI link`_ + +.. _PyPI link: https://pypi.org/project/importlib_metadata + +.. image:: https://github.com/python/importlib_metadata/workflows/tests/badge.svg + :target: https://github.com/python/importlib_metadata/actions?query=workflow%3A%22tests%22 + :alt: tests + +.. image:: https://img.shields.io/badge/code%20style-black-000000.svg + :target: https://github.com/psf/black + :alt: Code style: Black + +.. image:: https://readthedocs.org/projects/importlib-metadata/badge/?version=latest + :target: https://importlib-metadata.readthedocs.io/en/latest/?badge=latest + +.. image:: https://img.shields.io/badge/skeleton-2022-informational + :target: https://blog.jaraco.com/skeleton + +.. image:: https://tidelift.com/badges/package/pypi/importlib-metadata + :target: https://tidelift.com/subscription/pkg/pypi-importlib-metadata?utm_source=pypi-importlib-metadata&utm_medium=readme + +Library to access the metadata for a Python package. + +This package supplies third-party access to the functionality of +`importlib.metadata `_ +including improvements added to subsequent Python versions. + + +Compatibility +============= + +New features are introduced in this third-party library and later merged +into CPython. The following table indicates which versions of this library +were contributed to different versions in the standard library: + +.. list-table:: + :header-rows: 1 + + * - importlib_metadata + - stdlib + * - 4.8 + - 3.11 + * - 4.4 + - 3.10 + * - 1.4 + - 3.8 + + +Usage +===== + +See the `online documentation `_ +for usage details. + +`Finder authors +`_ can +also add support for custom package installers. See the above documentation +for details. + + +Caveats +======= + +This project primarily supports third-party packages installed by PyPA +tools (or other conforming packages). It does not support: + +- Packages in the stdlib. +- Packages installed without metadata. + +Project details +=============== + + * Project home: https://github.com/python/importlib_metadata + * Report bugs at: https://github.com/python/importlib_metadata/issues + * Code hosting: https://github.com/python/importlib_metadata + * Documentation: https://importlib_metadata.readthedocs.io/ + +For Enterprise +============== + +Available as part of the Tidelift Subscription. + +This project and the maintainers of thousands of other packages are working with Tidelift to deliver one enterprise subscription that covers all of the open source you use. + +`Learn more `_. + +Security Contact +================ + +To report a security vulnerability, please use the +`Tidelift security contact `_. +Tidelift will coordinate the fix and disclosure. diff --git a/venv/lib/python3.8/site-packages/importlib_metadata-5.0.0.dist-info/RECORD b/venv/lib/python3.8/site-packages/importlib_metadata-5.0.0.dist-info/RECORD new file mode 100644 index 0000000..01446d9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/importlib_metadata-5.0.0.dist-info/RECORD @@ -0,0 +1,27 @@ +importlib_metadata-5.0.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +importlib_metadata-5.0.0.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358 +importlib_metadata-5.0.0.dist-info/METADATA,sha256=VJrUEwmWzjS9mnf691FLS-LTQeL_TmgH5RR2F3g_WsE,4913 +importlib_metadata-5.0.0.dist-info/RECORD,, +importlib_metadata-5.0.0.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +importlib_metadata-5.0.0.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92 +importlib_metadata-5.0.0.dist-info/direct_url.json,sha256=CgftqnZnsKe2u-fuD-ELyI9SAE9eSeR6iI7ALdUf5u8,260 +importlib_metadata-5.0.0.dist-info/top_level.txt,sha256=CO3fD9yylANiXkrMo4qHLV_mqXL2sC5JFKgt1yWAT-A,19 +importlib_metadata/__init__.py,sha256=aJ6-g7EoQlYrm2qN0nveVpOLv2WH0qch1DWDZJvMd7M,26477 +importlib_metadata/__pycache__/__init__.cpython-38.pyc,, +importlib_metadata/__pycache__/_adapters.cpython-38.pyc,, +importlib_metadata/__pycache__/_collections.cpython-38.pyc,, +importlib_metadata/__pycache__/_compat.cpython-38.pyc,, +importlib_metadata/__pycache__/_functools.cpython-38.pyc,, +importlib_metadata/__pycache__/_itertools.cpython-38.pyc,, +importlib_metadata/__pycache__/_meta.cpython-38.pyc,, +importlib_metadata/__pycache__/_py39compat.cpython-38.pyc,, +importlib_metadata/__pycache__/_text.cpython-38.pyc,, +importlib_metadata/_adapters.py,sha256=B6fCi5-8mLVDFUZj3krI5nAo-mKp1dH_qIavyIyFrJs,1862 +importlib_metadata/_collections.py,sha256=CJ0OTCHIjWA0ZIVS4voORAsn2R4R2cQBEtPsZEJpASY,743 +importlib_metadata/_compat.py,sha256=9zOKf0eDgkCMnnaEhU5kQVxHd1P8BIYV7Stso7av5h8,1857 +importlib_metadata/_functools.py,sha256=PsY2-4rrKX4RVeRC1oGp1lB1pmC9eKN88_f-bD9uOoA,2895 +importlib_metadata/_itertools.py,sha256=cvr_2v8BRbxcIl5x5ldfqdHjhI8Yi8s8yk50G_nm6jQ,2068 +importlib_metadata/_meta.py,sha256=_F48Hu_jFxkfKWz5wcYS8vO23qEygbVdF9r-6qh-hjE,1154 +importlib_metadata/_py39compat.py,sha256=wEUps-HX4E7j_L0IcPsGXxsD1VJ-h4q3acDFg9rpu-c,1754 +importlib_metadata/_text.py,sha256=HCsFksZpJLeTP3NEk_ngrAeXVRRtTrtyh9eOABoRP4A,2166 +importlib_metadata/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 diff --git a/venv/lib/python3.8/site-packages/importlib_metadata-5.0.0.dist-info/REQUESTED b/venv/lib/python3.8/site-packages/importlib_metadata-5.0.0.dist-info/REQUESTED new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.8/site-packages/importlib_metadata-5.0.0.dist-info/WHEEL b/venv/lib/python3.8/site-packages/importlib_metadata-5.0.0.dist-info/WHEEL new file mode 120000 index 0000000..7e89bc1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/importlib_metadata-5.0.0.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1b/5e/87/e00dc87a84269cead8578b9e6462928e18a95f1f3373c9eef451a5bcc0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/importlib_metadata-5.0.0.dist-info/direct_url.json b/venv/lib/python3.8/site-packages/importlib_metadata-5.0.0.dist-info/direct_url.json new file mode 100644 index 0000000..3390111 --- /dev/null +++ b/venv/lib/python3.8/site-packages/importlib_metadata-5.0.0.dist-info/direct_url.json @@ -0,0 +1 @@ +{"archive_info": {"hash": "sha256=ddb0e35065e8938f867ed4928d0ae5bf2a53b7773871bfe6bcc7e4fcdc7dea43"}, "url": "https://files.pythonhosted.org/packages/b5/64/ef29a63cf08f047bb7fb22ab0f1f774b87eed0bb46d067a5a524798a4af8/importlib_metadata-5.0.0-py3-none-any.whl"} \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/importlib_metadata-5.0.0.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/importlib_metadata-5.0.0.dist-info/top_level.txt new file mode 120000 index 0000000..2459d98 --- /dev/null +++ b/venv/lib/python3.8/site-packages/importlib_metadata-5.0.0.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/08/ed/df/0fdcb29403625e4acca38a872d5fe6a972f6b02e4914a82dd725804fe0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/importlib_metadata/__init__.py b/venv/lib/python3.8/site-packages/importlib_metadata/__init__.py new file mode 120000 index 0000000..73cefe9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/importlib_metadata/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/68/9e/be/83b12842562b9b6a8dd27bde56938bbf6587d2a721d43583649bcc77b3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/importlib_metadata/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/importlib_metadata/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..58d7a13 Binary files /dev/null and b/venv/lib/python3.8/site-packages/importlib_metadata/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/importlib_metadata/__pycache__/_adapters.cpython-38.pyc b/venv/lib/python3.8/site-packages/importlib_metadata/__pycache__/_adapters.cpython-38.pyc new file mode 100644 index 0000000..362ab0c Binary files /dev/null and b/venv/lib/python3.8/site-packages/importlib_metadata/__pycache__/_adapters.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/importlib_metadata/__pycache__/_collections.cpython-38.pyc b/venv/lib/python3.8/site-packages/importlib_metadata/__pycache__/_collections.cpython-38.pyc new file mode 100644 index 0000000..9b75cb8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/importlib_metadata/__pycache__/_collections.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/importlib_metadata/__pycache__/_compat.cpython-38.pyc b/venv/lib/python3.8/site-packages/importlib_metadata/__pycache__/_compat.cpython-38.pyc new file mode 100644 index 0000000..863dbdf Binary files /dev/null and b/venv/lib/python3.8/site-packages/importlib_metadata/__pycache__/_compat.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/importlib_metadata/__pycache__/_functools.cpython-38.pyc b/venv/lib/python3.8/site-packages/importlib_metadata/__pycache__/_functools.cpython-38.pyc new file mode 100644 index 0000000..533fa01 Binary files /dev/null and b/venv/lib/python3.8/site-packages/importlib_metadata/__pycache__/_functools.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/importlib_metadata/__pycache__/_itertools.cpython-38.pyc b/venv/lib/python3.8/site-packages/importlib_metadata/__pycache__/_itertools.cpython-38.pyc new file mode 100644 index 0000000..bb393bb Binary files /dev/null and b/venv/lib/python3.8/site-packages/importlib_metadata/__pycache__/_itertools.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/importlib_metadata/__pycache__/_meta.cpython-38.pyc b/venv/lib/python3.8/site-packages/importlib_metadata/__pycache__/_meta.cpython-38.pyc new file mode 100644 index 0000000..4faca9a Binary files /dev/null and b/venv/lib/python3.8/site-packages/importlib_metadata/__pycache__/_meta.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/importlib_metadata/__pycache__/_py39compat.cpython-38.pyc b/venv/lib/python3.8/site-packages/importlib_metadata/__pycache__/_py39compat.cpython-38.pyc new file mode 100644 index 0000000..84bb8c6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/importlib_metadata/__pycache__/_py39compat.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/importlib_metadata/__pycache__/_text.cpython-38.pyc b/venv/lib/python3.8/site-packages/importlib_metadata/__pycache__/_text.cpython-38.pyc new file mode 100644 index 0000000..028cc06 Binary files /dev/null and b/venv/lib/python3.8/site-packages/importlib_metadata/__pycache__/_text.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/importlib_metadata/_adapters.py b/venv/lib/python3.8/site-packages/importlib_metadata/_adapters.py new file mode 120000 index 0000000..e1c665b --- /dev/null +++ b/venv/lib/python3.8/site-packages/importlib_metadata/_adapters.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/07/a7/c2/8b9fbc98b543154663de4ac8e67028fa62a9d5d1ffa886afc88c85ac9b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/importlib_metadata/_collections.py b/venv/lib/python3.8/site-packages/importlib_metadata/_collections.py new file mode 120000 index 0000000..d67a71b --- /dev/null +++ b/venv/lib/python3.8/site-packages/importlib_metadata/_collections.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/08/9d/0e/4c21c88d6034648552e2fa0e440b27d91e11d9c40112d3ec6442690126 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/importlib_metadata/_compat.py b/venv/lib/python3.8/site-packages/importlib_metadata/_compat.py new file mode 120000 index 0000000..a6a057b --- /dev/null +++ b/venv/lib/python3.8/site-packages/importlib_metadata/_compat.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f7/33/8a/7f478382408c9e7684854e64415c477753fc048615ed2b6ca3b6afe61f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/importlib_metadata/_functools.py b/venv/lib/python3.8/site-packages/importlib_metadata/_functools.py new file mode 120000 index 0000000..2197c7e --- /dev/null +++ b/venv/lib/python3.8/site-packages/importlib_metadata/_functools.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3e/c6/36/fb8aeb297e1155e442d681a9d65075a660bd78a37cf3f7fe6c3f6e3a80 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/importlib_metadata/_itertools.py b/venv/lib/python3.8/site-packages/importlib_metadata/_itertools.py new file mode 120000 index 0000000..cd205ec --- /dev/null +++ b/venv/lib/python3.8/site-packages/importlib_metadata/_itertools.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/72/fa/ff/daff0145bc5c225e71e6575fa9d1e3848f188bcb3cca4e741bf9e6ea34 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/importlib_metadata/_meta.py b/venv/lib/python3.8/site-packages/importlib_metadata/_meta.py new file mode 120000 index 0000000..b6606a5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/importlib_metadata/_meta.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fc/5e/3c/1eefe317191f296cf9c1c612f2f3b6dea13281b55d17dafeeaa87e8631 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/importlib_metadata/_py39compat.py b/venv/lib/python3.8/site-packages/importlib_metadata/_py39compat.py new file mode 120000 index 0000000..77ee061 --- /dev/null +++ b/venv/lib/python3.8/site-packages/importlib_metadata/_py39compat.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c0/45/29/b3e1d7e04ee3fcbd0870fb065f1b03d5527e878ab769c0c583dae9bbe7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/importlib_metadata/_text.py b/venv/lib/python3.8/site-packages/importlib_metadata/_text.py new file mode 120000 index 0000000..efe9095 --- /dev/null +++ b/venv/lib/python3.8/site-packages/importlib_metadata/_text.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1c/2b/05/92c66924b7933f734493f9e0ac079755146d4ebb7287d78e001a113f80 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/importlib_metadata/py.typed b/venv/lib/python3.8/site-packages/importlib_metadata/py.typed new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/importlib_metadata/py.typed @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/itsdangerous-2.1.2.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/itsdangerous-2.1.2.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/itsdangerous-2.1.2.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/itsdangerous-2.1.2.dist-info/LICENSE.rst b/venv/lib/python3.8/site-packages/itsdangerous-2.1.2.dist-info/LICENSE.rst new file mode 120000 index 0000000..b639072 --- /dev/null +++ b/venv/lib/python3.8/site-packages/itsdangerous-2.1.2.dist-info/LICENSE.rst @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/63/af/09/891b6be8ad1a4252ed43af0f4efba7fc948e228367bed7f3c5ae0b09d7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/itsdangerous-2.1.2.dist-info/METADATA b/venv/lib/python3.8/site-packages/itsdangerous-2.1.2.dist-info/METADATA new file mode 120000 index 0000000..1cea93f --- /dev/null +++ b/venv/lib/python3.8/site-packages/itsdangerous-2.1.2.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4e/1a/c7/20943fe9795f6c33020157bf85ac13ec85e22319d30480ebc31c6db9c4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/itsdangerous-2.1.2.dist-info/RECORD b/venv/lib/python3.8/site-packages/itsdangerous-2.1.2.dist-info/RECORD new file mode 100644 index 0000000..a03d187 --- /dev/null +++ b/venv/lib/python3.8/site-packages/itsdangerous-2.1.2.dist-info/RECORD @@ -0,0 +1,25 @@ +itsdangerous-2.1.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +itsdangerous-2.1.2.dist-info/LICENSE.rst,sha256=Y68JiRtr6K0aQlLtQ68PTvun_JSOIoNnvtfzxa4LCdc,1475 +itsdangerous-2.1.2.dist-info/METADATA,sha256=ThrHIJQ_6XlfbDMCAVe_hawT7IXiIxnTBIDrwxxtucQ,2928 +itsdangerous-2.1.2.dist-info/RECORD,, +itsdangerous-2.1.2.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +itsdangerous-2.1.2.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92 +itsdangerous-2.1.2.dist-info/direct_url.json,sha256=RPtoypHjdrolcCea6PioUszl2i4Rcc1E46J2I2MQ39I,254 +itsdangerous-2.1.2.dist-info/top_level.txt,sha256=gKN1OKLk81i7fbWWildJA88EQ9NhnGMSvZqhfz9ICjk,13 +itsdangerous/__init__.py,sha256=n4mkyjlIVn23pgsgCIw0MJKPdcHIetyeRpe5Fwsn8qg,876 +itsdangerous/__pycache__/__init__.cpython-38.pyc,, +itsdangerous/__pycache__/_json.cpython-38.pyc,, +itsdangerous/__pycache__/encoding.cpython-38.pyc,, +itsdangerous/__pycache__/exc.cpython-38.pyc,, +itsdangerous/__pycache__/serializer.cpython-38.pyc,, +itsdangerous/__pycache__/signer.cpython-38.pyc,, +itsdangerous/__pycache__/timed.cpython-38.pyc,, +itsdangerous/__pycache__/url_safe.cpython-38.pyc,, +itsdangerous/_json.py,sha256=wIhs_7-_XZolmyr-JvKNiy_LgAcfevYR0qhCVdlIhg8,450 +itsdangerous/encoding.py,sha256=pgh86snHC76dPLNCnPlrjR5SaYL_M8H-gWRiiLNbhCU,1419 +itsdangerous/exc.py,sha256=VFxmP2lMoSJFqxNMzWonqs35ROII4-fvCBfG0v1Tkbs,3206 +itsdangerous/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +itsdangerous/serializer.py,sha256=zgZ1-U705jHDpt62x_pmLJdryEKDNAbt5UkJtnkcCSw,11144 +itsdangerous/signer.py,sha256=QUH0iX0in-OTptMAXKU5zWMwmOCXn1fsDsubXiGdFN4,9367 +itsdangerous/timed.py,sha256=5CBWLds4Nm8-3bFVC8RxNzFjx6PSwjch8wuZ5cwcHFI,8174 +itsdangerous/url_safe.py,sha256=5bC4jSKOjWNRkWrFseifWVXUnHnPgwOLROjiOwb-eeo,2402 diff --git a/venv/lib/python3.8/site-packages/itsdangerous-2.1.2.dist-info/REQUESTED b/venv/lib/python3.8/site-packages/itsdangerous-2.1.2.dist-info/REQUESTED new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.8/site-packages/itsdangerous-2.1.2.dist-info/WHEEL b/venv/lib/python3.8/site-packages/itsdangerous-2.1.2.dist-info/WHEEL new file mode 120000 index 0000000..7e89bc1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/itsdangerous-2.1.2.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1b/5e/87/e00dc87a84269cead8578b9e6462928e18a95f1f3373c9eef451a5bcc0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/itsdangerous-2.1.2.dist-info/direct_url.json b/venv/lib/python3.8/site-packages/itsdangerous-2.1.2.dist-info/direct_url.json new file mode 100644 index 0000000..e9a277a --- /dev/null +++ b/venv/lib/python3.8/site-packages/itsdangerous-2.1.2.dist-info/direct_url.json @@ -0,0 +1 @@ +{"archive_info": {"hash": "sha256=2c2349112351b88699d8d4b6b075022c0808887cb7ad10069318a8b0bc88db44"}, "url": "https://files.pythonhosted.org/packages/68/5f/447e04e828f47465eeab35b5d408b7ebaaaee207f48b7136c5a7267a30ae/itsdangerous-2.1.2-py3-none-any.whl"} \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/itsdangerous-2.1.2.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/itsdangerous-2.1.2.dist-info/top_level.txt new file mode 120000 index 0000000..a289653 --- /dev/null +++ b/venv/lib/python3.8/site-packages/itsdangerous-2.1.2.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/80/a3/75/38a2e4f358bb7db5968a574903cf0443d3619c6312bd9aa17f3f480a39 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/itsdangerous/__init__.py b/venv/lib/python3.8/site-packages/itsdangerous/__init__.py new file mode 120000 index 0000000..3f96b3f --- /dev/null +++ b/venv/lib/python3.8/site-packages/itsdangerous/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9f/89/a4/ca3948567db7a60b20088c3430928f75c1c87adc9e4697b9170b27f2a8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/itsdangerous/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/itsdangerous/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..1e2ab12 Binary files /dev/null and b/venv/lib/python3.8/site-packages/itsdangerous/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/itsdangerous/__pycache__/_json.cpython-38.pyc b/venv/lib/python3.8/site-packages/itsdangerous/__pycache__/_json.cpython-38.pyc new file mode 100644 index 0000000..1cba3a5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/itsdangerous/__pycache__/_json.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/itsdangerous/__pycache__/encoding.cpython-38.pyc b/venv/lib/python3.8/site-packages/itsdangerous/__pycache__/encoding.cpython-38.pyc new file mode 100644 index 0000000..71c145a Binary files /dev/null and b/venv/lib/python3.8/site-packages/itsdangerous/__pycache__/encoding.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/itsdangerous/__pycache__/exc.cpython-38.pyc b/venv/lib/python3.8/site-packages/itsdangerous/__pycache__/exc.cpython-38.pyc new file mode 100644 index 0000000..89f87bf Binary files /dev/null and b/venv/lib/python3.8/site-packages/itsdangerous/__pycache__/exc.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/itsdangerous/__pycache__/serializer.cpython-38.pyc b/venv/lib/python3.8/site-packages/itsdangerous/__pycache__/serializer.cpython-38.pyc new file mode 100644 index 0000000..202a687 Binary files /dev/null and b/venv/lib/python3.8/site-packages/itsdangerous/__pycache__/serializer.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/itsdangerous/__pycache__/signer.cpython-38.pyc b/venv/lib/python3.8/site-packages/itsdangerous/__pycache__/signer.cpython-38.pyc new file mode 100644 index 0000000..3c36c98 Binary files /dev/null and b/venv/lib/python3.8/site-packages/itsdangerous/__pycache__/signer.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/itsdangerous/__pycache__/timed.cpython-38.pyc b/venv/lib/python3.8/site-packages/itsdangerous/__pycache__/timed.cpython-38.pyc new file mode 100644 index 0000000..619098e Binary files /dev/null and b/venv/lib/python3.8/site-packages/itsdangerous/__pycache__/timed.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/itsdangerous/__pycache__/url_safe.cpython-38.pyc b/venv/lib/python3.8/site-packages/itsdangerous/__pycache__/url_safe.cpython-38.pyc new file mode 100644 index 0000000..c7a66b8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/itsdangerous/__pycache__/url_safe.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/itsdangerous/_json.py b/venv/lib/python3.8/site-packages/itsdangerous/_json.py new file mode 120000 index 0000000..f0dc5b1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/itsdangerous/_json.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c0/88/6c/ffbfbf5d9a259b2afe26f28d8b2fcb80071f7af611d2a84255d948860f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/itsdangerous/encoding.py b/venv/lib/python3.8/site-packages/itsdangerous/encoding.py new file mode 120000 index 0000000..82b695e --- /dev/null +++ b/venv/lib/python3.8/site-packages/itsdangerous/encoding.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a6/08/7c/eac9c70bbe9d3cb3429cf96b8d1e526982ff33c1fe81646288b35b8425 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/itsdangerous/exc.py b/venv/lib/python3.8/site-packages/itsdangerous/exc.py new file mode 120000 index 0000000..4b8cc2f --- /dev/null +++ b/venv/lib/python3.8/site-packages/itsdangerous/exc.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/54/5c/66/3f694ca12245ab134ccd6a27aacdf944e208e3e7ef0817c6d2fd5391bb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/itsdangerous/py.typed b/venv/lib/python3.8/site-packages/itsdangerous/py.typed new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/itsdangerous/py.typed @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/itsdangerous/serializer.py b/venv/lib/python3.8/site-packages/itsdangerous/serializer.py new file mode 120000 index 0000000..d1250a8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/itsdangerous/serializer.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ce/06/75/f94ef4e631c3a6deb6c7fa662c976bc842833406ede54909b6791c092c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/itsdangerous/signer.py b/venv/lib/python3.8/site-packages/itsdangerous/signer.py new file mode 120000 index 0000000..e9606a2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/itsdangerous/signer.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/41/41/f4/897d229fe393a6d3005ca539cd633098e0979f57ec0ecb9b5e219d14de \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/itsdangerous/timed.py b/venv/lib/python3.8/site-packages/itsdangerous/timed.py new file mode 120000 index 0000000..0d3e561 --- /dev/null +++ b/venv/lib/python3.8/site-packages/itsdangerous/timed.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e4/20/56/2ddb38366f3eddb1550bc471373163c7a3d2c23721f30b99e5cc1c1c52 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/itsdangerous/url_safe.py b/venv/lib/python3.8/site-packages/itsdangerous/url_safe.py new file mode 120000 index 0000000..629444c --- /dev/null +++ b/venv/lib/python3.8/site-packages/itsdangerous/url_safe.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e5/b0/b8/8d228e8d6351916ac5b1e89f5955d49c79cf83038b44e8e23b06fe79ea \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi-0.18.1.dist-info/AUTHORS.txt b/venv/lib/python3.8/site-packages/jedi-0.18.1.dist-info/AUTHORS.txt new file mode 120000 index 0000000..6ac0ad8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi-0.18.1.dist-info/AUTHORS.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/db/45/51/2be0e1c9f516925d991f37315408776f2d470eaf8f4536a4edfdb907f6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi-0.18.1.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/jedi-0.18.1.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi-0.18.1.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/jedi-0.18.1.dist-info/LICENSE.txt b/venv/lib/python3.8/site-packages/jedi-0.18.1.dist-info/LICENSE.txt new file mode 120000 index 0000000..5aeaf3d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi-0.18.1.dist-info/LICENSE.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/78/e6/0c/d0b8f28694f30195482c33d76908d846b0d15278deb7332aa22ba8e412 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi-0.18.1.dist-info/METADATA b/venv/lib/python3.8/site-packages/jedi-0.18.1.dist-info/METADATA new file mode 120000 index 0000000..0f51762 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi-0.18.1.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0f/18/19/0626dc9bd3ed53bd8d167938a2b32b1cea28e99bdacd4711b139324df5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi-0.18.1.dist-info/RECORD b/venv/lib/python3.8/site-packages/jedi-0.18.1.dist-info/RECORD new file mode 100644 index 0000000..0701b9b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi-0.18.1.dist-info/RECORD @@ -0,0 +1,1967 @@ +jedi-0.18.1.dist-info/AUTHORS.txt,sha256=20VRK-DhyfUWkl2ZHzcxVAh3by1HDq-PRTak7f25B_Y,2478 +jedi-0.18.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +jedi-0.18.1.dist-info/LICENSE.txt,sha256=eOYM0LjyhpTzAZVILDPXaQjYRrDRUnjetzMqoiuo5BI,1241 +jedi-0.18.1.dist-info/METADATA,sha256=DxgZBibcm9PtU72NFnk4orMrHOoo6ZvazUcRsTkyTfU,20269 +jedi-0.18.1.dist-info/RECORD,, +jedi-0.18.1.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi-0.18.1.dist-info/WHEEL,sha256=kGT74LWyRUZrL4VgLh6_g12IeVl_9u9ZVhadrgXZUEY,110 +jedi-0.18.1.dist-info/direct_url.json,sha256=HqUS98rQjmAvPmBOLHdYJ0nt1sQ_dMvksvb7GW6_T6w,251 +jedi-0.18.1.dist-info/top_level.txt,sha256=SqNj9U77yOn5Zf4Ji6CqL8-D2eNg_F71GHo8V8SMV04,5 +jedi/__init__.py,sha256=ss_QDI_xMQIvJ14DC6CwkfGgiW1tP77jEfvXcr3Vybk,1486 +jedi/__main__.py,sha256=SONRAB5KoCcU3DRfUZhWWFG8n_fs7Rls-bzzM4VWqD0,1950 +jedi/__pycache__/__init__.cpython-38.pyc,, +jedi/__pycache__/__main__.cpython-38.pyc,, +jedi/__pycache__/_compatibility.cpython-38.pyc,, +jedi/__pycache__/cache.cpython-38.pyc,, +jedi/__pycache__/common.cpython-38.pyc,, +jedi/__pycache__/debug.cpython-38.pyc,, +jedi/__pycache__/file_io.cpython-38.pyc,, +jedi/__pycache__/parser_utils.cpython-38.pyc,, +jedi/__pycache__/settings.cpython-38.pyc,, +jedi/__pycache__/utils.cpython-38.pyc,, +jedi/_compatibility.py,sha256=uSI5oS3axM4l5qnr64Qe5nxHA3zGe2QBaTC4rAdRMls,918 +jedi/api/__init__.py,sha256=nYey7Au1LXXz4z64YQR0PVgXwM3Yx6lES25BmdoKnaM,31271 +jedi/api/__pycache__/__init__.cpython-38.pyc,, +jedi/api/__pycache__/classes.cpython-38.pyc,, +jedi/api/__pycache__/completion.cpython-38.pyc,, +jedi/api/__pycache__/completion_cache.cpython-38.pyc,, +jedi/api/__pycache__/environment.cpython-38.pyc,, +jedi/api/__pycache__/errors.cpython-38.pyc,, +jedi/api/__pycache__/exceptions.cpython-38.pyc,, +jedi/api/__pycache__/file_name.cpython-38.pyc,, +jedi/api/__pycache__/helpers.cpython-38.pyc,, +jedi/api/__pycache__/interpreter.cpython-38.pyc,, +jedi/api/__pycache__/keywords.cpython-38.pyc,, +jedi/api/__pycache__/project.cpython-38.pyc,, +jedi/api/__pycache__/replstartup.cpython-38.pyc,, +jedi/api/__pycache__/strings.cpython-38.pyc,, +jedi/api/classes.py,sha256=kuHamCk6drdONF_IgeqXBArM3w9XMPuLMtqx7LD2jfw,29637 +jedi/api/completion.py,sha256=rx9NFRmQNPSZETe3sC453v5VcfYZIX0BF23kwz4-R44,27191 +jedi/api/completion_cache.py,sha256=UOaBWoCsSLjyOiDEWHlUwgDiMCY2Rn2J2zMeI_s5lCM,954 +jedi/api/environment.py,sha256=gZJ_jtqk8U26LZLXg6zEew2QIXBXQspPCTbEGPAdv38,16956 +jedi/api/errors.py,sha256=jvJvx0Sk8mWLQagxZlZuDszOrQ8DYenfViZrlgWUdeU,1253 +jedi/api/exceptions.py,sha256=mJ4eBaYkHh5QB5CZ_D4BkCrQp6l2Put7-dIEUZu8wTU,991 +jedi/api/file_name.py,sha256=xlevCfp9B5hUsR94AH09tg4Qn1YXkGxM92uQPf8WpTw,5620 +jedi/api/helpers.py,sha256=JgeRO7nedD54jbgOjzBbJnDpo7o0NGbyaNvJWzRz_P4,18944 +jedi/api/interpreter.py,sha256=BQrbeTG2uKT3YtJxVria3raXqiCvYj-wl3nSxWvqOkU,2415 +jedi/api/keywords.py,sha256=bBj6gP7Sa9Fd_aDc3bRAgtSARLPY1xcYqGg8-qQwFcQ,1283 +jedi/api/project.py,sha256=qEZewDa5osnvmr0pO_M3jcBUMRu2PswuiybApVb1niQ,16613 +jedi/api/refactoring/__init__.py,sha256=4-_5mXa5lCfVuwICrXZ-bcOu-4mTll91KKY46YGiKNs,8820 +jedi/api/refactoring/__pycache__/__init__.cpython-38.pyc,, +jedi/api/refactoring/__pycache__/extract.cpython-38.pyc,, +jedi/api/refactoring/extract.py,sha256=u-IRD0BEVoMUDRTMRP9cD-R6DczHNsikaedOeThOBso,13933 +jedi/api/replstartup.py,sha256=o4FaVzt1PX05uHDITgu7NZkSiqMZbkdAI004b4BHy8g,950 +jedi/api/strings.py,sha256=quHhY42s1fkTvxk1Za_bIc1fLGLqK0YXk3rX1Y9asdA,3616 +jedi/cache.py,sha256=fHEukjwaHSOiE1Z6UG5HMg-mH5fzfOTILZsWvxRaDV8,3674 +jedi/common.py,sha256=jL8TzWZ6Wl5ovayygpX5-bruk6ibu_kq5mh6FZcSGkI,668 +jedi/debug.py,sha256=WuLOoaRBKfuKEf-mZIIbMSSu2LMQJEVUS2opXQMY5aU,3504 +jedi/file_io.py,sha256=yYnkY_nUnB7pSQAjWXFyCS_8IN3BuDlXmPIuZbklPoU,2337 +jedi/inference/__init__.py,sha256=oLUO6VkJ5H0Uf7153yF54lsYjdJzJFR8v4lmvHsBx50,8441 +jedi/inference/__pycache__/__init__.cpython-38.pyc,, +jedi/inference/__pycache__/analysis.cpython-38.pyc,, +jedi/inference/__pycache__/arguments.cpython-38.pyc,, +jedi/inference/__pycache__/base_value.cpython-38.pyc,, +jedi/inference/__pycache__/cache.cpython-38.pyc,, +jedi/inference/__pycache__/context.cpython-38.pyc,, +jedi/inference/__pycache__/docstring_utils.cpython-38.pyc,, +jedi/inference/__pycache__/docstrings.cpython-38.pyc,, +jedi/inference/__pycache__/dynamic_params.cpython-38.pyc,, +jedi/inference/__pycache__/filters.cpython-38.pyc,, +jedi/inference/__pycache__/finder.cpython-38.pyc,, +jedi/inference/__pycache__/flow_analysis.cpython-38.pyc,, +jedi/inference/__pycache__/helpers.cpython-38.pyc,, +jedi/inference/__pycache__/imports.cpython-38.pyc,, +jedi/inference/__pycache__/lazy_value.cpython-38.pyc,, +jedi/inference/__pycache__/names.cpython-38.pyc,, +jedi/inference/__pycache__/param.cpython-38.pyc,, +jedi/inference/__pycache__/parser_cache.cpython-38.pyc,, +jedi/inference/__pycache__/recursion.cpython-38.pyc,, +jedi/inference/__pycache__/references.cpython-38.pyc,, +jedi/inference/__pycache__/signature.cpython-38.pyc,, +jedi/inference/__pycache__/star_args.cpython-38.pyc,, +jedi/inference/__pycache__/syntax_tree.cpython-38.pyc,, +jedi/inference/__pycache__/sys_path.cpython-38.pyc,, +jedi/inference/__pycache__/utils.cpython-38.pyc,, +jedi/inference/analysis.py,sha256=vbRF2gOLzm4lEQq9amaVEkQlWsshjl-tKEiOqUSAzYg,7763 +jedi/inference/arguments.py,sha256=zjQcIwW-m8J2Wy0MU_O_u1sTiNIXQk7du3Vcilm5FNM,12218 +jedi/inference/base_value.py,sha256=6o0ksK7YqSiMNErehIrShAMslwOCqtslYg_qZpWVhLo,18221 +jedi/inference/cache.py,sha256=_eOYHP3jZbLVWC2tuoBpjcLQNIWDCsDH3sCzz81mgfw,4191 +jedi/inference/compiled/__init__.py,sha256=MlKPMiQqzDJ6tUMgevROr5n0yyNubjImuRYUqM8jF1Y,2651 +jedi/inference/compiled/__pycache__/__init__.cpython-38.pyc,, +jedi/inference/compiled/__pycache__/access.cpython-38.pyc,, +jedi/inference/compiled/__pycache__/getattr_static.cpython-38.pyc,, +jedi/inference/compiled/__pycache__/mixed.cpython-38.pyc,, +jedi/inference/compiled/__pycache__/value.cpython-38.pyc,, +jedi/inference/compiled/access.py,sha256=kl6dQkSjOWE1cgm9Mx4egYz0Fohasg6SdBAKKWB8h30,18442 +jedi/inference/compiled/getattr_static.py,sha256=Wv5XDvWS7Q7YtmuGp83Ey74Zhsor5BZS9597U-qRquE,3862 +jedi/inference/compiled/mixed.py,sha256=v7Ug53_ZzeCoCDG6l_Xv-Dr3r2tBi4VszTL4q2A0Ge0,11355 +jedi/inference/compiled/subprocess/__init__.py,sha256=bFN8a7SvRjX4BOZtA9B-15oqNJ6mxFFcAgshzvavC7I,13490 +jedi/inference/compiled/subprocess/__main__.py,sha256=GRDb0xiWCV5aj4JkUF-F5euuF4-sWt_BQpSHQlJFk60,1167 +jedi/inference/compiled/subprocess/__pycache__/__init__.cpython-38.pyc,, +jedi/inference/compiled/subprocess/__pycache__/__main__.cpython-38.pyc,, +jedi/inference/compiled/subprocess/__pycache__/functions.cpython-38.pyc,, +jedi/inference/compiled/subprocess/functions.py,sha256=_Q0iG-6OauJto_UOHBYQdrDDf4cP161cKws8_V_r404,8666 +jedi/inference/compiled/value.py,sha256=aQA7Gxwwc8_9f1AFbZqNll_Q-iLZ_w_Or959Poj1UWU,20526 +jedi/inference/context.py,sha256=ioyAcWxvFLqI13VezWzCgQAAJ5NJgNn8sDcdWolxrFg,17164 +jedi/inference/docstring_utils.py,sha256=GTk3ZuWNIo8fFC9kt8NjOF_Wn0mYKjzKLrAswgvoJKI,759 +jedi/inference/docstrings.py,sha256=g5bqKJ8q7ZpLT32NVA2aCGISrG4X2aC0gDRE0OsB_IM,9824 +jedi/inference/dynamic_params.py,sha256=xIC_49MIGQIfRs-Hpx6TCyrl-tsu57siHruKJMwlpag,8122 +jedi/inference/filters.py,sha256=43Dtz4_VeOF6k39YueBFvZaHj_RLC8Wtpfwt9NF28Hc,12493 +jedi/inference/finder.py,sha256=bx-TVatGVvPs696vDS-CWFbclUOdwWvXZPMJF8Vp9Gg,5326 +jedi/inference/flow_analysis.py,sha256=p-za41-mt90PvgwCZi8cCfhw1DiJCMZ2XjdCwh_rHBk,4583 +jedi/inference/gradual/__init__.py,sha256=Xzh7u-vHsvyHAzr_2kP8PY4NieFh35o-TmQY3KAttlI,143 +jedi/inference/gradual/__pycache__/__init__.cpython-38.pyc,, +jedi/inference/gradual/__pycache__/annotation.cpython-38.pyc,, +jedi/inference/gradual/__pycache__/base.cpython-38.pyc,, +jedi/inference/gradual/__pycache__/conversion.cpython-38.pyc,, +jedi/inference/gradual/__pycache__/generics.cpython-38.pyc,, +jedi/inference/gradual/__pycache__/stub_value.cpython-38.pyc,, +jedi/inference/gradual/__pycache__/type_var.cpython-38.pyc,, +jedi/inference/gradual/__pycache__/typeshed.cpython-38.pyc,, +jedi/inference/gradual/__pycache__/typing.cpython-38.pyc,, +jedi/inference/gradual/__pycache__/utils.cpython-38.pyc,, +jedi/inference/gradual/annotation.py,sha256=GzakrJjdbaVtnPg_gr0WYTOu_uk4QtMIlNwyqgLrUko,15932 +jedi/inference/gradual/base.py,sha256=g3XVBA4aX40yxpJKFI6TtOCtFrJW0HAoNECLv2xn68w,15554 +jedi/inference/gradual/conversion.py,sha256=vqVITY30kczXEuF59RV5Kp9FNx0P545ctEfCtwX9aSg,7601 +jedi/inference/gradual/generics.py,sha256=gdqzR1SlT6U-I4l6VWqRih_zSXmz69BgwcFNehXEWF4,3144 +jedi/inference/gradual/stub_value.py,sha256=jk3YSZ5WLl5xFf-V_Jd2wptLs-r4hs0PjLsGfahEAYk,3329 +jedi/inference/gradual/type_var.py,sha256=twrYAoTRNRLHXGPs5CwOZtkvKXGGA8ynczEe9IM1jcU,4139 +jedi/inference/gradual/typeshed.py,sha256=AtR0EBoTlObIzM2c7VQI-Jn_AWsjt0YKp4NYTWOpirE,11467 +jedi/inference/gradual/typing.py,sha256=HJwIbd5jFLkpXJULhWmNQHW22--VlhgEy5pNn8xHilw,17149 +jedi/inference/gradual/utils.py,sha256=PXn4xXlo09fQJVfqHrhA3MdLuAn4mqqujhCTuMutzkI,1147 +jedi/inference/helpers.py,sha256=MJp-HLdtz8_jh9U62CnHVXfDZnFoyg8DlXSY1r1WdKw,5943 +jedi/inference/imports.py,sha256=9tpF3lBsrxLi1R3zEdncPNvZv_mTqhFXO-BhKpHL7VI,23082 +jedi/inference/lazy_value.py,sha256=LtD4RiWs_rQ58ZEZLp-_1Bce1B15t4GS1WpixHW891g,1667 +jedi/inference/names.py,sha256=wkVf9qldsiGOJJht1hj_bAMoRj3g4PvnRDdP03n8ahk,23188 +jedi/inference/param.py,sha256=EEQZwUHY6MUjX3x4A5gl-NzKHXfJ7Ehx7Iza_s6948Q,10450 +jedi/inference/parser_cache.py,sha256=GOOahC8GvDcGW-Ct653Uts5IZ0EaymB4OwyfKm5WClg,191 +jedi/inference/recursion.py,sha256=2rSUGzs1GqMH8274KrgjLTQMLD76ld_dnopbHckM8qo,4932 +jedi/inference/references.py,sha256=1Ol-yxFrMbI9nlRx62xM7v4rKl1HVUjxLd4luRRRAsw,10855 +jedi/inference/signature.py,sha256=uh22vizTq9VsQg-5hYVPDeNs6PYV_YOW9HbCZttWo5g,4859 +jedi/inference/star_args.py,sha256=785E1MC3vvE8zQJ9w0VGei84B2lrLmvxrqYtkyehlbA,7895 +jedi/inference/syntax_tree.py,sha256=HcQLIZMnxS-Lmomb315VlXTVkcfwjNdKl0KxY_X-7Qo,35356 +jedi/inference/sys_path.py,sha256=coTcmTe997sITzKjzXqyppFYJKpRXNO8mVaFfOIWJ7w,10218 +jedi/inference/utils.py,sha256=63DG77XBZ0b8BTKXqNl8ki-4ySyAO75IoCdFIMvttFk,2706 +jedi/inference/value/__init__.py,sha256=Pyi9BuCJvvWQue2MJH2Lsb-ffK_9MKjRVGjY5NvvhkQ,416 +jedi/inference/value/__pycache__/__init__.cpython-38.pyc,, +jedi/inference/value/__pycache__/decorator.cpython-38.pyc,, +jedi/inference/value/__pycache__/dynamic_arrays.cpython-38.pyc,, +jedi/inference/value/__pycache__/function.cpython-38.pyc,, +jedi/inference/value/__pycache__/instance.cpython-38.pyc,, +jedi/inference/value/__pycache__/iterable.cpython-38.pyc,, +jedi/inference/value/__pycache__/klass.cpython-38.pyc,, +jedi/inference/value/__pycache__/module.cpython-38.pyc,, +jedi/inference/value/__pycache__/namespace.cpython-38.pyc,, +jedi/inference/value/decorator.py,sha256=b8jWqSZQTrQ1rzThPSYCToEAC0Hfx19XEvgJsMXftus,1207 +jedi/inference/value/dynamic_arrays.py,sha256=ccEsii4GjsBiBZ0Oyp9gjTSYcZ5ghqbt43z8hXncPWI,7526 +jedi/inference/value/function.py,sha256=dwUEHCOwVT-lnZXaqV0P0Xrf2rPuCksXSPRVzGmrqps,17424 +jedi/inference/value/instance.py,sha256=1UthMNhM2piZaUaNuWHjOnInVKuGKqCbjdmbgCMKjyY,22511 +jedi/inference/value/iterable.py,sha256=fxMp3UiqM8xx7pHT_q30Y4thoDrBUIq62unMdBwAnpI,23305 +jedi/inference/value/klass.py,sha256=ltXpsp2ytmVqRoE0zt8oagifTEEpqi0hRVX0YTPdB4g,16685 +jedi/inference/value/module.py,sha256=mgmTCAOaELoMcAbmnNVbvzLIdZYXTK-vPsxA9dIOpRY,8118 +jedi/inference/value/namespace.py,sha256=yfw8pjmT705joRJSKU-CfmuiyJ-XdcelbDCzKCxqxVk,2101 +jedi/parser_utils.py,sha256=201oI88ateim7dZDh29T7obso1xqbw5Hdxv66swGuf4,10900 +jedi/plugins/__init__.py,sha256=O3yXGTvWanhnZnKubQJhsnDlyXbl23hlt2aGmhy-UUU,1445 +jedi/plugins/__pycache__/__init__.cpython-38.pyc,, +jedi/plugins/__pycache__/django.cpython-38.pyc,, +jedi/plugins/__pycache__/flask.cpython-38.pyc,, +jedi/plugins/__pycache__/pytest.cpython-38.pyc,, +jedi/plugins/__pycache__/registry.cpython-38.pyc,, +jedi/plugins/__pycache__/stdlib.cpython-38.pyc,, +jedi/plugins/django.py,sha256=n-jg8n9bXNjeuqqu46PsiyypzGjFdUjtYJIGcbiBrtI,10895 +jedi/plugins/flask.py,sha256=SRdiNzObi4Xonq3BqjdNRyz08fHPk5ZvbERyNtYgsSs,916 +jedi/plugins/pytest.py,sha256=3c-KcJFr4CZ7wwX9M4W2UYXAvMovCmQe0u5iuJo8V4o,7730 +jedi/plugins/registry.py,sha256=Z3aaj2W2mpwO2Av4apD_vlkPvorJPljvy4xtJsOHrfc,307 +jedi/plugins/stdlib.py,sha256=9C7PfFohKdJ6fWbr2GmpBCMGjKbk_laMionNBQ56TME,29917 +jedi/settings.py,sha256=-5Ha07yoBZ1XFjVD9FypGNQPbL1IG63wpxuhv71dcYs,3526 +jedi/third_party/django-stubs/LICENSE.txt,sha256=I16ZOWXTmaJefUk9JchiL3hxhRCIS5wFHx8YZrbzTp0,1075 +jedi/third_party/django-stubs/django-stubs/__init__.pyi,sha256=t008ZLMgegSQayAawLGBCwygFeVfDKqQEAqTpXj_9yA,432 +jedi/third_party/django-stubs/django-stubs/apps/__init__.pyi,sha256=Y3Y6Hf-auytvp3gQT19bAYTGM1e3f9BBktHVMvr2KQU,79 +jedi/third_party/django-stubs/django-stubs/apps/config.pyi,sha256=5WdAiYznWIzxBXj7DUdYwg0ZIYp2pZHi2uUuD8oumQc,834 +jedi/third_party/django-stubs/django-stubs/apps/registry.pyi,sha256=gu9N7TVSYlhW--1o8FaRhD1S7W4DbF5_tAw4VkxBcsw,2050 +jedi/third_party/django-stubs/django-stubs/conf/__init__.pyi,sha256=iD_WNEjoMcZZwVw_OsvIr-qT1D-WAyVhwGHURaVG9hQ,899 +jedi/third_party/django-stubs/django-stubs/conf/global_settings.pyi,sha256=uUXM1AzZ6y9TcZd_wEBD-MksMBnnA0S1oncpezQApoQ,17462 +jedi/third_party/django-stubs/django-stubs/conf/locale/__init__.pyi,sha256=M1UVxxBgBcKY0r7pv8DvOE6_CJavw0Od3fi8iH-APEk,62 +jedi/third_party/django-stubs/django-stubs/conf/urls/__init__.pyi,sha256=SisGWP0M2DqTBeYjxgaoseKtVjQhpvEopgidp_u0BG8,1033 +jedi/third_party/django-stubs/django-stubs/conf/urls/i18n.pyi,sha256=x4QdXccNgttRURmMrKKE5BDhfk_sc9GRyzSJPbbQDKU,297 +jedi/third_party/django-stubs/django-stubs/conf/urls/static.pyi,sha256=BXdu_MPkrP5LIynxR3lUVc6AAK_y45T8YVn_lp-UVow,172 +jedi/third_party/django-stubs/django-stubs/contrib/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/django-stubs/django-stubs/contrib/admin/__init__.pyi,sha256=EqcwNegHa1kj1bgto5_xljmuP4Ym54wt-_A7nia4WEA,881 +jedi/third_party/django-stubs/django-stubs/contrib/admin/actions.pyi,sha256=O3SXOhCX1-BkDiPxDh9BDUppLQhopWyDj2p1l71XmMo,351 +jedi/third_party/django-stubs/django-stubs/contrib/admin/apps.pyi,sha256=1q33ihcO10A_m7HB5gHdU8S1YpVohz6ihgzo9QMPYnk,142 +jedi/third_party/django-stubs/django-stubs/contrib/admin/checks.pyi,sha256=fWhQq3debqlWvigQzUZNuORAVzHw61iWmi0emeczJC8,849 +jedi/third_party/django-stubs/django-stubs/contrib/admin/decorators.pyi,sha256=Ws4zXIAH5jDgEi60FmJ_Mry9eU5rCJmpJ5lNM2XQXbs,170 +jedi/third_party/django-stubs/django-stubs/contrib/admin/filters.pyi,sha256=fQk48FO4Aik5qG-yUHr7XmW1wgJtCHM4YeWc2PEIvkU,3487 +jedi/third_party/django-stubs/django-stubs/contrib/admin/forms.pyi,sha256=vAAUpUCC7gxxUnBDCwNmPrk1L-NOCHx8lHwlceqBNDY,249 +jedi/third_party/django-stubs/django-stubs/contrib/admin/helpers.pyi,sha256=KD26oTSFhlCVWOzH2jzoAx1Oqhncx5aSUd6ySd3qR0M,4790 +jedi/third_party/django-stubs/django-stubs/contrib/admin/models.pyi,sha256=B8NtoXvvjj8pW0fyQQXwsFJ7j7j3DlaxgxuXwY4Y514,1220 +jedi/third_party/django-stubs/django-stubs/contrib/admin/options.pyi,sha256=TpeeMIIkoNO4Ky8VYdxejUzxmV8R1S3t25ofOD5Nilc,13828 +jedi/third_party/django-stubs/django-stubs/contrib/admin/sites.pyi,sha256=Di-VbTnbIqoK8xDO-IOw64s7JrRQ3CoZKYIvGXKwvOs,3288 +jedi/third_party/django-stubs/django-stubs/contrib/admin/templatetags/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/django-stubs/django-stubs/contrib/admin/templatetags/admin_list.pyi,sha256=HSelmnczfnb-E2QvjhmWkHbwTMp7zx9AoxTqWW_HkBI,2028 +jedi/third_party/django-stubs/django-stubs/contrib/admin/templatetags/admin_modify.pyi,sha256=7cJfilSXB5nWosnNDsgAMMJbZXExtCJAjJmCkvKT6a8,690 +jedi/third_party/django-stubs/django-stubs/contrib/admin/templatetags/admin_static.pyi,sha256=FV9QQ0gLLyXEtmmJqGFWRFRo-eJcvO71aRcFqZJn1sI,73 +jedi/third_party/django-stubs/django-stubs/contrib/admin/templatetags/admin_urls.pyi,sha256=BP_vzmHQ3W7lwC1qCuy7_CSL52pWF5_kyx9okRQT100,547 +jedi/third_party/django-stubs/django-stubs/contrib/admin/templatetags/base.pyi,sha256=_2N03P5IN0Y66vpFrz5l0aRyEQjJgCll8w-FJ1CsP8Y,592 +jedi/third_party/django-stubs/django-stubs/contrib/admin/templatetags/log.pyi,sha256=8m7bTnfmhLLycZoE3Aapyyz4JzO_G8I_e3L16FZATWM,454 +jedi/third_party/django-stubs/django-stubs/contrib/admin/tests.pyi,sha256=IGDA9zE9QPLNB5xgBFFr9j3AbMyufxTm2NUPqmP8mpA,1417 +jedi/third_party/django-stubs/django-stubs/contrib/admin/utils.pyi,sha256=RoMzCbcgb_dKDrY8ezXh93jNJQEEuJ3JAHDitnWZ4To,3107 +jedi/third_party/django-stubs/django-stubs/contrib/admin/views/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/django-stubs/django-stubs/contrib/admin/views/autocomplete.pyi,sha256=AmCorbocq3VfqVJnU6wtVyGESgls1a-WePP5Bl3Vi3E,349 +jedi/third_party/django-stubs/django-stubs/contrib/admin/views/decorators.pyi,sha256=xF9kl3mBijo2Ucnac0ituCn5nq2dyDYNXReYMgX-Rm8,335 +jedi/third_party/django-stubs/django-stubs/contrib/admin/views/main.pyi,sha256=MnJzYgIiYc6K7yPGAzzKokM2YwHbqYwWzVpEfQwdYf8,3390 +jedi/third_party/django-stubs/django-stubs/contrib/admin/widgets.pyi,sha256=i1bW9opYwddEL9f6hhekwMNYhg_2vbo3CPn9-DY173Y,3375 +jedi/third_party/django-stubs/django-stubs/contrib/admindocs/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/django-stubs/django-stubs/contrib/admindocs/middleware.pyi,sha256=DlifCzWN3f9RB-PoedyUCPz3MhpqODdJxEk1xRYyYu4,409 +jedi/third_party/django-stubs/django-stubs/contrib/admindocs/urls.pyi,sha256=oIadLJRRqUS4fwWe3F2TwdQViIuYuSR7iutUidncun0,59 +jedi/third_party/django-stubs/django-stubs/contrib/admindocs/utils.pyi,sha256=aKdHFqtElfEWLRx9LgJRBZby7VKeAvCFRfSh9J_yOVc,725 +jedi/third_party/django-stubs/django-stubs/contrib/admindocs/views.pyi,sha256=JvdGvkWE5fJULlrrbucwuvbOkwPSL9b2I5hsVmBZxAY,852 +jedi/third_party/django-stubs/django-stubs/contrib/auth/__init__.pyi,sha256=hDspBupLxVr58AAo69fVZa9d_pWAkORdzOcjUVxB49M,1316 +jedi/third_party/django-stubs/django-stubs/contrib/auth/admin.pyi,sha256=t3LSFWjHf93LRhNmB3Pn5bd9X4NE9kFzbYCsyDrg930,527 +jedi/third_party/django-stubs/django-stubs/contrib/auth/apps.pyi,sha256=783HiaS66kh94JjcTQDjxdhqTsecaKqZrwJ6rLSB6AQ,68 +jedi/third_party/django-stubs/django-stubs/contrib/auth/backends.pyi,sha256=OzBwXj0hB-Im6o9-2OHAOVCAkP07BG6DQzg0BIMT9d4,1605 +jedi/third_party/django-stubs/django-stubs/contrib/auth/base_user.pyi,sha256=p2mB5q8Pvv1BrE3CgnwXgfLITW3bFSNQVCp388wjxMs,1493 +jedi/third_party/django-stubs/django-stubs/contrib/auth/checks.pyi,sha256=GeMx3ueyYHAufqpprS_roDPC-MGC9jZZiiob_Yj2j1w,371 +jedi/third_party/django-stubs/django-stubs/contrib/auth/context_processors.pyi,sha256=ysQRV_JT1XA8buH6W5mkGbefSDy0nRVumXGjToqgoAg,617 +jedi/third_party/django-stubs/django-stubs/contrib/auth/decorators.pyi,sha256=D-szKzg_wbjHQsdAY7Y_SE4s7fOrE1PQRTqXDdo_acs,982 +jedi/third_party/django-stubs/django-stubs/contrib/auth/forms.pyi,sha256=jpqKdxAYIElU-TlfLzvZNefMnn1Uo3vXEJArzBainZE,3149 +jedi/third_party/django-stubs/django-stubs/contrib/auth/handlers/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/django-stubs/django-stubs/contrib/auth/handlers/modwsgi.pyi,sha256=bv6dWYpTbWYlCQjWyc76cB_lH3akN0WYDyuTmnLXiS8,204 +jedi/third_party/django-stubs/django-stubs/contrib/auth/hashers.pyi,sha256=xdR_649Y60eS-C4VcQUDn76n07U5Tzwl6DlLOcOr8Ek,1969 +jedi/third_party/django-stubs/django-stubs/contrib/auth/management/__init__.pyi,sha256=r_Nm0u9_QFypD1ZAkzWIrPzTRiKM0Vwj8N1BPgEjjUA,384 +jedi/third_party/django-stubs/django-stubs/contrib/auth/management/commands/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/django-stubs/django-stubs/contrib/auth/management/commands/changepassword.pyi,sha256=sINAEC_pucjlldxJChrjgnhv_PzIBOAi3mPOqdHYZNE,125 +jedi/third_party/django-stubs/django-stubs/contrib/auth/management/commands/createsuperuser.pyi,sha256=LI2_hmrgjeizJ0L0Pe4lo2lqvgqvfd0XDovYSbrx9bk,208 +jedi/third_party/django-stubs/django-stubs/contrib/auth/middleware.pyi,sha256=WwvDTYBlZdi21Ackk6Aksuwgt0JIOOAPOc3niDsN0J0,774 +jedi/third_party/django-stubs/django-stubs/contrib/auth/mixins.pyi,sha256=7Ca0TCSsaszq71MDnCaO2-MqySWlZc2CQQqtQZBIaL0,1150 +jedi/third_party/django-stubs/django-stubs/contrib/auth/models.pyi,sha256=nDsbZgiHmYUmC8TSu1ZAmk5uEVGlEodFN6B2dXhwaec,4641 +jedi/third_party/django-stubs/django-stubs/contrib/auth/password_validation.pyi,sha256=9KOmo5wQfvW4U_qh6yIMczt5izwIRS2GMQQ5vGX2D8I,2052 +jedi/third_party/django-stubs/django-stubs/contrib/auth/signals.pyi,sha256=0qXrIYBrx2XYwRrx1N5V5h9HgFtdmK4pzQfEMPr-EPY,120 +jedi/third_party/django-stubs/django-stubs/contrib/auth/tokens.pyi,sha256=IcHQN4Pn8ikV2qI1e4_VWkLjVbfPR5tOEM2iQR3Dz-c,361 +jedi/third_party/django-stubs/django-stubs/contrib/auth/urls.pyi,sha256=oIadLJRRqUS4fwWe3F2TwdQViIuYuSR7iutUidncun0,59 +jedi/third_party/django-stubs/django-stubs/contrib/auth/validators.pyi,sha256=3P7MK_049xYExFIZVQCaic-iuFgFGaZouQBS4RYe_6I,160 +jedi/third_party/django-stubs/django-stubs/contrib/auth/views.pyi,sha256=BPnTwECkJfap0jz0Mi1RII3PLHeHI6eH3Z3mnBZoFvQ,2478 +jedi/third_party/django-stubs/django-stubs/contrib/contenttypes/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/django-stubs/django-stubs/contrib/contenttypes/admin.pyi,sha256=hQT_hpYtA2aHrknPNDLX9Fl6NSVJbdtKpWhiGOsk-VM,586 +jedi/third_party/django-stubs/django-stubs/contrib/contenttypes/apps.pyi,sha256=WUN_nGxl5mnIB9IctYlkCrswHF8BpQo2yRbRywZ69c0,76 +jedi/third_party/django-stubs/django-stubs/contrib/contenttypes/checks.pyi,sha256=3PeRWTpBcWB1u-66ueZ6RVWFIZReu5OOYpoN7r2JCBQ,318 +jedi/third_party/django-stubs/django-stubs/contrib/contenttypes/fields.pyi,sha256=hW1z3wwu_lRFpF6Zkz2pR3pb7yh1za9PgaZFJ6o5XPY,4097 +jedi/third_party/django-stubs/django-stubs/contrib/contenttypes/forms.pyi,sha256=-j9hvsPL-3syqd6O5gTcXzh3xeCQ-isFdtkhfuUwIX4,1159 +jedi/third_party/django-stubs/django-stubs/contrib/contenttypes/management/__init__.pyi,sha256=B0Gku6qIM0KlOwC2zQyZVrNE2Stj4JylnzhQ4-gswiA,1350 +jedi/third_party/django-stubs/django-stubs/contrib/contenttypes/management/commands/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/django-stubs/django-stubs/contrib/contenttypes/management/commands/remove_stale_contenttypes.pyi,sha256=-wUrCoB87Ueb8337psYunjcfoiKpxqyestpVHKzvaUE,411 +jedi/third_party/django-stubs/django-stubs/contrib/contenttypes/models.pyi,sha256=PcA_Yze4dDqmxsDJqCYKm_5ZnmfaxW4VNyfGjHqkavI,1085 +jedi/third_party/django-stubs/django-stubs/contrib/contenttypes/views.pyi,sha256=wK8to6ffyMuyyrlNJu9-7nzhOASZRr-x_MWdSgd_G_4,257 +jedi/third_party/django-stubs/django-stubs/contrib/flatpages/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/django-stubs/django-stubs/contrib/flatpages/forms.pyi,sha256=XNJrR-mHjiKpxf_r5sPxXC2De-Lyh37BL309dtR_f2I,142 +jedi/third_party/django-stubs/django-stubs/contrib/flatpages/middleware.pyi,sha256=6PzgiwFmjk4K4EBW7tfiUtdxI0x-f81N6RmbMOa5e1g,299 +jedi/third_party/django-stubs/django-stubs/contrib/flatpages/models.pyi,sha256=sd9sLh0PBc86GpcJrEtE4vaPVvs8xE1gifekJbBuyDo,445 +jedi/third_party/django-stubs/django-stubs/contrib/flatpages/sitemaps.pyi,sha256=-JeEn0-5EwpyJHOtgYd8IK_C8fGTmLPtk_UpgiwsiX4,81 +jedi/third_party/django-stubs/django-stubs/contrib/flatpages/templatetags/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/django-stubs/django-stubs/contrib/flatpages/templatetags/flatpages.pyi,sha256=U1qIuNadeeNP9oodmb1pXDt9Mrc7urXsAvA0c0bLmC0,518 +jedi/third_party/django-stubs/django-stubs/contrib/flatpages/urls.pyi,sha256=oIadLJRRqUS4fwWe3F2TwdQViIuYuSR7iutUidncun0,59 +jedi/third_party/django-stubs/django-stubs/contrib/flatpages/views.pyi,sha256=aJzjM06Iu8BG4w5frT51cpHotQ6e4GKH18Cukc-yDbo,315 +jedi/third_party/django-stubs/django-stubs/contrib/gis/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/django-stubs/django-stubs/contrib/gis/db/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/django-stubs/django-stubs/contrib/gis/db/models/__init__.pyi,sha256=I8SirL0ClZODX-As42cycJ4VjKnCc97cK9hVKBY6hH0,418 +jedi/third_party/django-stubs/django-stubs/contrib/gis/db/models/fields.pyi,sha256=HgR0BvodeWJ2iGkP8pLuFvI9SQ5DTWbP0oMzsZwEbHU,3133 +jedi/third_party/django-stubs/django-stubs/contrib/humanize/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/django-stubs/django-stubs/contrib/humanize/templatetags/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/django-stubs/django-stubs/contrib/humanize/templatetags/humanize.pyi,sha256=4pEElOr5jWoM1AAc-wq4HSLz-0iSrGwmeqqlJqdq2fs,619 +jedi/third_party/django-stubs/django-stubs/contrib/messages/__init__.pyi,sha256=UHr4xfoH6faNXSh6Xq-6OaRhgsi57MkDktuW_MgfDDs,524 +jedi/third_party/django-stubs/django-stubs/contrib/messages/api.pyi,sha256=ue6Dc8C-dHtJuRlcoQE5zPPsmSGOkgUem_H35681jk0,1169 +jedi/third_party/django-stubs/django-stubs/contrib/messages/constants.pyi,sha256=gBM2s_ImbX0K4W0mcwvmesgrEboAd_f_Pzq-lbUQ-IU,187 +jedi/third_party/django-stubs/django-stubs/contrib/messages/context_processors.pyi,sha256=FSJ6CYdzc9OLaBZyMQe1UlTIYq7ROchz_wBsQn-tEGo,249 +jedi/third_party/django-stubs/django-stubs/contrib/messages/middleware.pyi,sha256=H237yhPKbsl-Civ4R6Et_LX5uBUBLrDqTDvBT1JMef4,349 +jedi/third_party/django-stubs/django-stubs/contrib/messages/storage/__init__.pyi,sha256=ySIlvAEkKK1c5eDrg4u2cs-Mu-xkBuIjVqMjlOMqNBo,202 +jedi/third_party/django-stubs/django-stubs/contrib/messages/storage/base.pyi,sha256=EWpGkx7m2iNNqXTYTYTgeQtTmdH_loN6ba3XHbZo8QU,907 +jedi/third_party/django-stubs/django-stubs/contrib/messages/storage/cookie.pyi,sha256=h99T_FYt4AvNx7MaYtCJ42yuXxw2-u4dDaWgX2aqOHQ,487 +jedi/third_party/django-stubs/django-stubs/contrib/messages/storage/fallback.pyi,sha256=9FSrcnvxbwiGz34cVG8v8jOPOBl7cXK8Nvd97wbUCVs,240 +jedi/third_party/django-stubs/django-stubs/contrib/messages/storage/session.pyi,sha256=MsQOXu0WRhdg3mjL51hB_VYTSYspwgCyUfwK7pyEgyA,482 +jedi/third_party/django-stubs/django-stubs/contrib/messages/utils.pyi,sha256=BMBEulwgQtm_k9l8rf5DNeZ-KpKvth7kqf7kzEL2908,69 +jedi/third_party/django-stubs/django-stubs/contrib/messages/views.pyi,sha256=kkAB26i4kilkRl9AJbWCbW5zoy_uuKr33MBLu8Fp4qA,308 +jedi/third_party/django-stubs/django-stubs/contrib/postgres/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/django-stubs/django-stubs/contrib/postgres/aggregates/__init__.pyi,sha256=dDW1jG5QW0rYRWbzlmBQ8PT2v9ZdWgFJ0IRHhvBJQyQ,540 +jedi/third_party/django-stubs/django-stubs/contrib/postgres/aggregates/general.pyi,sha256=s1jdffCAM8P8TUYWwwu5ZAjm38N8K7wU_UWR_2wR2SI,338 +jedi/third_party/django-stubs/django-stubs/contrib/postgres/aggregates/mixins.pyi,sha256=BE72JG-si9GbSvdXWBTN2asV9jYrZIh2GldTVScgC1I,29 +jedi/third_party/django-stubs/django-stubs/contrib/postgres/aggregates/statistics.pyi,sha256=PqsAq9E7Jf6IUi3xYpm9LMCl52R6XMfMQieQxe-d49w,470 +jedi/third_party/django-stubs/django-stubs/contrib/postgres/constraints.pyi,sha256=s2FgJy9Rl1JnijuF4VQKTz6aVahFoJAwnO1C36sJQ4I,576 +jedi/third_party/django-stubs/django-stubs/contrib/postgres/fields/__init__.pyi,sha256=nAMbC_GxM8b8-dR9AlAQ9W__vybgo-3-X6bSBi0un48,695 +jedi/third_party/django-stubs/django-stubs/contrib/postgres/fields/array.pyi,sha256=B19PlhiKI8jhgJQq6fK_2SMXtZ1-yq0RyGe6QWwPHik,1729 +jedi/third_party/django-stubs/django-stubs/contrib/postgres/fields/citext.pyi,sha256=bC3-GS1JBsGcBiF5ve1dN3O8vG2eKjJSH0UB7mO7kFA,216 +jedi/third_party/django-stubs/django-stubs/contrib/postgres/fields/hstore.pyi,sha256=f6qGgeaD_ypIuIsPMGlgm_D48zms5vJ5VCclCp-iSCc,519 +jedi/third_party/django-stubs/django-stubs/contrib/postgres/fields/jsonb.pyi,sha256=XQpN-W-SzUoLm8M84ebg9ccGTZ51oMvpNU2S7PGdYMo,1011 +jedi/third_party/django-stubs/django-stubs/contrib/postgres/fields/mixins.pyi,sha256=NAiNjruhDqjVpZdusWemB8_eZhe54CHtvAGKDjvHFKY,113 +jedi/third_party/django-stubs/django-stubs/contrib/postgres/fields/ranges.pyi,sha256=yq6_zMfmqvqbCO627VtFM96DiGfUgdp3tku9RBxv7Vo,1342 +jedi/third_party/django-stubs/django-stubs/contrib/postgres/functions.pyi,sha256=__zcyTUVl9N7_5NVTzZ_SAXvflnckIVZtz46hcSiesI,95 +jedi/third_party/django-stubs/django-stubs/contrib/postgres/indexes.pyi,sha256=WsAYW3VLoP4rQ4p8ra4gkNPYcBH4XU6R-5b5HfvRZ8I,2272 +jedi/third_party/django-stubs/django-stubs/contrib/postgres/lookups.pyi,sha256=6XUZ02CEjDiE_s6sGMCTHuLk1R_MtdkGGjAASJzGVEk,579 +jedi/third_party/django-stubs/django-stubs/contrib/postgres/operations.pyi,sha256=Z8SEkq9xL8vu8ZhaEUZr9DqaN-oBSeu855ng3KXSGXg,735 +jedi/third_party/django-stubs/django-stubs/contrib/postgres/search.pyi,sha256=m0sqtO97PEv8__bspxNgeLfBaMga2rnZUnkHl-6jckk,2195 +jedi/third_party/django-stubs/django-stubs/contrib/postgres/signals.pyi,sha256=yeuM0ob6OaYoACmfLBdZCNWgPlm7A9ZwWjoZi-7Kb0M,237 +jedi/third_party/django-stubs/django-stubs/contrib/postgres/validators.pyi,sha256=s2eEtAs0EGPZdPztDX4Q4ZLLf5fm23Z_ggZU4yWSo0k,653 +jedi/third_party/django-stubs/django-stubs/contrib/redirects/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/django-stubs/django-stubs/contrib/redirects/middleware.pyi,sha256=fKa3O8n_i5HyNVUHXOaTIar7d5SmNOPwUqmo5FRDqx0,391 +jedi/third_party/django-stubs/django-stubs/contrib/redirects/models.pyi,sha256=h-aCkCB9-5rhIRn1zd1DhgCRzFbwbi8n3ogO2THqDDI,168 +jedi/third_party/django-stubs/django-stubs/contrib/sessions/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/django-stubs/django-stubs/contrib/sessions/backends/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/django-stubs/django-stubs/contrib/sessions/backends/base.pyi,sha256=Ny7D5lAHrEndxAQ_1CPFZZM2DsHMoMUnBdJanHOSw0k,1527 +jedi/third_party/django-stubs/django-stubs/contrib/sessions/backends/cache.pyi,sha256=7wCasZDS2jUxauFRfc1hgCbbMhdu3BV0eyNaJDMTTnU,299 +jedi/third_party/django-stubs/django-stubs/contrib/sessions/backends/cached_db.pyi,sha256=8jDkOaweqsMtw0xxE-TMfqKVF-EOhZYEN3kjasw_f9w,305 +jedi/third_party/django-stubs/django-stubs/contrib/sessions/backends/db.pyi,sha256=tVGmHGKuGZGDYi4l8aR1a6BlQKRYYDrNI1qorOiCOYI,577 +jedi/third_party/django-stubs/django-stubs/contrib/sessions/backends/file.pyi,sha256=cT7G4hn-3A_ZdlWH1TPH8K_Q9bAoKUUjjLlAwFvFPro,283 +jedi/third_party/django-stubs/django-stubs/contrib/sessions/backends/signed_cookies.pyi,sha256=qBbI8hMn_5IEPkzq2AQW54pFZN-d0lVUhSZ0W6DgC84,100 +jedi/third_party/django-stubs/django-stubs/contrib/sessions/base_session.pyi,sha256=1NPvIW3qfHt-WF1wOYh7FGLoPasYJ80KTw0pdrWOh3c,665 +jedi/third_party/django-stubs/django-stubs/contrib/sessions/exceptions.pyi,sha256=JjF0Gti8-WnILz7dVoTAv1yCrbhMLsvBe3e1z3Zzu50,156 +jedi/third_party/django-stubs/django-stubs/contrib/sessions/management/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/django-stubs/django-stubs/contrib/sessions/management/commands/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/django-stubs/django-stubs/contrib/sessions/management/commands/clearsessions.pyi,sha256=Gk-hDddr6HHr5PArycz3DqoeF476UpGqav9HGp_NsnI,85 +jedi/third_party/django-stubs/django-stubs/contrib/sessions/middleware.pyi,sha256=ZaLlZVRmZZgZaDMmC-j4YZVKDSMjdFYW7WOTru56gOg,478 +jedi/third_party/django-stubs/django-stubs/contrib/sessions/models.pyi,sha256=5Xexgn7rtazccT-DG_4gm4-Lc1NtQTZZBYZQn9LdWdk,176 +jedi/third_party/django-stubs/django-stubs/contrib/sessions/serializers.pyi,sha256=IDMgSeFmLRJYNp5_5jiYaTPKxPBLaEVbEWqPbSqRYaM,311 +jedi/third_party/django-stubs/django-stubs/contrib/sitemaps/__init__.pyi,sha256=jH3-BaWLaKwI5DATtZlXtMLNVETNStRqeviv6zqvv4M,1559 +jedi/third_party/django-stubs/django-stubs/contrib/sitemaps/management/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/django-stubs/django-stubs/contrib/sitemaps/management/commands/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/django-stubs/django-stubs/contrib/sitemaps/management/commands/ping_google.pyi,sha256=Gk-hDddr6HHr5PArycz3DqoeF476UpGqav9HGp_NsnI,85 +jedi/third_party/django-stubs/django-stubs/contrib/sitemaps/views.pyi,sha256=JueiGm9sG9TSRfC_6FP7SpdjeOxKko1he1IJJmvWl2Q,762 +jedi/third_party/django-stubs/django-stubs/contrib/sites/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/django-stubs/django-stubs/contrib/sites/apps.pyi,sha256=hA4WuIXyL9iDiIYzysxfk73L--Va48Ede2GGIvVCxPQ,69 +jedi/third_party/django-stubs/django-stubs/contrib/sites/management.pyi,sha256=tMS5XtfebpRS5cGVshTDsfF5tQmiBZqdVLH3Exey-vw,288 +jedi/third_party/django-stubs/django-stubs/contrib/sites/managers.pyi,sha256=9NB542AluxPiwc0ey-I-FDQKSlria3-A9ROMwdg6GXI,170 +jedi/third_party/django-stubs/django-stubs/contrib/sites/middleware.pyi,sha256=XdobZMJ16FQk-rt57wCtkkJ2NoJfD1LQrRz1lZfx8ZA,209 +jedi/third_party/django-stubs/django-stubs/contrib/sites/models.pyi,sha256=CAVo7Xo9pU0SQQ_-CBooqLbMaUjgqugtqvQUXAcmLrM,614 +jedi/third_party/django-stubs/django-stubs/contrib/sites/requests.pyi,sha256=9cA6iRYob33A_N7AHCWhB5HV0u7CBaa3YFxBwKtNjXc,298 +jedi/third_party/django-stubs/django-stubs/contrib/sites/shortcuts.pyi,sha256=dPbrudBzry6CawfRV1IbbF7SHGvSa6oDjGJayELnFzI,266 +jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/apps.pyi,sha256=JiBc5TPKiv6yGihDg8hKxxONGJOnOn-rZmbU_P4rbxc,126 +jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/checks.pyi,sha256=_LvpylIL3RjCRsZOzCn7MMuBD41DFLEZNWDolU61Ihs,242 +jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/finders.pyi,sha256=uYtF_5sLYizgcESyiWVSsqwCHonIPf2CPF1Lh0Qg09w,1715 +jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/handlers.pyi,sha256=H6xAYLSqzoYTmTD20s-nvsaEaWChXbQWcMsllwq5zJQ,417 +jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/management/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/management/commands/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/management/commands/collectstatic.pyi,sha256=aauFD0KDUGYrHRVy-El3hUVhCkTXtWty213H0YRRjHc,1125 +jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/management/commands/findstatic.pyi,sha256=AoPCqwNz4yYQQm1z6WCDMdxcWrBURx1I5iPsHJQvdOo,87 +jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/management/commands/runserver.pyi,sha256=3uTSyH43HWzNj2ysIJXyT32MaF4q1_gz6q2hJJy2nRM,136 +jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/storage.pyi,sha256=WRfGAaDXcvPjl7ICgAkaxm_lD8dNx9EqikVnBd-Bie0,2262 +jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/templatetags/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/templatetags/staticfiles.pyi,sha256=3rNdwJS7hrGHEmWcCDQXI195iq8q2A_fB9K-mjIFLtg,234 +jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/testing.pyi,sha256=sD4CDNL4bD-9nTfvLSMK8D7_Oc0UlxpMgraoUAGzr7s,100 +jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/urls.pyi,sha256=e3hDRnM55Tey8gm6uIZkU9XaKL6K1hQCqbgwo2JEfD8,198 +jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/utils.pyi,sha256=5kh8wIGL3tKBTFQ2tv-beeXeSlQvKS9_S8LVXflcybg,438 +jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/views.pyi,sha256=Q2CX7w--nytsntQ6IkUxHuthpEHo8HQMeIsaC4Moq1c,222 +jedi/third_party/django-stubs/django-stubs/contrib/syndication/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/django-stubs/django-stubs/contrib/syndication/views.pyi,sha256=1HnKaVl09EenWI_V6xo-qcobr45hCSLC3uUtoimfGoU,1251 +jedi/third_party/django-stubs/django-stubs/core/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/django-stubs/django-stubs/core/cache/__init__.pyi,sha256=6zFjJ1q_xONqYBqBOcphnTqp49ZU8UrglfT-DCibJ-A,717 +jedi/third_party/django-stubs/django-stubs/core/cache/backends/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/django-stubs/django-stubs/core/cache/backends/base.pyi,sha256=YQGqJhft7pHV6PSlOwIi5WMK_Zhpqld19F1zp6axjnI,2327 +jedi/third_party/django-stubs/django-stubs/core/cache/backends/db.pyi,sha256=wGdUsoR-ow-u2LRIjaakjcwPByKQb8-U-KOXhTbW9wg,595 +jedi/third_party/django-stubs/django-stubs/core/cache/backends/dummy.pyi,sha256=PilEF_Ep1-fDe4bQFkVaFm_n4uTLtmzHv2ewWM8VBzo,182 +jedi/third_party/django-stubs/django-stubs/core/cache/backends/filebased.pyi,sha256=-ShvV4mAtuzKC617Q2qMr7FHZkwoBpG_KP-pfOBW02Y,216 +jedi/third_party/django-stubs/django-stubs/core/cache/backends/locmem.pyi,sha256=kz1dYtPcAvhw-OAgRG0Vd0n92M_1xxN8iaGoU-s4FZA,186 +jedi/third_party/django-stubs/django-stubs/core/cache/backends/memcached.pyi,sha256=08qEPXnng3yPOK9ZYP4WtWrtENsavVyQbI0ebWLffjI,352 +jedi/third_party/django-stubs/django-stubs/core/cache/utils.pyi,sha256=2rG3g9PW3FWNflGxI84bpIfvpVQlzYYg7FaZre1vEA0,184 +jedi/third_party/django-stubs/django-stubs/core/checks/__init__.pyi,sha256=lNFmiy3qR0A9eHFRAQT7h5sP7a8jHqRUDc6RhhBnjRo,430 +jedi/third_party/django-stubs/django-stubs/core/checks/caches.pyi,sha256=ILPwDMFMEiAA7KYy_G2He5djgU5iZiA8-kq3t8jgeTM,267 +jedi/third_party/django-stubs/django-stubs/core/checks/database.pyi,sha256=a86fSgBJq1RN7ReWxynzDzEJeRf-_SNW2pP5RuavEL4,103 +jedi/third_party/django-stubs/django-stubs/core/checks/messages.pyi,sha256=crXlAhQmqdtkL65DgmJf7T1h7zPJ6LlqXq2wVH0Nx1w,925 +jedi/third_party/django-stubs/django-stubs/core/checks/model_checks.pyi,sha256=YUzLAMcJQ8wgRiN41JJ1kUlkArL9cNW-mzN4z4qIPQ0,358 +jedi/third_party/django-stubs/django-stubs/core/checks/registry.pyi,sha256=djmQNgx4H932hka9_kArUfRrH-MRxMfQS5SchBapFqM,1212 +jedi/third_party/django-stubs/django-stubs/core/checks/security/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/django-stubs/django-stubs/core/checks/security/base.pyi,sha256=iPHQ9r4dT1LPGKvNGYzbup-1So13CsG4CB88tcL0s5w,1592 +jedi/third_party/django-stubs/django-stubs/core/checks/security/csrf.pyi,sha256=ql6NePz-3tHvFrRs1-RiUL7hu-YTeqvOjJDJKWECx4o,379 +jedi/third_party/django-stubs/django-stubs/core/checks/security/sessions.pyi,sha256=GtTSJmziKaY-VxLKo9uZ2Iv2Bm_Q1GucnscQ9IcqI3k,527 +jedi/third_party/django-stubs/django-stubs/core/checks/templates.pyi,sha256=onbDwInTuNoww68Ei0NcAl3zBYRJ1YXTL7ihxAhfyN4,391 +jedi/third_party/django-stubs/django-stubs/core/checks/translation.pyi,sha256=KB0XkeUqlgS1O-HFeVcF0gP09nv9su--tX6fJmTNFKA,155 +jedi/third_party/django-stubs/django-stubs/core/checks/urls.pyi,sha256=cPGPCVBb1TtYLLIgid6su5NcNd9p90b7-40uT9kYhq4,780 +jedi/third_party/django-stubs/django-stubs/core/exceptions.pyi,sha256=VPgD4WzafSFza0Gv5-D0WmJrdtcBAkBKhLirWk9n4h0,1543 +jedi/third_party/django-stubs/django-stubs/core/files/__init__.pyi,sha256=hdnkFb2OQ7nFCvlNdWdVo4qsMPLXN_YaeyRdMAineH0,68 +jedi/third_party/django-stubs/django-stubs/core/files/base.pyi,sha256=EEh_-8b3WGLzwLAKVaKHe_-FNW4yipUv4cEWCThurls,1435 +jedi/third_party/django-stubs/django-stubs/core/files/images.pyi,sha256=SMT0wolMYso4QmCGlPtKmBirJOnvghPc8TkUgMFGe6M,309 +jedi/third_party/django-stubs/django-stubs/core/files/locks.pyi,sha256=EHZ7epp-o3EYCF3vCAPw3DLI5QAPNTg63LDLJL-BP50,308 +jedi/third_party/django-stubs/django-stubs/core/files/move.pyi,sha256=PISpZOttN4V_udjfb3adCtD-4oZ6Xaq8W79I6MddcrY,130 +jedi/third_party/django-stubs/django-stubs/core/files/storage.pyi,sha256=JeqnJwGpqWlD-FDfKMVYM0uTcoHcCaFehqwxyrFcOsQ,1769 +jedi/third_party/django-stubs/django-stubs/core/files/temp.pyi,sha256=GXys-R-G1z3HKO90VbMZqW5mpy8e468QbczNs9k9vQM,100 +jedi/third_party/django-stubs/django-stubs/core/files/uploadedfile.pyi,sha256=mmdboWz3QcaLVWHtiB4GWI5GowWOgQXPpSZoZGJuxqo,1486 +jedi/third_party/django-stubs/django-stubs/core/files/uploadhandler.pyi,sha256=yDWGn8nxgymZGsTNoPles2N1JgzZfvJnR8SGQivSRA8,3195 +jedi/third_party/django-stubs/django-stubs/core/files/utils.pyi,sha256=-YkCeClNFbCHxU418Pbn4t8p451gwLt5UfHnv-1twCc,547 +jedi/third_party/django-stubs/django-stubs/core/handlers/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/django-stubs/django-stubs/core/handlers/base.pyi,sha256=zr5dcNLmsLL8WK45_pof5Whiw8JyVqNe-nQNNTaRBUc,572 +jedi/third_party/django-stubs/django-stubs/core/handlers/exception.pyi,sha256=9Z2sl79zEx6EkjxA7930oIYYsuaOZQNKf_zNUa21YV0,570 +jedi/third_party/django-stubs/django-stubs/core/handlers/wsgi.pyi,sha256=ZmdUpvNrkmvBNxddhxasurnqfL2cXAYWiDchJMTFfVw,1325 +jedi/third_party/django-stubs/django-stubs/core/mail/__init__.pyi,sha256=fS7DQB-KYK0_XQ5JJ_mfNooDw4aI8K3DQOGmUW2cjKQ,1504 +jedi/third_party/django-stubs/django-stubs/core/mail/backends/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/django-stubs/django-stubs/core/mail/backends/base.pyi,sha256=gRQflStnEnexigKiEhXW9ew01NFWHkgEErsO7zGkmq8,604 +jedi/third_party/django-stubs/django-stubs/core/mail/backends/console.pyi,sha256=rp3gJ_WRrP7cC6OHCZxDmMCEGpwSZTXTE_-9sYGE7qA,103 +jedi/third_party/django-stubs/django-stubs/core/mail/backends/dummy.pyi,sha256=rp3gJ_WRrP7cC6OHCZxDmMCEGpwSZTXTE_-9sYGE7qA,103 +jedi/third_party/django-stubs/django-stubs/core/mail/backends/filebased.pyi,sha256=rp3gJ_WRrP7cC6OHCZxDmMCEGpwSZTXTE_-9sYGE7qA,103 +jedi/third_party/django-stubs/django-stubs/core/mail/backends/locmem.pyi,sha256=rp3gJ_WRrP7cC6OHCZxDmMCEGpwSZTXTE_-9sYGE7qA,103 +jedi/third_party/django-stubs/django-stubs/core/mail/backends/smtp.pyi,sha256=9fsENrJbPIEXUtnYhW_1dADqpcj7I4Z3kR2-3DGwdHg,510 +jedi/third_party/django-stubs/django-stubs/core/mail/message.pyi,sha256=AJVmTc2Ih1J4hsxLyE5ESK8r611Ooqk1thh39cW28v0,4094 +jedi/third_party/django-stubs/django-stubs/core/mail/utils.pyi,sha256=HiKGzyDfshoDMKu0_OuSD262A10HLjhURdD4ZNJt1ec,95 +jedi/third_party/django-stubs/django-stubs/core/management/__init__.pyi,sha256=xqh8MGApVKxQeURNp9Rp8zkm_4VlnefNkcDNnLiF6Yw,841 +jedi/third_party/django-stubs/django-stubs/core/management/base.pyi,sha256=ek1zS9nL1nCODxJGB2tJ6UXz2KjHoJzXeYa54B_wJU4,2922 +jedi/third_party/django-stubs/django-stubs/core/management/color.pyi,sha256=vnwktv_gcMVYi1TUqZBJ1DQZzpUMkwEzyZxs4FE47OQ,1052 +jedi/third_party/django-stubs/django-stubs/core/management/commands/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/django-stubs/django-stubs/core/management/commands/dumpdata.pyi,sha256=BnOg4pY4rHhpAptNOtprYlnqdHCdnFygXlshZu_g62Y,123 +jedi/third_party/django-stubs/django-stubs/core/management/commands/loaddata.pyi,sha256=jbmimF-dEcZb-DftHd6JuveAc_o50YWVGpnajeiVKOo,625 +jedi/third_party/django-stubs/django-stubs/core/management/commands/makemessages.pyi,sha256=hXQnwklaQn5pUiJSvIq757ECX5yJd5IcE3X6-d78G84,1134 +jedi/third_party/django-stubs/django-stubs/core/management/commands/runserver.pyi,sha256=if7vEdyAi4nKamysFhqo6H_JDGRhSPSZhEGigVamK4g,194 +jedi/third_party/django-stubs/django-stubs/core/management/commands/testserver.pyi,sha256=Gk-hDddr6HHr5PArycz3DqoeF476UpGqav9HGp_NsnI,85 +jedi/third_party/django-stubs/django-stubs/core/management/sql.pyi,sha256=fi7T3XJ92IYa50gpmW8vwmA9QPag-oU5XLP2WBo6rpI,429 +jedi/third_party/django-stubs/django-stubs/core/management/templates.pyi,sha256=vHW_QxpqF7tt5xpREpcMA7pdHKkY5E53MkzQaTtkASQ,624 +jedi/third_party/django-stubs/django-stubs/core/management/utils.pyi,sha256=UfBxh4njLLSBSor3WdNJt1clcHylFcqwkiSivhLHK3s,527 +jedi/third_party/django-stubs/django-stubs/core/paginator.pyi,sha256=3ha_zAANkWUw_GUkgCYaQULZQRGcxXCS5gaBdkozVdg,1896 +jedi/third_party/django-stubs/django-stubs/core/serializers/__init__.pyi,sha256=fLovD32hc1-1o1kK0wjYy7LdtzF5VcQ0C-Pc8Ta1wGo,1377 +jedi/third_party/django-stubs/django-stubs/core/serializers/base.pyi,sha256=5Lcy5QIKxdt26oPFUeZS6ix1WGk7UlsFLnYLFCgM-GE,3388 +jedi/third_party/django-stubs/django-stubs/core/serializers/json.pyi,sha256=mAtdKicHMrrrYDSb_3TUv5lhhg41Rbdukqrupkc8SqI,422 +jedi/third_party/django-stubs/django-stubs/core/serializers/python.pyi,sha256=QctI1p3qqQiaqLpGJdLwvIvECRDz5taXFR1ElFZB1x0,535 +jedi/third_party/django-stubs/django-stubs/core/servers/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/django-stubs/django-stubs/core/servers/basehttp.pyi,sha256=7PZLnV2hBprVabl_Ph9E6v0w4pjdXcbWKP49uijiD1A,1301 +jedi/third_party/django-stubs/django-stubs/core/signals.pyi,sha256=oSxvwX4-JFULZ6XVH3IH9fIoB7yQP7qWf1q2ifN1wNw,163 +jedi/third_party/django-stubs/django-stubs/core/signing.pyi,sha256=nMLdl0czCgg1pQPSO-8Y8DRyUlbk6t_czM4GzRe1pAA,1467 +jedi/third_party/django-stubs/django-stubs/core/validators.pyi,sha256=EeHJ3xcX9cpZ75vv8vVgZ7XdrRXHU0x8c40lJYMq9G0,3934 +jedi/third_party/django-stubs/django-stubs/core/wsgi.pyi,sha256=6VtHyJCF0P4EmH0PppqXcZMZ3kV75FuSjKglcvueZ9M,98 +jedi/third_party/django-stubs/django-stubs/db/__init__.pyi,sha256=RFbCnbvJwrVkhhkwk-OUM4Q7hCIx88ESSptH3qqQGhE,936 +jedi/third_party/django-stubs/django-stubs/db/backends/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/django-stubs/django-stubs/db/backends/base/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/django-stubs/django-stubs/db/backends/base/base.pyi,sha256=NvNs0Fpr2hOcUhZu0WswbNUaxheO1_haci7_WcMnFgs,4348 +jedi/third_party/django-stubs/django-stubs/db/backends/base/client.pyi,sha256=M2_0vbL99q0t6Y0mKHT-TJ0FHOnXrfz0UFVxQxHIqWQ,274 +jedi/third_party/django-stubs/django-stubs/db/backends/base/creation.pyi,sha256=x9cz11-3RbcDHEAmN2Gr6Efvg3wMqhMx1tweI_z8jbU,1103 +jedi/third_party/django-stubs/django-stubs/db/backends/base/features.pyi,sha256=cbWlLXRFXtvJTHSOm71kTMmvlYLvzVejJ6PIu4_R5PM,4244 +jedi/third_party/django-stubs/django-stubs/db/backends/base/introspection.pyi,sha256=CGlvGS9dFb32sBC_llaLmhVlBxwcO26JTsdA3mW8-9A,1490 +jedi/third_party/django-stubs/django-stubs/db/backends/base/operations.pyi,sha256=-k3Ca4u2vUCVTYS04vxgzD-XpX7PCE9o6RBP_--kJKs,6237 +jedi/third_party/django-stubs/django-stubs/db/backends/base/schema.pyi,sha256=PrP7x6JM2lfZFJcZYIXN7OjevwSeJXHX77uIkFFGcv8,3346 +jedi/third_party/django-stubs/django-stubs/db/backends/base/validation.pyi,sha256=c-X0DuxTKiXBUrZ1xrN2vxE9EC0hRfG2aS3tg3ikZyI,386 +jedi/third_party/django-stubs/django-stubs/db/backends/ddl_references.pyi,sha256=WsOtVIe0GMwG-3kuNxjJaAjg7NDl0FgPfKAIufsvIDY,2657 +jedi/third_party/django-stubs/django-stubs/db/backends/dummy/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/django-stubs/django-stubs/db/backends/dummy/base.pyi,sha256=Bybortoqc2aftoDUI9JOW6B3eA8RmtNnPI8IswCBw_w,1029 +jedi/third_party/django-stubs/django-stubs/db/backends/mysql/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/django-stubs/django-stubs/db/backends/mysql/client.pyi,sha256=LuRBeD30YTt7ZKkIy0QPI5cUoCdDkcFUphPF3P6VHmU,383 +jedi/third_party/django-stubs/django-stubs/db/backends/postgresql/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/django-stubs/django-stubs/db/backends/postgresql/base.pyi,sha256=m4ZIq3xup97EwKqz215v0DPzkl64DGJ8ckiJOzWkPHg,459 +jedi/third_party/django-stubs/django-stubs/db/backends/postgresql/client.pyi,sha256=KnnW4cVB55-O1rySn8y0wxf1HmInCvUppc4Ylzg1HVM,281 +jedi/third_party/django-stubs/django-stubs/db/backends/postgresql/creation.pyi,sha256=fnJLgXWLVw9MDbkPM_PrlgCNeEovyRFWahmCpmGtL9A,117 +jedi/third_party/django-stubs/django-stubs/db/backends/postgresql/operations.pyi,sha256=8l4IrNRrQZJk-LLbH3zGWqgpTmBXA2-rUsP76GgpY_Y,125 +jedi/third_party/django-stubs/django-stubs/db/backends/signals.pyi,sha256=fLFzAfAJ6fuAuy0wVTa0zHBeFCgG7bMLOi_kT7diVBs,69 +jedi/third_party/django-stubs/django-stubs/db/backends/sqlite3/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/django-stubs/django-stubs/db/backends/sqlite3/base.pyi,sha256=bVWwqWyV2s6IXlN9-njHCzdAwLlhw05GFlNq9QT-xG0,349 +jedi/third_party/django-stubs/django-stubs/db/backends/sqlite3/creation.pyi,sha256=fnJLgXWLVw9MDbkPM_PrlgCNeEovyRFWahmCpmGtL9A,117 +jedi/third_party/django-stubs/django-stubs/db/backends/sqlite3/features.pyi,sha256=QBNQPU-dQwPzmhxGH3AcxhgcJ5rCwtLeWJbelW3Lw3E,117 +jedi/third_party/django-stubs/django-stubs/db/backends/sqlite3/introspection.pyi,sha256=7bAlv3kwuzQxii9IDzIOLFHKsr2_TjCkC9wBFmEB2CQ,363 +jedi/third_party/django-stubs/django-stubs/db/backends/sqlite3/operations.pyi,sha256=8l4IrNRrQZJk-LLbH3zGWqgpTmBXA2-rUsP76GgpY_Y,125 +jedi/third_party/django-stubs/django-stubs/db/backends/sqlite3/schema.pyi,sha256=LYEtIfhLNap5vTN1wwBi2NvjgvyRQPhbFpMAYOybr68,127 +jedi/third_party/django-stubs/django-stubs/db/backends/utils.pyi,sha256=yDvBVaKmX_paln-6-vFqr6EQt-vqucdEqkZm3UKvpnA,1835 +jedi/third_party/django-stubs/django-stubs/db/migrations/__init__.pyi,sha256=hhLMlg4osD2PgLKlq76pVHYWqPXZMnA4BpE9v8tDWyQ,243 +jedi/third_party/django-stubs/django-stubs/db/migrations/autodetector.pyi,sha256=xQmcpsLs8jTPIMGuwaASncuUExFQeutQDKJdzNwjAQE,3011 +jedi/third_party/django-stubs/django-stubs/db/migrations/exceptions.pyi,sha256=qoLgU_vrG4a68pzirMdWXBunpPEbYOxdV_m7hJrfKh4,709 +jedi/third_party/django-stubs/django-stubs/db/migrations/executor.pyi,sha256=0s4j-NtGdXyt6dN-GUzjQfPmvvuZAiO-qph4OSIk0_I,1679 +jedi/third_party/django-stubs/django-stubs/db/migrations/graph.pyi,sha256=gZ2DtdRW8WGaNagYSS450xy37jIEYHwXrp4NK6UEUfo,2531 +jedi/third_party/django-stubs/django-stubs/db/migrations/loader.pyi,sha256=FzXHEFMvG28529zVgYPqvIUVmgu4b6ItJHmyLDOcjsU,1547 +jedi/third_party/django-stubs/django-stubs/db/migrations/migration.pyi,sha256=EC3sKQH__KdAQHdtVlB9Mdng9PZRjXfRr5kq_C4QIsU,1064 +jedi/third_party/django-stubs/django-stubs/db/migrations/operations/__init__.pyi,sha256=7V9NE9LUjCDMmYRbbA_DpyByGdwqYJGP4PP4eb9irGM,796 +jedi/third_party/django-stubs/django-stubs/db/migrations/operations/base.pyi,sha256=Yf5Kls_4hSQsIXjlL9OK08vwdBoC-U9HZUEqFAgt3iU,902 +jedi/third_party/django-stubs/django-stubs/db/migrations/operations/fields.pyi,sha256=K3iNfmrU5ih3R9q5iWbWd9vzvwfdKEI5t1mTSOQp6PM,1166 +jedi/third_party/django-stubs/django-stubs/db/migrations/operations/models.pyi,sha256=-PMXj0mF4RpqFF5EfGbXLjb6OL6M3N-IiLppkp1zhNU,3154 +jedi/third_party/django-stubs/django-stubs/db/migrations/operations/special.pyi,sha256=IUylNYPs2amdxe0LXDpAcgG38E6MidF-HqfSXB-rqT4,1340 +jedi/third_party/django-stubs/django-stubs/db/migrations/operations/utils.pyi,sha256=c3JLPgnNvLkXPqd58STsQgONi7i1eUn081TgQaGOehY,217 +jedi/third_party/django-stubs/django-stubs/db/migrations/optimizer.pyi,sha256=4oDcfA4PXyGPtc1C6MmknB-6TaaNtYdeWSyE7JTmMzk,343 +jedi/third_party/django-stubs/django-stubs/db/migrations/questioner.pyi,sha256=734ewVOcc5I9wlAUW2DJ8BVBqACx6C1pm4cHY0ZlwUo,1156 +jedi/third_party/django-stubs/django-stubs/db/migrations/recorder.pyi,sha256=j2th14mIxchOJ3s1ar2nbloAI6Xy4wiVDitnw-i9snE,806 +jedi/third_party/django-stubs/django-stubs/db/migrations/serializer.pyi,sha256=GRls6awL8QgjOVzgNassbBe6H4bEhT1h1vgdjxD97T8,1828 +jedi/third_party/django-stubs/django-stubs/db/migrations/state.pyi,sha256=3Hflqo8oiCVz-oSprFYyKetkhQsjU69QtTViZimP5Q0,2640 +jedi/third_party/django-stubs/django-stubs/db/migrations/topological_sort.pyi,sha256=NJzfRJYQwJeJS8fCVme_hYGsbrt14h7EGAcs2W0fmL8,348 +jedi/third_party/django-stubs/django-stubs/db/migrations/utils.pyi,sha256=yRlE8__8quhMrlAMU1F282hQftrxxiSQbja20o8hYmc,207 +jedi/third_party/django-stubs/django-stubs/db/migrations/writer.pyi,sha256=cNq1r8wj7KawULnICxXBTWDqO0QVGCoBKLls3O_o48M,1441 +jedi/third_party/django-stubs/django-stubs/db/models/__init__.pyi,sha256=7nR-mr7WV8G0f6Cs5Hcblfww2y2WzC1oQxd31mhnx0Q,3576 +jedi/third_party/django-stubs/django-stubs/db/models/aggregates.pyi,sha256=PrOHocknn7Wmh2aq93_WVq50dx9SOifIIBHvN8F6GVE,501 +jedi/third_party/django-stubs/django-stubs/db/models/base.pyi,sha256=77FrtJ8O86v8HFichcpzYvYxYetw0sS1ArGFdd10uNc,2400 +jedi/third_party/django-stubs/django-stubs/db/models/constraints.pyi,sha256=CXaVfiv0tWcDNPkxg8j7s1Be-teHkwMVuYZLZtMVasM,1089 +jedi/third_party/django-stubs/django-stubs/db/models/deletion.pyi,sha256=GEJcVeD0a_5KMj6u_kVxGQ1ezJj7rW5iccRZkQitN00,1149 +jedi/third_party/django-stubs/django-stubs/db/models/enums.pyi,sha256=Tu87vXSWCvRlSS_Sq3k8aptOXzmMF9JQj4Hk6pW3m3s,814 +jedi/third_party/django-stubs/django-stubs/db/models/expressions.pyi,sha256=QmaztG7k_UEThUZgtlDcwHxQASmil4xVM8ZfG6HQ-cg,8583 +jedi/third_party/django-stubs/django-stubs/db/models/fields/__init__.pyi,sha256=7cRcjZV7AVblUEXaAnQfzpnHX5yqCmenp8fyr9Ce_vA,13788 +jedi/third_party/django-stubs/django-stubs/db/models/fields/files.pyi,sha256=5EFmMvl68KKIC0O7BG7w4f-CEmLvtlxPHswHC8AtHTA,3640 +jedi/third_party/django-stubs/django-stubs/db/models/fields/mixins.pyi,sha256=myGDhO7COLmmouchsjRU57lQpXnJahzqaffXmya4r6c,453 +jedi/third_party/django-stubs/django-stubs/db/models/fields/proxy.pyi,sha256=HJvfUvqFTmnGwe3bZs0eHumpAvOdFYTJeX-KzOPvR80,161 +jedi/third_party/django-stubs/django-stubs/db/models/fields/related.pyi,sha256=6kgc4LA0vqc4JVg0Q9GRkHDuKr_6IfHwxVAoYFly2-I,9289 +jedi/third_party/django-stubs/django-stubs/db/models/fields/related_descriptors.pyi,sha256=foBVVlhgtaoOz6iRbAmh5Az18ZNbxND6gDncol863WA,3184 +jedi/third_party/django-stubs/django-stubs/db/models/fields/related_lookups.pyi,sha256=tPhBih5TNsVbpZ4_j-HM5Gt8tehukUcWxh-cnzARJw4,1500 +jedi/third_party/django-stubs/django-stubs/db/models/fields/reverse_related.pyi,sha256=EzSzqqZdtRcfUwzFDBZLZu8Nw1wbx5fyiyjzTfcSDEk,4045 +jedi/third_party/django-stubs/django-stubs/db/models/functions/__init__.pyi,sha256=zwujZ_mDvMGvDG7PZntnImLITlio1OMJlvuvH0hwmlk,2077 +jedi/third_party/django-stubs/django-stubs/db/models/functions/comparison.pyi,sha256=zMX1rKOTcfMhIyWmstp9DLfT06lDE7Yz-znCQVan-OE,312 +jedi/third_party/django-stubs/django-stubs/db/models/functions/datetime.pyi,sha256=YuYkZO0-rVO_6ChthbPlNHuB24w33RMSLAsipoUTn0s,972 +jedi/third_party/django-stubs/django-stubs/db/models/functions/math.pyi,sha256=4rGyuph9f9-2jlUnUDcCm2DKhTgkHvU4w2UOuGTzd_I,1222 +jedi/third_party/django-stubs/django-stubs/db/models/functions/mixins.pyi,sha256=HW4qO_JX_b1oScltR83xx0ekxCrXcvFMFZNCf6Hp5DY,100 +jedi/third_party/django-stubs/django-stubs/db/models/functions/text.pyi,sha256=8oIROhzzKZO1b8MvEmARBx4LgmfDNG-2ZRoNpYsK3yU,2228 +jedi/third_party/django-stubs/django-stubs/db/models/functions/window.pyi,sha256=poxMB0VKvi7XGx_8imATTi1aaOTGcEuaPLCv3zifFC0,702 +jedi/third_party/django-stubs/django-stubs/db/models/indexes.pyi,sha256=eKOgHZWF1_TUVZl3a8W3UpoDf3N73D07NU5Iw1qiaGE,1241 +jedi/third_party/django-stubs/django-stubs/db/models/lookups.pyi,sha256=BI1Ly6Sa_U1zDza00zTlC3pPF-bI4eKKev4L2bTlmqE,4475 +jedi/third_party/django-stubs/django-stubs/db/models/manager.pyi,sha256=w5myME9kNAigRReNYiUSNGjRzLUGWcwoqSfd49zmWH8,1796 +jedi/third_party/django-stubs/django-stubs/db/models/options.pyi,sha256=YC_LwZgqFGmUtfNhVmfRRTjSpTKpMCWbh8MxSXdLuoM,4993 +jedi/third_party/django-stubs/django-stubs/db/models/query.pyi,sha256=I04vyx6gHnK0Wm2atkwItk31rQBzNt2WwUx0u9YiB2M,9202 +jedi/third_party/django-stubs/django-stubs/db/models/query_utils.pyi,sha256=_FWehOpztavNcVxGBrAg7VFLdUNJeRigE7dqPt3-PDQ,3011 +jedi/third_party/django-stubs/django-stubs/db/models/signals.pyi,sha256=UvyKPck5LFYqOCeet0Z9HCxbtF9HKOofVak2mnyfPqM,850 +jedi/third_party/django-stubs/django-stubs/db/models/sql/__init__.pyi,sha256=mcrelxpwAAcq3e68wtJ3Y8vbb0JwRwln3GFy3PXTBf0,219 +jedi/third_party/django-stubs/django-stubs/db/models/sql/compiler.pyi,sha256=01_nE7RT8qgJbDsvul5mI-vifLFTQAwk1ETcJxc3U60,4712 +jedi/third_party/django-stubs/django-stubs/db/models/sql/constants.pyi,sha256=wqrVp2CmNwQGTE6G48hxopiddIaPjheG3aF0bNrfrxI,262 +jedi/third_party/django-stubs/django-stubs/db/models/sql/datastructures.pyi,sha256=aP3H2772NScQipXPMjWN8hReyS1cMtP35Tj0FOV0tTo,1909 +jedi/third_party/django-stubs/django-stubs/db/models/sql/query.pyi,sha256=HT_Qr-1R-rZvhpcYgMxLfWT3Xu82PmfvP7JyXNKMKgM,9072 +jedi/third_party/django-stubs/django-stubs/db/models/sql/subqueries.pyi,sha256=AvzqhSc6nWUiriu4jd62PAQt77fJ004mIDDuuzWpJu0,1828 +jedi/third_party/django-stubs/django-stubs/db/models/sql/where.pyi,sha256=SF_adSLaf14MqiKd-bjuWeX9eZFMBEXstMHnZS9hlT4,1918 +jedi/third_party/django-stubs/django-stubs/db/models/utils.pyi,sha256=ooqtUE_Tbh7fBMCgqzG9BkkycU8Pj3fD-tx3OEkqMuM,157 +jedi/third_party/django-stubs/django-stubs/db/transaction.pyi,sha256=8jqZMjzJCdLIVsBvkw_2elm7gagC_80GoW1SnhbmOs0,2032 +jedi/third_party/django-stubs/django-stubs/db/utils.pyi,sha256=EalrPIBxRawmO26UrJuJmUTeXCB8x24ehargXA4Gm9s,1244 +jedi/third_party/django-stubs/django-stubs/dispatch/__init__.pyi,sha256=SQUYnc7LrrXNZN_Ch5JdeGL9HDU-gaTK6G4Yxrr-rvc,78 +jedi/third_party/django-stubs/django-stubs/dispatch/dispatcher.pyi,sha256=mU0d9m4337GccA9rnNHlGm4xaj7ik5QY39cIeKK8VKM,994 +jedi/third_party/django-stubs/django-stubs/forms/__init__.pyi,sha256=4coCEFdYif8MNg0AXsb9poFP6Ih5OiB9Nytd_goGZmk,2957 +jedi/third_party/django-stubs/django-stubs/forms/boundfield.pyi,sha256=jiT0VOrFHPAwTTJYoFiHrtgZbVa8kxv8OjCwA_JuUSo,2308 +jedi/third_party/django-stubs/django-stubs/forms/fields.pyi,sha256=0F8m3ToEyszYNG0eB0VX-UgaYBlplgt2B1QPpmVAyc0,13037 +jedi/third_party/django-stubs/django-stubs/forms/forms.pyi,sha256=UHB2YbGoqojA9mu6mH7vFcHyFTgSa_y7cTcv7h2pF2s,3096 +jedi/third_party/django-stubs/django-stubs/forms/formsets.pyi,sha256=PWlKGK54Iu7khVNdt8nkqFnAHvlF1LkZCPttxU5jRpc,2397 +jedi/third_party/django-stubs/django-stubs/forms/models.pyi,sha256=B3ET3PjsUBJQWUasxTXCEOmoMsL9EOfdNTDnpchkzvw,10173 +jedi/third_party/django-stubs/django-stubs/forms/renderers.pyi,sha256=GSv3bIQiNtMy2NxLMWqZMSpGNQTJQUygIDYCecN41uE,724 +jedi/third_party/django-stubs/django-stubs/forms/utils.pyi,sha256=MgzO6rPlH29FFb7nkg-7ZSQYUjvQ92m-gqiS-bq5Z2w,1257 +jedi/third_party/django-stubs/django-stubs/forms/widgets.pyi,sha256=xO_oOqc02RaK07qV-g17bKBYlXyFhmRie6Nqrb5eq0o,6094 +jedi/third_party/django-stubs/django-stubs/http/__init__.pyi,sha256=tpXEfW48QUEnzOLVM9glXI6MLX3VX6_a-DmbzjIhvF0,988 +jedi/third_party/django-stubs/django-stubs/http/cookie.pyi,sha256=alynIOZMj8djeNCol-x2_mSUeNUtoO-stYZrboEDHnQ,102 +jedi/third_party/django-stubs/django-stubs/http/multipartparser.pyi,sha256=tq4nBvZN_mSeNC82urno1t2JhEKAqkXOPHpno5LIglQ,1986 +jedi/third_party/django-stubs/django-stubs/http/request.pyi,sha256=hxikJdIej6joG5W7mcj6h74Je5DvynLBpaoYT4vmxfg,3786 +jedi/third_party/django-stubs/django-stubs/http/response.pyi,sha256=JpWbTjhXgAGp7qotHfUTgHRLXoq49jL7YRDNrsjRi6Q,4994 +jedi/third_party/django-stubs/django-stubs/middleware/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/django-stubs/django-stubs/middleware/cache.pyi,sha256=2eNzy0MekvcFiR52WXQ1er12Gl3ZPNaYQBAesnRkaWM,1095 +jedi/third_party/django-stubs/django-stubs/middleware/clickjacking.pyi,sha256=KcQDinOFpxOnJt_bWJpFLk350ceGcODerjF3xcc4gEg,387 +jedi/third_party/django-stubs/django-stubs/middleware/common.pyi,sha256=KmN-G-bFLmSpqbZYXKF2rCWFbyT1thGKKQVscfCdLGQ,987 +jedi/third_party/django-stubs/django-stubs/middleware/csrf.pyi,sha256=-jr3w2lhfv_YPC74qNWZ_r8-CQ8jaJz9AU7c5te2FGA,1250 +jedi/third_party/django-stubs/django-stubs/middleware/gzip.pyi,sha256=If78A7dw_ILgnSCY2L8wkjNF2qqk7SkBVK17WAxVx7Q,339 +jedi/third_party/django-stubs/django-stubs/middleware/http.pyi,sha256=mdaMBPWaWuwjz0g400w1t5N3TkNGL9dG-TCmmkbAOd0,369 +jedi/third_party/django-stubs/django-stubs/middleware/locale.pyi,sha256=typ6K2fi1-vG64j0GVCSAXKCKzcpzmVE2bdDzoe8bes,423 +jedi/third_party/django-stubs/django-stubs/middleware/security.pyi,sha256=4ee7wQgRxiwpP_vwfG5IM68TYyCGpVPuTYEwp8uoM88,715 +jedi/third_party/django-stubs/django-stubs/shortcuts.pyi,sha256=WRzWWQatCnOL3yp2KLZ1H6b35J-eq3H6Ipk66YA2Y6s,1972 +jedi/third_party/django-stubs/django-stubs/template/__init__.pyi,sha256=87Omlyr7XLi5x8bbxTBby2htPXGn79eytzb2jguf2EU,648 +jedi/third_party/django-stubs/django-stubs/template/backends/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/django-stubs/django-stubs/template/backends/base.pyi,sha256=iHw-0xrm6rTptCjmp4N7VEZZRSHEGacxetcQotMVyBU,601 +jedi/third_party/django-stubs/django-stubs/template/backends/django.pyi,sha256=Ds2mLWa5DQirwlyvcy9SzMQVJDbiuvrV5jpYvTUbwbA,706 +jedi/third_party/django-stubs/django-stubs/template/backends/dummy.pyi,sha256=jhUAbJ7I1y6I56DI71u6geDjdndUJn1Fu4RkNIGh7AA,478 +jedi/third_party/django-stubs/django-stubs/template/backends/jinja2.pyi,sha256=ROpMhGxnaNlxWdYlvRWhvdEIFS7HQx1dB-x_FNK1WuQ,581 +jedi/third_party/django-stubs/django-stubs/template/backends/utils.pyi,sha256=Sbwk0bMuzGHJqvrhODl47g0H0n_LiFl7YYOwjHHWGVk,211 +jedi/third_party/django-stubs/django-stubs/template/base.pyi,sha256=eR590K7BCZtsab-Strdw8ju0Luft-YxFl7gme_g9pto,6030 +jedi/third_party/django-stubs/django-stubs/template/context.pyi,sha256=F1mgkncBKN_OeGuDO-dR3dZoYKVE2pxIoFu7ZnAcKUA,3208 +jedi/third_party/django-stubs/django-stubs/template/context_processors.pyi,sha256=bMVI13GgofaJnXyDHRgj09wVxMt0sA1DxawMrzwAtQc,640 +jedi/third_party/django-stubs/django-stubs/template/defaultfilters.pyi,sha256=fFNBc7tz39VsgxpHu5pOGyI1hyjQ44gwpSkObxGe6VA,3651 +jedi/third_party/django-stubs/django-stubs/template/defaulttags.pyi,sha256=hvxjkL-tRoFTg1JeScbEUeiMYF5HrnDw2XQpN4aY0QU,7237 +jedi/third_party/django-stubs/django-stubs/template/engine.pyi,sha256=fVxtt56BiOR-fLxGZtYFwvJD_ygYgu9Bhy5I39c7QbM,2158 +jedi/third_party/django-stubs/django-stubs/template/exceptions.pyi,sha256=XKMDInGTVL9Zr_exfpi6tS-zliwBuK5Dwg2hU9ZwAiE,596 +jedi/third_party/django-stubs/django-stubs/template/library.pyi,sha256=wqpD6-eFu6CHuraBEiO37sRG2Zhmkea1rv0I9eR2StA,3079 +jedi/third_party/django-stubs/django-stubs/template/loader.pyi,sha256=8O6_g_3h_zkRVqC5OdBbHG0MvIcPNWDr2qszobREPsM,620 +jedi/third_party/django-stubs/django-stubs/template/loader_tags.pyi,sha256=uhPtslJdwFOhqdsWtTzgOPgTFle7rf_eeQDVmmwFCuI,2363 +jedi/third_party/django-stubs/django-stubs/template/loaders/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/django-stubs/django-stubs/template/loaders/app_directories.pyi,sha256=tIrBH9Efep-8HYF_maLVfKPj8eGF_xY4ZxB22AmZsNI,88 +jedi/third_party/django-stubs/django-stubs/template/loaders/base.pyi,sha256=XNXihk_WvxirQJ20BpEPQZqcOms77836aOJYjCLwMl4,476 +jedi/third_party/django-stubs/django-stubs/template/loaders/cached.pyi,sha256=WROvtCtkV0dc4-6h2KISA3zO_h_73eo2id2bxRzLiz0,564 +jedi/third_party/django-stubs/django-stubs/template/loaders/filesystem.pyi,sha256=n3c4eQtiR0RBWkrPXGY8fi3bRTjEPlOnpEwawsQlojQ,433 +jedi/third_party/django-stubs/django-stubs/template/loaders/locmem.pyi,sha256=7P_Vsr1xLb_8tZ4QxEFF-31souSiyLHH0cKqlEcwIPA,354 +jedi/third_party/django-stubs/django-stubs/template/response.pyi,sha256=j1Fl0YSJTvostAVTfkMYy8g2KB9YlP3DBTaAZBMdLbU,2344 +jedi/third_party/django-stubs/django-stubs/template/smartif.pyi,sha256=PAKYMxW4Q6JY0l8TLmwR7B90xy8IYnMXTf7e6Atog_w,1267 +jedi/third_party/django-stubs/django-stubs/template/utils.pyi,sha256=keI7BX8onKPNwTqz9O1Osr1Rk7ZiyPIntQOvsPBo8Os,558 +jedi/third_party/django-stubs/django-stubs/templatetags/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/django-stubs/django-stubs/templatetags/cache.pyi,sha256=u-SCt-L2RlRBD9xG-pVTkwhThwJ7eNazTInZFAXHPWg,682 +jedi/third_party/django-stubs/django-stubs/templatetags/i18n.pyi,sha256=gca9DVbprTHJzIGX-GCcxEUViYDYfH10HffLu3xK9Ik,3176 +jedi/third_party/django-stubs/django-stubs/templatetags/l10n.pyi,sha256=8OV4XSr_rPNMhLOzxVu00SzC9VEnmt4OTRZmMZRqDZc,429 +jedi/third_party/django-stubs/django-stubs/templatetags/static.pyi,sha256=cUQ9iIHKXWgJXY2Qh9M1VXFgD_ASyNQbkVk4Unwg7oo,1170 +jedi/third_party/django-stubs/django-stubs/templatetags/tz.pyi,sha256=da1r04-aB0s1v4PR4d_TKredXpVkZR-kluQw1q07V-U,1166 +jedi/third_party/django-stubs/django-stubs/test/__init__.pyi,sha256=FxU0Xt4wJj1Jf3kdcL0lt-dpEDUN1wFe7LsyMiJvjjc,671 +jedi/third_party/django-stubs/django-stubs/test/client.pyi,sha256=A8dwFxbKc1rfjesp2FlOT__QXWPU0aEBOVZHmkyIFsA,5593 +jedi/third_party/django-stubs/django-stubs/test/html.pyi,sha256=k-d7X-HIXjPYhPpAggZQ9GR6MvkBGh1XmY5PnxGnuOY,1203 +jedi/third_party/django-stubs/django-stubs/test/runner.pyi,sha256=0fO4ry5uDw6o-wvnoBhSf8snCK6gd5yTQqw6b1RVJjc,5210 +jedi/third_party/django-stubs/django-stubs/test/selenium.pyi,sha256=CKW-XlD6SUu9pLyxUt6p8l5uYzN-RjkrGqnji-Dup7Y,368 +jedi/third_party/django-stubs/django-stubs/test/signals.pyi,sha256=yBlj9hfd9baDs5gt0x6Ymdg9L4cOtqPe1TRg63VXxKk,986 +jedi/third_party/django-stubs/django-stubs/test/testcases.pyi,sha256=rUMMlG0haG8l9frb1RRgLMZZtRLKEV5a0JAsLJa7jOU,8273 +jedi/third_party/django-stubs/django-stubs/test/utils.pyi,sha256=GmKL_4fBsAa__tn0gXHPJeIq1MsiUN9utqm9t2fsJ-E,5436 +jedi/third_party/django-stubs/django-stubs/urls/__init__.pyi,sha256=nQLDuDGK7FnjTv35h5oWaHGxEj7LUxTpXHmM1bPV1n0,1197 +jedi/third_party/django-stubs/django-stubs/urls/base.pyi,sha256=RtQApc1gUSPpnAw1gm3HqvNai7lYb0k3r2kS6wcKMk0,887 +jedi/third_party/django-stubs/django-stubs/urls/conf.pyi,sha256=7wH1fulW8v9yZlqEy4yQFSGfVznjPJM1DC5V-ZiSoEY,224 +jedi/third_party/django-stubs/django-stubs/urls/converters.pyi,sha256=--viS0cndpAqzNeusl7RLKBVhsrPIoOikVgmQDNxGxc,827 +jedi/third_party/django-stubs/django-stubs/urls/exceptions.pyi,sha256=4UVr_L5SexIY1ok1zhdDAq1v1iyt7l0NiDdOu7i07lg,102 +jedi/third_party/django-stubs/django-stubs/urls/resolvers.pyi,sha256=gvKPNzAwWo1kE-wvLFhWk83C7qm1hsuF7CPPzCv9ypQ,4029 +jedi/third_party/django-stubs/django-stubs/urls/utils.pyi,sha256=aHMnJJ_yLIRc1jFBsuwInS1i07sg_TNCRFfpBdVliWA,168 +jedi/third_party/django-stubs/django-stubs/utils/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/django-stubs/django-stubs/utils/_os.pyi,sha256=o_1Okw2HuOcaOrD-_SzHIgSVDNmBShknGwqd5uat8ps,307 +jedi/third_party/django-stubs/django-stubs/utils/archive.pyi,sha256=uYtbaGft9lKuO5eEfMBWnmOX3lD-ztopvgNhLZaP4QM,1043 +jedi/third_party/django-stubs/django-stubs/utils/autoreload.pyi,sha256=C8KHbfg9nGyhfbNa56RXXP0v1rlIkTUvYw1zkmv3bOk,2702 +jedi/third_party/django-stubs/django-stubs/utils/baseconv.pyi,sha256=Myy9JlfWTJ29J8Oyiq-upqag-VfsPHg3jsuq7HHU9iE,593 +jedi/third_party/django-stubs/django-stubs/utils/cache.pyi,sha256=9ss0oBvIs1-gBExjVldryr4hESowSSeQdShVgMZdugs,1338 +jedi/third_party/django-stubs/django-stubs/utils/crypto.pyi,sha256=uccSZ_WsmWkCQ_4V6SQXOJd8NUn3FdyjnUbcP5K1I0U,543 +jedi/third_party/django-stubs/django-stubs/utils/datastructures.pyi,sha256=CUquMJUCgGCjeVUk3QSx9vVcZjmHKJsgVI3Vjqti1Zk,2624 +jedi/third_party/django-stubs/django-stubs/utils/dateformat.pyi,sha256=KLHBQh9aWgLYWbeqw2kiyQauGNDiKmadeMmltidGlrk,1782 +jedi/third_party/django-stubs/django-stubs/utils/dateparse.pyi,sha256=PX8c8e3ma-IOaj-F0RrBF4XTTVngSfkGNKt24AMy4qo,425 +jedi/third_party/django-stubs/django-stubs/utils/dates.pyi,sha256=eDDUi7Z7G3VU8h_6q4Z63l_7L2zgcyYuTE3yf-GSt-I,181 +jedi/third_party/django-stubs/django-stubs/utils/datetime_safe.pyi,sha256=fXQJdx9zqee-Jac6dhydWUMKvz8JzQYnKhwPsxiDnfY,341 +jedi/third_party/django-stubs/django-stubs/utils/deconstruct.pyi,sha256=6IL3eW3s2avXEeGE_oJW3Mxg6Hk3387euuFekBeHY0A,105 +jedi/third_party/django-stubs/django-stubs/utils/decorators.pyi,sha256=AEPbjOpQtJGpOjwrri-6wV2gzUIvNZ5EIVJVsTEushk,935 +jedi/third_party/django-stubs/django-stubs/utils/deprecation.pyi,sha256=yGFYy_fyf37-YpyWdalYAdQXCX8YLVCOgu8lQVVBxpk,1345 +jedi/third_party/django-stubs/django-stubs/utils/duration.pyi,sha256=W8vapfROyCEor7wRgPdoqY7cpLg8kFEqiAKHqjEYfUk,198 +jedi/third_party/django-stubs/django-stubs/utils/encoding.pyi,sha256=e-_D5ZVUcDKL6yXDbcj1BpXsovmfiOogb9ioT1j0vl0,2416 +jedi/third_party/django-stubs/django-stubs/utils/feedgenerator.pyi,sha256=fxf5z74HoHuKF_W1XVOxHMs1VbbD233GHN1o2pkMl68,2677 +jedi/third_party/django-stubs/django-stubs/utils/formats.pyi,sha256=WLkueQDaB2Gg2MTb_SxnFkpQpR49O6ogaZEKhy2JGFQ,1271 +jedi/third_party/django-stubs/django-stubs/utils/functional.pyi,sha256=_k802K-xEtUcEFBrH09Sxsh_7ObZAARVF12UAMGqkug,1923 +jedi/third_party/django-stubs/django-stubs/utils/hashable.pyi,sha256=l25xFctJPg50l6Y129bvdAFJc8QqefkXx40amy6LkhU,66 +jedi/third_party/django-stubs/django-stubs/utils/html.pyi,sha256=uRHTbSOfG3lG2pwS5CdKwRmnfAC2DSgG7UoWkrXZRFM,1366 +jedi/third_party/django-stubs/django-stubs/utils/http.pyi,sha256=zUCz7anMbyPWISp458GPg3TfnE6iehGn1LPBsPE6ru0,1544 +jedi/third_party/django-stubs/django-stubs/utils/inspect.pyi,sha256=4ifnyH12SSqy2OzqUkuJxvFGTkiirblPt4eo1Xu8GyI,391 +jedi/third_party/django-stubs/django-stubs/utils/ipv6.pyi,sha256=_VLusX7GiWNffbeDTqd_jnJPOdxyVS179DFuB61CjhA,168 +jedi/third_party/django-stubs/django-stubs/utils/itercompat.pyi,sha256=UpxNkxuzzgXwrBfRqew_8T5D5tx5WBsCTP933uGVHwI,61 +jedi/third_party/django-stubs/django-stubs/utils/jslex.pyi,sha256=_R3st8851lEA_sUS5i_Kneche-ZPrCtpIsBtzFQZS_U,748 +jedi/third_party/django-stubs/django-stubs/utils/log.pyi,sha256=yVMX_aEDnocTx6PpJgpvOLVqD-cCmBz9-DnFDpl5ckI,1501 +jedi/third_party/django-stubs/django-stubs/utils/lorem_ipsum.pyi,sha256=hM07Nj_QipTFShSP7PrhQxlwAlYcgcEpH3vXRF_gzcA,248 +jedi/third_party/django-stubs/django-stubs/utils/module_loading.pyi,sha256=sd6wFSrhzvHm648lgnvfdcmkR3PC8SPC925rP83DNkw,247 +jedi/third_party/django-stubs/django-stubs/utils/numberformat.pyi,sha256=tGq_aAmrf_lkWdZ4XUMlf4h0DUtc185bwfgJefaXYkw,344 +jedi/third_party/django-stubs/django-stubs/utils/regex_helper.pyi,sha256=REFgvf8HYnE-XsiepvPLjd2HZyMWlUJDC2ILtUDS0Ws,658 +jedi/third_party/django-stubs/django-stubs/utils/safestring.pyi,sha256=G4jCaiDDv7gb75b9pJFVMOVRZfnECaDk0JYn8jZmxag,629 +jedi/third_party/django-stubs/django-stubs/utils/six.pyi,sha256=fGwtJGbkPulV7pzqEeAdgzVv6z2mDiFtgtios6tWzS4,3408 +jedi/third_party/django-stubs/django-stubs/utils/termcolors.pyi,sha256=gqCN0etzSjG8bN21K_j1d1Jw0UaluPrlEznqx36bGek,517 +jedi/third_party/django-stubs/django-stubs/utils/text.pyi,sha256=ZbmkpySA5CNdPKorDNm5WHh0n0hcF7pp8vI_35z2Bw4,1583 +jedi/third_party/django-stubs/django-stubs/utils/timesince.pyi,sha256=7qwEhIWEQeKk71J8pQJzr7QCljggRtDHEs8-GUiiLOU,362 +jedi/third_party/django-stubs/django-stubs/utils/timezone.pyi,sha256=S6fV8Ub-gZuQzIPWx7RSlugjjcWQFDJVlPxFnq280tE,2714 +jedi/third_party/django-stubs/django-stubs/utils/topological_sort.pyi,sha256=vaxSleSm6rJ0axW_bodRRXA6a82056AxplxL7hbdwTY,297 +jedi/third_party/django-stubs/django-stubs/utils/translation/__init__.pyi,sha256=Xb8uG790oIzlgTor_Czpto7O1o3slls-Yb1gRKqzFvc,2232 +jedi/third_party/django-stubs/django-stubs/utils/translation/reloader.pyi,sha256=WysOUTcv4mLco3UizcmXdD5Im-HrD8nrBy71A_3Phd8,299 +jedi/third_party/django-stubs/django-stubs/utils/translation/template.pyi,sha256=H4yDCnEfEMFUE4OIMg1FJYn9cvj5CbQRv1zeokTe6QY,235 +jedi/third_party/django-stubs/django-stubs/utils/translation/trans_null.pyi,sha256=x7RjAzIctThGOsg6ZKE0NpO6ekKpl1TgsCxaop9G864,729 +jedi/third_party/django-stubs/django-stubs/utils/translation/trans_real.pyi,sha256=uXK53giQyz6hE5WsJPBCkBepZjw9Ljxhwhqk7MLYo_I,1815 +jedi/third_party/django-stubs/django-stubs/utils/tree.pyi,sha256=sR1J0tJzZIGobNu8-XiJ2qr94SlwiM164sF8lD5-8aE,799 +jedi/third_party/django-stubs/django-stubs/utils/version.pyi,sha256=kwDgHzvG-PW5Gs-2ch8lTduLItyo4asFa509YOQd15A,516 +jedi/third_party/django-stubs/django-stubs/utils/xmlutils.pyi,sha256=wGOSksvFX7wd6dl7Yoz836aEyZ-D6jxi4R9kBaaeEtY,433 +jedi/third_party/django-stubs/django-stubs/views/__init__.pyi,sha256=aq7HMnOVrisbvfSuGERsghE8UbQzyGkJq-QpU0Tcv9w,39 +jedi/third_party/django-stubs/django-stubs/views/csrf.pyi,sha256=IWUdDCiJjyVfGZHpN0fHH6nu7yYmVbXyDvWg-Bea23Y,274 +jedi/third_party/django-stubs/django-stubs/views/debug.pyi,sha256=4oGmtVDkDja_yZdqDmfpXGR7-UncwY28nsYv9posmrY,2781 +jedi/third_party/django-stubs/django-stubs/views/decorators/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/django-stubs/django-stubs/views/decorators/cache.pyi,sha256=HNIBcnkLIFOVKkhlD6NCF8hX3MWGBr6pclv27ty-1LY,303 +jedi/third_party/django-stubs/django-stubs/views/decorators/clickjacking.pyi,sha256=Ok9pqjwji2pR7WQPLtZ1CrRu0W9ahdyb-JaP6c4wq5c,247 +jedi/third_party/django-stubs/django-stubs/views/decorators/csrf.pyi,sha256=AWLjm6s5aCI5QnU96JbH6Y5UZxMrmpY227yLDq0jf78,477 +jedi/third_party/django-stubs/django-stubs/views/decorators/debug.pyi,sha256=wZ1YJ1dKztkQ6wd3ED0G6G4l4WuHSRcABy5qOlmFYCo,157 +jedi/third_party/django-stubs/django-stubs/views/decorators/gzip.pyi,sha256=Xjc5S0snvNoApW9JpvSQUhGypsjoCUE8bC0HwaVdL4k,129 +jedi/third_party/django-stubs/django-stubs/views/decorators/http.pyi,sha256=ZTJ_lLWuXIdnX80y1OA230O8ep50pxlSa2acazv-1gw,576 +jedi/third_party/django-stubs/django-stubs/views/decorators/vary.pyi,sha256=yKYeW6Fa4M_bbOYU0evNeMS_0ly-9ZCJonlkD_VqhRQ,181 +jedi/third_party/django-stubs/django-stubs/views/defaults.pyi,sha256=qnKCAJ0gMNl7y0DbyQRDVDm0WnR7iWhIAFZgsILVQqY,814 +jedi/third_party/django-stubs/django-stubs/views/generic/__init__.pyi,sha256=RMzs5h07bv50ftLnRSYnrWOJXkth7PTyU5odn0GCw68,637 +jedi/third_party/django-stubs/django-stubs/views/generic/base.pyi,sha256=EcfZBLJd_E_yktw5j8YYeCKO4OKdOnY8Pns7x9XT2BI,2239 +jedi/third_party/django-stubs/django-stubs/views/generic/dates.pyi,sha256=sV3GQ35fJCDh5I19zVFQkvEHhkIUeVyHqQ9UBRRBVRM,3771 +jedi/third_party/django-stubs/django-stubs/views/generic/detail.pyi,sha256=PNnYL1e7LJxYr71wI93v0kuwfra8YGOHZvD6-1wIodA,1090 +jedi/third_party/django-stubs/django-stubs/views/generic/edit.pyi,sha256=-ngfSEOCkreuUeU0XcL9s1eNWnZHlPw6VlxdUYvix5E,2234 +jedi/third_party/django-stubs/django-stubs/views/generic/list.pyi,sha256=-Hj-OCJw6BgmXFsUgNHSJfeeECrpyqbBWShSLxJaveU,1625 +jedi/third_party/django-stubs/django-stubs/views/i18n.pyi,sha256=uL-yCYqHyEFkfL2He_UTt_OnBnom8TlqhAquvxMd1Sc,1257 +jedi/third_party/django-stubs/django-stubs/views/static.pyi,sha256=tX0ADulNf2Yh6fJhKh6PSS9a8AsAt1gijAMu2iehhP8,461 +jedi/third_party/typeshed/LICENSE,sha256=tBt49WKi5lt1yrRDVDNfb0NdTvcwZVCWAKyRDPTiL-A,12658 +jedi/third_party/typeshed/stdlib/2/BaseHTTPServer.pyi,sha256=0VJgE581N-I4xIycM3XdZA3Ag9e5du0W2tzWwWvuPjY,1747 +jedi/third_party/typeshed/stdlib/2/CGIHTTPServer.pyi,sha256=pv5Xb3udKa7NXOLe3MI__b_zP6a0wmYuFmOYP_N3kuc,187 +jedi/third_party/typeshed/stdlib/2/ConfigParser.pyi,sha256=lFmtKNTfILcHhIRgVu3-d0jKhaBtggGm9qSjqmIBH-Q,3869 +jedi/third_party/typeshed/stdlib/2/Cookie.pyi,sha256=Ke_iU9vRRHFMkJrben9gxXLss3nTR0bw5ZPvN_abYdc,1342 +jedi/third_party/typeshed/stdlib/2/HTMLParser.pyi,sha256=4mV-tgsweFHjVH6VFVR6pwxsUJt8Ttszq4Ka3gtSOPA,1064 +jedi/third_party/typeshed/stdlib/2/Queue.pyi,sha256=jVv-Ahqmn2SC748u_-61UeRcrK4cQXiQbm5lVgxCDeM,895 +jedi/third_party/typeshed/stdlib/2/SimpleHTTPServer.pyi,sha256=kgfdaGTvBrw515C2tKgPM6PBG1vx8Uym30edR9hVnoU,648 +jedi/third_party/typeshed/stdlib/2/SocketServer.pyi,sha256=4V7NHwSn6jAPavRtz1w8bBwPNNXvGL02UYQAlm6bA-c,4559 +jedi/third_party/typeshed/stdlib/2/StringIO.pyi,sha256=GBqd-c4z25y99oSUVcsEMh98LoMruu1ZOb0AE5UOtzk,1146 +jedi/third_party/typeshed/stdlib/2/UserDict.pyi,sha256=h0miLRBjzRA6LL-sfVhN5lIN19AjToRaByhueNrVxoQ,1663 +jedi/third_party/typeshed/stdlib/2/UserList.pyi,sha256=aDxMr5yhCHPZT-SacAYmju5xaCquHi1Nk_z_rZRvHN8,630 +jedi/third_party/typeshed/stdlib/2/UserString.pyi,sha256=3391hc_oGw3FFPX1zlPbil5GVZbqKqlLbGup-08BnLE,3844 +jedi/third_party/typeshed/stdlib/2/__builtin__.pyi,sha256=-CqbxZmdacwEbwoRuybLasluru9S8wSSaWEfq57ZfU8,48853 +jedi/third_party/typeshed/stdlib/2/_ast.pyi,sha256=36MwM7zIYwSWhw4G2sLtd-L8I9hAZs3lUEw4n_J88a4,5726 +jedi/third_party/typeshed/stdlib/2/_collections.pyi,sha256=cMqBXKAr1o6kdqDM8RkZNclFduh0s-QAv-jUmpUYHc0,1430 +jedi/third_party/typeshed/stdlib/2/_functools.pyi,sha256=rDxIud_hO61m7kUqrvpkJT4mwoiyOvTxqMejOjY5nhM,576 +jedi/third_party/typeshed/stdlib/2/_hotshot.pyi,sha256=ffVl3P1C-rfN5DN6smwzDGDOoUNEasmNkrMKo5mnTbc,635 +jedi/third_party/typeshed/stdlib/2/_io.pyi,sha256=JoQeS8uF6Nz0yz_qbFHinI5YarcMPl7fkWpWv5aHwtQ,7016 +jedi/third_party/typeshed/stdlib/2/_json.pyi,sha256=VGD_NDPa30SGzHZ17hKmgnCk91AhGeOP_klprIkApio,226 +jedi/third_party/typeshed/stdlib/2/_md5.pyi,sha256=pGqwb01a_RcSP1QRE8XtVPB0RKaoJOGuRdVk6pwvEag,300 +jedi/third_party/typeshed/stdlib/2/_sha.pyi,sha256=32F3_E2nGplztFti0fx5GwfPqobLiyg2rtTLHopfCw4,348 +jedi/third_party/typeshed/stdlib/2/_sha256.pyi,sha256=1Z5g4wLOL9-z6gasal2kMoBb7yBHPJMFSCgPts_GTRM,632 +jedi/third_party/typeshed/stdlib/2/_sha512.pyi,sha256=6AyOELlW_oDueP9i8yvirht0BdJO0itNx9-deuMYCeA,632 +jedi/third_party/typeshed/stdlib/2/_socket.pyi,sha256=wVuvH1tMPqjPe89bG7pmVsuaXZJfSdvw4qWRD9geQBU,6286 +jedi/third_party/typeshed/stdlib/2/_sre.pyi,sha256=mcck_gioJ8R-V4cW7y7GuCuOihgfKTGcP8RSV_eO6l8,1934 +jedi/third_party/typeshed/stdlib/2/_struct.pyi,sha256=cAuIIq62g6PJsL_G5z16j4v5aTGqYDM6j69kyRcPIsM,767 +jedi/third_party/typeshed/stdlib/2/_symtable.pyi,sha256=LLeUYtJkj_EBmkpwSffnopwY_lsPpopzvM-kXQOwg_I,677 +jedi/third_party/typeshed/stdlib/2/_threading_local.pyi,sha256=1y8WTQOMyBV6cA0BZRbm0Q7bDtCDciIspnuKwYHTrd8,319 +jedi/third_party/typeshed/stdlib/2/_winreg.pyi,sha256=4Q60Z4nLxuUQi1LRbBAKKdAOy0Ir5b-2Bk-RDhYYsU8,3696 +jedi/third_party/typeshed/stdlib/2/abc.pyi,sha256=tzQd1K85KZQBh7b4lulFwkRc2GitR7uplj5toNIJsCA,1147 +jedi/third_party/typeshed/stdlib/2/ast.pyi,sha256=fkVIuq6FiMNU3VMVnZmttTt4-OLZ-CfNMoGexWCZLh0,1199 +jedi/third_party/typeshed/stdlib/2/atexit.pyi,sha256=Zx4nX1WyFC_XDP2Pp17lXrMMJiaCjCut0VWHgtXWBok,117 +jedi/third_party/typeshed/stdlib/2/builtins.pyi,sha256=-CqbxZmdacwEbwoRuybLasluru9S8wSSaWEfq57ZfU8,48853 +jedi/third_party/typeshed/stdlib/2/cPickle.pyi,sha256=FR7Mq3gugr2YQWV0TgHkrE0e-UgEB7OrklOlOg66vdc,795 +jedi/third_party/typeshed/stdlib/2/cStringIO.pyi,sha256=PQQ1dSSTlVi-NTl8Qv0IKwYATynJuLz14g6b27C0G-s,1870 +jedi/third_party/typeshed/stdlib/2/collections.pyi,sha256=5psNp9WgNtInnDK2-chmkny_9NkQcbG7TeFsQZCiX6c,4913 +jedi/third_party/typeshed/stdlib/2/commands.pyi,sha256=nGsS9_5mqYgZqIx-g-A0eQ4Vd9WQWvp53Fv8PEpAeic,329 +jedi/third_party/typeshed/stdlib/2/compileall.pyi,sha256=gx2rOct4wjjTrX8pbrd0ZR3CPNiQkjP1OQ1LARDIftw,628 +jedi/third_party/typeshed/stdlib/2/cookielib.pyi,sha256=f3yMHlsN0iK7oqGhGUD2_0lEHw3mljQ00itXN6T6Qwg,4716 +jedi/third_party/typeshed/stdlib/2/copy_reg.pyi,sha256=-GmSIudewg4xblZXLSvErhpunAMi1bsqdQUEXujpFlI,739 +jedi/third_party/typeshed/stdlib/2/dircache.pyi,sha256=cOqJhmlvq7Vl92FUWcfQGX7aedsgjCOYPTuyZEKD2uo,273 +jedi/third_party/typeshed/stdlib/2/distutils/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/stdlib/2/distutils/archive_util.pyi,sha256=WaUu32XUCstlA4zE0WS-PvA9UF0mdyuDgDbZZd1LN0A,447 +jedi/third_party/typeshed/stdlib/2/distutils/bcppcompiler.pyi,sha256=fge2cMbG4jp--o0I2zNcwykh24tJWZtk6leQgAH2NJw,78 +jedi/third_party/typeshed/stdlib/2/distutils/ccompiler.pyi,sha256=N38wYG41RyiEuowx_ZvpZIqVVZYiz1NGcGHHDJ9MbWs,6449 +jedi/third_party/typeshed/stdlib/2/distutils/cmd.pyi,sha256=SywVh_oj7uAo1tmMjytIafcLCJMfAtMFFZe9Q3vA6Yg,2817 +jedi/third_party/typeshed/stdlib/2/distutils/command/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/stdlib/2/distutils/command/bdist.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/stdlib/2/distutils/command/bdist_dumb.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/stdlib/2/distutils/command/bdist_msi.pyi,sha256=sDSqH7TRcOiXC5S4VXxJ_YHB-WFPpa1fo8F8g5XeV3Y,182 +jedi/third_party/typeshed/stdlib/2/distutils/command/bdist_packager.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/stdlib/2/distutils/command/bdist_rpm.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/stdlib/2/distutils/command/bdist_wininst.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/stdlib/2/distutils/command/build.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/stdlib/2/distutils/command/build_clib.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/stdlib/2/distutils/command/build_ext.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/stdlib/2/distutils/command/build_py.pyi,sha256=z4m9RU6PID-qalM7jzvc2mIWMwk0saczeEmqq9qleH0,181 +jedi/third_party/typeshed/stdlib/2/distutils/command/build_scripts.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/stdlib/2/distutils/command/check.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/stdlib/2/distutils/command/clean.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/stdlib/2/distutils/command/config.pyi,sha256=DV1oMIztVDdk46W43HGioP_n6b3x9FgSqvFr2rwPVoY,3059 +jedi/third_party/typeshed/stdlib/2/distutils/command/install.pyi,sha256=BCv1Lbe-6AHxtaHuhIGd3nOtN-efRmZI-xvpxwKd4Fk,338 +jedi/third_party/typeshed/stdlib/2/distutils/command/install_data.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/stdlib/2/distutils/command/install_egg_info.pyi,sha256=WcnLycNSSWSZ8Z_vHIohu0-3qKnCih2qoJaGBPtjQGY,380 +jedi/third_party/typeshed/stdlib/2/distutils/command/install_headers.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/stdlib/2/distutils/command/install_lib.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/stdlib/2/distutils/command/install_scripts.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/stdlib/2/distutils/command/register.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/stdlib/2/distutils/command/sdist.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/stdlib/2/distutils/command/upload.pyi,sha256=Sv7tBpCnOzInTz9nVhZeo6Waz4brX1PtS51GKzQNwOU,296 +jedi/third_party/typeshed/stdlib/2/distutils/config.pyi,sha256=M4b9_7PKsO74DhsIBFoTAB5I99hXrlBJcjxghWhI8vc,523 +jedi/third_party/typeshed/stdlib/2/distutils/core.pyi,sha256=lq1S8lRqeGqK6U3z7_UsVg2TR7xbx7Z2YXJ0ekIo9Vk,1688 +jedi/third_party/typeshed/stdlib/2/distutils/cygwinccompiler.pyi,sha256=Y7qhVOqXrkPT0yyQnudNCtTzBYC2lzS38HB5Mh45zEI,138 +jedi/third_party/typeshed/stdlib/2/distutils/debug.pyi,sha256=7_zuriUBqHbc62x7tCONq7LQXLuK_hCaBK0laoR3HeY,12 +jedi/third_party/typeshed/stdlib/2/distutils/dep_util.pyi,sha256=QCheHEDF7waISF42_aaumqvVOIcTw-yh5e5-CbPvQ2o,252 +jedi/third_party/typeshed/stdlib/2/distutils/dir_util.pyi,sha256=0nHuLCqZ36gvDVaF6PoC76_JOC3v6P_310eFauW1ZDM,555 +jedi/third_party/typeshed/stdlib/2/distutils/dist.pyi,sha256=DtSDKCXM6UsXnoN7zpt_vxjOgLJu8qeFY2RBcwaB8RM,508 +jedi/third_party/typeshed/stdlib/2/distutils/emxccompiler.pyi,sha256=FxHjF75rMcBNR4odfAyfbbayTXE-2tfbAkHtKxGgYHw,90 +jedi/third_party/typeshed/stdlib/2/distutils/errors.pyi,sha256=l1W_FgoP9L-D-hEPFA2BzZuybjN0lV4WBXl0VJ-k7J8,852 +jedi/third_party/typeshed/stdlib/2/distutils/extension.pyi,sha256=tsIOARiVdGDcvsnxVFxBa80iydfox_Bt6EGqlJsL7kU,706 +jedi/third_party/typeshed/stdlib/2/distutils/fancy_getopt.pyi,sha256=ai-0E83HnTOcYCWO9zq4tDVvnef04SRRoa-F8baso_o,859 +jedi/third_party/typeshed/stdlib/2/distutils/file_util.pyi,sha256=RFpiizXMdhhcji98pIscfHW4r6i9KLzM2D15gA6_eow,439 +jedi/third_party/typeshed/stdlib/2/distutils/filelist.pyi,sha256=-WeYFFKsEUUjPvbzeZbVCOKkPV-oqc3RoZvN2SB1VOE,20 +jedi/third_party/typeshed/stdlib/2/distutils/log.pyi,sha256=9vvQVRer-_-S5lcV7OHF1Ptr1N3npjKvzTVXReSpZKA,863 +jedi/third_party/typeshed/stdlib/2/distutils/msvccompiler.pyi,sha256=qQLr26msfhjz-omJutWcRHik3shLh1CIt7CDI3jBd3I,78 +jedi/third_party/typeshed/stdlib/2/distutils/spawn.pyi,sha256=iDdi2WvST9yeFDlKWy0Wlye-x67W-ah5nta7EuRW2W4,227 +jedi/third_party/typeshed/stdlib/2/distutils/sysconfig.pyi,sha256=FSdBoSTsVvKAF5D2lkWBwxH15ockfFZv6L06mrgeAb0,620 +jedi/third_party/typeshed/stdlib/2/distutils/text_file.pyi,sha256=vCQLwggDaocAqqR7v1WJjOeS_wgxqjI5xDkyxHJlzcw,716 +jedi/third_party/typeshed/stdlib/2/distutils/unixccompiler.pyi,sha256=R3VKldSfFPIPPIhygeq0KEphtTp0gxUzLoOHd0QoWW8,79 +jedi/third_party/typeshed/stdlib/2/distutils/util.pyi,sha256=KSpX8rQ6qJXqToJBKdwhlpe-jd1QQcacg7wsH_6dKXo,829 +jedi/third_party/typeshed/stdlib/2/distutils/version.pyi,sha256=PU7GKbMl1ivgTKVK54jB2fgIufr_hDCUgzjYyNXt-4E,1160 +jedi/third_party/typeshed/stdlib/2/dummy_thread.pyi,sha256=755Cy6AXyEo3RowYk0pQm5I5mkAIE3yQrkWImnrlHOA,794 +jedi/third_party/typeshed/stdlib/2/email/MIMEText.pyi,sha256=4Hjv1f-LZwoj-ihndmbQNHdwpjOy6wUOJoKS_axJmNo,159 +jedi/third_party/typeshed/stdlib/2/email/__init__.pyi,sha256=iUDv6ttU1qT359eOAubG1JtxNmrJGu8QxH_aXPvOz9w,270 +jedi/third_party/typeshed/stdlib/2/email/_parseaddr.pyi,sha256=oqGaUf13WZALSq7cyULZ0c_6iFKjH8rdnAfAkm6y3Hw,1072 +jedi/third_party/typeshed/stdlib/2/email/base64mime.pyi,sha256=Qb1Q4NHIbSJOcsZ8vUBqaPT-s6lWpj-YD1kI9DI6Xfo,303 +jedi/third_party/typeshed/stdlib/2/email/charset.pyi,sha256=VVEUOTe1XZ824-FhBuIBrSCB16hMAnQ1Ygseu3Noc_Q,902 +jedi/third_party/typeshed/stdlib/2/email/encoders.pyi,sha256=s8kQE5AG1wvh0h0qbNn3_As6ExYQccVdg6Bx2PKGu8E,143 +jedi/third_party/typeshed/stdlib/2/email/feedparser.pyi,sha256=cKLfhKboxZeJxceH5e_broSJZDa4teMu_ZJvZRhREQU,536 +jedi/third_party/typeshed/stdlib/2/email/generator.pyi,sha256=TOAFU4Cb0_a3EitMT62JWGtcoGuvgrfKlbWpNAmwEuA,377 +jedi/third_party/typeshed/stdlib/2/email/header.pyi,sha256=sCk_MfWl5P_bc5v9302SubX0hqgODtlpJsnPb6h-eC8,457 +jedi/third_party/typeshed/stdlib/2/email/iterators.pyi,sha256=vPq5eJF8HBwFQ1hS--niEmurSl4x42YOrU65TxKk0Jc,256 +jedi/third_party/typeshed/stdlib/2/email/message.pyi,sha256=M3XzQbdji1k8_hygt88priwEMJqWKRixQsN4qDLmfeU,1950 +jedi/third_party/typeshed/stdlib/2/email/mime/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/stdlib/2/email/mime/application.pyi,sha256=zlzwumM16ipPeDnDgS11A0hzIJ1LEegxL7g0-I3dSWw,371 +jedi/third_party/typeshed/stdlib/2/email/mime/audio.pyi,sha256=GYtzGiC2dTHTPD3Cm3uIUlBAQ_25NK2BsbbcuDbLZiU,176 +jedi/third_party/typeshed/stdlib/2/email/mime/base.pyi,sha256=lG1Re_xRHsaw4WRUnLh1Jyneb4M6m8kxqa0NUfwuONg,128 +jedi/third_party/typeshed/stdlib/2/email/mime/image.pyi,sha256=-HVa8k6js_9-sGt5jFg2SF-UjZ6cLP53T9GvRIVI63s,176 +jedi/third_party/typeshed/stdlib/2/email/mime/message.pyi,sha256=OwJjEUiejk2bc9FGqgbvz8Q6ZgQyAg9gphhDXPyXsLU,147 +jedi/third_party/typeshed/stdlib/2/email/mime/multipart.pyi,sha256=1pTSK5lU6L5AJG5H35PTIQtHYIplMoipa7Kkd_m9HNQ,159 +jedi/third_party/typeshed/stdlib/2/email/mime/nonmultipart.pyi,sha256=C9WcyywCzQqkL9MPpSlWHgChmP04r0rrWVw3VlSVHQo,107 +jedi/third_party/typeshed/stdlib/2/email/mime/text.pyi,sha256=4Hjv1f-LZwoj-ihndmbQNHdwpjOy6wUOJoKS_axJmNo,159 +jedi/third_party/typeshed/stdlib/2/email/parser.pyi,sha256=9QChl7gsm0KPwZHUYy5tR_kZkmQpdSnxCwuZTnp9ceo,415 +jedi/third_party/typeshed/stdlib/2/email/quoprimime.pyi,sha256=ZRJzHi-3Fszfa8nRpz6EpGYZdSpLyGc4K3pxr1uyMUA,490 +jedi/third_party/typeshed/stdlib/2/email/utils.pyi,sha256=Znm4b4ImavrJrwGc_6PcBqyhqo3zIbqDc7gSS_6NU0w,760 +jedi/third_party/typeshed/stdlib/2/encodings/__init__.pyi,sha256=q95Eqw-U2YICiPawMyarXy1iWCXsz1wV_793ZSg_4ek,184 +jedi/third_party/typeshed/stdlib/2/encodings/utf_8.pyi,sha256=tgCdNX8etJQWYWmOYAIZhK8lcYm_Kn67kylKJp0SgUo,573 +jedi/third_party/typeshed/stdlib/2/exceptions.pyi,sha256=i3AvRM6Osg9r_q5outQ4hn7COs0fyhsJizSH5M72G7k,1756 +jedi/third_party/typeshed/stdlib/2/fcntl.pyi,sha256=4A81Md4YTEt71UFrJWD8E4Pp7iQGMiXN5geQ1-AEuA4,1580 +jedi/third_party/typeshed/stdlib/2/fnmatch.pyi,sha256=8kgI-ZZR0lhAGSuQk0M0kt3cYrYRx29bwhIg9ESvLbs,348 +jedi/third_party/typeshed/stdlib/2/functools.pyi,sha256=t_xmkNhLllvRSRG-5X1uP9sW-IHgkAns8ts0uTLllrw,1180 +jedi/third_party/typeshed/stdlib/2/future_builtins.pyi,sha256=vkVYaUei63-XJqSnDDLn7KwkUyLpVwbP01ZGTRWlySc,194 +jedi/third_party/typeshed/stdlib/2/gc.pyi,sha256=5Lfpz5C3KDyocZ8qEKncV-mvf192A-3xlMModHwVFi4,752 +jedi/third_party/typeshed/stdlib/2/getopt.pyi,sha256=6hPbDzz4CuSglcyFspFGyWCNVW0AKygfMXPTD0LKI8Q,448 +jedi/third_party/typeshed/stdlib/2/getpass.pyi,sha256=5FZTPudjVwTRUD2BQJhOr0pyxEyTeXUxYmj_xt1VC0E,160 +jedi/third_party/typeshed/stdlib/2/gettext.pyi,sha256=FT_rx4GptZANYzTplDlzUgSQS7aNuiF0V-mYsJzK0eE,2285 +jedi/third_party/typeshed/stdlib/2/glob.pyi,sha256=q5eeP2SFk94tP3PwKZOVOdGhS-XoaGeyXiiKtWVdvwU,375 +jedi/third_party/typeshed/stdlib/2/gzip.pyi,sha256=YIsrQQFHmhyG8XrqIaWZV1glkmXHWa837LAk-f_ZDT0,997 +jedi/third_party/typeshed/stdlib/2/hashlib.pyi,sha256=46pv8pBLAtNJTc2Ndh_IadSJsmzUj_hH8xYzp_cgJFg,971 +jedi/third_party/typeshed/stdlib/2/heapq.pyi,sha256=oKTl_WDSRYheNCenxMjwR0rHAPfAltZ-xLrApwdB1N4,756 +jedi/third_party/typeshed/stdlib/2/htmlentitydefs.pyi,sha256=1dyH0i00daNQ_7gDuT-mxXzx-V_nDSRuF4q_vjkSUHg,114 +jedi/third_party/typeshed/stdlib/2/httplib.pyi,sha256=Pzw93K9nIBJ28c66a-GVmWSiZOaYwtOZB1e6P03adOI,5929 +jedi/third_party/typeshed/stdlib/2/imp.pyi,sha256=8qatIBDkbAIbC137jA5zRPVO9PRgIe8rDUwaceORVXY,1290 +jedi/third_party/typeshed/stdlib/2/importlib.pyi,sha256=N1OsqmcdpbeN7RTNU4s2zQgnoQhkwECT5z5bv035F-g,134 +jedi/third_party/typeshed/stdlib/2/inspect.pyi,sha256=WJqBL9pFUFyIEFEZGvIZOD6mW1AgywTV1UNtTMap-Dc,4692 +jedi/third_party/typeshed/stdlib/2/io.pyi,sha256=_9t3YnEw4vkpHSL39UdKGnOXiqy2L_ps-DZtqK1noPI,1136 +jedi/third_party/typeshed/stdlib/2/itertools.pyi,sha256=2kBOMB5H_2z8-Z-WGWYlSimAiKFNGH1-5inZJJPbe-c,5975 +jedi/third_party/typeshed/stdlib/2/json.pyi,sha256=gouCsXdr9Y4KBmiwsvl6oN8ULrxIAnL-zBiTRIiWGiQ,3206 +jedi/third_party/typeshed/stdlib/2/markupbase.pyi,sha256=GmpHjRP9pa1Ybup4LFHoYS0TKu9oh8EOqX5-CY2yNb4,264 +jedi/third_party/typeshed/stdlib/2/md5.pyi,sha256=RxbpEbnpbF491HuNmiN3legMGS-8W11hHBxE1tcy7b4,74 +jedi/third_party/typeshed/stdlib/2/mimetools.pyi,sha256=vZd4d0QRIrqrvjtei-P-uK-vhduilbUpT55hlBGzIFA,703 +jedi/third_party/typeshed/stdlib/2/multiprocessing/__init__.pyi,sha256=i3uPVztHhIhN7ZQjtUjwbR3qvjZnMAi4qKeE0x5JU5s,1921 +jedi/third_party/typeshed/stdlib/2/multiprocessing/dummy/__init__.pyi,sha256=YQzAQbXIOWxv1gTPvKeNeduNGN2r40OLyPYE7rCo2Vc,1392 +jedi/third_party/typeshed/stdlib/2/multiprocessing/dummy/connection.pyi,sha256=OkvPY8s58y6GC-8yF1y8QyqxZAoZHxeDPfHDOfJXnaQ,673 +jedi/third_party/typeshed/stdlib/2/multiprocessing/pool.pyi,sha256=H24VaPQgs8EFjcmWtI9dn4nvFsjCb7xIDv8xQzTR7Cw,2038 +jedi/third_party/typeshed/stdlib/2/multiprocessing/process.pyi,sha256=2AyzstRaJgHXufF7RSpgBgtVD3BmsdXFgd6SSRwJqKU,906 +jedi/third_party/typeshed/stdlib/2/multiprocessing/util.pyi,sha256=xjwHWnEAqauPnOxaopyvJ6irZXQOv7qZ07PRv0YzCnM,758 +jedi/third_party/typeshed/stdlib/2/mutex.pyi,sha256=lQeSSkY5dwRUOdavqMyCEafd8j5XK6Y76vYMH43tyuE,363 +jedi/third_party/typeshed/stdlib/2/ntpath.pyi,sha256=upbuNccYoJZOEeauXVuegAuTUMr9LsDZ6E0c9PCsJwI,2937 +jedi/third_party/typeshed/stdlib/2/nturl2path.pyi,sha256=_u8yHiGMMnRRTjQAs37HCefvy5193SJDBUZTw1nZ0I4,115 +jedi/third_party/typeshed/stdlib/2/os/__init__.pyi,sha256=njHsqKbPSqEyAtvIOGFdEva0es8A5Siemx_9wu92JZE,13380 +jedi/third_party/typeshed/stdlib/2/os/path.pyi,sha256=upbuNccYoJZOEeauXVuegAuTUMr9LsDZ6E0c9PCsJwI,2937 +jedi/third_party/typeshed/stdlib/2/os2emxpath.pyi,sha256=upbuNccYoJZOEeauXVuegAuTUMr9LsDZ6E0c9PCsJwI,2937 +jedi/third_party/typeshed/stdlib/2/pipes.pyi,sha256=OTfpqql0CUZDbJx-Ka4gWuoDub7FsF7bH7N1PplvU6s,467 +jedi/third_party/typeshed/stdlib/2/platform.pyi,sha256=E8pD_04NuJTBrY5bFIdiAgncffdCfeKjgq_mV_uwIZs,1536 +jedi/third_party/typeshed/stdlib/2/popen2.pyi,sha256=dyNtDrnabvCpQVm7i8TVQpDMIvWKoK_2otJgd41hUYI,999 +jedi/third_party/typeshed/stdlib/2/posix.pyi,sha256=KdclicEcb0wBRDaJhr_avbFQJ3HOYr3U7ZZOyoZjpyo,6396 +jedi/third_party/typeshed/stdlib/2/posixpath.pyi,sha256=upbuNccYoJZOEeauXVuegAuTUMr9LsDZ6E0c9PCsJwI,2937 +jedi/third_party/typeshed/stdlib/2/random.pyi,sha256=MSUCctD3w_mmXrrjtfYKuQ2_DF-26GGNnvrhN8APGZ8,3156 +jedi/third_party/typeshed/stdlib/2/re.pyi,sha256=3pi-S5VeaGgnyZGfY9n0kaBqCR4n7bS5BFjPLt_8e_8,3641 +jedi/third_party/typeshed/stdlib/2/repr.pyi,sha256=Ic8zKDnkZLcpQmOGBLvScWrBx4sYHHmlA4gSoIrSQOM,1095 +jedi/third_party/typeshed/stdlib/2/resource.pyi,sha256=ZMxMAadyqjJ7Nmvu-GFPdy5XwG7RKunEkKu3LuRevPE,877 +jedi/third_party/typeshed/stdlib/2/rfc822.pyi,sha256=PYDCMDz6R87HI7iOVAVbqK4Sr7aTijXVK9kBsDw_KBE,2163 +jedi/third_party/typeshed/stdlib/2/robotparser.pyi,sha256=IpfpnvNmCtN84yyZR9TmNdCQA7F1M5MQcqbUdkwoPXQ,230 +jedi/third_party/typeshed/stdlib/2/runpy.pyi,sha256=D-ttE7Yt0BQGuEMaHf5GUyzWrdW_onB8qwW1Opwrn_E,541 +jedi/third_party/typeshed/stdlib/2/sets.pyi,sha256=hbfbabNHU03vRbZSQ2o1QyghdUm5J5w1eNXpFzHM8D4,2975 +jedi/third_party/typeshed/stdlib/2/sha.pyi,sha256=35pkvQygB0J3E1etUSO_ijjsk_H8Q8k6EYjuNMLFHQQ,236 +jedi/third_party/typeshed/stdlib/2/shelve.pyi,sha256=ac7Jr7saU4x3m9hQIQzPKRhuRJqAQO5_uLvwxcs6u9o,1612 +jedi/third_party/typeshed/stdlib/2/shlex.pyi,sha256=gs-tAXy6la_1_qoR0tQhxfMzXXGWDC3qoir1ofNnOd4,1025 +jedi/third_party/typeshed/stdlib/2/signal.pyi,sha256=qEcMv8og5esD8oDAycqwzU276cqYm6_61n-41UVOJ1c,1571 +jedi/third_party/typeshed/stdlib/2/smtplib.pyi,sha256=8wiSP1iFF9-l9IKgh8p6S0rGwLuguGQfFH3xyWPh4ec,2542 +jedi/third_party/typeshed/stdlib/2/spwd.pyi,sha256=BDoGUDub7DFTKhD_tzXW6DbD3uGX15Ujm2DzuFF_cvA,308 +jedi/third_party/typeshed/stdlib/2/sre_constants.pyi,sha256=T6kBTKeYYGkM83SbbgVx9L38eaZgqEY-AkgfCLr9GbU,1744 +jedi/third_party/typeshed/stdlib/2/sre_parse.pyi,sha256=meZYm_VskCn193qP3aV71kf61HJ8KWYKT55LISLYP9Q,2311 +jedi/third_party/typeshed/stdlib/2/stat.pyi,sha256=Tzy8jDY2wz2pZucTjKwCHly-4C9c3bhLBpQaZW8zk7o,992 +jedi/third_party/typeshed/stdlib/2/string.pyi,sha256=WRgPuXahi1tCgo4iM7HQI7fr4qcc1gOanuuA0Cjh1Qw,3567 +jedi/third_party/typeshed/stdlib/2/stringold.pyi,sha256=cefNX8V9XsaCmguO3e32tYNdfUnfMHZ48Gu8smUUCuw,2010 +jedi/third_party/typeshed/stdlib/2/strop.pyi,sha256=kF2oXemBZd_VaHlTzV19pp9fi8iwcVsq8avQS8YwdXc,1157 +jedi/third_party/typeshed/stdlib/2/subprocess.pyi,sha256=JV6VJpxGqVfwky5ZAmL54wLvYHwEucisA1xWCZunUKA,3282 +jedi/third_party/typeshed/stdlib/2/symbol.pyi,sha256=gmMHvO88vurNaeIXHNnl7UgNPg0gdf8D6iuxX5aTJiM,1341 +jedi/third_party/typeshed/stdlib/2/sys.pyi,sha256=L0K5SKIRsKdL_WJIz735YgaSPvxBXtVPHWY0dvxumZ4,3616 +jedi/third_party/typeshed/stdlib/2/tempfile.pyi,sha256=BbSxin5u5F2m-KXj0ucDGPMIIxyv_lO-VJSpLQa14bY,3696 +jedi/third_party/typeshed/stdlib/2/textwrap.pyi,sha256=8VV3JRR4Lq73UZ4t9gtYOBeM-YcbOCaGbUDPmKHQeJM,1854 +jedi/third_party/typeshed/stdlib/2/thread.pyi,sha256=P3v99RXZZFRPUzpe9St8fswlzP4IEStuPFKdlwlUJvk,920 +jedi/third_party/typeshed/stdlib/2/toaiff.pyi,sha256=FA2QwiYCh-YuKQyMuSj4DhQQo9iTASevNspzkoWfRB4,243 +jedi/third_party/typeshed/stdlib/2/tokenize.pyi,sha256=NC9RJ7aJxIBijxom_sURphAu-rVlnF8j0cHhY_VbJkc,2686 +jedi/third_party/typeshed/stdlib/2/types.pyi,sha256=YKV40Mmm-geFO0fRjHduzNW-0RRYjhOgzoeKWkBVKJo,5465 +jedi/third_party/typeshed/stdlib/2/typing.pyi,sha256=eVRiPuinpIP89d6cVv8AK1x1DlXngv32iRpORi8yNc0,17772 +jedi/third_party/typeshed/stdlib/2/unittest.pyi,sha256=a7yf589r5b0mArYulqLfbvmW8NdJNTnHXZh9rclXTVQ,12726 +jedi/third_party/typeshed/stdlib/2/urllib.pyi,sha256=upPSXvIUWm-CLSW7TwMXageO9i3zNZMpOWzlWR9mmyQ,4765 +jedi/third_party/typeshed/stdlib/2/urllib2.pyi,sha256=xZez6mOO-ku7JSJAEnfZK-Epo0Atd5ZMTfooXukDA6c,8312 +jedi/third_party/typeshed/stdlib/2/urlparse.pyi,sha256=rQEJa_Oyy2KoO9WWgonvFDCfkDgfTgqReuGRU8ky1f8,1944 +jedi/third_party/typeshed/stdlib/2/user.pyi,sha256=Mz3QGfgG58h1uuCR-b9r_Pv8L-vA8oH4I4NN6L6hfC0,83 +jedi/third_party/typeshed/stdlib/2/whichdb.pyi,sha256=k7vfuOkgz6kZd_6mVSsP36DBR16mfRZNpO0kngswZEg,85 +jedi/third_party/typeshed/stdlib/2/xmlrpclib.pyi,sha256=6H5putpgG72kUD6x5OLeJKtMzXkvrMMOkNx-zShk27U,9769 +jedi/third_party/typeshed/stdlib/2and3/__future__.pyi,sha256=b7dmNhiJdcJM2cyLfX1i73MNfiVwTUfMmyOdZzBU2fw,587 +jedi/third_party/typeshed/stdlib/2and3/_bisect.pyi,sha256=MURhFGAf_n_yms64euXpOGBeEY3932tibeH9gkxDsQc,471 +jedi/third_party/typeshed/stdlib/2and3/_codecs.pyi,sha256=i_rEwDVsWLSSK7M1ShCr3jZ79V9MwQY4on1CF8PBQ74,5308 +jedi/third_party/typeshed/stdlib/2and3/_csv.pyi,sha256=OZpwhCxRKWUNfzD-TFlmjGgx1WnbSAY1f5CruGAieEc,1574 +jedi/third_party/typeshed/stdlib/2and3/_curses.pyi,sha256=nI5pvFuJzbmoa8ZOIZ4I94UPStHtWM_wQsO84a8J4pw,13596 +jedi/third_party/typeshed/stdlib/2and3/_dummy_threading.pyi,sha256=__eLfXz1Hygl5swKoIL4JZtQ-JBIKkr-yExKwKl6eD0,6309 +jedi/third_party/typeshed/stdlib/2and3/_heapq.pyi,sha256=heTQYQlAQ5f-78bm3rPkSeoQWoxIQ4_pX44TcFx0AGE,612 +jedi/third_party/typeshed/stdlib/2and3/_msi.pyi,sha256=tAOc34He8wJWmW1WsINZxT0ns-a8zYfV-rlhnDKzg-g,2168 +jedi/third_party/typeshed/stdlib/2and3/_random.pyi,sha256=Ot_yeMIsjSxwYFMkes_URP2OlZqzRePVeYaCbnQr-qI,478 +jedi/third_party/typeshed/stdlib/2and3/_typeshed/__init__.pyi,sha256=auqNqMA9bWUD9jKmsHaWidPPnFFcc0M4c4a9M3nHChU,4615 +jedi/third_party/typeshed/stdlib/2and3/_typeshed/wsgi.pyi,sha256=n0p7egUjhY7Hni-BwmOZd1OpOWy_GkpNDKDYHHHcrKE,1293 +jedi/third_party/typeshed/stdlib/2and3/_typeshed/xml.pyi,sha256=sWVM_2a0LZudB2irKi_UO4fJHhMiYz8OFLeTtvhByz8,528 +jedi/third_party/typeshed/stdlib/2and3/_warnings.pyi,sha256=5h2niNh47xb7G7p6MOvQSj-NVnFJf_hiwyO4aLN05BY,2233 +jedi/third_party/typeshed/stdlib/2and3/_weakref.pyi,sha256=-638OW7gOKVYT51Bp8QkXKc13qvnhpl_6NCQCvdaY6s,1200 +jedi/third_party/typeshed/stdlib/2and3/_weakrefset.pyi,sha256=FY1Fl7JZpGeVBFKZV3MhCGOR8WoD8jGnH6g7Gd_0OW4,2417 +jedi/third_party/typeshed/stdlib/2and3/aifc.pyi,sha256=R9iiBcPS2xH4RSRcwydKcpWuxhDP4K4HANvaYLsERKk,3393 +jedi/third_party/typeshed/stdlib/2and3/antigravity.pyi,sha256=hXe2_7W39SOiBPpQJb8e-9pre8_0DIGWXRZY1IFp-6c,123 +jedi/third_party/typeshed/stdlib/2and3/argparse.pyi,sha256=7AG5GfwwiCJe3UqjaIRP5xtbyRNKCyqOunne245uml0,18335 +jedi/third_party/typeshed/stdlib/2and3/array.pyi,sha256=VADSEevIbSyboD2_W-2eF51q8nJp2QcgPF5d0Siqp_c,3489 +jedi/third_party/typeshed/stdlib/2and3/asynchat.pyi,sha256=v-upDoOfXdG1839UdJj6wkBosW0914umWN-BOjaGrwM,1555 +jedi/third_party/typeshed/stdlib/2and3/asyncore.pyi,sha256=OS5PpOKzhv4BM7wNNTDgky5rJtoFE1yuz-ZIZ7bPwdc,5534 +jedi/third_party/typeshed/stdlib/2and3/audioop.pyi,sha256=lBRWVdim8hPgzNwMIWQSs_nvv7b7uoBqjuEbXG7FiqM,2119 +jedi/third_party/typeshed/stdlib/2and3/base64.pyi,sha256=E8MqdBGhXIjIXkqSkLdkS6645St1pMYR59syRKr5oeQ,1614 +jedi/third_party/typeshed/stdlib/2and3/bdb.pyi,sha256=dZP-An_qNDJXxMzWsIX1fcTIoc3qI-WIm48BS3gAJLk,4644 +jedi/third_party/typeshed/stdlib/2and3/binascii.pyi,sha256=HgN_QgHsAdhRgpelHyZsSWnup-Tce23veb46498Mo6U,1552 +jedi/third_party/typeshed/stdlib/2and3/binhex.pyi,sha256=KPO4jyuFjgvRV1ryvanL0j0cIThoIoDisYOz3TBm_nw,1147 +jedi/third_party/typeshed/stdlib/2and3/bisect.pyi,sha256=sQn9UUS0Cw5XZMEGcEj8Ka5VKPVobL43Pex_SagjXg8,67 +jedi/third_party/typeshed/stdlib/2and3/bz2.pyi,sha256=RO-rYMH1TpprITXeCtqhU5TM6I7gQDRutpgh_bSvZAo,2267 +jedi/third_party/typeshed/stdlib/2and3/cProfile.pyi,sha256=IhoIaaoA9_bIN4ifc6d0qX3kO1so5Lss17OCrBW8HcE,1239 +jedi/third_party/typeshed/stdlib/2and3/calendar.pyi,sha256=iB08ixpoedGoLTBZovdy7JavZEqFYF0kxwXctgez0qI,5773 +jedi/third_party/typeshed/stdlib/2and3/cgi.pyi,sha256=HUlFXoovlydtwen1RnQdlLPQC4a26fXe5wrAR0f38bM,6016 +jedi/third_party/typeshed/stdlib/2and3/cgitb.pyi,sha256=-5_uqith9S9ZHOXQf-2Z76Q3I7UeBX2kxRoijoQbvnI,1447 +jedi/third_party/typeshed/stdlib/2and3/chunk.pyi,sha256=juLgoUjtZJj3tExr1grorsVNUnVZtTgoJ8N9gj8opXs,613 +jedi/third_party/typeshed/stdlib/2and3/cmath.pyi,sha256=jSud27iMIBSTw2I2NhIUJa38VEC8X1h7YlN7SbQqWhk,1217 +jedi/third_party/typeshed/stdlib/2and3/cmd.pyi,sha256=-8dq1Td5QhOzLoBkeK3EZjYTfNvxJUTZHrBj0H03cl8,1658 +jedi/third_party/typeshed/stdlib/2and3/code.pyi,sha256=A9cTESdR37TyuZeiiIjfDJhI-0Baizcu_YGHZU6hqTU,1522 +jedi/third_party/typeshed/stdlib/2and3/codecs.pyi,sha256=DXqiWmZp5ZhfIw6zib357lvj9OnTmMmKgh8uQ6SBLu8,12312 +jedi/third_party/typeshed/stdlib/2and3/codeop.pyi,sha256=Ypyu2k5z5r6B2tNkO9JKM8YM-CBXT3SZUL0Ak8P8qag,489 +jedi/third_party/typeshed/stdlib/2and3/colorsys.pyi,sha256=JwCA0W2O9-JS0KA9u7kKNVJKRiu1ACOPzxy-SEKzDRg,578 +jedi/third_party/typeshed/stdlib/2and3/contextlib.pyi,sha256=sV5PoppaY5WggvWnKN7ZpAnKWFITWtTPV6CEPLnmrKY,4419 +jedi/third_party/typeshed/stdlib/2and3/copy.pyi,sha256=EOWzpARbTnxmkq3u6Om9nYpYG62ts2WqfquBObFQgxM,328 +jedi/third_party/typeshed/stdlib/2and3/crypt.pyi,sha256=_D__DDlGumti-2YksSJiOjFJ0tJbckFBKrszPdbtWrg,648 +jedi/third_party/typeshed/stdlib/2and3/csv.pyi,sha256=26HmvwJBnGEWObBRHj0xS0p68q1192_ygtQd2rEgB9g,2751 +jedi/third_party/typeshed/stdlib/2and3/ctypes/__init__.pyi,sha256=Br0DywqyGaVwHaWbgbIWZLnQYQ7Spa04Z4eU8TrHz-8,11893 +jedi/third_party/typeshed/stdlib/2and3/ctypes/util.pyi,sha256=fO9_MTBB4lpXUvuQzrFT4yuIzt9x_FsEWtW6kbAWtkg,163 +jedi/third_party/typeshed/stdlib/2and3/ctypes/wintypes.pyi,sha256=4mLfzJ8kXytQo4DDsO5HX13sZWXUcs-XdwPygO6MOE0,4642 +jedi/third_party/typeshed/stdlib/2and3/curses/__init__.pyi,sha256=e6zyQJFe4QJgc6mUK3ZqOqRTKGXq_QxJLXLs3vyVQHU,370 +jedi/third_party/typeshed/stdlib/2and3/curses/ascii.pyi,sha256=9MeRhsGJwmIcMsL77Ct9QOrt5TKS_JRtgjyv_nbmQZQ,1212 +jedi/third_party/typeshed/stdlib/2and3/curses/panel.pyi,sha256=Wsl42xkXk8GQesNABDijIoBVX5Nx8dGm6prO1-gxlyU,801 +jedi/third_party/typeshed/stdlib/2and3/curses/textpad.pyi,sha256=V-6r4xPbkITORxiUCAPV-QzWi69JZV0tZwO72HDbuU8,457 +jedi/third_party/typeshed/stdlib/2and3/datetime.pyi,sha256=vfY8l1ocVFixSnpqCIp6nGbp8NT1aU_hksSYpeAoTpw,12699 +jedi/third_party/typeshed/stdlib/2and3/decimal.pyi,sha256=94S0G8TK1ytezWJuoH_gHpnAeNswravx_BXo3nJO9Mc,17787 +jedi/third_party/typeshed/stdlib/2and3/difflib.pyi,sha256=gZTDgj3DFNFmIpbQ_Ju2zcsVT3xop8yB1JSbAi1XWz8,4936 +jedi/third_party/typeshed/stdlib/2and3/dis.pyi,sha256=3FFtM_e7jcMgzXw60pTLZZWMEO4nV3K6iZVuXwbSwXQ,3089 +jedi/third_party/typeshed/stdlib/2and3/doctest.pyi,sha256=kfWLoM--CjzB1TW3481RvTfVDOOgbQy1oL94-2joI2M,7083 +jedi/third_party/typeshed/stdlib/2and3/dummy_threading.pyi,sha256=ZI04ySfGgI8qdlogWtA8USUTFGfzm32t2ZxL5Ps53O8,79 +jedi/third_party/typeshed/stdlib/2and3/ensurepip/__init__.pyi,sha256=dTpEX_z-rFEqnQI3XvpxGCw-IE1aqUxZw6KEv0k86So,562 +jedi/third_party/typeshed/stdlib/2and3/errno.pyi,sha256=KDjlJTkt1sdcrwGgLkPMZlSwz1Dp0Xkt6PqEnqcLZWY,2011 +jedi/third_party/typeshed/stdlib/2and3/filecmp.pyi,sha256=z5T2uxVBjwdWIzrhR-zlRqIV9rg08EpUldQgr3-AfJ0,2566 +jedi/third_party/typeshed/stdlib/2and3/fileinput.pyi,sha256=01vjE75hR9lXLH-S_MN-RAeieTiBGcg4_of-zNyDmnU,2601 +jedi/third_party/typeshed/stdlib/2and3/formatter.pyi,sha256=lxpoZgWeuh3fyJu7ew4O00DBospTKRxateEK7f99zMU,4639 +jedi/third_party/typeshed/stdlib/2and3/fractions.pyi,sha256=VblZe5mtSJGL7fUSRronuksTeO24OLVAGghS_rEDpog,5936 +jedi/third_party/typeshed/stdlib/2and3/ftplib.pyi,sha256=4FqgC8unm_zR1CcpJalpHvRzODOmy0IuZk_Fggoercc,6278 +jedi/third_party/typeshed/stdlib/2and3/genericpath.pyi,sha256=Wob25JMIB38kmxD3fbyEmW_zOZ30A-0RR41OymvOg_E,806 +jedi/third_party/typeshed/stdlib/2and3/grp.pyi,sha256=fm0JOwvJ8CGCXSVWyqQuXFBPBfoVC8b5CyWTq-5fcvs,295 +jedi/third_party/typeshed/stdlib/2and3/hmac.pyi,sha256=DRSe8IPnvSQ6DCIhG8IFosACcpsOngQftNJRjEj4WkU,1607 +jedi/third_party/typeshed/stdlib/2and3/imaplib.pyi,sha256=d8rIKtUeqXt5O51dNweLcp_J6445KdC9aWJnGKR7zdI,8034 +jedi/third_party/typeshed/stdlib/2and3/imghdr.pyi,sha256=38fd4eD_xncwov0L7vvbaDGjKi9gGzLPbgsD3oe_I0A,604 +jedi/third_party/typeshed/stdlib/2and3/keyword.pyi,sha256=48hMnou7HbA580mGfRyd4uPgxmnbSt4KM_STSGMFzFA,210 +jedi/third_party/typeshed/stdlib/2and3/lib2to3/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/stdlib/2and3/lib2to3/pgen2/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/stdlib/2and3/lib2to3/pgen2/driver.pyi,sha256=FqgZDUSf1X9X55R7dm4YxYIIzu3zAXjB0x6T_zQl92w,956 +jedi/third_party/typeshed/stdlib/2and3/lib2to3/pgen2/grammar.pyi,sha256=zuKtRoL1GMizL8ij0akjhZVXH2mBsbb2LxJkFJPi0ME,733 +jedi/third_party/typeshed/stdlib/2and3/lib2to3/pgen2/literals.pyi,sha256=CSUI0I_W6I9fN-nb6rGgzLjGMIO0C6OwOmzYz-HEQZU,172 +jedi/third_party/typeshed/stdlib/2and3/lib2to3/pgen2/parse.pyi,sha256=Vd7LRmWw5Q9pWzYBbDsKAvL2NdyCZNEFCa0kysAtrsU,1107 +jedi/third_party/typeshed/stdlib/2and3/lib2to3/pgen2/pgen.pyi,sha256=ZhxquDht1cGiy0KiclTZSKGSctTRM21QTQDJEY38nC4,2140 +jedi/third_party/typeshed/stdlib/2and3/lib2to3/pgen2/token.pyi,sha256=YpBo_itTcpSXfWPpPFYEdTLcdEerPoAw8nuHpAGEo1Y,1065 +jedi/third_party/typeshed/stdlib/2and3/lib2to3/pgen2/tokenize.pyi,sha256=pA9uvZ22MHGVm37U1xhMEde2hUPvJQJBq6XDQ3Gzcts,883 +jedi/third_party/typeshed/stdlib/2and3/lib2to3/pygram.pyi,sha256=lyhgf6kpNVMPN6g6W-DSxt8E2_IyVguf7JjKzVhAmzc,2208 +jedi/third_party/typeshed/stdlib/2and3/lib2to3/pytree.pyi,sha256=Zz0sUjSMFvxHKpIPlvzNCRyJtzT2vEzYKPPGha8LRFk,3322 +jedi/third_party/typeshed/stdlib/2and3/linecache.pyi,sha256=mfzNP8AUc3yd_VahaBEaSYt7-zDAKneFa7rjFQE8sIU,591 +jedi/third_party/typeshed/stdlib/2and3/locale.pyi,sha256=t-y1NnMHom3HdCewxj1zq7-83xAEdC2FR7KC7P3K67w,2555 +jedi/third_party/typeshed/stdlib/2and3/logging/__init__.pyi,sha256=zMbblZS9jbaC4hrktbUu0rzfZKP_AKhN2shNU0kgh_M,28358 +jedi/third_party/typeshed/stdlib/2and3/logging/config.pyi,sha256=oreN5ILtTK6x7s5m0n7-wqM4fG3e4WYp8uRhu9Qmtl0,967 +jedi/third_party/typeshed/stdlib/2and3/logging/handlers.pyi,sha256=J36V-7X3w-tFAH57rE6YkYU20tvEDzQF_omTvHIPDp4,8847 +jedi/third_party/typeshed/stdlib/2and3/macpath.pyi,sha256=B6y98iSZAXQPkStHypSps3hvpzq4eBmfYL6uMyBYj4E,5330 +jedi/third_party/typeshed/stdlib/2and3/mailbox.pyi,sha256=IrYfGXuaCVIJDADHUZ-1D5OOvHHeULJdTsWySzYCL5I,8071 +jedi/third_party/typeshed/stdlib/2and3/mailcap.pyi,sha256=5MWzikKoMQEkohWxGbzZUPwY6E_g1-i-nvPQw13Zxwk,330 +jedi/third_party/typeshed/stdlib/2and3/marshal.pyi,sha256=zXZaX_H3VD9clK-iiNZz7f5GKDdG4_TriqlTPCBR6oM,253 +jedi/third_party/typeshed/stdlib/2and3/math.pyi,sha256=RA890_35QPnZF7K2393I3qhr0My1U62LVK2UjXyv9Fw,3835 +jedi/third_party/typeshed/stdlib/2and3/mimetypes.pyi,sha256=wEC12QuS8DXgpM9ZMB-SZ1Zh2GA494p-cRBZQvnV6dI,1641 +jedi/third_party/typeshed/stdlib/2and3/mmap.pyi,sha256=BZHJGHPpkicsCQSIgZOUZA62JaXkafcpm4Vj8cYZjsU,4006 +jedi/third_party/typeshed/stdlib/2and3/modulefinder.pyi,sha256=Pwx90XH7YRRF4Dm1mUNBtIP8xb-5eDwTi6bwl1x4k_o,3674 +jedi/third_party/typeshed/stdlib/2and3/msilib/__init__.pyi,sha256=vruWL_rWAZiYVXQMq4jwiqVTzrIXKw2g5PSf59FOJu4,6306 +jedi/third_party/typeshed/stdlib/2and3/msilib/schema.pyi,sha256=LEZZXliX-2N73ryhJtTAuTvP_RZVsD4i7S1CRTLNtik,2214 +jedi/third_party/typeshed/stdlib/2and3/msilib/sequence.pyi,sha256=XQC-7D28bgEuJzAFC7WIX86AtUBrQ7pC5Sc1JTyPwEk,356 +jedi/third_party/typeshed/stdlib/2and3/msilib/text.pyi,sha256=drG3KVxFc8MYRrdkm3oJWaivBvZecq6pdKoFEemvF2Y,202 +jedi/third_party/typeshed/stdlib/2and3/msvcrt.pyi,sha256=DDiTa2YmqkChpLzKr80n-ZOfJAXWb6YYB0RER013dHw,795 +jedi/third_party/typeshed/stdlib/2and3/netrc.pyi,sha256=6ipkr1k-p5Pve7y-PTtCH0sZqeFV19Aw33SkQddMJm0,444 +jedi/third_party/typeshed/stdlib/2and3/nis.pyi,sha256=CUnTx-mKL-YinbUfrvw8WIWLwuqu4PtSVZ9M2mxSSvY,322 +jedi/third_party/typeshed/stdlib/2and3/numbers.pyi,sha256=73gLvE-jPZrLxYYhVHJfA--xYyIjJJG9_06iU3Vdauk,4335 +jedi/third_party/typeshed/stdlib/2and3/opcode.pyi,sha256=k_DFbtjvSdVKzq72SSztF8K4GKK-tk_WMSITs6EKUTI,609 +jedi/third_party/typeshed/stdlib/2and3/operator.pyi,sha256=JoI0OeQjkMbyEoD4cYXn9R1CVf2GXNOlFKKkgKfUmZ0,7146 +jedi/third_party/typeshed/stdlib/2and3/optparse.pyi,sha256=6YXlTrzWD4rA0HUYfQ8odZlsCza7ln4bT9srOGv7d-k,10096 +jedi/third_party/typeshed/stdlib/2and3/parser.pyi,sha256=AZjxkjNl47Rk3MMk38Muh7gpibhfs6EeTrHNubEsgTA,966 +jedi/third_party/typeshed/stdlib/2and3/pdb.pyi,sha256=mppJ9PSllcPnOcziqt3ua1Ne-N8BKDC7_kCa0xCNc7o,10325 +jedi/third_party/typeshed/stdlib/2and3/pickle.pyi,sha256=HgJusFb0xpfdwPMgh689OtA9zWULEUC_ob_3bSQNVgk,5322 +jedi/third_party/typeshed/stdlib/2and3/pickletools.pyi,sha256=LekbII856jROKj6nerzKVY3tr0J3rjFh7aHiiB9fMHQ,4510 +jedi/third_party/typeshed/stdlib/2and3/pkgutil.pyi,sha256=EXApPfIH6cq6nCJ3dgWY27Z2vO95y0_4sjUspTLJRSA,1558 +jedi/third_party/typeshed/stdlib/2and3/plistlib.pyi,sha256=SufCK1SjP-QOhGd1VhStpLcdRiuoczBGX3KdB4C4ICs,2742 +jedi/third_party/typeshed/stdlib/2and3/poplib.pyi,sha256=CezxOiUqIikxqAv4df5G5rs2jqmGMIWYVfbYt2hvUZg,2500 +jedi/third_party/typeshed/stdlib/2and3/pprint.pyi,sha256=Eox19Bw2R4Uyl87ilwJHr38pEFhBdHRWC2TgW9A2T6E,2893 +jedi/third_party/typeshed/stdlib/2and3/profile.pyi,sha256=4mezNO66Y3vWX9SIftkcbeQcA3Swuc62yNxPkmmwk1w,1199 +jedi/third_party/typeshed/stdlib/2and3/pstats.pyi,sha256=trO8Oc7GQ4nRAdays5pWi5Viib1tKQwkwnQH0upmcJ4,2213 +jedi/third_party/typeshed/stdlib/2and3/pty.pyi,sha256=aCa6VBas1vNafTUiBCmFI-W9SR018bDjy1WtJmIqxOg,592 +jedi/third_party/typeshed/stdlib/2and3/pwd.pyi,sha256=s48Hp0pbMoMBpWg6glXl1ABEcLU4zLj_wV-PloenVI0,350 +jedi/third_party/typeshed/stdlib/2and3/py_compile.pyi,sha256=1A3_VdW5WwbifT-CTrSoXy0ZNFoN5zsqUUuUyPXJjfA,1642 +jedi/third_party/typeshed/stdlib/2and3/pyclbr.pyi,sha256=xirCZDC7Q7ffw0CZ3V6_62EbwCSSE4UXe0-DYatTLUs,1192 +jedi/third_party/typeshed/stdlib/2and3/pydoc.pyi,sha256=aHbKeX9juIvggS2xrKYVGkVBHvxJRBAJLMmtuYS5Xms,10660 +jedi/third_party/typeshed/stdlib/2and3/pydoc_data/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/stdlib/2and3/pydoc_data/topics.pyi,sha256=PLI9r9ujTHeIKw7D9GxCeB_LwxV17eUTauVx9AKiU8k,48 +jedi/third_party/typeshed/stdlib/2and3/pyexpat/__init__.pyi,sha256=XJx933QTavu4mJNP63uHUFwncDx2wlbv1O1DarVJQ9E,3404 +jedi/third_party/typeshed/stdlib/2and3/pyexpat/errors.pyi,sha256=TVdXkdX10ZCjPuBYAy3yNQzUJMo5lCjsl8bv4VJ8PU0,1275 +jedi/third_party/typeshed/stdlib/2and3/pyexpat/model.pyi,sha256=LlBMaLvt3TBD1JQSAQTYUrHKAfKNEeQYaDw5GsJA--g,205 +jedi/third_party/typeshed/stdlib/2and3/quopri.pyi,sha256=0zH--hEadPU_f_GNqwlxU8vrs2tqmPaLCO94BeZXCyo,343 +jedi/third_party/typeshed/stdlib/2and3/readline.pyi,sha256=-Yx9NN7kGQwlGTwubEhIUIFPiMHQJY0z8QbuCE8u7xo,1585 +jedi/third_party/typeshed/stdlib/2and3/rlcompleter.pyi,sha256=1aZLE2z6iAikB08PpAEuc-UeL63VZhgHYQpBT4ssVGI,308 +jedi/third_party/typeshed/stdlib/2and3/sched.pyi,sha256=D7Y2BV6CNyRrJNn0UwLp1sYVTxu1TMw_CR4U3HUs03Q,1497 +jedi/third_party/typeshed/stdlib/2and3/select.pyi,sha256=zpT6GIDgll2LngtzJbW2ZV1qLyJAMpLwJwLMKynskxI,4828 +jedi/third_party/typeshed/stdlib/2and3/shutil.pyi,sha256=O5GZv_Ion6daXUfCfJLjhNPfefuLArzzCK0cYWVVxuA,5961 +jedi/third_party/typeshed/stdlib/2and3/site.pyi,sha256=dG90RROJAZP04P8KTzbJOEm5w-5lbHPfP1tU5IbErJo,450 +jedi/third_party/typeshed/stdlib/2and3/smtpd.pyi,sha256=mKs96L0YHWx4Mk3DXIq0ROLiettU1muAHz_MoksxOwk,2935 +jedi/third_party/typeshed/stdlib/2and3/sndhdr.pyi,sha256=Kbdxb_xqFGOZzce1apkDVbj2dpoMWKplNAP5KNV6tRc,501 +jedi/third_party/typeshed/stdlib/2and3/socket.pyi,sha256=y2Db0P_TYtBdVuWiG3xXxsr0AbSxa5sXbyLf0or_wuI,22711 +jedi/third_party/typeshed/stdlib/2and3/sqlite3/__init__.pyi,sha256=aJu9MCNl8y9HCykdUpo1Z-LSiP3mxRSxrWkCsMxemYI,43 +jedi/third_party/typeshed/stdlib/2and3/sqlite3/dbapi2.pyi,sha256=hdn9VtF3aSsI-oGdY4XObtCo8kSUVGOPuZP51f2Z9aM,11315 +jedi/third_party/typeshed/stdlib/2and3/sre_compile.pyi,sha256=a7wV8OxkRzj0F1L7B02gcZrvMi5Uz87g2wG0pHvWtNI,1073 +jedi/third_party/typeshed/stdlib/2and3/ssl.pyi,sha256=igBbyUhdonNcvRkjzUaRf2r8LIOx1J2lwYzHVC9AEvk,14626 +jedi/third_party/typeshed/stdlib/2and3/stringprep.pyi,sha256=fqKAxHgpLExMmFDO66rJ-kFZS5mVKeWvK_qWQ2yvsWc,817 +jedi/third_party/typeshed/stdlib/2and3/struct.pyi,sha256=FnlORamrhrWi59qMGSXUL_px20rH8QAgFyrptIv3Qxw,1568 +jedi/third_party/typeshed/stdlib/2and3/sunau.pyi,sha256=8nruVjfJtTIU816plhmHsGL5VRubbsWem5hvWiyiONc,3085 +jedi/third_party/typeshed/stdlib/2and3/symtable.pyi,sha256=Dff6o3EDAli4Mzo-Jx8aSN9iiCxlEN-hC82OFaJOHVg,1645 +jedi/third_party/typeshed/stdlib/2and3/sysconfig.pyi,sha256=ISugdNUmN9ycQF8mHoiBL8zoy9As_QcIBRvRPbUTamY,843 +jedi/third_party/typeshed/stdlib/2and3/syslog.pyi,sha256=WbINKcwKTg5WFsn4f06K3-jriyoYXzqnOU9HwbAFbZY,821 +jedi/third_party/typeshed/stdlib/2and3/tabnanny.pyi,sha256=g_vgZl-PEUiu0JEx0LxnwPaDmgP65k9Hva0zVCIDUQU,447 +jedi/third_party/typeshed/stdlib/2and3/tarfile.pyi,sha256=1RRfYoQGC8KVZABw5FH0PGk5I3cgS90HWN_s-EoboRQ,8182 +jedi/third_party/typeshed/stdlib/2and3/telnetlib.pyi,sha256=TRsxrafitwtsxZ6m-KzsFEy-9uFpypw-r2bmW6Mz2lQ,2680 +jedi/third_party/typeshed/stdlib/2and3/termios.pyi,sha256=ZJKwv-a6e8w8frrD3Wgo_I66YNXNtQkhY59jymFZ-wI,3504 +jedi/third_party/typeshed/stdlib/2and3/this.pyi,sha256=5hi7CD2tChI9_genuMBxsS8GOFo0gAVvFGuv-_Uc9p0,50 +jedi/third_party/typeshed/stdlib/2and3/threading.pyi,sha256=__eLfXz1Hygl5swKoIL4JZtQ-JBIKkr-yExKwKl6eD0,6309 +jedi/third_party/typeshed/stdlib/2and3/time.pyi,sha256=jnR64tSQq-k6AOYxmFOxLD2FPFy71v0BPWsic4F1fVM,3900 +jedi/third_party/typeshed/stdlib/2and3/timeit.pyi,sha256=AXtKdk4M2pfi6_KCgmpkDujbaVuR1smNIgpz6_90fIQ,1623 +jedi/third_party/typeshed/stdlib/2and3/token.pyi,sha256=04p49poqkYTWUiSpb2syf7dX84i-eP_NBUXbJIkFcRY,1468 +jedi/third_party/typeshed/stdlib/2and3/trace.pyi,sha256=JzpexVtFU46sf7VlGb7mnpvyLMKxuco6OAk-pQRnhLM,2037 +jedi/third_party/typeshed/stdlib/2and3/traceback.pyi,sha256=O9stbkIrGRLbmSg-nBxrEFlEkk9Kxp-yJiQXnJzc5hs,5545 +jedi/third_party/typeshed/stdlib/2and3/tty.pyi,sha256=A25_a1yrTL55nQAsEpOWKsni215-75a4rAoFJ7g7Qr0,275 +jedi/third_party/typeshed/stdlib/2and3/turtle.pyi,sha256=sbaGlYhQbjQoqfJNX_mxNqMeJEqjNpuVQJe5L0Ci4Zs,19476 +jedi/third_party/typeshed/stdlib/2and3/unicodedata.pyi,sha256=AdW8_ww_4_Oh5undlAXiNUJF6elKYALIyc_cMMJsqpg,1902 +jedi/third_party/typeshed/stdlib/2and3/uu.pyi,sha256=j8lHTLVoMNPv2EJ1py5ozflgE5M1tHFrCOjydfSbPts,549 +jedi/third_party/typeshed/stdlib/2and3/uuid.pyi,sha256=NnP8AHc5cneMi37IHGdBBvmVqPSAlTUK_4qOfEYMMhA,3448 +jedi/third_party/typeshed/stdlib/2and3/warnings.pyi,sha256=byrds4TJ9vuk0d5ohkeFcm81yadHPfmudeFBE1JEQ8A,2583 +jedi/third_party/typeshed/stdlib/2and3/wave.pyi,sha256=EWn5CUj5JmmpZHDy6nfHuxkLSHhEZ8vPl-iH5rOeyrk,2651 +jedi/third_party/typeshed/stdlib/2and3/weakref.pyi,sha256=yK1h8AhDi0SMSMS3jih101FhTimqaZl_g-uIcc1hcNQ,4433 +jedi/third_party/typeshed/stdlib/2and3/webbrowser.pyi,sha256=Aic7NcY6wXkRP5SU66vAhrcWylwe8i78u2nzfenn7FY,3295 +jedi/third_party/typeshed/stdlib/2and3/winsound.pyi,sha256=i7oaOMrdRL5hMtBGZXQtB2jR_gIDcqltc0JMZPeTHMY,811 +jedi/third_party/typeshed/stdlib/2and3/wsgiref/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/stdlib/2and3/wsgiref/handlers.pyi,sha256=HkQCK0geDJd1kFX6FWlydyu7QWG-rcDM2P2BHXKAsrI,3125 +jedi/third_party/typeshed/stdlib/2and3/wsgiref/headers.pyi,sha256=j5-Y2n64U9US_Xld0JtgrWjA8eYlo6BOzu89HKdDsaE,1250 +jedi/third_party/typeshed/stdlib/2and3/wsgiref/simple_server.pyi,sha256=4pAabsnp0x4uyrHdtxchezvI8cudyl4F6K4VlCX5VFk,1528 +jedi/third_party/typeshed/stdlib/2and3/wsgiref/types.pyi,sha256=1qhS0qVWoV0IVfe3b1y4Mzhou65EPtwb_QLmWfX5_I4,71 +jedi/third_party/typeshed/stdlib/2and3/wsgiref/util.pyi,sha256=Ly4ctt2LOpbP9t5YeKU9wwov7iN1uFqeAtBjJ-O1HtU,893 +jedi/third_party/typeshed/stdlib/2and3/wsgiref/validate.pyi,sha256=YB_yhIz9Dl3b8s_-ASpzsPpRSpCwCuZ1jMaLAB_7q4g,1861 +jedi/third_party/typeshed/stdlib/2and3/xdrlib.pyi,sha256=yHZnDsb7h-kuMZ04mQip7YRjBSX-g900SOE0HhGyMl4,2315 +jedi/third_party/typeshed/stdlib/2and3/xml/__init__.pyi,sha256=BqMXnsXiYPoalMzEakn6mYDxgyW5N2UPF0Ao7xPuGVY,30 +jedi/third_party/typeshed/stdlib/2and3/xml/dom/NodeFilter.pyi,sha256=bi0L5SEOxk4FyEhf18oU-I8Msf9S9o_tJt-mVc93f28,457 +jedi/third_party/typeshed/stdlib/2and3/xml/dom/__init__.pyi,sha256=gjfWhkwyNoY8SeH6cztWZ9W8w9E4CLgCpHeP8vnHM5c,1844 +jedi/third_party/typeshed/stdlib/2and3/xml/dom/domreg.pyi,sha256=Sq02GZ6VRiXWCy2lUE1e47_EUDdr88rmWZoKCxH0fgQ,462 +jedi/third_party/typeshed/stdlib/2and3/xml/dom/expatbuilder.pyi,sha256=wI_eu1G8yaaquRHmZ9mYRgjy4zNNhJC385TjSMoamRg,77 +jedi/third_party/typeshed/stdlib/2and3/xml/dom/minicompat.pyi,sha256=wI_eu1G8yaaquRHmZ9mYRgjy4zNNhJC385TjSMoamRg,77 +jedi/third_party/typeshed/stdlib/2and3/xml/dom/minidom.pyi,sha256=DSNxhSfqdzlQQ5HjeRZHxB2mhshhLkDfeAmeOY5I9K4,287 +jedi/third_party/typeshed/stdlib/2and3/xml/dom/pulldom.pyi,sha256=wI_eu1G8yaaquRHmZ9mYRgjy4zNNhJC385TjSMoamRg,77 +jedi/third_party/typeshed/stdlib/2and3/xml/dom/xmlbuilder.pyi,sha256=wI_eu1G8yaaquRHmZ9mYRgjy4zNNhJC385TjSMoamRg,77 +jedi/third_party/typeshed/stdlib/2and3/xml/etree/ElementInclude.pyi,sha256=4e6cquTvRpyBS1UBTNomH5ghEtSzMHr3im5VwFAzvEI,873 +jedi/third_party/typeshed/stdlib/2and3/xml/etree/ElementPath.pyi,sha256=lJV3KlSWuf_anuM3hIRwdD-n-hpO4b7MzCKg0FxyFAE,1561 +jedi/third_party/typeshed/stdlib/2and3/xml/etree/ElementTree.pyi,sha256=YbNf8vOL8aKD-MjSJufTgeTcip6A270muX9zWiKQzDQ,14905 +jedi/third_party/typeshed/stdlib/2and3/xml/etree/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/stdlib/2and3/xml/etree/cElementTree.pyi,sha256=D25RVU5Y1Sai47EQ49UTStrYaY39HMqT1HUOZrSioRg,50 +jedi/third_party/typeshed/stdlib/2and3/xml/parsers/__init__.pyi,sha256=FHZYB9bXDrj4RiKUgrctpkuf7_Rms9PqQrGyjkn0EE4,34 +jedi/third_party/typeshed/stdlib/2and3/xml/parsers/expat/__init__.pyi,sha256=qmz8tuPGbZ2rBfRrfYANxDZNxn9BTQXdd9AugF5wDW0,22 +jedi/third_party/typeshed/stdlib/2and3/xml/parsers/expat/errors.pyi,sha256=mH9YRZuV4quzksDMLEmxiisAFgNhMOhl8p07ZzlS2XE,29 +jedi/third_party/typeshed/stdlib/2and3/xml/parsers/expat/model.pyi,sha256=M7GVdd-AxOh6oGw6zfONEATLMsxAIYW2y9kROXnn-Zg,28 +jedi/third_party/typeshed/stdlib/2and3/xml/sax/__init__.pyi,sha256=PuxAYEbGDZ-GvZFBPhpKAnN5935WR5dRWaGbhdUN1Nc,1389 +jedi/third_party/typeshed/stdlib/2and3/xml/sax/handler.pyi,sha256=lzRvfmcsC4Px11th3C-OB53OJgrSxHHTkgWKkFnYYII,1391 +jedi/third_party/typeshed/stdlib/2and3/xml/sax/saxutils.pyi,sha256=GPHCPJVekBwXRuRViACPSwgJ6WvTn3bKK7Vfy4hgFwA,2825 +jedi/third_party/typeshed/stdlib/2and3/xml/sax/xmlreader.pyi,sha256=6xszLDpI9jWetj83aFhYiq2XKeTvp6A1vj0gT2grXqE,2477 +jedi/third_party/typeshed/stdlib/2and3/zipfile.pyi,sha256=WDrnBqQDKJpsKwqAATU8DrbT4_9fi1ZtMz_6j1antOQ,7249 +jedi/third_party/typeshed/stdlib/2and3/zipimport.pyi,sha256=zdgTOt05qDHBEdkU8TmZXXu_VeX4BXptVsGnYu39eiM,1244 +jedi/third_party/typeshed/stdlib/2and3/zlib.pyi,sha256=fn9NyYniW7bGyLOaipjK0mBXQnUqlmowBBc5BPAM_gk,1692 +jedi/third_party/typeshed/stdlib/3.7/_py_abc.pyi,sha256=vReNkdPnizulbWOKGaxCg-6CslS4zvzEtheQOazNlxM,376 +jedi/third_party/typeshed/stdlib/3.7/contextvars.pyi,sha256=buC4sVtTFV1eqWvJ3Xd53ymdER7bHRY7RXGcN21HF68,1514 +jedi/third_party/typeshed/stdlib/3.7/dataclasses.pyi,sha256=KYjW7iSlZ42rrD1Z34CvtIjUSzOTm2lcLozDVSAOkSo,2737 +jedi/third_party/typeshed/stdlib/3.9/graphlib.pyi,sha256=Spt7N2qI_jP87TY6Oqfn5q1JKonbPmQnGn7yMBPAq9s,592 +jedi/third_party/typeshed/stdlib/3.9/zoneinfo/__init__.pyi,sha256=QjdggL46x_feOdxU4aioHhVM0-obo-vi_N-SBsgR-S4,1183 +jedi/third_party/typeshed/stdlib/3/_ast.pyi,sha256=xgO_RWFNlpKCgJ-N8Oz0MLoNxsluUZK6-LgvM7GHk9s,7851 +jedi/third_party/typeshed/stdlib/3/_bootlocale.pyi,sha256=0g5u3OybUgqbQUaK32XpV2OY1vMr_tMyvv-xWePyn60,63 +jedi/third_party/typeshed/stdlib/3/_compat_pickle.pyi,sha256=bgMC5XUuSbLzpZNo1xi_Lmdhuk7YEkNehIU3VbxJF0A,388 +jedi/third_party/typeshed/stdlib/3/_compression.pyi,sha256=2oEmy37B7HOAAXqPvDtdlBgIuI4veE3Zn_ahmMZek9I,761 +jedi/third_party/typeshed/stdlib/3/_decimal.pyi,sha256=gKb8JF9qlgs-k7lWkc6x13adH918J9IBSh2vJJO2-Es,22 +jedi/third_party/typeshed/stdlib/3/_dummy_thread.pyi,sha256=eurqRwuKXCugsXKBB_45dhYwMfGsEOI3JM36MU0_38c,800 +jedi/third_party/typeshed/stdlib/3/_imp.pyi,sha256=ncrUaJ1P-gDktpPYaAEDEd6O0vWZoQbZaEUYkJJEUi0,705 +jedi/third_party/typeshed/stdlib/3/_importlib_modulespec.pyi,sha256=2H1Bqwkmzeu7VdhBr_ZD4YGYLfFCcQPtfrs8Vc8-B0I,1586 +jedi/third_party/typeshed/stdlib/3/_json.pyi,sha256=TLqFcbDts6gPDQGO1UBQuu7Sgr707zI5mIsc0nE4468,1124 +jedi/third_party/typeshed/stdlib/3/_markupbase.pyi,sha256=bxmSN6aw-V3qwShSR82gk2l_ZrCF0KGQhP3baRo7TPE,256 +jedi/third_party/typeshed/stdlib/3/_operator.pyi,sha256=cW8gndiQv2Ge6SxDU1TYCmdDJ1jjCpRO4Blp3IzYBJ4,1310 +jedi/third_party/typeshed/stdlib/3/_osx_support.pyi,sha256=UzxlYXvWxj-409uwv1Qlrt2Dz7SljoBGbxpQn2Rgeok,1796 +jedi/third_party/typeshed/stdlib/3/_posixsubprocess.pyi,sha256=CSDkhdm87FCJzDPSZ7kRSuruLaUJCFO6-grnXJAohPg,557 +jedi/third_party/typeshed/stdlib/3/_pydecimal.pyi,sha256=droa2p0DPjlLpftTkyseRtRiWWwFEFuBmsKmAEBykHI,157 +jedi/third_party/typeshed/stdlib/3/_sitebuiltins.pyi,sha256=joHmJtcwuqTJzYC9Yz8ExsAOrT2ImObL7RzK1J_YKmA,534 +jedi/third_party/typeshed/stdlib/3/_stat.pyi,sha256=rOfqArOAol_zPagL6lyRodbmL93Qsb1vl1UMNz9x5QE,1179 +jedi/third_party/typeshed/stdlib/3/_thread.pyi,sha256=bwRRV0tuEwneVnc4LSBeYjCZp6rbUVAxzFU17xRxVzc,1451 +jedi/third_party/typeshed/stdlib/3/_threading_local.pyi,sha256=nxpI1n5Bmux1ymFk1lGgWgzSzqFHIDvH_y_FJzSGMqc,490 +jedi/third_party/typeshed/stdlib/3/_tkinter.pyi,sha256=yIaAQOXeQdYw5KzaBCpRx8VZJ67khvPs95zlZI9cM4k,2531 +jedi/third_party/typeshed/stdlib/3/_tracemalloc.pyi,sha256=0mp3PJAcjINGNLU8pmyA2_18SfGMgVN8p72QNz-TfPU,563 +jedi/third_party/typeshed/stdlib/3/_winapi.pyi,sha256=e80Wj1rKs41wv4T4tVVGedGngTWfXB8Yal7OS3iXRKs,4507 +jedi/third_party/typeshed/stdlib/3/abc.pyi,sha256=sFDzu6W3-WI8VhWu-3f7oy89xu-T2ad5AkZOr-oaKbk,597 +jedi/third_party/typeshed/stdlib/3/ast.pyi,sha256=rN2zXBxVShE5080Uq3D6J8cFVU0PMumhHOWLGBp6EyE,9090 +jedi/third_party/typeshed/stdlib/3/asyncio/__init__.pyi,sha256=vQqBti5lCesBtJosU6ISR_TaGXUnon5V2niuGmIAFgM,4242 +jedi/third_party/typeshed/stdlib/3/asyncio/base_events.pyi,sha256=z3HWCTbmefm0vunGqkQwL2fvzDwHWxeQGyI6FtzfHIA,14112 +jedi/third_party/typeshed/stdlib/3/asyncio/base_futures.pyi,sha256=S2IqXCOFikl3_yUkCuiONt0mvmvxW_OcK5ZhlWv38cQ,733 +jedi/third_party/typeshed/stdlib/3/asyncio/base_subprocess.pyi,sha256=BY-Dg-c_bEEe9OMq3LkTlsf3b9GfDTy9GpG6ff7os-Y,3239 +jedi/third_party/typeshed/stdlib/3/asyncio/base_tasks.pyi,sha256=WgkoJoXQj11Dp8EFMNpux0aZD5C62kXOyEVuPgTHUNU,412 +jedi/third_party/typeshed/stdlib/3/asyncio/compat.pyi,sha256=5RcYr5xnYP7yXeBN4CKGSeYeNXUNNU1OCkeliI5fmXM,180 +jedi/third_party/typeshed/stdlib/3/asyncio/constants.pyi,sha256=mi5hQw879HlxJe6jIB5ZGcFF7IwUSNwV39dUXP14JG8,327 +jedi/third_party/typeshed/stdlib/3/asyncio/coroutines.pyi,sha256=KSMF7NRW8a61FFkMXSbI-I957V8-cnI4vr-y5jPIcLE,226 +jedi/third_party/typeshed/stdlib/3/asyncio/events.pyi,sha256=GfQt1pVJScwwdoKJOILTBFFA4ew_qTSYteCM-W6laQI,18648 +jedi/third_party/typeshed/stdlib/3/asyncio/exceptions.pyi,sha256=dROhdLRjCGhqH7bI3_yUbPBr7aIKBM1Ks_iWi-7HOq0,562 +jedi/third_party/typeshed/stdlib/3/asyncio/format_helpers.pyi,sha256=3fVMBIqfwuM6eLWjnNv0OFdNZEs9uk2on5NbaeCTW5Q,921 +jedi/third_party/typeshed/stdlib/3/asyncio/futures.pyi,sha256=pKyo4aaJBbPLHDZepPclI8A-2flbzGx60pWiCn49dTw,2581 +jedi/third_party/typeshed/stdlib/3/asyncio/locks.pyi,sha256=UFo1H-sg4cOAyT0rj-Rbm_58FyR73NGvXT70-vbWMW4,2806 +jedi/third_party/typeshed/stdlib/3/asyncio/log.pyi,sha256=Ql97njxNKmNn76c8-vomSAM7P-V14o-17SOIgG47V-U,39 +jedi/third_party/typeshed/stdlib/3/asyncio/proactor_events.pyi,sha256=VcgZHD_Vsu0VSBYYXa4pZTwntgr9okSrLZs-6xcR9o0,2783 +jedi/third_party/typeshed/stdlib/3/asyncio/protocols.pyi,sha256=SBG_ZeDS4RSwq6vj0uppbRezcJKyjRGpqnWOSWSqlqY,1072 +jedi/third_party/typeshed/stdlib/3/asyncio/queues.pyi,sha256=KWOi5Y1t8_v4Nlf0T50xiTi4okN1kxpU1kw74TnBLIM,1166 +jedi/third_party/typeshed/stdlib/3/asyncio/runners.pyi,sha256=8fwyzaEpkiQuUJBAJGdA4QLa6keFBm_ojm0N5KQn2pk,314 +jedi/third_party/typeshed/stdlib/3/asyncio/selector_events.pyi,sha256=ajnESF-_WSF-65nUWRQKJJrq95fJAkO6mYUIdpDWRL0,215 +jedi/third_party/typeshed/stdlib/3/asyncio/sslproto.pyi,sha256=bXJ1AhfKicw_i991U4uAnI6LIC5NCTotbzIX_o_tEAY,5415 +jedi/third_party/typeshed/stdlib/3/asyncio/staggered.pyi,sha256=5ysf7K4OZzJoslO6Jyutra3HVjrgdYXzOxBDc9SpnS8,396 +jedi/third_party/typeshed/stdlib/3/asyncio/streams.pyi,sha256=Vjlv0BjrBw-jAlUE7AYF-V3-GqMYJO8waNOpLBRKs3M,3941 +jedi/third_party/typeshed/stdlib/3/asyncio/subprocess.pyi,sha256=qeMUmUnuAWmms9LYfR5Ldgao3tWDPhxuwprVQ9rRE6I,2265 +jedi/third_party/typeshed/stdlib/3/asyncio/tasks.pyi,sha256=NR-30BS6Tgn5Xd5qj_HMiN1yvd6xT0D21HYLmSkOO8Q,7153 +jedi/third_party/typeshed/stdlib/3/asyncio/threads.pyi,sha256=xNqf8z1pbCIoeaO4w4YTzcuqOoGKbb1bJ7KjXpP7vWU,194 +jedi/third_party/typeshed/stdlib/3/asyncio/transports.pyi,sha256=81VjVySq54ht5UnyaxEaYhjBgt263z0nUGuwl2zNWvc,1886 +jedi/third_party/typeshed/stdlib/3/asyncio/trsock.pyi,sha256=Gywt7hJSyhtc9oIGAhTZUls1u_5C_AtmGKlOCkdqyIk,4582 +jedi/third_party/typeshed/stdlib/3/asyncio/unix_events.pyi,sha256=xnaVSEGzJn3AKT0eCG9g0xacrj5EG9K6fA8MNbD2EEw,2144 +jedi/third_party/typeshed/stdlib/3/asyncio/windows_events.pyi,sha256=SQQ4tw0uGxFkIaFjMhVwqHlpU2kyBt-7Zb1qUKbNmGM,3554 +jedi/third_party/typeshed/stdlib/3/asyncio/windows_utils.pyi,sha256=sPyeKsJrsOsSHFop6mMTdPdyiOasrfvAVWRCLVDDruY,983 +jedi/third_party/typeshed/stdlib/3/atexit.pyi,sha256=NLT6GZV7DmuNcHb-lTn2R5mT-V12bibRWe12ittWOeo,271 +jedi/third_party/typeshed/stdlib/3/builtins.pyi,sha256=OnHDGVqjdghwpPVhsTK7DHElTolNSs8MvfAHEwoLw8o,54524 +jedi/third_party/typeshed/stdlib/3/collections/__init__.pyi,sha256=CRVuUl5jM4mQlf1i1Xsn2zm1KljSS0XzEvNpAI2kPRk,14502 +jedi/third_party/typeshed/stdlib/3/collections/abc.pyi,sha256=dVx25fVnQBL30UcThhhbW3wcpH5Ru5EM_hW448QeFPg,744 +jedi/third_party/typeshed/stdlib/3/compileall.pyi,sha256=YYPeCHqW1sy_ecwW2gdNA4JErmOMqzizTus5hYh__IM,3367 +jedi/third_party/typeshed/stdlib/3/concurrent/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/stdlib/3/concurrent/futures/__init__.pyi,sha256=ZyXXp9i057jbhjo8WeR9SYBT0dhFnwyZ-L1cJP4pQWg,629 +jedi/third_party/typeshed/stdlib/3/concurrent/futures/_base.pyi,sha256=4tKni6V8xudjGjgdqmUCyWa4aQFINZrLlzIzJegI4O4,4676 +jedi/third_party/typeshed/stdlib/3/concurrent/futures/process.pyi,sha256=ZJi1cVZxQPFoJnHUunWf_kUSlEVX_NBbj3asiI8_shM,804 +jedi/third_party/typeshed/stdlib/3/concurrent/futures/thread.pyi,sha256=7thIcnDTCR-0-lB5jJFN4xWzpt4MoQiGy2vKkymPA4w,1421 +jedi/third_party/typeshed/stdlib/3/configparser.pyi,sha256=v_JccqizVrtoccBdWqJSDGiZUbDQaXu2Eoh96AI3EHM,10095 +jedi/third_party/typeshed/stdlib/3/copyreg.pyi,sha256=-GmSIudewg4xblZXLSvErhpunAMi1bsqdQUEXujpFlI,739 +jedi/third_party/typeshed/stdlib/3/dbm/__init__.pyi,sha256=fxHKjeckXzF2s17gpHZ7mD2CKOw42qFaX8oTsa2wUGM,945 +jedi/third_party/typeshed/stdlib/3/dbm/dumb.pyi,sha256=f1YcbTYCzE8bcoC-J9jL8-tKlwTMMV0JBjGFzuj4EQk,1010 +jedi/third_party/typeshed/stdlib/3/dbm/gnu.pyi,sha256=zMcocoAPlm0vkOt5kqWVu6eBe7HZ74A3xl0W7PgrpSc,1363 +jedi/third_party/typeshed/stdlib/3/dbm/ndbm.pyi,sha256=mCED-czlQBkm28csVVuyWFXNQ282xg1sUAnsCOvaMP4,1236 +jedi/third_party/typeshed/stdlib/3/distutils/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/stdlib/3/distutils/archive_util.pyi,sha256=WaUu32XUCstlA4zE0WS-PvA9UF0mdyuDgDbZZd1LN0A,447 +jedi/third_party/typeshed/stdlib/3/distutils/bcppcompiler.pyi,sha256=fge2cMbG4jp--o0I2zNcwykh24tJWZtk6leQgAH2NJw,78 +jedi/third_party/typeshed/stdlib/3/distutils/ccompiler.pyi,sha256=N38wYG41RyiEuowx_ZvpZIqVVZYiz1NGcGHHDJ9MbWs,6449 +jedi/third_party/typeshed/stdlib/3/distutils/cmd.pyi,sha256=wquIAgFbqLNsoHDPGQm3WuGU13054o1u4FGHprpI_9Q,2803 +jedi/third_party/typeshed/stdlib/3/distutils/command/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/stdlib/3/distutils/command/bdist.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/stdlib/3/distutils/command/bdist_dumb.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/stdlib/3/distutils/command/bdist_msi.pyi,sha256=sDSqH7TRcOiXC5S4VXxJ_YHB-WFPpa1fo8F8g5XeV3Y,182 +jedi/third_party/typeshed/stdlib/3/distutils/command/bdist_packager.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/stdlib/3/distutils/command/bdist_rpm.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/stdlib/3/distutils/command/bdist_wininst.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/stdlib/3/distutils/command/build.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/stdlib/3/distutils/command/build_clib.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/stdlib/3/distutils/command/build_ext.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/stdlib/3/distutils/command/build_py.pyi,sha256=lBXy2QTRaedFpVnXmdyJonKRrnEjAKYViarVHccdb1w,217 +jedi/third_party/typeshed/stdlib/3/distutils/command/build_scripts.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/stdlib/3/distutils/command/check.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/stdlib/3/distutils/command/clean.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/stdlib/3/distutils/command/config.pyi,sha256=DV1oMIztVDdk46W43HGioP_n6b3x9FgSqvFr2rwPVoY,3059 +jedi/third_party/typeshed/stdlib/3/distutils/command/install.pyi,sha256=z_gxnwFlHhSicrx9YRtsJnJQ1YG7mu6zERZwZ-1RJi8,365 +jedi/third_party/typeshed/stdlib/3/distutils/command/install_data.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/stdlib/3/distutils/command/install_egg_info.pyi,sha256=WcnLycNSSWSZ8Z_vHIohu0-3qKnCih2qoJaGBPtjQGY,380 +jedi/third_party/typeshed/stdlib/3/distutils/command/install_headers.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/stdlib/3/distutils/command/install_lib.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/stdlib/3/distutils/command/install_scripts.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/stdlib/3/distutils/command/register.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/stdlib/3/distutils/command/sdist.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/stdlib/3/distutils/command/upload.pyi,sha256=NQ4QYCmhC98gBW2Fv2LW0xzFNZI-9gI6AjTW_UqeOJY,279 +jedi/third_party/typeshed/stdlib/3/distutils/config.pyi,sha256=M4b9_7PKsO74DhsIBFoTAB5I99hXrlBJcjxghWhI8vc,523 +jedi/third_party/typeshed/stdlib/3/distutils/core.pyi,sha256=lq1S8lRqeGqK6U3z7_UsVg2TR7xbx7Z2YXJ0ekIo9Vk,1688 +jedi/third_party/typeshed/stdlib/3/distutils/cygwinccompiler.pyi,sha256=Y7qhVOqXrkPT0yyQnudNCtTzBYC2lzS38HB5Mh45zEI,138 +jedi/third_party/typeshed/stdlib/3/distutils/debug.pyi,sha256=7_zuriUBqHbc62x7tCONq7LQXLuK_hCaBK0laoR3HeY,12 +jedi/third_party/typeshed/stdlib/3/distutils/dep_util.pyi,sha256=QCheHEDF7waISF42_aaumqvVOIcTw-yh5e5-CbPvQ2o,252 +jedi/third_party/typeshed/stdlib/3/distutils/dir_util.pyi,sha256=0nHuLCqZ36gvDVaF6PoC76_JOC3v6P_310eFauW1ZDM,555 +jedi/third_party/typeshed/stdlib/3/distutils/dist.pyi,sha256=a5bZv3WJK1cAA-rXLz2WRgvWRr_KrNShz1ho37Z73nA,2557 +jedi/third_party/typeshed/stdlib/3/distutils/errors.pyi,sha256=l1W_FgoP9L-D-hEPFA2BzZuybjN0lV4WBXl0VJ-k7J8,852 +jedi/third_party/typeshed/stdlib/3/distutils/extension.pyi,sha256=DSCTrWp6UVQGcvlVM-07HCJUNMT7ggxg8-gGBL1hKlg,736 +jedi/third_party/typeshed/stdlib/3/distutils/fancy_getopt.pyi,sha256=ai-0E83HnTOcYCWO9zq4tDVvnef04SRRoa-F8baso_o,859 +jedi/third_party/typeshed/stdlib/3/distutils/file_util.pyi,sha256=RFpiizXMdhhcji98pIscfHW4r6i9KLzM2D15gA6_eow,439 +jedi/third_party/typeshed/stdlib/3/distutils/filelist.pyi,sha256=-WeYFFKsEUUjPvbzeZbVCOKkPV-oqc3RoZvN2SB1VOE,20 +jedi/third_party/typeshed/stdlib/3/distutils/log.pyi,sha256=CXViHmBVIadN4DWrSddT9lN1O1WaNjpxvaz-KUCD8C0,845 +jedi/third_party/typeshed/stdlib/3/distutils/msvccompiler.pyi,sha256=qQLr26msfhjz-omJutWcRHik3shLh1CIt7CDI3jBd3I,78 +jedi/third_party/typeshed/stdlib/3/distutils/spawn.pyi,sha256=iDdi2WvST9yeFDlKWy0Wlye-x67W-ah5nta7EuRW2W4,227 +jedi/third_party/typeshed/stdlib/3/distutils/sysconfig.pyi,sha256=FSdBoSTsVvKAF5D2lkWBwxH15ockfFZv6L06mrgeAb0,620 +jedi/third_party/typeshed/stdlib/3/distutils/text_file.pyi,sha256=vCQLwggDaocAqqR7v1WJjOeS_wgxqjI5xDkyxHJlzcw,716 +jedi/third_party/typeshed/stdlib/3/distutils/unixccompiler.pyi,sha256=R3VKldSfFPIPPIhygeq0KEphtTp0gxUzLoOHd0QoWW8,79 +jedi/third_party/typeshed/stdlib/3/distutils/util.pyi,sha256=KSpX8rQ6qJXqToJBKdwhlpe-jd1QQcacg7wsH_6dKXo,829 +jedi/third_party/typeshed/stdlib/3/distutils/version.pyi,sha256=-MSresMMQbCxM9NDl_Hof4kDdGYmlJmqL8QWHCbliqM,1429 +jedi/third_party/typeshed/stdlib/3/email/__init__.pyi,sha256=5hwilWCw-1AiwWEMUfgVza8eTnH1vsqSL4Dkjx44w4c,757 +jedi/third_party/typeshed/stdlib/3/email/charset.pyi,sha256=tKEN5fdqEvA9KmtWRqGdv7MFSdI8IKcRMrkjzvdUpyQ,1062 +jedi/third_party/typeshed/stdlib/3/email/contentmanager.pyi,sha256=1onMqjP_pwFFABKkXAJMpLssp2eCajYb_DmfdGW88dg,489 +jedi/third_party/typeshed/stdlib/3/email/encoders.pyi,sha256=WIE0oEGqiDZZCnaaUganOj3RIHvNpdH1H6_uYsb9BCU,214 +jedi/third_party/typeshed/stdlib/3/email/errors.pyi,sha256=5uMjZNDOPcQBIOB08smMOo19sHIAc_Zcbsbz4OAjrlM,833 +jedi/third_party/typeshed/stdlib/3/email/feedparser.pyi,sha256=-El1uWq32_69H0WtIpGT6eiEsyCQRcHuGUxKSlE7OdI,823 +jedi/third_party/typeshed/stdlib/3/email/generator.pyi,sha256=aBWIi9nhJSWROoxD0pIk0TMLt0j2epr_ASen8iiUKPs,967 +jedi/third_party/typeshed/stdlib/3/email/header.pyi,sha256=N32hw4GGgE82e7R8dpDHQnQXLf6YABLJ5OGWFuvwQNw,1025 +jedi/third_party/typeshed/stdlib/3/email/headerregistry.pyi,sha256=M9ZBxQ_YJIe_lWFLyr0AkvgkIy0ch1rhnZm7JNIT2LE,2828 +jedi/third_party/typeshed/stdlib/3/email/iterators.pyi,sha256=kVhrZU7h-D41NBZrgFU_h2xeBs02vSRL56lfxXiRy8g,266 +jedi/third_party/typeshed/stdlib/3/email/message.pyi,sha256=4OVN83CSaSRycbt4NmwrHwB643-65ibkluIiQqNa4Os,4681 +jedi/third_party/typeshed/stdlib/3/email/mime/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/stdlib/3/email/mime/application.pyi,sha256=1nvquRMV3pfipzE_Db77xQA2YiVshkslbrR6KJZXN2k,499 +jedi/third_party/typeshed/stdlib/3/email/mime/audio.pyi,sha256=hsj22zxJwLlF6TPXDzRMksu4oUoxnypUshYenxXSkE8,502 +jedi/third_party/typeshed/stdlib/3/email/mime/base.pyi,sha256=PLTWaSsib758s-xoTPQE43teS-vStf7nOoPLiq_evHg,325 +jedi/third_party/typeshed/stdlib/3/email/mime/image.pyi,sha256=DpDOxmW7k3nF8WzPhaeLLyYWNeYIQgW1v5OU7v3U4_E,502 +jedi/third_party/typeshed/stdlib/3/email/mime/message.pyi,sha256=BbZ7ULwq3vT6-MPS2QFmkIuWqxgC9vDLWD9x0zv9oXk,292 +jedi/third_party/typeshed/stdlib/3/email/mime/multipart.pyi,sha256=CTHQJbuC-ZAgPKymxr62DjsslnF4P45RZQ_a17481UA,507 +jedi/third_party/typeshed/stdlib/3/email/mime/nonmultipart.pyi,sha256=gAN-hOmjxz3lcG8FK3lbvlEOoz_yhG9rKIslq3WLil4,76 +jedi/third_party/typeshed/stdlib/3/email/mime/text.pyi,sha256=uqvOSr2SoHrbTcLikt1P7Gm0L9sjyy6c5TeuX1cbvBY,297 +jedi/third_party/typeshed/stdlib/3/email/parser.pyi,sha256=p-CbSumd_5JYzgkS81GOZofpQuameh6ajoLtJifdpyQ,1328 +jedi/third_party/typeshed/stdlib/3/email/policy.pyi,sha256=sFF7jOYVcLw_gIS27K7CxMFbz62BbWXM_qVPQQakyx8,2159 +jedi/third_party/typeshed/stdlib/3/email/utils.pyi,sha256=V-8KVirBmcrTekDW6TW7gqkV3bPCh2l9RJKtGHCyg5M,1832 +jedi/third_party/typeshed/stdlib/3/encodings/__init__.pyi,sha256=q95Eqw-U2YICiPawMyarXy1iWCXsz1wV_793ZSg_4ek,184 +jedi/third_party/typeshed/stdlib/3/encodings/utf_8.pyi,sha256=QvCf0jkCM3g7fA1rzv7IB8onY_ciFLPaySvkBQ95aOM,561 +jedi/third_party/typeshed/stdlib/3/enum.pyi,sha256=iY_vEF2WHiMhmgZTtBGnE_XdzdPx90709cxW0BP9o4M,2643 +jedi/third_party/typeshed/stdlib/3/faulthandler.pyi,sha256=jn6gMdF0GEZljfFTc1splgef8zIo99X1H44qgWxU8sE,644 +jedi/third_party/typeshed/stdlib/3/fcntl.pyi,sha256=YNY4OFCzwUNVzqaocJgNzrS7kwsRrKCzFmXfv9ukHUc,2244 +jedi/third_party/typeshed/stdlib/3/fnmatch.pyi,sha256=_sH2M1wxuUFryRYDO_K2eXtxxJPSRHHRRuz2nzUqf6Y,257 +jedi/third_party/typeshed/stdlib/3/functools.pyi,sha256=twLVNCB5Heu0Y1yfJbaDdFbDCP0kX9PYYg4vumV3iKI,4613 +jedi/third_party/typeshed/stdlib/3/gc.pyi,sha256=mfh-9jtsLPOaFLuBwkRgt1rPjpuRf6GelyMb8PJjokc,1135 +jedi/third_party/typeshed/stdlib/3/getopt.pyi,sha256=QUWgEAjkZEgYEDX83HNFzlLqoM7tWZfu35croNXpYUk,352 +jedi/third_party/typeshed/stdlib/3/getpass.pyi,sha256=VZjU7IEeEVtL8nHUcWRbbOkNYAegfSRiTDc5QFY-BuM,178 +jedi/third_party/typeshed/stdlib/3/gettext.pyi,sha256=hI05wMFAUpQqs9xphkmJdM2UbLKcvQ9--PNPwOaPQiQ,3208 +jedi/third_party/typeshed/stdlib/3/glob.pyi,sha256=l-vPtsxqdYR6852YtsLh8m9dS4g2OvnU2hDUPHnwRw4,442 +jedi/third_party/typeshed/stdlib/3/gzip.pyi,sha256=hxBMzBPUEElN-Q0CyO7__tQ8cOH0kboT5Oqqah3HLms,2909 +jedi/third_party/typeshed/stdlib/3/hashlib.pyi,sha256=a1LtNJGGukXpq3P09xQvoAfU9aDsTR3nZ09T7EyFOL8,4195 +jedi/third_party/typeshed/stdlib/3/heapq.pyi,sha256=ZXIM49YLZnLiEMSQlWt9uUzX6fxgNXH5HIQwBVhcneI,798 +jedi/third_party/typeshed/stdlib/3/html/__init__.pyi,sha256=qKsbjN2OJn_AoUr9a4zdFC8juUG9ii6rqYp3EQTSG-Q,122 +jedi/third_party/typeshed/stdlib/3/html/entities.pyi,sha256=ap6jI6Fw355WC0vSd-WGc957p_KpAJDGONUeAlItYzI,136 +jedi/third_party/typeshed/stdlib/3/html/parser.pyi,sha256=odnTynZ-Cz1KlNCzxR_nl3NY_vEHlg1iha4DGTHCX0Q,984 +jedi/third_party/typeshed/stdlib/3/http/__init__.pyi,sha256=bE3i99Lkeat-Seo0TTAm-dDauYTTNtih512Tt6ij9G8,1940 +jedi/third_party/typeshed/stdlib/3/http/client.pyi,sha256=N-CIvhqvj7MhnMDK-rhyuH5FgsBQCjsTcuP230LsH7M,6034 +jedi/third_party/typeshed/stdlib/3/http/cookiejar.pyi,sha256=vIs7US67GiRUDVmq_qdQ9a48s4Iv73h4_S6D8OYrNcA,4991 +jedi/third_party/typeshed/stdlib/3/http/cookies.pyi,sha256=pfXrzKusaD-sxZsv92P84Vw0sgoGrE-KKhiuXm15vz0,1364 +jedi/third_party/typeshed/stdlib/3/http/server.pyi,sha256=C9LgOZw5ZoAYzbXN-y9BXdS31iaEiwwo-QpynkLS_QM,3036 +jedi/third_party/typeshed/stdlib/3/imp.pyi,sha256=_zd93_282PmC8cqim3FPUsFeYrIl8-dp_WFab_v7nac,2343 +jedi/third_party/typeshed/stdlib/3/importlib/__init__.pyi,sha256=xuq-05qRDyIRBetquMX_JB1dMc_BLme0WAZ3MpggjPQ,571 +jedi/third_party/typeshed/stdlib/3/importlib/abc.pyi,sha256=polXx3wt7y2EQYqfND7eD1OA0hMt1ucG_vQoACtvq4U,3960 +jedi/third_party/typeshed/stdlib/3/importlib/machinery.pyi,sha256=FXq0GgiGYrJRtZKN76mlRVRuum88bdiq_k_ZuF08I18,4006 +jedi/third_party/typeshed/stdlib/3/importlib/metadata.pyi,sha256=e-uCY4Q7Su-dTeeUl-sGUF9F7-70Vd2hf_CQ2Y0IT9k,3786 +jedi/third_party/typeshed/stdlib/3/importlib/resources.pyi,sha256=zYjYz5gFHS1eT5roJ2glvvqhVwjJBkLdxkMYUj3FhJo,1026 +jedi/third_party/typeshed/stdlib/3/importlib/util.pyi,sha256=bqqXx43SyHCCERNe7jA-i6MjfUdyPpQtimtuqqTKF2M,1782 +jedi/third_party/typeshed/stdlib/3/inspect.pyi,sha256=yYThFqYLPUJToz4Fz9LYxI-ZJ89k94wqpvhUoK1K-QA,9929 +jedi/third_party/typeshed/stdlib/3/io.pyi,sha256=OQHQh77AvF1wqIqeqUPiHDO9nKgRX45O6ZgOrQap7xE,7499 +jedi/third_party/typeshed/stdlib/3/ipaddress.pyi,sha256=74Fj1yj7-tgOJeSSR8LKvfqIUyY1UzTQN6q_lrUcgpU,5252 +jedi/third_party/typeshed/stdlib/3/itertools.pyi,sha256=Up21RC9zUGPLkg3vHuuQ7iSWpphBCeWGBH0Txn1mUk4,4524 +jedi/third_party/typeshed/stdlib/3/json/__init__.pyi,sha256=dWEcInSJdvZapNjd2VvnksUHKyj4_AVSVJasp7uqFBw,1919 +jedi/third_party/typeshed/stdlib/3/json/decoder.pyi,sha256=85tOPFvXraUsmSgW1Sn7FPqKAxSWwPZwjAZ7Aa6CMFM,1090 +jedi/third_party/typeshed/stdlib/3/json/encoder.pyi,sha256=FIZVowFsNCGiAAKqnohbOQkmFKsvujvwkzk2qu0OCSg,779 +jedi/third_party/typeshed/stdlib/3/json/tool.pyi,sha256=d4f22QGwpb1ZtDk-1Sn72ftvo4incC5E2JAikmjzfJI,24 +jedi/third_party/typeshed/stdlib/3/lzma.pyi,sha256=t8jPcnq6o5L1t3nKdw_dmeFFovwCAkQZnKnMltEypTc,4580 +jedi/third_party/typeshed/stdlib/3/macurl2path.pyi,sha256=IjGXxi7XlrbJwIcpfitwuKQWR635yLOf6Sh3N1o25Do,225 +jedi/third_party/typeshed/stdlib/3/multiprocessing/__init__.pyi,sha256=J3pDzfv93b1AS4hf69jhyonvhWmrj1eYbCcnApCWlUI,3802 +jedi/third_party/typeshed/stdlib/3/multiprocessing/connection.pyi,sha256=ReCch6MGZ-m4TSo6bSFHUv9byxu79g2GP7chnYmhD8w,2602 +jedi/third_party/typeshed/stdlib/3/multiprocessing/context.pyi,sha256=LQireotdnvV1vrojP-BTgtSyAZpius2NGrbl1kbUpmc,6698 +jedi/third_party/typeshed/stdlib/3/multiprocessing/dummy/__init__.pyi,sha256=0n5irDRx6L6Q8NlRCxq9w-Dlk4DhJhiGxbFiFTPZSgM,1572 +jedi/third_party/typeshed/stdlib/3/multiprocessing/dummy/connection.pyi,sha256=1h-QyO57HTVQN_OiJjuiNp9QSEkuXKZDdR-jrhasw44,1431 +jedi/third_party/typeshed/stdlib/3/multiprocessing/managers.pyi,sha256=_owX_1Pum7mnYDXFKtk72T8KHfckdNl_hg8FT5AUsoQ,4584 +jedi/third_party/typeshed/stdlib/3/multiprocessing/pool.pyi,sha256=Zz1Lx-lpsQrJHgsAS6xqCUqsh2F-E6lP0Iu_Vc4RXA4,3224 +jedi/third_party/typeshed/stdlib/3/multiprocessing/process.pyi,sha256=Eupk7EcZSXHEe_LcXKt_uY_oYt5ZGpwFoIVVVAiCq78,1143 +jedi/third_party/typeshed/stdlib/3/multiprocessing/queues.pyi,sha256=fXQ9gQc8wqYmEgwBCK6bpaTLUR-tPGAZxtADAw6OdUw,1288 +jedi/third_party/typeshed/stdlib/3/multiprocessing/shared_memory.pyi,sha256=oZEZSEATdR5PqJEtyd6E3ZWsSsM_mjvOW_CRhVjP1JM,1302 +jedi/third_party/typeshed/stdlib/3/multiprocessing/sharedctypes.pyi,sha256=qg970qF7Qy0nnIWPnqV3q0Sycxx0dZAV60Fa88oUyOM,1526 +jedi/third_party/typeshed/stdlib/3/multiprocessing/spawn.pyi,sha256=cMRcm2n3hnOszIByMFkG3H7PatT472zWi-g-s8ZdkPk,690 +jedi/third_party/typeshed/stdlib/3/multiprocessing/synchronize.pyi,sha256=ZUPVL36s3ANf4divriLWpgHYFBva09_09IK7hORTSns,1799 +jedi/third_party/typeshed/stdlib/3/nntplib.pyi,sha256=KSCji19ptgFnr26zKlzgLulK7e0LSfPLZHLBSMKYN54,4325 +jedi/third_party/typeshed/stdlib/3/ntpath.pyi,sha256=MZG5ucT7dEvAJYFsJHN7SHM2Frs4Nyf3eLm6VqhUAX0,4721 +jedi/third_party/typeshed/stdlib/3/nturl2path.pyi,sha256=E4_g6cF1KbaY3WxuH-K0-fdoY_Awea4D2Q0hQCFf3pQ,76 +jedi/third_party/typeshed/stdlib/3/os/__init__.pyi,sha256=sqb9_zZjeE44gdDnephPQIj8rzLZU8WIuVAj13qcdu4,28846 +jedi/third_party/typeshed/stdlib/3/os/path.pyi,sha256=MZG5ucT7dEvAJYFsJHN7SHM2Frs4Nyf3eLm6VqhUAX0,4721 +jedi/third_party/typeshed/stdlib/3/pathlib.pyi,sha256=WxnASz0QaegMLAzqln-6G529DGVub-Jg8D8lyWGjGSM,6899 +jedi/third_party/typeshed/stdlib/3/pipes.pyi,sha256=cgke6nDBXMhLkpcUUsV_y61rc2ujKCydFa6kl3oYVdU,518 +jedi/third_party/typeshed/stdlib/3/platform.pyi,sha256=_a4cugd9uoy8pzW0KE0U0feB2O5k4Co1X_VeKHbgbGQ,2272 +jedi/third_party/typeshed/stdlib/3/posix.pyi,sha256=YNT-Sw-8HFLKnXeCg2GRN97r0K6piolWHPuiD-qPK6k,2810 +jedi/third_party/typeshed/stdlib/3/posixpath.pyi,sha256=MZG5ucT7dEvAJYFsJHN7SHM2Frs4Nyf3eLm6VqhUAX0,4721 +jedi/third_party/typeshed/stdlib/3/queue.pyi,sha256=W1aF5vLpBMTnl4ObekHw4B67WbhjoUSukrz3g6opa0k,1884 +jedi/third_party/typeshed/stdlib/3/random.pyi,sha256=G3NB5JMkfENo8v1u6X00c1-V2HEX4W9fRqcNibNdGNc,3901 +jedi/third_party/typeshed/stdlib/3/re.pyi,sha256=E1wPk3W7Mp-0VSatzEl1WR058yXWhyau-vJfFsr4Ovo,4442 +jedi/third_party/typeshed/stdlib/3/reprlib.pyi,sha256=Hn5K7nvw9i4uwyrxH7BkSSbA8_na_24t6YJ8YleX0cQ,1228 +jedi/third_party/typeshed/stdlib/3/resource.pyi,sha256=Je96IzWSE5BZkL25TXCyg3wVbGO2zMHGrLjjqKgl-gY,1243 +jedi/third_party/typeshed/stdlib/3/runpy.pyi,sha256=kYMEMd1kHr9LmvQzt9-s4xXrAAth_upzRtxbkXtl_r8,746 +jedi/third_party/typeshed/stdlib/3/secrets.pyi,sha256=38xdvca6iVqHllAA8pfiRXMnSFEZ_AakTCHjVjksHIo,467 +jedi/third_party/typeshed/stdlib/3/selectors.pyi,sha256=5Mg36Zke6M8UL4t91QuDDY5LX6kHwgluUwr4zGSezBk,3644 +jedi/third_party/typeshed/stdlib/3/shelve.pyi,sha256=9NdL2QZYd9Wtqsz991GfroFbZ553lesYsKujKZCrPbI,1605 +jedi/third_party/typeshed/stdlib/3/shlex.pyi,sha256=pVtr3Hc4_Wx7qgcfQPf6DepYemtlrQaZ58l7jckycVI,1325 +jedi/third_party/typeshed/stdlib/3/signal.pyi,sha256=aFVl8Op3n4JAQhj_jEta45aGGmXQciIRswTbmx5VJ68,5209 +jedi/third_party/typeshed/stdlib/3/smtplib.pyi,sha256=DobAN5UFsK41cOSl_hPqRBQskhdlTxUPTbJBH3iH7-k,5606 +jedi/third_party/typeshed/stdlib/3/socketserver.pyi,sha256=7ASKFWF67wQOePi5HR3RqEuAAb2xqkf1YrRhlmNS4RQ,5367 +jedi/third_party/typeshed/stdlib/3/spwd.pyi,sha256=aAmkS56-90q7hfKMkpAmUifbEQy32e2c-gW_KVHTEn8,310 +jedi/third_party/typeshed/stdlib/3/sre_constants.pyi,sha256=j5xp3zUP6iox81-rrMQSi6OqC7s99PXncyL6YCjwMAc,3348 +jedi/third_party/typeshed/stdlib/3/sre_parse.pyi,sha256=JYDEHNQG-Tw_Bwj77fpG7I-7bIk2skV2eMjIQ7ggbcI,3820 +jedi/third_party/typeshed/stdlib/3/stat.pyi,sha256=WYG0DONENxta5efsANvcWTQiy_kkB5NjSYl7oJBgrv8,1805 +jedi/third_party/typeshed/stdlib/3/statistics.pyi,sha256=nVUX7Tcg6mZeuTzdOWCDLH-jULHlCCOf-s0RnPhK0K4,3149 +jedi/third_party/typeshed/stdlib/3/string.pyi,sha256=CNCZS22ux7JIYv0mm9KGJ1sPWk4-ziwN13SKAC0u36M,1423 +jedi/third_party/typeshed/stdlib/3/subprocess.pyi,sha256=aVTeOMtFq4uJMnSXkZG9YA8jjXdhxxY_yjo4e9mLMqI,34320 +jedi/third_party/typeshed/stdlib/3/symbol.pyi,sha256=6iOqBcaia5f9UZcXxZaDy9qBA4Boe35Uy4WxQmhFWcg,1383 +jedi/third_party/typeshed/stdlib/3/sys.pyi,sha256=7WyG6k19z77CBdUUkNVQiAR_YxpKCamnsxjsFX_06MU,6337 +jedi/third_party/typeshed/stdlib/3/tempfile.pyi,sha256=FyzDCJDCZvkXsxr_0arm8Q3vMKgWO58vw4LPl8ZghT0,11371 +jedi/third_party/typeshed/stdlib/3/textwrap.pyi,sha256=SA66hWuD6KU0BfK8EUpEwnm8tKgyWbYcHJVaj_qXdzM,3234 +jedi/third_party/typeshed/stdlib/3/tkinter/__init__.pyi,sha256=zXaLTPom1qPFajA0dc2Ic0_43bCd0gQqvUsu1NhtsvE,110919 +jedi/third_party/typeshed/stdlib/3/tkinter/commondialog.pyi,sha256=GXUxL-Y2G2Y3DgfMNMNpCUzuRnZ746Iij-R56ZXCu6E,277 +jedi/third_party/typeshed/stdlib/3/tkinter/constants.pyi,sha256=WfBSeKTB52NfPVFdsdaRrnsmDOvT3FoP8j4QK1T3yxU,1886 +jedi/third_party/typeshed/stdlib/3/tkinter/dialog.pyi,sha256=SqRt2lN2RMOtj5B9Q1h73xcxbVJTfZ0bYzfgH0nnNpY,291 +jedi/third_party/typeshed/stdlib/3/tkinter/filedialog.pyi,sha256=xM4DePZxB81ctUBT5Wp6hxfQAQAXqunHfv5idcVx71g,2247 +jedi/third_party/typeshed/stdlib/3/tkinter/font.pyi,sha256=HVeakp_l7Vqh6sbakpZ6XlilT2oIQhQA5AajfLhANtY,3812 +jedi/third_party/typeshed/stdlib/3/tkinter/messagebox.pyi,sha256=Q0-rK5wXBbbzvx4Mpf92dITPgL7Lwjw8t4CLfpYV0hw,1150 +jedi/third_party/typeshed/stdlib/3/tkinter/ttk.pyi,sha256=f5W5gEAauDlNzBBJ7e43tuyu9_SzdA4rWxRhhOHlGvE,43748 +jedi/third_party/typeshed/stdlib/3/tokenize.pyi,sha256=MKMkZ5E-aZIObWJom5U1-4JcKMEUuykkKDNs1tcko2M,3110 +jedi/third_party/typeshed/stdlib/3/tracemalloc.pyi,sha256=VqPd3kiHw2LM5yb0YDtj_Rx-kSlOUon2W3cSu1d49KY,2795 +jedi/third_party/typeshed/stdlib/3/types.pyi,sha256=KsTXLa4cimtNz6HGMOn6whGh07tR0NJkc1_PabY6l3A,11027 +jedi/third_party/typeshed/stdlib/3/typing.pyi,sha256=lh5-KS3cFrYby3k1Etdksa6_IZBaTd0V-8o3aV_ztcc,25040 +jedi/third_party/typeshed/stdlib/3/unittest/__init__.pyi,sha256=mot-stW02w3PxX7Q8XcXM-wNPkyICkUEcthaTuzIMh4,387 +jedi/third_party/typeshed/stdlib/3/unittest/async_case.pyi,sha256=8FL7FHo9f5ZAO1veWlhC6r1WXpC4JBSZ9jAGr5VBrhs,372 +jedi/third_party/typeshed/stdlib/3/unittest/case.pyi,sha256=h5wnJUGhA_Jw3GstvFcaWX5jXfFnXnZcODW3nLzfP7o,12483 +jedi/third_party/typeshed/stdlib/3/unittest/loader.pyi,sha256=8wcy7fsfMDuHjVSNzD6bwmPmnUGiNG0PTLz0HpLjDWU,2067 +jedi/third_party/typeshed/stdlib/3/unittest/main.pyi,sha256=TM86Ac-1qF3P9JogJ2rYwE3E4dKi7ke1G8RwLeBEiaA,1691 +jedi/third_party/typeshed/stdlib/3/unittest/mock.pyi,sha256=dXwIB0Naj-0TjlamsKQcrlNRThPHW3nvBHtUt28nR6A,14809 +jedi/third_party/typeshed/stdlib/3/unittest/result.pyi,sha256=v11JXslVniIzkCYnUnalSJ2ndJc4I-Bxt8_Mie_6teI,1859 +jedi/third_party/typeshed/stdlib/3/unittest/runner.pyi,sha256=l-eVrz13ec-okAuc0MGdYbo192H2ep3adVycY6dnUYE,1339 +jedi/third_party/typeshed/stdlib/3/unittest/signals.pyi,sha256=uL7z9v81sng6PtI-FqweH7jef7o41fQD3AL8WoIxuFU,402 +jedi/third_party/typeshed/stdlib/3/unittest/suite.pyi,sha256=YPg_NeVuWOBeQCdI_NHPFyRDhsLy6E0rgmH96jNyj58,892 +jedi/third_party/typeshed/stdlib/3/unittest/util.pyi,sha256=rs8aUKwYgAQfqWYmsy-OEMdcNgeBOMktmf-wmFjd67c,906 +jedi/third_party/typeshed/stdlib/3/urllib/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/stdlib/3/urllib/error.pyi,sha256=9VToSt5hDZo_aKbL2MRVwQ019iJ9LFmlaJg5hPOxTsA,391 +jedi/third_party/typeshed/stdlib/3/urllib/parse.pyi,sha256=yj_xX2qv1FoEtJJOk7naDIRVxuGKKwuTWolsztAekG4,5436 +jedi/third_party/typeshed/stdlib/3/urllib/request.pyi,sha256=-tFU7MccfufD8Iss9KyLS0uoWYmX_q3lKeqZJf_x6AI,15581 +jedi/third_party/typeshed/stdlib/3/urllib/response.pyi,sha256=lFv0RWV2D9QrkSrXlCD_Mx9iKdCz6TkOuTy6BA4bdcE,2107 +jedi/third_party/typeshed/stdlib/3/urllib/robotparser.pyi,sha256=vTWHNtcRWcgDk3DwlPv2ULB913AI8l6JpbdMAaTnlJc,704 +jedi/third_party/typeshed/stdlib/3/venv/__init__.pyi,sha256=f_2SVkhePBtzrvKVcVVyS79VKHy6V37E_99ToJRmnXk,2967 +jedi/third_party/typeshed/stdlib/3/winreg.pyi,sha256=Yz2wG-34BwXWx4JaU2TqPjHlLm_eiPoALQm97KGcI2w,3779 +jedi/third_party/typeshed/stdlib/3/xmlrpc/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/stdlib/3/xmlrpc/client.pyi,sha256=iak5sIIqou0OLODL8DPFbpAAFO3_k8SmIHmgLvPYcbE,12285 +jedi/third_party/typeshed/stdlib/3/xmlrpc/server.pyi,sha256=OguOW818SOafYK9lArrfOt7Nw7NgfaGcx9ERt1rBxWo,6810 +jedi/third_party/typeshed/stdlib/3/xxlimited.pyi,sha256=IeL0poSgoE8vvdo93lscYL9hdc2xqfSgnzzb1iQ6hgc,211 +jedi/third_party/typeshed/stdlib/3/zipapp.pyi,sha256=gjXsMJc9OrQhFpRaUVZrrN7ACwo-oMr54g0KTKx0zIQ,678 +jedi/third_party/typeshed/third_party/2/OpenSSL/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/third_party/2/OpenSSL/crypto.pyi,sha256=N5TmTvFyT5KzQsoHdU7x2nU_G1Kf5TTQF1mFK-HBwMk,7588 +jedi/third_party/typeshed/third_party/2/concurrent/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/third_party/2/concurrent/futures/__init__.pyi,sha256=zAZn69ohscdtL7rotnHyxSu7jzhVMw005ANG7J09apw,436 +jedi/third_party/typeshed/third_party/2/concurrent/futures/_base.pyi,sha256=rPSXJhb-LKP8qcFX9YQou0wCs33t6a3_hgfdD1zO278,3701 +jedi/third_party/typeshed/third_party/2/concurrent/futures/process.pyi,sha256=rGmQHTSHwVsXVPxwu4R1efuU0b8D1gqAEG9N_XH3vr8,195 +jedi/third_party/typeshed/third_party/2/concurrent/futures/thread.pyi,sha256=jEiKlhYG3p-MOOEpWFeYHNOKzK9vL7eAYEe-bI2V4XY,574 +jedi/third_party/typeshed/third_party/2/enum.pyi,sha256=iY_vEF2WHiMhmgZTtBGnE_XdzdPx90709cxW0BP9o4M,2643 +jedi/third_party/typeshed/third_party/2/fb303/FacebookService.pyi,sha256=ypViThxa9-z-_FsAfoHiXj9175tTBfqK2Vf2-8H7EL0,8692 +jedi/third_party/typeshed/third_party/2/fb303/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/third_party/2/ipaddress.pyi,sha256=pkTNeeQfeOrdmRZd3aZanIWk4vgyW8bbDOfqrLrZvvM,5107 +jedi/third_party/typeshed/third_party/2/kazoo/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/third_party/2/kazoo/client.pyi,sha256=fUPUW9-5VQibevcTDbpkhTkorz9JNyBfw6e03lrKgxs,3400 +jedi/third_party/typeshed/third_party/2/kazoo/exceptions.pyi,sha256=7DhQ3xMt63lVinoWQv0vwI6VmG2IfNPlMpLRGu_gq-s,2054 +jedi/third_party/typeshed/third_party/2/kazoo/recipe/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/third_party/2/kazoo/recipe/watchers.pyi,sha256=Pxdwrx10R_orsLVINsoCsy-TL6a96EumRsENf2G11BE,551 +jedi/third_party/typeshed/third_party/2/pathlib2.pyi,sha256=Q9vqVVrQppWLvGeGATrn66__LyzByFxgWQ0maNUpYgk,4283 +jedi/third_party/typeshed/third_party/2/pymssql.pyi,sha256=vJAY2YPlF2arXuP2Yg05pFN8onxIqonFQD5uOqejAQY,1685 +jedi/third_party/typeshed/third_party/2/routes/__init__.pyi,sha256=JsiOugLeCiWHyhEHnCrs-i0H288m2ZaDpocEKY80qzE,364 +jedi/third_party/typeshed/third_party/2/routes/mapper.pyi,sha256=oBumS7A80xLzb_YA8ZEUnsqm5YjqE91r8m-9cw0lLlM,2362 +jedi/third_party/typeshed/third_party/2/routes/util.pyi,sha256=U9AvEa_p8Q1eq1zmIMKpGMjYqFbd9YSvTbv7W1Ez49Y,576 +jedi/third_party/typeshed/third_party/2/scribe/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/third_party/2/scribe/scribe.pyi,sha256=2Yexj6Ymfe-Kj4_jigeicxrB2NEZryKUOtAqNN8Mm2s,1216 +jedi/third_party/typeshed/third_party/2/scribe/ttypes.pyi,sha256=Ub8_sHFFbDuMouo-wUU4bkr-WhUpSOVLBJ6zb9amqBs,383 +jedi/third_party/typeshed/third_party/2/six/__init__.pyi,sha256=L7AgaYaMdkiwH6Psg5nWG0MIvZ8gX4twwJ-Glf8zJqM,4390 +jedi/third_party/typeshed/third_party/2/six/moves/BaseHTTPServer.pyi,sha256=tGipj5ccgHt3EnzbxpPyQGUVnvu7RltrUOqgqWNGwpw,29 +jedi/third_party/typeshed/third_party/2/six/moves/CGIHTTPServer.pyi,sha256=omAocPqXteLJkGtdobdZjdzXynzCtn0jCFwBBlc3LUc,28 +jedi/third_party/typeshed/third_party/2/six/moves/SimpleHTTPServer.pyi,sha256=nC0fjp9wrhSnJMI8N2QD7ovWp1CW-dJWLyaV4K_Ql54,31 +jedi/third_party/typeshed/third_party/2/six/moves/__init__.pyi,sha256=6ipHwbeU3E61Sk4ZTAvfGuW7gr17r6zDZlINNDf2_4k,2105 +jedi/third_party/typeshed/third_party/2/six/moves/_dummy_thread.pyi,sha256=Va4LPdV5kK4luB-1NlkmycnVpXD4kKeYFD5QmmNqE8U,27 +jedi/third_party/typeshed/third_party/2/six/moves/_thread.pyi,sha256=9194lgQXs2W3sR00kP7Zn9gx9WWl0C49GEsbvzshDy0,21 +jedi/third_party/typeshed/third_party/2/six/moves/cPickle.pyi,sha256=hS7yIew9WYdHI_b6XwIlHAfRFRpUTKj7IokSZcpJ4PY,22 +jedi/third_party/typeshed/third_party/2/six/moves/collections_abc.pyi,sha256=Fcq1sut9OLQ824MQ69luYDJSzEB0LroJqTsXWgWGcDo,26 +jedi/third_party/typeshed/third_party/2/six/moves/configparser.pyi,sha256=r3G3JXE9Yo34AASn9AoNcielq9KuyQ3xrtElpnhRJYc,27 +jedi/third_party/typeshed/third_party/2/six/moves/email_mime_base.pyi,sha256=WcWEleCKHROrfdXpRuKABrT_Va1hx90NY_kxYeul3Sk,30 +jedi/third_party/typeshed/third_party/2/six/moves/email_mime_multipart.pyi,sha256=HRKWFU9qh95-mEE22_2NzEKL6lx7ynvhcfHjUcYWuZ8,35 +jedi/third_party/typeshed/third_party/2/six/moves/email_mime_nonmultipart.pyi,sha256=n5hD7R_rktJj3hiHYzEqr3CJCHSW4ikfObKHmUrXBw0,38 +jedi/third_party/typeshed/third_party/2/six/moves/email_mime_text.pyi,sha256=55VzBSQimrZf6UgotoXMiJDvqbKXly6-E_IXo6Ix22c,29 +jedi/third_party/typeshed/third_party/2/six/moves/html_entities.pyi,sha256=I0BI00vvC21L_BgnCbpjio-s1jqF4ARTt-qaol7mGig,29 +jedi/third_party/typeshed/third_party/2/six/moves/html_parser.pyi,sha256=hivJeBkqiAIZ6mvO1v4tOC9Mg6MzMR08P9tzsODdul4,25 +jedi/third_party/typeshed/third_party/2/six/moves/http_client.pyi,sha256=P8tgtt5Icp-ksHij6yPb_zuKk7ckcAHt_HM3aO0WrSM,22 +jedi/third_party/typeshed/third_party/2/six/moves/http_cookiejar.pyi,sha256=HUlF3MydQRX2Vv5G6KtN_Q6iCS48LBDggoDuPbEQUCc,24 +jedi/third_party/typeshed/third_party/2/six/moves/http_cookies.pyi,sha256=itzb5D5Mp66bx7hjyI3u-hri4h9jgqVzZyMfz4xNu2k,21 +jedi/third_party/typeshed/third_party/2/six/moves/queue.pyi,sha256=6Llng-UlZW_9HSWFgmIgW2q9YhaZ-Nzh2zJ8hkqoaZA,20 +jedi/third_party/typeshed/third_party/2/six/moves/reprlib.pyi,sha256=SWZYhGRU6moFAVBo5dUFUB9kyY6TO_kgrIqxzqDQ3C0,19 +jedi/third_party/typeshed/third_party/2/six/moves/socketserver.pyi,sha256=oeRnmecMYQfMmwRFVydatyCfs_HLrJYZvf5p7nm_ryE,27 +jedi/third_party/typeshed/third_party/2/six/moves/urllib/__init__.pyi,sha256=F_1V8NcR4jGkws85IUurYLi4JnGh7_HttdVHvj8cQZM,217 +jedi/third_party/typeshed/third_party/2/six/moves/urllib/error.pyi,sha256=73JoWrqvixKdnpT83GQ-6DsBc0gxqFC_xXN009qtCi4,129 +jedi/third_party/typeshed/third_party/2/six/moves/urllib/parse.pyi,sha256=Tv-Yji1tm-ikeaeLPXCcp1YVUa8y296SNV7YVupJtNg,744 +jedi/third_party/typeshed/third_party/2/six/moves/urllib/request.pyi,sha256=Z-EBXRE0CyHR8oOekYW6bl_w--YlvIVxkdbfcxtNKWQ,1453 +jedi/third_party/typeshed/third_party/2/six/moves/urllib/response.pyi,sha256=iSs21E6BAaB6P9CQngcuzBsGnGa9XN8P7P8GO2xYWjI,114 +jedi/third_party/typeshed/third_party/2/six/moves/urllib/robotparser.pyi,sha256=C8_E9lApZyMQpHflnHpYeyAgvQ_vFSuKon9Gl5DM3Q0,59 +jedi/third_party/typeshed/third_party/2/six/moves/urllib_error.pyi,sha256=7RTGNFpeUX5KEap9vyjA1Xc3Twfkut431Nu5290po1U,28 +jedi/third_party/typeshed/third_party/2/six/moves/urllib_parse.pyi,sha256=Q3BVGITL1UwlTmBsFD9iLf2pggJgTE5bG32QANdkMvo,28 +jedi/third_party/typeshed/third_party/2/six/moves/urllib_request.pyi,sha256=8WFe7ycArSuM6wJfgcXWLDRKNsymd0UlxWlflszb2yk,30 +jedi/third_party/typeshed/third_party/2/six/moves/urllib_response.pyi,sha256=dokFMleMVEVFVxBgSkrcn4f4yM7RhR3zkk0iDQGOC_U,31 +jedi/third_party/typeshed/third_party/2/six/moves/urllib_robotparser.pyi,sha256=8c26GW8MTI6cxDTD65N_18NRQcqWY4P9v8mrQm8c-oI,26 +jedi/third_party/typeshed/third_party/2/six/moves/xmlrpc_client.pyi,sha256=hL_FNiBles8aoJq0XQLbEHvWX1AedYbQopgRVQlbCEI,24 +jedi/third_party/typeshed/third_party/2/tornado/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/third_party/2/tornado/concurrent.pyi,sha256=THaUUH9XW_opc-G528IhDDrf-cOBVx9ZJAQKAgoqr34,1016 +jedi/third_party/typeshed/third_party/2/tornado/gen.pyi,sha256=WPudybrtny-geS69g62Hkv-NApwTukIA8BrPCn5QzVg,2785 +jedi/third_party/typeshed/third_party/2/tornado/httpclient.pyi,sha256=FDo5peSsvOJFAfIxTgbvVqxk4zfsTxFYXcx7GEnDus4,3219 +jedi/third_party/typeshed/third_party/2/tornado/httpserver.pyi,sha256=YHoHZwbU43MoKk6EBgiWzu7OwD6jQTTdzjrIg4EbEac,1617 +jedi/third_party/typeshed/third_party/2/tornado/httputil.pyi,sha256=Ypkdy7WEucueAK8huNsEbp-SG5RoCiLuxzY2VFfYlbo,2853 +jedi/third_party/typeshed/third_party/2/tornado/ioloop.pyi,sha256=pO0QehC4_KN3eVtj7lnt4Z5PoCkzUT5CiTL6XxWsvyk,2798 +jedi/third_party/typeshed/third_party/2/tornado/locks.pyi,sha256=6LDrW8nuBZLsAe90h1UYs92k_41UjcxE8vpEhc_LBzM,1279 +jedi/third_party/typeshed/third_party/2/tornado/netutil.pyi,sha256=0u8D481OqDC_ZuSTQjFzWCmDmPp2H-xJuP2hsA2J8_Y,1350 +jedi/third_party/typeshed/third_party/2/tornado/process.pyi,sha256=NsnEzaGJtchXD3_1d5-cZ-C2q-h9ocucfLvT575cbrg,662 +jedi/third_party/typeshed/third_party/2/tornado/tcpserver.pyi,sha256=1N0cm3HUZlN3dfsgzrdYTNMEN3nvGu7r2UsE7WuJQ9Y,556 +jedi/third_party/typeshed/third_party/2/tornado/testing.pyi,sha256=L25CKrPr6bQA9NTQo5bDHfttn5WSAEwlky9y3vIINgo,1865 +jedi/third_party/typeshed/third_party/2/tornado/util.pyi,sha256=8eT1IqgZQAG2ffDTCdkAufpPxgtarCEPwbDua2Nuuqg,1072 +jedi/third_party/typeshed/third_party/2/tornado/web.pyi,sha256=3D7aMJ7GBsCFu8dho6qlXOnkklJxcPC37100DvJd1Wc,8848 +jedi/third_party/typeshed/third_party/2and3/atomicwrites/__init__.pyi,sha256=2rvz0VcbCzK5PZ_z1EkWACfHYm2-Lr68oowyr4P3pp0,850 +jedi/third_party/typeshed/third_party/2and3/attr/__init__.pyi,sha256=VDc3e_MSaIhknnBqIv-6XNjmDYR7pK2WCKydzh6D1Pg,8149 +jedi/third_party/typeshed/third_party/2and3/attr/_version_info.pyi,sha256=x_M3L3WuB7r_ULXAWjx959udKQ4HLB8l-hsc1FDGNvk,209 +jedi/third_party/typeshed/third_party/2and3/attr/converters.pyi,sha256=Bk1t2LtjazrzPzOBElUr6xTXwm1bSRT9yqX87xrEdeQ,346 +jedi/third_party/typeshed/third_party/2and3/attr/exceptions.pyi,sha256=4zuaJyl2axxWbqnZgxo_2oTpPNbyowEw3A4hqV5PmAc,458 +jedi/third_party/typeshed/third_party/2and3/attr/filters.pyi,sha256=_Sm80jGySETX_Clzdkon5NHVjQWRl3Y3liQKZX1czXc,215 +jedi/third_party/typeshed/third_party/2and3/attr/validators.pyi,sha256=ycA4ztBcRNQeniNpAENIu4BHB1RAyHgbZpS-8r8mwvI,1814 +jedi/third_party/typeshed/third_party/2and3/backports/__init__.pyi,sha256=CKeVKOomLpAIZH2ipts0a2F9ugydH1mCvfIGlfvtEbc,109 +jedi/third_party/typeshed/third_party/2and3/backports/ssl_match_hostname.pyi,sha256=jAdLMMvdxdszZCIdVGxRZw7i5waIBqb4RqwketJqMr4,81 +jedi/third_party/typeshed/third_party/2and3/backports_abc.pyi,sha256=z8KwJUh51HVvBluyv29D8TM7-fSQNZf_WPXGvddzV3M,220 +jedi/third_party/typeshed/third_party/2and3/bleach/__init__.pyi,sha256=M2COlKhdPdtUHIMaOWtlGIVk5NGzag1OEEcXL0vtTo4,841 +jedi/third_party/typeshed/third_party/2and3/bleach/callbacks.pyi,sha256=Wpeg0LxBAend5GwNZVw0u6dKT4ZoicVDrUqsGqFJMFs,206 +jedi/third_party/typeshed/third_party/2and3/bleach/linkifier.pyi,sha256=vQleEwvJ8ucOi0oyBhRnOXj6dAGZe_2bHRHX8UqRFPA,978 +jedi/third_party/typeshed/third_party/2and3/bleach/sanitizer.pyi,sha256=1-c_WuvDFDEVINySuZEuaBq_RfYjf7UV74b9pq-15YQ,1148 +jedi/third_party/typeshed/third_party/2and3/bleach/utils.pyi,sha256=RSxKxwsKbaak2b50U5iFJsnkMGQDSEADBN8fqamTZGw,286 +jedi/third_party/typeshed/third_party/2and3/boto/__init__.pyi,sha256=daXgcCm5ezx16EpC83J04doV5fHQ1mZlLLCEgIltRZY,7183 +jedi/third_party/typeshed/third_party/2and3/boto/auth.pyi,sha256=H6ZtG0lKjp4WCcoUcNxecLo4CzDs1xCsUYmwI3yeSYg,4141 +jedi/third_party/typeshed/third_party/2and3/boto/auth_handler.pyi,sha256=7QChS7_s-Uit5ZNCr4FCtMRFRw7uOIJUUW3ISeAckXQ,251 +jedi/third_party/typeshed/third_party/2and3/boto/compat.pyi,sha256=v6PUjkCJ0tdXWWUz-0vx2vSFBbh0pmk3yfY3EFhLg_g,384 +jedi/third_party/typeshed/third_party/2and3/boto/connection.pyi,sha256=g7eTL8QplrrRBsQoGhIEEE4y4puNzPFQDuEDXq1o4bc,5679 +jedi/third_party/typeshed/third_party/2and3/boto/ec2/__init__.pyi,sha256=mJotwEhqx0uTOkp7ABAXmgruW432cmd_CLfyqwIdh7c,256 +jedi/third_party/typeshed/third_party/2and3/boto/elb/__init__.pyi,sha256=vIwGOPGo2wMeNQLxYnBTI5nq-35Q2bcZCyXmgK7WfGA,2629 +jedi/third_party/typeshed/third_party/2and3/boto/exception.pyi,sha256=pp1-GMr4VjeXHcmHJsiBvyiYC5I1MN6iHV_kclA1Mg8,4569 +jedi/third_party/typeshed/third_party/2and3/boto/kms/__init__.pyi,sha256=kblf2ubHjX319n44aDeqTcaZmNGcE1aCNVX1_eprqM8,157 +jedi/third_party/typeshed/third_party/2and3/boto/kms/exceptions.pyi,sha256=WKhoeQKeApIczWPJz3vC5A7K03AmbNAM4bnBuVuNVCw,829 +jedi/third_party/typeshed/third_party/2and3/boto/kms/layer1.pyi,sha256=OgMqR0jIffdQCX7bqbN8WybQrfrr6sXj9CGvNUC_cHA,3972 +jedi/third_party/typeshed/third_party/2and3/boto/plugin.pyi,sha256=rquBCp_gv_wSNNcWYijFPURhXO48ELzf5XItCuPv7nI,235 +jedi/third_party/typeshed/third_party/2and3/boto/regioninfo.pyi,sha256=QkiqbCcldisKPERnXU6fgKYlOHD4ojOWssGq87r2KMw,701 +jedi/third_party/typeshed/third_party/2and3/boto/s3/__init__.pyi,sha256=9lKx0pFB5gzA3515idyUeg6YF8zryDGfm1hWzOWlSbo,523 +jedi/third_party/typeshed/third_party/2and3/boto/s3/acl.pyi,sha256=01T9Ak5fcjt4TGf2vpCW-T0rS-miWRpcdKttcYBBZhk,1686 +jedi/third_party/typeshed/third_party/2and3/boto/s3/bucket.pyi,sha256=576y7ybFKFnWpxcFeYHsmCg1iXsy0fv3BST2eIbEDG0,8747 +jedi/third_party/typeshed/third_party/2and3/boto/s3/bucketlistresultset.pyi,sha256=3UER4BACEqM1ZpY6P3kefwwXuBP2TxD8UoqMhPbWtl0,2029 +jedi/third_party/typeshed/third_party/2and3/boto/s3/bucketlogging.pyi,sha256=3A-6a-73DgObYEzBbcUcknHJQyw4e3ihu0NDL4qRmGQ,400 +jedi/third_party/typeshed/third_party/2and3/boto/s3/connection.pyi,sha256=pkr9v7Bxd0pyu-IA_bkW-ueRCTb5uzed_UT8G_Frp-g,4829 +jedi/third_party/typeshed/third_party/2and3/boto/s3/cors.pyi,sha256=wrlgEU_VFds-ZtwzNG00aCwil2hZxRaSaBkMq6yGKo4,1088 +jedi/third_party/typeshed/third_party/2and3/boto/s3/deletemarker.pyi,sha256=T6AWOwNnW391UjVpzJ8tfbaOtM_hSaNa2wyJV02f5wQ,366 +jedi/third_party/typeshed/third_party/2and3/boto/s3/key.pyi,sha256=73WWtWTIbSJl_vHm8DqYCi2DCa7IuVsCq07I4TKtw-g,8317 +jedi/third_party/typeshed/third_party/2and3/boto/s3/keyfile.pyi,sha256=EcfBooXpPExAghucYEM6sxPVsp32wueqK_-5Kk-66rI,684 +jedi/third_party/typeshed/third_party/2and3/boto/s3/lifecycle.pyi,sha256=eevvO0p0sW2lQYzyxVGUgEe7yLDsnia-Tnqq0ibgwU4,1984 +jedi/third_party/typeshed/third_party/2and3/boto/s3/multidelete.pyi,sha256=GpNwfrASD9rWAfPhd1HoZf-6rBT2Lf3bbJyj_8fX4Kg,1075 +jedi/third_party/typeshed/third_party/2and3/boto/s3/multipart.pyi,sha256=G1A4EP8qX15z724aoTc-13cAZnuSl2V-2Gbp4GjlPjA,1997 +jedi/third_party/typeshed/third_party/2and3/boto/s3/prefix.pyi,sha256=UDLPJn1XiSFLXxd0RdeOMzUfzEyYUnCAiGPACntnkkI,324 +jedi/third_party/typeshed/third_party/2and3/boto/s3/tagging.pyi,sha256=JgNFPHTLi7TR0HbeasYlSnbVA-GzNXzYJ9H6sBmLz0c,748 +jedi/third_party/typeshed/third_party/2and3/boto/s3/user.pyi,sha256=nFbH3dOf5SfNoaTyNwkiu2q3ZR82iPYVr-LfXzUGzYg,362 +jedi/third_party/typeshed/third_party/2and3/boto/s3/website.pyi,sha256=O-9DSWitjeUMEkGVnCUzOQjEOuX94HDt_9bPgLEnkBw,2649 +jedi/third_party/typeshed/third_party/2and3/boto/utils.pyi,sha256=9iLNLIEyh6Z5rbXpdGef7V5eQ0jih7eSA5sEwgtxAOI,5876 +jedi/third_party/typeshed/third_party/2and3/cachetools/__init__.pyi,sha256=i7v_tIZJRWRJCFiADCwVOOp_t9Vo_aZp_cEL0lcOBJ8,254 +jedi/third_party/typeshed/third_party/2and3/cachetools/abc.pyi,sha256=IqWLRykYAB0tVeDGtxAv4hEBeotGQaxIPkrSMYWdlAg,182 +jedi/third_party/typeshed/third_party/2and3/cachetools/cache.pyi,sha256=xnBVZ9h9R56nhR4vWfH_MAXev9KnLLtEqLN4405zQww,712 +jedi/third_party/typeshed/third_party/2and3/cachetools/decorators.pyi,sha256=jao0eXl3rjETbO5_TUtpRNiHg83q6MqK-YPtshaldk4,605 +jedi/third_party/typeshed/third_party/2and3/cachetools/func.pyi,sha256=p4rD-rrZVbHD3x0HVrmQf2Sv6gCqDxqo5Ln-AGCnfSc,510 +jedi/third_party/typeshed/third_party/2and3/cachetools/lfu.pyi,sha256=hEuvwO-6VmvZdl2bkFWuP7yq6jmCeB2Z9HVPC-vC9Rg,632 +jedi/third_party/typeshed/third_party/2and3/cachetools/lru.pyi,sha256=1PkODHl1pNoGmDhZEUh0qvQQLDZKUJTfKPhjhuT73WU,607 +jedi/third_party/typeshed/third_party/2and3/cachetools/rr.pyi,sha256=f76mZgCsS7a8K44HFchyia1hAAAAxDIg6pdlVhfOQ-g,683 +jedi/third_party/typeshed/third_party/2and3/cachetools/ttl.pyi,sha256=I-P_gSblYWVijxd6WIFFAYEuqf6qI2wApq4RuFxekPk,926 +jedi/third_party/typeshed/third_party/2and3/certifi.pyi,sha256=L-Idpv54Z5MALmou6rENZOu7F_jAFD5CPo1hb5amF2s,24 +jedi/third_party/typeshed/third_party/2and3/characteristic/__init__.pyi,sha256=3h0tr1yazsqIaoo23raa-kUVvvfFTzzsMHllLmJBgY8,1330 +jedi/third_party/typeshed/third_party/2and3/chardet/__init__.pyi,sha256=iTl0aDlS_uQVPCs4ZQSsAYwNveIOYkE3ADM0Bu09Q04,667 +jedi/third_party/typeshed/third_party/2and3/chardet/enums.pyi,sha256=inSdRKDA-1mWbD2S2Wk1NRmWRmefiYx5YQxJMGimkz4,710 +jedi/third_party/typeshed/third_party/2and3/chardet/langbulgarianmodel.pyi,sha256=OpF1fUvRwXdQXUXoJs33oTP4KRMWZF05xwZjkLu6iyc,263 +jedi/third_party/typeshed/third_party/2and3/chardet/langcyrillicmodel.pyi,sha256=QbAYnXFTbOS3n1OntaCWI1x3XIbWX96oRwyyA9A5vZw,536 +jedi/third_party/typeshed/third_party/2and3/chardet/langgreekmodel.pyi,sha256=T0VzNfG5ktCgMT8PY-JSmVToVUXYxY9T72iaYQ9xmmk,240 +jedi/third_party/typeshed/third_party/2and3/chardet/langhebrewmodel.pyi,sha256=tUeIdTVWsWmI-RJAIkk5ubiUqeI9R1vUElAk1cdCxP4,169 +jedi/third_party/typeshed/third_party/2and3/chardet/langhungarianmodel.pyi,sha256=6sMaBbtCipjI9zwb3pK2ojnJ1V50ueO7cLd3ODuBkVo,263 +jedi/third_party/typeshed/third_party/2and3/chardet/langthaimodel.pyi,sha256=X0Ot8G3kPmA4VrnAxy7wwAkLyZJ5QfLOQMMSZfDpNH4,157 +jedi/third_party/typeshed/third_party/2and3/chardet/langturkishmodel.pyi,sha256=0xxalkd4p4lrZFWdCy9OZhvAG_S1rPEH2HuguWFe_7o,171 +jedi/third_party/typeshed/third_party/2and3/chardet/universaldetector.pyi,sha256=Cv9ikp-HF1JsbmUUnfrTGdj-ogw_iFVSf0yOQEE5Hxs,809 +jedi/third_party/typeshed/third_party/2and3/chardet/version.pyi,sha256=9L2O530uTJPPoHbmYkRjZwFkoIeIOhCWwGGBYouCKN4,61 +jedi/third_party/typeshed/third_party/2and3/click/__init__.pyi,sha256=3oe1-v8WfI-v6asPrtdIp1ochj2vT_cKOt4W6PBUx0E,2273 +jedi/third_party/typeshed/third_party/2and3/click/_termui_impl.pyi,sha256=gMqbhjSvNlAmi6GaFanVip40LRi4taeSN4sR_ck10II,442 +jedi/third_party/typeshed/third_party/2and3/click/core.pyi,sha256=lRB0bp9srrgM9TRZ8ZKRV71c2QRF1EOi2DBE7ePclQs,11012 +jedi/third_party/typeshed/third_party/2and3/click/decorators.pyi,sha256=UbSVA_xm2O6BZhfl-K0Xi4a_xzuMiby4_pz9gZx2X8I,9143 +jedi/third_party/typeshed/third_party/2and3/click/exceptions.pyi,sha256=o4rbUXi-6iBjHNiHUjnEo-Ad02Dy3xrZL_YYPVkWN78,1936 +jedi/third_party/typeshed/third_party/2and3/click/formatting.pyi,sha256=D6GMWwb6-9mM7-F7Om4bQP-pbtFKD2NZ_rDUKYNpjvA,1383 +jedi/third_party/typeshed/third_party/2and3/click/globals.pyi,sha256=Xi3fHtTEJHjVyQ-djJEaQkDxnZ9RE5xD-uh2B1xs9ho,274 +jedi/third_party/typeshed/third_party/2and3/click/parser.pyi,sha256=tSKZ0bKLpIObxaSZ86IBpk7PsR6idJGXD2bZzgya5ss,2006 +jedi/third_party/typeshed/third_party/2and3/click/termui.pyi,sha256=cG1FM90WpFvr8VQ9-XY_zstLebtXRK2MLZ0ncPqwMXg,3291 +jedi/third_party/typeshed/third_party/2and3/click/testing.pyi,sha256=s1GKTPK-blyfhaXqk3NvFBAXRBGuCR73RRH_weGbOcs,2136 +jedi/third_party/typeshed/third_party/2and3/click/types.pyi,sha256=VSx6kUdgT7LHTW2Ig8-pvnD9t8AxUYYSYUabbpsDdyM,5045 +jedi/third_party/typeshed/third_party/2and3/click/utils.pyi,sha256=Rgm3qjXceoORj5TgL7fHcBMs5bU6j2EU7qC68ZaVElU,1752 +jedi/third_party/typeshed/third_party/2and3/croniter.pyi,sha256=TJBwRUQdiVQbCYBiao1VL2Esal2U_I3n6ZR38NtOd7o,1934 +jedi/third_party/typeshed/third_party/2and3/cryptography/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/third_party/2and3/cryptography/exceptions.pyi,sha256=CpK5HtZvigk1U7yYLlqYcXGJaOzknyfhUUittXFuKiM,262 +jedi/third_party/typeshed/third_party/2and3/cryptography/fernet.pyi,sha256=pr8Po1ra3EdG9lMU8osc1fg0-ZOoASGAHtccbhcbr80,1282 +jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/__init__.pyi,sha256=3fBxcSppJr6EOEcUojvflG3Eegg7lv2Qp0dNQQILrP4,63 +jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/backends/__init__.pyi,sha256=dKFUFhsHmSbNrHdG2a_5CErfvQu9hdnIWMA1vys9LaI,124 +jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/backends/interfaces.pyi,sha256=B6ll_f3g9smOyhOZR8hRLJcc891y2yr57KPSVQYb1PI,8238 +jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/bindings/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/bindings/openssl/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/bindings/openssl/binding.pyi,sha256=QHIbjl0Q39fxas4DabuLytXjjBZrfqNkft0H_nWwXr4,148 +jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/__init__.pyi,sha256=3fBxcSppJr6EOEcUojvflG3Eegg7lv2Qp0dNQQILrP4,63 +jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/asymmetric/__init__.pyi,sha256=3fBxcSppJr6EOEcUojvflG3Eegg7lv2Qp0dNQQILrP4,63 +jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/asymmetric/dh.pyi,sha256=AHR65ed03NWB6oK8YoTQYt3AgCk0fMk179NRcE5WfmQ,2651 +jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/asymmetric/dsa.pyi,sha256=AeKPk-Evk0aTJufLg3ohlne7qR2CXJqMse8gNoAD-y0,2965 +jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/asymmetric/ec.pyi,sha256=VoSyXBfG2NuAqHd_WARe7UH1eqq9jaO5vijRMNk3AFQ,6340 +jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/asymmetric/ed25519.pyi,sha256=OiE4CJcNDIaqd_VzdmQGn28WPdT5PBQ5jVKfq_ZRc3k,985 +jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/asymmetric/ed448.pyi,sha256=Mw-p07GDyttBXKaNB5Su5hw01DQXZgjEZe5M1e7PlhE,973 +jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/asymmetric/padding.pyi,sha256=g1sB5wpH6yoi9LrLUSHOejKdt8xiLmkPvDdUn6Cm1UY,787 +jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/asymmetric/rsa.pyi,sha256=rT_qcbpenlB8wuhg3jRcMm-5OErh2cCc3tkNFn-x1d0,3288 +jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/asymmetric/utils.pyi,sha256=nTFxj83DVi4OEi8B9wokES2Vh-HwUsxZHiEA4PcH068,406 +jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/asymmetric/x25519.pyi,sha256=JHX8lIJN0j94AsHIS4jQWCrlcOgLdb3Ud2QznMRXOC0,919 +jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/asymmetric/x448.pyi,sha256=efSTvyRkpVAcxtAwzYymDbnOQPA-dJW7YAliRVA5_cc,905 +jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/ciphers/__init__.pyi,sha256=eOEIBpUXLaH5IkOca5Ko3HQdUGfDIDFDwmlsz7RBGJA,1363 +jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/ciphers/aead.pyi,sha256=MhkfsUnaMVEi6oRrcfTgp6h1_1QCS8bvxtwoE6bqZS4,1065 +jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/ciphers/algorithms.pyi,sha256=Ig9mWCRz8rM6X5js1D4rlT06YbdALJ5RUpO4i6Qb7Io,2245 +jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/ciphers/modes.pyi,sha256=3rIwa-kj4k0wj8YfZeesqX6jEJhHtUZth6-ivi76etE,3089 +jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/cmac.pyi,sha256=HO4SJ5cJgPcP3cBjXg6n8nAKBWpyOlQzyXZfyQz_af8,461 +jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/constant_time.pyi,sha256=47ogru9j6XG5mLMDsl2iGKxhZjsH_bKhWYBt4c1jQk0,46 +jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/hashes.pyi,sha256=j3L6NIrR867bxvIoY6FVw10HEZz-0alVzDTUdPqf48w,1342 +jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/hmac.pyi,sha256=4iDj3W1Nk5MKJdkpNVRsY3Q_KP9NBOK_zS7pbo1Wj_0,457 +jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/kdf/__init__.pyi,sha256=fymJGVYF4JGsuO5IUacyuYb4Xunrps4mFrJ0XFEUdfU,261 +jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/kdf/concatkdf.pyi,sha256=Qmc9PP5j2fsiJfQltiWvgywgNLPQVTcyofH2mNqmWmI,951 +jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/kdf/hkdf.pyi,sha256=m_JHDA0r_aZGcOT5B0_3H9VpNfN9WnEAvb1zvgIssa8,902 +jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/kdf/kbkdf.pyi,sha256=MCUGyI5wZWLcPd9Sh_aHnDfumqS9ZoCYsQ2WseK-BM8,867 +jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/kdf/pbkdf2.pyi,sha256=-MWdJfLGEKiNC3qavnm2unJDtndsBFmZmQoj4Cbi_N8,561 +jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/kdf/scrypt.pyi,sha256=wKA2YyDAullLwwfR9Ng43xn2gKd7GyCH9NGVSRz1Ycs,452 +jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/kdf/x963kdf.pyi,sha256=wvi3YJDqDJdqVT-Dgr84e4-cqosiq2f_wQQD6mgFXsk,545 +jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/keywrap.pyi,sha256=FGJg_GstrQcaavqriIfHdq_aOQPVeq_F9CpN8Nw0gvI,611 +jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/padding.pyi,sha256=RYc1U9k5Vw4NzpT-JXi_AwRiPXwzu7XLVyG6HtDy_gM,540 +jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/poly1305.pyi,sha256=ON5PxE5sYR6YLf8grWy-8FwUfGiQt28l1s2elvrKgYw,375 +jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/serialization/__init__.pyi,sha256=7RHfNmeDX9gwtceJXJ7kdp_YCpqHB1BZObkeDk2YSAI,2359 +jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/serialization/pkcs12.pyi,sha256=NwgQSXWYnaOm4717c2v92AP8jrw0davzciJDVzeDIjE,933 +jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/twofactor/__init__.pyi,sha256=MV00ZbBi-FKgHi9PYY2ZS7tneV2rghu2eVi1KgxRZzs,35 +jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/twofactor/hotp.pyi,sha256=ibl6C1ISmQ5H6nmmT_axuSuhPmPUn7YBx7A4i5PoFbY,540 +jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/twofactor/totp.pyi,sha256=p2rGTlM-DzrBmqLnYQKklWHjJJbDwQ0yf_J1BfJqf8g,585 +jedi/third_party/typeshed/third_party/2and3/cryptography/x509/__init__.pyi,sha256=3xR6GVwKT2nPtrlazcfVcs_r5DmEFkYk1OnstSBjiQ4,17734 +jedi/third_party/typeshed/third_party/2and3/cryptography/x509/extensions.pyi,sha256=zMbVNkp-hl_XW3RW71h0MlwUM-Rrz3X0OxEEZbZAo-Y,557 +jedi/third_party/typeshed/third_party/2and3/cryptography/x509/oid.pyi,sha256=eHglWkt4t9CRxOwXqdsocMPa8MpJFTHn1lhBf5EAfMU,4153 +jedi/third_party/typeshed/third_party/2and3/dateparser.pyi,sha256=xAhfYbQgduxqvMxoMSfuaBeQ5pzwLWVrZTdbOzHWMYo,522 +jedi/third_party/typeshed/third_party/2and3/datetimerange/__init__.pyi,sha256=_CLVxkVpVy20mXcnlMv8KzMcvSEbnEKgYfScf_swPuk,2062 +jedi/third_party/typeshed/third_party/2and3/dateutil/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/third_party/2and3/dateutil/_common.pyi,sha256=Xxs-IpVplkwjwEnqCLwzA-JIm6I9kzAFkcLQWyzZWvY,340 +jedi/third_party/typeshed/third_party/2and3/dateutil/easter.pyi,sha256=5mypiQN0QZHpFBk80RddMUkFuRHb4qWOX8wJCbx4a6s,214 +jedi/third_party/typeshed/third_party/2and3/dateutil/parser.pyi,sha256=Brz_8xe_yX14RB6B8pVk6BacM6HizqkUCIQ5vc9U-_I,1779 +jedi/third_party/typeshed/third_party/2and3/dateutil/relativedelta.pyi,sha256=SfCOq1b8otE6in4nsnH0m0Kbyl2jbWaxGwcBoeapTHk,3243 +jedi/third_party/typeshed/third_party/2and3/dateutil/rrule.pyi,sha256=EBup_m5smahe2tbtJG_-0kj6pyZjyv0YKi5oWKjwP1s,3219 +jedi/third_party/typeshed/third_party/2and3/dateutil/tz/__init__.pyi,sha256=MlXCZJGqduJh-Mk0pHLw06oNxeW1fvPP3ixfo2SM8ak,340 +jedi/third_party/typeshed/third_party/2and3/dateutil/tz/_common.pyi,sha256=0C_pqZ2TLRyKAsg_lS6WR-pwbGiezi4PY7uotzfUMjk,818 +jedi/third_party/typeshed/third_party/2and3/dateutil/tz/tz.pyi,sha256=mExYydbsNJYcED03KVMfEHthqixakuSa3Qq_9mDczUc,3970 +jedi/third_party/typeshed/third_party/2and3/dateutil/utils.pyi,sha256=c9oLGnocofsb4y9CPpCIZGPFF_tysaA6P9i_g3CpZVE,281 +jedi/third_party/typeshed/third_party/2and3/decorator.pyi,sha256=MXFxKax2ovqI9ZAJRmWIyNzOxL1sYQ2vGBM6JGkl_44,2760 +jedi/third_party/typeshed/third_party/2and3/deprecated/__init__.pyi,sha256=Q5NJtAoHP5mH31hhagi9d8-jI3qoRJDlRQNCMMBpOG8,46 +jedi/third_party/typeshed/third_party/2and3/deprecated/classic.pyi,sha256=lWfx7eJTqKQPcZr3oKLHHrPB29S-vYm8yImwb3enRM0,783 +jedi/third_party/typeshed/third_party/2and3/deprecated/sphinx.pyi,sha256=NvfjRlHcPAeTbI_BkSg9ygv0klEMxTShqP9i5GjfaSQ,1129 +jedi/third_party/typeshed/third_party/2and3/emoji/__init__.pyi,sha256=Ix7SRTSbCqLgmR0L0MCBIW72Zs0t3-mmmbdMzg4Axbo,373 +jedi/third_party/typeshed/third_party/2and3/emoji/core.pyi,sha256=-4Hs3zO0KZtnou62-FII7AZbyEpL__-VRSziFn8acTo,419 +jedi/third_party/typeshed/third_party/2and3/emoji/unicode_codes.pyi,sha256=qwYCvETNLt20Ok76oiBBIuVfIzzEkdLt1jhxGzdqHUA,171 +jedi/third_party/typeshed/third_party/2and3/first.pyi,sha256=jk0nVWOV_kqCy1ZIvuTPGbggVajhW9SnGVYdDflfss4,481 +jedi/third_party/typeshed/third_party/2and3/flask/__init__.pyi,sha256=dKC5xsUiM9a0nh1zxuP991HYODlG4Th_-2_uifzieFI,1688 +jedi/third_party/typeshed/third_party/2and3/flask/app.pyi,sha256=E352cSxQISVJ894PKmp07vTwurIyadV2RRI1Cro7m-Y,8224 +jedi/third_party/typeshed/third_party/2and3/flask/blueprints.pyi,sha256=g_ZbSf5GoDmzEbTyJUnDydPwfK--8soIOApyjCgjg3w,3564 +jedi/third_party/typeshed/third_party/2and3/flask/cli.pyi,sha256=WwdlCr0pd8tNj8W8B2XHg6jIlh-ryn5vzaBvvWe2b3U,2195 +jedi/third_party/typeshed/third_party/2and3/flask/config.pyi,sha256=KjCQX-yxie9WA0K5-Zujen_kja_GyptfYqTw_L-QdhM,871 +jedi/third_party/typeshed/third_party/2and3/flask/ctx.pyi,sha256=JJ9QMsJoIWCudf9Gwi_9PmFhLHh3Qi-m50IklJOrnOg,1335 +jedi/third_party/typeshed/third_party/2and3/flask/debughelpers.pyi,sha256=xW9zO6fuhvTJ4rk-tQFWucJOzufOJjHaahF7_Hm4HYQ,507 +jedi/third_party/typeshed/third_party/2and3/flask/globals.pyi,sha256=C86I2edNhxlipXPH6Ghwf2gN2E0ALtd7uRe2f1A5NOM,322 +jedi/third_party/typeshed/third_party/2and3/flask/helpers.pyi,sha256=2sriNHIKIlknrelbfl2Kh9Fd-Gzqo1qX3G0pptqn5ig,2036 +jedi/third_party/typeshed/third_party/2and3/flask/json/__init__.pyi,sha256=1UCkfXT-tCvt4MW1loZM4fXMd9_8U91nYZyMCzddUSY,654 +jedi/third_party/typeshed/third_party/2and3/flask/json/tag.pyi,sha256=_cOpm75btUJ-zPPdvBeGxj12fENH_9XY0_I32Ounk3I,1918 +jedi/third_party/typeshed/third_party/2and3/flask/logging.pyi,sha256=AOGLuCAg9HnXXkXQsVGa2lQ6TAxqk18G0RpytsD0SBo,150 +jedi/third_party/typeshed/third_party/2and3/flask/sessions.pyi,sha256=rrIKmlljalXzcTNH_x5YVEVsmMKuIJnJ1r7XHI2RTfo,2017 +jedi/third_party/typeshed/third_party/2and3/flask/signals.pyi,sha256=HRUu9jh583VLFfxUmdNjJ17XnVdziRDu-_9NIgnf2yc,718 +jedi/third_party/typeshed/third_party/2and3/flask/templating.pyi,sha256=xBS-FLM_qPjNQwx5Z5a-c48hQ77vfC5LXLNCJCSmI4g,604 +jedi/third_party/typeshed/third_party/2and3/flask/testing.pyi,sha256=oiZz2eCxXMLPjChHuLps-2HwtApsmWgY0nU1fFmXc74,1827 +jedi/third_party/typeshed/third_party/2and3/flask/views.pyi,sha256=AXG5OxY9r03ZDSFtV48yXsFPXQlMFZtD0cHceIpwzIg,530 +jedi/third_party/typeshed/third_party/2and3/flask/wrappers.pyi,sha256=Qhblio57KSJw-stcPOYTRxCWtRZ7V7yCCMtz8q2JkBc,1145 +jedi/third_party/typeshed/third_party/2and3/geoip2/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/third_party/2and3/geoip2/database.pyi,sha256=KiGpw7XqZHu0bSQSFNDu9yW-RDbP8XGTQCD0LTO_soM,1133 +jedi/third_party/typeshed/third_party/2and3/geoip2/errors.pyi,sha256=pZ2Y9djJdVQVgKMnPXPI77UKCF_gs6v9ApuWSj4tgSY,494 +jedi/third_party/typeshed/third_party/2and3/geoip2/mixins.pyi,sha256=ZpggdVI7qLOYVHt91mL8uPwWq4E07MxpN_UfAgoPcB8,120 +jedi/third_party/typeshed/third_party/2and3/geoip2/models.pyi,sha256=h0flgP22m1KL7U55cg1PAhoQ73XeGPg5s2nLn6B_5aY,1867 +jedi/third_party/typeshed/third_party/2and3/geoip2/records.pyi,sha256=3-gke4nBlwnk09iOiT8tRdusFPi6CewrJn9foXKvI_M,2071 +jedi/third_party/typeshed/third_party/2and3/gflags.pyi,sha256=c32SjcBY5EaEWC0ZzMWqfEM9BfMa8sMc4nX_WntL3fc,10776 +jedi/third_party/typeshed/third_party/2and3/google/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/third_party/2and3/google/protobuf/__init__.pyi,sha256=U54VfsG7-8DG_1f27w_Gmz8NunTjIR0iCWEXUCuKKVA,19 +jedi/third_party/typeshed/third_party/2and3/google/protobuf/any_pb2.pyi,sha256=r12boNnMlrqzwGMOVLK3YUILTg26UVP3uGOav2S3vgo,1353 +jedi/third_party/typeshed/third_party/2and3/google/protobuf/api_pb2.pyi,sha256=Vk1syiUbOtrQuhC5HKZX4RPYKtdAbypTsX-fZox8Gtc,4881 +jedi/third_party/typeshed/third_party/2and3/google/protobuf/compiler/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/third_party/2and3/google/protobuf/compiler/plugin_pb2.pyi,sha256=MhJF46Zpl7YfIhQyUBXmG5pkOYIww3CSrkhyIK_FL58,6548 +jedi/third_party/typeshed/third_party/2and3/google/protobuf/descriptor.pyi,sha256=fkv0RR_gPgZr9EJS7tisfkMQtiYDX8OOCGeY7DKBSvc,7843 +jedi/third_party/typeshed/third_party/2and3/google/protobuf/descriptor_pb2.pyi,sha256=A7YzWInNH0SSQrlE4wXAw2vbnCNw93zkyu196Gm8rto,43146 +jedi/third_party/typeshed/third_party/2and3/google/protobuf/descriptor_pool.pyi,sha256=dsqeewyqydUwYE9sNscI2qvYE1h5huXeZQ9igxjQD8I,744 +jedi/third_party/typeshed/third_party/2and3/google/protobuf/duration_pb2.pyi,sha256=jBEaeqcqCopxOCSWjbhP8zjXLf-VkCBFSZeZ1G8I1UU,1348 +jedi/third_party/typeshed/third_party/2and3/google/protobuf/empty_pb2.pyi,sha256=FWX0qLZZMDX34-I45EwCjvOWnNdvwGJ-yE3DcZXoZJc,603 +jedi/third_party/typeshed/third_party/2and3/google/protobuf/field_mask_pb2.pyi,sha256=6E26cc872vDtSCX0B1XQGAHUW_ajwYcCtKKg-jrejJg,1558 +jedi/third_party/typeshed/third_party/2and3/google/protobuf/internal/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/third_party/2and3/google/protobuf/internal/containers.pyi,sha256=FRcEQWw5vvdjZ5fD80mj9G_9tdZjOTgWiMGIoV6fhnc,3653 +jedi/third_party/typeshed/third_party/2and3/google/protobuf/internal/decoder.pyi,sha256=roJK89CkgjVKjRJbEnQ5ik1KdfXhwxymSyRIg7c5WW0,860 +jedi/third_party/typeshed/third_party/2and3/google/protobuf/internal/encoder.pyi,sha256=3rRgqC6ceJ7LtL7Qo5YiAK6CwE_HigHMsj9l-oa_5iE,1045 +jedi/third_party/typeshed/third_party/2and3/google/protobuf/internal/enum_type_wrapper.pyi,sha256=HPVeZHGr2DNnMI9bX8hRNii3OrD8DtWIr2fawf8BQ2Q,650 +jedi/third_party/typeshed/third_party/2and3/google/protobuf/internal/extension_dict.pyi,sha256=e54-8z3JwpIKs36-NI9VWfQ9LEncwDMCXJrJI0wint8,1795 +jedi/third_party/typeshed/third_party/2and3/google/protobuf/internal/message_listener.pyi,sha256=EiRlRR-kzJlKV3NXoYtYrGhMS3lZ2oWwQdq77h1cY8E,148 +jedi/third_party/typeshed/third_party/2and3/google/protobuf/internal/python_message.pyi,sha256=IESr1OjAZD9idg1OgWzMfeV2Sta08R0uHLAbweljTD4,46 +jedi/third_party/typeshed/third_party/2and3/google/protobuf/internal/well_known_types.pyi,sha256=DFxcLR_wHeTGdA49Vl-dr8k0zdm7LlksB6Dqj3ZD5Yg,3756 +jedi/third_party/typeshed/third_party/2and3/google/protobuf/internal/wire_format.pyi,sha256=ncrIlZeBjytfWeG9rQX8VdHO8YvS3EmqBJ4rIbaZVxw,1554 +jedi/third_party/typeshed/third_party/2and3/google/protobuf/json_format.pyi,sha256=ZCsnQy2nbUTYAkOHilhoGAu0gMyiTGx7rD1wTMEH75M,903 +jedi/third_party/typeshed/third_party/2and3/google/protobuf/message.pyi,sha256=wxYo7wptWBT2maYMBCMwEGIyuTrPzmjUNmGOly4wmhE,2522 +jedi/third_party/typeshed/third_party/2and3/google/protobuf/message_factory.pyi,sha256=LOP5EeGqIi8j6R0V-4eoG9iZNX30c3dQb1J59td_4Ks,631 +jedi/third_party/typeshed/third_party/2and3/google/protobuf/reflection.pyi,sha256=VahfyfCz4LzllaCNcv6qXVMa6sWQZ9PEbM9yTKrC9d0,230 +jedi/third_party/typeshed/third_party/2and3/google/protobuf/service.pyi,sha256=khFSQ7jbdMgCZRnhTDDIXnaDvS_GsjhllVxiJpDu9yg,1371 +jedi/third_party/typeshed/third_party/2and3/google/protobuf/source_context_pb2.pyi,sha256=ojA6bEP8HWs-2i-UH8GOxc8z3fYZGq6diaj1vZLTEgU,1097 +jedi/third_party/typeshed/third_party/2and3/google/protobuf/struct_pb2.pyi,sha256=g1CuFe2Cd37bigkRiOudt2hoIA27LIH0YcxxM1iym1w,5358 +jedi/third_party/typeshed/third_party/2and3/google/protobuf/symbol_database.pyi,sha256=skHeJKelHAiApzBN2EKOd6VaWP3IsyjOxoe0HDS3X84,912 +jedi/third_party/typeshed/third_party/2and3/google/protobuf/timestamp_pb2.pyi,sha256=3WwiKOf2BEcFMLwe480tAQWPDG1xRtRebgwvj2xIN9o,1354 +jedi/third_party/typeshed/third_party/2and3/google/protobuf/type_pb2.pyi,sha256=TNdAmPxbIYjLzTc_4nMSy3tyBY3gPN7Vteotfh6aNxM,11139 +jedi/third_party/typeshed/third_party/2and3/google/protobuf/util/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/third_party/2and3/google/protobuf/wrappers_pb2.pyi,sha256=rew4YgJVRs7PuxNVZggdHPISr2QuNOYmDbj2gmZIv8k,4287 +jedi/third_party/typeshed/third_party/2and3/itsdangerous.pyi,sha256=ufy10z6xR-SpjLpa8c89G4uN-vu_LGaGGiSMzA-PtYw,8405 +jedi/third_party/typeshed/third_party/2and3/jinja2/__init__.pyi,sha256=FGOBNYKOz5GYd8TgZutpo9IKAZ32BiGnbkiz1dWTIpg,1529 +jedi/third_party/typeshed/third_party/2and3/jinja2/_compat.pyi,sha256=7I95GYBNx-7EWPd3BvePzanb1IWGiOJZwAW2AdCJLwQ,598 +jedi/third_party/typeshed/third_party/2and3/jinja2/_stringdefs.pyi,sha256=_gw2yhYfWIlqy06ve5t93z3SIVXX2j5Md3rz58LIKjE,360 +jedi/third_party/typeshed/third_party/2and3/jinja2/bccache.pyi,sha256=ypfXFrP5k-Phe6dJ3jLwn3yhRMzDSYPHTpsJT4Hx56M,1396 +jedi/third_party/typeshed/third_party/2and3/jinja2/compiler.pyi,sha256=PGyzLL8q-_nQVW45vTCeyclt-UuWjln6UqewcHsju9E,6363 +jedi/third_party/typeshed/third_party/2and3/jinja2/constants.pyi,sha256=seJNAMX1_sGZ8wi8SB5qbZtSUvYiQMelMpXMyxl-AR4,23 +jedi/third_party/typeshed/third_party/2and3/jinja2/debug.pyi,sha256=6XZeMpZjfFUP-Mh5tEof8P8UANNgJ7lsBq1RUbjL_M4,1018 +jedi/third_party/typeshed/third_party/2and3/jinja2/defaults.pyi,sha256=fe4KjTE3_Kh0bG7yXzSy6cqtlkHTsRgMWYyMzLnBsag,532 +jedi/third_party/typeshed/third_party/2and3/jinja2/environment.pyi,sha256=7cYxhgLusiW6bw8147dTFHfjesFH_ytARlKw5bmfLL4,8493 +jedi/third_party/typeshed/third_party/2and3/jinja2/exceptions.pyi,sha256=P52TnpizVoU2vAeayt4MZlTYMnhJYiMrWxiLMWP1LeQ,1050 +jedi/third_party/typeshed/third_party/2and3/jinja2/ext.pyi,sha256=w5pYOcJ4h9vgSon1YceCeXsGDWjvUQjGSdCOhoScYXQ,1684 +jedi/third_party/typeshed/third_party/2and3/jinja2/filters.pyi,sha256=OxR24skT1uz7n2J-h3voluptB-l21pQ9KTx0CQnGsVU,2425 +jedi/third_party/typeshed/third_party/2and3/jinja2/lexer.pyi,sha256=evBj10x_89jlfuVacpADTOynp2XF9n8d2vQf5lZg-pE,2764 +jedi/third_party/typeshed/third_party/2and3/jinja2/loaders.pyi,sha256=EbGBtL810XARseWeDa6srKOlNUiUesvlJllf8Li-dw8,2923 +jedi/third_party/typeshed/third_party/2and3/jinja2/meta.pyi,sha256=_R2ui6gjeNSl5x59dwZjhL1WxTG0oKqXSCrgLx-2L24,339 +jedi/third_party/typeshed/third_party/2and3/jinja2/nodes.pyi,sha256=-86WsO5Cbws9IqXBSZidnIVlKesGmV2VFdhIUMrK8Vs,5271 +jedi/third_party/typeshed/third_party/2and3/jinja2/optimizer.pyi,sha256=1bIneJHqfKubBDxSn7sWv2-tGGZ06G6c4zr9Lxbd4X4,661 +jedi/third_party/typeshed/third_party/2and3/jinja2/parser.pyi,sha256=G6S7SzeUUTs_AGL916QYuaEKRhGyrpCekEVt0JOoRRk,2576 +jedi/third_party/typeshed/third_party/2and3/jinja2/runtime.pyi,sha256=8uryZzgqtGakyVDyA7OGzI9uqvSobgIoGrsj5MWmwb4,3463 +jedi/third_party/typeshed/third_party/2and3/jinja2/sandbox.pyi,sha256=zhmpDnPs50ugSYwrdg7V9r3OCbM839NHfBHILwfse-M,1146 +jedi/third_party/typeshed/third_party/2and3/jinja2/tests.pyi,sha256=dixzMe9BiHnvbL8KyR-KY9LLX-VD1-pgbWXC6Mwc4LA,561 +jedi/third_party/typeshed/third_party/2and3/jinja2/utils.pyi,sha256=oCtfBv7W9JqYQMU7nukSm8kVK1wy38U7db3oFsnXaUI,2957 +jedi/third_party/typeshed/third_party/2and3/jinja2/visitor.pyi,sha256=yeJ6g3RC5bitP3tG-btWLOZn954E_e9RxKPtgsiwcVc,306 +jedi/third_party/typeshed/third_party/2and3/markdown/__init__.pyi,sha256=31jve2aAqalclv4Hgat04sP28Oz06Nh8qwJVkC4dB84,146 +jedi/third_party/typeshed/third_party/2and3/markdown/__meta__.pyi,sha256=lugjndxerVWkOhrd9Mo0zDlN4utrCKIse4vNsqQFvxU,46 +jedi/third_party/typeshed/third_party/2and3/markdown/blockparser.pyi,sha256=OYDwhQquCvSSpAxoXCZ0z5kABsWuvCog4LqG3HEePE4,463 +jedi/third_party/typeshed/third_party/2and3/markdown/blockprocessors.pyi,sha256=Hd8EgV71NYEe-nx1m2WHIoQ4p7dXJbzYRiA5vXka1O4,1490 +jedi/third_party/typeshed/third_party/2and3/markdown/core.pyi,sha256=K4hpNVt2gTOP72HB8YSv-xf6uHu_qsUTuBWKnAb9D_0,2555 +jedi/third_party/typeshed/third_party/2and3/markdown/extensions/__init__.pyi,sha256=qaZiIY5BUSCBliWaMIWdX4v-ROFISLWzp6juNrXQi08,549 +jedi/third_party/typeshed/third_party/2and3/markdown/extensions/abbr.pyi,sha256=NWvh4SRoU2bI0X7gdc0Gc5FNu3y51gIkRyDNfU93ozI,428 +jedi/third_party/typeshed/third_party/2and3/markdown/extensions/admonition.pyi,sha256=tX58KZyPP03stonTmJnnvgR8J-QL8MT6i6ILHtFZ_8U,385 +jedi/third_party/typeshed/third_party/2and3/markdown/extensions/attr_list.pyi,sha256=cQaSO-jiaqUGZN1BZoISNSAvLM9m9Y8W2-DJ5Qi9ytA,498 +jedi/third_party/typeshed/third_party/2and3/markdown/extensions/codehilite.pyi,sha256=HRl9kJHv2nleEi84BdCR9cIZ1w4yiOauvFKdmsXgieg,979 +jedi/third_party/typeshed/third_party/2and3/markdown/extensions/def_list.pyi,sha256=-aeDlJbL4JICSTuizcoBkYIHmkEfb6gpkGQEWpMc0r4,360 +jedi/third_party/typeshed/third_party/2and3/markdown/extensions/extra.pyi,sha256=_cNunwRxZSkv3OT-m9oWf76bVVMcJiTkosNCFtH3cz0,197 +jedi/third_party/typeshed/third_party/2and3/markdown/extensions/fenced_code.pyi,sha256=wLqffeWN4EVg1IpvnMeHW9CTfWJ7WC3Vwz8fi-_XrBE,428 +jedi/third_party/typeshed/third_party/2and3/markdown/extensions/footnotes.pyi,sha256=B219DIvS8G0RbJu_ThwOD0qxXME5Ble7k64ak8dfwak,1751 +jedi/third_party/typeshed/third_party/2and3/markdown/extensions/legacy_attrs.pyi,sha256=UE5KQPkirTdRMr90C4WqPUpKKHOALOQpT4HkHPrPxNs,300 +jedi/third_party/typeshed/third_party/2and3/markdown/extensions/legacy_em.pyi,sha256=S5wb-FfHSfIq9o5Uc1ZeQm3BwfR7mjRX8g2km5EV90U,306 +jedi/third_party/typeshed/third_party/2and3/markdown/extensions/md_in_html.pyi,sha256=BFh_ogT03pnKfpqUb0DY5LLw9T330erK3NzOBMOkI1o,260 +jedi/third_party/typeshed/third_party/2and3/markdown/extensions/meta.pyi,sha256=3eRiqW2npoe0iuhFt5BgFVGjhlSSKc4vYOkDjYltaJ8,361 +jedi/third_party/typeshed/third_party/2and3/markdown/extensions/nl2br.pyi,sha256=mjR-zAlnbfZkttPcKAihZt-8vj9VcsOvADl9LzTgW2E,150 +jedi/third_party/typeshed/third_party/2and3/markdown/extensions/sane_lists.pyi,sha256=hqqMgizBkpFc4msXW6IQjsGDp3WFwfeTvRHxSMuKk5E,392 +jedi/third_party/typeshed/third_party/2and3/markdown/extensions/smarty.pyi,sha256=RsAPMqFAK3Qfz51st2J6SdY7s0yDJXQMnl2HbRtHDJc,1080 +jedi/third_party/typeshed/third_party/2and3/markdown/extensions/tables.pyi,sha256=Eg96sG_ww2G6kt6N4jlSwVA-LE834KZGp4-EgDacB9k,414 +jedi/third_party/typeshed/third_party/2and3/markdown/extensions/toc.pyi,sha256=fcqE9YDibJzb8P1Ox7WWczXi_34dCvpcPwXCLkrjagE,1178 +jedi/third_party/typeshed/third_party/2and3/markdown/extensions/wikilinks.pyi,sha256=Q2FIa1iPu0XMRqJTb8wewdPoTXEnJXZiFuYL-Zm0T1o,404 +jedi/third_party/typeshed/third_party/2and3/markdown/inlinepatterns.pyi,sha256=W_AMUX0BcD5vv8OJRL9D2hJfAc0BzK1hs12kOgKKr08,3022 +jedi/third_party/typeshed/third_party/2and3/markdown/pep562.pyi,sha256=pLjxji-A4xeBVYjntboexEwwoSp-JO4CbTLziUGvYqc,276 +jedi/third_party/typeshed/third_party/2and3/markdown/postprocessors.pyi,sha256=BRcuzX2JjjkfSk-OxVyYiPl27LjR9ak-u9kp2xZRVe8,400 +jedi/third_party/typeshed/third_party/2and3/markdown/preprocessors.pyi,sha256=oo3D5AAExEaq9GWiXhVblF37c2cojo7hjTsfh3IiOVY,550 +jedi/third_party/typeshed/third_party/2and3/markdown/serializers.pyi,sha256=V3npjXzO5oR8Ov6K-4JZTa96ma5VQGrtKDRjdvRvCG4,91 +jedi/third_party/typeshed/third_party/2and3/markdown/treeprocessors.pyi,sha256=_DfzQcWXflM9vqyQYWmPb0DfH5b8PEFTBRhBrpUEsaQ,469 +jedi/third_party/typeshed/third_party/2and3/markdown/util.pyi,sha256=4tEwF_04Z1zG_yu314kiwQCJUfnVO9AFLFoDUAU04a4,1584 +jedi/third_party/typeshed/third_party/2and3/markupsafe/__init__.pyi,sha256=RTRaycAzCzRQGvRT-ejSLNdvwg5kQsXB5oHcBPHypjo,2861 +jedi/third_party/typeshed/third_party/2and3/markupsafe/_compat.pyi,sha256=xN1vhSTmy2fXTE5pUrL_NRkYoOLH3lBY6YDf7ZR9czM,435 +jedi/third_party/typeshed/third_party/2and3/markupsafe/_constants.pyi,sha256=Kk2R4mLBd9wpcFgKA0k4u87FmXD-v1U6ODEduwhFkVE,62 +jedi/third_party/typeshed/third_party/2and3/markupsafe/_native.pyi,sha256=reb7nc_c28JTwKoUYlgirotBiOiESx1M1bpLZtXt6DQ,242 +jedi/third_party/typeshed/third_party/2and3/markupsafe/_speedups.pyi,sha256=reb7nc_c28JTwKoUYlgirotBiOiESx1M1bpLZtXt6DQ,242 +jedi/third_party/typeshed/third_party/2and3/maxminddb/__init__.pyi,sha256=VeOvFZHkaU9NmEfD-ZxOq735CGwfJmnMkDRUmkYLDW8,177 +jedi/third_party/typeshed/third_party/2and3/maxminddb/compat.pyi,sha256=lE11t1KuE4nA0ph6Bw9dWfhNE4l45r-4fCxOVRy4AfQ,194 +jedi/third_party/typeshed/third_party/2and3/maxminddb/const.pyi,sha256=c1LWH0XYtbcs9T0mJz5lyj6ZAVBwU2zZJdRk7Dd4Fc0,130 +jedi/third_party/typeshed/third_party/2and3/maxminddb/decoder.pyi,sha256=lZIOBE8OKJGu1fMmiH_n0b46qbmDxnXNsCq2Ed9oxzA,215 +jedi/third_party/typeshed/third_party/2and3/maxminddb/errors.pyi,sha256=ifm1u-yPLyPC5KPPF7F5vswnJ2X-TeGc5EgYXvWvn30,46 +jedi/third_party/typeshed/third_party/2and3/maxminddb/extension.pyi,sha256=k7yLS2l266OjFQfh4zmzOwO-46LpvnT3KM9FnvrZybU,1122 +jedi/third_party/typeshed/third_party/2and3/maxminddb/reader.pyi,sha256=X414tjdlsmCmS-fFfxFTqHn5-E8ifpb9_ckjzM-g9iM,1269 +jedi/third_party/typeshed/third_party/2and3/mock.pyi,sha256=Al3tA7zKNLXxUAeGa1e1ndsoaQtSm8ouPYT7_zifejI,14819 +jedi/third_party/typeshed/third_party/2and3/mypy_extensions.pyi,sha256=w1Erg7Whcf03pE8mI0T5qLwLPoaHncPRRJMrcgAomQs,2198 +jedi/third_party/typeshed/third_party/2and3/nmap/__init__.pyi,sha256=x_aIpzoj5vmzZKXKDrwrKEN5CWrg7XCDZ1-xOdfGOj0,20 +jedi/third_party/typeshed/third_party/2and3/nmap/nmap.pyi,sha256=hUW8b9yuNGhk4-XFq89rFhnzIghRIVN4wmYUiFwGjYw,3953 +jedi/third_party/typeshed/third_party/2and3/paramiko/__init__.pyi,sha256=0oM8LtFIAnlG-laK6WjyklSWeCGB9wdSzK7gVUbRlsg,1919 +jedi/third_party/typeshed/third_party/2and3/paramiko/_version.pyi,sha256=EeKXNTXM6-EkF3h5RGFiff1iafaFyZYoMscJOfcYuHc,65 +jedi/third_party/typeshed/third_party/2and3/paramiko/_winapi.pyi,sha256=yFTkwFHb32lUW4WD6Eq8onLhRGGCenZZMOxAdvUvYIo,2649 +jedi/third_party/typeshed/third_party/2and3/paramiko/agent.pyi,sha256=VmUg7we1YYno6H4zHgjCoPY7pTO3zzFHknFMC8oYwEc,2057 +jedi/third_party/typeshed/third_party/2and3/paramiko/auth_handler.pyi,sha256=qbisXIS9P2lmxsw2cSVxh7y6WIMLsD9YRbBMdPOtpjA,1934 +jedi/third_party/typeshed/third_party/2and3/paramiko/ber.pyi,sha256=4OoK5kdfYx8MVMfmbZLxMVuu5xLxaPJe8uTnu0n8_Bc,611 +jedi/third_party/typeshed/third_party/2and3/paramiko/buffered_pipe.pyi,sha256=mvCBsHuL3EIsyewdEIiwUZNYpn7AaSBxcqTH_md14lE,520 +jedi/third_party/typeshed/third_party/2and3/paramiko/channel.pyi,sha256=2smxhSShd9xXKGqHb5MqB6Bo23CpUJIi1dQwHBiOIag,3796 +jedi/third_party/typeshed/third_party/2and3/paramiko/client.pyi,sha256=-zCUwFWZIcgSSwVKiEnzC8jsuiPC_DGdJUNaw1kXQ-s,2932 +jedi/third_party/typeshed/third_party/2and3/paramiko/common.pyi,sha256=MfByis2G6kU5-y4FjhhRTQD5DQaP5OOFrc-ciC9JiKE,3167 +jedi/third_party/typeshed/third_party/2and3/paramiko/compress.pyi,sha256=_nA_oaAuza2Oxg0glDo-ov6uYbAIYlKcrkY5spOfqAk,296 +jedi/third_party/typeshed/third_party/2and3/paramiko/config.pyi,sha256=uxhOYKOIPM7jGe8ZsKKh9f_yNtKEdLdxfFC2mV9nwSc,1170 +jedi/third_party/typeshed/third_party/2and3/paramiko/dsskey.pyi,sha256=RdWJ9CuhBviY1c7FChwLDe_ZTOzLukxqaC1K5A6AmpM,1242 +jedi/third_party/typeshed/third_party/2and3/paramiko/ecdsakey.pyi,sha256=q8KVhmbEGp9_YW_9AYcEx_nKshajW_qzWl8QcKSTv5I,2338 +jedi/third_party/typeshed/third_party/2and3/paramiko/ed25519key.pyi,sha256=4aW1Q8tt2U2QIY5uVuSuAczVFBLkP8PR3_AgniR1tlU,703 +jedi/third_party/typeshed/third_party/2and3/paramiko/file.pyi,sha256=Lu1hmKapmlk3_jd1FcIPbrnz89WVlTNCwY46D4TFbfE,1342 +jedi/third_party/typeshed/third_party/2and3/paramiko/hostkeys.pyi,sha256=S1zc4QbgA7dGlEtcixKZ8WrT2Ok861yy-zU8DLtvZpc,1942 +jedi/third_party/typeshed/third_party/2and3/paramiko/kex_curve25519.pyi,sha256=naqQ5GRL0pVcTXD-_XQX1yXd2EpEk0Uu9vNRTfo1Xws,771 +jedi/third_party/typeshed/third_party/2and3/paramiko/kex_ecdh_nist.pyi,sha256=5n2l13AS1p4jz4LbYhSZiJ1Q5xYt4VYIUYLLvJ61ydk,1112 +jedi/third_party/typeshed/third_party/2and3/paramiko/kex_gex.pyi,sha256=NuQIADC7WgKxmDy2NCSzx4cTCDALv9x5Nlp_YxZ900Y,1023 +jedi/third_party/typeshed/third_party/2and3/paramiko/kex_group1.pyi,sha256=h9Vj1_2oQa6qTdB60kAF7MrpScKW9522kG3FL4SUmvk,679 +jedi/third_party/typeshed/third_party/2and3/paramiko/kex_group14.pyi,sha256=JyCccRukC_ojKvgpoVaTxH7dacQN5ICaJrRU6DX2_ZQ,453 +jedi/third_party/typeshed/third_party/2and3/paramiko/kex_group16.pyi,sha256=8unnknuU2cuPNUKhFO13YzhPsaOXewViTCsW8f9cw3Q,359 +jedi/third_party/typeshed/third_party/2and3/paramiko/kex_gss.pyi,sha256=7v4a1mbwTtuKVNmkU91yWlU7e-8VGVaq96xwsvB3iIw,1539 +jedi/third_party/typeshed/third_party/2and3/paramiko/message.pyi,sha256=6MGhnlQZ53mxrYlQ5JjloSks1tlqUJDAzc7RZeZ9E8M,1496 +jedi/third_party/typeshed/third_party/2and3/paramiko/packet.pyi,sha256=0X8hvx7r-I2siTS7L5IJVzf0GeAmX3BOHXcOxxJuOtc,2187 +jedi/third_party/typeshed/third_party/2and3/paramiko/pipe.pyi,sha256=qnF6412bon86OfW4FrlTJjey2atC9u3eDLQKqH8QDZ0,951 +jedi/third_party/typeshed/third_party/2and3/paramiko/pkey.pyi,sha256=ZtYonbeM4kI4Xu6_eM0wU7aLzHFsEX6M3sG96x7b_2M,1800 +jedi/third_party/typeshed/third_party/2and3/paramiko/primes.pyi,sha256=e2J5npj8PeYfnQq2pW1RLCgMofmSITjDVWH0Z2lmv0Y,308 +jedi/third_party/typeshed/third_party/2and3/paramiko/proxy.pyi,sha256=4VFZ2iL-P85RBWXliik--vmtlAUsngl4CT2giLlxuHg,504 +jedi/third_party/typeshed/third_party/2and3/paramiko/py3compat.pyi,sha256=KWCrIqjmlN5keG1E5Ns6jDa46z8yMym8hJpv-1Deuuc,1053 +jedi/third_party/typeshed/third_party/2and3/paramiko/rsakey.pyi,sha256=uHpfuSfDNTe7MsIdb9H6x5fKd1vP0SAKIcdOerxOTFc,1347 +jedi/third_party/typeshed/third_party/2and3/paramiko/server.pyi,sha256=lyv5SoRjT2tkm3AzCFG8CA9D1OtJKSdCCiQ5fNxfNi0,3062 +jedi/third_party/typeshed/third_party/2and3/paramiko/sftp.pyi,sha256=I81h3XktYUmZyfhBMsJJwWFYOxTiA60IAohoy_ekfZc,1065 +jedi/third_party/typeshed/third_party/2and3/paramiko/sftp_attr.pyi,sha256=7kLm3Cjr6Pm40VuoEzfV_u6zA_Ua2Pknu7-D5FxTpaw,667 +jedi/third_party/typeshed/third_party/2and3/paramiko/sftp_client.pyi,sha256=lgZedQtTqoeS7zSEO2r2Byo6mTO-DJxXgDxmQtRJva8,3133 +jedi/third_party/typeshed/third_party/2and3/paramiko/sftp_file.pyi,sha256=41HlM6ayMJaExhuvTI599gyKLtJhWOgxNTpIcXgkYlo,1356 +jedi/third_party/typeshed/third_party/2and3/paramiko/sftp_handle.pyi,sha256=OnJmN4k7typ9GyVtWukw4CuBvDIDvpWCdBQ4PxGPqJQ,531 +jedi/third_party/typeshed/third_party/2and3/paramiko/sftp_server.pyi,sha256=4aNH4sKvRI-49RNeOzFdSJAnvBnrgy0slFWrQ0AOPsk,1094 +jedi/third_party/typeshed/third_party/2and3/paramiko/sftp_si.pyi,sha256=RICAJB149dHYRnGFNgSwzZapr2Opr9-Eif4UCP1w7OU,1193 +jedi/third_party/typeshed/third_party/2and3/paramiko/ssh_exception.pyi,sha256=Nf27JN0Bt6JPpmMNEBC_LejuvbCi_P-ul9PYDqWd1t8,1454 +jedi/third_party/typeshed/third_party/2and3/paramiko/ssh_gss.pyi,sha256=WmUhwBWyvaof_6oP0ROFfrTo9OWccXMQ8_Q6USJq3bI,2774 +jedi/third_party/typeshed/third_party/2and3/paramiko/transport.pyi,sha256=kfJrcgrIs3Qu4KC7rd4EOcWMtz7ikEMeVqpgbvdMrVA,7945 +jedi/third_party/typeshed/third_party/2and3/paramiko/util.pyi,sha256=dxK3QYafkuBXobGkL0wBrZ3mJPz7ZwU-AFy2-1QaViI,1880 +jedi/third_party/typeshed/third_party/2and3/paramiko/win_pageant.pyi,sha256=X8oLeKZslmregVnQLAwaLDz8q95pCqVJ2ahSz3wVOI4,349 +jedi/third_party/typeshed/third_party/2and3/polib.pyi,sha256=kPN8NED1QJMdtkOwNC1Jh03d_i3iM8iaL7_vLaXoYao,5764 +jedi/third_party/typeshed/third_party/2and3/pyVmomi/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/third_party/2and3/pyVmomi/vim/__init__.pyi,sha256=wddK6G7TpjbfWY1cCqoYTDgoLmqoUWTHC5cmy8he_LI,2197 +jedi/third_party/typeshed/third_party/2and3/pyVmomi/vim/event.pyi,sha256=GIxugpgYOODuc5rSewssVmYlRAZ8qmkC1C38rbD4yhA,395 +jedi/third_party/typeshed/third_party/2and3/pyVmomi/vim/fault.pyi,sha256=LYt9WpvRZNEwWlR55k6l7CxSFbS8k_FLJLjU-TGoP8U,195 +jedi/third_party/typeshed/third_party/2and3/pyVmomi/vim/option.pyi,sha256=YCaLxJmOtTldHIlo984EI6d9ykGsFbelNGuTHL70Ar8,204 +jedi/third_party/typeshed/third_party/2and3/pyVmomi/vim/view.pyi,sha256=hLDI0bDPEkPnxpLliSBlcmYgond-3RCxWc1_3NU-5Bc,586 +jedi/third_party/typeshed/third_party/2and3/pyVmomi/vmodl/__init__.pyi,sha256=DuLSUTy9Szmd-_pUmuOcSXoaWrnCPCH3HU9xUtW6AVo,74 +jedi/third_party/typeshed/third_party/2and3/pyVmomi/vmodl/fault.pyi,sha256=l8VLbRpKzACCz_wqwXLJkyxLwYRS0XiUl9JmKy2Vixw,116 +jedi/third_party/typeshed/third_party/2and3/pyVmomi/vmodl/query.pyi,sha256=h0HhTZVJIG0t0yvxp3bgwjVJEOJDyO1iDmPPShwj5C8,1430 +jedi/third_party/typeshed/third_party/2and3/pycurl.pyi,sha256=PkqfXT-xgGm4Sq1bKyxtX7Fk1kGI4Wx4mt2DFrqObRM,13755 +jedi/third_party/typeshed/third_party/2and3/pymysql/__init__.pyi,sha256=uughCRiT4wuIMgn5-CDOZwZWaFcJg2ZzWSqEVK6AU6k,1625 +jedi/third_party/typeshed/third_party/2and3/pymysql/charset.pyi,sha256=8pQ9uIfBVCKgQE42rgAV8Oc1RAUiR7c8k2z4w64zVso,327 +jedi/third_party/typeshed/third_party/2and3/pymysql/connections.pyi,sha256=Eno05u1fJ2WBME7vc-WAzP0ztvE4Khh9JbZ1VqI0Ci4,5627 +jedi/third_party/typeshed/third_party/2and3/pymysql/constants/CLIENT.pyi,sha256=vnIE4D-CCZ2-TwRYvficDcBx-luonNhHmsuxq8M0V6U,308 +jedi/third_party/typeshed/third_party/2and3/pymysql/constants/COMMAND.pyi,sha256=SAol0UV6ttKwz1i9DUn_DydO1HByeSodgDC3Qyv1BTA,407 +jedi/third_party/typeshed/third_party/2and3/pymysql/constants/ER.pyi,sha256=0O0FmmEhzeeEUmlkmSNluHuZVhhlTOIEHq1Yc-hXLFY,11280 +jedi/third_party/typeshed/third_party/2and3/pymysql/constants/FIELD_TYPE.pyi,sha256=112f_ZZ3GXSiGv5q3fY04FLq-NMWWh8zDSsneoGKfzE,354 +jedi/third_party/typeshed/third_party/2and3/pymysql/constants/FLAG.pyi,sha256=LJ19iNTKdV_tqShn5GyJbTc3JtGr7IesoCQy058KPx0,226 +jedi/third_party/typeshed/third_party/2and3/pymysql/constants/SERVER_STATUS.pyi,sha256=uoVJx08QJpMZzBiyZXTG1Hr7zcSahGx2zR89eOtYxec,331 +jedi/third_party/typeshed/third_party/2and3/pymysql/constants/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/third_party/2and3/pymysql/converters.pyi,sha256=JNCfG3LgOn6QUtAQm7Dkf5j5MAKasP9tOLDWGzD30jc,1331 +jedi/third_party/typeshed/third_party/2and3/pymysql/cursors.pyi,sha256=V0DYB2ILjVUjOc79rveMPALidnQ3ZlfRRiv_ZS608Hw,2180 +jedi/third_party/typeshed/third_party/2and3/pymysql/err.pyi,sha256=vz8muipV5ryF9NuS_6aya2mWwgAJ9JzdhAN-NvyhyBk,606 +jedi/third_party/typeshed/third_party/2and3/pymysql/times.pyi,sha256=N3iYLkF3MEtwRa8muKj4ViRXS7ON8fcW5XANu2VMxXo,170 +jedi/third_party/typeshed/third_party/2and3/pymysql/util.pyi,sha256=fKG9sTGCjyLG5L-n5K8STqna8XVfKzQ2a-X46ozbk20,66 +jedi/third_party/typeshed/third_party/2and3/pynamodb/__init__.pyi,sha256=qp8cF6TlhBd5820jKiBRcrR-qumnONUUlUKCzf4rib0,17 +jedi/third_party/typeshed/third_party/2and3/pynamodb/attributes.pyi,sha256=-GsbmMFuySBUZVphL5s770L_BinXheI-_8jEZWFcaa0,4342 +jedi/third_party/typeshed/third_party/2and3/pynamodb/connection/__init__.pyi,sha256=tIcusRqjD5cbw9gURA6V6gJS3kotd6qBxua-WeuUSfg,135 +jedi/third_party/typeshed/third_party/2and3/pynamodb/connection/base.pyi,sha256=lRRsdiy4q2wxWEKFd9f70MNqsUvGiaz3HbEYW366KXA,6089 +jedi/third_party/typeshed/third_party/2and3/pynamodb/connection/table.pyi,sha256=ybdRMvW7ihut6ROMqnP8Di_1janFYH82iN2BAO4Rreg,3825 +jedi/third_party/typeshed/third_party/2and3/pynamodb/connection/util.pyi,sha256=VelfJ8xvQieSdjx4hkp5g0W73tyArG2qobRxY2xccWs,67 +jedi/third_party/typeshed/third_party/2and3/pynamodb/constants.pyi,sha256=2DxSY2CwYrKx_uT0QKHorzmekcf6bcKWxQ5lZp6PRco,3038 +jedi/third_party/typeshed/third_party/2and3/pynamodb/exceptions.pyi,sha256=oN2x-x1qyp5WVRK-jF9rVjzQIHiUjNO5RAwfRTQSRdA,887 +jedi/third_party/typeshed/third_party/2and3/pynamodb/indexes.pyi,sha256=a5MVXShQkb2UUh5hJiX1S_UaLJ3Rzqp2IKB9ZfuU2SQ,1052 +jedi/third_party/typeshed/third_party/2and3/pynamodb/models.pyi,sha256=zg1iyUvCjODMELDKSPXncRXAZfyr-TePSzI61qfjUeo,5702 +jedi/third_party/typeshed/third_party/2and3/pynamodb/settings.pyi,sha256=nfytWdsaKGyoTVPsIi0B-15yecRvNQ61Y3L_sT0qpvo,145 +jedi/third_party/typeshed/third_party/2and3/pynamodb/throttle.pyi,sha256=Xnxx2caEi3AgLinoHSCVZUkuEPV5XxwMw83tpUaUvRk,472 +jedi/third_party/typeshed/third_party/2and3/pynamodb/types.pyi,sha256=BCI-zF5K_mOWPzGVixMvVXqISqSxWokGjR0aVosyvK0,57 +jedi/third_party/typeshed/third_party/2and3/pyre_extensions.pyi,sha256=CJ0jUa1yruR4a_cVqcFRpORBpYGea9C5vQ5lwGfWUZI,267 +jedi/third_party/typeshed/third_party/2and3/pytz/__init__.pyi,sha256=-LDivLI7EkEywpVQfVyMFuVNEDZFbod-zNxGNlQO_A8,1892 +jedi/third_party/typeshed/third_party/2and3/redis/__init__.pyi,sha256=pNlwX9y10ONwvlK1yzT9MMA6hQx06nW8u1qHrVpMmEE,829 +jedi/third_party/typeshed/third_party/2and3/redis/client.pyi,sha256=hKMjp_LRcqsk8xf2tv9HRdFVqqqJ46QH1MHbRgAReIE,26034 +jedi/third_party/typeshed/third_party/2and3/redis/connection.pyi,sha256=aMlTz2YmsHb6igv5yajn4gJswPs9frFa_grs2eEqCLc,5595 +jedi/third_party/typeshed/third_party/2and3/redis/exceptions.pyi,sha256=d2fmJa9u5GrrAaST8JgdfpFsBxKupvKLb2iH9VgP7Wg,569 +jedi/third_party/typeshed/third_party/2and3/redis/utils.pyi,sha256=a5cyDCASB0E1ZuBKK33dZI7ZBcr2rISkiWU5alhjJbA,136 +jedi/third_party/typeshed/third_party/2and3/requests/__init__.pyi,sha256=LIORHwdjl-Ogkvvd5Fs_GZS3k_LcEOd9qglRpTQnYDs,928 +jedi/third_party/typeshed/third_party/2and3/requests/adapters.pyi,sha256=OfzqJV64CBHmzwroW2Tm14e5kZyCu_L6NJWSUhBgKLI,2925 +jedi/third_party/typeshed/third_party/2and3/requests/api.pyi,sha256=Gcw_jo5GO0jbLDMvukc10WFuXCngBEjyTbTTNgvgeMY,1216 +jedi/third_party/typeshed/third_party/2and3/requests/auth.pyi,sha256=q63njtnTjj3AICWDacBKsIS7DjLikQsJwRd7CtWa26o,1148 +jedi/third_party/typeshed/third_party/2and3/requests/compat.pyi,sha256=d3SHDa-UnNy17Mv0aio7kQEf6qsRzEpgA31-MwWuBIo,58 +jedi/third_party/typeshed/third_party/2and3/requests/cookies.pyi,sha256=wn0Y-_dNxjgTjY9WfRuJplkBLY41YyhUS4cDAiFGGo8,2033 +jedi/third_party/typeshed/third_party/2and3/requests/exceptions.pyi,sha256=RxHFR2hELgvFoBEa0AKeYaWNmjDyrWJrvJ6RKAr24UI,1259 +jedi/third_party/typeshed/third_party/2and3/requests/hooks.pyi,sha256=daf3Tp5DknV7lyWtGe5n0jV7U0I_6HwoMpOnlgCdYv0,117 +jedi/third_party/typeshed/third_party/2and3/requests/models.pyi,sha256=ynI5o3SRKsMTkXyxba2NCAVdTtGgC1hSqQj-4QXMLSs,4578 +jedi/third_party/typeshed/third_party/2and3/requests/packages/__init__.pyi,sha256=cnNTJT8mNb7zJ8vT6jKdpiWxIYAZMw3Qz6frelGgzbs,158 +jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/__init__.pyi,sha256=noXIj8HyCJNtp4CXGIfsy6-yAi7pT1P4uTn-_vYdGPo,825 +jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/_collections.pyi,sha256=aHphg2k55d7e0tqFKmSyIvsa2vRgJNA3rr_GvV28BF8,1535 +jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/connection.pyi,sha256=gW4ugIttzymKZSoRvGOSD65mT69TANr35_NBfNIn8mk,1907 +jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/connectionpool.pyi,sha256=CQdrc51bqLxZG_Sd_u23SPcIxffQtggfp1sS8FJLiog,3170 +jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/contrib/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/exceptions.pyi,sha256=TxvMswYXJdgim9frBpmQbC5q_Cu8SM37vW2ZFrfvH20,1413 +jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/fields.pyi,sha256=ol7EAXCmRCqnANBpCeua5OHNjWGz3aCVf_2j-eIZlgc,442 +jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/filepost.pyi,sha256=VdQ66F4SjusF9qTkUP8U0yUbrRqIJv8DWfTISgJ7N3g,244 +jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/packages/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/packages/ssl_match_hostname/__init__.pyi,sha256=8-WNQ8HsF7JWBeN1n0qoPU84HsAouCrHj4R5qrGKrVQ,88 +jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/packages/ssl_match_hostname/_implementation.pyi,sha256=jAdLMMvdxdszZCIdVGxRZw7i5waIBqb4RqwketJqMr4,81 +jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/poolmanager.pyi,sha256=66XnVPM1snW_kgKDX2_21PwyN-As7xtgAiCEHXf6U14,1309 +jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/request.pyi,sha256=chC2ml6eAcw5E2ILdPySz_aZ9OQMeD5nx0hlmYVfkz8,534 +jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/response.pyi,sha256=Qpkf8CpEW5s2pKMxwAVfgz2zQ4miW7kyd-FiOeHyvG8,1788 +jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/util/__init__.pyi,sha256=xacNymxEsCZp5wlKo15L8WSYXzhruHcRtGMqamjArZM,615 +jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/util/connection.pyi,sha256=XaFYtI2YyZGnOVivtXsLW6jMSb6FKpfIh3aIQInJLR0,188 +jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/util/request.pyi,sha256=hbniWmj2f5WG5m6qurjL54K3VzMhAffiSMa-rr1CO0s,227 +jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/util/response.pyi,sha256=Q0CWgpQG5zMPxwc0LOr5eQOEfmOqglfpydPfBVxiStc,27 +jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/util/retry.pyi,sha256=DWGmbAvdoZc9gL9-7N-wU4A-SmtfWYpKmSRoZFno-kc,1161 +jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/util/ssl_.pyi,sha256=VY_E6OYlixXdjHOT_FYYFjaECs7n8BxzU1O9rAvp1hI,691 +jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/util/timeout.pyi,sha256=EojIS91DNeDBfY9TONTAuJkoR6LmHGeX3IYNmLZdvWY,499 +jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/util/url.pyi,sha256=iXePrO9HE5OJVXeWx0nu4PKX8ZX3ScJt1KgPrYpUtrA,492 +jedi/third_party/typeshed/third_party/2and3/requests/sessions.pyi,sha256=qpxhe7nKCvlYZbWU_HcgynucxH5vvj7D31tEIkNq6R8,4727 +jedi/third_party/typeshed/third_party/2and3/requests/status_codes.pyi,sha256=miO3NECO-3yQmK56zg67HzZSbx1eER1xmKABjoDMuXs,35 +jedi/third_party/typeshed/third_party/2and3/requests/structures.pyi,sha256=7Dr21XygxBfDVhOr83FfWEiJNt_W6uNzOmyLfermE_o,968 +jedi/third_party/typeshed/third_party/2and3/requests/utils.pyi,sha256=cYgq8lcqt9s25H2SfQ_TuTvZfGFMlpJEH6yW43yX_IE,1989 +jedi/third_party/typeshed/third_party/2and3/retry/__init__.pyi,sha256=oURuYy9CoiIEbeBziwmNwAexn1hXNQlhL1_lH15UZZw,32 +jedi/third_party/typeshed/third_party/2and3/retry/api.pyi,sha256=fnNyTJFt_8RiZ5QT87GTrUPQvH8Lqrwm7WXT74s51-g,935 +jedi/third_party/typeshed/third_party/2and3/simplejson/__init__.pyi,sha256=r6sZ4B_hGIz2y83FiFs5WvQweXydgb2GfykOzF0Gd3g,538 +jedi/third_party/typeshed/third_party/2and3/simplejson/decoder.pyi,sha256=ijcE8aSOnNvjIOQ0s3eiKjq7GYcIOGe9_lESZPAmweM,229 +jedi/third_party/typeshed/third_party/2and3/simplejson/encoder.pyi,sha256=Ju-aWi4B6WNQ3G-6n7VQw7idFNeKMhS9g_b7XcHSXLo,264 +jedi/third_party/typeshed/third_party/2and3/simplejson/scanner.pyi,sha256=_AUT1GJRNYopQ98J8rRXtig5nCunjXLoiCf5gN9dpXo,262 +jedi/third_party/typeshed/third_party/2and3/singledispatch.pyi,sha256=snB5T00WMlJzaeON3HT586VTC_rlHBZ5d4Q-Seaj1VM,624 +jedi/third_party/typeshed/third_party/2and3/slugify/__init__.pyi,sha256=oS6sazgR3xHmORcsqDRk6ZulbTzRF1UJaDw1V2i9428,46 +jedi/third_party/typeshed/third_party/2and3/slugify/slugify.pyi,sha256=dRDus-8qkVm5OBBP31a-RdSahYcrn9HGYJcgTa_LPBI,561 +jedi/third_party/typeshed/third_party/2and3/slugify/special.pyi,sha256=Nw6LzOLeZREXSk-gK6A_pqAcurWVlbnE-TAzw6pkMwk,279 +jedi/third_party/typeshed/third_party/2and3/tabulate.pyi,sha256=JJ7kYLQU-3I7s68wXecrchQU6zKeYPHH7mb6yGdcsHE,1413 +jedi/third_party/typeshed/third_party/2and3/termcolor.pyi,sha256=bvMVbmC_0sADtLLJ1gTgz0qy7u6z0nxMmPyumxJurUM,350 +jedi/third_party/typeshed/third_party/2and3/toml.pyi,sha256=wqxUoqPomQnEzd6_LnLALaHqfgqKJH2O4wbLkCBA61M,697 +jedi/third_party/typeshed/third_party/2and3/typing_extensions.pyi,sha256=Yv2B_WZlMZ9ZF5LzirIeruXF56kHMW22DLFGtnx_3l8,3358 +jedi/third_party/typeshed/third_party/2and3/tzlocal/__init__.pyi,sha256=gZwxQC65kbnoMEOnhjkBKqvx2aJayhHsQ52R1s_Bl2E,104 +jedi/third_party/typeshed/third_party/2and3/ujson.pyi,sha256=YuEF8oRji3rvUknBhjJBa8bJqdZD2H07ZGDIUwyjSP0,938 +jedi/third_party/typeshed/third_party/2and3/werkzeug/__init__.pyi,sha256=Z4tIEffX6wFRXuakZjYqPUNOnfUbr7STWtzAAWlF11E,5307 +jedi/third_party/typeshed/third_party/2and3/werkzeug/_compat.pyi,sha256=XYwsJu2d8JZH41AXqSDlRaODFAG8hzsrIVrjlnHAaDE,1271 +jedi/third_party/typeshed/third_party/2and3/werkzeug/_internal.pyi,sha256=xff0Vbs8wNEN9bykzs7k9bgLdhDY-DiIUj1NbsY0ZOE,644 +jedi/third_party/typeshed/third_party/2and3/werkzeug/_reloader.pyi,sha256=QCQ4dGw3MM4rhwKmKntyLJ7JB-neMbnRuRrm2scpZgE,826 +jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/atom.pyi,sha256=LAPRofmeDhSpU418KTzoATp5cB2D9daWgcgP_A2YrDI,1136 +jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/cache.pyi,sha256=qzO8UcufWrYMdYREIG3H0rutk922G-3guC4zNJoWFlI,3375 +jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/fixers.pyi,sha256=mvPRIfbtHVRE98seLNNyHSonlGnl7uxSZC0s9TfSEa0,1650 +jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/iterio.pyi,sha256=2yRg8voINYQF23YfRkpGPXaaaX4jpupooKthKwfX4kU,1202 +jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/jsrouting.pyi,sha256=4s_tRK57Yu_n1O1Zk85Nty48UaBHu6AsgeHHxLTS0ko,325 +jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/limiter.pyi,sha256=qLbYIPMTBsgaYe74m3NerbQ1AkW_57LKwY0iW_zaIXU,192 +jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/lint.pyi,sha256=vnPiJs5jXekVZmugPlmkXITga2URy2gh6vngdxkn_Ls,32 +jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/profiler.pyi,sha256=HtjfNVB5ydRd_FfwMkAzJ05aHtFcN2Eecjf2nHQfJVM,315 +jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/securecookie.pyi,sha256=EUmDrvenhGHAJ9GUO20vYOlwNon9XoAVABBxREOqnBs,1212 +jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/sessions.pyi,sha256=7V-lJ3FrbkOIp0RK42KtlhntH3SinErVLH78sgu5Zes,2074 +jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/testtools.pyi,sha256=OOwXK52N2t35kMCMl0B4zBK-d85PcqGG_nOAbhsEAD8,188 +jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/wrappers.pyi,sha256=AdT0yvz1TaiY0mn6zlt_ET3DKsTywVVjkErC769c6L0,603 +jedi/third_party/typeshed/third_party/2and3/werkzeug/datastructures.pyi,sha256=nzcm32yD5-va5Toukm8sXENL4F6AUFxyAD3iAkF2OQg,15587 +jedi/third_party/typeshed/third_party/2and3/werkzeug/debug/__init__.pyi,sha256=Th_QGEjQE3niHm77xHcmtgRUFZxFd2IsIUhqNGymRdE,1384 +jedi/third_party/typeshed/third_party/2and3/werkzeug/debug/console.pyi,sha256=DBWA7QK0dluokniouOizZ1h5oAIcWi47N7i6UiSDRiU,1207 +jedi/third_party/typeshed/third_party/2and3/werkzeug/debug/repr.pyi,sha256=dqtVFNOfcjINAMzaJ-tHiW6SO37ZwVtVT1J7SS7yWh0,846 +jedi/third_party/typeshed/third_party/2and3/werkzeug/debug/tbtools.pyi,sha256=tbrAcENEbWQEOxxSrEKr_5GA3i-OaKn7K5QPA4Sk6TU,1687 +jedi/third_party/typeshed/third_party/2and3/werkzeug/exceptions.pyi,sha256=xvGHuWowxhPqNfh4VqLPjTsRubPoapE3-Jo_k7T3UMk,4942 +jedi/third_party/typeshed/third_party/2and3/werkzeug/filesystem.pyi,sha256=te3jyfyiDfsnFU0MEYw-wB5jBgWgw4VAbIpQzGAs9Vs,169 +jedi/third_party/typeshed/third_party/2and3/werkzeug/formparser.pyi,sha256=cr1vdd95MjSLCA0VyEutG3F4ezKQpuY54LSj3d03F7M,3702 +jedi/third_party/typeshed/third_party/2and3/werkzeug/http.pyi,sha256=gQCvsTijEmaeJXpTMvKOFt_o-XTAtNtfSggTeBqhSq4,5335 +jedi/third_party/typeshed/third_party/2and3/werkzeug/local.pyi,sha256=ZWdRsm--5mtPjtmAH_7-0JBQmvQUfAba_VbReVyAVIg,2315 +jedi/third_party/typeshed/third_party/2and3/werkzeug/middleware/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/third_party/2and3/werkzeug/middleware/dispatcher.pyi,sha256=CYiiHkHrQ9Qlc0JmtZvUBWUPxeUJDjaxzwBbriStxo8,451 +jedi/third_party/typeshed/third_party/2and3/werkzeug/middleware/http_proxy.pyi,sha256=5S5vt4U681ugR9lV5G6ZFkopoSw9tHCocHenpeSJAA4,652 +jedi/third_party/typeshed/third_party/2and3/werkzeug/middleware/lint.pyi,sha256=fKmZa4yVYgObsnOwlVaYh7jo9bQrVQu4BA15g2uzeLY,2389 +jedi/third_party/typeshed/third_party/2and3/werkzeug/middleware/profiler.pyi,sha256=_DWwg99Hb3nYORrYOngd_L6LGGV5rWjIC1EXuucQ6LA,569 +jedi/third_party/typeshed/third_party/2and3/werkzeug/middleware/proxy_fix.pyi,sha256=oJCpfNfoF8oKte5Ikmu4XBdYv_4pJqgFGOf86Iq47u8,712 +jedi/third_party/typeshed/third_party/2and3/werkzeug/middleware/shared_data.pyi,sha256=JVOyPz2zNzW2AlLdc0uAQQ10SQ3Ved-rLzv3cVdwVwA,1295 +jedi/third_party/typeshed/third_party/2and3/werkzeug/posixemulation.pyi,sha256=L5e2d7yb54c171JGU8g_r6G4qIDx4Av28BY12iiwT6w,199 +jedi/third_party/typeshed/third_party/2and3/werkzeug/routing.pyi,sha256=dY-lLGVr0rQ-p_y-8xP5papvCEuSBuaFkNeC8ADEN_M,6802 +jedi/third_party/typeshed/third_party/2and3/werkzeug/script.pyi,sha256=ifTEJ5yx1gam9_q9RnsxmiN3W4GRvegb2kRTfZ-z_0g,768 +jedi/third_party/typeshed/third_party/2and3/werkzeug/security.pyi,sha256=utyGUghv_u_Rsb4p48VUyXuDJuLo621MJZuafdW4Gd4,524 +jedi/third_party/typeshed/third_party/2and3/werkzeug/serving.pyi,sha256=gNa8EOCapHswvpWYh4qYN1783afRO18_26L5jYmGRaU,4057 +jedi/third_party/typeshed/third_party/2and3/werkzeug/test.pyi,sha256=ICgRxquqP1H5-8Tlk7UAn2DXcl7IvF2ZV_7LV93SZng,6138 +jedi/third_party/typeshed/third_party/2and3/werkzeug/testapp.pyi,sha256=O0O2-rhExeAFHWIryQcjWpQhGPQfkkU8SuV0uLbbpco,226 +jedi/third_party/typeshed/third_party/2and3/werkzeug/urls.pyi,sha256=CKx_xMwXyR1EXEx7DFrXZIr8OdrpyZ3m2htWiCWGvgQ,2898 +jedi/third_party/typeshed/third_party/2and3/werkzeug/useragents.pyi,sha256=4LzBjciKyh8zZcufKX8SjjvDAu_rrCsEdxr4-LwZbKY,431 +jedi/third_party/typeshed/third_party/2and3/werkzeug/utils.pyi,sha256=kPk0JhxbcvYk-AAWyo3s-8nhsUxm32PpEa5hjVTilHw,1962 +jedi/third_party/typeshed/third_party/2and3/werkzeug/wrappers.pyi,sha256=uWHxu1UBSC9WlMmZ-HbIk71sgRb0-euFZ5lY4xUh5g0,9115 +jedi/third_party/typeshed/third_party/2and3/werkzeug/wsgi.pyi,sha256=1TOv_UGcc16Znog_D-iNwXHnnlIwSfFk97mA_zcL2cY,3030 +jedi/third_party/typeshed/third_party/2and3/yaml/__init__.pyi,sha256=bElbXZu32G81wGc_WxNeXTnPxSStYTaJFRzrPjj8kxU,6559 +jedi/third_party/typeshed/third_party/2and3/yaml/composer.pyi,sha256=Vl74-4GCncmKS-eb06xYTS5KZtmmOl_4DlXceFg_lbY,496 +jedi/third_party/typeshed/third_party/2and3/yaml/constructor.pyi,sha256=K8dllpXyNJoRWMHkbGLYZJvnoNO33n3nv3VCdRWOR8c,3603 +jedi/third_party/typeshed/third_party/2and3/yaml/cyaml.pyi,sha256=1mixUYME26X3XC9R1onrnbH91b5S94KPpnVZRc0Z0CA,2292 +jedi/third_party/typeshed/third_party/2and3/yaml/dumper.pyi,sha256=Q3Byffe7aMWtkkC0wdCgWognnXnQch-sHziRFxQASdo,1548 +jedi/third_party/typeshed/third_party/2and3/yaml/emitter.pyi,sha256=TPp-ubnhpVa6Vp89RdhjjfIMbMoI35XSj5t5_pL5OSE,3802 +jedi/third_party/typeshed/third_party/2and3/yaml/error.pyi,sha256=kYhKOUoSrnEQLvgIvG_qmPKgMQ53ADqFHOPPDTlRTs4,535 +jedi/third_party/typeshed/third_party/2and3/yaml/events.pyi,sha256=IXJuqeHbEQtHZ4mD36QQ1-CAQaLbKua8JEZ-qh7jPKg,1662 +jedi/third_party/typeshed/third_party/2and3/yaml/loader.pyi,sha256=Q_smlF0bYLSXJ8O9TH93ErQmInWH0S8dqibxbXG6API,767 +jedi/third_party/typeshed/third_party/2and3/yaml/nodes.pyi,sha256=HXEU6EM5Z7O0WqO8hCQbRXW_BCGYAzK68xKTZC5yDJs,685 +jedi/third_party/typeshed/third_party/2and3/yaml/parser.pyi,sha256=0uGiWaCcBAoSQBsXUVRqYGAevPu8GLG5ANORAGS_snE,1664 +jedi/third_party/typeshed/third_party/2and3/yaml/reader.pyi,sha256=i91dNQcOijQHle6687O3xJHWAVy5Sq_k-ko79nolORo,832 +jedi/third_party/typeshed/third_party/2and3/yaml/representer.pyi,sha256=J7rrcGo3XvshSlUyHGbJXMprquSaD3oTHv51VwqWr3Y,2185 +jedi/third_party/typeshed/third_party/2and3/yaml/resolver.pyi,sha256=h32kNW_kLa4Ckxc8DxTHcsFvvgvYKcQQ7lFsV3Pt3s4,786 +jedi/third_party/typeshed/third_party/2and3/yaml/scanner.pyi,sha256=Ly12oPYyJVNrdODBM-F9dVO1EzK3hiiItMgay0hDQAE,3573 +jedi/third_party/typeshed/third_party/2and3/yaml/serializer.pyi,sha256=W27WLPu0g0Cm6vnExbuG3NGLdzUK8tuPM17SSEwY4HU,666 +jedi/third_party/typeshed/third_party/2and3/yaml/tokens.pyi,sha256=lRuHaCHbPMRTOm3WEhanBssRRnJHUiGh1mjNmE4CND8,1792 +jedi/third_party/typeshed/third_party/3/aiofiles/__init__.pyi,sha256=JV9ztGDgZgmwrcgLqJ_R6o8Fgf3cmJWE5MgYjP2BEE0,37 +jedi/third_party/typeshed/third_party/3/aiofiles/base.pyi,sha256=gL3zcEhpb3ZeAHKbouMayq0UIzTDrsE8oTwKU8Yhyq0,1490 +jedi/third_party/typeshed/third_party/3/aiofiles/os.pyi,sha256=G9ZSixzRK7_9tZ5sSjqhp-c7Uy5f8tfI_SEQUwYnScw,1040 +jedi/third_party/typeshed/third_party/3/aiofiles/threadpool/__init__.pyi,sha256=plwVo_uI0AiOap217i7Ef_Gh_TGyOOeJren5WnTIZds,2812 +jedi/third_party/typeshed/third_party/3/aiofiles/threadpool/binary.pyi,sha256=xmn9nxqyzM5XQCr5H8sx2xzW7YkqAOQ159cL1yljyIA,1619 +jedi/third_party/typeshed/third_party/3/aiofiles/threadpool/text.pyi,sha256=X4W8oOVHyTrz32gJ-W_-rYQIw9A92MUd1pp3okUG3xY,1416 +jedi/third_party/typeshed/third_party/3/contextvars.pyi,sha256=vR-ubUfhlQVgLJbJzuVOM5UTc-sFCVSEg2EzcqLMxzI,1405 +jedi/third_party/typeshed/third_party/3/dataclasses.pyi,sha256=KYjW7iSlZ42rrD1Z34CvtIjUSzOTm2lcLozDVSAOkSo,2737 +jedi/third_party/typeshed/third_party/3/docutils/__init__.pyi,sha256=3fBxcSppJr6EOEcUojvflG3Eegg7lv2Qp0dNQQILrP4,63 +jedi/third_party/typeshed/third_party/3/docutils/examples.pyi,sha256=3DheJVl7ojvJt4_YF7b1hRFNExi-vO9IWxtfojfi0uo,80 +jedi/third_party/typeshed/third_party/3/docutils/nodes.pyi,sha256=yxmAtZCJ_mCnQ6pH3u3qACugJ_Tpis4DrrkGGTyIcTk,203 +jedi/third_party/typeshed/third_party/3/docutils/parsers/__init__.pyi,sha256=3fBxcSppJr6EOEcUojvflG3Eegg7lv2Qp0dNQQILrP4,63 +jedi/third_party/typeshed/third_party/3/docutils/parsers/rst/__init__.pyi,sha256=3fBxcSppJr6EOEcUojvflG3Eegg7lv2Qp0dNQQILrP4,63 +jedi/third_party/typeshed/third_party/3/docutils/parsers/rst/nodes.pyi,sha256=3fBxcSppJr6EOEcUojvflG3Eegg7lv2Qp0dNQQILrP4,63 +jedi/third_party/typeshed/third_party/3/docutils/parsers/rst/roles.pyi,sha256=7P4PG1OuDMfSK1DnTQzcOtAeQVqUViHtNXrn3G8hjCo,418 +jedi/third_party/typeshed/third_party/3/docutils/parsers/rst/states.pyi,sha256=qb0d-B857-wAVpdJ7vT06HNQRkpaTDj1YXl3cOWzqVs,115 +jedi/third_party/typeshed/third_party/3/filelock/__init__.pyi,sha256=diWa8QPjqlZ7BhKzJxWLqfFHOgE3XYRWfe06UbvgWlU,1789 +jedi/third_party/typeshed/third_party/3/freezegun/__init__.pyi,sha256=xM4QVDAOY8pmP9Isl_PcX_TU5zDCY7rP0U5dY9pWQzE,44 +jedi/third_party/typeshed/third_party/3/freezegun/api.pyi,sha256=6Infm2WmoBzTquz0uTNPmAYJ9b8sE8cEHuWo2tMaPLY,2266 +jedi/third_party/typeshed/third_party/3/frozendict.pyi,sha256=E89ILrzNgYcRBsm_vnQLOvKuit1t2WhnQVdq60lLeuM,895 +jedi/third_party/typeshed/third_party/3/jwt/__init__.pyi,sha256=975_sUWTv0BaJ04jZpVTmd7WNFmu25f82KqqMReqI3k,1724 +jedi/third_party/typeshed/third_party/3/jwt/algorithms.pyi,sha256=Vp1NVzBfM8jz0VJGhop3UOnKXa1mmJSNI3u0iv_-N70,4299 +jedi/third_party/typeshed/third_party/3/jwt/contrib/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/third_party/3/jwt/contrib/algorithms/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/third_party/3/jwt/contrib/algorithms/py_ecdsa.pyi,sha256=43zFcZpLRNwzuol7DXZi7jGaQ0M6jDzfyTNeWsuwtRk,251 +jedi/third_party/typeshed/third_party/3/jwt/contrib/algorithms/pycrypto.pyi,sha256=w-Prvq6u6oOOCt6KPuTT1p86AW7cABIOj8iDa00gvyM,252 +jedi/third_party/typeshed/third_party/3/orjson.pyi,sha256=BKaBOXNbLXb2MHYpT8BwCh78j8HagLQq51uZY0Dq5nU,656 +jedi/third_party/typeshed/third_party/3/pkg_resources/__init__.pyi,sha256=h-i-Ph-0RjoeDFw5lowMgeyOK73tbkz_iaP28vyYUsU,12105 +jedi/third_party/typeshed/third_party/3/pkg_resources/py31compat.pyi,sha256=ouFLzqmJqfMmT4orlwN1utMnk2R5vHeXxDSk2FI-7I4,56 +jedi/third_party/typeshed/third_party/3/pyrfc3339/__init__.pyi,sha256=GdEm76Fq93-yKV0jkd5FMP5HR8CCpDV6-1R888e5sI0,79 +jedi/third_party/typeshed/third_party/3/pyrfc3339/generator.pyi,sha256=Y8yuzXtNLGik4y6l4TgvvU9ehZGNUK0Pe-MZVvddL4A,139 +jedi/third_party/typeshed/third_party/3/pyrfc3339/parser.pyi,sha256=E4529DNPk1MqcLAd-DgDjRo9onMQzi6rquEEIDZgZ_A,118 +jedi/third_party/typeshed/third_party/3/pyrfc3339/utils.pyi,sha256=wxuOjaaxzHH_PlMf8YxP4oVh5Oq_QayX3Kdfz9CHD_8,447 +jedi/third_party/typeshed/third_party/3/six/__init__.pyi,sha256=43jcx_IPU45XeUJ44qydi-un8-jRZFH4kya6OUlkuvw,4169 +jedi/third_party/typeshed/third_party/3/six/moves/BaseHTTPServer.pyi,sha256=vtBUJUabTrIVK97Cn0MhLUhHSlbmHB8QgQlWwadH-6w,26 +jedi/third_party/typeshed/third_party/3/six/moves/CGIHTTPServer.pyi,sha256=vtBUJUabTrIVK97Cn0MhLUhHSlbmHB8QgQlWwadH-6w,26 +jedi/third_party/typeshed/third_party/3/six/moves/SimpleHTTPServer.pyi,sha256=vtBUJUabTrIVK97Cn0MhLUhHSlbmHB8QgQlWwadH-6w,26 +jedi/third_party/typeshed/third_party/3/six/moves/__init__.pyi,sha256=Vsp6DhxVU4xIcJ8eDyruQNQz2a_ERZmnHjA2_5MOyTk,2363 +jedi/third_party/typeshed/third_party/3/six/moves/_dummy_thread.pyi,sha256=QcsaN0JxBr9ArwQnzhmN06G8dMTpqIuIbapJvWWr8IQ,28 +jedi/third_party/typeshed/third_party/3/six/moves/_thread.pyi,sha256=An3Es1KPMtE47GK-HKV_WnuG7kfoT5bh-bn_SfOQ5Pc,22 +jedi/third_party/typeshed/third_party/3/six/moves/builtins.pyi,sha256=VVjpGGLJ2CYwC3lYePGY6TLTEhwcdru3YV-nV2ZAzL8,23 +jedi/third_party/typeshed/third_party/3/six/moves/cPickle.pyi,sha256=pezOsQZrW9XS1R09Ote5u1Wtw9FHC0k8Kjp4g44_PgI,21 +jedi/third_party/typeshed/third_party/3/six/moves/collections_abc.pyi,sha256=9kznK-Qq5Rqt-V--bq6awTNs5NISIlTFiOZLVI4BvBA,30 +jedi/third_party/typeshed/third_party/3/six/moves/configparser.pyi,sha256=Wp5Y7Z134PHLahfawLJDB7WyIBpdLooaGKLQmEr7veQ,27 +jedi/third_party/typeshed/third_party/3/six/moves/email_mime_base.pyi,sha256=WcWEleCKHROrfdXpRuKABrT_Va1hx90NY_kxYeul3Sk,30 +jedi/third_party/typeshed/third_party/3/six/moves/email_mime_multipart.pyi,sha256=HRKWFU9qh95-mEE22_2NzEKL6lx7ynvhcfHjUcYWuZ8,35 +jedi/third_party/typeshed/third_party/3/six/moves/email_mime_nonmultipart.pyi,sha256=n5hD7R_rktJj3hiHYzEqr3CJCHSW4ikfObKHmUrXBw0,38 +jedi/third_party/typeshed/third_party/3/six/moves/email_mime_text.pyi,sha256=M7mb9V3f5JUut8yf8UfL3rG4XPr-Lr692DGjk1OR9d4,30 +jedi/third_party/typeshed/third_party/3/six/moves/html_entities.pyi,sha256=YkFcpA-UjTm7ps8gp1Xs6Ye9eu-fRHUlSrZPc00LZuk,28 +jedi/third_party/typeshed/third_party/3/six/moves/html_parser.pyi,sha256=EhnBFGx0nBd-ZHMy53ihoemWud0xnNYYYzQDrqWZ7SM,26 +jedi/third_party/typeshed/third_party/3/six/moves/http_client.pyi,sha256=a-UAXTgUTrJNFFiQWThbgVvOsqCJXXiFTxjOG4QgbiE,26 +jedi/third_party/typeshed/third_party/3/six/moves/http_cookiejar.pyi,sha256=_qfFwqs5DnvAOqLWCAdCzWjnwVFi2tkRjypRcow1Kgw,29 +jedi/third_party/typeshed/third_party/3/six/moves/http_cookies.pyi,sha256=dKSPvohzW_QPkOUb0gxj3rsshfRDYb9krTqjID3wN68,27 +jedi/third_party/typeshed/third_party/3/six/moves/queue.pyi,sha256=_rNUYjj1lkl5pRaQP4GWCuWEHBSetCgHhvSnWjgBuhk,20 +jedi/third_party/typeshed/third_party/3/six/moves/reprlib.pyi,sha256=gzyGHWv3b10R17IbpgllskSTyulpq6RWGb7I5KAbSh0,22 +jedi/third_party/typeshed/third_party/3/six/moves/socketserver.pyi,sha256=GWp7BzDMpq3JNfA3H3Pn0iyENzAcy5ufcvuvlkEzmFg,27 +jedi/third_party/typeshed/third_party/3/six/moves/tkinter.pyi,sha256=R-kj-ZjyE6cnPhkAhJLQIA2zyggMRHyf4azpH_WtXNo,22 +jedi/third_party/typeshed/third_party/3/six/moves/tkinter_commondialog.pyi,sha256=piW_7DIKFPiFl8awGTKEBkW-toBwMu7ySfSgxT39Qsc,35 +jedi/third_party/typeshed/third_party/3/six/moves/tkinter_constants.pyi,sha256=sB-tEEYJXZlnQEvgUxsHYFp3yyp3F7NtblS3_hRFVFM,32 +jedi/third_party/typeshed/third_party/3/six/moves/tkinter_dialog.pyi,sha256=Lk_TOa4m8kLSRZRs2-zLtgFnpbtkGcs2eu1YgCjNzmM,29 +jedi/third_party/typeshed/third_party/3/six/moves/tkinter_filedialog.pyi,sha256=znHuWqubMwXiONWP1bhNRmAXUVcHdXn9B8AqoJu4EgY,33 +jedi/third_party/typeshed/third_party/3/six/moves/tkinter_tkfiledialog.pyi,sha256=znHuWqubMwXiONWP1bhNRmAXUVcHdXn9B8AqoJu4EgY,33 +jedi/third_party/typeshed/third_party/3/six/moves/tkinter_ttk.pyi,sha256=4JCeiL-sndFy8xykanaUTbW3-ESBr4w8Dd1gOMAvrag,26 +jedi/third_party/typeshed/third_party/3/six/moves/urllib/__init__.pyi,sha256=F_1V8NcR4jGkws85IUurYLi4JnGh7_HttdVHvj8cQZM,217 +jedi/third_party/typeshed/third_party/3/six/moves/urllib/error.pyi,sha256=tOHyCWru4FB-CVZpdZ5tzT5jUW7R6e1NHrm_AOEx5Zo,116 +jedi/third_party/typeshed/third_party/3/six/moves/urllib/parse.pyi,sha256=LYJLXIl0_B1NV-7WuGMWjM9E12zpMbsB0SMqi4ubpR4,981 +jedi/third_party/typeshed/third_party/3/six/moves/urllib/request.pyi,sha256=Y9e1cIOCqpbA9u9wdHkuk7XkhKW4C_BR-th2joh4rKM,1639 +jedi/third_party/typeshed/third_party/3/six/moves/urllib/response.pyi,sha256=MLuhuwcVdryiGU6pB2rkOWjdFnFcm7NsXJxqFt9-YlI,389 +jedi/third_party/typeshed/third_party/3/six/moves/urllib/robotparser.pyi,sha256=WK-Nrt7QFCWmAxfbrK0Mecw9NZur54H8AoYbslX6vSg,66 +jedi/third_party/typeshed/third_party/3/six/moves/urllib_error.pyi,sha256=ZLiDEtiqtoYYbNDYF4LjnxKRd_uFft6Yi5QQyNEkZm8,27 +jedi/third_party/typeshed/third_party/3/six/moves/urllib_parse.pyi,sha256=PQR8avzMMvUSLV96WLv3J4leuJpKEUBoo7vDzP6M848,27 +jedi/third_party/typeshed/third_party/3/six/moves/urllib_request.pyi,sha256=8WFe7ycArSuM6wJfgcXWLDRKNsymd0UlxWlflszb2yk,30 +jedi/third_party/typeshed/third_party/3/six/moves/urllib_response.pyi,sha256=dokFMleMVEVFVxBgSkrcn4f4yM7RhR3zkk0iDQGOC_U,31 +jedi/third_party/typeshed/third_party/3/six/moves/urllib_robotparser.pyi,sha256=BiNO0kuoX9quQRDQsnPLr04VZLHOj57CmrJJN5OuBn4,33 +jedi/third_party/typeshed/third_party/3/typed_ast/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jedi/third_party/typeshed/third_party/3/typed_ast/ast27.pyi,sha256=8l8h1iTl2STMguvaHgJ6LObWVTN-vi7jkq7F7grliuY,6949 +jedi/third_party/typeshed/third_party/3/typed_ast/ast3.pyi,sha256=rBHvYHpYGPkPYcSCvtsS5PvfUScfOXa5NLzA0sLnjDg,7946 +jedi/third_party/typeshed/third_party/3/typed_ast/conversions.pyi,sha256=fNBvV3U3qM1ehj0f9uO9xPT9XL43AiT7v51N2S39Qf0,71 +jedi/third_party/typeshed/third_party/3/waitress/__init__.pyi,sha256=AyhjsF-JhGwHdZo_BHPZnAqQg5p6I4yrQ-GAzbIgiCE,308 +jedi/third_party/typeshed/third_party/3/waitress/adjustments.pyi,sha256=Ci0sGEaI8sgN3oQ4m63cI7_fk6b9YcQCle1SEIpkMLo,2162 +jedi/third_party/typeshed/third_party/3/waitress/buffers.pyi,sha256=BAUmNMbRRvJmXspos4XTqxpGuPcG-m8_52-ZzP1RsBU,2179 +jedi/third_party/typeshed/third_party/3/waitress/channel.pyi,sha256=yEVhDA-LraBWtHs-Qh1btontCRgfNj1crB76Mj1UeVM,1843 +jedi/third_party/typeshed/third_party/3/waitress/compat.pyi,sha256=DEqpWPIWRpAINum_lKdh8-FvKsx-8J-TnGcubrxzA6k,719 +jedi/third_party/typeshed/third_party/3/waitress/parser.pyi,sha256=xxkLG3DSOAG0gsULfgKnIDWRqDPgznvkSPm4XtD6c4o,1442 +jedi/third_party/typeshed/third_party/3/waitress/proxy_headers.pyi,sha256=dg-1E5AEYcDAdcehvBlLT_3ATo94vfS2f8GZwBZ46do,1100 +jedi/third_party/typeshed/third_party/3/waitress/receiver.pyi,sha256=ZOcx0IC-LJC3W0BwO2cZfeP7xzlFEm9ESca3oxsIm_4,1044 +jedi/third_party/typeshed/third_party/3/waitress/rfc7230.pyi,sha256=Q31Np-HnKfD9_-8UHRr4KvzdviLI4HjaIacvMKQGBFc,226 +jedi/third_party/typeshed/third_party/3/waitress/runner.pyi,sha256=ReRs3WT9zH73aXEgBq9O7e_YHDwvTlhtsZ2G-m302Hk,469 +jedi/third_party/typeshed/third_party/3/waitress/server.pyi,sha256=BLVopN0ySFAhfTjaSg-9ctygNpoMxToxGNzog_2eF2E,3500 +jedi/third_party/typeshed/third_party/3/waitress/task.pyi,sha256=uZEpvbFNjJjGtzx9HMt2vgRG1VhgzUIT7aoEN3roOGk,2216 +jedi/third_party/typeshed/third_party/3/waitress/trigger.pyi,sha256=BJ6rU86VdsB281MqGmHwUkyvf661Za4H_qhSHi5nivU,1079 +jedi/third_party/typeshed/third_party/3/waitress/utilities.pyi,sha256=jUJUiahQzp3KRB3zgfX1Zx1ebKgK-81Nz7e32ez-s4E,1875 +jedi/third_party/typeshed/third_party/3/waitress/wasyncore.pyi,sha256=mOMVSFL7majEQSv_8fEMKMGqtAXrGEqipcZ_lkQHCOY,4059 +jedi/utils.py,sha256=rDF3XD7L8zpZjv5elYa2JQvP3moROmBbiYcyMIstwCM,4704 diff --git a/venv/lib/python3.8/site-packages/jedi-0.18.1.dist-info/REQUESTED b/venv/lib/python3.8/site-packages/jedi-0.18.1.dist-info/REQUESTED new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.8/site-packages/jedi-0.18.1.dist-info/WHEEL b/venv/lib/python3.8/site-packages/jedi-0.18.1.dist-info/WHEEL new file mode 120000 index 0000000..d940cd1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi-0.18.1.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/90/64/fb/e0b5b245466b2f85602e1ebf835d8879597ff6ef5956169dae05d95046 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi-0.18.1.dist-info/direct_url.json b/venv/lib/python3.8/site-packages/jedi-0.18.1.dist-info/direct_url.json new file mode 100644 index 0000000..d7f90d0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi-0.18.1.dist-info/direct_url.json @@ -0,0 +1 @@ +{"archive_info": {"hash": "sha256=637c9635fcf47945ceb91cd7f320234a7be540ded6f3e99a50cb6febdfd1ba8d"}, "url": "https://files.pythonhosted.org/packages/b3/0e/836f12ec50075161e365131f13f5758451645af75c2becf61c6351ecec39/jedi-0.18.1-py2.py3-none-any.whl"} \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi-0.18.1.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/jedi-0.18.1.dist-info/top_level.txt new file mode 120000 index 0000000..e2613e8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi-0.18.1.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4a/a3/63/f54efbc8e9f965fe098ba0aa2fcf83d9e360fc5ef5187a3c57c48c574e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/__init__.py b/venv/lib/python3.8/site-packages/jedi/__init__.py new file mode 120000 index 0000000..288e1dd --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b2/cf/d0/0c8ff131022f275e030ba0b091f1a0896d6d3fbee311fbd772bdd5c9b9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/__main__.py b/venv/lib/python3.8/site-packages/jedi/__main__.py new file mode 120000 index 0000000..bc5bec0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/__main__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/48/e3/51/001e4aa02714dc345f5198565851bc9ff7eced196cf9bcf3338556a83d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..c5fc439 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/__pycache__/__main__.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/__pycache__/__main__.cpython-38.pyc new file mode 100644 index 0000000..524337e Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/__pycache__/__main__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/__pycache__/_compatibility.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/__pycache__/_compatibility.cpython-38.pyc new file mode 100644 index 0000000..96b2791 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/__pycache__/_compatibility.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/__pycache__/cache.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/__pycache__/cache.cpython-38.pyc new file mode 100644 index 0000000..74c7657 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/__pycache__/cache.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/__pycache__/common.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/__pycache__/common.cpython-38.pyc new file mode 100644 index 0000000..cb0f898 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/__pycache__/common.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/__pycache__/debug.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/__pycache__/debug.cpython-38.pyc new file mode 100644 index 0000000..a64476e Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/__pycache__/debug.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/__pycache__/file_io.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/__pycache__/file_io.cpython-38.pyc new file mode 100644 index 0000000..4339145 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/__pycache__/file_io.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/__pycache__/parser_utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/__pycache__/parser_utils.cpython-38.pyc new file mode 100644 index 0000000..08f61bb Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/__pycache__/parser_utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/__pycache__/settings.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/__pycache__/settings.cpython-38.pyc new file mode 100644 index 0000000..8958f26 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/__pycache__/settings.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/__pycache__/utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/__pycache__/utils.cpython-38.pyc new file mode 100644 index 0000000..c598c44 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/__pycache__/utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/_compatibility.py b/venv/lib/python3.8/site-packages/jedi/_compatibility.py new file mode 120000 index 0000000..bda2e00 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/_compatibility.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b9/22/39/a12ddac4ce25e6a9ebeb841ee67c47037cc67b64016930b8ac0751325b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/api/__init__.py b/venv/lib/python3.8/site-packages/jedi/api/__init__.py new file mode 120000 index 0000000..a97c45f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/api/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9d/87/b2/ec0bb52d75f3e33eb86104743d5817c0cdd8c7a9444b6e4199da0a9da3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/api/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/api/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..e0d243e Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/api/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/api/__pycache__/classes.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/api/__pycache__/classes.cpython-38.pyc new file mode 100644 index 0000000..b41e9ca Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/api/__pycache__/classes.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/api/__pycache__/completion.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/api/__pycache__/completion.cpython-38.pyc new file mode 100644 index 0000000..659b365 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/api/__pycache__/completion.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/api/__pycache__/completion_cache.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/api/__pycache__/completion_cache.cpython-38.pyc new file mode 100644 index 0000000..2328231 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/api/__pycache__/completion_cache.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/api/__pycache__/environment.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/api/__pycache__/environment.cpython-38.pyc new file mode 100644 index 0000000..f10ac5d Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/api/__pycache__/environment.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/api/__pycache__/errors.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/api/__pycache__/errors.cpython-38.pyc new file mode 100644 index 0000000..2d51c4a Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/api/__pycache__/errors.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/api/__pycache__/exceptions.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/api/__pycache__/exceptions.cpython-38.pyc new file mode 100644 index 0000000..b9ec602 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/api/__pycache__/exceptions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/api/__pycache__/file_name.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/api/__pycache__/file_name.cpython-38.pyc new file mode 100644 index 0000000..53c98c3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/api/__pycache__/file_name.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/api/__pycache__/helpers.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/api/__pycache__/helpers.cpython-38.pyc new file mode 100644 index 0000000..99c2bb8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/api/__pycache__/helpers.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/api/__pycache__/interpreter.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/api/__pycache__/interpreter.cpython-38.pyc new file mode 100644 index 0000000..8e0ca36 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/api/__pycache__/interpreter.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/api/__pycache__/keywords.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/api/__pycache__/keywords.cpython-38.pyc new file mode 100644 index 0000000..567a505 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/api/__pycache__/keywords.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/api/__pycache__/project.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/api/__pycache__/project.cpython-38.pyc new file mode 100644 index 0000000..a8f829a Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/api/__pycache__/project.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/api/__pycache__/replstartup.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/api/__pycache__/replstartup.cpython-38.pyc new file mode 100644 index 0000000..89e18cf Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/api/__pycache__/replstartup.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/api/__pycache__/strings.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/api/__pycache__/strings.cpython-38.pyc new file mode 100644 index 0000000..d480365 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/api/__pycache__/strings.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/api/classes.py b/venv/lib/python3.8/site-packages/jedi/api/classes.py new file mode 120000 index 0000000..affd593 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/api/classes.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/92/e1/da/98293a76b74e345fc881ea97040accdf0f5730fb8b32dab1ecb0f68dfc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/api/completion.py b/venv/lib/python3.8/site-packages/jedi/api/completion.py new file mode 120000 index 0000000..5ed8777 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/api/completion.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/af/1f/4d/15199034f4991137b7b02e39defe5571f619217d01176de4c33e3e478e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/api/completion_cache.py b/venv/lib/python3.8/site-packages/jedi/api/completion_cache.py new file mode 120000 index 0000000..2689f94 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/api/completion_cache.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/50/e6/81/5a80ac48b8f23a20c4587954c200e2302636467d89db331e23fb399423 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/api/environment.py b/venv/lib/python3.8/site-packages/jedi/api/environment.py new file mode 120000 index 0000000..794129e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/api/environment.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/81/92/7f/8edaa4f14dba2d92d783acc47b0d9021705742ca4f0936c418f01dbf7f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/api/errors.py b/venv/lib/python3.8/site-packages/jedi/api/errors.py new file mode 120000 index 0000000..3f48a8a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/api/errors.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8e/f2/6f/c744a4f2658b41a83166566e0ecccead0f0361e9df56266b96059475e5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/api/exceptions.py b/venv/lib/python3.8/site-packages/jedi/api/exceptions.py new file mode 120000 index 0000000..f5ab091 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/api/exceptions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/98/9e/1e/05a6241e1e50079099fc3e01902ad0a7a9763eeb7bf9d204519bbcc135 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/api/file_name.py b/venv/lib/python3.8/site-packages/jedi/api/file_name.py new file mode 120000 index 0000000..defc2d6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/api/file_name.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c6/57/af/09fa7d079854b11f78007d3db60e109f5617906c4cf76b903dff16a53c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/api/helpers.py b/venv/lib/python3.8/site-packages/jedi/api/helpers.py new file mode 120000 index 0000000..1b46b7a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/api/helpers.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/26/07/91/3bb9de743e788db80e8f305b2670e9a3ba343466f268dbc95b3473fcfe \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/api/interpreter.py b/venv/lib/python3.8/site-packages/jedi/api/interpreter.py new file mode 120000 index 0000000..4bede8f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/api/interpreter.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/05/0a/db/7931b6b8a4f762d27156b89adeb697aa20af623fb09779d2c56bea3a45 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/api/keywords.py b/venv/lib/python3.8/site-packages/jedi/api/keywords.py new file mode 120000 index 0000000..f414d6c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/api/keywords.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6c/18/fa/80fed26bd15dfda0dcddb44082d48044b3d8d71718a8683cfaa43015c4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/api/project.py b/venv/lib/python3.8/site-packages/jedi/api/project.py new file mode 120000 index 0000000..3bbe237 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/api/project.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a8/46/5e/c036b9a2c9ef9abd293bf3378dc054311bb63ecc2e8b26c0a556f59e24 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/api/refactoring/__init__.py b/venv/lib/python3.8/site-packages/jedi/api/refactoring/__init__.py new file mode 120000 index 0000000..b59da6f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/api/refactoring/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/ef/f9/9976b99427d5bb0202ad767e6dc3aefb8993965f7528a638e981a228db \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/api/refactoring/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/api/refactoring/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..e71bb15 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/api/refactoring/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/api/refactoring/__pycache__/extract.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/api/refactoring/__pycache__/extract.cpython-38.pyc new file mode 100644 index 0000000..3607cad Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/api/refactoring/__pycache__/extract.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/api/refactoring/extract.py b/venv/lib/python3.8/site-packages/jedi/api/refactoring/extract.py new file mode 120000 index 0000000..f2b3b12 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/api/refactoring/extract.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bb/e2/11/0f40445683140d14cc44ff5c0fe47a0dccc736c8a469e74e79384e06ca \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/api/replstartup.py b/venv/lib/python3.8/site-packages/jedi/api/replstartup.py new file mode 120000 index 0000000..87c02f4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/api/replstartup.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a3/81/5a/573b753d7d39b870c84e0bbb3599128aa3196e4740234d386f8047cbc8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/api/strings.py b/venv/lib/python3.8/site-packages/jedi/api/strings.py new file mode 120000 index 0000000..804536b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/api/strings.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/aa/e1/e1/638dacd5f913bf193565afdb21cd5f2c62ea2b4617937ad7d58f5ab1d0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/cache.py b/venv/lib/python3.8/site-packages/jedi/cache.py new file mode 120000 index 0000000..77ce7f7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/cache.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7c/71/2e/923c1a1d23a213567a506e47320fa61f97f37ce4c82d9b16bf145a0d5f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/common.py b/venv/lib/python3.8/site-packages/jedi/common.py new file mode 120000 index 0000000..a832bc2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/common.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8c/bf/13/cd667a5a5e68bdacb28295f9f9baee93a89bbbf92ae6687a1597121a42 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/debug.py b/venv/lib/python3.8/site-packages/jedi/debug.py new file mode 120000 index 0000000..30b5cdc --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/debug.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5a/e2/ce/a1a44129fb8a11ffa664821b3124aed8b3102445544b6a295d0318e5a5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/file_io.py b/venv/lib/python3.8/site-packages/jedi/file_io.py new file mode 120000 index 0000000..c6f8047 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/file_io.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c9/89/e4/63f9d49c1ee9490023597172092ffc20ddc1b8395798f22e65b9253e85 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/__init__.py b/venv/lib/python3.8/site-packages/jedi/inference/__init__.py new file mode 120000 index 0000000..38c3657 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a0/b5/0e/e95909e47d147fbd79df2179e25b188dd27324547cbf8966bc7b01c79d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..62502c0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/analysis.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/analysis.cpython-38.pyc new file mode 100644 index 0000000..759dedb Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/analysis.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/arguments.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/arguments.cpython-38.pyc new file mode 100644 index 0000000..da282cd Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/arguments.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/base_value.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/base_value.cpython-38.pyc new file mode 100644 index 0000000..eceb727 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/base_value.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/cache.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/cache.cpython-38.pyc new file mode 100644 index 0000000..8eebd55 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/cache.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/context.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/context.cpython-38.pyc new file mode 100644 index 0000000..3ce96c4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/context.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/docstring_utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/docstring_utils.cpython-38.pyc new file mode 100644 index 0000000..0567f9e Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/docstring_utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/docstrings.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/docstrings.cpython-38.pyc new file mode 100644 index 0000000..34ea3bf Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/docstrings.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/dynamic_params.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/dynamic_params.cpython-38.pyc new file mode 100644 index 0000000..cceb55a Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/dynamic_params.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/filters.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/filters.cpython-38.pyc new file mode 100644 index 0000000..52c9979 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/filters.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/finder.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/finder.cpython-38.pyc new file mode 100644 index 0000000..25f690b Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/finder.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/flow_analysis.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/flow_analysis.cpython-38.pyc new file mode 100644 index 0000000..df89d4f Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/flow_analysis.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/helpers.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/helpers.cpython-38.pyc new file mode 100644 index 0000000..af48697 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/helpers.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/imports.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/imports.cpython-38.pyc new file mode 100644 index 0000000..e97554d Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/imports.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/lazy_value.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/lazy_value.cpython-38.pyc new file mode 100644 index 0000000..8313501 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/lazy_value.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/names.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/names.cpython-38.pyc new file mode 100644 index 0000000..c930f6a Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/names.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/param.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/param.cpython-38.pyc new file mode 100644 index 0000000..0703e11 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/param.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/parser_cache.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/parser_cache.cpython-38.pyc new file mode 100644 index 0000000..ac66cd7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/parser_cache.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/recursion.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/recursion.cpython-38.pyc new file mode 100644 index 0000000..2986b57 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/recursion.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/references.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/references.cpython-38.pyc new file mode 100644 index 0000000..f5c1345 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/references.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/signature.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/signature.cpython-38.pyc new file mode 100644 index 0000000..f895e3b Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/signature.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/star_args.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/star_args.cpython-38.pyc new file mode 100644 index 0000000..f490a5e Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/star_args.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/syntax_tree.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/syntax_tree.cpython-38.pyc new file mode 100644 index 0000000..9fbd038 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/syntax_tree.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/sys_path.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/sys_path.cpython-38.pyc new file mode 100644 index 0000000..0e54fe9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/sys_path.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/utils.cpython-38.pyc new file mode 100644 index 0000000..dabf6a6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/__pycache__/utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/analysis.py b/venv/lib/python3.8/site-packages/jedi/inference/analysis.py new file mode 120000 index 0000000..8e12f6b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/analysis.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bd/b4/45/da038bce6e25110abd6a66951244255acb218e5fad28488ea94480cd88 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/arguments.py b/venv/lib/python3.8/site-packages/jedi/inference/arguments.py new file mode 120000 index 0000000..d1b3565 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/arguments.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ce/34/1c/2305be9bc2765b2d0c53f3bfbb5b1388d217424eddbb755c8a59b914d3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/base_value.py b/venv/lib/python3.8/site-packages/jedi/inference/base_value.py new file mode 120000 index 0000000..f514dd6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/base_value.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ea/8d/24/b0aed8a9288c344ade848ad284032c970382aadb25620fea66959584ba \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/cache.py b/venv/lib/python3.8/site-packages/jedi/inference/cache.py new file mode 120000 index 0000000..17bc8b6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/cache.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fd/e3/98/1cfde365b2d5582dadba80698dc2d03485830ac0c7dec0b3cfcd6681fc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/compiled/__init__.py b/venv/lib/python3.8/site-packages/jedi/inference/compiled/__init__.py new file mode 120000 index 0000000..94c541d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/compiled/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/32/52/8f/32242acc327ab543207af44eaf99f4cb236e6e3226b91614a8cf231756 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/compiled/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/compiled/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..2000980 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/compiled/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/compiled/__pycache__/access.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/compiled/__pycache__/access.cpython-38.pyc new file mode 100644 index 0000000..c287733 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/compiled/__pycache__/access.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/compiled/__pycache__/getattr_static.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/compiled/__pycache__/getattr_static.cpython-38.pyc new file mode 100644 index 0000000..15f6f7c Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/compiled/__pycache__/getattr_static.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/compiled/__pycache__/mixed.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/compiled/__pycache__/mixed.cpython-38.pyc new file mode 100644 index 0000000..80d347a Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/compiled/__pycache__/mixed.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/compiled/__pycache__/value.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/compiled/__pycache__/value.cpython-38.pyc new file mode 100644 index 0000000..4ec8f3f Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/compiled/__pycache__/value.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/compiled/access.py b/venv/lib/python3.8/site-packages/jedi/inference/compiled/access.py new file mode 120000 index 0000000..00e959e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/compiled/access.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/92/5e/9d/4244a33961357209bd331e1e818cf416885ab20e9274100a29607c877d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/compiled/getattr_static.py b/venv/lib/python3.8/site-packages/jedi/inference/compiled/getattr_static.py new file mode 120000 index 0000000..b84f0c7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/compiled/getattr_static.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5a/fe/57/0ef592ed0ed8b66b86a7cdc4cbbe1986ca2be41652f79f7b53ea91aae1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/compiled/mixed.py b/venv/lib/python3.8/site-packages/jedi/inference/compiled/mixed.py new file mode 120000 index 0000000..515b3a5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/compiled/mixed.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bf/b5/20/e77fd9cde0a80831ba97f5eff83af7af6b418b856ccd32f8ab603419ed \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/compiled/subprocess/__init__.py b/venv/lib/python3.8/site-packages/jedi/inference/compiled/subprocess/__init__.py new file mode 120000 index 0000000..290bf28 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/compiled/subprocess/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6c/53/7c/6bb4af4635f804e66d03d07ed79a2a349ea6c4515c020b21cef6af0bb2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/compiled/subprocess/__main__.py b/venv/lib/python3.8/site-packages/jedi/inference/compiled/subprocess/__main__.py new file mode 120000 index 0000000..75456aa --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/compiled/subprocess/__main__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/19/10/db/d31896095e5a8f8264505f85e5ebae178fac5adfc142948742524593ad \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/compiled/subprocess/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/compiled/subprocess/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..a017272 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/compiled/subprocess/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/compiled/subprocess/__pycache__/__main__.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/compiled/subprocess/__pycache__/__main__.cpython-38.pyc new file mode 100644 index 0000000..14e6169 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/compiled/subprocess/__pycache__/__main__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/compiled/subprocess/__pycache__/functions.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/compiled/subprocess/__pycache__/functions.cpython-38.pyc new file mode 100644 index 0000000..8e18279 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/compiled/subprocess/__pycache__/functions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/compiled/subprocess/functions.py b/venv/lib/python3.8/site-packages/jedi/inference/compiled/subprocess/functions.py new file mode 120000 index 0000000..949251c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/compiled/subprocess/functions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fd/0d/22/1bee8e6ae26da3f50e1c161076b0c37f870fd7ad5c2b0b3cfd5febe34e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/compiled/value.py b/venv/lib/python3.8/site-packages/jedi/inference/compiled/value.py new file mode 120000 index 0000000..7624fb8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/compiled/value.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/69/00/3b/1b1c3073cffd7f50056d9a8d965fd0fa22d9ff0fceafde7d3e88f55165 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/context.py b/venv/lib/python3.8/site-packages/jedi/inference/context.py new file mode 120000 index 0000000..09097f9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/context.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8a/8c/80/716c6f14ba88d7755ecd6cc281000027934980d9fcb0371d5a8971ac58 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/docstring_utils.py b/venv/lib/python3.8/site-packages/jedi/inference/docstring_utils.py new file mode 120000 index 0000000..db70e11 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/docstring_utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/19/39/37/66e58d228f1f142f64b7c363385fd69f49982a3cca2eb02cc20be824a2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/docstrings.py b/venv/lib/python3.8/site-packages/jedi/inference/docstrings.py new file mode 120000 index 0000000..8c3fdcc --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/docstrings.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/83/96/ea/289f2aed9a4b4f7d8d540d9a086212ac6e17d9a0b4803444d0eb01fc83 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/dynamic_params.py b/venv/lib/python3.8/site-packages/jedi/inference/dynamic_params.py new file mode 120000 index 0000000..8e910bd --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/dynamic_params.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c4/80/bf/e3d30819021f46cf87a71e930b2ae5fadb2ee7bb221ebb8a24cc25a5a8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/filters.py b/venv/lib/python3.8/site-packages/jedi/inference/filters.py new file mode 120000 index 0000000..64aeb57 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/filters.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/70/ed/cf8fd578e17a937f58b9e045bd96878ff44b0bc5ada5fc2df4d176f077 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/finder.py b/venv/lib/python3.8/site-packages/jedi/inference/finder.py new file mode 120000 index 0000000..0acd3df --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/finder.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6f/1f/93/55ab4656f3ecebdeaf0d2f825856dc95439dc16bd764f30917c569f468 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/flow_analysis.py b/venv/lib/python3.8/site-packages/jedi/inference/flow_analysis.py new file mode 120000 index 0000000..2546049 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/flow_analysis.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a7/ec/da/e35fa6b7dd0fbe0c02662f1c09f870d4388908c6765e3742c21feb1c19 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/gradual/__init__.py b/venv/lib/python3.8/site-packages/jedi/inference/gradual/__init__.py new file mode 120000 index 0000000..490e02a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/gradual/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5f/38/7b/bbebc7b2fc87033affda43fc3d8e0d89e161df9a3e4e6418dca02db652 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/gradual/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/gradual/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..560a979 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/gradual/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/gradual/__pycache__/annotation.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/gradual/__pycache__/annotation.cpython-38.pyc new file mode 100644 index 0000000..26417a6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/gradual/__pycache__/annotation.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/gradual/__pycache__/base.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/gradual/__pycache__/base.cpython-38.pyc new file mode 100644 index 0000000..d443fb4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/gradual/__pycache__/base.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/gradual/__pycache__/conversion.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/gradual/__pycache__/conversion.cpython-38.pyc new file mode 100644 index 0000000..f1b9416 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/gradual/__pycache__/conversion.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/gradual/__pycache__/generics.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/gradual/__pycache__/generics.cpython-38.pyc new file mode 100644 index 0000000..a9af490 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/gradual/__pycache__/generics.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/gradual/__pycache__/stub_value.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/gradual/__pycache__/stub_value.cpython-38.pyc new file mode 100644 index 0000000..0f140fc Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/gradual/__pycache__/stub_value.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/gradual/__pycache__/type_var.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/gradual/__pycache__/type_var.cpython-38.pyc new file mode 100644 index 0000000..3beec9c Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/gradual/__pycache__/type_var.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/gradual/__pycache__/typeshed.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/gradual/__pycache__/typeshed.cpython-38.pyc new file mode 100644 index 0000000..7e5cc25 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/gradual/__pycache__/typeshed.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/gradual/__pycache__/typing.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/gradual/__pycache__/typing.cpython-38.pyc new file mode 100644 index 0000000..b2e2b6b Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/gradual/__pycache__/typing.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/gradual/__pycache__/utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/gradual/__pycache__/utils.cpython-38.pyc new file mode 100644 index 0000000..5e67dee Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/gradual/__pycache__/utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/gradual/annotation.py b/venv/lib/python3.8/site-packages/jedi/inference/gradual/annotation.py new file mode 120000 index 0000000..2d98783 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/gradual/annotation.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1b/36/a4/ac98dd6da56d9cf83f82bd166133aefee93842d30894dc32aa02eb524a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/gradual/base.py b/venv/lib/python3.8/site-packages/jedi/inference/gradual/base.py new file mode 120000 index 0000000..7942bed --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/gradual/base.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/83/75/d5/040e1a5f8d32c6924a148e93b4e0ad16b256d0702834408bbf6c67ebcc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/gradual/conversion.py b/venv/lib/python3.8/site-packages/jedi/inference/gradual/conversion.py new file mode 120000 index 0000000..b18d972 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/gradual/conversion.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/be/a5/48/4d8df491ccd712e179f515792a9f45371d0fe78e5cb447c2b705fd6928 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/gradual/generics.py b/venv/lib/python3.8/site-packages/jedi/inference/gradual/generics.py new file mode 120000 index 0000000..7b4b63a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/gradual/generics.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/81/da/b3/4754a54fa53e23897a556a918a1ff34979b3ebd060c1c14d7a15c4585e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/gradual/stub_value.py b/venv/lib/python3.8/site-packages/jedi/inference/gradual/stub_value.py new file mode 120000 index 0000000..986a7f2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/gradual/stub_value.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8e/4d/d8/499e562e5e7115ff95fc9776c29b4bb3eaf886cd0f8cbb067da8440189 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/gradual/type_var.py b/venv/lib/python3.8/site-packages/jedi/inference/gradual/type_var.py new file mode 120000 index 0000000..213fc62 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/gradual/type_var.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b7/0a/d8/0284d13512c75c63ece42c0e66d92f29718603cca773311ef483358dc5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/gradual/typeshed.py b/venv/lib/python3.8/site-packages/jedi/inference/gradual/typeshed.py new file mode 120000 index 0000000..39d3aab --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/gradual/typeshed.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/02/d4/74/101a1394e6c8cccd9ced5408f899ff016b23b7460aa783584d63a98ab1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/gradual/typing.py b/venv/lib/python3.8/site-packages/jedi/inference/gradual/typing.py new file mode 120000 index 0000000..ccc60bf --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/gradual/typing.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1c/9c/08/6dde6314b9295c950b85698d4075b6dbef95961804cb9a4d9fcc478a5c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/gradual/utils.py b/venv/lib/python3.8/site-packages/jedi/inference/gradual/utils.py new file mode 120000 index 0000000..bd8b111 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/gradual/utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3d/79/f8/c57968d3d7d02557ea1eb840dcc74bb809f89aaaae8e1093b8cbadce42 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/helpers.py b/venv/lib/python3.8/site-packages/jedi/inference/helpers.py new file mode 120000 index 0000000..07f3151 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/helpers.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/30/9a/7e/1cb76dcfcfe387d53ad829c75577c3667168ca0f03957498d6bd5674ac \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/imports.py b/venv/lib/python3.8/site-packages/jedi/inference/imports.py new file mode 120000 index 0000000..8291802 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/imports.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f6/da/45/de506caf12e2d51df311d9dc3cdbd9bff993aa11573be0612a91cbed52 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/lazy_value.py b/venv/lib/python3.8/site-packages/jedi/inference/lazy_value.py new file mode 120000 index 0000000..5373849 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/lazy_value.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2e/d0/f8/4625acfeb439f191192e9fbfd4171ed41d79b78192d56a62c475bcf758 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/names.py b/venv/lib/python3.8/site-packages/jedi/inference/names.py new file mode 120000 index 0000000..da36f69 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/names.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c2/45/5f/f6a95db2218e24986dd618ff6c0328463de0e0fbe744374fd379fc6a19 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/param.py b/venv/lib/python3.8/site-packages/jedi/inference/param.py new file mode 120000 index 0000000..f96891b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/param.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/10/44/19/c141d8e8c5235f7c78039825f8dcca1d77c9ec4871ec8cdafecebde3c4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/parser_cache.py b/venv/lib/python3.8/site-packages/jedi/inference/parser_cache.py new file mode 120000 index 0000000..d77c4ab --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/parser_cache.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/18/e3/9a/842f06bc37065be0adeb9dd4b6ce4867411aca60783b0c9f2a6e560a58 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/recursion.py b/venv/lib/python3.8/site-packages/jedi/inference/recursion.py new file mode 120000 index 0000000..6fdef36 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/recursion.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/da/b4/94/1b3b351aa307f36ef82ab8232d340c2c3efa95dfdd9e8a5b1dc90cf2aa \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/references.py b/venv/lib/python3.8/site-packages/jedi/inference/references.py new file mode 120000 index 0000000..b8e7a36 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/references.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d4/e9/7e/cb116b31b23d9e5471eb6c4ceefe2b2a5d475548f12dde25b9145102cc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/signature.py b/venv/lib/python3.8/site-packages/jedi/inference/signature.py new file mode 120000 index 0000000..dfd1f24 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/signature.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ba/1d/b6/be2cd3abd56c420fb985854f0de36ce8f615fd8396f476c266db56a398 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/star_args.py b/venv/lib/python3.8/site-packages/jedi/inference/star_args.py new file mode 120000 index 0000000..f2e2e3e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/star_args.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ef/ce/44/d4c0b7bef13ccd027dc345467a2f3807696b2e6bf1aea62d9327a195b0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/syntax_tree.py b/venv/lib/python3.8/site-packages/jedi/inference/syntax_tree.py new file mode 120000 index 0000000..888438c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/syntax_tree.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1d/c4/0b/219327c52f8b9a899bdf5e559574d591c7f08cd74a9742b163f5feed0a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/sys_path.py b/venv/lib/python3.8/site-packages/jedi/inference/sys_path.py new file mode 120000 index 0000000..69cf7a1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/sys_path.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/72/84/dc/9937bdf7bb084f32a3cd7ab2a6915824aa515cd3bc9956857ce21627bc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/utils.py b/venv/lib/python3.8/site-packages/jedi/inference/utils.py new file mode 120000 index 0000000..6de93ee --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/eb/70/c6/efb5c16746fc053297a8d97c922fb8c92c803bbe48a0274520cbedb459 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/value/__init__.py b/venv/lib/python3.8/site-packages/jedi/inference/value/__init__.py new file mode 120000 index 0000000..abd92eb --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/value/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3f/28/bd/06e089bef590b9ed8c247d8bb1bf9f7caffd30a8d15468d8e4dbef8644 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/value/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/value/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..478118e Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/value/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/value/__pycache__/decorator.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/value/__pycache__/decorator.cpython-38.pyc new file mode 100644 index 0000000..d8bb0bd Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/value/__pycache__/decorator.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/value/__pycache__/dynamic_arrays.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/value/__pycache__/dynamic_arrays.cpython-38.pyc new file mode 100644 index 0000000..71a4a13 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/value/__pycache__/dynamic_arrays.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/value/__pycache__/function.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/value/__pycache__/function.cpython-38.pyc new file mode 100644 index 0000000..79c2b74 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/value/__pycache__/function.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/value/__pycache__/instance.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/value/__pycache__/instance.cpython-38.pyc new file mode 100644 index 0000000..2b6fb68 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/value/__pycache__/instance.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/value/__pycache__/iterable.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/value/__pycache__/iterable.cpython-38.pyc new file mode 100644 index 0000000..0eb99ff Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/value/__pycache__/iterable.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/value/__pycache__/klass.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/value/__pycache__/klass.cpython-38.pyc new file mode 100644 index 0000000..a37fc34 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/value/__pycache__/klass.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/value/__pycache__/module.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/value/__pycache__/module.cpython-38.pyc new file mode 100644 index 0000000..e95f455 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/value/__pycache__/module.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/value/__pycache__/namespace.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/inference/value/__pycache__/namespace.cpython-38.pyc new file mode 100644 index 0000000..340e6fd Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/inference/value/__pycache__/namespace.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/inference/value/decorator.py b/venv/lib/python3.8/site-packages/jedi/inference/value/decorator.py new file mode 120000 index 0000000..062d07e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/value/decorator.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6f/c8/d6/a926504eb435af34e13d26024e81000b41dfc75f5712f809b0c5dfb6eb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/value/dynamic_arrays.py b/venv/lib/python3.8/site-packages/jedi/inference/value/dynamic_arrays.py new file mode 120000 index 0000000..4be8c05 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/value/dynamic_arrays.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/71/c1/2c/8a2e068ec062059d0eca9f608d3498719e6086a6ede37cfc8579dc3d62 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/value/function.py b/venv/lib/python3.8/site-packages/jedi/inference/value/function.py new file mode 120000 index 0000000..66c3f3e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/value/function.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/77/05/04/1c23b0553fa59d95daa95d0fd17adfdab3ee0a4b1748f455cc69abaa9b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/value/instance.py b/venv/lib/python3.8/site-packages/jedi/inference/value/instance.py new file mode 120000 index 0000000..00183ea --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/value/instance.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d5/4b/61/30d84cda989969468db961e33a722754ab862aa09b8dd99b80230a8f26 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/value/iterable.py b/venv/lib/python3.8/site-packages/jedi/inference/value/iterable.py new file mode 120000 index 0000000..3e4db20 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/value/iterable.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7f/13/29/dd48aa33cc71ee91d3feadf4638b61a03ac1508abadae9cc741c009e92 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/value/klass.py b/venv/lib/python3.8/site-packages/jedi/inference/value/klass.py new file mode 120000 index 0000000..8b49f2a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/value/klass.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/96/d5/e9/b29db2b6656a468134cedf286a089f4c4129aa2d214555f46133dd0788 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/value/module.py b/venv/lib/python3.8/site-packages/jedi/inference/value/module.py new file mode 120000 index 0000000..caec44d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/value/module.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9a/09/93/08039a10ba0c7006e69cd55bbf32c87596174cafaf3ecc40f5d20ea516 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/inference/value/namespace.py b/venv/lib/python3.8/site-packages/jedi/inference/value/namespace.py new file mode 120000 index 0000000..83ffd17 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/inference/value/namespace.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c9/fc/3c/a63993ef4e63a11252294f827e6ba2c89f9775c7a56c30b3282c6ac559 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/parser_utils.py b/venv/lib/python3.8/site-packages/jedi/parser_utils.py new file mode 120000 index 0000000..65469c1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/parser_utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/db/4d/68/23cf1ab5e8a6edd643876f53ee86eca35c6a6f0e47771bfaeacc06b9fe \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/plugins/__init__.py b/venv/lib/python3.8/site-packages/jedi/plugins/__init__.py new file mode 120000 index 0000000..d7691c9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/plugins/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3b/7c/97/193bd66a78676672ae6d0261b270e5c976e5db7865b766869a1cbe5145 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/plugins/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/plugins/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..2475099 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/plugins/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/plugins/__pycache__/django.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/plugins/__pycache__/django.cpython-38.pyc new file mode 100644 index 0000000..2b4642e Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/plugins/__pycache__/django.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/plugins/__pycache__/flask.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/plugins/__pycache__/flask.cpython-38.pyc new file mode 100644 index 0000000..4436d72 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/plugins/__pycache__/flask.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/plugins/__pycache__/pytest.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/plugins/__pycache__/pytest.cpython-38.pyc new file mode 100644 index 0000000..6a89526 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/plugins/__pycache__/pytest.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/plugins/__pycache__/registry.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/plugins/__pycache__/registry.cpython-38.pyc new file mode 100644 index 0000000..c8c8a54 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/plugins/__pycache__/registry.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/plugins/__pycache__/stdlib.cpython-38.pyc b/venv/lib/python3.8/site-packages/jedi/plugins/__pycache__/stdlib.cpython-38.pyc new file mode 100644 index 0000000..f332105 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jedi/plugins/__pycache__/stdlib.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jedi/plugins/django.py b/venv/lib/python3.8/site-packages/jedi/plugins/django.py new file mode 120000 index 0000000..e735915 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/plugins/django.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9f/e8/e0/f27f5b5cd8debaaaaee3a3ec8b2ca9cc68c57548ed60920671b881aed2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/plugins/flask.py b/venv/lib/python3.8/site-packages/jedi/plugins/flask.py new file mode 120000 index 0000000..b9b111a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/plugins/flask.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/49/17/62/37339b8b85e89eadc1aa374d472cf4f1f1cf93966f6c447236d620b12b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/plugins/pytest.py b/venv/lib/python3.8/site-packages/jedi/plugins/pytest.py new file mode 120000 index 0000000..b179442 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/plugins/pytest.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/dd/cf/8a/70916be0267bc305fd3385b65185c0bcca2f0a641ed2ee62b89a3c578a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/plugins/registry.py b/venv/lib/python3.8/site-packages/jedi/plugins/registry.py new file mode 120000 index 0000000..e58096e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/plugins/registry.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/67/76/9a/8f65b69a9c0ed80bf86a90ffbe590fbe8ac93e58efcb8c6d26c387adf7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/plugins/stdlib.py b/venv/lib/python3.8/site-packages/jedi/plugins/stdlib.py new file mode 120000 index 0000000..7931473 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/plugins/stdlib.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f4/2e/cf/7c5a2129d27a7d66ebd869a90423068ca6e4fe568c8a89cd050e7a4cc1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/settings.py b/venv/lib/python3.8/site-packages/jedi/settings.py new file mode 120000 index 0000000..76d0acf --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/settings.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fb/91/da/d3bca8059d57163543f45ca918d40f6cbd481badf0a71ba1bfbd5d718b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/LICENSE.txt b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/LICENSE.txt new file mode 120000 index 0000000..809cca8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/LICENSE.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/23/5e/99/3965d399a25e7d493d25c8622f78718510884b9c051f1f1866b6f34e9d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/__init__.pyi new file mode 120000 index 0000000..2c1fa25 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b7/4d/3c/64b3207a04906b201ac0b1810b0ca015e55f0caa90100a93a578fff720 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/apps/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/apps/__init__.pyi new file mode 120000 index 0000000..4311d0a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/apps/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/63/76/3a/1dff9abb2b6fa778104f5f5b0184c63357b77fd04192d1d532faf62905 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/apps/config.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/apps/config.pyi new file mode 120000 index 0000000..a3d5e59 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/apps/config.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e5/67/40/898ce7588cf10578fb0d4758c20d19218a76a591e2dae52e0fca2e9907 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/apps/registry.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/apps/registry.pyi new file mode 120000 index 0000000..79de22f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/apps/registry.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/82/ef/4d/ed3552625856fbed68f05691843d52ed6e036c5e7fb40c38564c4172cc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/conf/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/conf/__init__.pyi new file mode 120000 index 0000000..bcec01d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/conf/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/88/3f/d6/3448e831c659c15c3f3acbc8afea93d43f96032561c061d445a546f614 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/conf/global_settings.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/conf/global_settings.pyi new file mode 120000 index 0000000..9d1568a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/conf/global_settings.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b9/45/cc/d40cd9eb2f5371977fc04043f8c92c3019e70344b5a277297b3400a684 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/conf/locale/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/conf/locale/__init__.pyi new file mode 120000 index 0000000..975f36e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/conf/locale/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/33/55/15/c7106005c298d2bee9bfc0ef384ebf0896afc3439dddf8bc887f803c49 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/conf/urls/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/conf/urls/__init__.pyi new file mode 120000 index 0000000..1492da1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/conf/urls/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4a/2b/06/58fd0cd83a9305e623c606a8b1e2ad563421a6f128a6089da7fbb4046f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/conf/urls/i18n.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/conf/urls/i18n.pyi new file mode 120000 index 0000000..e30ef5b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/conf/urls/i18n.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c7/84/1d/5dc70d82db5151198caca284e410e17e4fec73d191cb34893db6d00ca5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/conf/urls/static.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/conf/urls/static.pyi new file mode 120000 index 0000000..b6be710 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/conf/urls/static.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/05/77/6e/fcc3e4acfe4b2329f147795455ce8000aff2e394fc6159ff969f94568c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/__init__.pyi new file mode 120000 index 0000000..09b1e53 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/12/a7/30/35e8076b5923d5b82da39ff19639ae3f8626e78c2dfbf03b9e26b85840 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/actions.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/actions.pyi new file mode 120000 index 0000000..36b2024 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/actions.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3b/74/97/3a1097d7e0640e23f10e1f410d4a692d0868a56c838f6a7597bd5798ca \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/apps.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/apps.pyi new file mode 120000 index 0000000..740ec4b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/apps.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d6/ad/f7/8a170ed7403f9bb1c1e601dd53c4b5629568873ea2860ce8f5030f6279 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/checks.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/checks.pyi new file mode 120000 index 0000000..92583ad --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/checks.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7d/68/50/ab775e6ea956be2810cd464db8e4405731f0eb58969a2d1e99e733242f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/decorators.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/decorators.pyi new file mode 120000 index 0000000..ec434f5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/decorators.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5a/ce/33/5c8007e630e0122eb416627f32bcbd794e6b0899a927994d3365d05dbb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/filters.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/filters.pyi new file mode 120000 index 0000000..77ae6cd --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/filters.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7d/09/38/f053b8022939a86fb2507afb5e65b5c2026d08733861e59cd8f108be45 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/forms.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/forms.pyi new file mode 120000 index 0000000..95a57d7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/forms.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bc/00/14/a54082ee0c715270430b03663eb9352fe34e087c7c947c2571ea813436 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/helpers.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/helpers.pyi new file mode 120000 index 0000000..d80867a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/helpers.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/28/3d/ba/a1348586509558ecc7da3ce8031d4eaa19dcc7969251deb249ddea4743 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/models.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/models.pyi new file mode 120000 index 0000000..4e33d67 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/models.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/07/c3/6d/a17bef8e3f295b47f24105f0b0527b8fb8f70e56b1831b97c18e18e75e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/options.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/options.pyi new file mode 120000 index 0000000..8b09f79 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/options.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4e/97/9e/308224a0d3b82b2f1561dc5e8d4cf1995f11d52deddb9a1f383e4d8a57 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/sites.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/sites.pyi new file mode 120000 index 0000000..1be946b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/sites.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0e/2f/95/6d39db22aa0af310cef883b0eb8b3b26b450dc2a1929822f1972b0bceb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/templatetags/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/templatetags/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/templatetags/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/templatetags/admin_list.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/templatetags/admin_list.pyi new file mode 120000 index 0000000..0c8ddbe --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/templatetags/admin_list.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1d/27/a5/9a77337e76fe13642f8e19969076f04cca7bcf1f40a314ea596fc79012 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/templatetags/admin_modify.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/templatetags/admin_modify.pyi new file mode 120000 index 0000000..7ac09eb --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/templatetags/admin_modify.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ed/c2/5f/8a54970799d6a2c9cd0ec80030c25b657131b422408c998292f293e9af \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/templatetags/admin_static.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/templatetags/admin_static.pyi new file mode 120000 index 0000000..a37e3a0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/templatetags/admin_static.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/15/5f/50/43480b2f25c4b66989a86156445468f9e25cbceef5691705a99267d6c2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/templatetags/admin_urls.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/templatetags/admin_urls.pyi new file mode 120000 index 0000000..58e4aa2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/templatetags/admin_urls.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/04/ff/ef/ce61d0dd6ee5c02d6a0aecbbfc248be76a56179fe4cb1f68911413d74d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/templatetags/base.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/templatetags/base.pyi new file mode 120000 index 0000000..dfb70db --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/templatetags/base.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ff/63/74/dcfe4837463aeafa45af3e65d1a4721108c9802965f30f852750ac3fc6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/templatetags/log.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/templatetags/log.pyi new file mode 120000 index 0000000..6a3dbc5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/templatetags/log.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f2/6e/db/4e77e684b2f2719a04dc06a9cb2cf82733bf1bc23f7b72f5e856404d63 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/tests.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/tests.pyi new file mode 120000 index 0000000..71dfdbc --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/tests.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/20/60/c0/f7313d40f2cd079c6004516bf63dc06cccae7f14e6d8d50faa63fc9a90 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/utils.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/utils.pyi new file mode 120000 index 0000000..bbe1dd2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/utils.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/46/83/33/09b7206ff74a0eb63c7b35e1f778cd250104b89dc90070e2b67599e13a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/views/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/views/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/views/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/views/autocomplete.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/views/autocomplete.pyi new file mode 120000 index 0000000..e59c891 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/views/autocomplete.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/02/60/a8/adba1cab755fa9526753ac2d5721844a096cd5af9678f3f9065dd58b71 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/views/decorators.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/views/decorators.pyi new file mode 120000 index 0000000..dc6b7c8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/views/decorators.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c4/5f/64/9779818a3a3651c9da7348adb829f99ead9dc8360d5d17983205fe466f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/views/main.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/views/main.pyi new file mode 120000 index 0000000..ac4f21c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/views/main.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/32/72/73/62022261ce8aef23c6033ccaa243366301dba98c16cd5a447d0c1d61ff \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/widgets.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/widgets.pyi new file mode 120000 index 0000000..bdce30b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admin/widgets.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8b/56/d6/f68a58c1d7442fd7fa8617a4c0c358860ff6bdba3708f9fdf83635ef76 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admindocs/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admindocs/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admindocs/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admindocs/middleware.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admindocs/middleware.pyi new file mode 120000 index 0000000..88da920 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admindocs/middleware.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0e/58/9f/0b358dddff5107e3e879dc9408fcf7321a6a383749c44935c5163262ee \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admindocs/urls.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admindocs/urls.pyi new file mode 120000 index 0000000..69158de --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admindocs/urls.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a0/86/9d/2c9451a944b87f059edc5d93c1d415888b98b9247b8aeb5489d9dcba7d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admindocs/utils.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admindocs/utils.pyi new file mode 120000 index 0000000..3098e16 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admindocs/utils.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/68/a7/47/16ab4495f1162d1c7d2e02510596f2ed529e02f08545f4a1f49ff23957 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admindocs/views.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admindocs/views.pyi new file mode 120000 index 0000000..94c42eb --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/admindocs/views.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/26/f7/46/be4584e5f2542e5aeb6ee730baf6ce9303d22fd6f623986c566059c406 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/__init__.pyi new file mode 120000 index 0000000..573c5c7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/84/3b/29/06ea4bc55af9f00028ebd7d565af5dfe958090e45dcce723515c41e3d3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/admin.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/admin.pyi new file mode 120000 index 0000000..6bb74d7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/admin.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b7/72/d2/1568c77fddcb4613660773e7e5b77d5f8344f641736d80acc83ae0f77d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/apps.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/apps.pyi new file mode 120000 index 0000000..b1c8779 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/apps.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ef/cd/c7/89a4baea487de098dc4d00e3c5d86a4ec79c68aa99af027aacb481e804 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/backends.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/backends.pyi new file mode 120000 index 0000000..290ffe0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/backends.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3b/30/70/5e3d2107e226ea8f7ed8e1c039508090fd3b046e83433834048313f5de \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/base_user.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/base_user.pyi new file mode 120000 index 0000000..85966c4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/base_user.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a7/69/81/e6af0fbefd41ac4dc2827c1781f2c84d6ddb152350542a77f3cc23c4cb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/checks.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/checks.pyi new file mode 120000 index 0000000..be4d953 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/checks.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/19/e3/31/dee7b260702e7eaa69ad2feba033c2f8c182f636598a2a1bfd88f68f5c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/context_processors.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/context_processors.pyi new file mode 120000 index 0000000..03761e3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/context_processors.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ca/c4/11/57f253d5703c6ee1fa5b99a419b79f483cb49d156e9971a34e8aa0a008 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/decorators.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/decorators.pyi new file mode 120000 index 0000000..41dd62a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/decorators.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0f/eb/33/2b383fc1b8c742c74063b63f484e2cedf3ab1353d0453a970dda3f69cb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/forms.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/forms.pyi new file mode 120000 index 0000000..968bca4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/forms.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8e/9a/8a/771018204954f9395f2f3bd935e7cc9e7d54a37bd710902bcc16a29d91 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/handlers/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/handlers/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/handlers/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/handlers/modwsgi.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/handlers/modwsgi.pyi new file mode 120000 index 0000000..e17b9b5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/handlers/modwsgi.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6e/fe/9d/598a536d66250908d6c9cefa701fe51f76a43745980f2b939a72d7892f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/hashers.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/hashers.pyi new file mode 120000 index 0000000..b2829c2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/hashers.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c5/d4/7f/eb8f58eb4792f82e157105039fbea7d3b5394f3c25e8394b39c3abf049 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/management/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/management/__init__.pyi new file mode 120000 index 0000000..ce0f5ac --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/management/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/af/f3/66/d2ef7f405ca90f5640933588acfcd346228cd15c23f0dd413e01238d40 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/management/commands/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/management/commands/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/management/commands/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/management/commands/changepassword.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/management/commands/changepassword.pyi new file mode 120000 index 0000000..3b09340 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/management/commands/changepassword.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b0/83/40/102fe9b9c8e595dc490a1ae382786ffcfcc804e022de63cea9d1d864d1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/management/commands/createsuperuser.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/management/commands/createsuperuser.pyi new file mode 120000 index 0000000..413ce65 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/management/commands/createsuperuser.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2c/8d/bf/866ae08de8b32742f43dee25a3696abe0aaf7ddd170e8bd849baf1f5b9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/middleware.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/middleware.pyi new file mode 120000 index 0000000..3b03292 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/middleware.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5b/0b/c3/4d806565d8b6d4072493a024b2ec20b7424838e00f39cde7883b0dd09d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/mixins.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/mixins.pyi new file mode 120000 index 0000000..ed50ece --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/mixins.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ec/26/b4/4c24ac6acceaef53039c268edbe32ac925a565cd82410aad41904868bd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/models.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/models.pyi new file mode 120000 index 0000000..d157d38 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/models.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9c/3b/1b/6608879985260bc4d2bb56409a4e6e1151a512874537a07675787069e7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/password_validation.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/password_validation.pyi new file mode 120000 index 0000000..7e89183 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/password_validation.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f4/a3/a6/a39c107ef5b853faa1eb220c733b798b3c08452d86310439bc65f60fc2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/signals.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/signals.pyi new file mode 120000 index 0000000..c7392b0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/signals.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d2/a5/eb/21806bc765d8c11af1d4de55e61f47805b5d98ae29cd07c430fafe10f6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/tokens.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/tokens.pyi new file mode 120000 index 0000000..6081a30 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/tokens.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/21/c1/d0/3783e7f22915daa2357b8fd55a42e355b7cf479b4e10cda2411dc3cfe7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/urls.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/urls.pyi new file mode 120000 index 0000000..69158de --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/urls.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a0/86/9d/2c9451a944b87f059edc5d93c1d415888b98b9247b8aeb5489d9dcba7d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/validators.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/validators.pyi new file mode 120000 index 0000000..9d10c9e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/validators.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/dc/fe/cc/2bfd38f71604c4521955009a89cfa2b8580519a668b90052e1161effa2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/views.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/views.pyi new file mode 120000 index 0000000..2f89c78 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/auth/views.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/04/f9/d3/c040a425f6a9d23cf4322d51208dcf2c778723a787dd9de69c166816f4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/contenttypes/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/contenttypes/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/contenttypes/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/contenttypes/admin.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/contenttypes/admin.pyi new file mode 120000 index 0000000..b801dd2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/contenttypes/admin.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/85/04/ff/86962d036687ae49cf3432d7f4597a3525496ddb4aa5686218eb24f953 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/contenttypes/apps.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/contenttypes/apps.pyi new file mode 120000 index 0000000..59008c0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/contenttypes/apps.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/59/43/7f/9c6c65e669c807d21cb589640abb301c5f01a50a36c916d1cb067af5cd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/contenttypes/checks.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/contenttypes/checks.pyi new file mode 120000 index 0000000..c58ce0e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/contenttypes/checks.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/dc/f7/91/593a41716075bbeebab9e67a45558521945ebb938e629a0deebd890814 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/contenttypes/fields.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/contenttypes/fields.pyi new file mode 120000 index 0000000..f03b088 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/contenttypes/fields.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/85/6d/73/df0c2efe5445a45e99933da9477a5bef2875cdaf4f81a64527aa395cf6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/contenttypes/forms.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/contenttypes/forms.pyi new file mode 120000 index 0000000..855516e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/contenttypes/forms.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fa/3f/61/bec3cbfb7b32a9de8ee604dc5f3877c5e090fa2b0576d9217ee530217e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/contenttypes/management/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/contenttypes/management/__init__.pyi new file mode 120000 index 0000000..eede842 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/contenttypes/management/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/07/41/a4/bbaa883342a53b00b6cd0c9956b344d92b63e09ca59f3850e3e82cc220 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/contenttypes/management/commands/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/contenttypes/management/commands/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/contenttypes/management/commands/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/contenttypes/management/commands/remove_stale_contenttypes.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/contenttypes/management/commands/remove_stale_contenttypes.pyi new file mode 120000 index 0000000..ed2ee32 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/contenttypes/management/commands/remove_stale_contenttypes.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fb/05/2b/0a807ced479bf37dfba6c62e9e371fa222a9c6ac9eb2da551cacef6941 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/contenttypes/models.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/contenttypes/models.pyi new file mode 120000 index 0000000..62a18fa --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/contenttypes/models.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3d/c0/3f/6337b8743aa6c6c0c9a8260a9bfe599e67dac56e153727c68c7aa46af2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/contenttypes/views.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/contenttypes/views.pyi new file mode 120000 index 0000000..faf866b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/contenttypes/views.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c0/af/2d/a3a7dfc8cbb2cab94d26ef7eee7ce138049946bfb1fcc59d4a077f1bfe \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/flatpages/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/flatpages/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/flatpages/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/flatpages/forms.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/flatpages/forms.pyi new file mode 120000 index 0000000..0d24ce5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/flatpages/forms.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5c/d2/6b/47e9878e22a9c5ffebe6c3f15c2d837be2f2877ec12f7d3d76d47f7f62 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/flatpages/middleware.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/flatpages/middleware.pyi new file mode 120000 index 0000000..66a7b8c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/flatpages/middleware.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e8/fc/e0/8b01668e4e0ae04056eed7e252d771234c7e7fcd4de9199b30e6b97b58 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/flatpages/models.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/flatpages/models.pyi new file mode 120000 index 0000000..5973304 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/flatpages/models.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b1/df/6c/2e1d0f05cf3a1a9709ac4b44e2f68f56fb3cc44d6089f7a425b06ec83a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/flatpages/sitemaps.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/flatpages/sitemaps.pyi new file mode 120000 index 0000000..9d1bc56 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/flatpages/sitemaps.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f8/97/84/9f4fb9130a722473ad81877c20afc2f1f19398b3ed93f529822c2c897e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/flatpages/templatetags/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/flatpages/templatetags/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/flatpages/templatetags/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/flatpages/templatetags/flatpages.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/flatpages/templatetags/flatpages.pyi new file mode 120000 index 0000000..f085f9c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/flatpages/templatetags/flatpages.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/53/5a/88/b8d69d79e34ff68a1d99bd695c3b7d32b73bbab5ec02f0347346cb982d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/flatpages/urls.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/flatpages/urls.pyi new file mode 120000 index 0000000..69158de --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/flatpages/urls.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a0/86/9d/2c9451a944b87f059edc5d93c1d415888b98b9247b8aeb5489d9dcba7d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/flatpages/views.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/flatpages/views.pyi new file mode 120000 index 0000000..aeac455 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/flatpages/views.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/68/9c/e3/334e88bbc046e30e5fad3e757291e8b50e9ee06287d7c0ae91cfb20dba \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/gis/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/gis/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/gis/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/gis/db/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/gis/db/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/gis/db/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/gis/db/models/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/gis/db/models/__init__.pyi new file mode 120000 index 0000000..2ce77e2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/gis/db/models/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/23/c4/a2/acbd029593835fe02ce36732709e158ca9c273dedc2bd85528163a847d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/gis/db/models/fields.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/gis/db/models/fields.pyi new file mode 120000 index 0000000..71d7913 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/gis/db/models/fields.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1e/04/74/06fa1d79627688690ff292ee16f23d490e434d66cfd28333b19c046c75 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/humanize/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/humanize/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/humanize/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/humanize/templatetags/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/humanize/templatetags/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/humanize/templatetags/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/humanize/templatetags/humanize.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/humanize/templatetags/humanize.pyi new file mode 120000 index 0000000..f16d49f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/humanize/templatetags/humanize.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e2/91/04/94eaf98d6a0cd4001cfb0ab81d22f3fb4892ac6c267aaaa526a76ad9fb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/messages/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/messages/__init__.pyi new file mode 120000 index 0000000..8495e69 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/messages/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/50/7a/f8/c5fa07e9f68d5d287a5eafba39a46182c8b9ecc90392db96fcc81f0c3b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/messages/api.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/messages/api.pyi new file mode 120000 index 0000000..fc2b4ed --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/messages/api.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b9/ee/83/73c0be747b49b9195ca10139ccf3ec99218e92051e9bf1f7e7af358e4d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/messages/constants.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/messages/constants.pyi new file mode 120000 index 0000000..fb86cfa --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/messages/constants.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/80/13/36/b3f2266d7d0ae16d26730be67ac82b11ba0077f7ff3f3abe95b510f885 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/messages/context_processors.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/messages/context_processors.pyi new file mode 120000 index 0000000..bc4c34a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/messages/context_processors.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/15/22/7a/09877373d38b6816723107b55254c862aed139c873ff006c427fad106a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/messages/middleware.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/messages/middleware.pyi new file mode 120000 index 0000000..b0ba0d2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/messages/middleware.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1f/6d/fb/ca13ca6ec97e0a2bf847a12dfcb5f9b815012eb0ea4c3bc14f524c79fe \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/messages/storage/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/messages/storage/__init__.pyi new file mode 120000 index 0000000..e9add5f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/messages/storage/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c9/22/25/bc012428ad5ce5e0eb838bb672cf8cbbec6406e22356a32394e32a341a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/messages/storage/base.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/messages/storage/base.pyi new file mode 120000 index 0000000..2beb125 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/messages/storage/base.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/11/6a/46/931ee6da234da974d84d84e0790b5399d1ff96837a6dadd71db668f105 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/messages/storage/cookie.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/messages/storage/cookie.pyi new file mode 120000 index 0000000..7bd46fa --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/messages/storage/cookie.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/87/df/53/fc562de00bcdc7b31a62d089e36cae5f1c36faee1d0da5a05f66aa3874 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/messages/storage/fallback.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/messages/storage/fallback.pyi new file mode 120000 index 0000000..e2894ef --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/messages/storage/fallback.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f4/54/ab/727bf16f0886cf7e1c546f2ff2338f38197b7172bc36f77def06d4095b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/messages/storage/session.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/messages/storage/session.pyi new file mode 120000 index 0000000..b7a3ef4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/messages/storage/session.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/32/c4/0e/5eed16461760de68cbe75841fd5613498b29c200b251fc0aee9c848320 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/messages/utils.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/messages/utils.pyi new file mode 120000 index 0000000..2b1d221 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/messages/utils.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/04/c0/44/ba5c2042d9bf93d97cadfe4335e67e2a92afb61ee4a9fee4cc42f6f74f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/messages/views.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/messages/views.pyi new file mode 120000 index 0000000..cb18796 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/messages/views.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/92/40/01/dba8b8922964465f4025b5826d6e73a32feeb8aaf7dcc04bbbc169e2a0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/aggregates/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/aggregates/__init__.pyi new file mode 120000 index 0000000..11d1d8d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/aggregates/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/74/35/b5/8c6e505b4ad84566f3966050f0f4f6bfd65d5a0149d0844786f0494324 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/aggregates/general.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/aggregates/general.pyi new file mode 120000 index 0000000..fdd8ff7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/aggregates/general.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b3/58/dd/7df08033c3fc4d4616c30bb96408e6dfc37c2bbc14fd4591ff6c11d922 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/aggregates/mixins.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/aggregates/mixins.pyi new file mode 120000 index 0000000..b51ac98 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/aggregates/mixins.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/04/4e/f6/246fac8bd19b4af7575814cdd9ab15f6362b6488761a57535527200b52 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/aggregates/statistics.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/aggregates/statistics.pyi new file mode 120000 index 0000000..2cb1333 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/aggregates/statistics.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3e/ab/00/abd13b25fe88522df16299bd2cc0a5e7647a5cc7cc422790c5ef9de3dc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/constraints.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/constraints.pyi new file mode 120000 index 0000000..cc7e13d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/constraints.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b3/61/60/272f519752678a3b85e1540a4f3e9a55a845a090309ced42dfab094382 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/fields/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/fields/__init__.pyi new file mode 120000 index 0000000..4709188 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/fields/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9c/03/1b/0bf1b133c6fcf9d47d025010f56fffbf26e0a3edfe5fa6d2062d2e9f8f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/fields/array.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/fields/array.pyi new file mode 120000 index 0000000..ad56283 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/fields/array.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/07/5f/4f/96188a23c8e180942ae9f2bfd92317b59d7ecaad11c867ba416c0f1e29 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/fields/citext.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/fields/citext.pyi new file mode 120000 index 0000000..97074b8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/fields/citext.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6c/2d/fe/192d4906c19c062179bded5d3773bcbc6d9e2a32521f4501ee63bb9050 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/fields/hstore.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/fields/hstore.pyi new file mode 120000 index 0000000..759d41a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/fields/hstore.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7f/aa/86/81e683ff2a48b88b0f3069609bf0f8f339ace6f2795427250a9fa24827 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/fields/jsonb.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/fields/jsonb.pyi new file mode 120000 index 0000000..2b8ad2a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/fields/jsonb.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5d/0a/4d/f96f92cd4a0b9bc33ce1e6e0f5c7064d9e75a0cbe9354d92ecf19d60ca \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/fields/mixins.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/fields/mixins.pyi new file mode 120000 index 0000000..ec36e59 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/fields/mixins.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/34/08/8d/8ebba10ea8d5a5976eb167a607cfde6617b9e021edbc018a0e3bc714a6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/fields/ranges.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/fields/ranges.pyi new file mode 120000 index 0000000..0b2c14e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/fields/ranges.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ca/ae/bf/ccc7e6aafa9b08eeb6ed5b4533de838867d481da77b64bbd441c6fed5a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/functions.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/functions.pyi new file mode 120000 index 0000000..3d5431b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/functions.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ff/fc/dc/c9351597d37bff93554f367f4805ef7e59dc908559b73e3a85c4a27ac2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/indexes.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/indexes.pyi new file mode 120000 index 0000000..36d4857 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/indexes.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5a/c0/18/5b754ba0fe2b438a7cadae2090d3d87011f85d4e91fb96f91dfbd167c2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/lookups.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/lookups.pyi new file mode 120000 index 0000000..f38b3b5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/lookups.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e9/75/19/d360848c3884feceac18c0931ee2e4d51fccb5d9061a3000489cc65449 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/operations.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/operations.pyi new file mode 120000 index 0000000..9a42867 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/operations.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/67/c4/84/92af712fcbeef1985a11466bf43a9a37ea0149ebbce799e0dca5d21978 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/search.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/search.pyi new file mode 120000 index 0000000..cedd35e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/search.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9b/4b/2a/b4ef7b3c4bfcfff6eca7136078b7c168c81adab9d952790797eea37249 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/signals.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/signals.pyi new file mode 120000 index 0000000..1768ddc --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/signals.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c9/eb/8c/d286fa39a62800299f2c175908d5a03e59bb03d6705a3a198beeca6f43 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/validators.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/validators.pyi new file mode 120000 index 0000000..f157a04 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/postgres/validators.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b3/67/84/b40b341063d974fced0d7e10e192cb7f97e6db767f820654e32592a349 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/redirects/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/redirects/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/redirects/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/redirects/middleware.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/redirects/middleware.pyi new file mode 120000 index 0000000..1c33886 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/redirects/middleware.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7c/a6/b7/3bc9ff8b91f23555075ce69321aafb7794a634e3f052a9a8e45443ab1d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/redirects/models.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/redirects/models.pyi new file mode 120000 index 0000000..fd2ed3a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/redirects/models.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/87/e6/82/90207dfb9ae12119f5cddd43860091cc56f06e2f27de880ed931ea0c32 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sessions/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sessions/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sessions/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sessions/backends/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sessions/backends/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sessions/backends/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sessions/backends/base.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sessions/backends/base.pyi new file mode 120000 index 0000000..e1e4954 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sessions/backends/base.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/37/2e/c3/e65007ac49ddc4043fd423c56593360ec1cca0c52705d25a9c7392c349 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sessions/backends/cache.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sessions/backends/cache.pyi new file mode 120000 index 0000000..e9c0922 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sessions/backends/cache.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ef/00/9a/b190d2da35316ae1517dcd618026db32176edc15747b235a2433134e75 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sessions/backends/cached_db.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sessions/backends/cached_db.pyi new file mode 120000 index 0000000..9980f34 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sessions/backends/cached_db.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f2/30/e4/39ac1eaac32dc34c7113e4cc7ea29517e10e8596043779236acc3f7fdc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sessions/backends/db.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sessions/backends/db.pyi new file mode 120000 index 0000000..9382f75 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sessions/backends/db.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b5/51/a6/1c62ae199183622e25f1a4756ba06540a458603acd235aa8ace8823982 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sessions/backends/file.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sessions/backends/file.pyi new file mode 120000 index 0000000..1a5fdcb --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sessions/backends/file.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/71/3e/c6/e219fedc0fd9765587d533c7f0afd0f5b0282945238cb940c05bc53eba \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sessions/backends/signed_cookies.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sessions/backends/signed_cookies.pyi new file mode 120000 index 0000000..3ac698f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sessions/backends/signed_cookies.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a8/16/c8/f21327ff92043e4cead80416e78a4564df9dd255548526745ba0e00bce \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sessions/base_session.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sessions/base_session.pyi new file mode 120000 index 0000000..c3d5208 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sessions/base_session.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d4/d3/ef/216dea7c7b7e585d7039887b1462e83dab1827cd0a4f0d2976b58e8777 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sessions/exceptions.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sessions/exceptions.pyi new file mode 120000 index 0000000..bf7217f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sessions/exceptions.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/26/31/74/1ad8bcf969c82f3edd5684c0bf5c82adb84c2ecbc17b77b5cf7673bb9d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sessions/management/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sessions/management/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sessions/management/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sessions/management/commands/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sessions/management/commands/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sessions/management/commands/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sessions/management/commands/clearsessions.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sessions/management/commands/clearsessions.pyi new file mode 120000 index 0000000..8aeebbd --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sessions/management/commands/clearsessions.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1a/4f/a1/0dd76be871ebe4f02bc9ccf70eaa1e178efa5291aa6aff471a9fcdb272 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sessions/middleware.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sessions/middleware.pyi new file mode 120000 index 0000000..632a4c4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sessions/middleware.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/65/a2/e5/6554666598196833260be8f861954a0d2323745616ed6393aeee7a80e8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sessions/models.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sessions/models.pyi new file mode 120000 index 0000000..07070e2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sessions/models.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e5/77/b1/827eebb5acdc713f831bfe209b8f8b73536d4136590586509fd2dd59d9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sessions/serializers.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sessions/serializers.pyi new file mode 120000 index 0000000..fb0be63 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sessions/serializers.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/20/33/20/49e1662d1258369e7fe638986933cac4f04b68455b116a8f6d2a9161a3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sitemaps/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sitemaps/__init__.pyi new file mode 120000 index 0000000..fa8f5c3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sitemaps/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8c/7d/fe/05a58b68ac08e43013b59957b4c2cd5444cd4ad46a7af8afeb3aafbf83 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sitemaps/management/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sitemaps/management/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sitemaps/management/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sitemaps/management/commands/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sitemaps/management/commands/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sitemaps/management/commands/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sitemaps/management/commands/ping_google.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sitemaps/management/commands/ping_google.pyi new file mode 120000 index 0000000..8aeebbd --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sitemaps/management/commands/ping_google.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1a/4f/a1/0dd76be871ebe4f02bc9ccf70eaa1e178efa5291aa6aff471a9fcdb272 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sitemaps/views.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sitemaps/views.pyi new file mode 120000 index 0000000..092c459 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sitemaps/views.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/26/e7/a2/1a6f6c1bd4d245f0bfe853fb4a976378ec4a928d617b5209266bd69764 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sites/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sites/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sites/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sites/apps.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sites/apps.pyi new file mode 120000 index 0000000..6bc54a3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sites/apps.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/84/0e/16/b885f22fd883888633cacc5f93bdcbfbe55ae3c11d7b618622f542c4f4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sites/management.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sites/management.pyi new file mode 120000 index 0000000..c4c8f63 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sites/management.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b4/c4/b9/5ed7de6e9452e5c195b214c3b1f179b509a2059a9d54b1f71317b2fafc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sites/managers.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sites/managers.pyi new file mode 120000 index 0000000..6f726d7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sites/managers.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f4/d0/79/e36025bb13e2c1cd1ecbe23e14340a4a5ae26b7f80f5138cc1d83a1972 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sites/middleware.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sites/middleware.pyi new file mode 120000 index 0000000..7559b6c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sites/middleware.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5d/da/1b/64c275e85424fabb79ef00ad92427636825f0f52d0ad1cf59597f1f190 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sites/models.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sites/models.pyi new file mode 120000 index 0000000..e1d9a2a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sites/models.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/08/05/68/ed7a3da54d12410ffe081a28a8b6cc6948e0aae82daaf4145c07262eb3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sites/requests.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sites/requests.pyi new file mode 120000 index 0000000..cf7a049 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sites/requests.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f5/c0/3a/8916286f7dc0fcdec01c25a10791d5d2eec205a6b7605c41c0ab4d8d77 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sites/shortcuts.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sites/shortcuts.pyi new file mode 120000 index 0000000..893c01d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/sites/shortcuts.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/74/f6/eb/b9d073af2e826b07d157521b6c5ed21c6bd26baa038c625ac842e71732 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/apps.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/apps.pyi new file mode 120000 index 0000000..8439b3e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/apps.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/26/20/5c/e533ca8afeb21a284383c84ac7138d1893a73a7fab6666d4fcfe2b6f17 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/checks.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/checks.pyi new file mode 120000 index 0000000..e5d6cb5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/checks.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fc/bb/e9/ca520bdd18c246c64ecc29fb30cb810f8d4314b1193560e8954eb5221b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/finders.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/finders.pyi new file mode 120000 index 0000000..6b9d7a8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/finders.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b9/8b/45/ff9b0b622ce07044b2896552b2ac021e89c83dfd823c5d4b874420d3dc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/handlers.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/handlers.pyi new file mode 120000 index 0000000..9362075 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/handlers.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1f/ac/40/60b4aace86139930f6d2cfa7bec6846960a15db41670cb25970ab9cc94 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/management/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/management/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/management/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/management/commands/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/management/commands/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/management/commands/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/management/commands/collectstatic.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/management/commands/collectstatic.pyi new file mode 120000 index 0000000..38cc3f2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/management/commands/collectstatic.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/69/ab/85/0f428350662b1d1572f849778545610a44d7b56b72db5dc7d184518c77 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/management/commands/findstatic.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/management/commands/findstatic.pyi new file mode 120000 index 0000000..647fe3d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/management/commands/findstatic.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/02/83/c2/ab0373e32610426d73e9608331dc5c5ab054471d48e623ec1c942f74ea \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/management/commands/runserver.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/management/commands/runserver.pyi new file mode 120000 index 0000000..3837bef --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/management/commands/runserver.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/de/e4/d2/c87e371d6ccd8f6cac2095f24f7d8c685e2ad7f833eaada1249cb69d13 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/storage.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/storage.pyi new file mode 120000 index 0000000..0cc44f4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/storage.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/59/17/c6/01a0d772f3e397b20280091ac66fe50fc74dc7d12a8a456705df8189ed \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/templatetags/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/templatetags/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/templatetags/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/templatetags/staticfiles.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/templatetags/staticfiles.pyi new file mode 120000 index 0000000..80e0196 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/templatetags/staticfiles.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/de/b3/5d/c094bb86b18712659c083417235f798aaf2ad80fdf07d2be9a32052ed8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/testing.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/testing.pyi new file mode 120000 index 0000000..0eef201 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/testing.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b0/3e/02/0cd2f86c3fbd9d37ef2d230af03eff39cd14971a4c82b6a85001b3afbb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/urls.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/urls.pyi new file mode 120000 index 0000000..d927184 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/urls.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7b/78/43/467339e537b2f209bab8866453d5da28be8ad61402a9b830a362447c3f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/utils.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/utils.pyi new file mode 120000 index 0000000..4be9773 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/utils.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e6/48/7c/c0818bded2814c5436b6ff9b79e5de4a542f292f7f4bc2d55df95cc9b8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/views.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/views.pyi new file mode 120000 index 0000000..a7b3d4d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/staticfiles/views.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/43/60/97/ef0fbe9f2b6c9ed43a2245311eeb61a441e8f0740c788b1a0b8328ab57 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/syndication/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/syndication/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/syndication/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/syndication/views.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/syndication/views.pyi new file mode 120000 index 0000000..8efc561 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/contrib/syndication/views.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d4/79/ca/695974f447a7588fd5eb1a3ea9ca1baf8e610922c2dee52da2299f1a85 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/cache/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/cache/__init__.pyi new file mode 120000 index 0000000..ed248de --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/cache/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/eb/31/63/275abfc4e36a601a8139ca619d3aa9e3d654f14ae095f4fe0c289b27e0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/cache/backends/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/cache/backends/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/cache/backends/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/cache/backends/base.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/cache/backends/base.pyi new file mode 120000 index 0000000..5ad30bb --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/cache/backends/base.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/61/01/aa/2617edee91d5e8f4a53b0222e5630afd9869aa5775f45d73a7a6b18e72 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/cache/backends/db.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/cache/backends/db.pyi new file mode 120000 index 0000000..5d09d75 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/cache/backends/db.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c0/67/54/b2847ea30faed8b4488da6a48dcc0f0722906fcf94f8a3978536d6f708 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/cache/backends/dummy.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/cache/backends/dummy.pyi new file mode 120000 index 0000000..2f73122 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/cache/backends/dummy.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3e/29/44/17f129d7e7c37b86d016455a166fe7e2e4cbb66cc7bf67b058cf15073a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/cache/backends/filebased.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/cache/backends/filebased.pyi new file mode 120000 index 0000000..115fc15 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/cache/backends/filebased.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f9/28/6f/578980b6ecca0bad7b436a8cafb147664c280691bf28ffa97ce056d366 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/cache/backends/locmem.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/cache/backends/locmem.pyi new file mode 120000 index 0000000..7232322 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/cache/backends/locmem.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/93/3d/5d/62d3dc02f870f8e020446d157749fdd8cff5c7137c89a1a853eb381590 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/cache/backends/memcached.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/cache/backends/memcached.pyi new file mode 120000 index 0000000..0935a09 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/cache/backends/memcached.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d3/ca/84/3d79e7837c8f38af5960fe16b56aed10db1abd5c906c8d1e6d62df7e32 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/cache/utils.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/cache/utils.pyi new file mode 120000 index 0000000..ef05085 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/cache/utils.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/da/b1/b7/83d3d6dc558d7e51b123ce1ba487efa55425cd8620ec5699aded6f100d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/checks/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/checks/__init__.pyi new file mode 120000 index 0000000..3ecf599 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/checks/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/94/d1/66/8b2dea47403d7871510104fb879b0fedaf231ea4540dce918610678d1a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/checks/caches.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/checks/caches.pyi new file mode 120000 index 0000000..dcf1b84 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/checks/caches.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/20/b3/f0/0cc14c122000eca632fc6d877b9763814e6266203cfa4ab7b7c8e07933 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/checks/database.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/checks/database.pyi new file mode 120000 index 0000000..deba75e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/checks/database.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6b/ce/9f/4a0049ab544ded1796c729f30f31097917fefd2356da93f946e6af10be \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/checks/messages.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/checks/messages.pyi new file mode 120000 index 0000000..f117bdd --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/checks/messages.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/72/b5/e5/021426a9db642fae4382625fed3d61ef33c9e8b96a5eadb0547d0dc75c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/checks/model_checks.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/checks/model_checks.pyi new file mode 120000 index 0000000..aee9893 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/checks/model_checks.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/61/4c/cb/00c70943cc20462378d4927591496402b2fd70d5be9b3378cf8a883d0d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/checks/registry.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/checks/registry.pyi new file mode 120000 index 0000000..1a597bc --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/checks/registry.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/76/39/90/360c781fddf68646bdfe402b51f46b1fe311c4c7d04b949c8416a916a3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/checks/security/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/checks/security/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/checks/security/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/checks/security/base.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/checks/security/base.pyi new file mode 120000 index 0000000..d96b771 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/checks/security/base.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/88/f1/d0/f6be1d4f52cf18abcd198cdbba9fb54a8d770ac1b8081f3cb5c2f4b39c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/checks/security/csrf.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/checks/security/csrf.pyi new file mode 120000 index 0000000..ce12bb6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/checks/security/csrf.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/aa/5e/8d/78fcfeded1ef16b46cd7e46250bee1bbe6137aabce8c90c9296102c78a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/checks/security/sessions.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/checks/security/sessions.pyi new file mode 120000 index 0000000..cba8cb3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/checks/security/sessions.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1a/d4/d2/266ce229a63e5712caa3db99d88bf6066fd0d46b9c9ec710f4872a2379 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/checks/templates.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/checks/templates.pyi new file mode 120000 index 0000000..84d0d73 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/checks/templates.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a2/76/c3/c089d3b8da30c3af048b435c025df3058449d585d32fb8a1c4085fc8de \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/checks/translation.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/checks/translation.pyi new file mode 120000 index 0000000..19fbc1f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/checks/translation.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/28/1d/17/91e52a9604b53be1c5795705d203f4f67bfdb2efbeb57e9f2664cd14a0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/checks/urls.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/checks/urls.pyi new file mode 120000 index 0000000..0ca98e4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/checks/urls.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/70/f1/8f/09505bd53b582cb22089deacbb935c35df69f746fbfb8d2e4fd91886ae \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/exceptions.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/exceptions.pyi new file mode 120000 index 0000000..83b81d9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/exceptions.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/54/f8/03/e16cda7d21736b41afe7e0f45a626b76d70102404a84b8ab5a4f67e21d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/files/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/files/__init__.pyi new file mode 120000 index 0000000..7eeb1a4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/files/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/85/d9/e4/15bd8e43b9c50af94d756755a38aac30f2d737f61a7b245d3008a7787d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/files/base.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/files/base.pyi new file mode 120000 index 0000000..89bf90f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/files/base.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/10/48/7f/fbc6f75862f3c0b00a55a2877bff85356e328a952fe1c11609386eae5b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/files/images.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/files/images.pyi new file mode 120000 index 0000000..904e1e9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/files/images.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/48/c4/f4/c2894c62ca3842608694fb4a9818ab24e9ef8213dcf1391480c1467ba3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/files/locks.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/files/locks.pyi new file mode 120000 index 0000000..c051a6e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/files/locks.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/10/76/7b/7a9a7ea37118085def0803f0dc32c8e5000f35383adcb0cb24bf813f9d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/files/move.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/files/move.pyi new file mode 120000 index 0000000..128333f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/files/move.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3c/84/a9/64eb6d37857fb9d8df6f769d0ad0fee2867a5daabc5bbf48e8c75d72b6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/files/storage.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/files/storage.pyi new file mode 120000 index 0000000..76ce8cd --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/files/storage.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/25/ea/a7/2701a9a96943f850df28c558334b937281dc09a15e86ac31cab15c3ac4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/files/temp.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/files/temp.pyi new file mode 120000 index 0000000..ecab48d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/files/temp.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/19/7c/ac/f91f86d73dc728ef7455b319a96e66a72f1ee3af106dcccdb3d93dbd03 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/files/uploadedfile.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/files/uploadedfile.pyi new file mode 120000 index 0000000..cfb133d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/files/uploadedfile.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9a/67/5b/a16cf741c68b5561ed881e06588e46a3058e8105cfa5266864626ec6aa \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/files/uploadhandler.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/files/uploadhandler.pyi new file mode 120000 index 0000000..6ce7426 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/files/uploadhandler.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c8/35/86/9fc9f18329991ac4cda0f95eb36375260cd97ef26747c486422bd2440f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/files/utils.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/files/utils.pyi new file mode 120000 index 0000000..cf457a4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/files/utils.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f9/89/02/78294d15b087c54e35f0f6e7e2df29e39d60c0bb7951f1e7bfed6dc027 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/handlers/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/handlers/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/handlers/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/handlers/base.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/handlers/base.pyi new file mode 120000 index 0000000..e23baa8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/handlers/base.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ce/be/5d/70d2e6b0b2fc58ae39fe9a1fe56862c3c27256a35efa740d3536910547 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/handlers/exception.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/handlers/exception.pyi new file mode 120000 index 0000000..6cdfaa8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/handlers/exception.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f5/9d/ac/97bf73131e84923c40efddf4a08618b2e68e65034a7ffccd51adb5615d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/handlers/wsgi.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/handlers/wsgi.pyi new file mode 120000 index 0000000..e54e3ff --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/handlers/wsgi.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/66/67/54/a6f36b926bc137175d8716acbab9ea7cbd9c5c061688372124c4c57d5c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/mail/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/mail/__init__.pyi new file mode 120000 index 0000000..0ff54c2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/mail/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7d/2e/c3/401f8a60ad3f5d0e4927f99f368a03c38688f0adc340e1a6516d9c8ca4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/mail/backends/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/mail/backends/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/mail/backends/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/mail/backends/base.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/mail/backends/base.pyi new file mode 120000 index 0000000..1436949 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/mail/backends/base.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/81/14/1f/952b671277b18a02a21215d6f5ec34d4d1561e480412bb0eef31a49aaf \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/mail/backends/console.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/mail/backends/console.pyi new file mode 120000 index 0000000..e629f54 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/mail/backends/console.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ae/9d/e0/27f591acfedc0ba387099c4398c0841a9c126535d313ffbdb18184eea0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/mail/backends/dummy.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/mail/backends/dummy.pyi new file mode 120000 index 0000000..e629f54 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/mail/backends/dummy.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ae/9d/e0/27f591acfedc0ba387099c4398c0841a9c126535d313ffbdb18184eea0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/mail/backends/filebased.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/mail/backends/filebased.pyi new file mode 120000 index 0000000..e629f54 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/mail/backends/filebased.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ae/9d/e0/27f591acfedc0ba387099c4398c0841a9c126535d313ffbdb18184eea0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/mail/backends/locmem.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/mail/backends/locmem.pyi new file mode 120000 index 0000000..e629f54 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/mail/backends/locmem.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ae/9d/e0/27f591acfedc0ba387099c4398c0841a9c126535d313ffbdb18184eea0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/mail/backends/smtp.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/mail/backends/smtp.pyi new file mode 120000 index 0000000..c18fdd2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/mail/backends/smtp.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f5/fb/04/36b25b3c811752d9d8856ff57400eaa5c8fb238677911dbedc31b07478 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/mail/message.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/mail/message.pyi new file mode 120000 index 0000000..2022cae --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/mail/message.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/00/95/66/4dcd8887527886cc4bc84e4448af2beb5d4ea2a935b61877f5c5b6f2fd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/mail/utils.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/mail/utils.pyi new file mode 120000 index 0000000..3b19868 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/mail/utils.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1e/22/86/cf20dfb21a0330abb4fceb920f6eb6035d072e385445d0f864d26dd5e7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/management/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/management/__init__.pyi new file mode 120000 index 0000000..c3def83 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/management/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c6/a8/7c/30602954ac5079444da7d469f33926ff85659de7cd91c0cd9cb885e98c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/management/base.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/management/base.pyi new file mode 120000 index 0000000..cc5730e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/management/base.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7a/4d/73/4bd9cbd6708e0f1246076b49e945f3d8a8c7a09cd77986b9e01ff0254e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/management/color.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/management/color.pyi new file mode 120000 index 0000000..04711df --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/management/color.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/be/7c/24/b6ffe070c5588b54d4a99049d43419ce950c930133c99c6ce05138ece4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/management/commands/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/management/commands/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/management/commands/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/management/commands/dumpdata.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/management/commands/dumpdata.pyi new file mode 120000 index 0000000..2296611 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/management/commands/dumpdata.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/06/73/a0/e29638ac7869029b4d3ada6b6259ea74709d9c5ca05e5b2166efe0eb66 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/management/commands/loaddata.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/management/commands/loaddata.pyi new file mode 120000 index 0000000..a843e5a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/management/commands/loaddata.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8d/b9/a2/985f9d11c65bf837ed1dde89baf78073fa39d185951a99da8de89528ea \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/management/commands/makemessages.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/management/commands/makemessages.pyi new file mode 120000 index 0000000..b604cec --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/management/commands/makemessages.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/85/74/27/c2495a427e69522252bc8abbe7b1025f9c8977921c1375faf9defc1bce \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/management/commands/runserver.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/management/commands/runserver.pyi new file mode 120000 index 0000000..28cf123 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/management/commands/runserver.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/89/fe/ef/11dc808b89ca6a6cac161aa8e87fc90c646148f4998441a28156a62b88 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/management/commands/testserver.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/management/commands/testserver.pyi new file mode 120000 index 0000000..8aeebbd --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/management/commands/testserver.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1a/4f/a1/0dd76be871ebe4f02bc9ccf70eaa1e178efa5291aa6aff471a9fcdb272 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/management/sql.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/management/sql.pyi new file mode 120000 index 0000000..263316e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/management/sql.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7e/2e/d3/dd727dd8861ae74829996f2fc2603d40f6a0fa85395cb3f6581a3aae92 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/management/templates.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/management/templates.pyi new file mode 120000 index 0000000..f3dc1f0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/management/templates.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bc/75/bf/431a6a17bb6de71a5112970c03ba5d1ca918e44e77324cd0693b640124 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/management/utils.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/management/utils.pyi new file mode 120000 index 0000000..7bc323e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/management/utils.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/51/f0/71/8789e32cb4814a8af759d349b75725707ca515cab09224a2be12c72b7b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/paginator.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/paginator.pyi new file mode 120000 index 0000000..4f1489f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/paginator.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/de/16/bf/cc000d916530fc652480261a4142d941119cc57092e60681764a3355d8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/serializers/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/serializers/__init__.pyi new file mode 120000 index 0000000..cd76712 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/serializers/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7c/ba/2f/0f7da1735fb5a3590ad308d8cbb2ddb7317955c4340be3dcf136b5c06a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/serializers/base.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/serializers/base.pyi new file mode 120000 index 0000000..553ccc1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/serializers/base.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e4/b7/32/e5020ac5db76ea83c551e652ea2c7558693b525b052e760b14280cf861 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/serializers/json.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/serializers/json.pyi new file mode 120000 index 0000000..e168cb2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/serializers/json.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/98/0b/5d/2a270732baeb60349bff74d4bf9961860e3545b76e92aaeea6473c4aa2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/serializers/python.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/serializers/python.pyi new file mode 120000 index 0000000..25d8fd1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/serializers/python.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/41/cb/48/d69deaa9089aa8ba4625d2f0bc8bc40910f3e6d697151d44945641d71d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/servers/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/servers/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/servers/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/servers/basehttp.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/servers/basehttp.pyi new file mode 120000 index 0000000..2079294 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/servers/basehttp.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ec/f6/4b/9d5da1069ad569b97f3e1f44eafd30e298dd5dc6d628fe3dba28e20f50 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/signals.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/signals.pyi new file mode 120000 index 0000000..c5dcca6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/signals.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a1/2c/6f/c17e3e24550b67a5d51f7207f5f22807bc903fba967f5ab689f375c0dc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/signing.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/signing.pyi new file mode 120000 index 0000000..e445aeb --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/signing.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9c/c2/dd/9747330a0835a503d23bef18f034725256e4eadfdcccce06cd17b5a400 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/validators.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/validators.pyi new file mode 120000 index 0000000..3f40aad --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/validators.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/11/e1/c9/df1717f5ca59ef9beff2f56067b5ddad15c7534c7c738d2525832af46d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/wsgi.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/wsgi.pyi new file mode 120000 index 0000000..faba590 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/core/wsgi.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e9/5b/47/c89085d0fe04987d0fa69a97719319de457be45b928ca82572fb9e67d3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/__init__.pyi new file mode 120000 index 0000000..004a3b8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/44/56/c2/9dbbc9c2b56486193093e39433843b842231f3c1124a9b47deaa901a11 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/base/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/base/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/base/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/base/base.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/base/base.pyi new file mode 120000 index 0000000..53d6928 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/base/base.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/36/f3/6c/d05a6bda139c52166ed16b306cd51ac6178ed7f85a722eff59c327160b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/base/client.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/base/client.pyi new file mode 120000 index 0000000..104c0af --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/base/client.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/33/6f/f4/bdb2fdf6ad2de98d262874fe4c9d051ce9d7adfcf45055714311c8a964 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/base/creation.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/base/creation.pyi new file mode 120000 index 0000000..4fe890a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/base/creation.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c7/d7/33/d75fb745b7031c40263761abe847ef837c0caa1331d6dc1e23fcfc8db5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/base/features.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/base/features.pyi new file mode 120000 index 0000000..437219e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/base/features.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/71/b5/a5/2d74455edbc94c748e9bbd644cc9af9582efcd57a327a3c8bb8fd1e4f3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/base/introspection.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/base/introspection.pyi new file mode 120000 index 0000000..c6c7ff5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/base/introspection.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/08/69/6f/192f5d15bdf6b010bf96568b9a1565071c1c3b6e894ec740de65bcfbd0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/base/operations.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/base/operations.pyi new file mode 120000 index 0000000..059a21a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/base/operations.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fa/4d/c2/6b8bb6bd40954d84b4e2fc60cc3f97a57ecf084f68e9104fffefa424ab \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/base/schema.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/base/schema.pyi new file mode 120000 index 0000000..abb32cf --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/base/schema.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3e/b3/fb/c7a24cda57d91497196085cdece8debf049e2571d7efbb8890514672ff \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/base/validation.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/base/validation.pyi new file mode 120000 index 0000000..3e781df --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/base/validation.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/73/e5/f4/0eec532a25c152b675c6b376bf113d102d2145f1b6692ded8378a46722 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/ddl_references.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/ddl_references.pyi new file mode 120000 index 0000000..f31bd7c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/ddl_references.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5a/c3/ad/5487b418cc06fb792e3718c96808e0ecd0e5d0580f7ca008b9fb2f2036 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/dummy/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/dummy/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/dummy/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/dummy/base.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/dummy/base.pyi new file mode 120000 index 0000000..138fb3c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/dummy/base.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/07/26/e8/aeda2a73669fb680d423d24e5ba077780f119ad3673c8f08b30081c3fc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/mysql/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/mysql/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/mysql/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/mysql/client.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/mysql/client.pyi new file mode 120000 index 0000000..e8490cf --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/mysql/client.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2e/e4/41/783df4613b7b64a908cb440f239714a0274391c154a613c5dcfe951e65 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/postgresql/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/postgresql/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/postgresql/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/postgresql/base.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/postgresql/base.pyi new file mode 120000 index 0000000..05992e2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/postgresql/base.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9b/86/48/ab7c6ea7dec4c0aab3db5e6fd033f3925eb80c627c7248893b35a43c78 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/postgresql/client.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/postgresql/client.pyi new file mode 120000 index 0000000..110d648 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/postgresql/client.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2a/79/d6/e1c541e79f8ed6bc929fccb4c317f51e62270af529a5ce189738351d53 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/postgresql/creation.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/postgresql/creation.pyi new file mode 120000 index 0000000..a870407 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/postgresql/creation.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7e/72/4b/81758b570f4c0db90f33f3eb96008d784a2fc911566a1982a661ad2fd0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/postgresql/operations.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/postgresql/operations.pyi new file mode 120000 index 0000000..80b1b85 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/postgresql/operations.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f2/5e/08/acd46b419264f8b2db1f7cc65aa8294e6057036fab52c3fbe8682963f6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/signals.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/signals.pyi new file mode 120000 index 0000000..dab4f63 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/signals.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7c/b1/73/01f009e9fb80bb2d305536b4cc705e142806edb30b3a2fe44fb762541b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/sqlite3/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/sqlite3/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/sqlite3/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/sqlite3/base.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/sqlite3/base.pyi new file mode 120000 index 0000000..77c5e03 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/sqlite3/base.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6d/55/b0/a96c95dace885e537dfa78c70b3740c0b961c34e4616536af504fec46d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/sqlite3/creation.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/sqlite3/creation.pyi new file mode 120000 index 0000000..a870407 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/sqlite3/creation.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7e/72/4b/81758b570f4c0db90f33f3eb96008d784a2fc911566a1982a661ad2fd0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/sqlite3/features.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/sqlite3/features.pyi new file mode 120000 index 0000000..2717b88 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/sqlite3/features.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/40/13/50/3d4f9d4303f39a1c461f701cc6181c279ac2c2d2de5896de956dcbc371 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/sqlite3/introspection.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/sqlite3/introspection.pyi new file mode 120000 index 0000000..a996fff --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/sqlite3/introspection.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ed/b0/25/bf7930bb34318a2f480f320e2c51cab2bdbf4e30a40bdc01166101d824 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/sqlite3/operations.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/sqlite3/operations.pyi new file mode 120000 index 0000000..80b1b85 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/sqlite3/operations.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f2/5e/08/acd46b419264f8b2db1f7cc65aa8294e6057036fab52c3fbe8682963f6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/sqlite3/schema.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/sqlite3/schema.pyi new file mode 120000 index 0000000..afb8cc3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/sqlite3/schema.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2d/81/2d/21f84b35aa79bd3375c30062d8dbe382fc9140f85b16930060ec9bafaf \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/utils.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/utils.pyi new file mode 120000 index 0000000..b6af1cc --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/utils.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c8/3b/c1/55a2a65ffa5a967fbafaf16aafa110b7ebeab9c744aa4666dd42afa670 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/__init__.pyi new file mode 120000 index 0000000..40ec00f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/86/12/cc/960e28b03d8f80b2a5abbea9547616a8f5d932703806913dbfcb435b24 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/autodetector.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/autodetector.pyi new file mode 120000 index 0000000..2828976 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/autodetector.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c5/09/9c/a6c2ecf234cf20c1aec1a0129dcb941311507aeb500ca25dccdc230101 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/exceptions.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/exceptions.pyi new file mode 120000 index 0000000..cd53a01 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/exceptions.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/aa/82/e0/53fbeb1b86baf29ce2acc7565c1ba7a4f11b60ec5d57f9bb849adf2a1e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/executor.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/executor.pyi new file mode 120000 index 0000000..290c0bc --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/executor.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d2/ce/23/f8db46757cade9d37e194ce341f3e6befb990223beaa9878392224d3f2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/graph.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/graph.pyi new file mode 120000 index 0000000..fc441d2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/graph.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/81/9d/83/b5d456f1619a35a818492e39d31cb7ee3204607c17ae9e0d2ba50451fa \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/loader.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/loader.pyi new file mode 120000 index 0000000..2c09232 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/loader.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/17/35/c7/10532f1b6f39dbdcd58183eabc85159a0bb86fa22d2479b22c339c8ec5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/migration.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/migration.pyi new file mode 120000 index 0000000..b7457e9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/migration.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/10/2d/ec/2901fffca74040776d56507d31d9e0f4f6518d77d1af992afc2e1022c5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/operations/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/operations/__init__.pyi new file mode 120000 index 0000000..f51cb1f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/operations/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ed/5f/4d/13d2d48c20cc99845b6c0fc3a7207219dc2a60918fe0f3f879bf62ac63 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/operations/base.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/operations/base.pyi new file mode 120000 index 0000000..3fbff13 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/operations/base.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/61/fe/4a/96cff885242c2178e52fd38ad3cbf0741a02f94f4765412a14082dde25 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/operations/fields.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/operations/fields.pyi new file mode 120000 index 0000000..259d3c1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/operations/fields.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2b/78/8d/7e6ad4e6287747dab98966d677dbf3bf07dd284239b7599348e429e8f3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/operations/models.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/operations/models.pyi new file mode 120000 index 0000000..0d61b47 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/operations/models.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f8/f3/17/8f4985e11a6a145e447c66d72e36fa38be8cdcdf8888ba69929d7384d5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/operations/special.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/operations/special.pyi new file mode 120000 index 0000000..58df641 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/operations/special.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/21/4c/a5/3583ecd9a99dc5ed0b5c3a407201b7f04e8c89d17e1ea7d25c1faba93e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/operations/utils.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/operations/utils.pyi new file mode 120000 index 0000000..6368cb4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/operations/utils.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/73/72/4b/3e09cdbcb9173ea779f124ec42038d8bb8b57949f4f354e041a18e7a16 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/optimizer.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/optimizer.pyi new file mode 120000 index 0000000..63b7164 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/optimizer.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e2/80/dc/7c0e0f5f218fb5cd42e8c9a49c1fba4da68db5875e592c84ec94e63339 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/questioner.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/questioner.pyi new file mode 120000 index 0000000..dc4e8c1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/questioner.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ef/7e/1e/c1539c73923dc250145b60c9f01541a800b1e82d699b8707634665c14a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/recorder.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/recorder.pyi new file mode 120000 index 0000000..03bb98e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/recorder.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8f/6b/61/d78988c5c84e277b356abda76e5a0023a5f2e308950e2b67c3e8bdb271 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/serializer.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/serializer.pyi new file mode 120000 index 0000000..fff8285 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/serializer.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/19/19/6c/e9ac0bf10823395ce035ab2c6c17ba1f86c4853d61d6f81d8f10fded3f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/state.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/state.pyi new file mode 120000 index 0000000..3a900a9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/state.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/dc/77/e5/aa8f28882573fa84a9ac563229eb64850b2353af50b5356266298fe50d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/topological_sort.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/topological_sort.pyi new file mode 120000 index 0000000..1785ca3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/topological_sort.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/34/9c/df/449610c097894bc7c25667bf8581ac6ebb75e21ec418072cd96d1f98bf \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/utils.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/utils.pyi new file mode 120000 index 0000000..e251dd8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/utils.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c9/19/44/f3fffcaae84cae500c535176f368507edaf1c624906e36b6d28f216267 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/writer.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/writer.pyi new file mode 120000 index 0000000..97e05fb --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/migrations/writer.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/70/da/b5/afcc23eca6b050b9c80b15c14d60ea3b4415182a0128b96cdcefe8e3c3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/__init__.pyi new file mode 120000 index 0000000..07edbae --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ee/74/7e/9abed657c1b47fa0ace4771b95fc30db2d96cc2d68431777d66867c744 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/aggregates.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/aggregates.pyi new file mode 120000 index 0000000..52c7cdb --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/aggregates.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3e/b3/87/a1c9279fb5a68766aaf77fd656ae74771f523a27c82011ef37c17a1951 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/base.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/base.pyi new file mode 120000 index 0000000..4b0d5c0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/base.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ef/b1/6b/b49f0ef3abfc1c589c85ca7362f63161eb70d2c4b502b18575dd74b8d7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/constraints.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/constraints.pyi new file mode 120000 index 0000000..2380ce2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/constraints.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/09/76/95/7e2bf4b5670334f93183c8fbb3505efad787930315b9864b66d3156ac3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/deletion.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/deletion.pyi new file mode 120000 index 0000000..c6b4721 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/deletion.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/18/42/5c/55e0f46bfe4a323eaefe4571190d5ecc98fbad6e6271c4599108ad374d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/enums.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/enums.pyi new file mode 120000 index 0000000..f4ce13c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/enums.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4e/ef/3b/bd74960af465492fd2ab793c6a9b4e5f398c17d2508f81e4ea95b79b7b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/expressions.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/expressions.pyi new file mode 120000 index 0000000..83976cd --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/expressions.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/42/66/b3/b46ee4fd4113854660b650dcc07c500129a2978c5533c65f1ba1d0f9c8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/fields/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/fields/__init__.pyi new file mode 120000 index 0000000..eed7b63 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/fields/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ed/c4/5c/8d957b0156e55045da02741fce99c75f9caa0a67a7a7c7f2afd09efef0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/fields/files.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/fields/files.pyi new file mode 120000 index 0000000..cd60e23 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/fields/files.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e4/41/66/32f97af0a2880b43bb046ef0e1ff821262efb65c4f1ecc070bc02d1d30 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/fields/mixins.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/fields/mixins.pyi new file mode 120000 index 0000000..1b91acf --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/fields/mixins.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9b/21/83/84eec238b9a6a2e721b23454e7b950a579c96a1cea69f7d79b26b8afa7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/fields/proxy.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/fields/proxy.pyi new file mode 120000 index 0000000..4d30afe --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/fields/proxy.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1c/9b/df/52fa854e69c6c1eddb66cd1e1ee9a902f39d1584c9797f8acce3ef47cd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/fields/related.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/fields/related.pyi new file mode 120000 index 0000000..01dcee2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/fields/related.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ea/48/1c/e0b034bea73825583443d1919070ee2abffa21f1f0c55028605972dbe2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/fields/related_descriptors.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/fields/related_descriptors.pyi new file mode 120000 index 0000000..f97c60f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/fields/related_descriptors.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7e/80/55/565860b5aa0ecfa8916c09a1e40cf5f1935bc4d0fa8039dca25f3add60 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/fields/related_lookups.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/fields/related_lookups.pyi new file mode 120000 index 0000000..822ef96 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/fields/related_lookups.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b4/f8/41/8a1e5336c55ba59e3f8fe1cce46b7cb5e86e914716c61f9c9f3011270e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/fields/reverse_related.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/fields/reverse_related.pyi new file mode 120000 index 0000000..3b5e6fe --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/fields/reverse_related.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/13/34/b3/aaa65db5171f530cc50c164b66ef0dc35c1bc797f28b28f34df7120c49 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/functions/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/functions/__init__.pyi new file mode 120000 index 0000000..1477da4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/functions/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cf/0b/a3/67f983bcc1af0c6ecf667b672262c84e58a8d4e30996fbaf1f48709a59 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/functions/comparison.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/functions/comparison.pyi new file mode 120000 index 0000000..32872b5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/functions/comparison.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cc/c5/f5/aca39371f3212325a6b2da7d0cb7d3d3a94313b633fb39c24156a7f8e1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/functions/datetime.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/functions/datetime.pyi new file mode 120000 index 0000000..edff036 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/functions/datetime.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/62/e6/24/64ed3ead53bfe8286d85b3e5347b81db8c37dd13122c0b22a685139f4b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/functions/math.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/functions/math.pyi new file mode 120000 index 0000000..32fe92e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/functions/math.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e2/b1/b2/ba987d7fdfb68e55275037029b60ca8538241ef538c3650eb864f377f2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/functions/mixins.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/functions/mixins.pyi new file mode 120000 index 0000000..58758c9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/functions/mixins.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1d/6e/2a/3bf257fdbd6849c96d47cdf1c747a4c42ad772f14c1593427fa1e9e436 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/functions/text.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/functions/text.pyi new file mode 120000 index 0000000..e5d6fb8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/functions/text.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f2/82/11/3a1cf32993b56fc32f126011071e0b8267c3346fb6651a0da58b0adf25 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/functions/window.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/functions/window.pyi new file mode 120000 index 0000000..25fb6e4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/functions/window.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a6/8c/4c/07454abe2ed71b1ffc8a60134e2d5a68e4c6704b9a3cb0afdf389f142d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/indexes.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/indexes.pyi new file mode 120000 index 0000000..8ce9e7e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/indexes.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/78/a3/a0/1d9585d7f4d45599776bc5b7529a037f737bdc3d3b354e48c35aa26861 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/lookups.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/lookups.pyi new file mode 120000 index 0000000..e3a6c89 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/lookups.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/04/8d/4b/cba49afd4d730f36b4d334e50b7a4f17e6c8e1e28a7afe0bd9b4e59aa1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/manager.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/manager.pyi new file mode 120000 index 0000000..6b7f94b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/manager.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c3/99/b2/304f643408a045178d6225123468d1ccb50659cc28a927dde3dce6587f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/options.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/options.pyi new file mode 120000 index 0000000..72acf00 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/options.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/60/2f/cb/c1982a146994b5f3615667d14538d2a532a930259b87c33149774bba83 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/query.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/query.pyi new file mode 120000 index 0000000..1fcf619 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/query.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/23/4e/2f/cb1ea01e72b45a6d9ab64c08b64df5ad007336dd96c14c74bbd6220763 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/query_utils.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/query_utils.pyi new file mode 120000 index 0000000..16930c4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/query_utils.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fc/55/9e/84ea73b5abcd715c4606b020ed514b7543497918a013b76a3eddfe3c34 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/signals.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/signals.pyi new file mode 120000 index 0000000..b9fac13 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/signals.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/52/fc/8a/3dc9392c562a38279eb7467d1c2c5bb45f4728ea1f55a9369a7c9f3ea3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/sql/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/sql/__init__.pyi new file mode 120000 index 0000000..a5ecd8d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/sql/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/99/ca/de/971a7000072addeebcc2d27763cbdb6f4270470967dc6172dcf5d305fd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/sql/compiler.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/sql/compiler.pyi new file mode 120000 index 0000000..5417844 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/sql/compiler.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d3/5f/e7/13b453f2a8096c3b2fba5e6623ebe27cb153400c24d444dc27173753ad \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/sql/constants.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/sql/constants.pyi new file mode 120000 index 0000000..8ba03bb --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/sql/constants.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c2/aa/d5/a760a63704064c4e86e3c871a2989d74868f8e1786dda1746cdadfaf12 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/sql/datastructures.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/sql/datastructures.pyi new file mode 120000 index 0000000..afb6ade --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/sql/datastructures.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/68/fd/c7/dbbef63527108a95cf32358df2145ec92d5c32d3f7e538f414e574b53a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/sql/query.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/sql/query.pyi new file mode 120000 index 0000000..d910c95 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/sql/query.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1d/3f/d0/afed51fab66f86971880cc4b7d64f75eef363e67ef3fb2725cd28c2a03 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/sql/subqueries.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/sql/subqueries.pyi new file mode 120000 index 0000000..0e4eb2c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/sql/subqueries.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/02/fc/ea/85273a9d6522ae2bb88ddeb63c042defb7c9d34e262030eebb35a926ed \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/sql/where.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/sql/where.pyi new file mode 120000 index 0000000..91f1b71 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/sql/where.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/48/5f/da/7522da7f5e0caa229df9b8ee59e5fd79914c0445ecb4c1e7652f61953e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/utils.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/utils.pyi new file mode 120000 index 0000000..b607388 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/models/utils.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a2/8a/ad/504fd36e1edf04c0a0ab31bd064932714f0f8f77c3fadc7738492a32e3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/transaction.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/transaction.pyi new file mode 120000 index 0000000..ce7d5e4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/transaction.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f2/3a/99/323cc909d2c856c06f930ff67a59bb81a802ffcd06a16d529e16e63acd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/utils.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/utils.pyi new file mode 120000 index 0000000..a68c047 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/db/utils.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/11/a9/6b/3c807145ac263b6e94ac9b899944de5c207cc76e1e85aae05c0e069bdb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/dispatch/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/dispatch/__init__.pyi new file mode 120000 index 0000000..cfea221 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/dispatch/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/49/05/18/9dcecbaeb5cd64dfc287925d7862fd1c353e81a4cae86e18c6bafeaef7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/dispatch/dispatcher.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/dispatch/dispatcher.pyi new file mode 120000 index 0000000..cf455d2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/dispatch/dispatcher.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/99/4d/1d/f66e37dfb19c700f6b9cd1e51a6e316a3ee2939418dfd70878a2bc54a3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/forms/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/forms/__init__.pyi new file mode 120000 index 0000000..3150f10 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/forms/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e1/ca/02/10575889ff0c360d005ec6fda6814fe888793a207d372b5dfe0a066669 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/forms/boundfield.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/forms/boundfield.pyi new file mode 120000 index 0000000..448b953 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/forms/boundfield.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8e/24/f4/54eac51cf0304d3258a05887aed8196d56bc931bfc3a30b003f26e512a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/forms/fields.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/forms/fields.pyi new file mode 120000 index 0000000..698c8c9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/forms/fields.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d0/5f/26/dd3a04caccd8346d1e074557f9481a601969960b7607540fa66540c9cd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/forms/forms.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/forms/forms.pyi new file mode 120000 index 0000000..5349395 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/forms/forms.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/50/70/76/61b1a8aa88c0f66bba987eef15c1f21538126bfcbb71372fee1da9176b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/forms/formsets.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/forms/formsets.pyi new file mode 120000 index 0000000..6fbb2b1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/forms/formsets.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3d/69/4a/18ae7822eee485535db7c9e4a859c01ef945d4b91908fb6dc54e634697 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/forms/models.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/forms/models.pyi new file mode 120000 index 0000000..0f008fd --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/forms/models.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/07/71/13/dcf8ec5012505946acc535c210e9a832c2fd10e7dd3530e7a5c864cefc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/forms/renderers.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/forms/renderers.pyi new file mode 120000 index 0000000..980d111 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/forms/renderers.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/19/2b/f7/6c842236d332d8dc4b316a99312a463504c9414ca020360279c378d6e1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/forms/utils.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/forms/utils.pyi new file mode 120000 index 0000000..279de08 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/forms/utils.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/32/0c/ce/eab3e51f6f4515bee7920fbb652418523bd0f769be82a892f9bab9676c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/forms/widgets.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/forms/widgets.pyi new file mode 120000 index 0000000..5d7c73a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/forms/widgets.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c4/ef/e8/3aa734d9168ad3ba95fa0d7b6ca058957c858664627ba36aadbe5eab4a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/http/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/http/__init__.pyi new file mode 120000 index 0000000..9d7745b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/http/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b6/95/c4/7d6e3c414127cce2d533d8255c8e8c2d7dd55fafdaf8399bce3221bc5d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/http/cookie.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/http/cookie.pyi new file mode 120000 index 0000000..b58a6ec --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/http/cookie.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6a/5c/a7/20e64c8fc76378d0a897ec76fe649478d52da0efacb5866b6e81031e74 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/http/multipartparser.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/http/multipartparser.pyi new file mode 120000 index 0000000..8ddd50f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/http/multipartparser.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b6/ae/27/06f64dfe649e342f36bab9e8d6dd89844280aa45ce3c7a67a392c88254 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/http/request.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/http/request.pyi new file mode 120000 index 0000000..2a68355 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/http/request.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/87/18/a4/25d21e8fa8e81b95bb99c8fa87be097b90efca72c1a5aa184f8be6c5f8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/http/response.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/http/response.pyi new file mode 120000 index 0000000..6ae203e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/http/response.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/26/95/9b/4e38578001a9eeaa2d1df51380744b5e8ab8f632fb6110cdaec8d18ba4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/middleware/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/middleware/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/middleware/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/middleware/cache.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/middleware/cache.pyi new file mode 120000 index 0000000..a4171dd --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/middleware/cache.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d9/e3/73/cb431e92f705891e765974357abd761a5dd93cd69840101eb274646963 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/middleware/clickjacking.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/middleware/clickjacking.pyi new file mode 120000 index 0000000..a19b977 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/middleware/clickjacking.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/29/c4/03/8a7385a713a726dfdb589a452e4df9d1c78670e0deae3177c5c7388048 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/middleware/common.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/middleware/common.pyi new file mode 120000 index 0000000..7267b17 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/middleware/common.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2a/63/7e/1be6c52e64a9a9b6585ca176ac25856f24f5b6118a29056c71f09d2c64 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/middleware/csrf.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/middleware/csrf.pyi new file mode 120000 index 0000000..39909b5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/middleware/csrf.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fa/3a/f7/c369617effd83c2ef8a8d599febf3e090f23689cfd014edce6d7b61460 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/middleware/gzip.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/middleware/gzip.pyi new file mode 120000 index 0000000..e3c4dfd --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/middleware/gzip.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/21/fe/fc/03b770fc82e09d2098d8bf30923345daaaa4ed290154ad7b580c55c7b4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/middleware/http.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/middleware/http.pyi new file mode 120000 index 0000000..c47f97e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/middleware/http.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/99/d6/8c/04f59a5aec23cf4838d34c35b793774e43462fd746f930a69a46c039dd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/middleware/locale.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/middleware/locale.pyi new file mode 120000 index 0000000..f7c9a2f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/middleware/locale.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b7/2a/7a/2b67e2d7ebc6eb88f41950920172822b3729ce6544d9b743ce87bc6deb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/middleware/security.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/middleware/security.pyi new file mode 120000 index 0000000..f32a754 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/middleware/security.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e1/e7/bb/c10811c62c293ffbf07c6e4833af13632086a553ee4d8130a7cba833cf \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/shortcuts.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/shortcuts.pyi new file mode 120000 index 0000000..7166952 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/shortcuts.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/59/1c/d6/5906ad0a738bdf2a7628b6751fa6f7e49f9eab71fa22993ae9803663ab \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/__init__.pyi new file mode 120000 index 0000000..2e235ab --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f3/b3/a6/972afb5cb8b9c7c6dbc5305bcb686d3d71a7efd7b2b736f68e0b9fd845 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/backends/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/backends/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/backends/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/backends/base.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/backends/base.pyi new file mode 120000 index 0000000..532cabb --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/backends/base.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/88/7c/3e/d31ae6eab4e9b428e6a7837b5446594521c419a7317ad710a2d315c815 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/backends/django.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/backends/django.pyi new file mode 120000 index 0000000..fd4e07b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/backends/django.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0e/cd/a6/2d66b90d08abc25caf732f52ccc4152436e2bafad5e63a58bd351bc1b0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/backends/dummy.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/backends/dummy.pyi new file mode 120000 index 0000000..9fa1cf2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/backends/dummy.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8e/15/00/6c9ec8d72e88e7a0c8ef5bba81e0e3767754267d45bb84643481a1ec00 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/backends/jinja2.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/backends/jinja2.pyi new file mode 120000 index 0000000..f3c0fa4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/backends/jinja2.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/44/ea/4c/846c6768d97159d625bd15a1bdd108152ec7431d5d07ec7f14d2b55ae4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/backends/utils.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/backends/utils.pyi new file mode 120000 index 0000000..d20d527 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/backends/utils.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/49/bc/24/d1b32ecc61c9aafae1383978ee0d07d27fcb88597b6183b08c71d61959 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/base.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/base.pyi new file mode 120000 index 0000000..9f9a055 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/base.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/79/1e/7d/d0aec1099b6c69bf92b6b770f23bb42ee7edf98c4597b8267bf83da6da \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/context.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/context.pyi new file mode 120000 index 0000000..3ade333 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/context.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/17/59/a0/92770128dfce786b833be751ddd66860a544da9c48a05bbb66701c2940 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/context_processors.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/context_processors.pyi new file mode 120000 index 0000000..67e2011 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/context_processors.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6c/c5/48/d771a0a1f6899d7c831d1823d3dc15c4cb74b00d43c5ac0caf3c00b507 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/defaultfilters.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/defaultfilters.pyi new file mode 120000 index 0000000..77714c5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/defaultfilters.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7c/53/41/73bb73dfd56c831a47bb9a4e1b22358728d0e38830a5290e6f119ee950 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/defaulttags.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/defaulttags.pyi new file mode 120000 index 0000000..76eafc2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/defaulttags.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/86/fc/63/90bfad46815383525e49c6c451e88c605e47ae70f0d97429378698d105 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/engine.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/engine.pyi new file mode 120000 index 0000000..6ac3723 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/engine.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7d/5c/6d/b79e8188e47e7cbc4666d605c2f243ff281882ef41872e48dfd73b41b3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/exceptions.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/exceptions.pyi new file mode 120000 index 0000000..d5945d5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/exceptions.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5c/a3/03/22719354bf59aff7b17e98bab52fb3962c01b8ae43c20da153d6700221 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/library.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/library.pyi new file mode 120000 index 0000000..7be8064 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/library.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c2/aa/43/ebe785bba087bab6811223b7eec446d9986691e6b5aefd08f5e4764ad0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/loader.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/loader.pyi new file mode 120000 index 0000000..7f772ca --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/loader.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f0/ee/bf/83fde1ff391156a0b939d05b1c6d0cbc870f3560ebdaab33a1b4443ec3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/loader_tags.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/loader_tags.pyi new file mode 120000 index 0000000..520941a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/loader_tags.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ba/13/ed/b2525dc053a1a9db16b53ce038f8131657bbadffde7900d59a6c050ae2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/loaders/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/loaders/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/loaders/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/loaders/app_directories.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/loaders/app_directories.pyi new file mode 120000 index 0000000..07d59b6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/loaders/app_directories.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b4/8a/c1/1fd11f7a9fbc1d817f99a2d57ca3e3f1e185ff1638671076d80999b0d2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/loaders/base.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/loaders/base.pyi new file mode 120000 index 0000000..8ea46c4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/loaders/base.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5c/d5/e2/864fd6bf18ab409db406910f419a9c3a6b3befcdfa68e2588c22f0325e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/loaders/cached.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/loaders/cached.pyi new file mode 120000 index 0000000..30d363a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/loaders/cached.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/59/13/af/b42b6457475ce3eea1d8a212037ccefe1ffbddea3689dd9bc51ccb8b3d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/loaders/filesystem.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/loaders/filesystem.pyi new file mode 120000 index 0000000..147c952 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/loaders/filesystem.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9f/77/38/790b624744415a4acf5c663c7e2ddb4538c43e53a7a44c1ac2c425a234 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/loaders/locmem.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/loaders/locmem.pyi new file mode 120000 index 0000000..39ee525 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/loaders/locmem.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ec/ff/d5/b2bd712dbffcb59e10c44145fb7d6ca2e4a2c8b1c7d1c2aa94473020f0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/response.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/response.pyi new file mode 120000 index 0000000..b047b94 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/response.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8f/51/65/d184894efa2cb405537e4318cbc836281f5894fdc305368064131d2db5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/smartif.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/smartif.pyi new file mode 120000 index 0000000..20d2fac --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/smartif.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3c/02/98/3315b843a258d25f132e6c11ec1f74c72f086273174dfedee80b6883fc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/utils.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/utils.pyi new file mode 120000 index 0000000..a6aae77 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/template/utils.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/91/e2/3b/057f289ca3cdc13ab3f4ed4eb2bd5193b662c8f227b503afb0f068f0eb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/templatetags/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/templatetags/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/templatetags/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/templatetags/cache.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/templatetags/cache.pyi new file mode 120000 index 0000000..f594f35 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/templatetags/cache.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bb/e4/82/b7e2f64654410fdc46fa955393085387027b78d6b34c89d91405c73d68 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/templatetags/i18n.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/templatetags/i18n.pyi new file mode 120000 index 0000000..64c1b3d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/templatetags/i18n.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/81/c6/bd/0d56e9ad31c9cc8197f8609cc445158980d87c7d741df7cbbb7c4af489 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/templatetags/l10n.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/templatetags/l10n.pyi new file mode 120000 index 0000000..198b88f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/templatetags/l10n.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f0/e5/78/5d2affacf34c84b3b3c55bb4d12cc2f551279ade0e4d166631946a0d97 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/templatetags/static.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/templatetags/static.pyi new file mode 120000 index 0000000..9bd44a6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/templatetags/static.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/71/44/3d/8881ca5d68095d8d9087d3355571600ff012c8d41b915938527c20ee8a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/templatetags/tz.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/templatetags/tz.pyi new file mode 120000 index 0000000..f552829 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/templatetags/tz.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/75/ad/6b/d38f9a074b35bf83d1e1dfd32ab79d5e9564651fa496e430d6ad3b57e5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/test/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/test/__init__.pyi new file mode 120000 index 0000000..2db5775 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/test/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/17/15/34/5ede30263d497f791d70bd25b7e76910350dd7015eecbb3232226f8e37 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/test/client.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/test/client.pyi new file mode 120000 index 0000000..495aa71 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/test/client.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/03/c7/70/1716ca735adf8deb29d8594e4fffd05d63d4d1a1013956479a4c8816c0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/test/html.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/test/html.pyi new file mode 120000 index 0000000..f7c22ca --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/test/html.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/93/e7/7b/5fe1c85e33d884fa40820650f4647a32f9011a1d57998e4f9f11a7b8e6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/test/runner.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/test/runner.pyi new file mode 120000 index 0000000..f0e669a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/test/runner.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d1/f3/b8/af2e6e0f0ea8fb0be7a018527fcb2708aea0779c9342ac3a6f54552637 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/test/selenium.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/test/selenium.pyi new file mode 120000 index 0000000..5085dd1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/test/selenium.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/08/a5/be/5e50fa494bbda4bcb152dea9f25e6e63337e46392b1aa9e38be0eea7b6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/test/signals.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/test/signals.pyi new file mode 120000 index 0000000..09975ff --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/test/signals.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c8/19/63/f617ddf5b683b3982dd31e9899d83d2f870eb6a3ded53460eb7557c4a9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/test/testcases.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/test/testcases.pyi new file mode 120000 index 0000000..bc65ac7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/test/testcases.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ad/43/0c/946d21686f25f5fadbd514602cc659b512ca115e5ad0902c2c96bb8ce5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/test/utils.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/test/utils.pyi new file mode 120000 index 0000000..985213a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/test/utils.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1a/62/8b/ff87c1b006bffed9f48171cf25e22ad4cb2250df6eb6a9bdb767ec27e1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/urls/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/urls/__init__.pyi new file mode 120000 index 0000000..51e31d0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/urls/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9d/02/c3/b8318aec59e34efdf9879a166871b1123ecb5314e95c798cd5b3d5d67d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/urls/base.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/urls/base.pyi new file mode 120000 index 0000000..ad92f9b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/urls/base.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/46/d4/00/a5cd605123e99c0c35826dc7aaf35a8bb9586f4937af6912eb070a324d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/urls/conf.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/urls/conf.pyi new file mode 120000 index 0000000..6b1a9c2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/urls/conf.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ef/01/f5/7ee956f2ff72665a84cb8c9015219f5739e33c93350c2e55f99892a046 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/urls/converters.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/urls/converters.pyi new file mode 120000 index 0000000..f37271e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/urls/converters.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fb/eb/e2/4b472776902accd7aeb25ed12ca05586cacf2283a29158264033711b17 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/urls/exceptions.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/urls/exceptions.pyi new file mode 120000 index 0000000..457314c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/urls/exceptions.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e1/45/6b/fcbe527b1218d68935ce174302ad6fd62cadee5d0d88374ebbb8b4ee58 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/urls/resolvers.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/urls/resolvers.pyi new file mode 120000 index 0000000..594c29b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/urls/resolvers.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/82/f2/8f/3730305a8d6413ec2f2c585693cdc2eea9b586cb85ec23cfcc2bfdca94 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/urls/utils.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/urls/utils.pyi new file mode 120000 index 0000000..efa2852 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/urls/utils.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/68/73/27/249ff22c845cd63141b2ec089d2d62d3bb20fd33424457e905d5658960 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/_os.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/_os.pyi new file mode 120000 index 0000000..9401d13 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/_os.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a3/fd/4e/930d87b8e71a3ab0fefd2cc72204950cd9814a19271b0a9de6e6adf29b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/archive.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/archive.pyi new file mode 120000 index 0000000..f1dcfed --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/archive.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b9/8b/5b/6867edf652ae3b97847cc0569e6397de50feceda29be03612d968fe103 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/autoreload.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/autoreload.pyi new file mode 120000 index 0000000..360cd9d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/autoreload.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0b/c2/87/6df83d9c6ca17db35ae7a4575cfd2fd6b94891352f630d73926bf76ce9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/baseconv.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/baseconv.pyi new file mode 120000 index 0000000..4977723 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/baseconv.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/33/2c/bd/2657d64c9dbd27c3b28aafaea6a6a0f957ec3c78378ecbaaec71d4f621 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/cache.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/cache.pyi new file mode 120000 index 0000000..f1208c0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/cache.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f6/cb/34/a01bc8b35fa0044c6356576bcabe21112a3049279075285580c65dba0b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/crypto.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/crypto.pyi new file mode 120000 index 0000000..378d2ed --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/crypto.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b9/c7/12/67f5ac99690243fe15e9241738977c3549f715dca39d46dc3f92b52345 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/datastructures.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/datastructures.pyi new file mode 120000 index 0000000..88f7a12 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/datastructures.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/09/4a/ae/3095028060a3795524dd04b1f6f55c663987289b20548dd58eab62d599 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/dateformat.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/dateformat.pyi new file mode 120000 index 0000000..7ab1ad5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/dateformat.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/28/b1/c1/421f5a5a02d859b7aac36922c906ae18d0e22a669d78c9a5b6274696b9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/dateparse.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/dateparse.pyi new file mode 120000 index 0000000..9a399c1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/dateparse.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3d/7f/1c/f1ede66be20e6a3f85d11ac11785d34d59e049f90634ab76e00332e2aa \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/dates.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/dates.pyi new file mode 120000 index 0000000..3e7e585 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/dates.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/78/30/d4/8bb67b1b7554f21ffaab867ade5ffb2f6ce073262e4c4df27fe192b7e2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/datetime_safe.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/datetime_safe.pyi new file mode 120000 index 0000000..a81e581 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/datetime_safe.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7d/74/09/771f73a9e7be25a73a761c9d59430abf3f09cd06272a1c0fb318839df6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/deconstruct.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/deconstruct.pyi new file mode 120000 index 0000000..194bf7e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/deconstruct.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e8/82/f7/796decd9abd711e184fe8256dccc60e87937dfcedebae15e9017876340 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/decorators.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/decorators.pyi new file mode 120000 index 0000000..4a4ab6e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/decorators.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/00/43/db/8cea50b491a93a3c2bae2fbac15da0cd422f359e44215255b1312eb219 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/deprecation.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/deprecation.pyi new file mode 120000 index 0000000..8d14c8b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/deprecation.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c8/61/58/cbf7f27f7efe629c9675a95801d417097f182d508e82ef25415541c699 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/duration.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/duration.pyi new file mode 120000 index 0000000..4e62bdd --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/duration.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5b/cb/da/a5f44ec82128afbc1180f768a98edca4b83c90512a880287aa31187d49 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/encoding.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/encoding.pyi new file mode 120000 index 0000000..b3f6468 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/encoding.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7b/ef/c3/e5955470328beb25c36dc8f50695eca2f99f88ea206fd8a84f58f4be5d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/feedgenerator.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/feedgenerator.pyi new file mode 120000 index 0000000..c93c3ca --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/feedgenerator.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7f/17/f9/cfbe07a07b8a17f5b55d53b11ccb3555b6c3db7dc61cdd68da990c97af \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/formats.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/formats.pyi new file mode 120000 index 0000000..8b945fd --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/formats.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/58/b9/2e/7900da0761a0d8c4dbfd2c67164a50a51e3d3baa2069910a872d891854 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/functional.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/functional.pyi new file mode 120000 index 0000000..d01ed92 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/functional.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fe/4f/34/d8afb112d51c10506b1f4f52c6c87fece6d9000455175d9400c1aa92e8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/hashable.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/hashable.pyi new file mode 120000 index 0000000..c0f0ca5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/hashable.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/97/6e/71/15cb493e0e7497a635dbd6ef74014973c42a79f917c78d1a9b2e8b9215 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/html.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/html.pyi new file mode 120000 index 0000000..2b38bd7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/html.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b9/11/d3/6d239f1b7946da9c12e4274ac119a77c00b60d2806ed4a1692b5d94453 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/http.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/http.pyi new file mode 120000 index 0000000..206a2fc --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/http.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cd/40/b3/eda9cc6f23d6212a78e7c18f8374df9c4ea27a11a7d4b3c1b0f13aaeed \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/inspect.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/inspect.pyi new file mode 120000 index 0000000..685edf8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/inspect.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e2/27/e7/c87d76492ab2d8ecea524b89c6f1464e48a2adb94fb787a8d57bbc1b22 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/ipv6.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/ipv6.pyi new file mode 120000 index 0000000..8223412 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/ipv6.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fd/52/ee/b17ec689635f7db7834ea77f8e724f39dc72552d7bf4316e07ad428e10 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/itercompat.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/itercompat.pyi new file mode 120000 index 0000000..16a0a36 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/itercompat.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/52/9c/4d/931bb3ce05f0ac17d1a9ec3ff13e43e6dc79581b024cff77dee1951f02 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/jslex.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/jslex.pyi new file mode 120000 index 0000000..2897cda --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/jslex.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fd/1d/ec/b7cf39d65100fec512e62fca9de7217be64fac2b6922c06dcc54194bf5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/log.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/log.pyi new file mode 120000 index 0000000..10dd8e7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/log.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c9/53/17/fda1039e8713c7a3e9260a6f38b56a0fe702981cfdf839c50e99797242 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/lorem_ipsum.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/lorem_ipsum.pyi new file mode 120000 index 0000000..0401b7c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/lorem_ipsum.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/84/cd/3b/363fd08a94c54a148fecfae143197002561c81c1291f7bd7445fe0cdc0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/module_loading.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/module_loading.pyi new file mode 120000 index 0000000..1077e74 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/module_loading.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b1/de/b0/152ae1cef1e6eb8f25827bdf75c9a44773c2f123c2f76e6b3fcdc3364c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/numberformat.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/numberformat.pyi new file mode 120000 index 0000000..ab06007 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/numberformat.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b4/6a/bf/6809ab7ff96459d6785d43257f88740d4b5cd7ce5bc1f80979f697624c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/regex_helper.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/regex_helper.pyi new file mode 120000 index 0000000..146888f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/regex_helper.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/44/41/60/bdff0762713e5ec89ea6f3cb8ddd876723169542430b620bb540d2d16b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/safestring.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/safestring.pyi new file mode 120000 index 0000000..214381b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/safestring.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1b/88/c2/6a20c3bfb81bef96fda4915530e55165f9c409a0e4d09627f23666c5a8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/six.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/six.pyi new file mode 120000 index 0000000..7ed1b6f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/six.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7c/6c/2d/2466e43ee955ee9cea11e01d83356feb3da60e216d82d8a8b3ab56cd2e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/termcolors.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/termcolors.pyi new file mode 120000 index 0000000..345c796 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/termcolors.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/82/a0/8d/d1eb734a31bc6cddb52bf8f5775270d146a5b8fae51339eac77e9b19e9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/text.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/text.pyi new file mode 120000 index 0000000..c76c883 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/text.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/65/b9/a4/a72480e4235d3caa2b0cd9b95878749f485c17ba69f2f23fdf9cf6070e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/timesince.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/timesince.pyi new file mode 120000 index 0000000..49e1bba --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/timesince.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ee/ac/04/84858441e2a4ef527ca50273afb40296382046d0c712cf3e1948a22ce5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/timezone.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/timezone.pyi new file mode 120000 index 0000000..6ac2978 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/timezone.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4b/a7/d5/f146fe819b90cc83d6c7b45296e8238dc59014325594fc459eadbcd2d1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/topological_sort.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/topological_sort.pyi new file mode 120000 index 0000000..fe7332a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/topological_sort.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bd/ac/52/95e4a6eab2746b15bf6e875145703a6bcdb4e7a031a65c4bee16ddc136 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/translation/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/translation/__init__.pyi new file mode 120000 index 0000000..542e30e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/translation/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5d/bf/2e/1bbf74a08ce5813a2bfc2ce9b68eced68dec965b3e61bd6044aab316f7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/translation/reloader.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/translation/reloader.pyi new file mode 120000 index 0000000..c99acd7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/translation/reloader.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5b/2b/0e/51372fe262dca37522cdc997743e489be1eb0fc9eb072ef503fdcf85df \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/translation/template.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/translation/template.pyi new file mode 120000 index 0000000..5948330 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/translation/template.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1f/8c/83/0a711f10c154138388320d452589fd72f8f909b411bf5cdea244dee906 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/translation/trans_null.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/translation/trans_null.pyi new file mode 120000 index 0000000..43c98a6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/translation/trans_null.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c7/b4/63/03321cb538463ac83a64a1343693ba7a42a99754e0b02c5aa29f46f3ae \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/translation/trans_real.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/translation/trans_real.pyi new file mode 120000 index 0000000..7766dd0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/translation/trans_real.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b9/72/b9/de0890cb3ea11395ac24f0429017a9663c3d2e3c61c21aa4ecc2d8a3f2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/tree.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/tree.pyi new file mode 120000 index 0000000..f459ee7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/tree.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b1/1d/49/d2d2736481a86cdbbcf97889daaafde1297088cd7ae2c17c943e7ef1a1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/version.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/version.pyi new file mode 120000 index 0000000..11ed992 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/version.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/93/00/e0/1f3bc6f8f5b91acfb6721f254ddb8b22dca8e1ab056b9d3d60e41dd790 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/xmlutils.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/xmlutils.pyi new file mode 120000 index 0000000..e717664 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/utils/xmlutils.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c0/63/92/92cbc55fbc1de9d97b628cfcdfa684c99f83ea3c62e11f6405a69e12d6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/__init__.pyi new file mode 120000 index 0000000..5e0ab2b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6a/ae/c7/327395ae2b1bbdf4ae18446c82113c51b433c86909abe4295344dcbfdc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/csrf.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/csrf.pyi new file mode 120000 index 0000000..135bc8d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/csrf.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/21/65/1d/0c28898f255f1991e93747c71fa9eeef262655b5f20ef5a0f8179adb76 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/debug.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/debug.pyi new file mode 120000 index 0000000..b9fbb8e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/debug.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e2/81/a6/b550e40e36bfc9976a0e67e95c647bf949dcc18dbc9ec62ff69a2c9ab6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/decorators/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/decorators/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/decorators/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/decorators/cache.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/decorators/cache.pyi new file mode 120000 index 0000000..c3cd670 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/decorators/cache.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1c/d2/01/72790b2053952a48650fa34217c857dcc58606bea9725bf6eedcbed4b6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/decorators/clickjacking.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/decorators/clickjacking.pyi new file mode 120000 index 0000000..edc971e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/decorators/clickjacking.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3a/4f/69/aa3c238b6a51ed640f2ed6750ab46ed16f5a85dc9bf8968fe9ce30ab97 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/decorators/csrf.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/decorators/csrf.pyi new file mode 120000 index 0000000..48a277e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/decorators/csrf.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/01/62/e3/9bab3968223942753de896c7e98e5467132b9a9636dbbc8b0ead237fbf \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/decorators/debug.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/decorators/debug.pyi new file mode 120000 index 0000000..433b0ba --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/decorators/debug.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c1/9d/58/27574aced910eb0777103d06e86e25e16b87491700072e6a3a5985602a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/decorators/gzip.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/decorators/gzip.pyi new file mode 120000 index 0000000..0fa8989 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/decorators/gzip.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5e/37/39/4b4b27bcda00a56f49a6f4905211b2a6c8e809413c6c2d07c1a55d2f89 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/decorators/http.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/decorators/http.pyi new file mode 120000 index 0000000..9916353 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/decorators/http.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/65/32/7f/94b5ae5c87675fcd32d4e036df43bc7a9e74a719526b669c6b3bfed60c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/decorators/vary.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/decorators/vary.pyi new file mode 120000 index 0000000..84a2f37 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/decorators/vary.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c8/a6/1e/5ba15ae0cfdb6ce614d1ebcd78c4bfd25cbef59089a279640ff56a8514 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/defaults.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/defaults.pyi new file mode 120000 index 0000000..2974bcd --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/defaults.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/aa/72/82/009d2030d97bcb40dbc904435439b45a747b896848005660b082d542a6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/generic/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/generic/__init__.pyi new file mode 120000 index 0000000..cf73a6b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/generic/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/44/cc/ec/e61d3b6efe747ed2e7452627ad63895e4b61ecf4f2539a1d9f4182c3af \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/generic/base.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/generic/base.pyi new file mode 120000 index 0000000..02b44ec --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/generic/base.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/11/c7/d9/04b25dfc4ff292dc398fc61878228ee0e29d3a763c3e7b3bc7d5d3d812 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/generic/dates.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/generic/dates.pyi new file mode 120000 index 0000000..0536ddf --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/generic/dates.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b1/5d/c6/437e5f2420e1e48d7dcd515092f107864214795c87a90f540514415513 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/generic/detail.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/generic/detail.pyi new file mode 120000 index 0000000..1a49779 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/generic/detail.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3c/d9/d8/2f57bb2c9c58afbd7023ddefd24bb07eb6bc60638766f0fafb5c08a1d0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/generic/edit.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/generic/edit.pyi new file mode 120000 index 0000000..95299ba --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/generic/edit.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fa/78/1f/48438292b7ae51e5345dc2fdb3578d5a764794fc3a565c5d518be2c791 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/generic/list.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/generic/list.pyi new file mode 120000 index 0000000..b983f2c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/generic/list.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f8/78/fe/382270e818265c5b1480d1d225f79e102ae9caa6c15928522f125abde5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/i18n.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/i18n.pyi new file mode 120000 index 0000000..13f7416 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/i18n.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b8/bf/b2/098a87c841647cbd877bf513b7f3a7067a26f1396a840aaebf131dd527 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/static.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/static.pyi new file mode 120000 index 0000000..103b7a6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/django-stubs/django-stubs/views/static.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b5/7d/00/0ee94d7f6621e9f2612a1e8f492f5af00b00b758228c032eda27a184ff \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/LICENSE b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/LICENSE new file mode 120000 index 0000000..69bfe7e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b4/1b/78/f562a2e65b75cab44354335f6f435d4ef73065509600ac910cf4e22fe0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/BaseHTTPServer.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/BaseHTTPServer.pyi new file mode 120000 index 0000000..6dea860 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/BaseHTTPServer.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d1/52/60/139f3537e238c48c9c3375dd640dc083d7b976ed16dadcd6c16bee3e36 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/CGIHTTPServer.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/CGIHTTPServer.pyi new file mode 120000 index 0000000..703060d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/CGIHTTPServer.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a6/fe/57/6f7b9d29aecd5ce2dedcc23ffdbff33fa6b4c2662e1663983ff37792e7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/ConfigParser.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/ConfigParser.pyi new file mode 120000 index 0000000..a5591e5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/ConfigParser.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/94/59/ad/28d4df20b70784846056edfe7748ca85a06d8201a6f6a4a3aa62011fe4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/Cookie.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/Cookie.pyi new file mode 120000 index 0000000..efc4e02 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/Cookie.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/29/ef/e2/53dbd144714c909adb7a7f60c572ecb379d34746f0e593ef37f69b61d7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/HTMLParser.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/HTMLParser.pyi new file mode 120000 index 0000000..d523953 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/HTMLParser.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e2/65/7e/b60b307851e3547e9515547aa70c6c509b7c4edb33ab829ade0b5238f0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/Queue.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/Queue.pyi new file mode 120000 index 0000000..b9af352 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/Queue.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8d/5b/fe/021aa69f6482ef8f2effeeb551e45cacae1c4178906e6e65560c420de3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/SimpleHTTPServer.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/SimpleHTTPServer.pyi new file mode 120000 index 0000000..349fef3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/SimpleHTTPServer.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/92/07/dd/6864ef06bc39d790b6b4a80f33a3c11b5bf1f14ca6df479d47d8559e85 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/SocketServer.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/SocketServer.pyi new file mode 120000 index 0000000..2a3a992 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/SocketServer.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e1/5e/cd/1f04a7ea300f6af46dcf5c3c6c1c0f34d5ef18bd36518400966e9b03e7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/StringIO.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/StringIO.pyi new file mode 120000 index 0000000..2cee221 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/StringIO.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/18/1a/9d/f9ce33db9cbdf6849455cb04321f7c2e832bbaed5939bd0013950eb739 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/UserDict.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/UserDict.pyi new file mode 120000 index 0000000..ab7098f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/UserDict.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/87/49/a2/2d1063cd103a2cbfac7d584de6520dd7d0234e845a07286e78dad5c684 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/UserList.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/UserList.pyi new file mode 120000 index 0000000..5db72de --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/UserList.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/68/3c/4c/af9ca10873d94fe49a7006268eee71682aae1e2d4d93fcffad946f1cdf \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/UserString.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/UserString.pyi new file mode 120000 index 0000000..4d54589 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/UserString.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/df/7f/75/85cfe81b0dc514f5f5ce53db8a5e465596ea2aa94b6c6ba9fb4f019cb1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/__builtin__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/__builtin__.pyi new file mode 120000 index 0000000..324e462 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/__builtin__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f8/2a/9b/c5999d69cc046f0a11bb26cb6ac96eaeef52f3049269611fab9ed97d4f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/_ast.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/_ast.pyi new file mode 120000 index 0000000..0b706d9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/_ast.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/df/a3/30/33bcc8630496870e06dac2ed77e2fc23d84066cde5504c389ff27cf1ae \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/_collections.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/_collections.pyi new file mode 120000 index 0000000..bb84299 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/_collections.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/70/ca/81/5ca02bd68ea476a0ccf1191935c94576e874b3e400bfe8d49a95181dcd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/_functools.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/_functools.pyi new file mode 120000 index 0000000..a722c2f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/_functools.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ac/3c/48/b9dfe13bad66ee452aaefa64253e26c288b23af4f1a8c7a33a36399e13 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/_hotshot.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/_hotshot.pyi new file mode 120000 index 0000000..355ebf9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/_hotshot.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7d/f5/65/dcfd42fab7cde4337ab26c330c60cea143446ac98d92b30aa399a74db7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/_io.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/_io.pyi new file mode 120000 index 0000000..f18fe91 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/_io.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/26/84/1e/4bcb85e8dcf4cb3fea6c51e29c8e586ab70c3e5edf916a56bf9687c2d4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/_json.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/_json.pyi new file mode 120000 index 0000000..0784f19 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/_json.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/54/60/ff/3433dadf4486cc7675ee12a68270a4f7502119e38ffe4969ac8900a62a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/_md5.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/_md5.pyi new file mode 120000 index 0000000..048efbf --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/_md5.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a4/6a/b0/6f4d5afd17123f541113c5ed54f07444a6a824e1ae45d564ea9c2f11a8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/_sha.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/_sha.pyi new file mode 120000 index 0000000..c5004b4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/_sha.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/df/61/77/fc4da71a9973b45b62d1fc791b07cfaa86cb8b2836aed4cb1e8a5f0b0e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/_sha256.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/_sha256.pyi new file mode 120000 index 0000000..c170da4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/_sha256.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d5/9e/60/e302ce2fdfb3ea06ac6a5da432805bef20473c930548280fb6cfc64d13 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/_sha512.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/_sha512.pyi new file mode 120000 index 0000000..8d27b11 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/_sha512.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e8/0c/8e/10b956fe80ee78ff62f32be2ae1b7405d24ed22b4dc7df9d7ae31809e0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/_socket.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/_socket.pyi new file mode 120000 index 0000000..b9e9a08 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/_socket.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c1/5b/af/1f5b4c3ea8cf7bcf5b1bba6656cb9a5d925f49dbf0e2a5910fd81e4015 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/_sre.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/_sre.pyi new file mode 120000 index 0000000..ce2129b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/_sre.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/99/c7/24/fe08a827c47e578716ef2ec6b82b8e8a181f29319c3fc45257f78eea5f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/_struct.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/_struct.pyi new file mode 120000 index 0000000..24571a5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/_struct.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/70/0b/88/22aeb683a3c9b0bfc6e73d7a8f8bf96931aa60333a8faf64c9170f22c3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/_symtable.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/_symtable.pyi new file mode 120000 index 0000000..69dba49 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/_symtable.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2c/b7/94/62d2648ff1019a4a7049f7e7a29c18fe5b0fa68a73bccfa45d03b083f2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/_threading_local.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/_threading_local.pyi new file mode 120000 index 0000000..db7f008 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/_threading_local.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d7/2f/16/4d038cc8157a700d016516e6d10edb0ed08372222ca67b8ac181d3addf \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/_winreg.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/_winreg.pyi new file mode 120000 index 0000000..8d25bf1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/_winreg.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e1/0e/b4/6789cbc6e5108b52d16c100a29d00ecb422be5bfb6064f910e1618b14f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/abc.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/abc.pyi new file mode 120000 index 0000000..01564ad --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/abc.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b7/34/1d/d4af3929940187b6f896e945c2445cd868ad47bba9963e6da0d209b020 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/ast.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/ast.pyi new file mode 120000 index 0000000..01bb1c4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/ast.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7e/45/48/baae8588c354dd53159d99adb53b78f8e2d9f827cd32819ec560992e1d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/atexit.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/atexit.pyi new file mode 120000 index 0000000..dfa9f78 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/atexit.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/67/1e/27/5f55b2142fd70cfd8fa75ee55eb30c2626828c2badd1558782d5d60689 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/builtins.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/builtins.pyi new file mode 120000 index 0000000..324e462 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/builtins.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f8/2a/9b/c5999d69cc046f0a11bb26cb6ac96eaeef52f3049269611fab9ed97d4f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/cPickle.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/cPickle.pyi new file mode 120000 index 0000000..307f782 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/cPickle.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/15/1e/cc/ab782e82bd984165744e01e4ac4d1ef9480407b3ab9253a53a0ebabdd7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/cStringIO.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/cStringIO.pyi new file mode 120000 index 0000000..48908ab --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/cStringIO.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3d/04/35/7524939558be35397c42fd082b06004f29c9b8bcf5e20e9bdbb0b41beb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/collections.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/collections.pyi new file mode 120000 index 0000000..add4cb0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/collections.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e6/9b/0d/a7d5a036d2279c32b6f9c866927cbff4d91071b1bb4de16c4190a25fa7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/commands.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/commands.pyi new file mode 120000 index 0000000..64aeeed --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/commands.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9c/6b/12/f7fe66a98819a88c7e83e034790e1577d5905afa79dc5bfc3c4a407a27 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/compileall.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/compileall.pyi new file mode 120000 index 0000000..db93a69 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/compileall.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/83/1d/ab/39cb78c238d3ad7f296eb774651dc23cd8909233f5390d4b0110c87edc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/cookielib.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/cookielib.pyi new file mode 120000 index 0000000..f81bbd7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/cookielib.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7f/7c/8c/1e5b0dd222bba2a1a11940f6ff49441f0de6963434d22b5737a4fa4308 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/copy_reg.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/copy_reg.pyi new file mode 120000 index 0000000..ca6df21 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/copy_reg.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f8/69/92/22e75ec20e316e56572d2bc4ae1a6e9c0322d5bb2a7505045ee8e91652 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/dircache.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/dircache.pyi new file mode 120000 index 0000000..c62f5cc --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/dircache.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/70/ea/89/86696fabb565f7615459c7d0197eda79db208c23983d3bb2644283daea \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/archive_util.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/archive_util.pyi new file mode 120000 index 0000000..0307e15 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/archive_util.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/59/a5/2e/df65d40acb65038cc4d164be3ef03d505d26772b838036d965dd4b3740 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/bcppcompiler.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/bcppcompiler.pyi new file mode 120000 index 0000000..b0f09b1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/bcppcompiler.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7e/07/b6/70c6c6e23a7efa8d08db335cc32921db8b49599b64ea57908001f6349c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/ccompiler.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/ccompiler.pyi new file mode 120000 index 0000000..0c6b7d6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/ccompiler.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/37/7f/30/606e35472884ba8c31fd9be9648a95559622cf53467061c70c9f4c6d6b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/cmd.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/cmd.pyi new file mode 120000 index 0000000..cafc8d7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/cmd.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4b/2c/15/87fa23eee028d6d98c8f2b4869f70b08931f02d3051597bd437bc0e988 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/bdist.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/bdist.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/bdist.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/bdist_dumb.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/bdist_dumb.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/bdist_dumb.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/bdist_msi.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/bdist_msi.pyi new file mode 120000 index 0000000..7e1e8fb --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/bdist_msi.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b0/34/aa/1fb4d170e8970b94b8557c49fd81c1f9614fa5ad5fa3c17c8395de5776 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/bdist_packager.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/bdist_packager.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/bdist_packager.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/bdist_rpm.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/bdist_rpm.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/bdist_rpm.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/bdist_wininst.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/bdist_wininst.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/bdist_wininst.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/build.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/build.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/build.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/build_clib.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/build_clib.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/build_clib.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/build_ext.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/build_ext.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/build_ext.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/build_py.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/build_py.pyi new file mode 120000 index 0000000..5b86731 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/build_py.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cf/89/bd/454e8f203faa6a533b8f3bdcda6216330934b1a7337849aaabdaa5787d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/build_scripts.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/build_scripts.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/build_scripts.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/check.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/check.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/check.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/clean.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/clean.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/clean.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/config.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/config.pyi new file mode 120000 index 0000000..a94796f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/config.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0d/5d/68/308ced543764e3a5b8dc71a2a0ffe7e9bdf1f45812aaf16bdabc0f5686 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/install.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/install.pyi new file mode 120000 index 0000000..9b69c7b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/install.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/04/2b/f5/2db7bee801f1b5a1ee84819dde73ad37e79f466648fb1be9c7029de059 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/install_data.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/install_data.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/install_data.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/install_egg_info.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/install_egg_info.pyi new file mode 120000 index 0000000..9ffb2de --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/install_egg_info.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/59/c9/cb/c9c352496499f19fef1c8a21bb4fb7a8a9c28a1daaa0968604fb634066 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/install_headers.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/install_headers.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/install_headers.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/install_lib.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/install_lib.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/install_lib.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/install_scripts.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/install_scripts.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/install_scripts.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/register.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/register.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/register.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/sdist.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/sdist.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/sdist.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/upload.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/upload.pyi new file mode 120000 index 0000000..f281179 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/command/upload.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4a/fe/ed/0690a73b32274f3f6756165ea3a59acf86eb5f53ed4b9d462b340dc0e5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/config.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/config.pyi new file mode 120000 index 0000000..bbbca16 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/config.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/33/86/fd/ffb3cab0eef80e1b08045a13001e48f7d857ae5049723c60856848f2f7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/core.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/core.pyi new file mode 120000 index 0000000..657214e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/core.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/96/ad/52/f2546a786a8ae94df3eff52c560d9347bc5bc7b6766172747a4228f559 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/cygwinccompiler.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/cygwinccompiler.pyi new file mode 120000 index 0000000..18964b6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/cygwinccompiler.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/63/ba/a1/54ea97ae43d3d32c909ee74d0ad4f30580b69734b7f07079321e39cc42 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/debug.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/debug.pyi new file mode 120000 index 0000000..5c1014c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/debug.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ef/fc/ee/ae2501a876dceb6c7bb4238dabb2d05cbb8afe109a04ad256a84771de6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/dep_util.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/dep_util.pyi new file mode 120000 index 0000000..19b547e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/dep_util.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/40/28/5e/1c40c5ef0688485e36fda6ae9aabd5388713c3eca1e5ee7e09b3ef436a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/dir_util.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/dir_util.pyi new file mode 120000 index 0000000..5b5492c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/dir_util.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d2/71/ee/2c2a99dfa82f0d5685e8fa02efafc9382defe8fff7d747856ae5b56433 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/dist.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/dist.pyi new file mode 120000 index 0000000..1d91d92 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/dist.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0e/d4/83/2825cce94b179e837bce9b7fbf18ce80b26ef2a785636441730681f113 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/emxccompiler.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/emxccompiler.pyi new file mode 120000 index 0000000..4b970a1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/emxccompiler.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/17/11/e3/17be6b31c04d478a1d7c0c9f6db6b24d713edad7db0241ed2b11a0607c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/errors.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/errors.pyi new file mode 120000 index 0000000..69a7f66 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/errors.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/97/55/bf/160a0ff4bf83fa110f140d81cd9bb26e3374955e16057974549fa4ec9f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/extension.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/extension.pyi new file mode 120000 index 0000000..4bc5226 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/extension.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b6/c2/0e/0118957460dcbec9f1545c416bcd22c9d7e8c7f06de841aa949b0bee45 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/fancy_getopt.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/fancy_getopt.pyi new file mode 120000 index 0000000..802f834 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/fancy_getopt.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6a/2f/b4/13cdc79d339c60258ef73ab8b4356f9de7f4e12451a1af85f1b6aca3fa \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/file_util.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/file_util.pyi new file mode 120000 index 0000000..f090624 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/file_util.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/44/5a/62/8b35cc76185c8e2f7ca48b1c7c75b8afa8bd28bcccd83d79800ebf7a8c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/filelist.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/filelist.pyi new file mode 120000 index 0000000..ad5c810 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/filelist.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f9/67/98/1452ac1145233ef6f37996d508e2a43d5fa8a9cdd1a19bcdd9207554e1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/log.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/log.pyi new file mode 120000 index 0000000..f5bdb7d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/log.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f6/fb/d0/5517abfbff92e65715ece1c5d4fb6bd4dde7a632afcd355745e4a964a0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/msvccompiler.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/msvccompiler.pyi new file mode 120000 index 0000000..38f5205 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/msvccompiler.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a9/02/eb/dba9ac7e18f3fa8989bad59c4478a4dec84b875088b7b0832378c17772 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/spawn.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/spawn.pyi new file mode 120000 index 0000000..44d9670 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/spawn.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/88/37/62/d96bd24fdc9e14394a5b2d169727bec7aed6f9a8799ed6bb12e456d96e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/sysconfig.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/sysconfig.pyi new file mode 120000 index 0000000..0eb568e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/sysconfig.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/15/27/41/a124ec56f2801790f6964581c311f5e687247c566fe8bd3a9ab81e01bd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/text_file.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/text_file.pyi new file mode 120000 index 0000000..7e153a3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/text_file.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bc/24/0b/c208036a8700aaa47bbf55898ce792ff0831aa3239c43932c47265cdcc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/unixccompiler.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/unixccompiler.pyi new file mode 120000 index 0000000..bf23640 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/unixccompiler.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/47/75/4a/95d49f14f20f3c887281eab4284a61b53a748315332e8387774428596f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/util.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/util.pyi new file mode 120000 index 0000000..4036f9f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/util.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/29/2a/57/f2b43aa895ea4e824129dc219697be8ddd5041c69c83bc2c1ffe9d297a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/version.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/version.pyi new file mode 120000 index 0000000..26e6b5e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/distutils/version.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3d/4e/c6/29b325d62be04ca54ae788c1d9f808b9faff8430948338d8c8d5edfb81 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/dummy_thread.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/dummy_thread.pyi new file mode 120000 index 0000000..67bec8b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/dummy_thread.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ef/9e/42/cba017c84a37468c18934a509b92399a4008137c90ae45889a7ae51ce0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/MIMEText.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/MIMEText.pyi new file mode 120000 index 0000000..807a82f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/MIMEText.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e0/78/ef/d5ff8b670a23fa28677666d0347770a633b2eb050e268292fdac4998da \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/__init__.pyi new file mode 120000 index 0000000..00a1837 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/89/40/ef/eadb54d6a4f7e7d78e02e6c6d49b71366ac91aef10c47fda5cfbcecfdc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/_parseaddr.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/_parseaddr.pyi new file mode 120000 index 0000000..8a54ddd --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/_parseaddr.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a2/a1/9a/51fd7759900b4aaedcc942d9d1cffa8852a31fcadd9c07c0926eb2dc7c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/base64mime.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/base64mime.pyi new file mode 120000 index 0000000..98e1c5d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/base64mime.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/41/bd/50/e0d1c86d224e72c67cbd406a68f4feb3a956a63f980f5908f4323a5dfa \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/charset.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/charset.pyi new file mode 120000 index 0000000..fa660ae --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/charset.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/55/51/14/3937b55d9f36e3e16106e201ad2081d7a84c027435620b1ebb736873f4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/encoders.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/encoders.pyi new file mode 120000 index 0000000..43d3dcc --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/encoders.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b3/c9/10/139006d70be1d21d2a6cd9f7fc0b3a13161071c55d83a071d8f286bbc1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/feedparser.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/feedparser.pyi new file mode 120000 index 0000000..3484ced --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/feedparser.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/70/a2/df/84a6e8c59789c5c787e5efdbae84896436b8b5e32efd926f6518511105 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/generator.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/generator.pyi new file mode 120000 index 0000000..055a1e0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/generator.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4c/e0/05/53809bd3f6b7122b4c4fad89586b5ca06baf82b7ca95b5a93409b012e0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/header.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/header.pyi new file mode 120000 index 0000000..3b0622f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/header.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b0/29/3f/31f5a5e4ffdb739bfddf4d92b9b5f486a80e0ed96926c9cf6fa87e782f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/iterators.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/iterators.pyi new file mode 120000 index 0000000..192867d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/iterators.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bc/fa/b9/78917c1c1c05435852fbe9e2126bab4a5e31e3660ead4eb94f12a4d097 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/message.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/message.pyi new file mode 120000 index 0000000..228d72f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/message.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/33/75/f3/41b7638b593cfe1ca0b7cf29ae2c04309a962918b142c378a832e67de5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/mime/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/mime/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/mime/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/mime/application.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/mime/application.pyi new file mode 120000 index 0000000..33e067e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/mime/application.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ce/5c/f0/ba6335ea2a4f7839c3812d75034873209d4b11e8312fb834f88ddd496c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/mime/audio.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/mime/audio.pyi new file mode 120000 index 0000000..635f7e3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/mime/audio.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/19/8b/73/1a20b67531d33c3dc29b7b8852504043fdb934ad81b1b6dcb836cb6625 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/mime/base.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/mime/base.pyi new file mode 120000 index 0000000..12d5f1f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/mime/base.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/94/6d/51/7bfc511ec6b0e164549cb8752729de6f833a9bc931a9ad0d51fc2e38d8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/mime/image.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/mime/image.pyi new file mode 120000 index 0000000..061c191 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/mime/image.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f8/75/5a/f24ea3b3ff7eb06b798c5836485f948d9e9c2cfe774fd1af448548eb7b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/mime/message.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/mime/message.pyi new file mode 120000 index 0000000..f3b5cf1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/mime/message.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3b/02/63/11489e8e4d9b73d146aa06efcfc43a660432020f60a618435cfc97b0b5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/mime/multipart.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/mime/multipart.pyi new file mode 120000 index 0000000..0355230 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/mime/multipart.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d6/94/d2/2b9954e8be40246e47df93d3210b47608a653288a96bb2a477f9bd1cd4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/mime/nonmultipart.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/mime/nonmultipart.pyi new file mode 120000 index 0000000..e6e182f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/mime/nonmultipart.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0b/d5/9c/cb2c02cd0aa42fd30fa529561e00a198fd38af4aeb595c375654951d0a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/mime/text.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/mime/text.pyi new file mode 120000 index 0000000..807a82f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/mime/text.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e0/78/ef/d5ff8b670a23fa28677666d0347770a633b2eb050e268292fdac4998da \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/parser.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/parser.pyi new file mode 120000 index 0000000..64410fe --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/parser.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f5/00/a1/97b82c9b428fc191d4632e6d47f9199264297529f10b0b994e7a7d71ea \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/quoprimime.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/quoprimime.pyi new file mode 120000 index 0000000..9b69df9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/quoprimime.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/65/12/73/1e2fb716ccdf6bc9d1a73e84a46619752a4bc867382b7a71af5bb23140 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/utils.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/utils.pyi new file mode 120000 index 0000000..0c07739 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/email/utils.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/66/79/b8/6f82266afac9af019cffa3dc06aca1aa8df321ba8373b8124bfe8d534c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/encodings/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/encodings/__init__.pyi new file mode 120000 index 0000000..e213006 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/encodings/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ab/de/44/ab0f94d9820288f6b03326ab5f2d625825eccf5c15ffbf7765283fe1e9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/encodings/utf_8.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/encodings/utf_8.pyi new file mode 120000 index 0000000..da47fc0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/encodings/utf_8.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b6/00/9d/357f1eb4941661698e60021984af257189bf2a7ebb93294a269d12814a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/exceptions.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/exceptions.pyi new file mode 120000 index 0000000..4d91fd0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/exceptions.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8b/70/2f/44ce8eb20f6bfeae68bad438867ec23acd1fca1b098b3487e4cef61bb9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/fcntl.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/fcntl.pyi new file mode 120000 index 0000000..b84a939 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/fcntl.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e0/0f/35/31de184c4b7bd5416b2560fc1383e9ee24063225cde60790d7e004b80e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/fnmatch.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/fnmatch.pyi new file mode 120000 index 0000000..34ce07c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/fnmatch.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f2/48/08/f99651d25840192b9093433492dddc62b611c76f5bc21220f444af2dbb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/functools.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/functools.pyi new file mode 120000 index 0000000..239f91c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/functools.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b7/fc/66/90d84b965bd14911bee57d6e3fdb16f881e09009ecf2db34b932e596bc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/future_builtins.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/future_builtins.pyi new file mode 120000 index 0000000..0c000eb --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/future_builtins.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/be/45/58/6947a2eb7f9726a4a70c32e7ecac245322e95706cfd356464d15a5c927 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/gc.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/gc.pyi new file mode 120000 index 0000000..c097cd3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/gc.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e4/b7/e9/cf90b7283ca8719f2a10a9dc57e9af7f5f7603edf194c328747c15162e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/getopt.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/getopt.pyi new file mode 120000 index 0000000..d344888 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/getopt.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ea/13/db/0f3cf80ae4a095cc85b29146c9608d556d002b281f3173d30f42ca23c4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/getpass.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/getpass.pyi new file mode 120000 index 0000000..b3f905d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/getpass.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e4/56/53/3ee7635704d1503d8140984eaf4a72c44c937975316268ffc6dd550b41 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/gettext.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/gettext.pyi new file mode 120000 index 0000000..084df97 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/gettext.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/15/3f/eb/c781a9b5900d6334e99439735204904bb68dba217457e998b09ccad1e1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/glob.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/glob.pyi new file mode 120000 index 0000000..b6b758c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/glob.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ab/97/9e/3f648593de2d3f73f029939539d1a14be5e86867b25e288ab5655dbf05 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/gzip.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/gzip.pyi new file mode 120000 index 0000000..ab78e4c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/gzip.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/60/8b/2b/4101479a1c86f17aea21a5995758259265c759af37ecb024f9ffd90d3d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/hashlib.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/hashlib.pyi new file mode 120000 index 0000000..9b2444b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/hashlib.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/aa/6f/f2904b02d3494dcd8d761fc869d489b26cd48ff847f31633a7f7202458 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/heapq.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/heapq.pyi new file mode 120000 index 0000000..c0401a8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/heapq.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a0/a4/e5/fd60d245885e3427a7c4c8f0474ac700f7c096d67ec4bac0a70741d4de \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/htmlentitydefs.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/htmlentitydefs.pyi new file mode 120000 index 0000000..849a879 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/htmlentitydefs.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d5/dc/87/d22d3475a350ffb803b93fa6c57cf1f95fe70d246e178abfbe39125078 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/httplib.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/httplib.pyi new file mode 120000 index 0000000..a62411a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/httplib.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3f/3c/3d/dcaf67201276f1ceba6be1959964a264e698c2d3990757ba3f4dda74e2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/imp.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/imp.pyi new file mode 120000 index 0000000..6c5e3b3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/imp.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f2/a6/ad/2010e46c021b0b5dfb8c0e7344f54ef4f46021ef2b0d4c1a71e3915576 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/importlib.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/importlib.pyi new file mode 120000 index 0000000..0333745 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/importlib.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/37/53/ac/aa671da5b78ded14cd538b36cd0827a10864c04093e73e5bbf4df917e8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/inspect.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/inspect.pyi new file mode 120000 index 0000000..ee96855 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/inspect.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/58/9a/81/2fda45505c881051191af219383ea65b5020cb04d5d5436d4cc6a9f837 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/io.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/io.pyi new file mode 120000 index 0000000..2a0f17c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/io.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ff/db/77/627130e2f9291d22f7f5474a1a73978aacb62ffa6cf8366da8ad67a0f2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/itertools.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/itertools.pyi new file mode 120000 index 0000000..ce0f1e5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/itertools.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/da/40/4e/301e47ff6cfcf99f961966254a298088a14d187d7ee629d92493db7be7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/json.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/json.pyi new file mode 120000 index 0000000..3b05af5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/json.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/82/8b/82/b1776bf58e0a0668b0b2f97aa0df142ebc480272fecc18934488961a24 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/markupbase.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/markupbase.pyi new file mode 120000 index 0000000..3b5c1e9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/markupbase.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1a/6a/47/8d13fda5ad586eea782c51e8612d132aef6887c10ea97e7e098db235be \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/md5.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/md5.pyi new file mode 120000 index 0000000..0c97821 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/md5.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/47/16/e9/11b9e96c5e3dd47b8d9a237795e80c192fbc5b5d611c1c44d6d732edbe \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/mimetools.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/mimetools.pyi new file mode 120000 index 0000000..14ef19d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/mimetools.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bd/97/78/77441122baabbe3b5e8be3feb8afaf85dba295b5294f9e619411b32050 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/multiprocessing/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/multiprocessing/__init__.pyi new file mode 120000 index 0000000..d3a66b4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/multiprocessing/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8b/7b/8f/573b4784884ded9423b548f06d1deabe36673008b8a8a784d31e49539b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/multiprocessing/dummy/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/multiprocessing/dummy/__init__.pyi new file mode 120000 index 0000000..dbf052c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/multiprocessing/dummy/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/61/0c/c0/41b5c8396c6fd604cfbca78d79db8d18ddabe3438bc8f604eeb0a8d957 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/multiprocessing/dummy/connection.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/multiprocessing/dummy/connection.pyi new file mode 120000 index 0000000..af43f5a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/multiprocessing/dummy/connection.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3a/4b/cf/63cb39f32e860bef32175cbc432ab1640a191f17833df1c339f2579da4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/multiprocessing/pool.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/multiprocessing/pool.pyi new file mode 120000 index 0000000..2884ab6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/multiprocessing/pool.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1f/6e/15/68f420b3c1058dc996b48f5d9f89ef16c8c26fbc480eff314334d1ec2c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/multiprocessing/process.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/multiprocessing/process.pyi new file mode 120000 index 0000000..e963f13 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/multiprocessing/process.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d8/0c/b3/b2d45a2601d7b9f17b452a60060b550f7066b1d5c581de92491c09a8a5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/multiprocessing/util.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/multiprocessing/util.pyi new file mode 120000 index 0000000..075ca33 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/multiprocessing/util.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c6/3c/07/5a7100a9ab8f9cec5aa29caf27a8ab65740ebfba99d3b3d1bf46330a73 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/mutex.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/mutex.pyi new file mode 120000 index 0000000..b05c5e9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/mutex.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/95/07/92/4a463977045439d6afa8cc8211a7ddf23e572ba63beaf60c1f8dedcae1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/ntpath.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/ntpath.pyi new file mode 120000 index 0000000..e8e0901 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/ntpath.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ba/96/ee/35c718a0964e11e6ae5d5b9e800b9350cafd2ec0d9e84d1cf4f0ac2702 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/nturl2path.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/nturl2path.pyi new file mode 120000 index 0000000..b569b3d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/nturl2path.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fe/ef/32/1e218c3274514e3400b37ec709e7efcb9d7ddd2243054653c359d9d08e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/os/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/os/__init__.pyi new file mode 120000 index 0000000..91bcf65 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/os/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9e/31/ec/a8a6cf4aa13202dbc838615d12f6b47acf00e5289e9b1ffdc2ef762591 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/os/path.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/os/path.pyi new file mode 120000 index 0000000..e8e0901 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/os/path.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ba/96/ee/35c718a0964e11e6ae5d5b9e800b9350cafd2ec0d9e84d1cf4f0ac2702 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/os2emxpath.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/os2emxpath.pyi new file mode 120000 index 0000000..e8e0901 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/os2emxpath.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ba/96/ee/35c718a0964e11e6ae5d5b9e800b9350cafd2ec0d9e84d1cf4f0ac2702 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/pipes.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/pipes.pyi new file mode 120000 index 0000000..64e991c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/pipes.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/39/37/e9/aaa9740946436c9c7e29ae205aea03b9bec5b05edb1fb3753e996f53ab \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/platform.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/platform.pyi new file mode 120000 index 0000000..120089c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/platform.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/13/ca/43/ff4e0db894c1ad8e5b1487620209dc7df7427de2a382afe657fbb0219b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/popen2.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/popen2.pyi new file mode 120000 index 0000000..d1c83fa --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/popen2.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/77/23/6d/0eb9da6ef0a94159bb8bc4d54290cc22f58aa0aff6a2d260778d615182 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/posix.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/posix.pyi new file mode 120000 index 0000000..85a5292 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/posix.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/29/d7/25/89c11c6f4c0144368986bfdabdb1502771ce62bdd4ed964eca8663a72a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/posixpath.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/posixpath.pyi new file mode 120000 index 0000000..e8e0901 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/posixpath.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ba/96/ee/35c718a0964e11e6ae5d5b9e800b9350cafd2ec0d9e84d1cf4f0ac2702 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/random.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/random.pyi new file mode 120000 index 0000000..59a1c48 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/random.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/31/25/02/72d0f7c3f9a65ebae3b5f60ab90dbf0c5fb6e8618d9efae137c00f199f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/re.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/re.pyi new file mode 120000 index 0000000..809d3b8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/re.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/de/98/be/4b955e686827c9919f63d9f491a06a091e27edb4b90458cf2edffc7bff \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/repr.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/repr.pyi new file mode 120000 index 0000000..4663886 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/repr.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/21/cf/33/2839e464b72942638604bbd2716ac1c78b181c79a5038812a08ad240e3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/resource.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/resource.pyi new file mode 120000 index 0000000..2d70f25 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/resource.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/64/cc/4c/01a772aa327b366beef8614f772e57c06ed12ae9c490abb72ee45ebcf1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/rfc822.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/rfc822.pyi new file mode 120000 index 0000000..ddf10cd --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/rfc822.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3d/80/c2/303cfa47cec723b88e54055ba8ae12afb6938a35d52bd901b03c3f2811 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/robotparser.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/robotparser.pyi new file mode 120000 index 0000000..a9068c9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/robotparser.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/22/97/e9/9ef3660ad37ce32c9947d4e635d09003b17533931072a6d4764c283d74 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/runpy.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/runpy.pyi new file mode 120000 index 0000000..abd6385 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/runpy.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0f/eb/6d/13b62dd01406b8431a1dfe46532cd6add5bfa2707cab05b53a9c2b9ff1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/sets.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/sets.pyi new file mode 120000 index 0000000..d708c58 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/sets.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/85/b7/db/69b347534def45b652436a354328217549b9279c3578d5e91731ccf03e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/sha.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/sha.pyi new file mode 120000 index 0000000..57f733c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/sha.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/df/9a/64/bd0ca00742771357ad5123bf8a38ec93f1fc43c93a1188ee34c2c51d04 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/shelve.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/shelve.pyi new file mode 120000 index 0000000..e688504 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/shelve.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/69/ce/c9/afbb1a538c779bd850210ccf29186e449a8040ee7fb8bbf0c5cb3abbda \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/shlex.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/shlex.pyi new file mode 120000 index 0000000..9b7b8fb --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/shlex.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/82/cf/ad/017cba95aff5feaa11d2d421c5f3335d71960c2deaa22af5a1f36739de \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/signal.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/signal.pyi new file mode 120000 index 0000000..1eb934f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/signal.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a8/47/0c/bfca20e5eb03f280c0c9cab0cd4dbbe9ca989baffad67fb8d5454e2757 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/smtplib.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/smtplib.pyi new file mode 120000 index 0000000..064542b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/smtplib.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f3/08/92/3f588517dfa5f482a087ca7a4b4ac6c0bba0b8641f147df1c963e1e1e7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/spwd.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/spwd.pyi new file mode 120000 index 0000000..a7ba7cc --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/spwd.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/04/3a/06/503b9bec31532a10ffb735d6e836c3dee197d795239b60f3b8517f72f0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/sre_constants.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/sre_constants.pyi new file mode 120000 index 0000000..527ee5b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/sre_constants.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4f/a9/01/4ca79860690cf3749b6e0571f4bdfc79a660a8463e02481f08bafd19b5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/sre_parse.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/sre_parse.pyi new file mode 120000 index 0000000..5f16211 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/sre_parse.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/99/e6/58/9bf56c9029f5f77a8fdda57bd647fad4727c29660a4f9e4b2122d83fd4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/stat.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/stat.pyi new file mode 120000 index 0000000..d05f781 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/stat.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4f/3c/bc/8c3636c33da966e7138cac021e5cbee02f5cddb84b06941a656f3393ba \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/string.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/string.pyi new file mode 120000 index 0000000..5f36a41 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/string.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/59/18/0f/b976a18b5b42828e2233b1d023b7ebe2a71cd6039a9eeb80d028e1d50c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/stringold.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/stringold.pyi new file mode 120000 index 0000000..07cd8e5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/stringold.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/71/e7/cd/5fc57d5ec6829a0b8eddedf6b5835d7d49df307678f06bbcb265140aec \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/strop.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/strop.pyi new file mode 120000 index 0000000..eb00cfa --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/strop.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/90/5d/a8/5de98165dfd5687953cd5d7da69f5f8bc8b0715b2af1abd04bc6307577 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/subprocess.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/subprocess.pyi new file mode 120000 index 0000000..735f4be --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/subprocess.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/25/5e/95/269c46a957f0932e590262f9e302ef607c04b9c8ac035c56099ba750a0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/symbol.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/symbol.pyi new file mode 120000 index 0000000..524eeaa --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/symbol.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/82/63/07/bcef3cbeeacd69e2171cd9e5ed480d3e0d2075ff03ea2bb15f96932623 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/sys.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/sys.pyi new file mode 120000 index 0000000..eba90bf --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/sys.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2f/42/b9/48a211b0a74bfd6248cfbdf96206923efc415ed54f1d663476fc6e999e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/tempfile.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/tempfile.pyi new file mode 120000 index 0000000..4901119 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/tempfile.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/05/b4/b1/8a7e6ee45da6f8a5e3d2e70318f308231caffe53be5494a92d06b5e1b6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/textwrap.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/textwrap.pyi new file mode 120000 index 0000000..22f79db --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/textwrap.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f1/55/77/2514782eaef7519e2df60b5838178cf9871b3826866d40cf98a1d07893 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/thread.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/thread.pyi new file mode 120000 index 0000000..fc8a639 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/thread.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3f/7b/fd/f515d964544f533a5ef52b7c7ecc25ccfe08112b6e3c529d97095426f9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/toaiff.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/toaiff.pyi new file mode 120000 index 0000000..6bce756 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/toaiff.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/14/0d/90/c2260287e62e290c8cb928f80e1410a3d8930127af36ca7392859f441e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/tokenize.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/tokenize.pyi new file mode 120000 index 0000000..9ca07af --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/tokenize.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/34/2f/51/27b689c480628f1a26fec511a6102efab5659c5f23d1c1e163f55b2647 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/types.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/types.pyi new file mode 120000 index 0000000..262c0e5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/types.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/60/a5/78/d0c9a6fa07853b47d18c776eccd5bed114588e13a0ce878a5a4055289a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/typing.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/typing.pyi new file mode 120000 index 0000000..00cfd18 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/typing.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/79/54/62/3ee8a7a483fcf5de9c56ff002b5c750e55e782fdf6891a4e462f3235cd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/unittest.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/unittest.pyi new file mode 120000 index 0000000..da38efc --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/unittest.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6b/bc/9f/e7cf6be5bd2602b62e96a2df6ef996f0d7493539c75d987dadc9574d54 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/urllib.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/urllib.pyi new file mode 120000 index 0000000..7a56d40 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/urllib.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ba/93/d2/5ef2145a6f822d25bb4f03176a078ef62df3359329396ce5591f669b24 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/urllib2.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/urllib2.pyi new file mode 120000 index 0000000..9eb1fe7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/urllib2.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c5/97/b3/ea638efa4bbb2522401277d92be129a3402d77964c4dfa285ee90303a7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/urlparse.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/urlparse.pyi new file mode 120000 index 0000000..09fe0ea --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/urlparse.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ad/01/09/6bf3b2cb62a83bd5968289ef14309f90381f4e0a917ae19153c932d5ff \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/user.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/user.pyi new file mode 120000 index 0000000..2147dba --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/user.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/33/3d/d0/19f806e7c875bae091f9bf6bfcfbfc2febc0f281f823834de8bea17c2d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/whichdb.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/whichdb.pyi new file mode 120000 index 0000000..e01b4a3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/whichdb.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/93/bb/df/b8e920cfa91977fea6552b0fdfa0c1475ea67d164da4ed249e0b306448 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/xmlrpclib.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/xmlrpclib.pyi new file mode 120000 index 0000000..fdd9c9f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2/xmlrpclib.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e8/7e/69/bada601bbda4503eb1e4e2de24ab4ccd792facc30e90dc7ecd2864dbb5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/__future__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/__future__.pyi new file mode 120000 index 0000000..6cf0b77 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/__future__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6f/b7/66/36188975c24cd9cc8b7d7d62ef730d7e25704d47cc9b239d673054d9fc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/_bisect.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/_bisect.pyi new file mode 120000 index 0000000..bf37af6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/_bisect.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/31/44/61/14601ffe7ff29aceb87ae5e938605e118dfddf6b626de1fd824c43b107 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/_codecs.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/_codecs.pyi new file mode 120000 index 0000000..52f2adc --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/_codecs.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8b/fa/c4/c0356c58b4922bb3354a10abde367bf55f4cc10638a27d4217c3c143be \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/_csv.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/_csv.pyi new file mode 120000 index 0000000..efd1a51 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/_csv.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/39/9a/70/842c5129650d7f30fe4c59668c6831d569db4806357f90abb860227847 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/_curses.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/_curses.pyi new file mode 120000 index 0000000..123551e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/_curses.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9c/8e/69/bc5b89cdb9a86bc64e219e08f7850f4ad1ed58cff042c3bce1af09e29c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/_dummy_threading.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/_dummy_threading.pyi new file mode 120000 index 0000000..5b37508 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/_dummy_threading.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ff/f7/8b/7d7cf51f2825e6cc0aa082f8259b50f890482a4afec84c4ac0a97a783d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/_heapq.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/_heapq.pyi new file mode 120000 index 0000000..54ec404 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/_heapq.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/85/e4/d0/6109404397feefc6e6deb3e449ea105a8c48438fe95f8e13705c740061 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/_msi.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/_msi.pyi new file mode 120000 index 0000000..6b690a0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/_msi.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b4/03/9c/df81def30256996d56b08359c53d27b3e6bccd87d5fab9619c32b383e8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/_random.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/_random.pyi new file mode 120000 index 0000000..a600fde --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/_random.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3a/df/f2/78c22c8d2c706053247acfd444fd8e959ab345e3d57986826e742bfaa2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/_typeshed/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/_typeshed/__init__.pyi new file mode 120000 index 0000000..411181a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/_typeshed/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6a/ea/8d/a8c03d6d6503f632a6b0769689d3cf9c515c7343387386bd3379c70a15 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/_typeshed/wsgi.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/_typeshed/wsgi.pyi new file mode 120000 index 0000000..577a403 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/_typeshed/wsgi.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9f/4a/7b/7a0523858ec79e2f81c263997753a9396cbf1a4a4d0ca0d81c71dcaca1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/_typeshed/xml.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/_typeshed/xml.pyi new file mode 120000 index 0000000..1dcdd90 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/_typeshed/xml.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b1/65/4c/ff66b42d9b9d0768ab2a2fd43b87c91e1322633f0e14b793b6f841cb3f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/_warnings.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/_warnings.pyi new file mode 120000 index 0000000..70dac74 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/_warnings.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e6/1d/a7/88d878ef16fb1bba7a30ebd04a3f8d5671497ff862c323b868b374e416 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/_weakref.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/_weakref.pyi new file mode 120000 index 0000000..dc574ee --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/_weakref.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fb/ad/fc/396ee038a5584f9d41a7c4245ca735deabe786997fe8d0900af75a63ab \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/_weakrefset.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/_weakrefset.pyi new file mode 120000 index 0000000..f6afa3f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/_weakrefset.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/15/8d/45/97b259a46795045299577321086391f16a03f231a71fa83b19dff4396e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/aifc.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/aifc.pyi new file mode 120000 index 0000000..d13eb5a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/aifc.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/47/d8/a2/05c3d2db11f845245cc3274a7295aec610cfe0ae0700dbda60bb0444a9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/antigravity.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/antigravity.pyi new file mode 120000 index 0000000..8ae3b29 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/antigravity.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/85/77/b6/ffb5b7f523a204fa5025bf1efbda6b7bcff40c81965d1658d48169fba7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/argparse.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/argparse.pyi new file mode 120000 index 0000000..7915e90 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/argparse.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ec/01/b9/19fc3088225edd4aa368844fe71b5bc9134a0b2a8eba79dedb8e6e9a5d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/array.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/array.pyi new file mode 120000 index 0000000..125d3b1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/array.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/54/00/d2/11ebc86d2c9ba03dbf5bed9e179d6af27269d907203c5e5dd128aaa7f7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/asynchat.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/asynchat.pyi new file mode 120000 index 0000000..1584143 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/asynchat.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bf/eb/a9/0e839f5dd1b5f37f547498fac24068b16d3dd78ba658df813a3686af03 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/asyncore.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/asyncore.pyi new file mode 120000 index 0000000..c722d1f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/asyncore.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/39/2e/4f/a4e2b386fe0133bc0d3530e0932e6b26da05135caecfe64867b6cfc1d7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/audioop.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/audioop.pyi new file mode 120000 index 0000000..d511b7f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/audioop.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/94/14/56/55d8a6f213e0ccdc0c216412b3f9efbfb6fbba806a8ee11b5c6ec58aa3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/base64.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/base64.pyi new file mode 120000 index 0000000..ebbfe33 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/base64.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/13/c3/2a/7411a15c88c85e4a9290b7644baeb8e52b75a4c611e7db3244aaf9a1e4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/bdb.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/bdb.pyi new file mode 120000 index 0000000..7979b5e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/bdb.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/75/93/fe/027fea343257c4ccd6b085f57dc4c8a1cdea23e5889b8f014b780024b9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/binascii.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/binascii.pyi new file mode 120000 index 0000000..4d3ef91 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/binascii.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1e/03/7f/4201ec01d8518297a51f266c4969eea7e4dc7b6def79be3ae3df0ca3a5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/binhex.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/binhex.pyi new file mode 120000 index 0000000..7e01270 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/binhex.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/28/f3/b8/8f2b858e0bd1575af2bda9cbd23d1c2138682280e2b183b3dd3066fe7c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/bisect.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/bisect.pyi new file mode 120000 index 0000000..15f8ade --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/bisect.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b1/09/fd/5144b40b0e5764c1067048fc29ae5528f5686cbe373dec7f49a8235e0f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/bz2.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/bz2.pyi new file mode 120000 index 0000000..dc697bf --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/bz2.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/44/ef/ab/60c1f54e9a6b2135de0adaa15394cce88ee040346eb69821fdb4af640a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/cProfile.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/cProfile.pyi new file mode 120000 index 0000000..12ef152 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/cProfile.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/22/1a/08/69aa00f7f6c837889f73a774a97de43b5b28e4bb2cd7b382ac15bc1dc1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/calendar.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/calendar.pyi new file mode 120000 index 0000000..47145af --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/calendar.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/88/1d/3c/8b1a6879d1a82d3059a2f772ec96af644a85605d24c705dcb607b3d2a2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/cgi.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/cgi.pyi new file mode 120000 index 0000000..e731c24 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/cgi.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1d/49/45/5e8a2f97276dc1e9f546741d94b3d00b86b6e9f5dee70ac04747f7f1b3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/cgitb.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/cgitb.pyi new file mode 120000 index 0000000..a5fecf5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/cgitb.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fb/9f/ee/aa2b61f52f591ce5d07fed99efa43723b51e057da4c51a228e841bbe72 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/chunk.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/chunk.pyi new file mode 120000 index 0000000..752d220 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/chunk.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8e/e2/e0/a148ed6498f7b44c6bd60ae8aec54d527559b5382827c37d823f28a57b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/cmath.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/cmath.pyi new file mode 120000 index 0000000..6e045b2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/cmath.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8d/2b/9d/dbb88c201493c3623636121425adfc5440bc5f587b62537b49b42a5a19 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/cmd.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/cmd.pyi new file mode 120000 index 0000000..390a992 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/cmd.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fb/c7/6a/d537794213b32e806478adc46636137cdbf12544d91eb063d07d37725f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/code.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/code.pyi new file mode 120000 index 0000000..83aa1d2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/code.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/03/d7/13/112751dfb4f2b997a28888df0c9848fb405a8b372efd8187654ea1a935 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/codecs.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/codecs.pyi new file mode 120000 index 0000000..1b6c581 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/codecs.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0d/7a/a2/5a6669e5985f230eb389bdf9ee5be3f4e9d398c98a821f2e43a4812eef \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/codeop.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/codeop.pyi new file mode 120000 index 0000000..a4dce3b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/codeop.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/62/9c/ae/da4e73e6be81dad3643bd24a33c60cf820574f749950bd0093c3fca9a8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/colorsys.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/colorsys.pyi new file mode 120000 index 0000000..9113b10 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/colorsys.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/27/00/80/d16d8ef7e252d0a03dbbb90a35524a462bb500238fcf1cbe4842b30d18 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/contextlib.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/contextlib.pyi new file mode 120000 index 0000000..f989a05 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/contextlib.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b1/5e/4f/a29a5a6395a082f5a728ded9a409ca5852135ad4cf57a0843cb9e6aca6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/copy.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/copy.pyi new file mode 120000 index 0000000..d349711 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/copy.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/10/e5/b3/a4045b4e7c6692adeee8e9bd9d8a581badadb365aa7eab8139b1508313 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/crypt.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/crypt.pyi new file mode 120000 index 0000000..b9a7969 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/crypt.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fc/3f/ff/0c3946ba6b62fb6624b122623a3149d2d25b7241412abb333dd6ed5ab8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/csv.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/csv.pyi new file mode 120000 index 0000000..6699c43 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/csv.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/db/a1/e6/bf02419c611639b0511e3d314b4a7af2ad75f76ff282d41ddab12007d8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/ctypes/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/ctypes/__init__.pyi new file mode 120000 index 0000000..d8de0e0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/ctypes/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/06/bd/03/cb0ab219a5701da59b81b21664b9d0610ed2a5ad38678794f13ac7cfef \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/ctypes/util.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/ctypes/util.pyi new file mode 120000 index 0000000..b8ae414 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/ctypes/util.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7c/ef/7f/313041e25a5752fb90ceb153e32b88cedf71fc5b045ad5ba91b016b648 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/ctypes/wintypes.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/ctypes/wintypes.pyi new file mode 120000 index 0000000..6238d5c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/ctypes/wintypes.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e2/62/df/cc9f245f2b50a380c3b0ee475f5dec6565d472cf977703f280ee8c384d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/curses/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/curses/__init__.pyi new file mode 120000 index 0000000..73bdba4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/curses/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7b/ac/f2/40915ee1026073a9942b766a3aa4532865eafd0c492d72ecdefc954075 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/curses/ascii.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/curses/ascii.pyi new file mode 120000 index 0000000..7079ab7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/curses/ascii.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f4/c7/91/86c189c2621c32c2fbec2b7d40eaede53292fc946d823caffe76e64194 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/curses/panel.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/curses/panel.pyi new file mode 120000 index 0000000..494a74c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/curses/panel.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5a/c9/78/db191793c1907ac3400438a32280555f9371f1d1a6ea9aced7e8319725 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/curses/textpad.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/curses/textpad.pyi new file mode 120000 index 0000000..921be1c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/curses/textpad.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/57/ee/ab/e313db9084ce4718940803d5f90cd68baf49655d2d6703bbd870dbb94f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/datetime.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/datetime.pyi new file mode 120000 index 0000000..89427b5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/datetime.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bd/f6/3c/975a1c5458b14a7a6a088a7a9c66e9f0d4f5694fe192c498a5e0284e9c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/decimal.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/decimal.pyi new file mode 120000 index 0000000..e2f4844 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/decimal.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f7/84/b4/1bc4cad72b5ecd626ea07fe01e99c078db30adabf1fc15e8de724ef4c7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/difflib.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/difflib.pyi new file mode 120000 index 0000000..e1e3c1f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/difflib.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/81/94/c3/823dc314d1662296d0fc9bb6cdcb154f7c68a7cc81d4949b022d575b3f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/dis.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/dis.pyi new file mode 120000 index 0000000..9cf7efa --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/dis.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/dc/51/6d/33f7bb8dc320cd7c3ad294cb65958c10ee275772ba89956e5f06d2c174 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/doctest.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/doctest.pyi new file mode 120000 index 0000000..b72990d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/doctest.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/91/f5/8b/a0cfbe0a3cc1d535b7e3cd51bd37d50ce3a06d0cb5a0bf78fb68e82363 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/dummy_threading.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/dummy_threading.pyi new file mode 120000 index 0000000..b63906e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/dummy_threading.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/64/8d/38/c927c6808f2a765a205ad03c5125131467f39b7dadd99c4be4fb39dcef \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/ensurepip/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/ensurepip/__init__.pyi new file mode 120000 index 0000000..b6e55d3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/ensurepip/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/75/3a/44/5ffcfeac512a9d02375efa71182c3e204d5aa94c59c3a284bf493ce92a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/errno.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/errno.pyi new file mode 120000 index 0000000..c0823b7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/errno.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/28/38/e5/25392dd6c75caf01a02e43cc6654b0cf50e9d1792de8fa849ea70b6566 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/filecmp.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/filecmp.pyi new file mode 120000 index 0000000..b639be7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/filecmp.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cf/94/f6/bb15418f0756233ae147ece546a215f6b834f04a5495d420af7f807c9d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/fileinput.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/fileinput.pyi new file mode 120000 index 0000000..4cdd4bd --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/fileinput.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d3/5b/e3/13be6147d9572c7f92fcc37e4407a279388119c838fe87feccdc839a75 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/formatter.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/formatter.pyi new file mode 120000 index 0000000..d5c3ee8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/formatter.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/97/1a/68/66059eba1ddfc89bbb7b0e0ed340c1a2ca53291c5ab5e10aedff7dccc5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/fractions.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/fractions.pyi new file mode 120000 index 0000000..be2aab8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/fractions.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/55/b9/59/7b99ad48918bedf51246ba27ba4b1378edb838b5401a0852feb103a688 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/ftplib.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/ftplib.pyi new file mode 120000 index 0000000..6714b6b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/ftplib.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e0/5a/a0/0bcba79bfcd1d4272925a9691ef4733833a6cb422e664fc5820a1eadc7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/genericpath.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/genericpath.pyi new file mode 120000 index 0000000..b7e0035 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/genericpath.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5a/86/f6/e49308077f249b10f77dbc84996ff3399df403ed11478d4eca6bce83f1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/grp.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/grp.pyi new file mode 120000 index 0000000..6e13c88 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/grp.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7e/6d/09/3b0bc9f021825d2556caa42e5c504f05fa150bc6f90b2593abee5f72fb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/hmac.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/hmac.pyi new file mode 120000 index 0000000..9a1f8a8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/hmac.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0d/14/9e/f083e7bd243a0c22211bc205a2c002729b0e9e041fb4d2518c48f85a45 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/imaplib.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/imaplib.pyi new file mode 120000 index 0000000..25822f3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/imaplib.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/77/ca/c8/2ad51ea97b793b9d5d37078b729fc9eb8e3929d0bd69626718a47bcdd2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/imghdr.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/imghdr.pyi new file mode 120000 index 0000000..28d2624 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/imghdr.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/df/c7/dd/e1e0ffc67730a2fd0beefbdb6831a32a2f601b32cf6e0b03de87bf2340 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/keyword.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/keyword.pyi new file mode 120000 index 0000000..7e68f31 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/keyword.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/c8/4c/9e8bbb1db039f349867d1c9de2e3e0c669db4ade0a33f493486305cc50 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/lib2to3/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/lib2to3/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/lib2to3/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/lib2to3/pgen2/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/lib2to3/pgen2/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/lib2to3/pgen2/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/lib2to3/pgen2/driver.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/lib2to3/pgen2/driver.pyi new file mode 120000 index 0000000..7f8608c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/lib2to3/pgen2/driver.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/16/a8/19/0d449fd57f57e7947b766e18c58208ceedf30178c1d31e93ff3425f76c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/lib2to3/pgen2/grammar.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/lib2to3/pgen2/grammar.pyi new file mode 120000 index 0000000..f99bbfb --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/lib2to3/pgen2/grammar.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ce/e2/ad/4682f518c8b32fc8a3d1a9238595571f6981b1b6f62f12641493e2d0c1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/lib2to3/pgen2/literals.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/lib2to3/pgen2/literals.pyi new file mode 120000 index 0000000..65bc02f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/lib2to3/pgen2/literals.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/09/25/08/d08fd6e88f5f37e9dbeab1a0ccb8c63083b40ba3b03a6cd8cfe1c44195 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/lib2to3/pgen2/parse.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/lib2to3/pgen2/parse.pyi new file mode 120000 index 0000000..c99592b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/lib2to3/pgen2/parse.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/55/de/cb/4665b0e50f695b36016c3b0a02f2f635dc8264d10509ad24cac02daec5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/lib2to3/pgen2/pgen.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/lib2to3/pgen2/pgen.pyi new file mode 120000 index 0000000..7a1f3e5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/lib2to3/pgen2/pgen.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/66/1c/6a/b8386dd5c1a2cb42a27254d948a19272d4d1336d504d00c9118dfc9c2e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/lib2to3/pgen2/token.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/lib2to3/pgen2/token.pyi new file mode 120000 index 0000000..cc90a6f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/lib2to3/pgen2/token.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/62/90/68/fe2b537294977d63e93c56047532dc7447ab3e8030f27b87a40184a356 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/lib2to3/pgen2/tokenize.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/lib2to3/pgen2/tokenize.pyi new file mode 120000 index 0000000..ad76f50 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/lib2to3/pgen2/tokenize.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a4/0f/6e/bd9db63071959b7ed4d7184c11d7b68543ef250241aba5c34371b372db \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/lib2to3/pygram.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/lib2to3/pygram.pyi new file mode 120000 index 0000000..e5a5c60 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/lib2to3/pygram.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/97/28/60/7fa92935530f37a83a5be0d2c6df04dbf232560b9fec98cacd58409b37 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/lib2to3/pytree.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/lib2to3/pytree.pyi new file mode 120000 index 0000000..0e8fe5c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/lib2to3/pytree.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/67/3d/2c/52348c16fc472a920f96fccd091c89b734f6bc4cd828f3c685af0b4459 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/linecache.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/linecache.pyi new file mode 120000 index 0000000..11e6973 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/linecache.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/99/fc/cd/3fc014737c9dfd56a168111a498b7bfb30c02a77856bbae315013cb085 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/locale.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/locale.pyi new file mode 120000 index 0000000..ecf2f18 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/locale.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b7/ec/b5/367307a26dc77427b0c63d73abbfbcdf1004742d8547b282ecfdcaebbc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/logging/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/logging/__init__.pyi new file mode 120000 index 0000000..7e6d432 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/logging/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cc/c6/db/9594bd8db682e21ae4b5b52ed2bcdf64a3ff00a84ddac84d53492087f3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/logging/config.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/logging/config.pyi new file mode 120000 index 0000000..bcb6307 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/logging/config.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a2/b7/8d/e482ed4caeb1eece66d27efec2a3387c6ddee16629f2e461bbd426b65d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/logging/handlers.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/logging/handlers.pyi new file mode 120000 index 0000000..c72b7af --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/logging/handlers.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/27/7e/95/fbb5f7c3eb45007e7bac4e98918536d2dbc40f3405fe8993bc720f0e9e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/macpath.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/macpath.pyi new file mode 120000 index 0000000..0ad7461 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/macpath.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/07/ac/bd/f2249901740f912b47ca94a9b3786fa73ab878199f60beae3320588f81 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/mailbox.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/mailbox.pyi new file mode 120000 index 0000000..8405f8f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/mailbox.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/22/b6/1f/197b9a0952090c00c7519fb50f938ebc71de50b25d4ec5b24b36022f92 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/mailcap.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/mailcap.pyi new file mode 120000 index 0000000..87c6616 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/mailcap.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e4/c5/b3/8a42a8310124a215b119bcd950fc18e84fe0d7e8be9ef3d0c35dd9c709 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/marshal.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/marshal.pyi new file mode 120000 index 0000000..916118a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/marshal.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cd/76/5a/5ff1f7543f5c94afa288d673edfe46283746e3f4eb8aa9533c2051ea83 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/math.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/math.pyi new file mode 120000 index 0000000..f4f36ab --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/math.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/44/0f/3d/d3fdf940f9d917b2b6dfddc8dea86bd0ccb553ad8b54ad948d7caff45c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/mimetypes.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/mimetypes.pyi new file mode 120000 index 0000000..c2d6410 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/mimetypes.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c0/40/b5/d90b92f035e0a4cf59301f92675661d86038f78a7e71105942f9d5e9d2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/mmap.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/mmap.pyi new file mode 120000 index 0000000..f032864 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/mmap.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/05/91/c9/1873e992272c090488819394640eb625a5e469f7299b8563f1c6198ec5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/modulefinder.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/modulefinder.pyi new file mode 120000 index 0000000..b1b6738 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/modulefinder.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3f/0c/7d/d171fb611445e039b5994341b483fcc5bfb9783c138ba6f0975c7893fa \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/msilib/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/msilib/__init__.pyi new file mode 120000 index 0000000..f3a25b9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/msilib/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/be/bb/96/2ffad601989855740cab88f08aa553ceb2172b0da0e4f49fe7d14e26ee \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/msilib/schema.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/msilib/schema.pyi new file mode 120000 index 0000000..29dee2a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/msilib/schema.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2c/46/59/5e5897fb637bdebca126d4c0b93bcffd1655b03e22ed2d424532cdb629 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/msilib/sequence.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/msilib/sequence.pyi new file mode 120000 index 0000000..baa1a07 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/msilib/sequence.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5d/00/be/ec3dbc6e012e2730050bb5885fce80b5406b43ba42e52735253c8fc049 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/msilib/text.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/msilib/text.pyi new file mode 120000 index 0000000..bb50665 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/msilib/text.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/76/b1/b7/295c4573c31846b7649b7a0959a8af06f65e72aea974aa0511e9af1766 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/msvcrt.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/msvcrt.pyi new file mode 120000 index 0000000..bdeb8c1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/msvcrt.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0c/38/93/6b6626aa40a1a4bccaafcd27f9939f2405d66fa618074444474d77747c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/netrc.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/netrc.pyi new file mode 120000 index 0000000..6cf071b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/netrc.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ea/2a/64/af593ea793ef7bbcbe3d3b421f4b19a9e155d7d030df74a441d74c266d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/nis.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/nis.pyi new file mode 120000 index 0000000..5bce484 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/nis.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/09/49/d3/c7e98a2fe6229db51faefc3c58858bc2eaaee0fb52559f4cda6c524af6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/numbers.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/numbers.pyi new file mode 120000 index 0000000..94cc38c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/numbers.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ef/78/0b/bc4fa33d9acbc5862154725f03efb16322232491bdff4ea253755d6ae9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/opcode.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/opcode.pyi new file mode 120000 index 0000000..d5b4c12 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/opcode.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/93/f0/c5/6ed8ef49d54aceaef6492ced17c2b818a2beb64fd6312213b3a10a5132 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/operator.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/operator.pyi new file mode 120000 index 0000000..79f5285 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/operator.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/26/82/34/39e42390c6f21280f87185e7f51d4255fd865cd3a514a2a480a7d4999d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/optparse.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/optparse.pyi new file mode 120000 index 0000000..9a447bd --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/optparse.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e9/85/e5/4ebcd60f8ac0d075187d0f2875996c0b36bb967e1b4fdb2b386bfb77e9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/parser.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/parser.pyi new file mode 120000 index 0000000..26274de --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/parser.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/01/98/f1/923365e3b464dcc324dfc32e87b82989b85fb3a11e4eb1cdb9b12c8130 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/pdb.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/pdb.pyi new file mode 120000 index 0000000..eb97fb0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/pdb.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9a/9a/49/f4f4a595c3e739cce2aaddee6b535ef8df012830bbfe409ad3108d73ba \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/pickle.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/pickle.pyi new file mode 120000 index 0000000..46c6aa8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/pickle.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1e/02/6e/b056f4c697ddc0f32087af3d3ad03dcd650b1140bfa1bff76d240d5609 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/pickletools.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/pickletools.pyi new file mode 120000 index 0000000..d4cd2a2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/pickletools.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2d/e9/1b/208f39ea344e2a3ea77abcca558dedaf4277ae3161eda1e2881f5f3074 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/pkgutil.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/pkgutil.pyi new file mode 120000 index 0000000..ff9a05e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/pkgutil.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/11/70/29/3df207e9caba9c2277760598dbb676bcef79cb4ff8b2352ca532c94520 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/plistlib.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/plistlib.pyi new file mode 120000 index 0000000..1b76ada --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/plistlib.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4a/e7/c2/2b54a33fe40e8467755614ada4b71d462ba87330465f729d0780b8202b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/poplib.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/poplib.pyi new file mode 120000 index 0000000..655391c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/poplib.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/09/ec/f1/3a252a222931a80bf875fe46e6bb368ea98630859855f6d8b7686f5198 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/pprint.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/pprint.pyi new file mode 120000 index 0000000..1cc391f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/pprint.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/12/8c/75/f41c3647853297cee2970247af7f291058417474560b64e05bd0364fa1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/profile.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/profile.pyi new file mode 120000 index 0000000..7f6c704 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/profile.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e2/67/b3/34eeba637bd65fd4887ed91c6de41c0374b0b9ceb6c8dc4f9269b0935c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/pstats.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/pstats.pyi new file mode 120000 index 0000000..cc81657 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/pstats.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b6/b3/bc/39cec64389d101d6b2b39a568b956289bd6d290c24c27407d2ea66709e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/pty.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/pty.pyi new file mode 120000 index 0000000..aff8657 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/pty.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/68/26/ba/5416acd6f35a7d352204298523e5bd491d35f1b0e3cb55ad26622ac4e8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/pwd.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/pwd.pyi new file mode 120000 index 0000000..47ef3e8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/pwd.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b3/8f/07/a74a5b328301a5683a8255e5d4004470b538ccb8ffc15f8f9687a7548d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/py_compile.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/py_compile.pyi new file mode 120000 index 0000000..d0deca5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/py_compile.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d4/0d/ff/55d5b95b06e27d3f824eb4a85f2d19345a0de73b2a514b94c8f5c98df0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/pyclbr.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/pyclbr.pyi new file mode 120000 index 0000000..de2264d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/pyclbr.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c6/2a/c2/6430bb43b7dfc34099dd5ebfeb611bc024921385177b4f8361ab532d4b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/pydoc.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/pydoc.pyi new file mode 120000 index 0000000..7992286 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/pydoc.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/68/76/ca/797f63b88be0812db1aca6151a45411efc494410092cc9adb984b95e6b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/pydoc_data/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/pydoc_data/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/pydoc_data/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/pydoc_data/topics.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/pydoc_data/topics.pyi new file mode 120000 index 0000000..2b83fcc --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/pydoc_data/topics.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3c/b2/3d/afdba34c77882b0ec3f46c42781fcbc31575ede5136ae571f402a253c9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/pyexpat/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/pyexpat/__init__.pyi new file mode 120000 index 0000000..914ee7d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/pyexpat/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5c/9c/7d/df74136afbb898934feb7b87505c27703c76c256efd4ed436ab54943d1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/pyexpat/errors.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/pyexpat/errors.pyi new file mode 120000 index 0000000..454539e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/pyexpat/errors.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4d/57/57/91d5f5d190a33ee058032df2350cd424ca399428ec97c6efe1527c3d4d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/pyexpat/model.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/pyexpat/model.pyi new file mode 120000 index 0000000..506e164 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/pyexpat/model.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2e/50/4c/68bbeddd3043d494120104d852b1ca01f28d11e418683c391ac240fbe8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/quopri.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/quopri.pyi new file mode 120000 index 0000000..2e03697 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/quopri.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d3/31/fe/fa111a74f53f7ff18dab097153cbebb36b6a98f68b08ef7805e6570b2a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/readline.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/readline.pyi new file mode 120000 index 0000000..0b4afd5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/readline.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f9/8c/7d/34dee4190c25193c2e6c484850814f88c1d0258d33f106ee084f2eef1a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/rlcompleter.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/rlcompleter.pyi new file mode 120000 index 0000000..0ebe425 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/rlcompleter.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d5/a6/4b/136cfa8808a4074f0fa4012e73e51e2fadd5661807610a414f8b2c5462 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/sched.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/sched.pyi new file mode 120000 index 0000000..05676c6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/sched.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0f/b6/36/055e8237246b24d9f45302e9d6c6154f1bb54ccc3f091e14dc752cd374 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/select.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/select.pyi new file mode 120000 index 0000000..a5ad761 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/select.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ce/94/fa/1880e0965d8b9e0b7325b5b6655d6a2f22403292f02702cc2b29ec9312 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/shutil.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/shutil.pyi new file mode 120000 index 0000000..3763f5b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/shutil.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3b/91/99/bff2289fa75a5d47c27c92e384d3df79fb8b02bcf308ad1c616555c6e0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/site.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/site.pyi new file mode 120000 index 0000000..aa4ad1d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/site.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/74/6f/74/4513890193f4e0ff0a4f36c93849b9c3ee656c73df3f5b54e486c4ac9a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/smtpd.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/smtpd.pyi new file mode 120000 index 0000000..1179ef8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/smtpd.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/98/ab/3d/e8bd181d6c78324dc35c8ab444e2e27adb54d66b801f3fcca24b313b09 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/sndhdr.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/sndhdr.pyi new file mode 120000 index 0000000..45717a7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/sndhdr.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/29/b7/71/6ffc6a146399cdc7b56a990355b8f6769a0c58aa653403f928d57ab517 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/socket.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/socket.pyi new file mode 120000 index 0000000..ec35cb4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/socket.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cb/60/db/d0ffd362d05d56e5a21b7c57c6caf401b4b16b9b176f22dfd28affc2e2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/sqlite3/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/sqlite3/__init__.pyi new file mode 120000 index 0000000..a2a2d53 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/sqlite3/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/68/9b/bd/302365f32f470b291d529a3567e2d288fde6c514b1ad6902b0cc5e9982 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/sqlite3/dbapi2.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/sqlite3/dbapi2.pyi new file mode 120000 index 0000000..3a6bde1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/sqlite3/dbapi2.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/85/d9/fd/56d177692b08fa819d6385ce6ed0a8f2449454638fb993f9d5fd99f5a3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/sre_compile.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/sre_compile.pyi new file mode 120000 index 0000000..1731531 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/sre_compile.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6b/bc/15/f0ec644738f41752fb074da0719aef322e54cfcee0db01b4a47bd6b4d2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/ssl.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/ssl.pyi new file mode 120000 index 0000000..02ff8e9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/ssl.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8a/00/5b/c9485da2735cbd1923cd46917f6afc2c83b1d49da5c18cc7542f4012f9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/stringprep.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/stringprep.pyi new file mode 120000 index 0000000..3b8da5a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/stringprep.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7e/a2/80/c478292c4c4c9850ceebaac9fa41594b999529e5af2bfa96436cafb167 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/struct.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/struct.pyi new file mode 120000 index 0000000..1e5f9c5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/struct.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/16/79/4e/45a9ab86b5a2e7da8c1925d42ffa71db4ac7f10020172ae9b48bf7431c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/sunau.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/sunau.pyi new file mode 120000 index 0000000..5147ba8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/sunau.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f2/7a/ee/5637c9b53214f35ea9961987b062f9551b9b6ec59e9b986f5a2ca238d7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/symtable.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/symtable.pyi new file mode 120000 index 0000000..880c6a4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/symtable.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0d/f7/fa/a371030258b8333a3e271f1a48df62882c6510dfa10bcd8e15a24e1d58 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/sysconfig.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/sysconfig.pyi new file mode 120000 index 0000000..c965a2f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/sysconfig.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/21/2b/a0/74d52637dc9c405f261e88812fcce8cbd02cfd0708051bd13db5136a66 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/syslog.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/syslog.pyi new file mode 120000 index 0000000..7422dc5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/syslog.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/59/b2/0d/29cc0a4e0e5616c9f87f4e8adfe8eb8b2a185f3aa7394f47c1b0056d96 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/tabnanny.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/tabnanny.pyi new file mode 120000 index 0000000..2a60524 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/tabnanny.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/83/fb/e0/665f8f1148aed09131d0bc67c0f6839a03fae64f47bdad335422035105 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/tarfile.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/tarfile.pyi new file mode 120000 index 0000000..99a5a90 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/tarfile.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d5/14/5f/6284060bc295640070e451f43c69392377204bdd0758dfecf84a1ba114 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/telnetlib.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/telnetlib.pyi new file mode 120000 index 0000000..eef4bb4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/telnetlib.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4d/1b/31/ada7e2b70b6cc59ea6f8acec144cbef6e169ca9c3eaf66e65ba333da54 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/termios.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/termios.pyi new file mode 120000 index 0000000..c709e12 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/termios.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/64/92/b0/bfe6ba7bcc3c7ebac3dd6828fc8eba60d5cdb50921639f63ca6159fb02 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/this.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/this.pyi new file mode 120000 index 0000000..bdc6cc4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/this.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e6/18/bb/083dad0a123dfe07a7b8c071b12f06385a3480056f146baffbf51cf69d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/threading.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/threading.pyi new file mode 120000 index 0000000..5b37508 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/threading.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ff/f7/8b/7d7cf51f2825e6cc0aa082f8259b50f890482a4afec84c4ac0a97a783d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/time.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/time.pyi new file mode 120000 index 0000000..3d11966 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/time.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8e/74/7a/e2d490abe93a00e6319853b12c3d853c5cbbd6fd013d6b227381757d53 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/timeit.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/timeit.pyi new file mode 120000 index 0000000..b490591 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/timeit.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/01/7b/4a/764e0cda97e2ebf282826a640ee8db695b91d6c98d220a73ebff747c84 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/token.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/token.pyi new file mode 120000 index 0000000..299b87b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/token.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d3/8a/78/f69a2a9184d65224a96f6b327fb757f388be78ffcd0545db2489057116 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/trace.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/trace.pyi new file mode 120000 index 0000000..203f50d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/trace.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/27/3a/5e/c55b45538eac7fb56519bee69e9bf22cc2b1b9ca3a38093ea5046784b3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/traceback.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/traceback.pyi new file mode 120000 index 0000000..3e24b4a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/traceback.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3b/db/2d/6e422b1912db99283e9c1c6b105944924f4ac69fb22624179c9cdce61b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/tty.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/tty.pyi new file mode 120000 index 0000000..ab11776 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/tty.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/03/6e/7f/6b5cab4cbe799d002c1293962ac9e2db5e7eef96b8ac0a0527b83b42bd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/turtle.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/turtle.pyi new file mode 120000 index 0000000..0ebc1a4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/turtle.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b1/b6/86/9588506e3428a9f24d5ff9b136a31e244aa3369b954097b92f40a2e19b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/unicodedata.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/unicodedata.pyi new file mode 120000 index 0000000..80297e3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/unicodedata.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/01/d5/bc/ff0c3fe3f3a1e6e9dd9405e2354245e9e94a6002c8c9cfdc30c26caa98 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/uu.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/uu.pyi new file mode 120000 index 0000000..a4093f7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/uu.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8f/c9/47/4cb56830d3efd84275a72e68cdf960139335b4716b08e8f275f49b3edb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/uuid.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/uuid.pyi new file mode 120000 index 0000000..d8ee24f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/uuid.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/36/73/fc/00773972778c8b7ec81c674106f995a8f48095350aff8a8e7c460c3210 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/warnings.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/warnings.pyi new file mode 120000 index 0000000..fe60480 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/warnings.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6f/2a/dd/b384c9f6fba4d1de68864785726f35c9a7473df9ae75e14113524443c0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/wave.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/wave.pyi new file mode 120000 index 0000000..bb36f89 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/wave.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/11/69/f9/0948f92669a96470f2ea77c7bb190b48784467cbcf97e887e6b39ecab9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/weakref.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/weakref.pyi new file mode 120000 index 0000000..398b400 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/weakref.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c8/ad/61/f008438b448c48c4b78e2875d351614e29aa69997f83eb8871cd6170d4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/webbrowser.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/webbrowser.pyi new file mode 120000 index 0000000..807d0ae --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/webbrowser.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/02/27/3b/35c63ac179113f9494ebabc086b716ca5c1ef22efcbb69f37de9e7ec56 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/winsound.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/winsound.pyi new file mode 120000 index 0000000..6d1909e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/winsound.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8b/ba/1a/38cadd44be6132d04665742d0768d1fe020372a96d73424c64f7931cc6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/wsgiref/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/wsgiref/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/wsgiref/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/wsgiref/handlers.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/wsgiref/handlers.pyi new file mode 120000 index 0000000..9598cd4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/wsgiref/handlers.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1e/44/02/2b481e0c97759055fa156972772bbb4161beadc0ccd8fd811d7280b2b2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/wsgiref/headers.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/wsgiref/headers.pyi new file mode 120000 index 0000000..f87c1ff --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/wsgiref/headers.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8f/9f/98/da7eb853d512fd795dd09b60ad68c0f1e625a3a04eceef3d1ca743b1a1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/wsgiref/simple_server.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/wsgiref/simple_server.pyi new file mode 120000 index 0000000..7d39a23 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/wsgiref/simple_server.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e2/90/1a/6ec9e9d31e2ecab1ddb717217b3bc8f1cb9dca5e05e8ae159425f95459 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/wsgiref/types.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/wsgiref/types.pyi new file mode 120000 index 0000000..487b810 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/wsgiref/types.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d6/a8/52/d2a556a15d0855f7b76f5cb8333868bbae443edc1bfd02e659f5f9fc8e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/wsgiref/util.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/wsgiref/util.pyi new file mode 120000 index 0000000..309dc8f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/wsgiref/util.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2f/2e/1c/b6dd8b3a96cff6de5878a53dc30a2fee2375b85a9e02d06327e3b51ed5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/wsgiref/validate.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/wsgiref/validate.pyi new file mode 120000 index 0000000..3f42f96 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/wsgiref/validate.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/60/1f/f2/848cfd0e5ddbf2cffe012a73b0fa514a90b00ae6758cc68b001ffbab88 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xdrlib.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xdrlib.pyi new file mode 120000 index 0000000..7c752e3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xdrlib.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c8/76/67/0ec6fb87e92e319d389908a9ed84630525fe83dd3448e1341e11b2325e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/__init__.pyi new file mode 120000 index 0000000..906833e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/06/a3/17/9ec5e260fa1a94ccc46a49fa9980f18325b937650f174028ef13ee1956 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/dom/NodeFilter.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/dom/NodeFilter.pyi new file mode 120000 index 0000000..39f95f9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/dom/NodeFilter.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6e/2d/0b/e5210ec64e05c8485fd7ca14f88f0cb1ff52f68fed26dfa655cf777f6f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/dom/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/dom/__init__.pyi new file mode 120000 index 0000000..8851929 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/dom/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/82/37/d6/864c3236863c49e1fa733b5667d5bcc3d13808b802a4778ff2f9c73397 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/dom/domreg.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/dom/domreg.pyi new file mode 120000 index 0000000..5f92f16 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/dom/domreg.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4a/ad/36/199e954625d60b2da5504d5ee3bfc450376bf3cae6599a0a0b11f47e04 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/dom/expatbuilder.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/dom/expatbuilder.pyi new file mode 120000 index 0000000..df1fd5f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/dom/expatbuilder.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c0/8f/de/bb51bcc9a6aab911e667d9984608f2e3334d8490b7f394e348ca1a9918 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/dom/minicompat.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/dom/minicompat.pyi new file mode 120000 index 0000000..df1fd5f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/dom/minicompat.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c0/8f/de/bb51bcc9a6aab911e667d9984608f2e3334d8490b7f394e348ca1a9918 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/dom/minidom.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/dom/minidom.pyi new file mode 120000 index 0000000..b1ef78d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/dom/minidom.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0d/23/71/8527ea7739504391e3791647c41da686c8612e40df78099e398e48f4ae \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/dom/pulldom.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/dom/pulldom.pyi new file mode 120000 index 0000000..df1fd5f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/dom/pulldom.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c0/8f/de/bb51bcc9a6aab911e667d9984608f2e3334d8490b7f394e348ca1a9918 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/dom/xmlbuilder.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/dom/xmlbuilder.pyi new file mode 120000 index 0000000..df1fd5f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/dom/xmlbuilder.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c0/8f/de/bb51bcc9a6aab911e667d9984608f2e3334d8490b7f394e348ca1a9918 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/etree/ElementInclude.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/etree/ElementInclude.pyi new file mode 120000 index 0000000..fdb3e2b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/etree/ElementInclude.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e1/ee/9c/aae4ef469c814b55014cda261f982112d4b3307af78a6e55c05033bc42 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/etree/ElementPath.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/etree/ElementPath.pyi new file mode 120000 index 0000000..0186575 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/etree/ElementPath.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/94/95/77/2a5496b9ffda9ee337848470743fa7fa1a4ee1becccc22a0d05c721401 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/etree/ElementTree.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/etree/ElementTree.pyi new file mode 120000 index 0000000..ba1ed36 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/etree/ElementTree.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/61/b3/5f/f2f38bf1a283f8c8d226e7d381e4dc8a9e80dbbd26b97f735a2290cc34 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/etree/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/etree/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/etree/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/etree/cElementTree.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/etree/cElementTree.pyi new file mode 120000 index 0000000..5e04212 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/etree/cElementTree.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0f/6e/51/554e58d526a2e3b110e3d5134adad8698dfd1cca93d4750e66b4a2a118 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/parsers/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/parsers/__init__.pyi new file mode 120000 index 0000000..fb6f15c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/parsers/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/14/76/58/07d6d70eb8f846229482b72da64b9feff466b3d3ea42b1b28e49f4104e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/parsers/expat/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/parsers/expat/__init__.pyi new file mode 120000 index 0000000..557a88a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/parsers/expat/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/aa/6c/fc/b6e3c66d9dab05f46b7d800dc4364dc67f414d05dd77d02e805e700d6d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/parsers/expat/errors.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/parsers/expat/errors.pyi new file mode 120000 index 0000000..e5867df --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/parsers/expat/errors.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/98/7f/58/459b95e2abb392c0cc2c49b18a2b0016036130e865f29d3b673952d971 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/parsers/expat/model.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/parsers/expat/model.pyi new file mode 120000 index 0000000..e839adf --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/parsers/expat/model.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/33/b1/95/75df80c4e87aa06c3acdf38d1004cb32cc402185b6cbd9113979e7f998 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/sax/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/sax/__init__.pyi new file mode 120000 index 0000000..ba66214 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/sax/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3e/ec/40/6046c60d9f86bd91413e1a4a027379f77e5647975159a19b85d50dd4d7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/sax/handler.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/sax/handler.pyi new file mode 120000 index 0000000..20af764 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/sax/handler.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/97/34/6f/7e672c0b83f1d75b61dc2f8e079dce260ad2c471d392058a9059d86082 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/sax/saxutils.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/sax/saxutils.pyi new file mode 120000 index 0000000..0049ed8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/sax/saxutils.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/18/f1/c2/3c955e901c1746e45588008f4b0809e96bd39f76ca2bb55fcb88601700 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/sax/xmlreader.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/sax/xmlreader.pyi new file mode 120000 index 0000000..5569b65 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/xml/sax/xmlreader.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/eb/1b/33/2c3a48f6359eb63f376858588aad9729e4efa7a035be3d204f682b5ea1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/zipfile.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/zipfile.pyi new file mode 120000 index 0000000..dfbc6b5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/zipfile.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/58/3a/e7/06a403289a6c2b0a8001353c0eb6d3e3ff5f8b566d333ffa8f56a7b4e4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/zipimport.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/zipimport.pyi new file mode 120000 index 0000000..94eb80e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/zipimport.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cd/d8/13/3add39a831c111d914f139995d7bbf55e5f8057a6d56c1a762edfd7a23 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/zlib.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/zlib.pyi new file mode 120000 index 0000000..af40585 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/2and3/zlib.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7e/7f/4d/c989e25bb6c6c8b39a8a98cad2605742752a966a3004173904f00cfe09 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3.7/_py_abc.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3.7/_py_abc.pyi new file mode 120000 index 0000000..928e900 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3.7/_py_abc.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bd/17/8d/91d3e78b3ba56d638a19ac4283ee82b254b8cefcc4b6179039accd9713 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3.7/contextvars.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3.7/contextvars.pyi new file mode 120000 index 0000000..a77302a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3.7/contextvars.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6e/e0/b8/b15b53155d5ea96bc9dd7779df299d111edb1d163b45719c376d4717af \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3.7/dataclasses.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3.7/dataclasses.pyi new file mode 120000 index 0000000..94ca83a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3.7/dataclasses.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/29/88/d6/ee24a5678dabac3d59df80afb488d44b33939b695c2e8cc355200e912a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3.9/graphlib.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3.9/graphlib.pyi new file mode 120000 index 0000000..5d3c373 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3.9/graphlib.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4a/9b/7b/376a88fe33fced363a3aa7e7e6ad492a89db3e64271a7ef23013c0abdb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3.9/zoneinfo/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3.9/zoneinfo/__init__.pyi new file mode 120000 index 0000000..cda79b5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3.9/zoneinfo/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/42/37/60/80be3ac7f7de39dc54e1a8a81e154cd3ea1ba3ebe2fcdf9206c811f92e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_ast.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_ast.pyi new file mode 120000 index 0000000..ca5414c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_ast.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c6/03/bf/45614d969282809f8df0ecf430ba0dc6c96e5192baf8b82f33b18793db \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_bootlocale.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_bootlocale.pyi new file mode 120000 index 0000000..45764be --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_bootlocale.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d2/0e/6e/dcec9b520a9b41468adf65e9576398d6f32bfed332beffb159e3f29fad \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_compat_pickle.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_compat_pickle.pyi new file mode 120000 index 0000000..b309bcd --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_compat_pickle.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6e/03/02/e5752e49b2f3a59368d718bf2e6761ba4ed812435e84853755bc491740 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_compression.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_compression.pyi new file mode 120000 index 0000000..006262d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_compression.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/da/81/26/cb7ec1ec7380017a8fbc3b5d941808b88e2f784dd99ff6a198c65e93d2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_decimal.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_decimal.pyi new file mode 120000 index 0000000..e7adee8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_decimal.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/80/a6/fc/245f6a960b3e93b95691ceb1d7769d1fdd7c27d2014a1daf2493b6f84b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_dummy_thread.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_dummy_thread.pyi new file mode 120000 index 0000000..50b7155 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_dummy_thread.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7a/ea/ea/470b8a5c2ba0b1728107fe3976163031f1ac10e23724cdfa314d3fdfc7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_imp.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_imp.pyi new file mode 120000 index 0000000..5759fc8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_imp.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9d/ca/d4/689d4ffa00e4b693d868010311de8ed2f599a106d9684518909244522d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_importlib_modulespec.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_importlib_modulespec.pyi new file mode 120000 index 0000000..4c079f9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_importlib_modulespec.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d8/7d/41/ab0926cdebbb55d841aff643e181982df1427103ed7ebb3c55cf3e0742 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_json.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_json.pyi new file mode 120000 index 0000000..09fbf05 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_json.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4c/ba/85/71b0edb3a80f0d018ed54050baeed282bef4ef3239988b1cd27138e3af \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_markupbase.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_markupbase.pyi new file mode 120000 index 0000000..678e278 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_markupbase.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6f/19/92/37a6b0f95deac1285247cda093697f66b085d0a19084fddb691a3b4cf1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_operator.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_operator.pyi new file mode 120000 index 0000000..66cc874 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_operator.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/71/6f/20/9dd890bf619ee92c435354d80a67432758e30a944ee01969dc8cd8049e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_osx_support.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_osx_support.pyi new file mode 120000 index 0000000..cfbe9f0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_osx_support.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/53/3c/65/617bd6c63fb8d3dbb0bf5425aedd83cfb4a58e80466f1a509f64607a89 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_posixsubprocess.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_posixsubprocess.pyi new file mode 120000 index 0000000..132d6bb --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_posixsubprocess.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/09/20/e4/85d9bcec5089cc33d267b9114aeaee2da5090853bafa0ae75c902884f8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_pydecimal.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_pydecimal.pyi new file mode 120000 index 0000000..5529385 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_pydecimal.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/76/ba/1a/da9d033e394ba5fb53932b1e46d462596c05105b819ac2a60040729072 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_sitebuiltins.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_sitebuiltins.pyi new file mode 120000 index 0000000..66b00c9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_sitebuiltins.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8e/81/e6/26d730baa4c9cd80bd633f04c6c00ead3d8898e6cbed1ccad49fd82a60 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_stat.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_stat.pyi new file mode 120000 index 0000000..88822c6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_stat.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ac/e7/ea/02b380a25ff33da80bea5c91a1d6e62fddd0b1bd6f97550c373f71e501 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_thread.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_thread.pyi new file mode 120000 index 0000000..83509bc --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_thread.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6f/04/51/574b6e1309de5677382d205e623099a7aadb515031cc5535ef14715737 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_threading_local.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_threading_local.pyi new file mode 120000 index 0000000..a67b2b9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_threading_local.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9f/1a/48/d67e419aec75ca6164d651a05a0cd2cea147203bc7ff2fc527348632a7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_tkinter.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_tkinter.pyi new file mode 120000 index 0000000..f64c2be --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_tkinter.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c8/86/80/40e5de41d630e4acda042a51c7c55927aee486f3ecf79ce5648f5c3389 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_tracemalloc.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_tracemalloc.pyi new file mode 120000 index 0000000..9e44965 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_tracemalloc.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d2/6a/77/3c901c8c834634b53ca66c80dbfd7c49f18c81537ca7bd90373f937cf5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_winapi.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_winapi.pyi new file mode 120000 index 0000000..d95ad11 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/_winapi.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7b/cd/16/8f5acab38d70bf84f8b5554679d1a781359f5c1f186a5ece4b789744ab \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/abc.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/abc.pyi new file mode 120000 index 0000000..7f7c79b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/abc.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b0/50/f3/bba5b7f9623c5615aefb77fba32f3dc6ef93d9a77902464eafea1a29b9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/ast.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/ast.pyi new file mode 120000 index 0000000..73b309c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/ast.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ac/dd/b3/5c1c554a1139d3cd14ab70fa27c705554d0f32e9a11ce58b181a7a1321 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/__init__.pyi new file mode 120000 index 0000000..98f6d42 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bd/0a/81/b62e6509eb01b49a2c53a21247f4da197527a27e55da78ae1a62001603 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/base_events.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/base_events.pyi new file mode 120000 index 0000000..a5e79ab --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/base_events.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cf/71/d6/0936e679f9b4bee9c6aa44302f67efcc3c075b17901b223a16dcdf1c80 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/base_futures.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/base_futures.pyi new file mode 120000 index 0000000..ef9e786 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/base_futures.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4b/62/2a/5c23858a4977ff25240ae88e36dd26be6bf15bf39c2b9661956bf7f1c4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/base_subprocess.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/base_subprocess.pyi new file mode 120000 index 0000000..eb5ea40 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/base_subprocess.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/05/8f/83/83e73f6c411ef4e32adcb91396c7f76fd19f0d3cbd1a91ba7dfee8b3e6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/base_tasks.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/base_tasks.pyi new file mode 120000 index 0000000..c51d1ce --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/base_tasks.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5a/09/28/2685d08f5d43a7c10530da6ec746990f90bada45cec8456e3e04c750d5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/compat.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/compat.pyi new file mode 120000 index 0000000..f41d806 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/compat.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e5/17/18/af9c6760fef25de04de0228649e61e35750d354d4e0a47a5888e5f9973 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/constants.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/constants.pyi new file mode 120000 index 0000000..1993002 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/constants.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9a/2e/61/430f3bf4797125eea3201e5919c145ec8c1448dc15dfd7545cfd78246f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/coroutines.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/coroutines.pyi new file mode 120000 index 0000000..cd43a13 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/coroutines.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/29/23/05/ecd456f1aeb514590c5d26c8f88f79ed5f3e727238bebfb2e633c870b1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/events.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/events.pyi new file mode 120000 index 0000000..52e033e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/events.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/19/f4/2d/d6954949cc307682893882d3045140e1ec3fa93498b5e08cf96ea56902 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/exceptions.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/exceptions.pyi new file mode 120000 index 0000000..3781fe9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/exceptions.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/75/13/a1/74b46308686a1fb6c8dffc946cf06beda20a04cd4ab3f8968beec73aad \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/format_helpers.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/format_helpers.pyi new file mode 120000 index 0000000..da6966e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/format_helpers.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/dd/f5/4c/048a9fc2e33a78b5a39cdbf438574d644b3dba4da89f935b69e0935b94 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/futures.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/futures.pyi new file mode 120000 index 0000000..ffa418d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/futures.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a4/ac/a8/e1a68905b3cb1c365ea4f72523c03ed9f95bcc6c7ad295a20a7e3d753c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/locks.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/locks.pyi new file mode 120000 index 0000000..04fdd9a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/locks.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/50/5a/35/1feb20e1c380c93d2b8fe45b9bfe7c17247bdcd1af5d3ef4faf6d6316e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/log.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/log.pyi new file mode 120000 index 0000000..68d2d10 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/log.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/42/5f/7b/9e3c4d2a6367efa73cfafa2648033b3fe575e28fb5ed2388806e3b57e5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/proactor_events.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/proactor_events.pyi new file mode 120000 index 0000000..6194f61 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/proactor_events.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/55/c8/19/1c3fd5b2ed154816185dae29653c27b60afda244ab2d9b3eeb1711f68d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/protocols.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/protocols.pyi new file mode 120000 index 0000000..2aa94cc --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/protocols.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/48/11/bf/65e0d2e114b0ababe3d2ea696d17b37092b28d11a9aa758e4964aa96a6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/queues.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/queues.pyi new file mode 120000 index 0000000..3d1f614 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/queues.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/29/63/a2/e58d6df3fbf83657f44f9d318938b8a24375931a54d64c3be139c12c83 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/runners.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/runners.pyi new file mode 120000 index 0000000..38f0f50 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/runners.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f1/fc/32/cda12992242e509040246740e102daea4785066fe88e6d0de4a427da99 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/selector_events.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/selector_events.pyi new file mode 120000 index 0000000..7a91765 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/selector_events.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6a/39/c4/485fbf59217eeb99d459140a249aeaf797c90243ba9985087690d644bd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/sslproto.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/sslproto.pyi new file mode 120000 index 0000000..d9efbbe --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/sslproto.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6d/72/75/0217ca89cc3f8bdf75538b809c8e8b202e4d093a2d6f3217fe8fed1006 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/staggered.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/staggered.pyi new file mode 120000 index 0000000..b3746fd --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/staggered.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e7/2b/1f/ecae0e673268b253ba272badadadc7563ae07585f33b104373d4a99d2f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/streams.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/streams.pyi new file mode 120000 index 0000000..5766f14 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/streams.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/56/39/6f/d018eb070fa3025504ec0605f95dfe1aa31824ef3068d3a92c144ab373 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/subprocess.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/subprocess.pyi new file mode 120000 index 0000000..2ee292e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/subprocess.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a9/e3/14/9949ee0169a6b3d2d87d1e4b7606a8ded5833e1c6ec29ad543dad113a2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/tasks.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/tasks.pyi new file mode 120000 index 0000000..e428c05 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/tasks.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/35/1f/b7/d014ba4e09f95dde6a8ff1cc88dd72bddeb14f40f6d4760b99290e3bc4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/threads.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/threads.pyi new file mode 120000 index 0000000..6f234ea --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/threads.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c4/da/9f/f33d696c222879a3b8c38613cdcbaa3a818a6dbd5b27b2a35e93fbbd65 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/transports.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/transports.pyi new file mode 120000 index 0000000..4cf12c4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/transports.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f3/55/63/5724aae7886de549f26b111a6218c182ddbadf3d27506bb0976ccd5af7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/trsock.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/trsock.pyi new file mode 120000 index 0000000..ddb91b6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/trsock.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1b/2c/2d/ee1252ca1b5cf682060214d9525b35bbfe42fc0b6618a94e0a476ac889 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/unix_events.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/unix_events.pyi new file mode 120000 index 0000000..30301bf --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/unix_events.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c6/76/95/4841b3267dc0293d1e086f60d3169cae3e441bd2ba7c0f0c35b0f6104c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/windows_events.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/windows_events.pyi new file mode 120000 index 0000000..7ee5fb9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/windows_events.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/49/04/38/b70d2e1b116421a163321570a8796953693206dfbb65bd6a50a6cd9863 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/windows_utils.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/windows_utils.pyi new file mode 120000 index 0000000..aba1618 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/asyncio/windows_utils.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b0/fc/9e/2ac26bb0eb121c5a29ea631374f77288e6acadfbc05564422d50c3aee6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/atexit.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/atexit.pyi new file mode 120000 index 0000000..ec6ad33 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/atexit.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/34/b4/fa/19957b0e6b8d7076fe9539f6479993f95d766e26d159ed768adb5639ea \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/builtins.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/builtins.pyi new file mode 120000 index 0000000..01fddcf --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/builtins.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3a/71/c3/195aa3760870a4f561b132bb0c71254e894d4acf0cbdf007130a0bc3ca \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/collections/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/collections/__init__.pyi new file mode 120000 index 0000000..78af6e8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/collections/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/09/15/6e/525e6333899095fd62d57b27db39b52a58d24b45f312f369008da43d19 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/collections/abc.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/collections/abc.pyi new file mode 120000 index 0000000..722d16f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/collections/abc.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/75/5c/76/e5f5674012f7d1471386185b5b7c1ca47e51bb910cfe15b8e3c41e14f8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/compileall.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/compileall.pyi new file mode 120000 index 0000000..180ab35 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/compileall.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/61/83/de/087a96d6ccbf79cc16da074d038244ae638cab38b34eeb3985887ffc83 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/concurrent/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/concurrent/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/concurrent/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/concurrent/futures/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/concurrent/futures/__init__.pyi new file mode 120000 index 0000000..a64a4c6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/concurrent/futures/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/67/25/d7/a7d8b4e7b8db863a3c59e47d498053d1d8459f0c99f8bd5c24fe294168 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/concurrent/futures/_base.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/concurrent/futures/_base.pyi new file mode 120000 index 0000000..e726b50 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/concurrent/futures/_base.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e2/d2/a7/8ba57cc6e7631a381daa6502c966b8690148359acb97323325e808e0ee \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/concurrent/futures/process.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/concurrent/futures/process.pyi new file mode 120000 index 0000000..daf20ff --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/concurrent/futures/process.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/64/98/b5/71567140f1682671d4ba759ffe4512944557fcd05b8f76ac888f3fb213 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/concurrent/futures/thread.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/concurrent/futures/thread.pyi new file mode 120000 index 0000000..6e79e4b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/concurrent/futures/thread.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ee/d8/48/7270d3091fb4fa50798c914de315b3a6de0ca10886cb6bca93298f038c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/configparser.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/configparser.pyi new file mode 120000 index 0000000..eeab388 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/configparser.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bf/f2/5c/72a8b356bb6871c05d5aa2520c689951b0d0697bb612887de802371073 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/copyreg.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/copyreg.pyi new file mode 120000 index 0000000..ca6df21 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/copyreg.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f8/69/92/22e75ec20e316e56572d2bc4ae1a6e9c0322d5bb2a7505045ee8e91652 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/dbm/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/dbm/__init__.pyi new file mode 120000 index 0000000..cfc599e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/dbm/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7f/11/ca/8de7245f3176b35ee0a4767b983d8228ec38daa15a5fca13b1adb05063 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/dbm/dumb.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/dbm/dumb.pyi new file mode 120000 index 0000000..0ea3845 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/dbm/dumb.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7f/56/1c/6d3602cc4f1b7280be27d8cbf3eb4a9704cc315d09063185cee8f81109 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/dbm/gnu.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/dbm/gnu.pyi new file mode 120000 index 0000000..dc68c12 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/dbm/gnu.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cc/c7/28/72800f966d2f90eb7992a595bba7817bb1d9ef8037c65d16ecf82ba527 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/dbm/ndbm.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/dbm/ndbm.pyi new file mode 120000 index 0000000..7ace146 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/dbm/ndbm.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/98/21/03/f9cce5401926dbc72c555bb25855cd436f36c60d6c5009ec08ebda30fe \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/archive_util.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/archive_util.pyi new file mode 120000 index 0000000..0307e15 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/archive_util.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/59/a5/2e/df65d40acb65038cc4d164be3ef03d505d26772b838036d965dd4b3740 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/bcppcompiler.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/bcppcompiler.pyi new file mode 120000 index 0000000..b0f09b1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/bcppcompiler.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7e/07/b6/70c6c6e23a7efa8d08db335cc32921db8b49599b64ea57908001f6349c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/ccompiler.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/ccompiler.pyi new file mode 120000 index 0000000..0c6b7d6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/ccompiler.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/37/7f/30/606e35472884ba8c31fd9be9648a95559622cf53467061c70c9f4c6d6b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/cmd.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/cmd.pyi new file mode 120000 index 0000000..7e2b12a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/cmd.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c2/ab/88/02015ba8b36ca070cf1909b75ae194d77d39e28d6ee05187a6ba48ffd4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/bdist.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/bdist.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/bdist.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/bdist_dumb.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/bdist_dumb.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/bdist_dumb.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/bdist_msi.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/bdist_msi.pyi new file mode 120000 index 0000000..7e1e8fb --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/bdist_msi.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b0/34/aa/1fb4d170e8970b94b8557c49fd81c1f9614fa5ad5fa3c17c8395de5776 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/bdist_packager.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/bdist_packager.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/bdist_packager.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/bdist_rpm.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/bdist_rpm.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/bdist_rpm.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/bdist_wininst.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/bdist_wininst.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/bdist_wininst.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/build.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/build.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/build.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/build_clib.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/build_clib.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/build_clib.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/build_ext.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/build_ext.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/build_ext.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/build_py.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/build_py.pyi new file mode 120000 index 0000000..56b5e69 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/build_py.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/94/15/f2/d904d169e745a559d799dc89a27291ae712300a61589aad51dc71d6f5c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/build_scripts.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/build_scripts.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/build_scripts.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/check.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/check.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/check.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/clean.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/clean.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/clean.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/config.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/config.pyi new file mode 120000 index 0000000..a94796f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/config.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0d/5d/68/308ced543764e3a5b8dc71a2a0ffe7e9bdf1f45812aaf16bdabc0f5686 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/install.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/install.pyi new file mode 120000 index 0000000..0ca6e28 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/install.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cf/f8/31/9f01651e14a272bc7d611b6c267250d581bb9aeeb311167067ed51262f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/install_data.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/install_data.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/install_data.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/install_egg_info.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/install_egg_info.pyi new file mode 120000 index 0000000..9ffb2de --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/install_egg_info.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/59/c9/cb/c9c352496499f19fef1c8a21bb4fb7a8a9c28a1daaa0968604fb634066 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/install_headers.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/install_headers.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/install_headers.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/install_lib.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/install_lib.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/install_lib.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/install_scripts.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/install_scripts.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/install_scripts.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/register.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/register.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/register.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/sdist.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/sdist.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/sdist.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/upload.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/upload.pyi new file mode 120000 index 0000000..30eb97f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/command/upload.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/35/0e/10/6029a10bdf20056d85bf62d6d31cc535923ef6023a0234d6fd4a9e3896 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/config.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/config.pyi new file mode 120000 index 0000000..bbbca16 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/config.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/33/86/fd/ffb3cab0eef80e1b08045a13001e48f7d857ae5049723c60856848f2f7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/core.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/core.pyi new file mode 120000 index 0000000..657214e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/core.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/96/ad/52/f2546a786a8ae94df3eff52c560d9347bc5bc7b6766172747a4228f559 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/cygwinccompiler.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/cygwinccompiler.pyi new file mode 120000 index 0000000..18964b6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/cygwinccompiler.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/63/ba/a1/54ea97ae43d3d32c909ee74d0ad4f30580b69734b7f07079321e39cc42 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/debug.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/debug.pyi new file mode 120000 index 0000000..5c1014c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/debug.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ef/fc/ee/ae2501a876dceb6c7bb4238dabb2d05cbb8afe109a04ad256a84771de6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/dep_util.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/dep_util.pyi new file mode 120000 index 0000000..19b547e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/dep_util.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/40/28/5e/1c40c5ef0688485e36fda6ae9aabd5388713c3eca1e5ee7e09b3ef436a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/dir_util.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/dir_util.pyi new file mode 120000 index 0000000..5b5492c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/dir_util.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d2/71/ee/2c2a99dfa82f0d5685e8fa02efafc9382defe8fff7d747856ae5b56433 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/dist.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/dist.pyi new file mode 120000 index 0000000..d62455f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/dist.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6b/96/d9/bf75892b570003ead72f3d96460bd646bfcaacd4a1cf5868dfb67bde70 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/errors.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/errors.pyi new file mode 120000 index 0000000..69a7f66 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/errors.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/97/55/bf/160a0ff4bf83fa110f140d81cd9bb26e3374955e16057974549fa4ec9f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/extension.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/extension.pyi new file mode 120000 index 0000000..3aa6af1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/extension.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0d/20/93/ad6a7a51540672f95533ed3b1c225434c4fb820c60f3e80604bd612a58 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/fancy_getopt.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/fancy_getopt.pyi new file mode 120000 index 0000000..802f834 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/fancy_getopt.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6a/2f/b4/13cdc79d339c60258ef73ab8b4356f9de7f4e12451a1af85f1b6aca3fa \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/file_util.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/file_util.pyi new file mode 120000 index 0000000..f090624 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/file_util.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/44/5a/62/8b35cc76185c8e2f7ca48b1c7c75b8afa8bd28bcccd83d79800ebf7a8c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/filelist.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/filelist.pyi new file mode 120000 index 0000000..ad5c810 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/filelist.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f9/67/98/1452ac1145233ef6f37996d508e2a43d5fa8a9cdd1a19bcdd9207554e1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/log.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/log.pyi new file mode 120000 index 0000000..afd7d60 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/log.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/09/75/62/1e605521a74de035ab49d753f653753b559a363a71bdacfe294083f02d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/msvccompiler.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/msvccompiler.pyi new file mode 120000 index 0000000..38f5205 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/msvccompiler.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a9/02/eb/dba9ac7e18f3fa8989bad59c4478a4dec84b875088b7b0832378c17772 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/spawn.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/spawn.pyi new file mode 120000 index 0000000..44d9670 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/spawn.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/88/37/62/d96bd24fdc9e14394a5b2d169727bec7aed6f9a8799ed6bb12e456d96e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/sysconfig.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/sysconfig.pyi new file mode 120000 index 0000000..0eb568e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/sysconfig.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/15/27/41/a124ec56f2801790f6964581c311f5e687247c566fe8bd3a9ab81e01bd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/text_file.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/text_file.pyi new file mode 120000 index 0000000..7e153a3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/text_file.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bc/24/0b/c208036a8700aaa47bbf55898ce792ff0831aa3239c43932c47265cdcc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/unixccompiler.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/unixccompiler.pyi new file mode 120000 index 0000000..bf23640 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/unixccompiler.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/47/75/4a/95d49f14f20f3c887281eab4284a61b53a748315332e8387774428596f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/util.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/util.pyi new file mode 120000 index 0000000..4036f9f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/util.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/29/2a/57/f2b43aa895ea4e824129dc219697be8ddd5041c69c83bc2c1ffe9d297a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/version.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/version.pyi new file mode 120000 index 0000000..58f2be1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/distutils/version.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f8/c4/ab/7ac30c41b0b133d34397f1e87f89037466269499aa2fc4161c26e58aa3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/__init__.pyi new file mode 120000 index 0000000..27f53ef --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e6/1c/22/9560b0fb5022c1610c51f815cdaf1e4e71f5beca922f80e48f1e38c387 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/charset.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/charset.pyi new file mode 120000 index 0000000..3d95391 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/charset.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b4/a1/0d/e5f76a12f03d2a6b5646a19dbfb30549d23c20a71132b923cef754a724 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/contentmanager.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/contentmanager.pyi new file mode 120000 index 0000000..4358da7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/contentmanager.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d6/89/cc/aa33ffa701450012a45c024ca4bb2ca767826a361bfc399f7465bcf1d8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/encoders.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/encoders.pyi new file mode 120000 index 0000000..40ebf3d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/encoders.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/58/81/34/a041aa8836590a769a5206a73a3dd1207bcda5d1f51fafee62c6fd0425 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/errors.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/errors.pyi new file mode 120000 index 0000000..4002ddb --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/errors.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e6/e3/23/64d0ce3dc40120e074f2c98c3a8d7db0720073f65c6ec6f3e0e023ae53 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/feedparser.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/feedparser.pyi new file mode 120000 index 0000000..0da9bf8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/feedparser.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f8/49/75/b96ab7dbfebd1f45ad229193e9e884b3209045c1ee194c4a4a513b39d2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/generator.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/generator.pyi new file mode 120000 index 0000000..bd6dd38 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/generator.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/68/15/88/8bd9e12525913a8c43d29224d1330bb748f67a9aff0127a7f2289428fb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/header.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/header.pyi new file mode 120000 index 0000000..4fafdee --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/header.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/37/7d/a1/c38186804f367bb47c7690c74274172dfe980012c9e4e19616ebf040dc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/headerregistry.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/headerregistry.pyi new file mode 120000 index 0000000..8e0c772 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/headerregistry.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/33/d6/41/c50fd82487bf95614bcabd0092f824232d1c875ae19d99bb24d213d8b1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/iterators.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/iterators.pyi new file mode 120000 index 0000000..8c230d7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/iterators.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/91/58/6b/654ee1f83e3534166b80553f876c5e06cd36bd244be7a95fc57891cbc8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/message.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/message.pyi new file mode 120000 index 0000000..8f71272 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/message.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e0/e5/4d/f3709269247271bb78366c2b1f007ae37fbae626e496e22242a35ae0eb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/mime/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/mime/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/mime/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/mime/application.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/mime/application.pyi new file mode 120000 index 0000000..7ae83b5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/mime/application.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d6/7b/ea/b91315de97e2a7313f0dbefbc5003662256c864b256eb47a2896573769 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/mime/audio.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/mime/audio.pyi new file mode 120000 index 0000000..f098016 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/mime/audio.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/86/c8/f6/db3c49c0b945e933d70f344c92cbb8a14a319f2a54b2161e9f15d2904f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/mime/base.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/mime/base.pyi new file mode 120000 index 0000000..1d82c90 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/mime/base.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3c/b4/d6/692b226fbe7cb3ec684cf404e37b5e4bebd2b5fee73a83cb8aafdebc78 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/mime/image.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/mime/image.pyi new file mode 120000 index 0000000..9e9e202 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/mime/image.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0e/90/ce/c665bb9379c5f16ccf85a78b2f261635e6084205b5bf9394eefdd4e3f1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/mime/message.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/mime/message.pyi new file mode 120000 index 0000000..2d03331 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/mime/message.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/05/b6/7b/50bc2adef4faf8c3d2d90166908b96ab1802f6f0cb583f71d33bfda179 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/mime/multipart.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/mime/multipart.pyi new file mode 120000 index 0000000..5b403a8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/mime/multipart.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/09/31/d0/25bb82f990203caca6c6beb60e3b2c9671783f8e51650fdad7be3cd540 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/mime/nonmultipart.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/mime/nonmultipart.pyi new file mode 120000 index 0000000..3cf8bb7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/mime/nonmultipart.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/80/03/7e/84e9a3c73de5706f052b795bbe510ea33ff2846f6b288b25ab758b8a5e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/mime/text.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/mime/text.pyi new file mode 120000 index 0000000..0b6af39 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/mime/text.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ba/ab/ce/4abd92a07adb4dc2e292dd4fec69b42fdb23cb2e9ce537ae5f571bbc16 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/parser.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/parser.pyi new file mode 120000 index 0000000..e1db99c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/parser.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a7/e0/9b/4ae99dff9258ce0912f3518e6687e942e6a67a1e9a8e82ed2627dda724 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/policy.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/policy.pyi new file mode 120000 index 0000000..8f942f5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/policy.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b0/51/7b/8ce61570bc3f8084b6ecaec2c4c15bcfad816d65ccfea54f4106a4cb1f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/utils.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/utils.pyi new file mode 120000 index 0000000..a6505ee --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/email/utils.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/57/ef/0a/562ac199cad37a40d6e935bb82a915ddb3c287697d4492ad1870b28393 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/encodings/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/encodings/__init__.pyi new file mode 120000 index 0000000..e213006 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/encodings/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ab/de/44/ab0f94d9820288f6b03326ab5f2d625825eccf5c15ffbf7765283fe1e9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/encodings/utf_8.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/encodings/utf_8.pyi new file mode 120000 index 0000000..fe116a1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/encodings/utf_8.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/42/f0/9f/d2390233783b7c0d6bcefec807ca2763f72214b3dac92be4050f7968e3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/enum.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/enum.pyi new file mode 120000 index 0000000..b5cc358 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/enum.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/89/8f/ef/105d961e23219a0653b411a713f5ddcdd3f1f74ef4f5cc56d013fda383 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/faulthandler.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/faulthandler.pyi new file mode 120000 index 0000000..83ff702 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/faulthandler.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8e/7e/a0/31d1741846658df153735b2996079ff33228f7d5f51f8e2a816c54f2c1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/fcntl.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/fcntl.pyi new file mode 120000 index 0000000..1661c55 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/fcntl.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/60/d6/38/3850b3c14355cea6a870980dceb4bb930b11aca0b31665dfbfdba41d47 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/fnmatch.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/fnmatch.pyi new file mode 120000 index 0000000..88232bc --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/fnmatch.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fe/c1/f6/335c31b9416bc916033bf2b6797b71c493d24471d146ecf69f352a7fa6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/functools.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/functools.pyi new file mode 120000 index 0000000..e3ea6a8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/functools.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b7/02/d5/3420791debb4635c9f25b6837456c308fd245fd3d8620e2fba657788a2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/gc.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/gc.pyi new file mode 120000 index 0000000..db4aea2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/gc.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/99/f8/7e/f63b6c2cf39a14bb81c24460b75acf8e9b917fa19e97231bf0f263a247 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/getopt.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/getopt.pyi new file mode 120000 index 0000000..43aff49 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/getopt.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/41/45/a0/1008e46448181035fcdc7345ce52eaa0ceed5997eedf972ba0d5e96149 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/getpass.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/getpass.pyi new file mode 120000 index 0000000..c3d88d8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/getpass.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/55/98/d4/ec811e115b4bf271d471645b6ce90d6007a07d24624c373940563e06e3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/gettext.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/gettext.pyi new file mode 120000 index 0000000..dbb182b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/gettext.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/84/8d/39/c0c14052942ab3dc6986498974cd946cb29cbd0f7ef8f34fc0e68f4224 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/glob.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/glob.pyi new file mode 120000 index 0000000..78c0c9c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/glob.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/97/eb/cf/b6cc6a75847af39d98b6c2e1f26f5d4b88363af9d4da10d43c79f0470e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/gzip.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/gzip.pyi new file mode 120000 index 0000000..da497ba --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/gzip.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/87/10/4c/cc13d410494df90d02c8eefffed43c70e1f491ba13e4eaaa6a1dc72e6b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/hashlib.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/hashlib.pyi new file mode 120000 index 0000000..b6d31d5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/hashlib.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6b/52/ed/349186ba45e9ab73f4f7142fa007d4f5a0ec4d1de7674f53ec4c8538bf \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/heapq.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/heapq.pyi new file mode 120000 index 0000000..bce4daf --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/heapq.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/65/72/0c/e3d60b6672e210c490956b7db94cd7e9fc603571f91c843005585c9de2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/html/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/html/__init__.pyi new file mode 120000 index 0000000..ff22676 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/html/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a8/ab/1b/8cdd8e267fc0a14afd6b8cdd142f23b941bd8a2eaba98a771104d21be4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/html/entities.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/html/entities.pyi new file mode 120000 index 0000000..19b417a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/html/entities.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6a/9e/a3/23a170df9e560b4bd277e58673de7ba7f2a90090c638d51e02522d6332 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/html/parser.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/html/parser.pyi new file mode 120000 index 0000000..9534716 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/html/parser.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a1/d9/d3/ca767e0b3d4a94d0b3c51fe7977358fef107960d6285ae031931c25f44 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/http/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/http/__init__.pyi new file mode 120000 index 0000000..ef329e2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/http/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6c/4d/e2/f7d2e479ab7e49ea344d3026f9d0dab984d336d8a1e75d93b7a8a3f46f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/http/client.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/http/client.pyi new file mode 120000 index 0000000..2b8d924 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/http/client.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/37/e0/88/be1aaf8fb3219cc0cafab872b87e4582c0500a3b1372e3f6df42ec1fb3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/http/cookiejar.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/http/cookiejar.pyi new file mode 120000 index 0000000..6ae60f1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/http/cookiejar.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bc/8b/3b/512ebb1a24540d59aafea750f5ae3cb3822fef7878fd2e83f0e62b35c0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/http/cookies.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/http/cookies.pyi new file mode 120000 index 0000000..cb60692 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/http/cookies.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a5/f5/eb/ccabac683facc59b2ff763fce15c34b20a06ac4f8a2a18ae5e6d79bf3d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/http/server.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/http/server.pyi new file mode 120000 index 0000000..f72e78a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/http/server.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0b/d2/e0/399c39668018cdb5cdfb2f415dd4b7d626848b0c28f90a729e42d2fd03 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/imp.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/imp.pyi new file mode 120000 index 0000000..6537615 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/imp.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ff/37/7d/dffdbcd8f982f1caa29b714f52c15e62b225f3e769fd615a6ffbfb9da7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/importlib/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/importlib/__init__.pyi new file mode 120000 index 0000000..8ecd39c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/importlib/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c6/ea/be/d39a910f221105eb6ab8c5ff241d5d31cfc12e67b45806773298208cf4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/importlib/abc.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/importlib/abc.pyi new file mode 120000 index 0000000..3fe0a3e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/importlib/abc.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a6/89/57/c77c2def2d84418a9f343ede0f5380d2132dd6e706fef428002b6fab85 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/importlib/machinery.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/importlib/machinery.pyi new file mode 120000 index 0000000..1d5f49e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/importlib/machinery.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/15/7a/b4/1a088662b251b5928defa9a545546eba6f3c6dd8aafe4fd9b85d3c235f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/importlib/metadata.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/importlib/metadata.pyi new file mode 120000 index 0000000..35780e7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/importlib/metadata.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7b/eb/82/63843b4aef9d4de79497eb06505f45efeef455dda17ff090d98d084fd9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/importlib/resources.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/importlib/resources.pyi new file mode 120000 index 0000000..4ca585b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/importlib/resources.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cd/88/d8/cf98051d2d5e4f9ae8276825befaa15708c90642ddc64318523dc5849a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/importlib/util.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/importlib/util.pyi new file mode 120000 index 0000000..841cb68 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/importlib/util.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6e/aa/97/c78dd2c8708211135eee303e8ba3237d47723e942d8a6b6eaaa4ca1763 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/inspect.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/inspect.pyi new file mode 120000 index 0000000..626c1ee --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/inspect.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c9/84/e1/16a60b3d4253a33e05cfd2d8c48f9927cf64f78c2aa6f854a0ad4af900 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/io.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/io.pyi new file mode 120000 index 0000000..c447a45 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/io.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/39/01/d0/87bec0bc5d70a88a9ea943e21c33bd9ca8115f8e4ee9980ead06a9ef11 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/ipaddress.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/ipaddress.pyi new file mode 120000 index 0000000..37185f1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/ipaddress.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ef/81/63/d728fbfad80e25e49247c2cabdfa885326355334d037aabf96b51c8295 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/itertools.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/itertools.pyi new file mode 120000 index 0000000..5cd1b8f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/itertools.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/52/9d/b5/442f735063cb920def1eeb90ee2496a6984109e586047d13c67d66524e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/json/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/json/__init__.pyi new file mode 120000 index 0000000..6f9423e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/json/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/75/61/1c/22748976f65aa4d8ddd95be792c5072b28f8fc05525496aca7bbaa141c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/json/decoder.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/json/decoder.pyi new file mode 120000 index 0000000..a6675dd --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/json/decoder.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f3/9b/4e/3c5bd7ada52c992816d529fb14fa8a031496c0f6708c067b01ae823053 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/json/encoder.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/json/encoder.pyi new file mode 120000 index 0000000..a6f96a3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/json/encoder.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/14/86/55/a3016c3421a20002aa9e885b39092614ab2fba3bf0933936aaed0e0928 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/json/tool.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/json/tool.pyi new file mode 120000 index 0000000..a1793e8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/json/tool.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/77/87/f6/d901b0a5bd59b4393ed529fbd9fb6fa388a7702e44d890229268f37c92 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/lzma.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/lzma.pyi new file mode 120000 index 0000000..a50bc88 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/lzma.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b7/c8/cf/727abaa392f5b779ca770fdd99e145a2fc020244199ca9cc96d132a537 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/macurl2path.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/macurl2path.pyi new file mode 120000 index 0000000..c196c5d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/macurl2path.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/22/31/97/c62ed796b6c9c087297e2b70b8a41647adf9c8b39fe92877375a36e43a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/__init__.pyi new file mode 120000 index 0000000..e04821f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/27/7a/43/cdfbfdddbd404b885febd8e1ca89ef8569ab8f57986c27270290969542 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/connection.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/connection.pyi new file mode 120000 index 0000000..74c3e1f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/connection.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/45/e0/9c/87a30667e9b84d2a3a6d214752ff5bcb1bbbf60d863fb7219d89a10fcc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/context.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/context.pyi new file mode 120000 index 0000000..39c8020 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/context.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2d/08/ab/7a8b5d9ef575beba233fe05382d4b2019a62bacd8d1ab6e5d646d4a667 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/dummy/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/dummy/__init__.pyi new file mode 120000 index 0000000..9f5395b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/dummy/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d2/7e/62/ac3471e8be90f0d9510b1abdc3e0e59380e1261886c5b1621533d94a03 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/dummy/connection.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/dummy/connection.pyi new file mode 120000 index 0000000..c8bbeb4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/dummy/connection.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d6/1f/90/c8ee7b1d355037f3a2263ba2369f5048492e5ca643751fa3ae16acc38e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/managers.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/managers.pyi new file mode 120000 index 0000000..b8c8426 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/managers.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fe/8c/17/ff53ee9bb9a76035c52ad93bd93f0a1df72474d97f860f054f9014b284 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/pool.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/pool.pyi new file mode 120000 index 0000000..dbb64a5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/pool.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/67/3d/4b/c7e969b10ac91e0b004bac6a094aac87617e13a94fd08bbf55ce115c0e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/process.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/process.pyi new file mode 120000 index 0000000..22cafc4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/process.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/12/ea/64/ec47194971c47bf2dc5cab7fb98fe862de591a9c05a08555540882abbf \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/queues.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/queues.pyi new file mode 120000 index 0000000..e02cd17 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/queues.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7d/74/3d/81073cc2a626120c0108ae9ba5a4cb511fad3c6019c6d003030e8e754c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/shared_memory.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/shared_memory.pyi new file mode 120000 index 0000000..2061579 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/shared_memory.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a1/91/19/484013751e4fa8912dc9de84dd95ac4ac33f9a3bce5bf0918558cfd493 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/sharedctypes.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/sharedctypes.pyi new file mode 120000 index 0000000..fbe3994 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/sharedctypes.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/aa/0f/7b/d2a17b432d279c858f9ea577ab44b2731c74759015eb415af3ca14c8e3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/spawn.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/spawn.pyi new file mode 120000 index 0000000..ee49a7f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/spawn.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/70/c4/5c/9b69f78673accc8072305906dc7ecf6ad4f8ef6cd68be83eb3c65d90f9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/synchronize.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/synchronize.pyi new file mode 120000 index 0000000..7243e2f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/multiprocessing/synchronize.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/65/43/d5/2f7eacdc035fe1d8afae22d6a601d8141bdad3dff4f482bb84e4534a7b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/nntplib.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/nntplib.pyi new file mode 120000 index 0000000..2ebc527 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/nntplib.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/29/20/a3/8b5f69b60167af6eb32a5ce02ee94aeded0b49f3cb6472c148c298379e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/ntpath.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/ntpath.pyi new file mode 120000 index 0000000..f1a42a0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/ntpath.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/31/91/b9/b9c4fb744bc025816c24737b48733616bb383727f778b9ba56a854017d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/nturl2path.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/nturl2path.pyi new file mode 120000 index 0000000..62b6b97 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/nturl2path.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/13/8f/e0/e9c17529b698dd6c6e1fe2b4f9f76863f03079ae03d90d2140215fde94 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/os/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/os/__init__.pyi new file mode 120000 index 0000000..781a6a6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/os/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b2/a6/fd/ff3663784e3881d0e77a984f4088fcaf32d953c588b95023d77a9c76ee \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/os/path.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/os/path.pyi new file mode 120000 index 0000000..f1a42a0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/os/path.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/31/91/b9/b9c4fb744bc025816c24737b48733616bb383727f778b9ba56a854017d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/pathlib.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/pathlib.pyi new file mode 120000 index 0000000..dec4c61 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/pathlib.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5b/19/c0/4b3d1069e80c2c0cea967fba1b9dbd0c656e6fe260f03f25c961a31923 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/pipes.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/pipes.pyi new file mode 120000 index 0000000..816f633 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/pipes.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/72/09/1e/ea70c15cc84b92971452c57fcbad6b736ba3282c9d15aea4977a1855d5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/platform.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/platform.pyi new file mode 120000 index 0000000..8c82290 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/platform.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fd/ae/1c/ba077dba8cbca735b4284d14d1f781d8ee64e02a355ff55e2876e06c64 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/posix.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/posix.pyi new file mode 120000 index 0000000..7a54db2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/posix.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/60/d4/fe/4b0fbc1c52ca9d778283619137deebd0aea98a89561cfba20fea8f2ba9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/posixpath.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/posixpath.pyi new file mode 120000 index 0000000..f1a42a0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/posixpath.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/31/91/b9/b9c4fb744bc025816c24737b48733616bb383727f778b9ba56a854017d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/queue.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/queue.pyi new file mode 120000 index 0000000..3e86c61 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/queue.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5b/56/85/e6f2e904c4e797839b7a41f0e01ebb59b863a144ae92bcf783aa296b49 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/random.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/random.pyi new file mode 120000 index 0000000..afb7fbb --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/random.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1b/73/41/e493247c4368f2fd6ee97d34735f95d87117e16f5f46a70d89b35d18d7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/re.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/re.pyi new file mode 120000 index 0000000..179fd6d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/re.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/13/5c/0f/9375bb329fb45526adcc4975591d39f325d68726aefaf25f16caf83afa \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/reprlib.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/reprlib.pyi new file mode 120000 index 0000000..44c45a2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/reprlib.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1e/7e/4a/ee7bf0f62e2ec32af11fb0644926c0f3f9daff6e2de9827c625797d1c4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/resource.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/resource.pyi new file mode 120000 index 0000000..509fd32 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/resource.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/25/ef/7a/23359213905990bdb94d70b2837c156c63b6ccc1c6acb8e3a8a825fa06 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/runpy.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/runpy.pyi new file mode 120000 index 0000000..281f5b3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/runpy.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/91/83/04/31dd641ebf4b9af433b7dface315eb000b61feea7346dc5b917b65febf \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/secrets.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/secrets.pyi new file mode 120000 index 0000000..f5e5658 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/secrets.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/df/cc/5d/bdc6ba895a87965000f297e2457327485119fc06a44c21e356392c1c8a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/selectors.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/selectors.pyi new file mode 120000 index 0000000..d77e24a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/selectors.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e4/c8/37/e9991ee8cf142f8b7dd50b830d8e4b5fa907c2096e530af8cc649ecc19 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/shelve.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/shelve.pyi new file mode 120000 index 0000000..402413f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/shelve.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f4/d7/4b/d9065877d5adaaccfdf7519fae815b679e7795eb18b0aba32990ab3db2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/shlex.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/shlex.pyi new file mode 120000 index 0000000..6c6b734 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/shlex.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a5/5b/6b/dc7738fd6c7baa071f40f7fa0dea587a6b65ad0699e7c97b8dc9327152 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/signal.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/signal.pyi new file mode 120000 index 0000000..73a88a2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/signal.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/68/55/65/f0ea779f82404218ff8c4b5ae396861a65d0722211b304db9b1e5527af \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/smtplib.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/smtplib.pyi new file mode 120000 index 0000000..b588885 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/smtplib.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0e/86/c0/379505b0ae3570e4a5fe13ea44142c9217654f150f4db2411f7887efe9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/socketserver.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/socketserver.pyi new file mode 120000 index 0000000..388ac0e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/socketserver.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ec/04/8a/15617aef040e78f8b91d1dd1a84b8001bdb1aa47f562b461966352e114 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/spwd.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/spwd.pyi new file mode 120000 index 0000000..3aa4e82 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/spwd.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/68/09/a4/4b9ebef74abb85f28c9290265227db110cb7d9ed9cfa05bf2951d3127f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/sre_constants.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/sre_constants.pyi new file mode 120000 index 0000000..0bfddf7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/sre_constants.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8f/9c/69/df350fea2a31f35fabacc4128ba3aa0bbb3df4f5e77322fa6028f03007 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/sre_parse.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/sre_parse.pyi new file mode 120000 index 0000000..70c2a0a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/sre_parse.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/25/80/c4/1cd406f93c3f0708fbedfa46ec8fbb6c8936b2457678c8c843b8206dc2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/stat.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/stat.pyi new file mode 120000 index 0000000..57f80d3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/stat.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/59/81/b4/0ce344371b5ae5e7ec00dbdc593422cbf92407936349897ba09060aeff \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/statistics.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/statistics.pyi new file mode 120000 index 0000000..b0c88ad --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/statistics.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9d/55/17/ed3720ea665eb93cdd3960832c7fa350b1e508239ffacd119cf84ad0ae \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/string.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/string.pyi new file mode 120000 index 0000000..9435696 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/string.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/08/d0/99/4b6daec7b24862fd269bd286275b0f5a4e3ece2c0dd7748a002d2edfa3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/subprocess.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/subprocess.pyi new file mode 120000 index 0000000..a72dce2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/subprocess.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/69/54/de/38cb45ab8b893274979191bd600f238d7761c7163fca3a387bd98b32a2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/symbol.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/symbol.pyi new file mode 120000 index 0000000..40293ab --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/symbol.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ea/23/aa/05c6a26b97fd519717c59683cbda810380687b7e54cb85b142684559c8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/sys.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/sys.pyi new file mode 120000 index 0000000..7ba1292 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/sys.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ed/6c/86/ea4d7dcfbec205d51490d55088047f631a4a09a9a7b318ec157ff4e8c5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/tempfile.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/tempfile.pyi new file mode 120000 index 0000000..3ccc2bd --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/tempfile.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/17/2c/c3/0890c266f917b31affd1aae6f10def30a8163b9f2fc382cf97c660853d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/textwrap.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/textwrap.pyi new file mode 120000 index 0000000..e95ed08 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/textwrap.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/48/0e/ba/856b83e8a53405f2bc114a44c279bcb4a83259b61c1c955a8ffa977733 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/tkinter/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/tkinter/__init__.pyi new file mode 120000 index 0000000..653adfa --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/tkinter/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cd/76/8b/4cfa26d6a3c56a303475cd88734ff8ddb09dd2042abd4b2ed4d86db2f1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/tkinter/commondialog.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/tkinter/commondialog.pyi new file mode 120000 index 0000000..f1781b8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/tkinter/commondialog.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/19/75/31/2fe6361b66370e07cc34c369094cee46767be3a2228fe479e995c2bba1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/tkinter/constants.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/tkinter/constants.pyi new file mode 120000 index 0000000..2abacef --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/tkinter/constants.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/59/f0/52/78a4c1e7635f3d515db1d691ae7b260cebd3dc5a0ff23e102b54f7cb15 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/tkinter/dialog.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/tkinter/dialog.pyi new file mode 120000 index 0000000..a74cf00 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/tkinter/dialog.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4a/a4/6d/da537644c3ad8f907d43587bdf17316d52537d9d1b6337e01f49e73696 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/tkinter/filedialog.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/tkinter/filedialog.pyi new file mode 120000 index 0000000..f02468f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/tkinter/filedialog.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c4/ce/03/78f67107cd5cb54053e56a7a8717d0010017aae9c77efe6275c571ef58 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/tkinter/font.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/tkinter/font.pyi new file mode 120000 index 0000000..6e2f6fe --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/tkinter/font.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1d/57/9a/929fe5ed5aa1eac6da92967a5e58a54f6a08421400e406a37cb84036d6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/tkinter/messagebox.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/tkinter/messagebox.pyi new file mode 120000 index 0000000..30b0b0d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/tkinter/messagebox.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/43/4f/ab/2b9c1705b6f3bf1e0ca5ff767484cf80becbc23c3cb7808b7e9615d21c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/tkinter/ttk.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/tkinter/ttk.pyi new file mode 120000 index 0000000..0cd4f3b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/tkinter/ttk.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7f/95/b9/80401ab8394dcc1049edee37b6ecaef7f4b3740e2b5b146184e1e51af1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/tokenize.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/tokenize.pyi new file mode 120000 index 0000000..d457a00 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/tokenize.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/30/a3/24/67913e69920e6d62689b9535fb825c28c114bb292428336cd6d724a363 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/tracemalloc.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/tracemalloc.pyi new file mode 120000 index 0000000..817a559 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/tracemalloc.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/56/a3/dd/de4887c362cce726f4603b63fd1c7e91294e5289f65b7712bb5778f4a6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/types.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/types.pyi new file mode 120000 index 0000000..b0ec3cf --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/types.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2a/c4/d7/2dae1c8a6b4dcfa1c630e9fac211a1d3bb51d0d264735fcf69b63a9770 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/typing.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/typing.pyi new file mode 120000 index 0000000..4505f39 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/typing.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/96/1e/7e/292ddc16b61bcb793512d764b1aebf21905a4ddd15fbca37695ff3b5c7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/unittest/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/unittest/__init__.pyi new file mode 120000 index 0000000..deb92e3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/unittest/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9a/8b/7e/b2d5b4db0dcfc57ed0f1771733ec0d3e4c880a450472d85a4eecc8321e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/unittest/async_case.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/unittest/async_case.pyi new file mode 120000 index 0000000..0225258 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/unittest/async_case.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f0/52/fb/147a3d7f96403b5bde5a5842eabd565e90b8241499f63006af9541ae1b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/unittest/case.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/unittest/case.pyi new file mode 120000 index 0000000..0a53615 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/unittest/case.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/87/9c/27/2541a103f270dc6b2dbc571a597e635df1675e765c3835b79cbcdf3fba \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/unittest/loader.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/unittest/loader.pyi new file mode 120000 index 0000000..92bea6d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/unittest/loader.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f3/07/32/edfb1f303b878d548dcc3e9bc263e69d41a2346d0f4cbcf41e92e30d65 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/unittest/main.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/unittest/main.pyi new file mode 120000 index 0000000..4879500 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/unittest/main.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4c/cf/3a/01cfb5a85dcff49a20276ad8c04dc4e1d2a2ee47b51bc4702de04489a0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/unittest/mock.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/unittest/mock.pyi new file mode 120000 index 0000000..9c733be --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/unittest/mock.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/75/7c/08/07435a8fed138e56a6b0a41cae53514e13c75b79ef047b54b76f2747a0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/unittest/result.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/unittest/result.pyi new file mode 120000 index 0000000..4470936 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/unittest/result.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bf/5d/49/5ec9559e22339026275276a5489da774973823e071b7cfcc89effab5e2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/unittest/runner.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/unittest/runner.pyi new file mode 120000 index 0000000..1dda7ab --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/unittest/runner.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/97/e7/95/af3d7779cfa8900b9cd0c19d61ba35f761f67a9dda755c9c63a7675181 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/unittest/signals.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/unittest/signals.pyi new file mode 120000 index 0000000..9d59034 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/unittest/signals.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b8/be/f3/f6ff35b2783a3ed23e16ac1e1fb8de7fba38d5f403dc02fc5a8231b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/unittest/suite.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/unittest/suite.pyi new file mode 120000 index 0000000..25fb82e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/unittest/suite.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/60/f8/3f/35e56e58e05e402748fcd1cf17244386c2f2e84d2b8261fdea33728f9f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/unittest/util.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/unittest/util.pyi new file mode 120000 index 0000000..080bc9d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/unittest/util.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ae/cf/1a/50ac1880041fa96626b32f8e10c75c36078138c92d99ffb09858ddebb7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/urllib/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/urllib/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/urllib/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/urllib/error.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/urllib/error.pyi new file mode 120000 index 0000000..9075dff --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/urllib/error.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f5/54/e8/4ade610d9a3f68a6cbd8c455c10d35f6227d2c59a568983984f3b14ec0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/urllib/parse.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/urllib/parse.pyi new file mode 120000 index 0000000..89db74a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/urllib/parse.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ca/3f/f1/5f6aafd45a04b4924e93b9da0c8455c6e18a2b0b935a896cced01e906e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/urllib/request.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/urllib/request.pyi new file mode 120000 index 0000000..2992209 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/urllib/request.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fa/d1/54/ecc71c7ee7c3f08b2cf4ac8b4b4ba8598997feade529ea9925fff1e802 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/urllib/response.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/urllib/response.pyi new file mode 120000 index 0000000..f80cbeb --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/urllib/response.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/94/5b/f4/4565760fd42b912ad79420ff331f6229d0b3e9390eb93cba040e1b75c1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/urllib/robotparser.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/urllib/robotparser.pyi new file mode 120000 index 0000000..0a0cea1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/urllib/robotparser.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bd/35/87/36d71159c8039370f094fbf650b07dd77008f25e89a5b74c01a4e79497 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/venv/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/venv/__init__.pyi new file mode 120000 index 0000000..063d35d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/venv/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7f/fd/92/56485e3c1b73aef2957155724bbf55287cba577ec4ffdf53a094669d79 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/winreg.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/winreg.pyi new file mode 120000 index 0000000..1de25da --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/winreg.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/63/3d/b0/1bedf80705d6c7825a5364ea3e31e52e6fde88fa002d09bdeca19c236c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/xmlrpc/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/xmlrpc/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/xmlrpc/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/xmlrpc/client.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/xmlrpc/client.pyi new file mode 120000 index 0000000..1af0797 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/xmlrpc/client.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/89/a9/39/b0822aa2ed0e2ce0cbf033c56e900014edff93c4a62079a02ef3d871b1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/xmlrpc/server.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/xmlrpc/server.pyi new file mode 120000 index 0000000..10cd7c4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/xmlrpc/server.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3a/0b/8e/5bcd7c48e69f60af6502badf3adecdc3b3607da19cc7d111b75ac1c56a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/xxlimited.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/xxlimited.pyi new file mode 120000 index 0000000..66d5e8b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/xxlimited.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/21/e2/f4/a684a0a04f2fbdda3dde5b1c60bf6175cdb1a9f4a09f3cdbd6243a8607 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/zipapp.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/zipapp.pyi new file mode 120000 index 0000000..7bce2cc --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/stdlib/3/zipapp.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/82/35/ec/30973d3ab42116945a51566bacdec00b0a3ea0caf9e20d0a4cac74cc84 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/OpenSSL/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/OpenSSL/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/OpenSSL/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/OpenSSL/crypto.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/OpenSSL/crypto.pyi new file mode 120000 index 0000000..a1ab3e8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/OpenSSL/crypto.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/37/94/e6/4ef1724f92b342ca07754ef1da753f1b529fe534d01759852be1c1c0c9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/concurrent/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/concurrent/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/concurrent/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/concurrent/futures/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/concurrent/futures/__init__.pyi new file mode 120000 index 0000000..73cfb01 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/concurrent/futures/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cc/06/67/ebda21b1c76d2fbae8b671f2c52bbb8f3855330d34e40346ec9d3d6a9c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/concurrent/futures/_base.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/concurrent/futures/_base.pyi new file mode 120000 index 0000000..1eae8db --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/concurrent/futures/_base.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ac/f4/97/2616fe2ca3fca9c157f58428bb4c02b37dede9adff8607dd0f5ccedbbf \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/concurrent/futures/process.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/concurrent/futures/process.pyi new file mode 120000 index 0000000..4ab16cf --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/concurrent/futures/process.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ac/69/90/1d3487c15b1754fc70bb847579fb94d1bf03d60a80106f4dfd71f7bebf \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/concurrent/futures/thread.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/concurrent/futures/thread.pyi new file mode 120000 index 0000000..50f6335 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/concurrent/futures/thread.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8c/48/8a/961606de9f8c38e1295857981cd38accaf6f2fb7806047be6c8d95e176 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/enum.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/enum.pyi new file mode 120000 index 0000000..b5cc358 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/enum.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/89/8f/ef/105d961e23219a0653b411a713f5ddcdd3f1f74ef4f5cc56d013fda383 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/fb303/FacebookService.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/fb303/FacebookService.pyi new file mode 120000 index 0000000..e253851 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/fb303/FacebookService.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ca/95/62/4e1c5af7ecfefc5b007e81e25e3f75ef9b5305fa8ad957f6fbc1fb10bd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/fb303/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/fb303/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/fb303/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/ipaddress.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/ipaddress.pyi new file mode 120000 index 0000000..58340d3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/ipaddress.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a6/44/cd/79e41f78eadd99165ddda65a9c85a4e2f8325bc6db0ce7eaacbad9bef3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/kazoo/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/kazoo/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/kazoo/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/kazoo/client.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/kazoo/client.pyi new file mode 120000 index 0000000..28eb80e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/kazoo/client.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7d/43/d4/5bdfb955089b7af7130dba64853928af3f4937205fc3a7b4de5aca831b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/kazoo/exceptions.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/kazoo/exceptions.pyi new file mode 120000 index 0000000..2262498 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/kazoo/exceptions.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ec/38/50/df132deb79558a7a1642fd2fc08e95986d887cd3e53292d11aefe0abeb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/kazoo/recipe/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/kazoo/recipe/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/kazoo/recipe/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/kazoo/recipe/watchers.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/kazoo/recipe/watchers.pyi new file mode 120000 index 0000000..d9e29fc --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/kazoo/recipe/watchers.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3f/17/70/af1d7447fa2bb0b54836ca02b32f932fa6bde84ba646c10d7f61b5d411 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/pathlib2.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/pathlib2.pyi new file mode 120000 index 0000000..31004d2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/pathlib2.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/43/db/ea/555ad0a6958bbc6786013ae7ebafff2f2cc1c85c60590d2668d5296209 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/pymssql.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/pymssql.pyi new file mode 120000 index 0000000..1f3005b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/pymssql.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bc/90/18/d983e51766ab5ee3f6620d39a4537ca27c48aa89c5403e6e3aa7a30106 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/routes/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/routes/__init__.pyi new file mode 120000 index 0000000..b4676b8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/routes/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/26/c8/8e/ba02de0a2587ca11079c2aecfa2d07dbcf26d99683a68704298f34ab31 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/routes/mapper.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/routes/mapper.pyi new file mode 120000 index 0000000..6fc3ac8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/routes/mapper.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a0/1b/a6/4bb03cd312f36ff600f191149ecaa6e588ea13dd6bf26fbd730d252e53 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/routes/util.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/routes/util.pyi new file mode 120000 index 0000000..4be6762 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/routes/util.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/53/d0/2f/11afe9f10d5eab5ce620c2a918c8d8a856ddf584af4dbbfb5b5133e3d6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/scribe/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/scribe/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/scribe/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/scribe/scribe.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/scribe/scribe.pyi new file mode 120000 index 0000000..92edb27 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/scribe/scribe.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d9/87/b1/8fa6267def8a8f8fe38a07a2731ac1d8d119af22943ad02a34df0c9b6b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/scribe/ttypes.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/scribe/ttypes.pyi new file mode 120000 index 0000000..53a6b65 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/scribe/ttypes.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/51/bf/3f/b071456c3b8ca2ea3ec145386e4afe5a152948e54b049eb36fd6a6a81b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/__init__.pyi new file mode 120000 index 0000000..885d3ce --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2f/b0/20/69868c7648b01fa3ec8399d61b4308bd9f205f8b70c09f8695ff3326a3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/BaseHTTPServer.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/BaseHTTPServer.pyi new file mode 120000 index 0000000..7f16583 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/BaseHTTPServer.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b4/68/a9/8f971c807b77127cdbc693f24065159efbbb465b6b50eaa0a96346c29c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/CGIHTTPServer.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/CGIHTTPServer.pyi new file mode 120000 index 0000000..613c862 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/CGIHTTPServer.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a2/60/28/70fa97b5e2c9906b5da1b7598ddcd7ca7cc2b67d23085c010657372d47 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/SimpleHTTPServer.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/SimpleHTTPServer.pyi new file mode 120000 index 0000000..cc65903 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/SimpleHTTPServer.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9c/2d/1f/8e9f70ae14a724c23c376403ee8bd6a75096f9d2562f2695e0afd0979e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/__init__.pyi new file mode 120000 index 0000000..f15168c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ea/2a/47/c1b794dc4eb54a4e194c0bdf1ae5bb82bd7bafacc366520d3437f6ff89 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/_dummy_thread.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/_dummy_thread.pyi new file mode 120000 index 0000000..d06a94e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/_dummy_thread.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/55/ae/0b/3dd57990ae25b81fb5365926c9c9d5a570f890a798143e509a636a13c5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/_thread.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/_thread.pyi new file mode 120000 index 0000000..a6a78d9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/_thread.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f7/5f/78/960417b365b7b11d3490fed99fd831f565a5d02e3d184b1bbf3b210f2d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/cPickle.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/cPickle.pyi new file mode 120000 index 0000000..1659952 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/cPickle.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/85/2e/f2/21ec3d59874723f6fa5f02251c07d1151a544ca8fb22891265ca49e0f6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/collections_abc.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/collections_abc.pyi new file mode 120000 index 0000000..2d2dd49 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/collections_abc.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/15/ca/b5/b2eb7d38b43cdb8310ebd96e603252cc40742eba09a93b175a0586703a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/configparser.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/configparser.pyi new file mode 120000 index 0000000..0f0c8bc --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/configparser.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/af/71/b7/25713d628df80004a7f40a0d7227a5abd2aec90df1aed125a678512587 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/email_mime_base.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/email_mime_base.pyi new file mode 120000 index 0000000..91dc803 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/email_mime_base.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/59/c5/84/95e08a1d13ab7dd5e946e28006b4ff55ad61c7dd0d63f93161eba5dd29 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/email_mime_multipart.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/email_mime_multipart.pyi new file mode 120000 index 0000000..9973c3a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/email_mime_multipart.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1d/12/96/154f6a87de7e984136dbfd8dcc428bea5c7bca7be171f1e351c616b99f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/email_mime_nonmultipart.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/email_mime_nonmultipart.pyi new file mode 120000 index 0000000..74fb21a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/email_mime_nonmultipart.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9f/98/43/ed1feb92d263de188763312aaf7089087496e2291f39b287994ad7070d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/email_mime_text.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/email_mime_text.pyi new file mode 120000 index 0000000..596cce3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/email_mime_text.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e7/95/73/0524229ab65fe94828b685cc8890efa9b297972ebe13f217a3a231db67 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/html_entities.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/html_entities.pyi new file mode 120000 index 0000000..b289feb --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/html_entities.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/23/40/48/d34bef0b6d4bfc182709ba638a8facd63a85e00453b7ea9aa25ee61a28 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/html_parser.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/html_parser.pyi new file mode 120000 index 0000000..fa862dc --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/html_parser.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/86/2b/c9/78192a880219ea6bced6fe2d382f4c83a333311d3c3fdb73b0e0ddba5e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/http_client.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/http_client.pyi new file mode 120000 index 0000000..d421435 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/http_client.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3f/cb/60/b6de48729fa4b078a3eb23dbff3b8a93b7247001edfc733768ed16ad23 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/http_cookiejar.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/http_cookiejar.pyi new file mode 120000 index 0000000..fbc42c8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/http_cookiejar.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1d/49/45/dccc9d4115f656fe46e8ab4dfd0ea2092e3c2c10e08280ee3db1105027 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/http_cookies.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/http_cookies.pyi new file mode 120000 index 0000000..6a42f6a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/http_cookies.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8a/dc/db/e43e4ca7ae9bc7b863c88deefa1ae2e21f6382a57367231fcf8c4dbb69 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/queue.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/queue.pyi new file mode 120000 index 0000000..e96f453 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/queue.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e8/b9/67/83e525656ffd1d25858262205b6abd621699f8dce1db327c864aa86990 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/reprlib.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/reprlib.pyi new file mode 120000 index 0000000..d7aa404 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/reprlib.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/49/66/58/846454ea6a05015068e5d505501f64c98e933bf920ac8ab1cea0d0dc2d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/socketserver.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/socketserver.pyi new file mode 120000 index 0000000..d196ddd --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/socketserver.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a1/e4/67/99e70c6107cc9b044557275ab7209fb3f1cbac9619bdfe69ee79bfaf21 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/urllib/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/urllib/__init__.pyi new file mode 120000 index 0000000..7b4d7b9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/urllib/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/17/fd/55/f0d711e231a4c2cf39214bab60b8b82671a1eff1edb5d547be3f1c4193 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/urllib/error.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/urllib/error.pyi new file mode 120000 index 0000000..cd66786 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/urllib/error.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ef/72/68/5abaaf8b129d9e94fcdc643ee83b01734831a850bfc57374d3daad0a2e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/urllib/parse.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/urllib/parse.pyi new file mode 120000 index 0000000..ebf2ab5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/urllib/parse.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4e/ff/98/8e2d6d9be8a479a78b3d709ca7561551af32dbde92355ed856ea49b4d8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/urllib/request.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/urllib/request.pyi new file mode 120000 index 0000000..e126b42 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/urllib/request.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/67/e1/01/5d11340b21d1f2839e9185ba6e5ff0fbe625bc857191d6df731b4d2964 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/urllib/response.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/urllib/response.pyi new file mode 120000 index 0000000..f79d102 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/urllib/response.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/89/2b/36/d44e8101a07a3fd0909e072ecc1b069c66bd5cdf0fecff063b6c585a32 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/urllib/robotparser.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/urllib/robotparser.pyi new file mode 120000 index 0000000..80d7ef3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/urllib/robotparser.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0b/cf/c4/f65029672310a477e59c7a587b2020bd0fef152b8aa27f469790ccdd0d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/urllib_error.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/urllib_error.pyi new file mode 120000 index 0000000..998ef95 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/urllib_error.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ed/14/c6/345a5e517e4a11aa7dbf28c0d577374f07e4bade37d4dbb9dbdd29a355 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/urllib_parse.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/urllib_parse.pyi new file mode 120000 index 0000000..c4cd290 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/urllib_parse.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/43/70/55/1884cbd54c254e606c143f622dfda98202604c4e5b1b7d9000d76432fa \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/urllib_request.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/urllib_request.pyi new file mode 120000 index 0000000..e2801e2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/urllib_request.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f1/61/5e/ef2700ad2b8ceb025f81c5d62c344a36cca6774525c5695f96ccdbdb29 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/urllib_response.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/urllib_response.pyi new file mode 120000 index 0000000..3efdfb8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/urllib_response.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/76/89/05/32578c5445455710604a4adc9f87f8c8ced1851df3924d220d018e0bf5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/urllib_robotparser.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/urllib_robotparser.pyi new file mode 120000 index 0000000..142911e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/urllib_robotparser.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f1/cd/ba/196f0c4c8e9cc434c3eb937fd7c35141ca966383fdbfc9ab426f1cfa82 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/xmlrpc_client.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/xmlrpc_client.pyi new file mode 120000 index 0000000..03a947d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/six/moves/xmlrpc_client.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/84/bf/c5/3620657acf1aa09ab45d02db107bd65f501e7586d0a2981155095b0842 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/tornado/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/tornado/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/tornado/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/tornado/concurrent.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/tornado/concurrent.pyi new file mode 120000 index 0000000..30786fa --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/tornado/concurrent.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4c/76/94/507f575bfa2973e1b9dbc2210c3adff9c381571f5924040a020a2aaf7e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/tornado/gen.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/tornado/gen.pyi new file mode 120000 index 0000000..0251dbe --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/tornado/gen.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/58/fb/9d/c9baed9f2fa0792ebd83ad8792ff8d029c13ba4200f01acf0a7e50cd58 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/tornado/httpclient.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/tornado/httpclient.pyi new file mode 120000 index 0000000..f5fd4aa --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/tornado/httpclient.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/14/3a/39/a5e4acbce24501f2314e06ef56ac64e337ec4f11585dcc7b1849c3bace \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/tornado/httpserver.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/tornado/httpserver.pyi new file mode 120000 index 0000000..b85629f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/tornado/httpserver.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/60/7a/07/6706d4e373282a4e84060896ceeecec03ea34134ddce3ac883811b11a7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/tornado/httputil.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/tornado/httputil.pyi new file mode 120000 index 0000000..1d1c44f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/tornado/httputil.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/62/99/1d/cbb584b9cb9e00af21b8db046e9f921b94680a22eec736365457d895ba \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/tornado/ioloop.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/tornado/ioloop.pyi new file mode 120000 index 0000000..b067ca4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/tornado/ioloop.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a4/ed/10/7a10b8fca377795b63ee59ede19e4fa02933513e428932fa5f15acbf29 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/tornado/locks.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/tornado/locks.pyi new file mode 120000 index 0000000..875abe0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/tornado/locks.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e8/b0/eb/5bc9ee0592ec01ef74875518b3dda4ff8d548dcc44f2fa4485cfcb0733 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/tornado/netutil.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/tornado/netutil.pyi new file mode 120000 index 0000000..4fadda2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/tornado/netutil.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d2/ef/03/e3cd4ea830bf66e49342317358298398fa761fec49b8fda1b00d89f3f6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/tornado/process.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/tornado/process.pyi new file mode 120000 index 0000000..e8f5c77 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/tornado/process.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/36/c9/c4/cda189b5c8570f7ff5779f9c67e0b6abe87da1cb9c7cbbd3e7be5c6eb8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/tornado/tcpserver.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/tornado/tcpserver.pyi new file mode 120000 index 0000000..610b3f1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/tornado/tcpserver.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d4/dd/1c/9b71d466537775fb20ceb7584cd3043779ef1aeeebd94b04ed6b8943d6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/tornado/testing.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/tornado/testing.pyi new file mode 120000 index 0000000..43fec91 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/tornado/testing.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2f/6e/42/2ab3ebe9b400f4d4d0a396c31dfb6d9f9592004c25932f72def208360a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/tornado/util.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/tornado/util.pyi new file mode 120000 index 0000000..1369f02 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/tornado/util.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f1/e4/f5/22a8194001b67df0d309d900b9fa4fc60b5aac210fc1b0ee6b636ebaa8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/tornado/web.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/tornado/web.pyi new file mode 120000 index 0000000..d222382 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2/tornado/web.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/dc/3e/da/309ec606c085bbc761a3aaa55ce9e492527170f0b7ef5d340ef25dd567 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/atomicwrites/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/atomicwrites/__init__.pyi new file mode 120000 index 0000000..ccb52e1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/atomicwrites/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/da/bb/f3/d1571b0b32b93d9ff3d449160027c7626dbe2ebebca28c32af83f7a69d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/attr/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/attr/__init__.pyi new file mode 120000 index 0000000..a4556e5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/attr/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/54/37/37/7bf3126888649e706a22ffba5cd8e60d847ba4ad9608ac9dce1e83d4f8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/attr/_version_info.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/attr/_version_info.pyi new file mode 120000 index 0000000..3602b5f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/attr/_version_info.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c7/f3/37/2f75ae07baff50b5c05a3c7de7db9d290e072c1f25fa1b1cd450c636f9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/attr/converters.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/attr/converters.pyi new file mode 120000 index 0000000..b695fff --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/attr/converters.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/06/4d/6d/d8bb636b3af33f338112552beb14d7c26d5b4914fdcaa5fcef1ac475e4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/attr/exceptions.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/attr/exceptions.pyi new file mode 120000 index 0000000..0fd84bb --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/attr/exceptions.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/3b/9a/2729766b1c566ea9d9831a3fda84e93cd6f2a30130dc0e21a95e4f9807 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/attr/filters.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/attr/filters.pyi new file mode 120000 index 0000000..056fadb --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/attr/filters.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fd/29/bc/d231b24844d7fc2973764a27e4d1d58d059197763796240a657d5ccd77 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/attr/validators.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/attr/validators.pyi new file mode 120000 index 0000000..62fb099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/attr/validators.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c9/c0/38/ced05c44d41e9e2369004348bb8047075440c8781b6694bef2bf26c2f2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/backports/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/backports/__init__.pyi new file mode 120000 index 0000000..f871b6d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/backports/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/08/a7/95/28ea262e9008647da2a6db346b617dba0c9d1f5982bdf20695fbed11b7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/backports/ssl_match_hostname.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/backports/ssl_match_hostname.pyi new file mode 120000 index 0000000..f599d49 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/backports/ssl_match_hostname.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8c/07/4b/30cbddc5db3364221d546c51670ee2e7068806a6f846ac247ad26a32be \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/backports_abc.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/backports_abc.pyi new file mode 120000 index 0000000..9babd1b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/backports_abc.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cf/c2/b0/254879d4756f065bb2bf6f43f1333bf9f4903597ff58f5c6bdd7735773 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/bleach/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/bleach/__init__.pyi new file mode 120000 index 0000000..f1e5b1c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/bleach/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/33/60/8e/94a85d3ddb541c831a396b65188564e4d1b36a0d4e1047172f4bed4e8e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/bleach/callbacks.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/bleach/callbacks.pyi new file mode 120000 index 0000000..9f46ac3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/bleach/callbacks.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5a/97/a0/d0bc4101e9dde46c0d655c34bba74a4f866889c543ad4aac1aa149305b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/bleach/linkifier.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/bleach/linkifier.pyi new file mode 120000 index 0000000..fec042c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/bleach/linkifier.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bd/09/5e/130bc9f2e70e8b4a320614673978fa7401997bfd9b1d11d7f14a9114f0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/bleach/sanitizer.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/bleach/sanitizer.pyi new file mode 120000 index 0000000..5985b82 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/bleach/sanitizer.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d7/e7/3f/5aebc314311520dc92b9912e681abf45f6237fb515ef86fda6afb5e584 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/bleach/utils.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/bleach/utils.pyi new file mode 120000 index 0000000..0cb1566 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/bleach/utils.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/45/2c/4a/c70b0a6da6a4d9be7453988526c9e430640348400304df1fa9a993646c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/__init__.pyi new file mode 120000 index 0000000..7ee0fea --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/75/a5/e0/7029b97b3c75e84a42f37274e1da15e5f1d0d666652cb08480896d4596 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/auth.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/auth.pyi new file mode 120000 index 0000000..6e8c524 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/auth.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1f/a6/6d/1b494a8e9e1609ca1470dc5e70ba380b30ecd710ac5189b0237c9e4988 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/auth_handler.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/auth_handler.pyi new file mode 120000 index 0000000..1ba56b2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/auth_handler.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ed/00/a1/4bbfecf948ade59342af8142b4c445470eee388254516dc849e01c9174 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/compat.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/compat.pyi new file mode 120000 index 0000000..6ccd399 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/compat.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bf/a3/d4/8e4089d2d757596533fb4bf1daf48505b874a66937c9f63710584b83f8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/connection.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/connection.pyi new file mode 120000 index 0000000..a3b2242 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/connection.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/83/b7/93/2fc42996bad106c4281a1204104e32e29b8dccf1500ee1035ead68e1b7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/ec2/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/ec2/__init__.pyi new file mode 120000 index 0000000..12134de --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/ec2/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/98/9a/2d/c0486ac74b933a4a7b0010179a0aee5b8df672677f08b7f2ab021d87b7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/elb/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/elb/__init__.pyi new file mode 120000 index 0000000..78c3bd4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/elb/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bc/8c/06/38f1a8db031e3502f16270532399eafb7e50d9b7190b25e680aed67c60 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/exception.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/exception.pyi new file mode 120000 index 0000000..d9f1f64 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/exception.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a6/9d/7e/18caf85637971dc98726c881bf28980b923530dea21d5fe4725035320f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/kms/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/kms/__init__.pyi new file mode 120000 index 0000000..eab6cc8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/kms/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/91/b9/5f/dae6c78d7df5f67e386837aa4dc69998d19c1356823555f5fdea6ba8cf \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/kms/exceptions.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/kms/exceptions.pyi new file mode 120000 index 0000000..825c364 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/kms/exceptions.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/58/a8/68/79029e02921ccd63c9cf7bc2e40ecad370266cd00ce1b9c1b95b8d542c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/kms/layer1.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/kms/layer1.pyi new file mode 120000 index 0000000..79524e3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/kms/layer1.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3a/03/2a/4748c87df750097edba9b37c5b26d0adfaebeac5e3f421af3540bf7070 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/plugin.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/plugin.pyi new file mode 120000 index 0000000..1b1eec7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/plugin.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ae/ab/81/0a9fe0bffc1234d7166228c53d44615cee3c10bcdfe5722d0ae3efee72 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/regioninfo.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/regioninfo.pyi new file mode 120000 index 0000000..1c2fc66 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/regioninfo.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/42/48/aa/6c2725762b0a3c44675d4e9f80a6253870f8a23396b2c1aaf3baf628cc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/__init__.pyi new file mode 120000 index 0000000..b8a5a28 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f6/52/b1/d29141e60cc0df9d7989dc947a0e9817ccebc8319f9b5856cce5a549ba \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/acl.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/acl.pyi new file mode 120000 index 0000000..fc63fbd --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/acl.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d3/54/fd/024e5f723b784c67f6be9096f93d2b4be9a2591a5c74ab6d7180416619 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/bucket.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/bucket.pyi new file mode 120000 index 0000000..d7c55cd --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/bucket.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e7/be/b2/ef26c52859d6a717057981ec982835897b32d1fbf70524f67886c40c6d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/bucketlistresultset.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/bucketlistresultset.pyi new file mode 120000 index 0000000..2986e9a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/bucketlistresultset.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/dd/41/11/e0100212a33566963a3f791e7f0c17b813f64f10fc528a8c84f6d6b65d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/bucketlogging.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/bucketlogging.pyi new file mode 120000 index 0000000..1a09935 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/bucketlogging.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/dc/0f/ba/6beef70e039b604cc16dc51c9271c9432c387b78a1bb43432f8a919864 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/connection.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/connection.pyi new file mode 120000 index 0000000..d60ca62 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/connection.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a6/4a/fd/bfb071774a72bbe200fdb916fae7910936f9bb379dfd44fc1bf16ba7e8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/cors.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/cors.pyi new file mode 120000 index 0000000..0f26198 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/cors.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c2/b9/60/114fd515db3e66dc33346d34682c22976859c5169268190cabac862a8e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/deletemarker.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/deletemarker.pyi new file mode 120000 index 0000000..94c39dc --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/deletemarker.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4f/a0/16/3b03675b7f75523569cc9f2d7db68eb4cfe149a35adb0c89574d9fe704 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/key.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/key.pyi new file mode 120000 index 0000000..59d06a5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/key.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ef/75/96/b564c86d2265fef1e6f03a980a2d8309aec8b95b02ab4ec8e132adc3e8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/keyfile.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/keyfile.pyi new file mode 120000 index 0000000..1804d70 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/keyfile.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/11/c7/c1/a285e93c4c40821b9c60433ab313d5b29df6c2e7aa2bffb92a4fbaeab2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/lifecycle.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/lifecycle.pyi new file mode 120000 index 0000000..fc289e0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/lifecycle.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/79/eb/ef/3b4a74b16da5418cf2c551948047bbc8b0ec9e26be4e7aaad226e0c14e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/multidelete.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/multidelete.pyi new file mode 120000 index 0000000..5a7ef19 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/multidelete.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1a/93/70/7eb0120fdad601f3e17751e865ffbaac14f62dfddb6c9ca3ffc7d7e0a8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/multipart.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/multipart.pyi new file mode 120000 index 0000000..a8e6b90 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/multipart.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1b/50/38/10ff2a5f5e73ef6e1aa1373ed77700667b9297657ed866e9e068e53e30 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/prefix.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/prefix.pyi new file mode 120000 index 0000000..9223b03 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/prefix.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/50/32/cf/267d5789214b5f177445d78e33351fcc4c985270808863c00a7b679242 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/tagging.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/tagging.pyi new file mode 120000 index 0000000..6c33a2f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/tagging.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/26/03/45/3c74cb8bb4d1d076de6ac6254a76d503e1b3357cd827d1fab0198bcf47 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/user.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/user.pyi new file mode 120000 index 0000000..dcfc736 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/user.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9c/56/c7/ddd39fe527cda1a4f2370922bb6ab7651f3688f615afe2df5f3506cd88 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/website.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/website.pyi new file mode 120000 index 0000000..4083a19 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/s3/website.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3b/ef/43/4968ad8de50c1241959c25333908c43ae5fde070edffd6cf80b127901c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/utils.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/utils.pyi new file mode 120000 index 0000000..8b90910 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/boto/utils.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f6/22/cd/2c813287a679adb5e974679fed5e5e4348e287b792039b04c20b7100e2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cachetools/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cachetools/__init__.pyi new file mode 120000 index 0000000..b21bc1a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cachetools/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8b/bb/ff/b486494564490858800c2c1538ea7fb7d568fda669fdc10bd2570e049f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cachetools/abc.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cachetools/abc.pyi new file mode 120000 index 0000000..ed944d4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cachetools/abc.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/22/a5/8b/472918001d2d55e0c6b7102fe211017a8b4641ac483e4ad231859d9408 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cachetools/cache.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cachetools/cache.pyi new file mode 120000 index 0000000..6ad1c78 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cachetools/cache.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c6/70/55/67d87d479ea7851e2f59f1ff3005debfd2a72cbb44a8b378e34e73430c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cachetools/decorators.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cachetools/decorators.pyi new file mode 120000 index 0000000..76329aa --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cachetools/decorators.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8d/aa/34/797977ae31136cee7f4d4b6944d88783cdeae8ca8af983edb216a5764e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cachetools/func.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cachetools/func.pyi new file mode 120000 index 0000000..14d8cb5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cachetools/func.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a7/8a/c3/fabad955b1c3df1d0756b9907f64afea00aa0f1aa8e4b9fe0060a77d27 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cachetools/lfu.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cachetools/lfu.pyi new file mode 120000 index 0000000..bfaec85 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cachetools/lfu.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/84/4b/af/c0efba566bd9765d9b9055ae3fbcaaea3982781d99f4754f0bebc2f518 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cachetools/lru.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cachetools/lru.pyi new file mode 120000 index 0000000..1f226e1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cachetools/lru.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d4/f9/0e/0c7975a4da06983859114874aaf4102c364a5094df28f86386e4fbdd65 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cachetools/rr.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cachetools/rr.pyi new file mode 120000 index 0000000..3d529c8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cachetools/rr.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7f/be/a6/6600ac4bb6bc2b8e0715c87289ad61000000c43220ea97655617ce43e8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cachetools/ttl.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cachetools/ttl.pyi new file mode 120000 index 0000000..e79d0ee --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cachetools/ttl.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/23/e3/ff/8126e56165628f177a58814501812ea9feaa236c00a6ae11b85c5e90f9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/certifi.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/certifi.pyi new file mode 120000 index 0000000..82c7117 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/certifi.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2f/e2/1d/a6fe786793002e6a2eeab10d64ebbb17f8c0143e423e8d616f96a6176b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/characteristic/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/characteristic/__init__.pyi new file mode 120000 index 0000000..fdaafff --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/characteristic/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/de/1d/2d/af5c9aceca886a8a36deb69afa4515bef7c54f3cec3079652e6241818f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/chardet/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/chardet/__init__.pyi new file mode 120000 index 0000000..7f88da3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/chardet/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/89/39/74/683952fee4153c2b386504ac018c0dbde20e62413700333406ed3d434e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/chardet/enums.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/chardet/enums.pyi new file mode 120000 index 0000000..2df4b62 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/chardet/enums.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8a/74/9d/44a0c0fb59966c3d92d9693535199646679f898c79610c493068a6933e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/chardet/langbulgarianmodel.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/chardet/langbulgarianmodel.pyi new file mode 120000 index 0000000..6a3eb3b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/chardet/langbulgarianmodel.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3a/91/75/7d4bd1c177505d45e826cdf7a133f8291316645d39c7066390bbba8b27 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/chardet/langcyrillicmodel.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/chardet/langcyrillicmodel.pyi new file mode 120000 index 0000000..45c0151 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/chardet/langcyrillicmodel.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/41/b0/18/9d71536ce4b79f53a7b5a096235c775c86d65fdea8470cb203d039bd9c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/chardet/langgreekmodel.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/chardet/langgreekmodel.pyi new file mode 120000 index 0000000..3e94e07 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/chardet/langgreekmodel.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4f/45/73/35f1b992d0a0313f0f63e2529954e85545d8c58f53ef689a610f719a69 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/chardet/langhebrewmodel.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/chardet/langhebrewmodel.pyi new file mode 120000 index 0000000..3e6cae2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/chardet/langhebrewmodel.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b5/47/88/753556b16988f91240224939b9b894a9e23d475bd4125024d5c742c4fe \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/chardet/langhungarianmodel.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/chardet/langhungarianmodel.pyi new file mode 120000 index 0000000..61f6956 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/chardet/langhungarianmodel.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ea/c3/1a/05bb428a98c8f73c1bde92b6a239c9d55e74b9e3bb70b777383b81915a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/chardet/langthaimodel.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/chardet/langthaimodel.pyi new file mode 120000 index 0000000..dd01c66 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/chardet/langthaimodel.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5f/43/ad/f06de43e603856b9c0c72ef0c0090bc9927941f2ce40c31265f0e9347e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/chardet/langturkishmodel.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/chardet/langturkishmodel.pyi new file mode 120000 index 0000000..fa480bc --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/chardet/langturkishmodel.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d3/1c/5a/964778a7896b64559d0b2f4e661bc01bf4b5acf107d87ba0b9615effba \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/chardet/universaldetector.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/chardet/universaldetector.pyi new file mode 120000 index 0000000..2fde427 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/chardet/universaldetector.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0a/ff/62/929f8717526c6e65149dfad319d8fea20c3f8855527f4c8e4041391f1b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/chardet/version.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/chardet/version.pyi new file mode 120000 index 0000000..3bdc941 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/chardet/version.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f4/bd/8e/e77d2e4c93cfa076e6624463670164a087883a1096c06181628b8228de \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/click/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/click/__init__.pyi new file mode 120000 index 0000000..74780f4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/click/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/de/87/b5/faff167c8fafe9ab0faed748a75a1c863daf4ff70a3ade16e8f054c741 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/click/_termui_impl.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/click/_termui_impl.pyi new file mode 120000 index 0000000..f8909f2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/click/_termui_impl.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/80/ca/9b/8634af3650268ba19a15a9d58a9e342d18b8b5a792378b11fdc935d082 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/click/core.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/click/core.pyi new file mode 120000 index 0000000..43c8727 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/click/core.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/95/10/74/6e9f6caeb80cf53459f1929157bd5cd90445d443a2d83044ede3dc950b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/click/decorators.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/click/decorators.pyi new file mode 120000 index 0000000..30ca034 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/click/decorators.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/51/b4/95/03fc66d8ee816617e5f8ad178b86bfc73b8c89bcb8fe9cfd819c765fc2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/click/exceptions.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/click/exceptions.pyi new file mode 120000 index 0000000..2330b70 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/click/exceptions.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a3/8a/db/5178beea20631cd8875239c4a3e01dd360f2df1ad92ff6183d591637bf \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/click/formatting.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/click/formatting.pyi new file mode 120000 index 0000000..ee2bcc3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/click/formatting.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0f/a1/8c/5b06fafbd98cefe17b3a6e1b40ffa96ed14a0f6359feb0d42983698ef0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/click/globals.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/click/globals.pyi new file mode 120000 index 0000000..d66dbfc --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/click/globals.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5e/2d/df/1ed4c42478d5c90f9d8c911a4240f19d9f51139c43fae876075c6cf61a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/click/parser.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/click/parser.pyi new file mode 120000 index 0000000..4a5e0ec --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/click/parser.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b5/22/99/d1b28ba4839bc5a499f3a201a64ecfb11ea27491970f66d9ce0c9ae6cb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/click/termui.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/click/termui.pyi new file mode 120000 index 0000000..e927ccb --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/click/termui.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/70/6d/45/33dd16a45bebf1543df9763fcecb4b79bb5744ad8c2d9d2770fab03178 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/click/testing.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/click/testing.pyi new file mode 120000 index 0000000..e02cb1a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/click/testing.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b3/51/8a/4cf2be6e5c9f85a5ea93736f1410174411ae091ef74511ffc1e19b39cb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/click/types.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/click/types.pyi new file mode 120000 index 0000000..7eb311c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/click/types.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/55/2c/7a/9147604fb2c74d6d8883cfa9be70fdb7c03151861261469b6e9b037723 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/click/utils.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/click/utils.pyi new file mode 120000 index 0000000..52f7ede --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/click/utils.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/46/09/b7/aa35dc7a83918f94e02fb7c770132ce5b53a8f6114eea0baf196951255 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/croniter.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/croniter.pyi new file mode 120000 index 0000000..04e5972 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/croniter.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4c/90/70/45441d89541b0980626a8d552f612c6a5d94fc8de7e99477f0db4e77ba \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/exceptions.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/exceptions.pyi new file mode 120000 index 0000000..507d3ab --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/exceptions.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0a/92/b9/1ed66f8a093553bc982e5a9871718968ece49f27e15148adb5716e2a23 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/fernet.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/fernet.pyi new file mode 120000 index 0000000..ce72092 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/fernet.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a6/bf/0f/a35adadc4746f65314f28b1cd5f834f993a80121801ed71c6e171bafcd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/__init__.pyi new file mode 120000 index 0000000..c3b7936 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/dd/f0/71/712a6926be84384714a23bdf946dc47a083b96fd90a7474d41020bacfe \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/backends/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/backends/__init__.pyi new file mode 120000 index 0000000..a41920e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/backends/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/74/a1/54/161b079926cdac7746d9aff9084adfbd0bbd85d9c858c035bf2b3d2da2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/backends/interfaces.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/backends/interfaces.pyi new file mode 120000 index 0000000..c511e38 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/backends/interfaces.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/07/a9/65/fdfde0f6c98eca139947c8512c971cf3dd72db2af9eca3d255061bd4f2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/bindings/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/bindings/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/bindings/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/bindings/openssl/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/bindings/openssl/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/bindings/openssl/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/bindings/openssl/binding.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/bindings/openssl/binding.pyi new file mode 120000 index 0000000..7f8f130 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/bindings/openssl/binding.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/40/72/1b/8e5d10dfd7f16ace0369bb8bcad5e38c166b7ea3647edd07fe75b05ebe \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/__init__.pyi new file mode 120000 index 0000000..c3b7936 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/dd/f0/71/712a6926be84384714a23bdf946dc47a083b96fd90a7474d41020bacfe \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/asymmetric/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/asymmetric/__init__.pyi new file mode 120000 index 0000000..c3b7936 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/asymmetric/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/dd/f0/71/712a6926be84384714a23bdf946dc47a083b96fd90a7474d41020bacfe \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/asymmetric/dh.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/asymmetric/dh.pyi new file mode 120000 index 0000000..f1f9c10 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/asymmetric/dh.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/00/74/7a/e5e774dcd581ea82bc6284d062ddc08029347cc935efd351704e567e64 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/asymmetric/dsa.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/asymmetric/dsa.pyi new file mode 120000 index 0000000..ccaba1a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/asymmetric/dsa.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/01/e2/8f/93e12f93469326e7cb837a219677bba91d825c9a8cb1ef20368003fb2d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/asymmetric/ec.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/asymmetric/ec.pyi new file mode 120000 index 0000000..28ec602 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/asymmetric/ec.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/56/84/b2/5c17c6d8db80a8777f58045eed41f57aaabd8da3b9be28d130d9370054 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/asymmetric/ed25519.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/asymmetric/ed25519.pyi new file mode 120000 index 0000000..fce06b5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/asymmetric/ed25519.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3a/21/38/08970d0c86aa77f5737664069f6f163dd4f93c14398d529fabf6517379 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/asymmetric/ed448.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/asymmetric/ed448.pyi new file mode 120000 index 0000000..9a79234 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/asymmetric/ed448.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/33/0f/a9/d3b183cadb415ca68d0794aee61c34d434176608c465ee4cd5eecf9611 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/asymmetric/padding.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/asymmetric/padding.pyi new file mode 120000 index 0000000..18d7a51 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/asymmetric/padding.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/83/5b/01/e70a47eb2a22f4bacb5121ce7a329db7cc622e690fbc37549fa0a6d546 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/asymmetric/rsa.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/asymmetric/rsa.pyi new file mode 120000 index 0000000..25adab7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/asymmetric/rsa.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ad/3f/ea/71ba5e9e507cc2e860de345c326fb9384ae1d9c09cded90d167fb1d5dd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/asymmetric/utils.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/asymmetric/utils.pyi new file mode 120000 index 0000000..9d52fd5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/asymmetric/utils.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9d/31/71/8fcdc3562e0e122f01f70a24112d9587e1f052cc591e2100e0f707d3af \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/asymmetric/x25519.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/asymmetric/x25519.pyi new file mode 120000 index 0000000..f080432 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/asymmetric/x25519.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/24/75/fc/94824dd23f7802c1c84b88d0582ae570e80b75bdd47764339cc457382d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/asymmetric/x448.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/asymmetric/x448.pyi new file mode 120000 index 0000000..266fb9d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/asymmetric/x448.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/79/f4/93/bf2464a5501cc6d030cd8ca60db9ce40f03e7495bb600962455039fdc7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/ciphers/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/ciphers/__init__.pyi new file mode 120000 index 0000000..68a9ee3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/ciphers/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/78/e1/08/0695172da1f922439c6b92a8dc741d5067c3203143c2696ccfb4411890 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/ciphers/aead.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/ciphers/aead.pyi new file mode 120000 index 0000000..b369b1d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/ciphers/aead.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/32/19/1f/b149da315122ea846b71f4e0a7a875ff54024bc6efc6dc2813a6ea652e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/ciphers/algorithms.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/ciphers/algorithms.pyi new file mode 120000 index 0000000..d93ed67 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/ciphers/algorithms.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/22/0f/66/582473f2b33a5f98ecd43e2b953d3a61b7402c9e515293b88ba41bec8a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/ciphers/modes.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/ciphers/modes.pyi new file mode 120000 index 0000000..5a39dab --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/ciphers/modes.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/de/b2/30/6be923e24d308fc61f65e7aca97ea3109847b5466d87afa2be2efa7ad1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/cmac.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/cmac.pyi new file mode 120000 index 0000000..64fe02e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/cmac.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1c/ee/12/27970980f70fddc0635e0ea7f2700a056a723a5433c9765fc90cff69ff \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/constant_time.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/constant_time.pyi new file mode 120000 index 0000000..bc88ba4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/constant_time.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/ba/20/aeef63e971b998b303b25da218ac61663b07fdb2a159806de1cd63424d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/hashes.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/hashes.pyi new file mode 120000 index 0000000..45f8998 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/hashes.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8f/72/fa/348ad1f3aedbc6f22863a155c35d07119cfed1a955cc34d474fa9fe3cc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/hmac.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/hmac.pyi new file mode 120000 index 0000000..e99d45a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/hmac.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e2/20/e3/dd6d4d93930a25d92935546c63743f28ff4d04e2bfcd2ee96e8d568ffd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/kdf/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/kdf/__init__.pyi new file mode 120000 index 0000000..1224d72 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/kdf/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7f/29/89/195605e091acb8ee4851a732b986f85ee9eba6ce2616b2745c511475f5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/kdf/concatkdf.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/kdf/concatkdf.pyi new file mode 120000 index 0000000..c66254b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/kdf/concatkdf.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/42/67/3d/3cfe63d9fb2225f425b625af832c2034b3d0553732a1f1f698daa65a62 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/kdf/hkdf.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/kdf/hkdf.pyi new file mode 120000 index 0000000..3883034 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/kdf/hkdf.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9b/f2/47/0c0d2bfda64670e4f9074ff71fd56935f37d5a7100bdbd73be022cb1af \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/kdf/kbkdf.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/kdf/kbkdf.pyi new file mode 120000 index 0000000..17b6304 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/kdf/kbkdf.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/30/25/06/c88e706562dc3ddf5287f6879c37ee9aa4bd668098b10d96b1e2be04cf \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/kdf/pbkdf2.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/kdf/pbkdf2.pyi new file mode 120000 index 0000000..e43bc7e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/kdf/pbkdf2.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f8/c5/9d/25f2c610a88d0b7a9abe79b6ba7243b6776c045999990a23e026e2fcdf \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/kdf/scrypt.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/kdf/scrypt.pyi new file mode 120000 index 0000000..8e4c434 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/kdf/scrypt.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c0/a0/36/6320c0ba594bc307d1f4d838df19f680a77b1b2087f4d195491cf561cb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/kdf/x963kdf.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/kdf/x963kdf.pyi new file mode 120000 index 0000000..917c6ae --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/kdf/x963kdf.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c2/f8/b7/6090ea0c976a553f8382bf387b8f9caa8b22ab67ffc10403ea68055ec9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/keywrap.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/keywrap.pyi new file mode 120000 index 0000000..7a7932f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/keywrap.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/14/62/60/fc6b2dad071a6afaab8887c776afda3903d57aafc5f42a4df0dc3482f2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/padding.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/padding.pyi new file mode 120000 index 0000000..ba8384d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/padding.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/45/87/35/53d939570e0dce94fe2578bf0304623d7c33bbb5cb5721ba1ed0f2fe03 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/poly1305.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/poly1305.pyi new file mode 120000 index 0000000..0d86983 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/poly1305.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/38/de/4f/c44e6c611e982dff20ad6cbef05c147c6890b76f25d6cd9e96faca818c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/serialization/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/serialization/__init__.pyi new file mode 120000 index 0000000..5baec27 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/serialization/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ed/11/df/3667835fd830b5c7895c9ee4769fd80a9a8707505939b91e0e4d984802 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/serialization/pkcs12.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/serialization/pkcs12.pyi new file mode 120000 index 0000000..316744b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/serialization/pkcs12.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/37/08/10/4975989da3a6e3bd7b736bfdd803fc8ebc3475abf37222435737832231 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/twofactor/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/twofactor/__init__.pyi new file mode 120000 index 0000000..d90367a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/twofactor/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/31/5d/34/65b062f852a01e2f4f618d994bbb67795dab821bb67958b52a0c51673b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/twofactor/hotp.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/twofactor/hotp.pyi new file mode 120000 index 0000000..411fc7e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/twofactor/hotp.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/89/b9/7a/0b5212990e47ea79a64ff6b1b92ba13e63d49fb601c7b0388b93e815b6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/twofactor/totp.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/twofactor/totp.pyi new file mode 120000 index 0000000..1432cae --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/hazmat/primitives/twofactor/totp.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a7/6a/c6/4e533e0f3ac19aa2e76102a49561e32496c3c10d327ff27505f26a7fc8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/x509/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/x509/__init__.pyi new file mode 120000 index 0000000..1b5c27e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/x509/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/df/14/7a/195c0a4f69cfb6b95acdc7d572cfebe43984164624d4e9ecb52063890e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/x509/extensions.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/x509/extensions.pyi new file mode 120000 index 0000000..5c801eb --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/x509/extensions.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cc/c6/d5/364a7e865fd75b7456ef5874325c1433e46bcf75f43b110465b640a3e6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/x509/oid.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/x509/oid.pyi new file mode 120000 index 0000000..3194200 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/cryptography/x509/oid.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/78/78/25/5a4b78b7d091c4ec17a9db2870c3daf0ca491531e7d658417f91007cc5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/dateparser.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/dateparser.pyi new file mode 120000 index 0000000..4f2a068 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/dateparser.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c4/08/5f/61b42076ec6abccc683127ee681790e69cf02d656b65375b3b31d6318a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/datetimerange/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/datetimerange/__init__.pyi new file mode 120000 index 0000000..025c3dd --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/datetimerange/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fc/22/d5/c64569572db499772794cbfc2b331cbd211b9c42a061f49c7ffb303ee9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/dateutil/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/dateutil/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/dateutil/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/dateutil/_common.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/dateutil/_common.pyi new file mode 120000 index 0000000..43e1fe0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/dateutil/_common.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5f/1b/3e/229569964c23c049ea08bc3303e2489ba23d93300591c2d05b2cd95af6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/dateutil/easter.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/dateutil/easter.pyi new file mode 120000 index 0000000..02bc2b5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/dateutil/easter.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e6/6c/a9/8903744191e914193cd1175d314905b911dbe2a58e5fcc0909bc786bab \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/dateutil/parser.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/dateutil/parser.pyi new file mode 120000 index 0000000..88e2eaf --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/dateutil/parser.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/06/bc/ff/f317bfc97d78441e81f29564e8169c33a1e2cea914088439bdcf54fbf2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/dateutil/relativedelta.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/dateutil/relativedelta.pyi new file mode 120000 index 0000000..60532a0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/dateutil/relativedelta.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/49/f0/8e/ab56fca2d13a8a7e27b271f49b429bca5da36d66b11b0701a1e6a94c79 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/dateutil/rrule.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/dateutil/rrule.pyi new file mode 120000 index 0000000..423862c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/dateutil/rrule.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/10/1b/a9/fe6e6c99a85edad6ed246ffed248faa72663cafd182a2e6858a8f03f5b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/dateutil/tz/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/dateutil/tz/__init__.pyi new file mode 120000 index 0000000..ac9051f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/dateutil/tz/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/32/55/c2/6491aa76e261f8c934a472f0d3aa0dc5e5b57ef3cfde2c5fa3648cf1a9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/dateutil/tz/_common.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/dateutil/tz/_common.pyi new file mode 120000 index 0000000..c844ec0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/dateutil/tz/_common.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d0/2f/e9/a99d932d1c8a02c83f952e9647ea706c689ece2e0f63bba8b737d43239 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/dateutil/tz/tz.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/dateutil/tz/tz.pyi new file mode 120000 index 0000000..1d4e04f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/dateutil/tz/tz.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/98/4c/58/c9d6ec34961c103d3729531f107b61aa2c5a92e49add0abff660dccd47 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/dateutil/utils.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/dateutil/utils.pyi new file mode 120000 index 0000000..395cf27 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/dateutil/utils.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/73/da/0b/1a7a1ca1fb1be32f423e90886463c517fb72b1a03a3fd8bf8370a96551 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/decorator.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/decorator.pyi new file mode 120000 index 0000000..cbe4925 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/decorator.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/31/71/71/29ac76a2fa88f59009466588c8dccec4bd6c610daf18133a246925ff8e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/deprecated/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/deprecated/__init__.pyi new file mode 120000 index 0000000..9597cf7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/deprecated/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/43/93/49/b40a073f9987df58616a08bd77cfa3237aa84490e545034230c069386f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/deprecated/classic.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/deprecated/classic.pyi new file mode 120000 index 0000000..d7114c4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/deprecated/classic.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/95/67/f1/ede253a8a40f719af7a0a2c71eb3c1dbd4bebd89bcc889b06f77a744cd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/deprecated/sphinx.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/deprecated/sphinx.pyi new file mode 120000 index 0000000..07ceacf --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/deprecated/sphinx.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/36/f7/e3/4651dc3c07936c8fc191283dca0bf492510cc534a1a8ff62e468df6924 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/emoji/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/emoji/__init__.pyi new file mode 120000 index 0000000..fae30a8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/emoji/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/23/1e/d2/45349b0aa2e0991d0bd0c081216ef666cd2ddfe9a699b74cce0e00c5ba \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/emoji/core.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/emoji/core.pyi new file mode 120000 index 0000000..835c7b5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/emoji/core.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fb/81/ec/df33b4299b67a2eeb6f85208ec065bc84a4bffff95452ce2167f1a713a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/emoji/unicode_codes.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/emoji/unicode_codes.pyi new file mode 120000 index 0000000..9ad6826 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/emoji/unicode_codes.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ab/06/02/bc44cd2eddb43a4efaa2204122e55f233cc491d2edd638711b376a1d40 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/first.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/first.pyi new file mode 120000 index 0000000..15c1f21 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/first.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8e/4d/27/556395fe4a82cb5648bee4cf19b82055a8e15bd4a719561d0df95fb2ce \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/__init__.pyi new file mode 120000 index 0000000..36ac841 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/74/a0/b9/c6c52233d6b49e1d73c6e3fdf751d8383946e1387ffb6fee89fce27852 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/app.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/app.pyi new file mode 120000 index 0000000..fb038bd --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/app.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/13/7e/76/712c50212549f3de0f2a6a74eef4f0bab23269d5764512350aba3b9be6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/blueprints.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/blueprints.pyi new file mode 120000 index 0000000..d1c4ff5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/blueprints.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/83/f6/5b/49fe46a039b311b4f22549c3c9d3f07cafbef2ca08380a728c2823837c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/cli.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/cli.pyi new file mode 120000 index 0000000..01b7b75 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/cli.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5b/07/65/0abd2977cb4d8fc5bc0765c783a8c8961fabca7e6fcda06fbd67b66f75 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/config.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/config.pyi new file mode 120000 index 0000000..2e240f0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/config.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2a/30/90/5fecb189ef560342b9f99ba37a7fe48dafc6ca9b5f62a4f0fcbf907613 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/ctx.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/ctx.pyi new file mode 120000 index 0000000..98b7b2c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/ctx.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/24/9f/50/32c2682160ae75ff46c22ffd3e61612c7877422fa6e742249493ab9ce8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/debughelpers.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/debughelpers.pyi new file mode 120000 index 0000000..fa70622 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/debughelpers.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c5/6f/73/3ba7ee86f4c9e2b93eb50156b9c24ecee7ce2631da6a117bfc79b81d84 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/globals.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/globals.pyi new file mode 120000 index 0000000..565415a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/globals.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0b/ce/88/d9e74d871962a573c7e868707f680dd84d002ed77bb917b67f503934e3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/helpers.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/helpers.pyi new file mode 120000 index 0000000..1169c0e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/helpers.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/da/ca/e2/34720a225927ade95b7e5d8a87d15df86ceaa35a97dc6d29a6daa7e628 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/json/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/json/__init__.pyi new file mode 120000 index 0000000..55f01dd --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/json/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d5/40/a4/7d74feb42bede0c5b596864ce1f5cc77dffc53dd67619c8c0b375d5126 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/json/tag.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/json/tag.pyi new file mode 120000 index 0000000..379d700 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/json/tag.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fd/c3/a9/9bbe5bb5427eccf3ddbc1786c63d767c4347ffd5d8d3f237d8eba79372 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/logging.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/logging.pyi new file mode 120000 index 0000000..544a198 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/logging.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/00/e1/8b/b82020f479d75e45d0b1519ada543a4c0c6a935f06d11a72b6c0f4481a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/sessions.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/sessions.pyi new file mode 120000 index 0000000..43fdac9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/sessions.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ae/b2/0a/9a59636a55f3713347ff1e5854456c98c2ae2099c9d6bed71c8d914dfa \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/signals.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/signals.pyi new file mode 120000 index 0000000..8dfbdd1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/signals.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1d/15/2e/f63879f3754b15fc5499d363275ed79d57738910eefbff4d2209dfdb27 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/templating.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/templating.pyi new file mode 120000 index 0000000..846ddb0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/templating.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c4/14/be/14b33fa8f8cd430c796796be738f2143beef7c2e4b5cb3422424a62388 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/testing.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/testing.pyi new file mode 120000 index 0000000..7714065 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/testing.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a2/26/73/d9e0b15cc2cf8c2847b8ba6cfb61f0b40a6c996818d275357c599773be \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/views.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/views.pyi new file mode 120000 index 0000000..229f288 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/views.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/01/71/b9/3b163daf4dd90d216d578f325ec14f5d094c159b43d1c1dc788a70cc88 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/wrappers.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/wrappers.pyi new file mode 120000 index 0000000..0e53958 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/flask/wrappers.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/42/16/e5/8a8e7b292270facb5c3ce613471096b5167b57bc8208cb73f2ad899017 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/geoip2/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/geoip2/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/geoip2/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/geoip2/database.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/geoip2/database.pyi new file mode 120000 index 0000000..ad6a4e8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/geoip2/database.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2a/21/a9/c3b5ea647bb46d241214d0eef725be4436cff171934020f42d33bfb283 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/geoip2/errors.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/geoip2/errors.pyi new file mode 120000 index 0000000..0071dfa --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/geoip2/errors.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a5/9d/98/f5d8c975541580a3273d73c8efb50a085fe0b3abfd029b964a3e2d8126 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/geoip2/mixins.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/geoip2/mixins.pyi new file mode 120000 index 0000000..a3aa3f9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/geoip2/mixins.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/66/98/20/75523ba8b398547b7dd662fcb8fc16ab8134eccc6937f51f020a0f701f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/geoip2/models.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/geoip2/models.pyi new file mode 120000 index 0000000..e27064a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/geoip2/models.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/87/47/e5/80fdb69b528bed4e79720d4f021a10ef75de18f839b369cb9fa07fe5a6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/geoip2/records.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/geoip2/records.pyi new file mode 120000 index 0000000..55c49b5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/geoip2/records.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/df/e8/24/7b89c19709e4d3d88e893f2d45dbac14f8ba09ec2b267f5fa172af23f3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/gflags.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/gflags.pyi new file mode 120000 index 0000000..5ede48c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/gflags.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/73/7d/92/8dc058e44684582d19ccc5aa7c433d05f31af2c31ce275ff5a7b4bddf7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/__init__.pyi new file mode 120000 index 0000000..c1f306d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/53/9e/15/7ec1bbfbc0c6ff57f6ef0fc69b3f0dba74e3211d22096117502b8a2950 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/any_pb2.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/any_pb2.pyi new file mode 120000 index 0000000..02d5df0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/any_pb2.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/af/5d/9b/a0d9cc96bab3c0630e54b2b761420b4e0dba5153f7b8639abf64b7be0a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/api_pb2.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/api_pb2.pyi new file mode 120000 index 0000000..10e2dbf --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/api_pb2.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/56/4d/6c/ca251b3adad0ba10b91ca657e113d82ad7406f2a53b17f9f668c7c1ad7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/compiler/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/compiler/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/compiler/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/compiler/plugin_pb2.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/compiler/plugin_pb2.pyi new file mode 120000 index 0000000..c543962 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/compiler/plugin_pb2.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/32/12/45/e3a66997b61f2214325015e61b9a64398230c37092ae487220afc52f9f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/descriptor.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/descriptor.pyi new file mode 120000 index 0000000..a7702a2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/descriptor.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7e/4b/f4/451fe03e066bf44252eed8ac7e4310b626035fc38e086798ec32814af7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/descriptor_pb2.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/descriptor_pb2.pyi new file mode 120000 index 0000000..88a48b6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/descriptor_pb2.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/03/b6/33/5889cd1f449242b944e305c0c36bdb9c2370f77ce4caed7de869bcaeda \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/descriptor_pool.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/descriptor_pool.pyi new file mode 120000 index 0000000..e246ba4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/descriptor_pool.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/76/ca/9e/7b0caac9d530604f6c36c708daabd813587986e5de650f628318d00fc2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/duration_pb2.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/duration_pb2.pyi new file mode 120000 index 0000000..91e5f6a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/duration_pb2.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8c/11/1a/7aa72a0a8a713824968db84ff338d72dff95902045499799d46f08d545 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/empty_pb2.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/empty_pb2.pyi new file mode 120000 index 0000000..e5181b4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/empty_pb2.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/15/65/f4/a8b6593035f7e3e238e44c028ef3969cd76fc0627ec84dc37195e86497 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/field_mask_pb2.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/field_mask_pb2.pyi new file mode 120000 index 0000000..a95079a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/field_mask_pb2.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e8/4d/ba/71cf3bdaf0ed4825f40755d01801d45bf6a3c18702b4a2a0fa3ade8c98 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/internal/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/internal/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/internal/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/internal/containers.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/internal/containers.pyi new file mode 120000 index 0000000..35b49fa --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/internal/containers.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/15/17/04/416c39bef7636797c3f349a3f46ffdb5d66339381688c188a15e9f8677 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/internal/decoder.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/internal/decoder.pyi new file mode 120000 index 0000000..415e756 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/internal/decoder.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ae/82/4a/f3d0a482354a8d125b1274398a4d4a75f5e1c31ca64b244883b739596d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/internal/encoder.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/internal/encoder.pyi new file mode 120000 index 0000000..9b50e6e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/internal/encoder.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/de/b4/60/a82e9c789ecbb4bed0a3962200ae82c04fc78a01ccb23f65fa86bfe621 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/internal/enum_type_wrapper.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/internal/enum_type_wrapper.pyi new file mode 120000 index 0000000..10e72c3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/internal/enum_type_wrapper.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1c/f5/5e/6471abd83367308f5b5fc8513628b73ab0fc0ed588af67dac1ff014364 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/internal/extension_dict.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/internal/extension_dict.pyi new file mode 120000 index 0000000..5a30640 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/internal/extension_dict.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7b/9e/3e/f33dc9c2920ab37ebe348f5559f43d2c49dcc033025c9ac9234c229edf \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/internal/message_listener.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/internal/message_listener.pyi new file mode 120000 index 0000000..f8db72b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/internal/message_listener.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/12/24/65/451fa4cc994a577357a18b58ac684c4b7959da85b041dabbee1d5c63c1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/internal/python_message.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/internal/python_message.pyi new file mode 120000 index 0000000..739b65e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/internal/python_message.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/20/44/ab/d4e8c0643f62760d4e816ccc7de5764ad6b4f11d2e1cb01bc1e9634c3e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/internal/well_known_types.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/internal/well_known_types.pyi new file mode 120000 index 0000000..ba89f88 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/internal/well_known_types.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0c/5c/5c/2d1ff01de4c6740e3d565f9dafc934cdd9bb2e592c07a0ea8f7643e588 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/internal/wire_format.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/internal/wire_format.pyi new file mode 120000 index 0000000..b61a5ca --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/internal/wire_format.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9d/ca/c8/9597818f2b5f59e1bdad05fc55d1cef18bd2dc49aa049e2b21b699571c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/json_format.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/json_format.pyi new file mode 120000 index 0000000..3083ecf --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/json_format.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/64/2b/27/432da76d44d80243878a5868180bb480cca24c6c7bac3d704cc107ef93 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/message.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/message.pyi new file mode 120000 index 0000000..7444b17 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/message.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c3/16/28/ef0a6d5814f699a60c042330106232b93acfce68d436618e972e309a11 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/message_factory.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/message_factory.pyi new file mode 120000 index 0000000..2c88eb9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/message_factory.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2c/e3/f9/11e1aa222f23e91d15fb87a81bd899357df47377506f5279f6d77fe0ab \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/reflection.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/reflection.pyi new file mode 120000 index 0000000..9a49de1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/reflection.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/55/a8/5f/c9f0b3e0bce595a08d72feaa5d531aeac59067d3c46ccf724caac2f5dd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/service.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/service.pyi new file mode 120000 index 0000000..00c2680 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/service.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/92/11/52/43b8db74c8026519e14c30c85e7683bd2fc6b23865955c622690eef728 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/source_context_pb2.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/source_context_pb2.pyi new file mode 120000 index 0000000..ec33e4b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/source_context_pb2.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a2/30/3a/6c43fc1d6b3eda2f941fc18ec5cf33ddf6191aae9d89a8f5bd92d31205 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/struct_pb2.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/struct_pb2.pyi new file mode 120000 index 0000000..ad174ad --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/struct_pb2.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/83/50/ae/15ed82777edb8a091188eb9db76868200dbb2c81f461cc713358b29b5c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/symbol_database.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/symbol_database.pyi new file mode 120000 index 0000000..5d85bb6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/symbol_database.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b2/41/de/24a7a51c0880a7304dd8428e77a55a58fdc8b328cec687b41c34b75fce \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/timestamp_pb2.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/timestamp_pb2.pyi new file mode 120000 index 0000000..80fb8c8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/timestamp_pb2.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/dd/6c/22/28e7f604470530bc1ee3cd2d01058f0c6d7146d45e6e0c2f8f6c4837da \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/type_pb2.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/type_pb2.pyi new file mode 120000 index 0000000..bb73940 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/type_pb2.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4c/d7/40/98fc5b2188cbcd373fe27312cb7b72058de03cded5b5ea2d7e1e9a3713 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/util/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/util/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/util/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/wrappers_pb2.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/wrappers_pb2.pyi new file mode 120000 index 0000000..d2e6550 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/google/protobuf/wrappers_pb2.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ad/ec/38/62025546cecfbb135566081d1cf212af642e34e6260db8f6826648bfc9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/itsdangerous.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/itsdangerous.pyi new file mode 120000 index 0000000..3a84122 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/itsdangerous.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b9/fc/b5/d33eb147e4a98cba5af1cf3d1b8b8dfafbbf2c66861a248ccc0f8fb58c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/__init__.pyi new file mode 120000 index 0000000..c94af3d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/14/63/81/35828ecf919877c4e066eb69a3d20a019df60621a76e48b3d5d5932298 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/_compat.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/_compat.pyi new file mode 120000 index 0000000..02f7ada --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/_compat.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ec/8f/79/19804dc7eec458f77706f78fcda9dbd4858688e259c005b601d0892f04 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/_stringdefs.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/_stringdefs.pyi new file mode 120000 index 0000000..af04797 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/_stringdefs.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fe/0c/36/ca161f58896acb4eaf7b9b7ddf3dd22155d7da3e4c777af3e7c2c82a31 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/bccache.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/bccache.pyi new file mode 120000 index 0000000..2e51775 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/bccache.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ca/97/d7/16b3f993e3e17ba749de32f09f7ca144ccc34983c74e9b094f81f1e7a3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/compiler.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/compiler.pyi new file mode 120000 index 0000000..b3a6c56 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/compiler.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3c/6c/b3/2cbf2afbf9d0556e39bd309ec9c96df94b968e59fa52a7b0707b23bbd1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/constants.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/constants.pyi new file mode 120000 index 0000000..90d8a62 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/constants.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b1/e2/4d/00c5f5fec199f308bc481e6a6d9b5252f62240c7a53295cccb197e011e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/debug.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/debug.pyi new file mode 120000 index 0000000..e0caf02 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/debug.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e9/76/5e/3296637c550ff8c879b44a1ff0ff1400d36027b96c06ad5151b8cbfcce \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/defaults.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/defaults.pyi new file mode 120000 index 0000000..2becd92 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/defaults.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7d/ee/0a/8d3137fca8746c6ef25f34b2e9caad9641d3b1180c598c8cccb9c1b1a8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/environment.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/environment.pyi new file mode 120000 index 0000000..183b033 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/environment.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ed/c6/31/8602eeb225ba6f0f35e3b7531477e37ac147ff2b404652b0e5b99f2cbe \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/exceptions.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/exceptions.pyi new file mode 120000 index 0000000..8f26e10 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/exceptions.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3f/9d/93/9e98b3568536bc079acade0c6654d832784962232b5b188b3163f52de4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/ext.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/ext.pyi new file mode 120000 index 0000000..0f56b3c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/ext.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c3/9a/58/39c27887dbe04a89f561c782797b060d68ef5108c649d08e86849c6174 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/filters.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/filters.pyi new file mode 120000 index 0000000..8aedae2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/filters.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3b/14/76/e2c913d6ecfb9f627e877be896ea6d07e976d6943d293c740909c6b155 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/lexer.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/lexer.pyi new file mode 120000 index 0000000..99c81d8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/lexer.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7a/f0/63/d74c7ff3d8e57ee55a7290034ceca7a765c5f67f1ddaf41fe65660fa91 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/loaders.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/loaders.pyi new file mode 120000 index 0000000..410a415 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/loaders.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/11/b1/81/b4bf35d17011b1e59e0daeacaca3a53548947acbe526595ff0b8be770f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/meta.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/meta.pyi new file mode 120000 index 0000000..0754cf2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/meta.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fd/1d/ae/8ba82378d4a5e71e7d77066384bd56c531b4a0aa97482ae02f1fb62f6e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/nodes.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/nodes.pyi new file mode 120000 index 0000000..ea1f8ed --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/nodes.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fb/ce/96/b0ee426f0b3d22a5c149989d9c856529eb06995d9515d84850cacaf15b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/optimizer.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/optimizer.pyi new file mode 120000 index 0000000..6754c79 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/optimizer.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d5/b2/27/7891ea7cab9b043c529fbb16bf6fad186674e86e9ce33afd2f16dde17e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/parser.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/parser.pyi new file mode 120000 index 0000000..6ca3e20 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/parser.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1b/a4/bb/4b3794513b3f0062fdd7a418b9a10a4611b2ae909e90456dd093a84519 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/runtime.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/runtime.pyi new file mode 120000 index 0000000..fa74cf4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/runtime.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f2/ea/f2/67382ab466a4c950f203b386cc8f6eaaf4a86e02281abb23e4c5a6c1be \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/sandbox.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/sandbox.pyi new file mode 120000 index 0000000..8adc66d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/sandbox.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ce/19/a9/0e73ece74ba0498c2b760ed5f6bdce09b33cdfd3477c11c82f07ec7be3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/tests.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/tests.pyi new file mode 120000 index 0000000..148fdbc --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/tests.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/76/2c/73/31ef418879ef6cbf0ac91f8a63d2cb5fe543d7ea606d65c2e8cc1ce0b0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/utils.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/utils.pyi new file mode 120000 index 0000000..1fdd9e0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/utils.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a0/2b/5f/06fed6f49a9840c53b9ee9129bc9152b5c32dfc53b75bde816c9d76942 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/visitor.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/visitor.pyi new file mode 120000 index 0000000..207cd43 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/jinja2/visitor.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c9/e2/7a/837442e5b8ad3f7b46f9bb562ce667f79e04fdef51c4a3ed82c8b07157 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/__init__.pyi new file mode 120000 index 0000000..40b8637 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/df/58/ef/7b6680a9a95c96fe0781ab74e2c3f6f0ecf4e8d87cab0255902e1d07ce \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/__meta__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/__meta__.pyi new file mode 120000 index 0000000..36360f2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/__meta__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/96/e8/23/9ddc5ead55a43a1addf4ca34cc394de2eb6b08a22c7b8bcdb2a405bf15 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/blockparser.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/blockparser.pyi new file mode 120000 index 0000000..e815d79 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/blockparser.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/39/80/f0/850aae0af492a40c685c2674cf990006c5aebc2a20e0ba86dc711e3c4e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/blockprocessors.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/blockprocessors.pyi new file mode 120000 index 0000000..ccb3960 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/blockprocessors.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1d/df/04/815ef535811efa7c759b6587228438a7b75725bcd8462039bd791ad4ee \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/core.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/core.pyi new file mode 120000 index 0000000..5802600 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/core.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2b/88/69/355b7681338fef61c1f184affb17fab87bbfaac513b8158a9c06fd0ffd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/__init__.pyi new file mode 120000 index 0000000..f473e0a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a9/a6/62/218e4151208196259a30859d5f8bfe44e14848b5b3a7a8ee36b5d08b4f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/abbr.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/abbr.pyi new file mode 120000 index 0000000..f553a11 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/abbr.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/35/6b/e1/e124685366c8d17ee075cd0673914dbb7cb9d602244720cd7d4f77a332 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/admonition.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/admonition.pyi new file mode 120000 index 0000000..b95359c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/admonition.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b5/7e/7c/299c8f3f4decb689d39899e7be047c27e40bf0c4fa8ba20b1ed159ffc5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/attr_list.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/attr_list.pyi new file mode 120000 index 0000000..fbc45a8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/attr_list.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/71/06/92/3be8e26aa50664dd4166821235202f2ccf66f58f16dbe0c9e508bdcad0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/codehilite.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/codehilite.pyi new file mode 120000 index 0000000..e44d617 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/codehilite.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1d/19/7d/9091efda795e122f3805d091f5c219d70e3288e6aebc529d9ac5e089e8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/def_list.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/def_list.pyi new file mode 120000 index 0000000..f2d195d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/def_list.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f9/a7/83/9496cbe09202493ba2cdca019182079a411f6fa8299064045a931cd2be \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/extra.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/extra.pyi new file mode 120000 index 0000000..c6852a0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/extra.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fd/c3/6e/9f047165292fdce4fe9bda167fbe9b55531c2624e4a2c34216d1f7733d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/fenced_code.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/fenced_code.pyi new file mode 120000 index 0000000..8e513d4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/fenced_code.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c0/ba/9f/7de58de04560d48a6f9cc7875bd0937d627b582dd5c33f1f8befd7ac11 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/footnotes.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/footnotes.pyi new file mode 120000 index 0000000..86f4ba7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/footnotes.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/07/6d/7d/0c8bd2f06d116c9bbf4e1c0e0f4ab15cc1390657bb93ae1a93c75fc1a9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/legacy_attrs.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/legacy_attrs.pyi new file mode 120000 index 0000000..44ad38c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/legacy_attrs.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/50/4e/4a/40f922ad375132bf740b85aa3d4a4a2873802ce4294f81e41cfacfc4db \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/legacy_em.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/legacy_em.pyi new file mode 120000 index 0000000..2a8ac5f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/legacy_em.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4b/9c/1b/f857c749f22af68e5473565e426dc1c1f47b9a3457f20da49b9115f745 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/md_in_html.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/md_in_html.pyi new file mode 120000 index 0000000..e44cdad --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/md_in_html.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/04/58/7f/a204f4de99ca7e9a946f40d8e4b2f0f53df7d1eacadcdcce04c3a4235a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/meta.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/meta.pyi new file mode 120000 index 0000000..0fd4ba9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/meta.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/dd/e4/62/a96da7a687b48ae845b790601551a386549229ce2f60e9038d896d689f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/nl2br.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/nl2br.pyi new file mode 120000 index 0000000..3119d17 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/nl2br.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9a/34/7e/cc09676df664b6d3dc2808a166dfbcbe3f5572c3af00397d2f34e05b61 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/sane_lists.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/sane_lists.pyi new file mode 120000 index 0000000..8cad304 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/sane_lists.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/86/aa/8c/822cc192915ce26b175ba2108ec183a77585c1f793bd11f148cb8a9391 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/smarty.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/smarty.pyi new file mode 120000 index 0000000..e588401 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/smarty.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/46/c0/0f/32a1402b741fcf9d6cb7627a49d63bb34c8325740c9e5d876d1b470c97 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/tables.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/tables.pyi new file mode 120000 index 0000000..f5398ad --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/tables.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/12/0f/7a/b06ff0c361ba92de8de23952c1503e2c4f37e0a646a78f8480369c07d9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/toc.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/toc.pyi new file mode 120000 index 0000000..7f84155 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/toc.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7d/ca/84/f580e26c9cdbf0fd4ec7b5967335e2ff7e1d0afa5c3f05c22e4ae36a01 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/wikilinks.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/wikilinks.pyi new file mode 120000 index 0000000..6940d88 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/extensions/wikilinks.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/43/61/48/6b588fbb45cc46a2536fcc1ec1d3e84d712725766216e60bf999b44f5a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/inlinepatterns.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/inlinepatterns.pyi new file mode 120000 index 0000000..9057794 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/inlinepatterns.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5b/f0/0c/517d01703e6fbfc38944bf43da125f01cd01ccad61b35da43a028aaf4f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/pep562.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/pep562.pyi new file mode 120000 index 0000000..99ad2a2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/pep562.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a4/b8/f1/8e2f80e317815588e7b5ba1ec44c30a12a7e24ee026d32f38941af62a7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/postprocessors.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/postprocessors.pyi new file mode 120000 index 0000000..2126242 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/postprocessors.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/05/17/2e/cd7d898e391f4a4f8ec55c9888f976ecb8d1f5a93ebbd929db165155ef \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/preprocessors.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/preprocessors.pyi new file mode 120000 index 0000000..e8ff9d5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/preprocessors.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a2/8d/c3/e40004c446aaf465a25e155b945dfb7367288e8ee18d3b1f8772223956 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/serializers.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/serializers.pyi new file mode 120000 index 0000000..e4173bb --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/serializers.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/57/79/e9/8d7ccee6847c3afe8afb82594daf7a99ae55406aed28346376f46f086e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/treeprocessors.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/treeprocessors.pyi new file mode 120000 index 0000000..0eb1b5c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/treeprocessors.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fc/37/f3/41c5977e533dbeac9061698f6f40df1f96fc3c4153051841ae9504b1a4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/util.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/util.pyi new file mode 120000 index 0000000..d96c401 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markdown/util.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e2/d1/30/17fd38675cc6ff2bb7d78922c1008951f9d53bd0052c5a03500534e1ae \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markupsafe/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markupsafe/__init__.pyi new file mode 120000 index 0000000..5ed3ed7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markupsafe/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/45/34/5a/c9c0330b34501af453f9e8d22cd76fc20e6442c5c1e681dc04f1f2a63a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markupsafe/_compat.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markupsafe/_compat.pyi new file mode 120000 index 0000000..f73f778 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markupsafe/_compat.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c4/dd/6f/8524e6cb67d74c4e6952b2ff351918a0e2c7de5058e980dfed947d7333 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markupsafe/_constants.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markupsafe/_constants.pyi new file mode 120000 index 0000000..9c18224 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markupsafe/_constants.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2a/4d/91/e262c177dc2970580a034938bbcec59970febf553a38311dbb08459151 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markupsafe/_native.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markupsafe/_native.pyi new file mode 120000 index 0000000..1dad2d8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markupsafe/_native.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ad/e6/fb/9dcfdcdbc253c0aa14625822ae8b4188e8844b1d4cd5ba4b66d5ede834 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markupsafe/_speedups.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markupsafe/_speedups.pyi new file mode 120000 index 0000000..1dad2d8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/markupsafe/_speedups.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ad/e6/fb/9dcfdcdbc253c0aa14625822ae8b4188e8844b1d4cd5ba4b66d5ede834 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/maxminddb/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/maxminddb/__init__.pyi new file mode 120000 index 0000000..9f9a633 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/maxminddb/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/55/e3/af/1591e4694f4d9847c3f99c4eabbdf9086c1f2669cc9034549a460b0d6f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/maxminddb/compat.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/maxminddb/compat.pyi new file mode 120000 index 0000000..6b3ab29 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/maxminddb/compat.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/94/4d/75/b752ae1389c0d2987a070f5d59f84d138978e6bfb87c2c4e551cb801f4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/maxminddb/const.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/maxminddb/const.pyi new file mode 120000 index 0000000..2eda2a7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/maxminddb/const.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/73/52/d6/1f45d8b5b72cf53d26273e65ca3e99015070536cd925d464ec377815cd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/maxminddb/decoder.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/maxminddb/decoder.pyi new file mode 120000 index 0000000..8e59aa1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/maxminddb/decoder.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/95/92/0e/044f0e2891aed5f326887fe7d1be3aa9b983c675cdb02ab611df68c730 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/maxminddb/errors.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/maxminddb/errors.pyi new file mode 120000 index 0000000..9c4a02d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/maxminddb/errors.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/89/f9/b5/bbec8f2f23c2e4a3cf17b179becc272765fe4de19ce448185ef5af9f7d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/maxminddb/extension.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/maxminddb/extension.pyi new file mode 120000 index 0000000..2e8dcb0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/maxminddb/extension.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/93/bc/8b/4b6976eba3a31507e1e339b33b03bee3a2e9be74f728cf459efad9c9b5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/maxminddb/reader.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/maxminddb/reader.pyi new file mode 120000 index 0000000..2238b88 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/maxminddb/reader.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5f/8d/78/b63765b260a64be7c57f1153a879f9f84f227e96fdfdc923cccfa0f623 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/mock.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/mock.pyi new file mode 120000 index 0000000..4cd536b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/mock.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/02/5d/ed/03bcca34b5f15007866b57b59ddb28690b529bca2e3d84fbff389f7a32 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/mypy_extensions.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/mypy_extensions.pyi new file mode 120000 index 0000000..ab34362 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/mypy_extensions.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c3/51/2b/83b5a171fd37a44f262344f9a8bc0b3e86879dc3d144932b720028990b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/nmap/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/nmap/__init__.pyi new file mode 120000 index 0000000..8c687b9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/nmap/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c7/f6/88/a73a23e6f9b364a5ca0ebc2b284379096ae0ed7083675fb139d7c63a3d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/nmap/nmap.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/nmap/nmap.pyi new file mode 120000 index 0000000..b2be03a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/nmap/nmap.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/85/45/bc/6fdcae346864e3e5c5abcf6b1619f3220851215378c26614885c068d8c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/__init__.pyi new file mode 120000 index 0000000..7fbe80a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d2/83/3c/2ed148027946fa568ae968f2925496782181f70752ccaee05546d196c8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/_version.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/_version.pyi new file mode 120000 index 0000000..aa53368 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/_version.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/11/e2/97/3535ccebe1241778794461627dfd6269f685c9962832c70939f718b877 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/_winapi.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/_winapi.pyi new file mode 120000 index 0000000..f57a991 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/_winapi.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c8/54/e4/c051dbdf69545b8583e84abca272e14461827a765930ec4076f52f608a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/agent.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/agent.pyi new file mode 120000 index 0000000..770f011 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/agent.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/56/65/20/ef07b56189e8e87e331e08c2a0f63ba533b7cf314792714c0bca18c047 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/auth_handler.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/auth_handler.pyi new file mode 120000 index 0000000..b2f9bbd --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/auth_handler.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a9/b8/ac/5c84bd3f6966c6cc3671257187bcba58830bb03f5845b04c74f3ada630 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/ber.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/ber.pyi new file mode 120000 index 0000000..cd8bba0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/ber.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e0/ea/0a/e6475f631f0c54c7e66d92f1315baee712f168f25ef2e4e7bb49fcfc17 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/buffered_pipe.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/buffered_pipe.pyi new file mode 120000 index 0000000..dc2ab74 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/buffered_pipe.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9a/f0/81/b07b8bdc422cc9ec1d1088b0519358a67ec069207172a4c7fe6775e251 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/channel.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/channel.pyi new file mode 120000 index 0000000..33a772a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/channel.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/da/c9/b1/8524a177dc57286a876f932a07a068db70a9509222d5d4301c188e21a8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/client.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/client.pyi new file mode 120000 index 0000000..743073a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/client.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fb/30/94/c0559921c8124b054a8849f30bc8ecba23c2fc319d25435ac3591743eb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/common.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/common.pyi new file mode 120000 index 0000000..d7e549e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/common.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/31/f0/72/8acd86ea4539fb2e058e18514d00f90d068fe4e385adcf9c882f4988a1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/compress.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/compress.pyi new file mode 120000 index 0000000..e2b0b4c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/compress.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fe/70/3f/a1a02ecdad8ec60d20943a3ea2feae61b00862529cae4639b2939fa809 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/config.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/config.pyi new file mode 120000 index 0000000..eaa795f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/config.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bb/18/4e/60a3883ccee319ef19b0a2a1f5fff236d28474b7717c50b6995f67c127 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/dsskey.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/dsskey.pyi new file mode 120000 index 0000000..3610774 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/dsskey.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/45/d5/89/f42ba106f898d5cec50a1c0b0defd94ceccbba4c6a682d4ae40e809a93 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/ecdsakey.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/ecdsakey.pyi new file mode 120000 index 0000000..1e097ee --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/ecdsakey.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ab/c2/95/8666c41a9f7f616ffd018704c7f9cab216a35bfab35a5f1070a493bf92 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/ed25519key.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/ed25519key.pyi new file mode 120000 index 0000000..b9479d1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/ed25519key.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e1/a5/b5/43cb6dd94d90218e6e56e4ae01ccd51412e43fc3d1dff0209e2475b655 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/file.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/file.pyi new file mode 120000 index 0000000..a5c468c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/file.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2e/ed/61/98a6a99a5937fe377515c20f6eb9f3f3d595953342c18e3a0f84c56df1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/hostkeys.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/hostkeys.pyi new file mode 120000 index 0000000..a25e2e7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/hostkeys.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4b/5c/dc/e106e003b746944b5c8b1299f16ad3d8e93ceb5cb2fb353c0cbb6f6697 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/kex_curve25519.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/kex_curve25519.pyi new file mode 120000 index 0000000..5fd6a79 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/kex_curve25519.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9d/aa/90/e4644bd2955c4d70fefd7417d725ddd84a4493452ef6f3514dfa355f0b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/kex_ecdh_nist.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/kex_ecdh_nist.pyi new file mode 120000 index 0000000..9432cc5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/kex_ecdh_nist.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e6/7d/a5/d77012d69e23cf82db621499889d50e7162de156085182cbbc9eb5c9d9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/kex_gex.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/kex_gex.pyi new file mode 120000 index 0000000..1c82550 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/kex_gex.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/36/e4/08/0030bb5a02b1983cb63424b3c7871308300bbfdc79365a7f63167dd346 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/kex_group1.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/kex_group1.pyi new file mode 120000 index 0000000..51be91f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/kex_group1.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/87/d5/63/d7fda841aeaa4dd07ad24005eccae949c296f79db6906dc52f84949af9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/kex_group14.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/kex_group14.pyi new file mode 120000 index 0000000..27366d2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/kex_group14.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/27/20/9c/711ba40bfa232af829a15693c47edd69c40de4809a26b454e835f6fd94 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/kex_group16.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/kex_group16.pyi new file mode 120000 index 0000000..6b6376c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/kex_group16.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f2/e9/e7/927b94d9cb8f3542a114ed7763384fb1a3977b05624c2b16f1ff5cc374 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/kex_gss.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/kex_gss.pyi new file mode 120000 index 0000000..5d27549 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/kex_gss.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ee/fe/1a/d666f04edb8a54d9a453dd725a553b7bef151956aaf7ac70b2f077888c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/message.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/message.pyi new file mode 120000 index 0000000..731d107 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/message.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e8/c1/a1/9e5419e779b1ad8950e498e5a1292cd6d96a5090c0cdced165e67d13c3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/packet.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/packet.pyi new file mode 120000 index 0000000..a011e6f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/packet.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d1/7f/21/bf1eebf88dac8934bb2f92095737f419e0265f704e1d770ec7126e3ad7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/pipe.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/pipe.pyi new file mode 120000 index 0000000..eb3e64d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/pipe.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/aa/71/7a/e35d9ba27f3a39f5b816b9532637b2d9ab42f6edde0cb40aa87f100d9d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/pkey.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/pkey.pyi new file mode 120000 index 0000000..0656f93 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/pkey.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/66/d6/28/9db78ce242385eeebf78cd3053b68bcc716c117e8cdec1bdeb1edbff63 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/primes.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/primes.pyi new file mode 120000 index 0000000..5bdbfe9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/primes.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7b/62/79/9e98fc3de61f9d0ab6a56d512c280ca1f9922138c35561f4676966bf46 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/proxy.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/proxy.pyi new file mode 120000 index 0000000..5d381a4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/proxy.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e1/51/59/da22fe3fce510565e58a293efaf9ad94052c9e0978093da088b971b878 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/py3compat.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/py3compat.pyi new file mode 120000 index 0000000..864ea04 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/py3compat.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/29/60/ab/22a8e694de64786d44e4db3a8c36b8eb3f323329bc849a6ffb50debae7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/rsakey.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/rsakey.pyi new file mode 120000 index 0000000..6d70fda --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/rsakey.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b8/7a/5f/b927c33537bb32c21d6fd1fac797ca775bcfd1200a21c74e7abc4e4c57 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/server.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/server.pyi new file mode 120000 index 0000000..200038f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/server.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/97/2b/f9/4a84634f6b649b70330851bc080f43d4eb492927420a24397cdc5f362d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/sftp.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/sftp.pyi new file mode 120000 index 0000000..f6683ad --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/sftp.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/23/cd/61/dd792d614999c9f84132c249c161583b14e203ad08028868cbf7a47d97 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/sftp_attr.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/sftp_attr.pyi new file mode 120000 index 0000000..d6161e7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/sftp_attr.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ee/42/e6/dc28ebe8f9b8d15ba81337d5feeeb303f51ad8f927bbbf83e45c53a5ac \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/sftp_client.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/sftp_client.pyi new file mode 120000 index 0000000..8be74a2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/sftp_client.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/96/06/5e/750b53aa8792ef34843b6af6072a3a9933be0c9c57803c6642d449bdaf \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/sftp_file.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/sftp_file.pyi new file mode 120000 index 0000000..7fbfe2c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/sftp_file.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/51/e5/33a6b2309684c61baf4c8e7df60c8a2ed26158e831353a48717824625a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/sftp_handle.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/sftp_handle.pyi new file mode 120000 index 0000000..b899a37 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/sftp_handle.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3a/72/66/37893bb72a7d1b256d5ae930e02b81bc3203be95827414383f118fa894 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/sftp_server.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/sftp_server.pyi new file mode 120000 index 0000000..2459a8d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/sftp_server.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e1/a3/47/e2c2af448fb8f5135e3b315d489027bc19eb832d2c9455ab43400e3ec9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/sftp_si.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/sftp_si.pyi new file mode 120000 index 0000000..2055092 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/sftp_si.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/44/80/80/241d78f5d1d84671853604b0cd96a9af63a9afdf8489fe1408fd70ece5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/ssh_exception.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/ssh_exception.pyi new file mode 120000 index 0000000..6d659a3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/ssh_exception.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/35/fd/bb/24dd01b7a24fa6630d1010bf2de8eebdb0a2fcffae97d3d80ea59dd6df \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/ssh_gss.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/ssh_gss.pyi new file mode 120000 index 0000000..f35a97b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/ssh_gss.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5a/65/21/c015b2bdaa1fffaa0fd113857eb4e8f4e59c717310f3f43a51226addb2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/transport.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/transport.pyi new file mode 120000 index 0000000..a5f498e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/transport.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/91/f2/6b/720ac8b3742ee0a0bbadde0439c58cb73ee290431e56aa606ef74cad50 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/util.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/util.pyi new file mode 120000 index 0000000..971eda3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/util.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/77/12/b7/41869f92e057a1b1a42f4c01ad9de624fcfb67053e005cb6fb541a5622 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/win_pageant.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/win_pageant.pyi new file mode 120000 index 0000000..2253caf --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/paramiko/win_pageant.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5f/ca/0b/78a66c966ade8159d02c0c1a2c3cfcabde690aa549d9a852cf7c15388e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/polib.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/polib.pyi new file mode 120000 index 0000000..762db5e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/polib.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/90/f3/7c/3440f540931db643b0342d49874dddfe2de233c89a2fbfef2da5e861aa \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pyVmomi/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pyVmomi/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pyVmomi/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pyVmomi/vim/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pyVmomi/vim/__init__.pyi new file mode 120000 index 0000000..65c227f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pyVmomi/vim/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c1/d7/4a/e86ed3a636df598d5c0aaa184c38282e6aa85164c70b9726cbc85efcb2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pyVmomi/vim/event.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pyVmomi/vim/event.pyi new file mode 120000 index 0000000..6e3434a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pyVmomi/vim/event.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/18/8c/6e/82981838e0ee739ad27b0b2c56662544067caa6902d42dfcadb0f8ca10 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pyVmomi/vim/fault.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pyVmomi/vim/fault.pyi new file mode 120000 index 0000000..ff73791 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pyVmomi/vim/fault.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2d/8b/7d/5a9bd164d1305a5479e64ea5ec2c5215b4bc93f14b24b8d4f931a83fc5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pyVmomi/vim/option.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pyVmomi/vim/option.pyi new file mode 120000 index 0000000..fa0c6de --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pyVmomi/vim/option.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/60/26/8b/c4998eb5395d1c8968f7ce0423a77dca41ac15b7a5346b931cbef402bf \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pyVmomi/vim/view.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pyVmomi/vim/view.pyi new file mode 120000 index 0000000..c032aff --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pyVmomi/vim/view.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/84/b0/c8/d1b0cf1243e7c692e5892065726620a2777edd10b159cd7fdcd53ee417 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pyVmomi/vmodl/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pyVmomi/vmodl/__init__.pyi new file mode 120000 index 0000000..3512d4e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pyVmomi/vmodl/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0e/e2/d2/513cbd4b399dfbfa549ae39c497a1a5ab9c23c21f71d4f7152d5ba015a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pyVmomi/vmodl/fault.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pyVmomi/vmodl/fault.pyi new file mode 120000 index 0000000..905a3b5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pyVmomi/vmodl/fault.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/97/c5/4b/6d1a4acc0082cffc2ac172c9932c4bc18452d1789497d2662b2d958b1c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pyVmomi/vmodl/query.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pyVmomi/vmodl/query.pyi new file mode 120000 index 0000000..0afcd22 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pyVmomi/vmodl/query.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/87/41/e1/4d9549206d2dd32bf1a776e0c2354910e243c8ed620e63cf4a1c23e42f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pycurl.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pycurl.pyi new file mode 120000 index 0000000..e7ec621 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pycurl.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3e/4a/9f/5d3fb18069b84aad5b2b2c6d5fb164d64188e16c789add8316ba8e6d13 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/__init__.pyi new file mode 120000 index 0000000..da5d12f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ba/e8/21/091893e30b883209f9f820ce670656685709836673592a8454ae8053a9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/charset.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/charset.pyi new file mode 120000 index 0000000..a4976f8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/charset.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f2/94/3d/b887c15422a0404e36ae0015f0e73544052247b73c936cf8c3ae3356ca \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/connections.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/connections.pyi new file mode 120000 index 0000000..f3d9e24 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/connections.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/12/7a/34/e6ed5f276581304eef73e580ccfd33b6f1382a187d25b67556a2340a2e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/constants/CLIENT.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/constants/CLIENT.pyi new file mode 120000 index 0000000..c31f080 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/constants/CLIENT.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/be/72/04/e03f82099dbe4f0458bdf89c0dc071fa5ba89cd8479acbb1abc33457a5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/constants/COMMAND.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/constants/COMMAND.pyi new file mode 120000 index 0000000..09c060b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/constants/COMMAND.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/48/0a/25/d1457ab6d2b0cf58bd0d49ff0f274ed47072792a1d8030b7432bf50530 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/constants/ER.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/constants/ER.pyi new file mode 120000 index 0000000..ef4bf31 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/constants/ER.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d0/ed/05/9a6121cde784526964992365b87b995618654ce2041ead5873e8572c56 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/constants/FIELD_TYPE.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/constants/FIELD_TYPE.pyi new file mode 120000 index 0000000..d568948 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/constants/FIELD_TYPE.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d7/5d/9f/fd96771974a21afe6addf634e052eaf8d3165a1f330d2b277a818a7f31 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/constants/FLAG.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/constants/FLAG.pyi new file mode 120000 index 0000000..55e410a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/constants/FLAG.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2c/9d/7d/88d4ca755feda92867e46c896d373726d1abec87aca02432d39f0a3f1d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/constants/SERVER_STATUS.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/constants/SERVER_STATUS.pyi new file mode 120000 index 0000000..80e1308 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/constants/SERVER_STATUS.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ba/85/49/c74f10269319cc18b26574c6d47afbcdc49a846c76cd1f3d78eb58c5e7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/constants/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/constants/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/constants/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/converters.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/converters.pyi new file mode 120000 index 0000000..070dfa2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/converters.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/24/d0/9f/1b72e03a7e9052d0109bb0e47f98f930029ab0ff6d38b0d61b30f7d237 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/cursors.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/cursors.pyi new file mode 120000 index 0000000..9e33d6a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/cursors.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/57/40/d8/07620b8d552339cefdaef78c3c02e27674376657d1462bff652eb4f07c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/err.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/err.pyi new file mode 120000 index 0000000..0e24d5b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/err.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bf/3f/26/ba2a55e6bc85f4db92ffa6b26b6996c20009f49cdd84037e36fca1c819 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/times.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/times.pyi new file mode 120000 index 0000000..608f6e9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/times.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/37/78/98/2e4177304b7045af26b8a8f85624574bb38df1f716e5700dbb654cc57a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/util.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/util.pyi new file mode 120000 index 0000000..c176999 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pymysql/util.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7c/a1/bd/b131828f22c6e4bfa7e4af124ea9daf1755f2b34366be5f8ea8cdb936d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/__init__.pyi new file mode 120000 index 0000000..c83c566 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/aa/9f/1c/17a4e5841779f36d232a205172b47eaae9a738d514954282cdfe2b89bd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/attributes.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/attributes.pyi new file mode 120000 index 0000000..bb103e3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/attributes.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f8/6b/1b/98c16ec92054655a612f9b3bef42ff0629d785e23effc8c465615c69ad \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/connection/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/connection/__init__.pyi new file mode 120000 index 0000000..f649861 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/connection/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b4/87/2e/b11aa30f971bc3d814440e95ea0252de4a2d77aa81c6e6be59eb9449f8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/connection/base.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/connection/base.pyi new file mode 120000 index 0000000..ef070ae --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/connection/base.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/95/14/6c/762cb8ab6c3158428577d7fbd0c36ab14bc689acf71db1185b7eba2970 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/connection/table.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/connection/table.pyi new file mode 120000 index 0000000..fcd5045 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/connection/table.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c9/b7/51/32f5bb8a1bade9138caa73fc0e2ff58da9c5607f3688dd8100ee11ade8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/connection/util.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/connection/util.pyi new file mode 120000 index 0000000..7226291 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/connection/util.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/55/e9/5f/27cc6f422792763c78864a798345bbdedc80ac6daaa1b471636c5c716b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/constants.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/constants.pyi new file mode 120000 index 0000000..1e79da4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/constants.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d8/3c/52/6360b062b2b1fee4f440a1e8af399e91c7fa6dc296c50e65669e8f45ca \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/exceptions.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/exceptions.pyi new file mode 120000 index 0000000..ebb7d8e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/exceptions.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a0/dd/b1/fb1d6aca9e565512be8c5f6b563cd02078948cd3b9440c1f45341245d0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/indexes.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/indexes.pyi new file mode 120000 index 0000000..561a7f2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/indexes.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6b/93/15/5d285091bd94521e612625f54bf51a2c9dd1ceaa7620a07d65fb94d924 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/models.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/models.pyi new file mode 120000 index 0000000..5ce067e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/models.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ce/0d/62/c94bc28ce0cc10b0ca48f5e77115c065fcabf9378f4b323ad6a7e351ea \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/settings.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/settings.pyi new file mode 120000 index 0000000..3e503ac --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/settings.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9d/fc/ad/59db1a286ca84d53ec222d01fb5e7279c46f350eb56372ffb13d2aa6fa \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/throttle.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/throttle.pyi new file mode 120000 index 0000000..bd2735e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/throttle.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5e/7c/71/d9c6848b70202e29e81d209565492e10f5795f1c0cc3cdeda54694bd19 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/types.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/types.pyi new file mode 120000 index 0000000..4c834af --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pynamodb/types.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/04/22/3e/cc5e4afe63963f31958b132f557a884aa4b15a89068d1d1a568b32bcad \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pyre_extensions.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pyre_extensions.pyi new file mode 120000 index 0000000..17e39ce --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pyre_extensions.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/08/9d/23/51ad72aee4786bf715a9c151a4e441a5819e6bd0b9bd0e65c067d65192 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pytz/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pytz/__init__.pyi new file mode 120000 index 0000000..712417f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/pytz/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f8/b0/e2/bcb23b124132c295507d5c8c16e54d1036456e877eccdc4636540efc0f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/redis/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/redis/__init__.pyi new file mode 120000 index 0000000..07d7023 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/redis/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a4/d9/70/5fdcb5d0e370be52b5cb34fd30c03a850c74ea75bcbb5a87ad5a4c9841 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/redis/client.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/redis/client.pyi new file mode 120000 index 0000000..1948cb4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/redis/client.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/84/a3/23/a7f2d172ab24f317f6b6ff4745d155aaaa89e3a407d4c1db4600117881 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/redis/connection.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/redis/connection.pyi new file mode 120000 index 0000000..270be8f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/redis/connection.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/68/c9/53/cf6626b076fa8a0bf9c9a8e7e2026cc0fb3d7eb15afe0aecd9e12a08b7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/redis/exceptions.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/redis/exceptions.pyi new file mode 120000 index 0000000..078a01b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/redis/exceptions.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/77/67/e6/25af6ee46aeb01a493f0981d7e916c0712aea6f28b6f6887f5580fed68 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/redis/utils.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/redis/utils.pyi new file mode 120000 index 0000000..db7054a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/redis/utils.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6b/97/32/0c201207413566e04a2b7ddd648ed905caf6ac84a48965396a586325b0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/__init__.pyi new file mode 120000 index 0000000..9d9932f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2c/83/91/1f076397e3a092fbdde45b3f1994b793f2dc10e77daa0951a53427603b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/adapters.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/adapters.pyi new file mode 120000 index 0000000..235acd1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/adapters.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/39/fc/ea/255eb80811e6cf0ae85b64e6d787b9919c82bbf2fa34959252106028b2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/api.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/api.pyi new file mode 120000 index 0000000..431a749 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/api.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/19/cc/3f/8e8e463b48db2c332fba4735d1616e5c29e00448f24db4d3360be078c6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/auth.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/auth.pyi new file mode 120000 index 0000000..1274827 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/auth.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ab/ad/e7/8ed9d38e3dc020258369c04ab084bb0e32e2910b09c1177b0ad59adbaa \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/compat.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/compat.pyi new file mode 120000 index 0000000..7384470 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/compat.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/77/74/87/0daf949cdcb5eccbf46a2a3b91011feaab11cc4a60037d7e3305ae048a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/cookies.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/cookies.pyi new file mode 120000 index 0000000..3edefd0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/cookies.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c2/7d/18/fbf74dc638138d8f567d1b89a659012d8e356328544b87030221461a8f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/exceptions.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/exceptions.pyi new file mode 120000 index 0000000..e3df911 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/exceptions.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/47/11/c5/4768442e0bc5a0111ad0029e61a58d9a30f2ad626bbc9e91280af6e142 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/hooks.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/hooks.pyi new file mode 120000 index 0000000..13c9030 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/hooks.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/75/a7/f7/4e9e4392757b9725ad19ee67d2357b53423fe87c283293a796009d62fd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/models.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/models.pyi new file mode 120000 index 0000000..f424651 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/models.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ca/72/39/a374912ac313917cb16dad8d08055d4ed1a00b5852a908fee105cc2d2b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/__init__.pyi new file mode 120000 index 0000000..6aded0c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/72/73/53/253f2635bef327cbd3ea329da625b1218019330dd0cfa7eb7a51a0cdbb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/__init__.pyi new file mode 120000 index 0000000..5a68a60 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9e/85/c8/8fc1f208936da780971887eccbafb2022ee94f53f8b939fefef61d18fa \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/_collections.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/_collections.pyi new file mode 120000 index 0000000..ade80ed --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/_collections.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/68/7a/61/836939e5deded2da852a64b222fb1adaf46024d037aebfc6bd5dbc045f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/connection.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/connection.pyi new file mode 120000 index 0000000..2cc64f5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/connection.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/81/6e/2e/808b6dcf298a652a11bc63920fae664faf5300daf7e7f3417cd227f269 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/connectionpool.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/connectionpool.pyi new file mode 120000 index 0000000..74aae29 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/connectionpool.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/09/07/6b/739d5ba8bc591bf49dfeedb748f708c5f7d0b6081fa75b12f0524b8a88 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/contrib/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/contrib/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/contrib/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/exceptions.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/exceptions.pyi new file mode 120000 index 0000000..efd7ac5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/exceptions.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4f/1b/cc/b3061725d8229bd7eb0699906c2e6afc2bbc48cdfbbd6d9916b7ef1f6d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/fields.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/fields.pyi new file mode 120000 index 0000000..7a989b8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/fields.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a2/5e/c4/0170a6442aa700d06909eb9ae4e1cd8d61b3dda0957ffda3f9e2199607 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/filepost.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/filepost.pyi new file mode 120000 index 0000000..bb1f81a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/filepost.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/55/d4/3a/e85e128eeb05f6a4e450ff14d3251bad1a8826ff0359f4c84a027b3778 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/packages/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/packages/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/packages/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/packages/ssl_match_hostname/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/packages/ssl_match_hostname/__init__.pyi new file mode 120000 index 0000000..afe10bd --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/packages/ssl_match_hostname/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f3/e5/8d/43c1ec17b25605e3759f4aa83d4f381ec028b82ac78f8479aab18aad54 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/packages/ssl_match_hostname/_implementation.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/packages/ssl_match_hostname/_implementation.pyi new file mode 120000 index 0000000..f599d49 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/packages/ssl_match_hostname/_implementation.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8c/07/4b/30cbddc5db3364221d546c51670ee2e7068806a6f846ac247ad26a32be \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/poolmanager.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/poolmanager.pyi new file mode 120000 index 0000000..337bb98 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/poolmanager.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/eb/a5/e7/54f335b275bf9202835f6ff6d4fc3237e02cef1b600220841d77fa535e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/request.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/request.pyi new file mode 120000 index 0000000..3293032 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/request.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/72/10/b6/9a5e9e01cc3913620b74fc92cff699f4e40c783e67c7486599855f933f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/response.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/response.pyi new file mode 120000 index 0000000..366e4dc --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/response.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/42/99/1f/f02a445b9b36a4a331c0055f833db34389a25bb93277e16239e1f2bc6f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/util/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/util/__init__.pyi new file mode 120000 index 0000000..b51b113 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/util/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c5/a7/0d/ca6c44b02669e7094aa35e4bf164985f386bb87711b4632a6a68c0ad93 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/util/connection.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/util/connection.pyi new file mode 120000 index 0000000..99d08a4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/util/connection.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5d/a1/58/b48d98c991a73958afb57b0b5ba8cc49be852a97c88776884089c92d1d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/util/request.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/util/request.pyi new file mode 120000 index 0000000..a8d59f4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/util/request.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/85/b9/e2/5a68f67f9586e66eaabab8cbe782b757332101f7e248c6beaebd423b4b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/util/response.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/util/response.pyi new file mode 120000 index 0000000..7ced154 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/util/response.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/43/40/96/829406e7330fc707342ceaf97903847e63aa8257e9c9d3df055c624ad7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/util/retry.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/util/retry.pyi new file mode 120000 index 0000000..6960e2a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/util/retry.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0d/61/a6/6c0bdda1973d80bf7eecdfb053803e4a6b5f598a4a9924686459e8fa47 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/util/ssl_.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/util/ssl_.pyi new file mode 120000 index 0000000..64d4ce0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/util/ssl_.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/55/8f/c4/e8e6258b15dd8c7393fc56181636840acee7f01c735353bdac0be9d612 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/util/timeout.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/util/timeout.pyi new file mode 120000 index 0000000..2d6f4c1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/util/timeout.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/12/88/c8/4bdd4335e0c17d8f5338d4c0b8992847a2e61c6797dc860d98b65dbd66 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/util/url.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/util/url.pyi new file mode 120000 index 0000000..3c8e156 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/packages/urllib3/util/url.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/89/77/8f/acef47139389557796c749eee0f297f195f749c26dd4a80fad8a54b6b0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/sessions.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/sessions.pyi new file mode 120000 index 0000000..0c8b60c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/sessions.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/aa/9c/61/7bb9ca0af95865b594fc7720ca7b9cc47e6fbe3ec3df5b4422436ae91f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/status_codes.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/status_codes.pyi new file mode 120000 index 0000000..15f1786 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/status_codes.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9a/23/b7/34408efb7c9098ae7ace0ebb1f36526f1d5e111d7198a0018e80ccb97b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/structures.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/structures.pyi new file mode 120000 index 0000000..1a23b76 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/structures.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ec/3a/f6/d57ca0c417c35613abf3715f58488936dfd6eae3733a6c8b7deae613fa \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/utils.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/utils.pyi new file mode 120000 index 0000000..b993ae5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/requests/utils.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/71/88/2a/f2572ab7db36e47d927d0fd3b93bd97c614c9692441fac96e37c97fc81 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/retry/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/retry/__init__.pyi new file mode 120000 index 0000000..7373f5e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/retry/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a1/44/6e/632f42a222046de0738b098dc007b19f58573509612f5fe51f5e54659c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/retry/api.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/retry/api.pyi new file mode 120000 index 0000000..3d2ec6c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/retry/api.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7e/73/72/4c916dffc462679413f3b193ad43d0bc7f0baabc26ed65d3ef8b39d7e8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/simplejson/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/simplejson/__init__.pyi new file mode 120000 index 0000000..9a37aaf --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/simplejson/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/af/ab/19/e01fe1188cf6cbcdc5885b395af430797c9d81bd867f290ecc5d067778 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/simplejson/decoder.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/simplejson/decoder.pyi new file mode 120000 index 0000000..9a067d8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/simplejson/decoder.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8a/37/04/f1a48e9cdbe320e434b377a22a3abb1987083867bdfe511264f026c1e3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/simplejson/encoder.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/simplejson/encoder.pyi new file mode 120000 index 0000000..fd8ba0e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/simplejson/encoder.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/26/ef/9a/5a2e01e96350dc6fba9fb550c3b89d14d78a3214bd83f6fb5dc1d25cba \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/simplejson/scanner.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/simplejson/scanner.pyi new file mode 120000 index 0000000..22b8e82 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/simplejson/scanner.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fc/05/13/d46251358a2943df09f2b457b628399c2ba78d72e88827f980df5da57a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/singledispatch.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/singledispatch.pyi new file mode 120000 index 0000000..2c233fc --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/singledispatch.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b2/70/79/4f4d1632527369e38ddc74f9f3a5530bfae51c167977843e49e6a3d553 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/slugify/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/slugify/__init__.pyi new file mode 120000 index 0000000..a9a0d94 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/slugify/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a1/2e/ac/6b3811df11e639172ca83464e99ba56d3cd1175509683c355768bde36f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/slugify/slugify.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/slugify/slugify.pyi new file mode 120000 index 0000000..56ea164 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/slugify/slugify.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/75/10/ee/b3ef2a9159b938104fdf56be45d49a85872b9fd1c66097204dafcb3c12 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/slugify/special.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/slugify/special.pyi new file mode 120000 index 0000000..8f32e36 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/slugify/special.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/37/0e/8b/cce2de6511174a4fa02ba03fa6a01cbab59595b9c4f93033c3aa643309 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/tabulate.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/tabulate.pyi new file mode 120000 index 0000000..e62f34a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/tabulate.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/24/9e/e4/60b414fb723bb3af305de72b721414eb329e60f1c7ee66fac8675cb071 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/termcolor.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/termcolor.pyi new file mode 120000 index 0000000..71e7926 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/termcolor.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6e/f3/15/6e60bfd2c003b4b2c9d604e0cf4ab2eeeeb3d27c4c98fcae9b126ead43 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/toml.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/toml.pyi new file mode 120000 index 0000000..bb41e72 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/toml.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c2/ac/54/a2a3e89909c4cddebf2e72c02da1ea7e0a8a247d8ee306cb902040eb53 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/typing_extensions.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/typing_extensions.pyi new file mode 120000 index 0000000..4bf1741 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/typing_extensions.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/62/fd/81/fd6665319f591792f38ab21eaee5c5e7a907316db60cb146b67c7fde5f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/tzlocal/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/tzlocal/__init__.pyi new file mode 120000 index 0000000..437a135 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/tzlocal/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/81/9c/31/402eb991b9e83043a78639012aabf1d9a25aca11ec439d91d6cfc19761 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/ujson.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/ujson.pyi new file mode 120000 index 0000000..25022f6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/ujson.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/62/e1/05/f284638b7aef5249c18632416bc6c9a9d643d87d3b6460c8530ca348fd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/__init__.pyi new file mode 120000 index 0000000..73a1004 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/67/8b/48/11f7d7eb01515ee6a466362a3d434e9df51bafb4935adcc0016945d751 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/_compat.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/_compat.pyi new file mode 120000 index 0000000..005c32d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/_compat.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5d/8c/2c/26ed9df09647e35017a920e545a3831401bc873b2b215ae39671c06831 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/_internal.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/_internal.pyi new file mode 120000 index 0000000..d6964ec --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/_internal.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c5/f7/f4/55bb3cc0d10df5bca4cecee4f5b80b7610d8f83888523d4d6ec63464e1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/_reloader.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/_reloader.pyi new file mode 120000 index 0000000..2a3c020 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/_reloader.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/40/24/38/746c3730ce2b8702a62a7b722c9ec907e9de31b9d1b91ae6dac7296601 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/atom.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/atom.pyi new file mode 120000 index 0000000..46401cf --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/atom.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2c/03/d1/a1f99e0e14a9538d7c293ce8013a79701d83f5d69681c80ffc0d98ac32 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/cache.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/cache.pyi new file mode 120000 index 0000000..3cb671f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/cache.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ab/33/bc/51cb9f5ab60c758444206dc7d2bbad93ddb61bede0b82e33349a161652 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/fixers.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/fixers.pyi new file mode 120000 index 0000000..13098a8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/fixers.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9a/f3/d1/21f6ed1d5444f7cb1e2cd3721d2a279469e5eeec52642d2cf537d211ad \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/iterio.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/iterio.pyi new file mode 120000 index 0000000..54e1198 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/iterio.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/db/24/60/f2fa08358405db761f464a463d769a697e23a6ea68a0ab612b07d7e245 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/jsrouting.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/jsrouting.pyi new file mode 120000 index 0000000..a17ba62 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/jsrouting.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e2/cf/ed/44ae7b62efe7d4ed5993ce4db72e3c51a047bba02c81e1c7c4b4d2d24a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/limiter.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/limiter.pyi new file mode 120000 index 0000000..405ffc4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/limiter.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a8/b6/d8/20f31306c81a61eef89b735eadb4350245bfe7b2cac18d225bfcda2175 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/lint.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/lint.pyi new file mode 120000 index 0000000..a46f2ff --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/lint.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/be/73/e2/26ce635de915666ba03e59a45c84e06b6511cb6821eaf9e0771927fcbb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/profiler.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/profiler.pyi new file mode 120000 index 0000000..4eed407 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/profiler.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1e/d8/df/355079c9d45dfc57f0324033274e5a1ed15c37611e7237f69c741f2553 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/securecookie.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/securecookie.pyi new file mode 120000 index 0000000..3a290cf --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/securecookie.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/11/49/83/aef7a78461c027d1943b6d2f60e9703689fd5e80150010714443aa9c1b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/sessions.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/sessions.pyi new file mode 120000 index 0000000..a459114 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/sessions.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ed/5f/a5/27716b6e4388a7444ae362ad9619ed1f74a29c4ad52c7efcb20bb965eb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/testtools.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/testtools.pyi new file mode 120000 index 0000000..144776e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/testtools.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/38/ec/17/2b9d8ddaddf990c08c974078cc12be77ce4f72a186fe73806e1b04003f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/wrappers.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/wrappers.pyi new file mode 120000 index 0000000..9f6b04a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/contrib/wrappers.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/01/d4/f4/cafcf54da898d269face5b7f113dc32ac4f2c15563904ac2efaf5ce8bd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/datastructures.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/datastructures.pyi new file mode 120000 index 0000000..0d1127e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/datastructures.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9f/37/26/df6c83e7ebdae53a2e926f2c5c434be05e80505c72003de20241763908 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/debug/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/debug/__init__.pyi new file mode 120000 index 0000000..bbda64a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/debug/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4e/1f/d0/1848d01379e21e6efbc47726b60454159c4577622c21486a346ca645d1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/debug/console.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/debug/console.pyi new file mode 120000 index 0000000..7df6a7a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/debug/console.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0c/15/80/ed02b4765ba89278a8b8e8b3675879a0021c5a2e3b37b8ba5224834625 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/debug/repr.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/debug/repr.pyi new file mode 120000 index 0000000..c6fd6a8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/debug/repr.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/76/ab/55/14d39f72320d00ccda27eb47896e923b7ed9c15b554f527b492ef25a1d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/debug/tbtools.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/debug/tbtools.pyi new file mode 120000 index 0000000..89125ba --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/debug/tbtools.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b5/ba/c0/7043446d64043b1c52ac42abff9180de2f8e68a9fb2b940f0384a4e935 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/exceptions.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/exceptions.pyi new file mode 120000 index 0000000..4f72d41 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/exceptions.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c6/f1/87/b96a30c613ea35f87856a2cf8d3b11b9b3e86a9137f89a3f93b4f750c9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/filesystem.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/filesystem.pyi new file mode 120000 index 0000000..a01dce6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/filesystem.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b5/ed/e3/c9fca20dfb27154d0c118c3ec01e630605a0c385406c8a50cc602cf55b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/formparser.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/formparser.pyi new file mode 120000 index 0000000..8a28ea2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/formparser.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/72/bd/6f/75df7932348b080d15c84bad1b71787b3290a6e639e0b4a3dddd3717b3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/http.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/http.pyi new file mode 120000 index 0000000..075ff75 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/http.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/81/00/af/b138a312669e257a5332f28e16dfe8f974c0b4db5f4a0813781aa14aae \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/local.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/local.pyi new file mode 120000 index 0000000..ee45e7f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/local.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/65/67/51/b26fbee66b4f8ed9801ffefed090509af4147c06dafd56d1795c805488 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/middleware/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/middleware/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/middleware/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/middleware/dispatcher.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/middleware/dispatcher.pyi new file mode 120000 index 0000000..d10ab7d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/middleware/dispatcher.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/09/88/a2/1e41eb43d425734266b59bd405650fc5e5090e36b1cf005bae24adc68f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/middleware/http_proxy.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/middleware/http_proxy.pyi new file mode 120000 index 0000000..8fe3d13 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/middleware/http_proxy.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e5/2e/6f/b7853af35ba047d955e46e99164a29a12c3db470a87077a7a5e489000e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/middleware/lint.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/middleware/lint.pyi new file mode 120000 index 0000000..e7711c7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/middleware/lint.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7c/a9/99/6b8c9562039bb273b095569887b8e8f5b42b550bb8040d79836bb378b6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/middleware/profiler.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/middleware/profiler.pyi new file mode 120000 index 0000000..bcc769b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/middleware/profiler.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fc/35/b0/83df476f79d8391ad83a781dfcbe8b186579ad68c80b5117bae710e8b0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/middleware/proxy_fix.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/middleware/proxy_fix.pyi new file mode 120000 index 0000000..ccb8f04 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/middleware/proxy_fix.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a0/90/a9/7cd7e817ca0ab5ee48926bb85c1758bffe2926a80518e7fce88ab8eeef \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/middleware/shared_data.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/middleware/shared_data.pyi new file mode 120000 index 0000000..6c302b4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/middleware/shared_data.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/25/53/b2/3f3db33735b60252dd734b80410d74490dd579dfab2f3bf77157705700 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/posixemulation.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/posixemulation.pyi new file mode 120000 index 0000000..b8cd6a6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/posixemulation.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2f/97/b6/77bc9be78735ef524653c83fafa1b8a880f1e00bf6f01635da28b04fac \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/routing.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/routing.pyi new file mode 120000 index 0000000..5bdbb26 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/routing.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/75/8f/a5/2c656bd2b43ea7fcbef313f9a5aa6f084b9206e68590d782f000c437f3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/script.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/script.pyi new file mode 120000 index 0000000..151e2f4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/script.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/89/f4/c4/279cb1d606a6f7fabd467b319a23775b8191bde81bda44537d9fb3ff48 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/security.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/security.pyi new file mode 120000 index 0000000..e489d8d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/security.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ba/dc/86/52086ffeefd1b1be29e3c554c97b8326e2e8eb6d4c259b9a7dd5b819de \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/serving.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/serving.pyi new file mode 120000 index 0000000..11d7bd1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/serving.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/80/d6/bc/10e09aa47b30be9598878a98375efcdda7d13b5f3fdba2f98d898645a5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/test.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/test.pyi new file mode 120000 index 0000000..bf39c7b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/test.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/20/28/11/c6abaa3f51f9fbc4e593b5009f60d7725ec8bc5d9957fecb57ddd26678 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/testapp.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/testapp.pyi new file mode 120000 index 0000000..dc4f73b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/testapp.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3b/43/b6/fab844c5e0051d622bc907235a942118f41f92453c4ae574b8b6dba5ca \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/urls.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/urls.pyi new file mode 120000 index 0000000..d559365 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/urls.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/08/ac/7f/c4cc17c91d445c4c7b0c5ad7648afc39dae9c99de6da1b56882586be04 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/useragents.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/useragents.pyi new file mode 120000 index 0000000..8b4b0f8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/useragents.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e0/bc/c1/8dc88aca1f3365cb9f297f128e3bc302efebac2b04771af8f8bc196ca6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/utils.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/utils.pyi new file mode 120000 index 0000000..e760981 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/utils.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/90/f9/34/261c5b72f624f80016ca8decfbc9e1b14c66df63e911ae618d54e2947c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/wrappers.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/wrappers.pyi new file mode 120000 index 0000000..07b888b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/wrappers.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b9/61/f1/bb5501482f5694c999f876c893bd6c8116f4f9eb85679958e31521e60d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/wsgi.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/wsgi.pyi new file mode 120000 index 0000000..6c5f972 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/werkzeug/wsgi.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d5/33/af/fd419c735e999e883f0fe88dc171e79e523049f164f7b980ff370bd9c6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/__init__.pyi new file mode 120000 index 0000000..91c6770 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6c/49/5b/5d9bb7d86f35c0673f5b135e5d39cfc524ad613689151ceb3e38fc9315 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/composer.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/composer.pyi new file mode 120000 index 0000000..ff60969 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/composer.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/56/5e/f8/fb81829dc98a4be79bd3ac584d2e4a66d9a63a5ff80e55dc78583f95b6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/constructor.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/constructor.pyi new file mode 120000 index 0000000..0d9d171 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/constructor.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2b/c7/65/9695f2349a1158c1e46c62d8649be7a0d3b7de7de7bf754275158e47c7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/cyaml.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/cyaml.pyi new file mode 120000 index 0000000..5cc69fc --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/cyaml.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d6/68/b1/518304dba5f75c2f51d689eb9db1fdd5be52f7828fa6755945cd19d020 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/dumper.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/dumper.pyi new file mode 120000 index 0000000..50bbb70 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/dumper.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/43/70/72/7df7bb68c5ad9240b4c1d0a05a88279d79d0721fac1f389117140049da \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/emitter.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/emitter.pyi new file mode 120000 index 0000000..a51ee55 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/emitter.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4c/fa/7e/b9b9e1a556ba569f3d45d8638df20c6cca08df95d28f9b79fe92f93921 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/error.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/error.pyi new file mode 120000 index 0000000..372c07e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/error.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/91/88/4a/394a12ae71102ef808bc6fea98f2a0310e77003a851ce3cf0d39514ece \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/events.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/events.pyi new file mode 120000 index 0000000..99b68d7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/events.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/21/72/6e/a9e1db110b47678983dfa410d7e08041a2db2ae6bc24467eaa1ee33ca8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/loader.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/loader.pyi new file mode 120000 index 0000000..79c7a68 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/loader.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/43/fb/26/945d1b60b49727c3bd4c7f7712b426227587d12f1daa26f16d71ba00f2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/nodes.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/nodes.pyi new file mode 120000 index 0000000..1b2c780 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/nodes.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1d/71/14/e8433967b3b45aa3bc84241b4575bf0421980332baf31293642e720c9b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/parser.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/parser.pyi new file mode 120000 index 0000000..1b4d3a9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/parser.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d2/e1/a2/59a09c040a12401b1751546a60601ebcfbbc18b1b900d3910064bfb271 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/reader.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/reader.pyi new file mode 120000 index 0000000..eb14936 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/reader.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8b/dd/5d/35070e8a340795eebaf3b3b7c491d6015cb94aafe4fa4a3bf67a25391a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/representer.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/representer.pyi new file mode 120000 index 0000000..08b97af --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/representer.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/27/ba/eb/706a375efb214a55321c66c95cca6baae49a0f7a131efe75570a96af76 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/resolver.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/resolver.pyi new file mode 120000 index 0000000..2f9b917 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/resolver.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/87/7d/a4/356fe42dae0293173c0f14c772c16fbe0bd829c410ee516c5773eddece \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/scanner.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/scanner.pyi new file mode 120000 index 0000000..ba23e7c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/scanner.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2f/2d/76/a0f63225536b74e0c133e17d7553b51332b7862888b4c81acb48434001 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/serializer.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/serializer.pyi new file mode 120000 index 0000000..bc23329 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/serializer.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5b/6e/d6/2cfbb48340a6eaf9c4c5bb86dcd18b77350af2db8f335ed2484c18e075 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/tokens.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/tokens.pyi new file mode 120000 index 0000000..456fb8a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/2and3/yaml/tokens.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/95/1b/87/6821db3cc4533a6dd61216a706cb114672475221a1d668cd984e02343f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/aiofiles/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/aiofiles/__init__.pyi new file mode 120000 index 0000000..f0f52f7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/aiofiles/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/25/5f/73/b460e06609b0adc80ba89fd1ea8f0581fddc989584e4c8188cfd81104d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/aiofiles/base.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/aiofiles/base.pyi new file mode 120000 index 0000000..0e164a5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/aiofiles/base.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/80/bd/f3/7048696f765e00729ba2e31acaad142334c3aec13ca13c0a53c621caad \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/aiofiles/os.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/aiofiles/os.pyi new file mode 120000 index 0000000..7011741 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/aiofiles/os.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1b/d6/52/8b1cd12bbffdb59e6c4a3aa1a7e73b532e5ff2d7c8fd211053062749cc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/aiofiles/threadpool/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/aiofiles/threadpool/__init__.pyi new file mode 120000 index 0000000..dba0343 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/aiofiles/threadpool/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a6/5c/15/a3fb88d0088e6a9db5ee2ec47ff1a1fd31b238e789ade9f95a74c865db \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/aiofiles/threadpool/binary.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/aiofiles/threadpool/binary.pyi new file mode 120000 index 0000000..30c660b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/aiofiles/threadpool/binary.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c6/69/fd/9f1ab2ccce57402af91fcb31db1cd6ed892a00e435e7d70bd72963c880 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/aiofiles/threadpool/text.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/aiofiles/threadpool/text.pyi new file mode 120000 index 0000000..77c070b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/aiofiles/threadpool/text.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5f/85/bc/a0e547c93af3df6809f96ffead8408c3d03dd8c51dd69a77a24506df16 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/contextvars.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/contextvars.pyi new file mode 120000 index 0000000..11fa417 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/contextvars.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bd/1f/ae/6d47e19505602c96c9cee54e33951373eb0509548483613372a2ccc732 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/dataclasses.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/dataclasses.pyi new file mode 120000 index 0000000..94ca83a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/dataclasses.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/29/88/d6/ee24a5678dabac3d59df80afb488d44b33939b695c2e8cc355200e912a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/docutils/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/docutils/__init__.pyi new file mode 120000 index 0000000..c3b7936 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/docutils/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/dd/f0/71/712a6926be84384714a23bdf946dc47a083b96fd90a7474d41020bacfe \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/docutils/examples.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/docutils/examples.pyi new file mode 120000 index 0000000..9594b22 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/docutils/examples.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/dc/38/5e/25597ba23bc9b78fd817b6f585114d1318bebcef485b1b5fa237e2d2ea \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/docutils/nodes.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/docutils/nodes.pyi new file mode 120000 index 0000000..9ee47d0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/docutils/nodes.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cb/19/80/b59089fe60a743aa47deedea002ba027f4e98ace03aeb906193c887139 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/docutils/parsers/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/docutils/parsers/__init__.pyi new file mode 120000 index 0000000..c3b7936 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/docutils/parsers/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/dd/f0/71/712a6926be84384714a23bdf946dc47a083b96fd90a7474d41020bacfe \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/docutils/parsers/rst/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/docutils/parsers/rst/__init__.pyi new file mode 120000 index 0000000..c3b7936 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/docutils/parsers/rst/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/dd/f0/71/712a6926be84384714a23bdf946dc47a083b96fd90a7474d41020bacfe \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/docutils/parsers/rst/nodes.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/docutils/parsers/rst/nodes.pyi new file mode 120000 index 0000000..c3b7936 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/docutils/parsers/rst/nodes.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/dd/f0/71/712a6926be84384714a23bdf946dc47a083b96fd90a7474d41020bacfe \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/docutils/parsers/rst/roles.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/docutils/parsers/rst/roles.pyi new file mode 120000 index 0000000..302a0dc --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/docutils/parsers/rst/roles.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ec/fe/0f/1b53ae0cc7d22b50e74d0cdc3ad01e415a945621ed357ae7dc6f218c2a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/docutils/parsers/rst/states.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/docutils/parsers/rst/states.pyi new file mode 120000 index 0000000..2db226f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/docutils/parsers/rst/states.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a9/bd/1d/f81f39efec00569749eef4f4e87350464a5a4c38f561797770e5b3a95b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/filelock/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/filelock/__init__.pyi new file mode 120000 index 0000000..ce9da61 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/filelock/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/76/25/9a/f103e3aa567b0612b327158ba9f1473a01375d84567ded3a51bbe05a55 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/freezegun/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/freezegun/__init__.pyi new file mode 120000 index 0000000..d77f603 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/freezegun/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c4/ce/10/54300e63ca663fd22c97f3dc5ff4d4e730c263bacfd14e5d63da564331 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/freezegun/api.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/freezegun/api.pyi new file mode 120000 index 0000000..f584a37 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/freezegun/api.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e8/89/df/9b65a6a01cd3aaecf4b9334f980609f5bf2c13c7041ee5a8dad31a3cb6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/frozendict.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/frozendict.pyi new file mode 120000 index 0000000..51b639b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/frozendict.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/13/cf/48/2ebccd81871106c9bfbe740b3af2ae8add6dd9686741576aeb494b7ae3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/jwt/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/jwt/__init__.pyi new file mode 120000 index 0000000..c80974f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/jwt/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f7/be/7f/b14593bf405a274e2366955399ded63459aedb97fcd8aaaa3117aa2379 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/jwt/algorithms.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/jwt/algorithms.pyi new file mode 120000 index 0000000..5b9c42d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/jwt/algorithms.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/56/9d/4d/57305f33c8f3d15246868a7750e9ca5dad6698948d237bb48afffe37bd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/jwt/contrib/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/jwt/contrib/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/jwt/contrib/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/jwt/contrib/algorithms/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/jwt/contrib/algorithms/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/jwt/contrib/algorithms/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/jwt/contrib/algorithms/py_ecdsa.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/jwt/contrib/algorithms/py_ecdsa.pyi new file mode 120000 index 0000000..4c5c8e6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/jwt/contrib/algorithms/py_ecdsa.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/7c/c5/719a4b44dc33ba897b0d7662ee319a43433a8c3cdfc9335e5acbb0b519 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/jwt/contrib/algorithms/pycrypto.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/jwt/contrib/algorithms/pycrypto.pyi new file mode 120000 index 0000000..04bc097 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/jwt/contrib/algorithms/pycrypto.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c3/e3/eb/beaeaeea838e0ade8a3ee4d3d69f3a016edc00120e8fc8836b4d20bf23 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/orjson.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/orjson.pyi new file mode 120000 index 0000000..63c29d7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/orjson.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/04/a6/81/39735b2d76f63076294fc0700a1efc8fc1da80b42ae75b996340eae675 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/pkg_resources/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/pkg_resources/__init__.pyi new file mode 120000 index 0000000..6a82e4f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/pkg_resources/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/87/e8/be/3e1fb4463a1e0c5c39968c0c81ec8e2bbded6e4cff89a3f6f2fc9852c5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/pkg_resources/py31compat.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/pkg_resources/py31compat.pyi new file mode 120000 index 0000000..b8a540a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/pkg_resources/py31compat.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a2/e1/4b/cea989a9f3264f8a2b970375bad327936479bc7797c434a4d8523eec8e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/pyrfc3339/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/pyrfc3339/__init__.pyi new file mode 120000 index 0000000..7738b80 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/pyrfc3339/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/19/d1/26/efa16af77fb2295d2391de4530fe4747c082a4357afb547cf3c7b9b08d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/pyrfc3339/generator.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/pyrfc3339/generator.pyi new file mode 120000 index 0000000..269edda --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/pyrfc3339/generator.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/63/cc/ae/cd7b4d2c68a4e32ea5e1382fbd4f5e85918d50ad0f7be31956f75d2f80 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/pyrfc3339/parser.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/pyrfc3339/parser.pyi new file mode 120000 index 0000000..fbade20 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/pyrfc3339/parser.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/13/8e/76/f4334f93532a70b01df838038d1a3da27310ce2eabaae10420366067f0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/pyrfc3339/utils.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/pyrfc3339/utils.pyi new file mode 120000 index 0000000..e5bb16c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/pyrfc3339/utils.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c3/1b/8e/8da6b1cc71ff3e531ff18c4fe28561e4eabf41ac97dca75fcfd0870fff \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/__init__.pyi new file mode 120000 index 0000000..29fef7d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/78/dc/c7f20f538e57794278e2ac9d8beba7f3e8d16451f89326ba394964bafc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/BaseHTTPServer.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/BaseHTTPServer.pyi new file mode 120000 index 0000000..da9dc7d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/BaseHTTPServer.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/be/d0/54/25469b4eb2152bdec29f43212d48474a56e61c1f10810956c1a747fbac \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/CGIHTTPServer.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/CGIHTTPServer.pyi new file mode 120000 index 0000000..da9dc7d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/CGIHTTPServer.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/be/d0/54/25469b4eb2152bdec29f43212d48474a56e61c1f10810956c1a747fbac \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/SimpleHTTPServer.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/SimpleHTTPServer.pyi new file mode 120000 index 0000000..da9dc7d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/SimpleHTTPServer.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/be/d0/54/25469b4eb2152bdec29f43212d48474a56e61c1f10810956c1a747fbac \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/__init__.pyi new file mode 120000 index 0000000..17544a9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/56/ca/7a/0e1c55538c48709f1e0f2aee40d433d9afc44599a71e3036ff930ec939 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/_dummy_thread.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/_dummy_thread.pyi new file mode 120000 index 0000000..595420f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/_dummy_thread.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/41/cb/1a/37427106bf40af0427ce198dd3a1bc74c4e9a88b886daa49bd65abf084 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/_thread.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/_thread.pyi new file mode 120000 index 0000000..0309fc2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/_thread.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/02/7d/c4/b3528f32d138ec62be1ca57f5a7b86ee47e84f96e1f9b9ff49f390e4f7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/builtins.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/builtins.pyi new file mode 120000 index 0000000..a3fc58b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/builtins.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/55/58/e9/1862c9d826300b795878f198e932d3121c1c76bbb7615fa7576640ccbf \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/cPickle.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/cPickle.pyi new file mode 120000 index 0000000..d784e9a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/cPickle.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a5/ec/ce/b1066b5bd5d2d51d3d3ad7b9bb55adc3d1470b493c2a3a78838e3f3e02 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/collections_abc.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/collections_abc.pyi new file mode 120000 index 0000000..ac211f7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/collections_abc.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f6/4c/e7/2be42ae51aadf95fbe6eae9ac1336ce4d2122254c588e64b548e01bc10 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/configparser.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/configparser.pyi new file mode 120000 index 0000000..3f0a76f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/configparser.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5a/9e/58/ed9d77e0f1cb6a17dac0b24307b5b2201a5d2e8a1a18a2d0984afbbde4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/email_mime_base.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/email_mime_base.pyi new file mode 120000 index 0000000..91dc803 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/email_mime_base.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/59/c5/84/95e08a1d13ab7dd5e946e28006b4ff55ad61c7dd0d63f93161eba5dd29 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/email_mime_multipart.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/email_mime_multipart.pyi new file mode 120000 index 0000000..9973c3a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/email_mime_multipart.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1d/12/96/154f6a87de7e984136dbfd8dcc428bea5c7bca7be171f1e351c616b99f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/email_mime_nonmultipart.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/email_mime_nonmultipart.pyi new file mode 120000 index 0000000..74fb21a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/email_mime_nonmultipart.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9f/98/43/ed1feb92d263de188763312aaf7089087496e2291f39b287994ad7070d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/email_mime_text.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/email_mime_text.pyi new file mode 120000 index 0000000..e7f8f88 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/email_mime_text.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/33/b9/9b/f55ddfe4952eb7cc9ff147cbdeb1b85cfafe2ebebdd831a3935391f5de \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/html_entities.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/html_entities.pyi new file mode 120000 index 0000000..d820e7c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/html_entities.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/62/41/5c/a40f948d39bba6cf20a755ece987bd7aef9f4475254ab64f734d0b66e9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/html_parser.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/html_parser.pyi new file mode 120000 index 0000000..696daca --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/html_parser.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/12/19/c1/146c749c177e647332e778a1a1e996b9dd319cd618633403aea599ed23 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/http_client.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/http_client.pyi new file mode 120000 index 0000000..ac574d0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/http_client.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6b/e5/00/5d38144eb24d14589059385b815bceb2a0895d78854f18ce1b84206e21 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/http_cookiejar.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/http_cookiejar.pyi new file mode 120000 index 0000000..14e784e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/http_cookiejar.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fe/a7/c5/c2ab390e7bc03aa2d6080742cd68e7c15162dad9118f2a51728c352a0c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/http_cookies.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/http_cookies.pyi new file mode 120000 index 0000000..ce67042 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/http_cookies.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/74/a4/8f/be88735bf40f90e51bd20c63debb2c85f44361bf64ad3aa3203df037af \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/queue.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/queue.pyi new file mode 120000 index 0000000..91b691b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/queue.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fe/b3/54/6238f5964979a516903f81960ae5841c149eb4280786f4a75a3801ba19 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/reprlib.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/reprlib.pyi new file mode 120000 index 0000000..4cb74c7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/reprlib.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/83/3c/86/1d6bf76f5d11d7b21ba60965b24493cae969aba45619bec8e4a01b4a1d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/socketserver.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/socketserver.pyi new file mode 120000 index 0000000..ad6a307 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/socketserver.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/19/6a/7b/0730cca6adc935f0371f73e7d22c8437301ccb9b9f72fbaf9641339858 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/tkinter.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/tkinter.pyi new file mode 120000 index 0000000..14f8d0b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/tkinter.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/47/e9/23/f998f213a7273e19008492d0200db3ca080c447c9fe1ace91ff5ad5cda \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/tkinter_commondialog.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/tkinter_commondialog.pyi new file mode 120000 index 0000000..a7393fc --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/tkinter_commondialog.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a6/25/bf/ec320a14f88597c6b01932840645beb6807032eef249f4a0c53dfd42c7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/tkinter_constants.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/tkinter_constants.pyi new file mode 120000 index 0000000..f95d903 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/tkinter_constants.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b0/1f/ad/1046095d9967404be0531b07605a77cb2a7717b36d6e54b7fe14455453 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/tkinter_dialog.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/tkinter_dialog.pyi new file mode 120000 index 0000000..760a97c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/tkinter_dialog.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2e/4f/d3/39ae26f242d245946cdbeccbb60167a5bb6419cb367aed588028cdce63 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/tkinter_filedialog.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/tkinter_filedialog.pyi new file mode 120000 index 0000000..7fdb3cc --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/tkinter_filedialog.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ce/71/ee/5aab9b3305e238d58fd5b84d4660175157077579fd07c02aa09bb81206 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/tkinter_tkfiledialog.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/tkinter_tkfiledialog.pyi new file mode 120000 index 0000000..7fdb3cc --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/tkinter_tkfiledialog.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ce/71/ee/5aab9b3305e238d58fd5b84d4660175157077579fd07c02aa09bb81206 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/tkinter_ttk.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/tkinter_ttk.pyi new file mode 120000 index 0000000..5123446 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/tkinter_ttk.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e0/90/9e/88bfac9dd172f31ca46a76944db5b7f84481af8c3c0ddd6038c02fada8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/urllib/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/urllib/__init__.pyi new file mode 120000 index 0000000..7b4d7b9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/urllib/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/17/fd/55/f0d711e231a4c2cf39214bab60b8b82671a1eff1edb5d547be3f1c4193 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/urllib/error.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/urllib/error.pyi new file mode 120000 index 0000000..5ac22c5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/urllib/error.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b4/e1/f2/096aeee0507e095669759e6dcd3e63516ed1e9ed4d1eb9bf00e131e59a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/urllib/parse.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/urllib/parse.pyi new file mode 120000 index 0000000..4ca03d2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/urllib/parse.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2d/82/4b/5c8974fc1d4d57eed6b863168ccf44d76ce931bb01d1232a8b8b9ba51e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/urllib/request.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/urllib/request.pyi new file mode 120000 index 0000000..801152b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/urllib/request.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/63/d7/b5/708382aa96c0f6ef7074792e93b5e484a5b80bf051fad8768e8878aca3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/urllib/response.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/urllib/response.pyi new file mode 120000 index 0000000..a0f5a86 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/urllib/response.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/30/bb/a1/bb071576bca2194ea9076ae43968dd16715c9bb36c5c9c6a16df7e6252 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/urllib/robotparser.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/urllib/robotparser.pyi new file mode 120000 index 0000000..b71b256 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/urllib/robotparser.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/58/af/8d/aeded01425a60317dbacad0c79cc3d359babe781fc02861bb255fabd28 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/urllib_error.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/urllib_error.pyi new file mode 120000 index 0000000..be4d58d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/urllib_error.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/64/b8/83/12d8aab686186cd0d81782e39f129177fb857ede988b9410c8d124666f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/urllib_parse.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/urllib_parse.pyi new file mode 120000 index 0000000..627aea2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/urllib_parse.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3d/04/7c/6afccc32f5122d5f7a58bbf727895eb89a4a114068a3bbc3ccfe8cf38f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/urllib_request.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/urllib_request.pyi new file mode 120000 index 0000000..e2801e2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/urllib_request.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f1/61/5e/ef2700ad2b8ceb025f81c5d62c344a36cca6774525c5695f96ccdbdb29 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/urllib_response.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/urllib_response.pyi new file mode 120000 index 0000000..3efdfb8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/urllib_response.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/76/89/05/32578c5445455710604a4adc9f87f8c8ced1851df3924d220d018e0bf5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/urllib_robotparser.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/urllib_robotparser.pyi new file mode 120000 index 0000000..8adc3a9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/six/moves/urllib_robotparser.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/06/23/4e/d24ba85fdaae4110d0b273cbaf4e1564b1ce8f9ec29ab2493793ae067e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/typed_ast/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/typed_ast/__init__.pyi new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/typed_ast/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/typed_ast/ast27.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/typed_ast/ast27.pyi new file mode 120000 index 0000000..f0ad47f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/typed_ast/ast27.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f2/5f/21/d624e5d924cc82ebda1e027a2ce6d655337ebe2ee392aec5ee0ae58ae6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/typed_ast/ast3.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/typed_ast/ast3.pyi new file mode 120000 index 0000000..9e1ab1b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/typed_ast/ast3.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ac/11/ef/607a5818f90f61c482bedb12e4fbdf51271f3976b934bcc0d2c2e78c38 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/typed_ast/conversions.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/typed_ast/conversions.pyi new file mode 120000 index 0000000..c0e3759 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/typed_ast/conversions.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7c/d0/6f/577537a8cd5e863d1ff6e3bdc4f4fd5cbe370224fbbf9d4dd92dfd41fd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/waitress/__init__.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/waitress/__init__.pyi new file mode 120000 index 0000000..611cc2a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/waitress/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/03/28/63/b05f89846c07759a3f0473d99c0a90839a7a238cab43e180cdb2208821 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/waitress/adjustments.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/waitress/adjustments.pyi new file mode 120000 index 0000000..1abdbe7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/waitress/adjustments.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0a/2d/2c/184688f2c80dde84389baddc23bfdf93a6fd61c40295ed52108a6430ba \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/waitress/buffers.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/waitress/buffers.pyi new file mode 120000 index 0000000..bfb9d9a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/waitress/buffers.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/04/05/26/34c6d146f2665eca68b385d3ab1a46b8f706fa6f3fe76f99ccfd51b015 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/waitress/channel.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/waitress/channel.pyi new file mode 120000 index 0000000..85ed405 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/waitress/channel.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c8/45/61/0c0f8bada056b47b3e421d5bb689ed09181f363d5cac1efa323d547953 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/waitress/compat.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/waitress/compat.pyi new file mode 120000 index 0000000..7fc0a82 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/waitress/compat.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0c/4a/a9/58f21646900836e9bf94a761f3e16f2acc7ef09f939c672e6ebc7303a9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/waitress/parser.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/waitress/parser.pyi new file mode 120000 index 0000000..0ee9f2c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/waitress/parser.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c7/19/0b/1b70d23801b482c50b7e02a7203591a833e0ce7be448f9b85ed0fa738a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/waitress/proxy_headers.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/waitress/proxy_headers.pyi new file mode 120000 index 0000000..2cfc039 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/waitress/proxy_headers.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/76/0f/b5/13900461c0c075c7a1bc194b4ffdc04e8f78bdf4b67fc199c01678e9da \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/waitress/receiver.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/waitress/receiver.pyi new file mode 120000 index 0000000..93a2f77 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/waitress/receiver.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/64/e7/31/d080be2c90b75b40703b67197de3fbc73945126f4449c6b7a31b089bfe \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/waitress/rfc7230.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/waitress/rfc7230.pyi new file mode 120000 index 0000000..91c1894 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/waitress/rfc7230.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/43/7d/4d/a7e1e729f0fdffef141d1af82afcddbe22c8e078da21a72f30a4060457 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/waitress/runner.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/waitress/runner.pyi new file mode 120000 index 0000000..bb5e02d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/waitress/runner.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/45/e4/6c/dd64fdcc7ef769712006af4eedefd81c3c2f4e586db19d86fa6df4d879 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/waitress/server.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/waitress/server.pyi new file mode 120000 index 0000000..e9490bc --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/waitress/server.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/04/b5/68/a4dd324850217d38da4a0fbd72dca0369a0cc53a3118dce883fd9e1761 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/waitress/task.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/waitress/task.pyi new file mode 120000 index 0000000..787903f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/waitress/task.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b9/91/29/bdb14d8c98c6b73c7d1ccb76be0446d55860cd4213edaa04377ae83869 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/waitress/trigger.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/waitress/trigger.pyi new file mode 120000 index 0000000..263279c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/waitress/trigger.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/04/9e/ab/53ce9576c076f3532a1a61f0524caf7faeb565ae07fea8521e2e678af5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/waitress/utilities.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/waitress/utilities.pyi new file mode 120000 index 0000000..630b5f4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/waitress/utilities.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8d/42/54/89a850ce9dca441df381f5f5671d5e6ca80afbcd4dcfb7b7d9ecfeb381 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/waitress/wasyncore.pyi b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/waitress/wasyncore.pyi new file mode 120000 index 0000000..2477b50 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/third_party/typeshed/third_party/3/waitress/wasyncore.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/98/e3/15/4852fb99a8c4412bfff1f10c28c1aab405eb184aa2a5c67f96440708e6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jedi/utils.py b/venv/lib/python3.8/site-packages/jedi/utils.py new file mode 120000 index 0000000..1addacf --- /dev/null +++ b/venv/lib/python3.8/site-packages/jedi/utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ac/31/77/5c3ecbf33a598efe5e9586b6250bcfde6a113a605b898732308b2dc023 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jeepney-0.8.0.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/jeepney-0.8.0.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jeepney-0.8.0.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/jeepney-0.8.0.dist-info/LICENSE b/venv/lib/python3.8/site-packages/jeepney-0.8.0.dist-info/LICENSE new file mode 120000 index 0000000..e5593ef --- /dev/null +++ b/venv/lib/python3.8/site-packages/jeepney-0.8.0.dist-info/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1b/22/b0/49b5267d6dfc23a67bf4a84d8ec04b9fdfb1a51d360e42b4342c8b4154 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jeepney-0.8.0.dist-info/METADATA b/venv/lib/python3.8/site-packages/jeepney-0.8.0.dist-info/METADATA new file mode 120000 index 0000000..f800f6d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jeepney-0.8.0.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0d/73/3d/26ebe6e12378957d4ece40bc34b529c4658376e6a15da21e9ff3b23c3c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jeepney-0.8.0.dist-info/RECORD b/venv/lib/python3.8/site-packages/jeepney-0.8.0.dist-info/RECORD new file mode 100644 index 0000000..4808982 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jeepney-0.8.0.dist-info/RECORD @@ -0,0 +1,66 @@ +jeepney-0.8.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +jeepney-0.8.0.dist-info/LICENSE,sha256=GyKwSbUmfW38I6Z79KhNjsBLn9-xpR02DkK0NCyLQVQ,1081 +jeepney-0.8.0.dist-info/METADATA,sha256=DXM9Juvm4SN4lX1OzkC8NLUpxGWDduahXaIen_OyPDw,1280 +jeepney-0.8.0.dist-info/RECORD,, +jeepney-0.8.0.dist-info/WHEEL,sha256=4TfKIB_xu-04bc2iKz6_zFt-gEFEEDU_31HGhqzOCE8,81 +jeepney/__init__.py,sha256=olo0BGIx_BsOw3rbjUd742bSOtxKoOAbcRB6p4IeKbQ,408 +jeepney/__pycache__/__init__.cpython-38.pyc,, +jeepney/__pycache__/auth.cpython-38.pyc,, +jeepney/__pycache__/bindgen.cpython-38.pyc,, +jeepney/__pycache__/bus.cpython-38.pyc,, +jeepney/__pycache__/bus_messages.cpython-38.pyc,, +jeepney/__pycache__/fds.cpython-38.pyc,, +jeepney/__pycache__/low_level.cpython-38.pyc,, +jeepney/__pycache__/routing.cpython-38.pyc,, +jeepney/__pycache__/wrappers.cpython-38.pyc,, +jeepney/auth.py,sha256=Dh3ntzuCc0raeIcWDM_GDALNwLqUueJM4oEHH_pCQTA,4933 +jeepney/bindgen.py,sha256=6vLI1T_7rEN98fA8CEs3qG3Lk3zJsy8M2EEv9JnDbC0,4054 +jeepney/bus.py,sha256=KUiSr3ECzdbe-S9tNKm6kvf3oZi4RYnJWkZUXK7tE2k,1817 +jeepney/bus_messages.py,sha256=naa9p0PdEAvqJ-xZ9-V37B3-7-1xfLtAabKEeTZ6oQU,8140 +jeepney/fds.py,sha256=ZYzN_c_7rkBT0wU7dYUmQRijpSzCv-DATCYEklpXxUU,5056 +jeepney/io/__init__.py,sha256=inJI_1U-ATymLcAVYs-LD2aUwgl-tihW8-oVFUxYRgA,33 +jeepney/io/__pycache__/__init__.cpython-38.pyc,, +jeepney/io/__pycache__/asyncio.cpython-38.pyc,, +jeepney/io/__pycache__/blocking.cpython-38.pyc,, +jeepney/io/__pycache__/common.cpython-38.pyc,, +jeepney/io/__pycache__/threading.cpython-38.pyc,, +jeepney/io/__pycache__/trio.cpython-38.pyc,, +jeepney/io/asyncio.py,sha256=qfWi_1pWCXSP1LNRafHBuvrxHx4tX96b52KBa4sUFMc,7622 +jeepney/io/blocking.py,sha256=Evek2rYGEDQLOIoWVianJHhhHbfxN4zbfVeIDfd9z6Y,12290 +jeepney/io/common.py,sha256=l8lbFUgQmBxfqSC-hqHYmPUYCVFMKbOGB1k5ZWPKXfs,2696 +jeepney/io/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jeepney/io/tests/__pycache__/__init__.cpython-38.pyc,, +jeepney/io/tests/__pycache__/conftest.cpython-38.pyc,, +jeepney/io/tests/__pycache__/test_asyncio.cpython-38.pyc,, +jeepney/io/tests/__pycache__/test_blocking.cpython-38.pyc,, +jeepney/io/tests/__pycache__/test_threading.cpython-38.pyc,, +jeepney/io/tests/__pycache__/test_trio.cpython-38.pyc,, +jeepney/io/tests/__pycache__/utils.cpython-38.pyc,, +jeepney/io/tests/conftest.py,sha256=o7JrYypYE-0jNFUndsQ4Ek5dNYM0ofh1sYcIVeCZMj0,2730 +jeepney/io/tests/test_asyncio.py,sha256=6ryfDF6IHNnpXuUFcAU1R16W0Avo2Xi-CEM5sTydoHU,2636 +jeepney/io/tests/test_blocking.py,sha256=-p7qAjzzPJeZ2gU3f4vauob6T0VAbme3r1kwZN2_Js0,2967 +jeepney/io/tests/test_threading.py,sha256=RALwy-aI64TBoFmBnSU63HLcwRnStLVtnewOtoaBl3o,2699 +jeepney/io/tests/test_trio.py,sha256=DPY1V_K2qLTyBTrbrxZeLTA5dmca3Ye3e6pz08UxbO8,3892 +jeepney/io/tests/utils.py,sha256=i7VJYT-axefzS8mWcvv-9DeHEB6LdP9M82H3Hx6fyC4,79 +jeepney/io/threading.py,sha256=mwGCNlun_baX8Y4eienCGDKdZD4SKdTMvBTkIE0EMKo,9391 +jeepney/io/trio.py,sha256=PkvkqBXkGF3NAn1ipD8eePznq2DZ3kf_kZblt2XcK2c,14848 +jeepney/low_level.py,sha256=TkgVsLQE1bdVwa684QeIhQ8m53IjJt7_2mxTsH66JYs,19119 +jeepney/routing.py,sha256=70ujcmGyvKKPp6vUn5WLlvYwM7PFiH-XRT2upa538cg,2827 +jeepney/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jeepney/tests/__pycache__/__init__.cpython-38.pyc,, +jeepney/tests/__pycache__/test_auth.cpython-38.pyc,, +jeepney/tests/__pycache__/test_bindgen.cpython-38.pyc,, +jeepney/tests/__pycache__/test_bus.cpython-38.pyc,, +jeepney/tests/__pycache__/test_bus_messages.cpython-38.pyc,, +jeepney/tests/__pycache__/test_fds.cpython-38.pyc,, +jeepney/tests/__pycache__/test_low_level.cpython-38.pyc,, +jeepney/tests/__pycache__/test_routing.cpython-38.pyc,, +jeepney/tests/secrets_introspect.xml,sha256=9cfNs1aGLtIAykcQVsycwIwCLmEeorKkFjqJCLAknRQ,4575 +jeepney/tests/test_auth.py,sha256=Ee79vsedCwveukudAZTwqYTXHWV3PYnXkmMl0MBMZEE,611 +jeepney/tests/test_bindgen.py,sha256=Ez99zr9TIV3mlZdH-2A_dz4LbvxCqzWDIadhOCbbaoc,1098 +jeepney/tests/test_bus.py,sha256=ApOxd3AcYQB14G1XsiFGBYtQ4xSKw52y9YvmPz700gc,847 +jeepney/tests/test_bus_messages.py,sha256=Fh7Ub4sFWZbsXGqBKYoS6DM_GS1kHxTOA0ydkL5PYBo,3228 +jeepney/tests/test_fds.py,sha256=-gyvQpfsXtPaIEeqbwhrNPOcIAN0DsrQ7MXZu4nMvvQ,1821 +jeepney/tests/test_low_level.py,sha256=Ry2Fme4i9XVAFcK0CL0B_-031njsVBVQ2YnT2yEaxwM,2554 +jeepney/tests/test_routing.py,sha256=ahDksymGQz3qllB_378EvTl0IvxLBXEhBwpdWp0SZDs,959 +jeepney/wrappers.py,sha256=Tr1tJ-KbTZuDzLvjZwL2HyKlhUqhCcD4-UZDCKIEW4E,7979 diff --git a/venv/lib/python3.8/site-packages/jeepney-0.8.0.dist-info/WHEEL b/venv/lib/python3.8/site-packages/jeepney-0.8.0.dist-info/WHEEL new file mode 120000 index 0000000..988b552 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jeepney-0.8.0.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e1/37/ca/201ff1bbed386dcda22b3ebfcc5b7e80414410353fdf51c686acce084f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jeepney/__init__.py b/venv/lib/python3.8/site-packages/jeepney/__init__.py new file mode 120000 index 0000000..e1dcb1a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jeepney/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a2/5a/34/046231fc1b0ec37adb8d477be366d23adc4aa0e01b71107aa7821e29b4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jeepney/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/jeepney/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..bf031b2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jeepney/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jeepney/__pycache__/auth.cpython-38.pyc b/venv/lib/python3.8/site-packages/jeepney/__pycache__/auth.cpython-38.pyc new file mode 100644 index 0000000..8eef614 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jeepney/__pycache__/auth.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jeepney/__pycache__/bindgen.cpython-38.pyc b/venv/lib/python3.8/site-packages/jeepney/__pycache__/bindgen.cpython-38.pyc new file mode 100644 index 0000000..27473ff Binary files /dev/null and b/venv/lib/python3.8/site-packages/jeepney/__pycache__/bindgen.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jeepney/__pycache__/bus.cpython-38.pyc b/venv/lib/python3.8/site-packages/jeepney/__pycache__/bus.cpython-38.pyc new file mode 100644 index 0000000..d1d825a Binary files /dev/null and b/venv/lib/python3.8/site-packages/jeepney/__pycache__/bus.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jeepney/__pycache__/bus_messages.cpython-38.pyc b/venv/lib/python3.8/site-packages/jeepney/__pycache__/bus_messages.cpython-38.pyc new file mode 100644 index 0000000..1ac48c1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jeepney/__pycache__/bus_messages.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jeepney/__pycache__/fds.cpython-38.pyc b/venv/lib/python3.8/site-packages/jeepney/__pycache__/fds.cpython-38.pyc new file mode 100644 index 0000000..ac21394 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jeepney/__pycache__/fds.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jeepney/__pycache__/low_level.cpython-38.pyc b/venv/lib/python3.8/site-packages/jeepney/__pycache__/low_level.cpython-38.pyc new file mode 100644 index 0000000..25ce8f7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jeepney/__pycache__/low_level.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jeepney/__pycache__/routing.cpython-38.pyc b/venv/lib/python3.8/site-packages/jeepney/__pycache__/routing.cpython-38.pyc new file mode 100644 index 0000000..8bf50e6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jeepney/__pycache__/routing.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jeepney/__pycache__/wrappers.cpython-38.pyc b/venv/lib/python3.8/site-packages/jeepney/__pycache__/wrappers.cpython-38.pyc new file mode 100644 index 0000000..8040b3f Binary files /dev/null and b/venv/lib/python3.8/site-packages/jeepney/__pycache__/wrappers.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jeepney/auth.py b/venv/lib/python3.8/site-packages/jeepney/auth.py new file mode 120000 index 0000000..c3adaf3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jeepney/auth.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0e/1d/e7/b73b82734ada7887160ccfc60c02cdc0ba94b9e24ce281071ffa424130 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jeepney/bindgen.py b/venv/lib/python3.8/site-packages/jeepney/bindgen.py new file mode 120000 index 0000000..88d1d56 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jeepney/bindgen.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ea/f2/c8/d53ffbac437df1f03c084b37a86dcb937cc9b32f0cd8412ff499c36c2d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jeepney/bus.py b/venv/lib/python3.8/site-packages/jeepney/bus.py new file mode 120000 index 0000000..e4bb99a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jeepney/bus.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/29/48/92/af7102cdd6def92f6d34a9ba92f7f7a198b84589c95a46545caeed1369 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jeepney/bus_messages.py b/venv/lib/python3.8/site-packages/jeepney/bus_messages.py new file mode 120000 index 0000000..08272c6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jeepney/bus_messages.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9d/a6/bd/a743dd100bea27ec59f7e577ec1dfeefed717cbb4069b28479367aa105 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jeepney/fds.py b/venv/lib/python3.8/site-packages/jeepney/fds.py new file mode 120000 index 0000000..fefd74d --- /dev/null +++ b/venv/lib/python3.8/site-packages/jeepney/fds.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/65/8c/cd/fdcffbae4053d3053b7585264118a3a52cc2bfe0c04c2604925a57c545 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jeepney/io/__init__.py b/venv/lib/python3.8/site-packages/jeepney/io/__init__.py new file mode 120000 index 0000000..ce6106c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jeepney/io/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8a/72/48/ff553e013ca62dc01562cf8b0f6694c2097eb62856f3ea15154c584600 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jeepney/io/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/jeepney/io/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..f8a2d4c Binary files /dev/null and b/venv/lib/python3.8/site-packages/jeepney/io/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jeepney/io/__pycache__/asyncio.cpython-38.pyc b/venv/lib/python3.8/site-packages/jeepney/io/__pycache__/asyncio.cpython-38.pyc new file mode 100644 index 0000000..49e2ded Binary files /dev/null and b/venv/lib/python3.8/site-packages/jeepney/io/__pycache__/asyncio.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jeepney/io/__pycache__/blocking.cpython-38.pyc b/venv/lib/python3.8/site-packages/jeepney/io/__pycache__/blocking.cpython-38.pyc new file mode 100644 index 0000000..44e70fb Binary files /dev/null and b/venv/lib/python3.8/site-packages/jeepney/io/__pycache__/blocking.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jeepney/io/__pycache__/common.cpython-38.pyc b/venv/lib/python3.8/site-packages/jeepney/io/__pycache__/common.cpython-38.pyc new file mode 100644 index 0000000..4a995c2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jeepney/io/__pycache__/common.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jeepney/io/__pycache__/threading.cpython-38.pyc b/venv/lib/python3.8/site-packages/jeepney/io/__pycache__/threading.cpython-38.pyc new file mode 100644 index 0000000..cf34b80 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jeepney/io/__pycache__/threading.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jeepney/io/__pycache__/trio.cpython-38.pyc b/venv/lib/python3.8/site-packages/jeepney/io/__pycache__/trio.cpython-38.pyc new file mode 100644 index 0000000..5a30959 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jeepney/io/__pycache__/trio.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jeepney/io/asyncio.py b/venv/lib/python3.8/site-packages/jeepney/io/asyncio.py new file mode 120000 index 0000000..780c26c --- /dev/null +++ b/venv/lib/python3.8/site-packages/jeepney/io/asyncio.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a9/f5/a2/ff5a5609748fd4b35169f1c1bafaf11f1e2d5fde9be762816b8b1414c7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jeepney/io/blocking.py b/venv/lib/python3.8/site-packages/jeepney/io/blocking.py new file mode 120000 index 0000000..5a7f310 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jeepney/io/blocking.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/12/f7/a4/dab60610340b388a165626a72478611db7f1378cdb7d57880df77dcfa6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jeepney/io/common.py b/venv/lib/python3.8/site-packages/jeepney/io/common.py new file mode 120000 index 0000000..8dba564 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jeepney/io/common.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/97/c9/5b/154810981c5fa920be86a1d898f51809514c29b3860759396563ca5dfb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jeepney/io/tests/__init__.py b/venv/lib/python3.8/site-packages/jeepney/io/tests/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jeepney/io/tests/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jeepney/io/tests/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/jeepney/io/tests/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..d1ccb82 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jeepney/io/tests/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jeepney/io/tests/__pycache__/conftest.cpython-38.pyc b/venv/lib/python3.8/site-packages/jeepney/io/tests/__pycache__/conftest.cpython-38.pyc new file mode 100644 index 0000000..90b8562 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jeepney/io/tests/__pycache__/conftest.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jeepney/io/tests/__pycache__/test_asyncio.cpython-38.pyc b/venv/lib/python3.8/site-packages/jeepney/io/tests/__pycache__/test_asyncio.cpython-38.pyc new file mode 100644 index 0000000..ec5d5b3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jeepney/io/tests/__pycache__/test_asyncio.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jeepney/io/tests/__pycache__/test_blocking.cpython-38.pyc b/venv/lib/python3.8/site-packages/jeepney/io/tests/__pycache__/test_blocking.cpython-38.pyc new file mode 100644 index 0000000..3525914 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jeepney/io/tests/__pycache__/test_blocking.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jeepney/io/tests/__pycache__/test_threading.cpython-38.pyc b/venv/lib/python3.8/site-packages/jeepney/io/tests/__pycache__/test_threading.cpython-38.pyc new file mode 100644 index 0000000..71c6312 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jeepney/io/tests/__pycache__/test_threading.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jeepney/io/tests/__pycache__/test_trio.cpython-38.pyc b/venv/lib/python3.8/site-packages/jeepney/io/tests/__pycache__/test_trio.cpython-38.pyc new file mode 100644 index 0000000..80d2c3b Binary files /dev/null and b/venv/lib/python3.8/site-packages/jeepney/io/tests/__pycache__/test_trio.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jeepney/io/tests/__pycache__/utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/jeepney/io/tests/__pycache__/utils.cpython-38.pyc new file mode 100644 index 0000000..a8f10ce Binary files /dev/null and b/venv/lib/python3.8/site-packages/jeepney/io/tests/__pycache__/utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jeepney/io/tests/conftest.py b/venv/lib/python3.8/site-packages/jeepney/io/tests/conftest.py new file mode 120000 index 0000000..a5eede3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jeepney/io/tests/conftest.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a3/b2/6b/632a5813ed2334552776c438124e5d358334a1f875b1870855e099323d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jeepney/io/tests/test_asyncio.py b/venv/lib/python3.8/site-packages/jeepney/io/tests/test_asyncio.py new file mode 120000 index 0000000..ce10bef --- /dev/null +++ b/venv/lib/python3.8/site-packages/jeepney/io/tests/test_asyncio.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ea/bc/9f/0c5e881cd9e95ee505700535475e96d00be8d978be084339b13c9da075 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jeepney/io/tests/test_blocking.py b/venv/lib/python3.8/site-packages/jeepney/io/tests/test_blocking.py new file mode 120000 index 0000000..590d86a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jeepney/io/tests/test_blocking.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fa/9e/ea/023cf33c9799da05377f8bdaba86fa4f45406e67b7af593064ddbf26cd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jeepney/io/tests/test_threading.py b/venv/lib/python3.8/site-packages/jeepney/io/tests/test_threading.py new file mode 120000 index 0000000..d5834ad --- /dev/null +++ b/venv/lib/python3.8/site-packages/jeepney/io/tests/test_threading.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/44/02/f0/cbe688eb84c1a059819d253adc72dcc119d2b4b56d9dec0eb68681977a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jeepney/io/tests/test_trio.py b/venv/lib/python3.8/site-packages/jeepney/io/tests/test_trio.py new file mode 120000 index 0000000..e2d0eb2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jeepney/io/tests/test_trio.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0c/f6/35/57f2b6a8b4f2053adbaf165e2d303976671add87b77baa73d3c5316cef \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jeepney/io/tests/utils.py b/venv/lib/python3.8/site-packages/jeepney/io/tests/utils.py new file mode 120000 index 0000000..112ed61 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jeepney/io/tests/utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8b/b5/49/613f9ac5e7f34bc99672fbfef43787101e8b74ff4cf361f71f1e9fc82e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jeepney/io/threading.py b/venv/lib/python3.8/site-packages/jeepney/io/threading.py new file mode 120000 index 0000000..2853038 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jeepney/io/threading.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9b/01/82/365ba7fdb697f18e1e89e9c218329d643e1229d4ccbc14e4204d0430aa \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jeepney/io/trio.py b/venv/lib/python3.8/site-packages/jeepney/io/trio.py new file mode 120000 index 0000000..1cfc9a2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jeepney/io/trio.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3e/4b/e4/a815e4185dcd027d62a43f1e78fce7ab60d9de47ff9196e5b765dc2b67 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jeepney/low_level.py b/venv/lib/python3.8/site-packages/jeepney/low_level.py new file mode 120000 index 0000000..09036ea --- /dev/null +++ b/venv/lib/python3.8/site-packages/jeepney/low_level.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4e/48/15/b0b404d5b755c1aebce10788850f26e7722326deffda6c53b07eba258b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jeepney/routing.py b/venv/lib/python3.8/site-packages/jeepney/routing.py new file mode 120000 index 0000000..b36eeda --- /dev/null +++ b/venv/lib/python3.8/site-packages/jeepney/routing.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ef/4b/a3/7261b2bca28fa7abd49f958b96f63033b3c5887f97453daea5ae77f1c8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jeepney/tests/__init__.py b/venv/lib/python3.8/site-packages/jeepney/tests/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jeepney/tests/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jeepney/tests/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/jeepney/tests/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..34c31e9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jeepney/tests/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jeepney/tests/__pycache__/test_auth.cpython-38.pyc b/venv/lib/python3.8/site-packages/jeepney/tests/__pycache__/test_auth.cpython-38.pyc new file mode 100644 index 0000000..99322db Binary files /dev/null and b/venv/lib/python3.8/site-packages/jeepney/tests/__pycache__/test_auth.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jeepney/tests/__pycache__/test_bindgen.cpython-38.pyc b/venv/lib/python3.8/site-packages/jeepney/tests/__pycache__/test_bindgen.cpython-38.pyc new file mode 100644 index 0000000..3dee7b7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jeepney/tests/__pycache__/test_bindgen.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jeepney/tests/__pycache__/test_bus.cpython-38.pyc b/venv/lib/python3.8/site-packages/jeepney/tests/__pycache__/test_bus.cpython-38.pyc new file mode 100644 index 0000000..b03ff4f Binary files /dev/null and b/venv/lib/python3.8/site-packages/jeepney/tests/__pycache__/test_bus.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jeepney/tests/__pycache__/test_bus_messages.cpython-38.pyc b/venv/lib/python3.8/site-packages/jeepney/tests/__pycache__/test_bus_messages.cpython-38.pyc new file mode 100644 index 0000000..f372b91 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jeepney/tests/__pycache__/test_bus_messages.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jeepney/tests/__pycache__/test_fds.cpython-38.pyc b/venv/lib/python3.8/site-packages/jeepney/tests/__pycache__/test_fds.cpython-38.pyc new file mode 100644 index 0000000..64ad4cc Binary files /dev/null and b/venv/lib/python3.8/site-packages/jeepney/tests/__pycache__/test_fds.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jeepney/tests/__pycache__/test_low_level.cpython-38.pyc b/venv/lib/python3.8/site-packages/jeepney/tests/__pycache__/test_low_level.cpython-38.pyc new file mode 100644 index 0000000..56dc682 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jeepney/tests/__pycache__/test_low_level.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jeepney/tests/__pycache__/test_routing.cpython-38.pyc b/venv/lib/python3.8/site-packages/jeepney/tests/__pycache__/test_routing.cpython-38.pyc new file mode 100644 index 0000000..f131ab3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jeepney/tests/__pycache__/test_routing.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jeepney/tests/secrets_introspect.xml b/venv/lib/python3.8/site-packages/jeepney/tests/secrets_introspect.xml new file mode 120000 index 0000000..28cb814 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jeepney/tests/secrets_introspect.xml @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f5/c7/cd/b356862ed200ca471056cc9cc08c022e611ea2b2a4163a8908b0249d14 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jeepney/tests/test_auth.py b/venv/lib/python3.8/site-packages/jeepney/tests/test_auth.py new file mode 120000 index 0000000..5124e5f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jeepney/tests/test_auth.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/11/ee/fd/bec79d0b0bdeba4b9d0194f0a984d71d65773d89d7926325d0c04c6441 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jeepney/tests/test_bindgen.py b/venv/lib/python3.8/site-packages/jeepney/tests/test_bindgen.py new file mode 120000 index 0000000..43b0f45 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jeepney/tests/test_bindgen.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/13/3f/7d/cebf53215de6959747fb603f773e0b6efc42ab358321a7613826db6a87 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jeepney/tests/test_bus.py b/venv/lib/python3.8/site-packages/jeepney/tests/test_bus.py new file mode 120000 index 0000000..a4bc871 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jeepney/tests/test_bus.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/02/93/b1/77701c610075e06d57b22146058b50e3148ac39db2f58be63f3ef4d207 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jeepney/tests/test_bus_messages.py b/venv/lib/python3.8/site-packages/jeepney/tests/test_bus_messages.py new file mode 120000 index 0000000..89c4fb0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jeepney/tests/test_bus_messages.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/16/1e/d4/6f8b055996ec5c6a81298a12e8333f192d641f14ce034c9d90be4f601a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jeepney/tests/test_fds.py b/venv/lib/python3.8/site-packages/jeepney/tests/test_fds.py new file mode 120000 index 0000000..17e6e0e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jeepney/tests/test_fds.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fa/0c/af/4297ec5ed3da2047aa6f086b34f39c2003740ecad0ecc5d9bb89ccbef4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jeepney/tests/test_low_level.py b/venv/lib/python3.8/site-packages/jeepney/tests/test_low_level.py new file mode 120000 index 0000000..d1152a8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jeepney/tests/test_low_level.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/47/2d/85/99ee22f5754015c2b408bd01ffed37d678ec541550d989d3db211ac703 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jeepney/tests/test_routing.py b/venv/lib/python3.8/site-packages/jeepney/tests/test_routing.py new file mode 120000 index 0000000..a424c01 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jeepney/tests/test_routing.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6a/10/e4/b32986433dea96507fdfbf04bd397422fc4b057121070a5d5a9d12643b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jeepney/wrappers.py b/venv/lib/python3.8/site-packages/jeepney/wrappers.py new file mode 120000 index 0000000..e17a9dc --- /dev/null +++ b/venv/lib/python3.8/site-packages/jeepney/wrappers.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4e/bd/6d/27e29b4d9b83ccbbe36702f61f22a5854aa109c0f8f9464308a2045b81 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jinja2/__init__.py b/venv/lib/python3.8/site-packages/jinja2/__init__.py new file mode 120000 index 0000000..d879f71 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jinja2/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f2/f1/9d/b83f32b70803e860d2aa961cda6dda53e4fb3ca38075dbd55e01abfc5b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jinja2/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/jinja2/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..b56cea6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jinja2/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jinja2/__pycache__/_identifier.cpython-38.pyc b/venv/lib/python3.8/site-packages/jinja2/__pycache__/_identifier.cpython-38.pyc new file mode 100644 index 0000000..e9a3ee5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jinja2/__pycache__/_identifier.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jinja2/__pycache__/async_utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/jinja2/__pycache__/async_utils.cpython-38.pyc new file mode 100644 index 0000000..ea38d54 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jinja2/__pycache__/async_utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jinja2/__pycache__/bccache.cpython-38.pyc b/venv/lib/python3.8/site-packages/jinja2/__pycache__/bccache.cpython-38.pyc new file mode 100644 index 0000000..45b65ed Binary files /dev/null and b/venv/lib/python3.8/site-packages/jinja2/__pycache__/bccache.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jinja2/__pycache__/compiler.cpython-38.pyc b/venv/lib/python3.8/site-packages/jinja2/__pycache__/compiler.cpython-38.pyc new file mode 100644 index 0000000..c2dd2b6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jinja2/__pycache__/compiler.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jinja2/__pycache__/constants.cpython-38.pyc b/venv/lib/python3.8/site-packages/jinja2/__pycache__/constants.cpython-38.pyc new file mode 100644 index 0000000..1146c25 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jinja2/__pycache__/constants.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jinja2/__pycache__/debug.cpython-38.pyc b/venv/lib/python3.8/site-packages/jinja2/__pycache__/debug.cpython-38.pyc new file mode 100644 index 0000000..d2769fa Binary files /dev/null and b/venv/lib/python3.8/site-packages/jinja2/__pycache__/debug.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jinja2/__pycache__/defaults.cpython-38.pyc b/venv/lib/python3.8/site-packages/jinja2/__pycache__/defaults.cpython-38.pyc new file mode 100644 index 0000000..35778ad Binary files /dev/null and b/venv/lib/python3.8/site-packages/jinja2/__pycache__/defaults.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jinja2/__pycache__/environment.cpython-38.pyc b/venv/lib/python3.8/site-packages/jinja2/__pycache__/environment.cpython-38.pyc new file mode 100644 index 0000000..80e4740 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jinja2/__pycache__/environment.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jinja2/__pycache__/exceptions.cpython-38.pyc b/venv/lib/python3.8/site-packages/jinja2/__pycache__/exceptions.cpython-38.pyc new file mode 100644 index 0000000..aa50c3b Binary files /dev/null and b/venv/lib/python3.8/site-packages/jinja2/__pycache__/exceptions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jinja2/__pycache__/ext.cpython-38.pyc b/venv/lib/python3.8/site-packages/jinja2/__pycache__/ext.cpython-38.pyc new file mode 100644 index 0000000..6b351e7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jinja2/__pycache__/ext.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jinja2/__pycache__/filters.cpython-38.pyc b/venv/lib/python3.8/site-packages/jinja2/__pycache__/filters.cpython-38.pyc new file mode 100644 index 0000000..d55f4dd Binary files /dev/null and b/venv/lib/python3.8/site-packages/jinja2/__pycache__/filters.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jinja2/__pycache__/idtracking.cpython-38.pyc b/venv/lib/python3.8/site-packages/jinja2/__pycache__/idtracking.cpython-38.pyc new file mode 100644 index 0000000..a9423a5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jinja2/__pycache__/idtracking.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jinja2/__pycache__/lexer.cpython-38.pyc b/venv/lib/python3.8/site-packages/jinja2/__pycache__/lexer.cpython-38.pyc new file mode 100644 index 0000000..d9cca93 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jinja2/__pycache__/lexer.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jinja2/__pycache__/loaders.cpython-38.pyc b/venv/lib/python3.8/site-packages/jinja2/__pycache__/loaders.cpython-38.pyc new file mode 100644 index 0000000..e9a6c52 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jinja2/__pycache__/loaders.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jinja2/__pycache__/meta.cpython-38.pyc b/venv/lib/python3.8/site-packages/jinja2/__pycache__/meta.cpython-38.pyc new file mode 100644 index 0000000..f71fdb2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jinja2/__pycache__/meta.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jinja2/__pycache__/nativetypes.cpython-38.pyc b/venv/lib/python3.8/site-packages/jinja2/__pycache__/nativetypes.cpython-38.pyc new file mode 100644 index 0000000..77da077 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jinja2/__pycache__/nativetypes.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jinja2/__pycache__/nodes.cpython-38.pyc b/venv/lib/python3.8/site-packages/jinja2/__pycache__/nodes.cpython-38.pyc new file mode 100644 index 0000000..d3e6844 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jinja2/__pycache__/nodes.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jinja2/__pycache__/optimizer.cpython-38.pyc b/venv/lib/python3.8/site-packages/jinja2/__pycache__/optimizer.cpython-38.pyc new file mode 100644 index 0000000..1437c0b Binary files /dev/null and b/venv/lib/python3.8/site-packages/jinja2/__pycache__/optimizer.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jinja2/__pycache__/parser.cpython-38.pyc b/venv/lib/python3.8/site-packages/jinja2/__pycache__/parser.cpython-38.pyc new file mode 100644 index 0000000..6f614d9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jinja2/__pycache__/parser.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jinja2/__pycache__/runtime.cpython-38.pyc b/venv/lib/python3.8/site-packages/jinja2/__pycache__/runtime.cpython-38.pyc new file mode 100644 index 0000000..eae44e5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jinja2/__pycache__/runtime.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jinja2/__pycache__/sandbox.cpython-38.pyc b/venv/lib/python3.8/site-packages/jinja2/__pycache__/sandbox.cpython-38.pyc new file mode 100644 index 0000000..5d41ac6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jinja2/__pycache__/sandbox.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jinja2/__pycache__/tests.cpython-38.pyc b/venv/lib/python3.8/site-packages/jinja2/__pycache__/tests.cpython-38.pyc new file mode 100644 index 0000000..42a4756 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jinja2/__pycache__/tests.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jinja2/__pycache__/utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/jinja2/__pycache__/utils.cpython-38.pyc new file mode 100644 index 0000000..2955eb1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jinja2/__pycache__/utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jinja2/__pycache__/visitor.cpython-38.pyc b/venv/lib/python3.8/site-packages/jinja2/__pycache__/visitor.cpython-38.pyc new file mode 100644 index 0000000..79120f2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/jinja2/__pycache__/visitor.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/jinja2/_identifier.py b/venv/lib/python3.8/site-packages/jinja2/_identifier.py new file mode 120000 index 0000000..63387ce --- /dev/null +++ b/venv/lib/python3.8/site-packages/jinja2/_identifier.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ff/36/1c/b4d2b346a964fe6bab4cd973ae3bb514524bed56bf223aaa77b8a2da55 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jinja2/async_utils.py b/venv/lib/python3.8/site-packages/jinja2/async_utils.py new file mode 120000 index 0000000..95c2cec --- /dev/null +++ b/venv/lib/python3.8/site-packages/jinja2/async_utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/74/79/5b/4de6b114fb40390118386621fcf1dc0d3d2bb0369424014397fd17b538 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jinja2/bccache.py b/venv/lib/python3.8/site-packages/jinja2/bccache.py new file mode 120000 index 0000000..0cd1458 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jinja2/bccache.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9a/1c/f9/c6d2f109c1d101ae7a6b33a1a612007b5f6ed707b4a2389f34c0a50e2a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jinja2/compiler.py b/venv/lib/python3.8/site-packages/jinja2/compiler.py new file mode 120000 index 0000000..3d23358 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jinja2/compiler.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1a/cf/8d/f13849ece58ae3eade2a83bc5a1d595f3f79315a6104a3557fbe6a06bf \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jinja2/constants.py b/venv/lib/python3.8/site-packages/jinja2/constants.py new file mode 120000 index 0000000..ad7b288 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jinja2/constants.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/18/ca/05/c9d045fe476969128fa0ce5c97932f8aab9544b57266d7e9e7ed7a8e0d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jinja2/debug.py b/venv/lib/python3.8/site-packages/jinja2/debug.py new file mode 120000 index 0000000..2dc3aa0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jinja2/debug.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/89/62/78/df645a77124d9da30e3eb8c80c89f3e745048278b7fc72ae1578b6bee4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jinja2/defaults.py b/venv/lib/python3.8/site-packages/jinja2/defaults.py new file mode 120000 index 0000000..6cf71f6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jinja2/defaults.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6e/80/5c/4b0efc87e969db461b697489b2a900236b8dfe60ff4ed0b27697aae705 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jinja2/environment.py b/venv/lib/python3.8/site-packages/jinja2/environment.py new file mode 120000 index 0000000..cbe4ae8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jinja2/environment.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ea/e1/c8/71ced96e5a8e31dc7fb9834aa919e7c00174fe7cdbc9e30ff4516dba1e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jinja2/exceptions.py b/venv/lib/python3.8/site-packages/jinja2/exceptions.py new file mode 120000 index 0000000..3f3b67a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jinja2/exceptions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8a/81/de/1eb5b009635a5d7d629c798755b96f73885a3bb017b230a9dc67d6bf1d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jinja2/ext.py b/venv/lib/python3.8/site-packages/jinja2/ext.py new file mode 120000 index 0000000..dcb2f2a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jinja2/ext.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8a/fa/f7/3fb2ca6dd7625c355ecf6d047e570edead9a1d0c33f4ffcf81618756a1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jinja2/filters.py b/venv/lib/python3.8/site-packages/jinja2/filters.py new file mode 120000 index 0000000..ae00b6e --- /dev/null +++ b/venv/lib/python3.8/site-packages/jinja2/filters.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f6/3b/35/57e876465c96f742212e20462ccd94fa4e920b2d85e015143200772bd4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jinja2/idtracking.py b/venv/lib/python3.8/site-packages/jinja2/idtracking.py new file mode 120000 index 0000000..fb973a4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jinja2/idtracking.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/19/f3/66/69d8abe280c02d5c739f70cbf582278490ebebd79b5de036ca07ee0860 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jinja2/lexer.py b/venv/lib/python3.8/site-packages/jinja2/lexer.py new file mode 120000 index 0000000..f5c2077 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jinja2/lexer.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0d/6d/a7/5fdce4fba316a7ae584766eaaa3d31a82bcbb43faef4d593f009c54714 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jinja2/loaders.py b/venv/lib/python3.8/site-packages/jinja2/loaders.py new file mode 120000 index 0000000..e7a319b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jinja2/loaders.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/05/fa/6d/7ef4d5a4295477e95e3241dccddc8f358173a7f9fb3ca389f7c8b21ce8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jinja2/meta.py b/venv/lib/python3.8/site-packages/jinja2/meta.py new file mode 120000 index 0000000..7b1b852 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jinja2/meta.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/18/d3/c4/be27e649a53708cc656e17813998de676efb1d384e3d44dfd51929a4a4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jinja2/nativetypes.py b/venv/lib/python3.8/site-packages/jinja2/nativetypes.py new file mode 120000 index 0000000..79b239a --- /dev/null +++ b/venv/lib/python3.8/site-packages/jinja2/nativetypes.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0d/78/0e/4433d19955a0cb4df81f4c4bf1e17ba98a0adc3accc6cfbddf97741739 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jinja2/nodes.py b/venv/lib/python3.8/site-packages/jinja2/nodes.py new file mode 120000 index 0000000..2c77b0f --- /dev/null +++ b/venv/lib/python3.8/site-packages/jinja2/nodes.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8b/7e/06/3d10197b15cc4fa6f0b9fe52132bdd992f9b442cbd28c8f03793baa639 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jinja2/optimizer.py b/venv/lib/python3.8/site-packages/jinja2/optimizer.py new file mode 120000 index 0000000..8a29772 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jinja2/optimizer.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b4/79/0c/c17c5f6646df0352a62dcaa604c49acfb44b22fbc8b6b25c3e85d3c83f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jinja2/parser.py b/venv/lib/python3.8/site-packages/jinja2/parser.py new file mode 120000 index 0000000..a87deb6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jinja2/parser.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9c/77/7e/0c51db8b282f7da3ed9bdadc4172428591bb0cfb167e212ca9fc0a7ab6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jinja2/py.typed b/venv/lib/python3.8/site-packages/jinja2/py.typed new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jinja2/py.typed @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jinja2/runtime.py b/venv/lib/python3.8/site-packages/jinja2/runtime.py new file mode 120000 index 0000000..36343ea --- /dev/null +++ b/venv/lib/python3.8/site-packages/jinja2/runtime.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e4/29/83/e418db109c5288335314178a09aabca94e1a603dafeaad8496ec84c66b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jinja2/sandbox.py b/venv/lib/python3.8/site-packages/jinja2/sandbox.py new file mode 120000 index 0000000..d9856f5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jinja2/sandbox.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/63/4c/59/7974271fa117e558da576622c444b1a1ea6745b5bfdd4790a2c6815373 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jinja2/tests.py b/venv/lib/python3.8/site-packages/jinja2/tests.py new file mode 120000 index 0000000..ec29206 --- /dev/null +++ b/venv/lib/python3.8/site-packages/jinja2/tests.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/02/6e/59/e8b99faf65da1ff9e921f249f0c757b56b1b2e33142d926e953023df41 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jinja2/utils.py b/venv/lib/python3.8/site-packages/jinja2/utils.py new file mode 120000 index 0000000..3a7232b --- /dev/null +++ b/venv/lib/python3.8/site-packages/jinja2/utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bb/d8/d7/112c469fc01364d5689709a48d456ee1203eb4b815d16ecf7127cf7dd4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/jinja2/visitor.py b/venv/lib/python3.8/site-packages/jinja2/visitor.py new file mode 120000 index 0000000..85af7bd --- /dev/null +++ b/venv/lib/python3.8/site-packages/jinja2/visitor.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/30/7d/78/0bacaadb81bf295b56ce3c1a23b5a0d783c2248625596d64a64c586a4d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/keyring-21.8.0.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/keyring-21.8.0.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/keyring-21.8.0.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/keyring-21.8.0.dist-info/LICENSE b/venv/lib/python3.8/site-packages/keyring-21.8.0.dist-info/LICENSE new file mode 120000 index 0000000..8aeefcb --- /dev/null +++ b/venv/lib/python3.8/site-packages/keyring-21.8.0.dist-info/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/db/3f/02/46b1f9278f15845b99fec478b8b506eb76487993722f8c6e254285faf8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/keyring-21.8.0.dist-info/METADATA b/venv/lib/python3.8/site-packages/keyring-21.8.0.dist-info/METADATA new file mode 120000 index 0000000..6a1efc4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/keyring-21.8.0.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cb/b3/f7/26f4ba447d0c35f3cff1174289a797d004e45b43063aae2ddf962f4575 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/keyring-21.8.0.dist-info/RECORD b/venv/lib/python3.8/site-packages/keyring-21.8.0.dist-info/RECORD new file mode 100644 index 0000000..2275fce --- /dev/null +++ b/venv/lib/python3.8/site-packages/keyring-21.8.0.dist-info/RECORD @@ -0,0 +1,57 @@ +../../../bin/keyring,sha256=e6Db7kb-cVwSBUbXI5HgIyZ-2W6qE2PuBbAgblnfBjc,214 +keyring-21.8.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +keyring-21.8.0.dist-info/LICENSE,sha256=2z8CRrH5J48VhFuZ_sR4uLUG63ZIeZNyL4xuJUKF-vg,1050 +keyring-21.8.0.dist-info/METADATA,sha256=y7P3JvS6RH0MNfPP8RdCiaeX0ATkW0MGOq4t35YvRXU,17568 +keyring-21.8.0.dist-info/RECORD,, +keyring-21.8.0.dist-info/WHEEL,sha256=OqRkF0eY5GHssMorFjlbTIq072vpHpF60fIQA6lS9xA,92 +keyring-21.8.0.dist-info/entry_points.txt,sha256=I8CaFlwdiBJhxKi6w7kvVLhyMA5AyOIFFX2HFgUrChU,295 +keyring-21.8.0.dist-info/top_level.txt,sha256=ohh1dke28_NdSNkZ6nkVSwIKkLJTOwIfEwnXKva3pkg,8 +keyring/__init__.py,sha256=w4VYJos0-hGiCV4AaepYIW71NNH_a8NirKUDd2sL4wM,271 +keyring/__main__.py,sha256=vB_vOSk4pIZrkevBQeHXy6GYv7Nd0_vieKe44Xf1i9g,71 +keyring/__pycache__/__init__.cpython-38.pyc,, +keyring/__pycache__/__main__.cpython-38.pyc,, +keyring/__pycache__/backend.cpython-38.pyc,, +keyring/__pycache__/cli.cpython-38.pyc,, +keyring/__pycache__/core.cpython-38.pyc,, +keyring/__pycache__/credentials.cpython-38.pyc,, +keyring/__pycache__/devpi_client.cpython-38.pyc,, +keyring/__pycache__/errors.cpython-38.pyc,, +keyring/__pycache__/http.cpython-38.pyc,, +keyring/backend.py,sha256=cEAwWhB_T73bWRH2ET5Uf8YRNm4qgKQ9Vs4LWH7W5dM,6443 +keyring/backends/OS_X.py,sha256=sjYLYV-U_b2x5YRpiMJ-cdXe2ytMWj3miryjL-ZrZXo,2001 +keyring/backends/SecretService.py,sha256=t98eeYAllXH1pDtawMNiFd_EsUhZhtFK8TtAqCGukw8,4739 +keyring/backends/Windows.py,sha256=xywO8qxve2ctVRG4SbxWeBShvw94EbmKY_m5GaUWAP8,6536 +keyring/backends/_OS_X_API.py,sha256=MvpjYZjkecfPiYvYz4uTXg6FGPqkEorBlbHVoL2to9o,9578 +keyring/backends/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +keyring/backends/__pycache__/OS_X.cpython-38.pyc,, +keyring/backends/__pycache__/SecretService.cpython-38.pyc,, +keyring/backends/__pycache__/Windows.cpython-38.pyc,, +keyring/backends/__pycache__/_OS_X_API.cpython-38.pyc,, +keyring/backends/__pycache__/__init__.cpython-38.pyc,, +keyring/backends/__pycache__/chainer.cpython-38.pyc,, +keyring/backends/__pycache__/fail.cpython-38.pyc,, +keyring/backends/__pycache__/kwallet.cpython-38.pyc,, +keyring/backends/__pycache__/null.cpython-38.pyc,, +keyring/backends/chainer.py,sha256=KML6bf_zhq2OQKc8oXuI1W0ipFGeR97JqSjkZpp9l1Q,2198 +keyring/backends/fail.py,sha256=fOi8lNgU3rwdM2GFmgwWccaNpVi92DWHIxFxLSTZt2Q,820 +keyring/backends/kwallet.py,sha256=byWCjst4XyGwIALf9Z4duxqg20n5GahBjRM4mQzaxUw,5852 +keyring/backends/null.py,sha256=u6_Waal9d_4CiV5DFWjQPRSV1GwXlPav6m3YuNHGAao,344 +keyring/cli.py,sha256=j_wRCCsq027pVHqbwxcht1LV2pe9SDypL6l5ZV6lpLI,4087 +keyring/core.py,sha256=2ZxTthq03g7-mwi-qujZB0qj92Gp6xJwKLDSp6MTvCE,5184 +keyring/credentials.py,sha256=zZp1Wk8j34-gYU29DCDG4DJTe9lG1NEJhKUjmltE6aY,1307 +keyring/devpi_client.py,sha256=sGatYQZagyus0JT42xtMA0xCrBK0lwjhWTSALcS2atA,199 +keyring/errors.py,sha256=kgLo-Azyen3LzS3vms7wr9UBqYlzA4JuISYjGib7Jaw,1453 +keyring/http.py,sha256=_4FYxt37c8Fk8CqfV23Vxre69K6f9T92uIaN0k7p6GA,1253 +keyring/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +keyring/testing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +keyring/testing/__pycache__/__init__.cpython-38.pyc,, +keyring/testing/__pycache__/backend.cpython-38.pyc,, +keyring/testing/__pycache__/util.cpython-38.pyc,, +keyring/testing/backend.py,sha256=u8IeRG93PrrCRjxNsdvpN-nD-bBgnSVvLFGpvaef-qs,6144 +keyring/testing/util.py,sha256=eMyou4miwzR4DTu7TW4yIMxBBfpD-K6P5JrwGqH1kJ8,1940 +keyring/util/__init__.py,sha256=AXfeRvladaaCl5Hc6FQxDN4bPtv8RxYWhvLXmeTvZ4g,868 +keyring/util/__pycache__/__init__.cpython-38.pyc,, +keyring/util/__pycache__/platform_.cpython-38.pyc,, +keyring/util/__pycache__/properties.cpython-38.pyc,, +keyring/util/platform_.py,sha256=6wA9-_e9YorW3n6voWA15_HwnUWpfviTL5K-vsIg0lQ,2215 +keyring/util/properties.py,sha256=tj7nx3y3n75oMF3y_PPMb9kQC_GeCjpn1lk1iz2tcug,1347 diff --git a/venv/lib/python3.8/site-packages/keyring-21.8.0.dist-info/WHEEL b/venv/lib/python3.8/site-packages/keyring-21.8.0.dist-info/WHEEL new file mode 120000 index 0000000..5c55a1c --- /dev/null +++ b/venv/lib/python3.8/site-packages/keyring-21.8.0.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3a/a4/64/174798e461ecb0ca2b16395b4c8ab4ef6be91e917ad1f21003a952f710 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/keyring-21.8.0.dist-info/entry_points.txt b/venv/lib/python3.8/site-packages/keyring-21.8.0.dist-info/entry_points.txt new file mode 120000 index 0000000..1957308 --- /dev/null +++ b/venv/lib/python3.8/site-packages/keyring-21.8.0.dist-info/entry_points.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/23/c0/9a/165c1d881261c4a8bac3b92f54b872300e40c8e205157d8716052b0a15 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/keyring-21.8.0.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/keyring-21.8.0.dist-info/top_level.txt new file mode 120000 index 0000000..cd9196f --- /dev/null +++ b/venv/lib/python3.8/site-packages/keyring-21.8.0.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a2/18/75/7647b6f3f35d48d919ea79154b020a90b2533b021f1309d72af6b7a648 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/keyring/__init__.py b/venv/lib/python3.8/site-packages/keyring/__init__.py new file mode 120000 index 0000000..5c80aba --- /dev/null +++ b/venv/lib/python3.8/site-packages/keyring/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c3/85/58/268b34fa11a2095e0069ea58216ef534d1ff6bc362aca503776b0be303 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/keyring/__main__.py b/venv/lib/python3.8/site-packages/keyring/__main__.py new file mode 120000 index 0000000..9f1d922 --- /dev/null +++ b/venv/lib/python3.8/site-packages/keyring/__main__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bc/1f/ef/392938a4866b91ebc141e1d7cba198bfb35dd3fbe278a7b8e177f58bd8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/keyring/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/keyring/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..cf10fcf Binary files /dev/null and b/venv/lib/python3.8/site-packages/keyring/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/keyring/__pycache__/__main__.cpython-38.pyc b/venv/lib/python3.8/site-packages/keyring/__pycache__/__main__.cpython-38.pyc new file mode 100644 index 0000000..170c2c6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/keyring/__pycache__/__main__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/keyring/__pycache__/backend.cpython-38.pyc b/venv/lib/python3.8/site-packages/keyring/__pycache__/backend.cpython-38.pyc new file mode 100644 index 0000000..383e97e Binary files /dev/null and b/venv/lib/python3.8/site-packages/keyring/__pycache__/backend.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/keyring/__pycache__/cli.cpython-38.pyc b/venv/lib/python3.8/site-packages/keyring/__pycache__/cli.cpython-38.pyc new file mode 100644 index 0000000..5ece996 Binary files /dev/null and b/venv/lib/python3.8/site-packages/keyring/__pycache__/cli.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/keyring/__pycache__/core.cpython-38.pyc b/venv/lib/python3.8/site-packages/keyring/__pycache__/core.cpython-38.pyc new file mode 100644 index 0000000..49d1f7e Binary files /dev/null and b/venv/lib/python3.8/site-packages/keyring/__pycache__/core.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/keyring/__pycache__/credentials.cpython-38.pyc b/venv/lib/python3.8/site-packages/keyring/__pycache__/credentials.cpython-38.pyc new file mode 100644 index 0000000..a16855f Binary files /dev/null and b/venv/lib/python3.8/site-packages/keyring/__pycache__/credentials.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/keyring/__pycache__/devpi_client.cpython-38.pyc b/venv/lib/python3.8/site-packages/keyring/__pycache__/devpi_client.cpython-38.pyc new file mode 100644 index 0000000..4cdae3d Binary files /dev/null and b/venv/lib/python3.8/site-packages/keyring/__pycache__/devpi_client.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/keyring/__pycache__/errors.cpython-38.pyc b/venv/lib/python3.8/site-packages/keyring/__pycache__/errors.cpython-38.pyc new file mode 100644 index 0000000..50e3744 Binary files /dev/null and b/venv/lib/python3.8/site-packages/keyring/__pycache__/errors.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/keyring/__pycache__/http.cpython-38.pyc b/venv/lib/python3.8/site-packages/keyring/__pycache__/http.cpython-38.pyc new file mode 100644 index 0000000..c29cb03 Binary files /dev/null and b/venv/lib/python3.8/site-packages/keyring/__pycache__/http.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/keyring/backend.py b/venv/lib/python3.8/site-packages/keyring/backend.py new file mode 120000 index 0000000..72db10d --- /dev/null +++ b/venv/lib/python3.8/site-packages/keyring/backend.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/70/40/30/5a107f4fbddb5911f6113e547fc611366e2a80a43d56ce0b587ed6e5d3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/keyring/backends/OS_X.py b/venv/lib/python3.8/site-packages/keyring/backends/OS_X.py new file mode 120000 index 0000000..062add1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/keyring/backends/OS_X.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b2/36/0b/615f94fdbdb1e5846988c27e71d5dedb2b4c5a3de68abca32fe66b657a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/keyring/backends/SecretService.py b/venv/lib/python3.8/site-packages/keyring/backends/SecretService.py new file mode 120000 index 0000000..f70e8a5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/keyring/backends/SecretService.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b7/df/1e/7980259571f5a43b5ac0c36215dfc4b1485986d14af13b40a821ae930f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/keyring/backends/Windows.py b/venv/lib/python3.8/site-packages/keyring/backends/Windows.py new file mode 120000 index 0000000..c8544d0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/keyring/backends/Windows.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c7/2c/0e/f2ac6f7b672d5511b849bc567814a1bf0f7811b98a63f9b919a51600ff \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/keyring/backends/_OS_X_API.py b/venv/lib/python3.8/site-packages/keyring/backends/_OS_X_API.py new file mode 120000 index 0000000..e1260cc --- /dev/null +++ b/venv/lib/python3.8/site-packages/keyring/backends/_OS_X_API.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/32/fa/63/6198e479c7cf898bd8cf8b935e0e8518faa4128ac195b1d5a0bdada3da \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/keyring/backends/__init__.py b/venv/lib/python3.8/site-packages/keyring/backends/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/keyring/backends/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/keyring/backends/__pycache__/OS_X.cpython-38.pyc b/venv/lib/python3.8/site-packages/keyring/backends/__pycache__/OS_X.cpython-38.pyc new file mode 100644 index 0000000..4ce26db Binary files /dev/null and b/venv/lib/python3.8/site-packages/keyring/backends/__pycache__/OS_X.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/keyring/backends/__pycache__/SecretService.cpython-38.pyc b/venv/lib/python3.8/site-packages/keyring/backends/__pycache__/SecretService.cpython-38.pyc new file mode 100644 index 0000000..54b395b Binary files /dev/null and b/venv/lib/python3.8/site-packages/keyring/backends/__pycache__/SecretService.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/keyring/backends/__pycache__/Windows.cpython-38.pyc b/venv/lib/python3.8/site-packages/keyring/backends/__pycache__/Windows.cpython-38.pyc new file mode 100644 index 0000000..7308d08 Binary files /dev/null and b/venv/lib/python3.8/site-packages/keyring/backends/__pycache__/Windows.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/keyring/backends/__pycache__/_OS_X_API.cpython-38.pyc b/venv/lib/python3.8/site-packages/keyring/backends/__pycache__/_OS_X_API.cpython-38.pyc new file mode 100644 index 0000000..dc13281 Binary files /dev/null and b/venv/lib/python3.8/site-packages/keyring/backends/__pycache__/_OS_X_API.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/keyring/backends/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/keyring/backends/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..9cdd088 Binary files /dev/null and b/venv/lib/python3.8/site-packages/keyring/backends/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/keyring/backends/__pycache__/chainer.cpython-38.pyc b/venv/lib/python3.8/site-packages/keyring/backends/__pycache__/chainer.cpython-38.pyc new file mode 100644 index 0000000..757cd0a Binary files /dev/null and b/venv/lib/python3.8/site-packages/keyring/backends/__pycache__/chainer.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/keyring/backends/__pycache__/fail.cpython-38.pyc b/venv/lib/python3.8/site-packages/keyring/backends/__pycache__/fail.cpython-38.pyc new file mode 100644 index 0000000..3f3eb54 Binary files /dev/null and b/venv/lib/python3.8/site-packages/keyring/backends/__pycache__/fail.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/keyring/backends/__pycache__/kwallet.cpython-38.pyc b/venv/lib/python3.8/site-packages/keyring/backends/__pycache__/kwallet.cpython-38.pyc new file mode 100644 index 0000000..de68765 Binary files /dev/null and b/venv/lib/python3.8/site-packages/keyring/backends/__pycache__/kwallet.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/keyring/backends/__pycache__/null.cpython-38.pyc b/venv/lib/python3.8/site-packages/keyring/backends/__pycache__/null.cpython-38.pyc new file mode 100644 index 0000000..e828ba3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/keyring/backends/__pycache__/null.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/keyring/backends/chainer.py b/venv/lib/python3.8/site-packages/keyring/backends/chainer.py new file mode 120000 index 0000000..6c4bc66 --- /dev/null +++ b/venv/lib/python3.8/site-packages/keyring/backends/chainer.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/28/c2/fa/6dfff386ad8e40a73ca17b88d56d22a4519e47dec9a928e4669a7d9754 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/keyring/backends/fail.py b/venv/lib/python3.8/site-packages/keyring/backends/fail.py new file mode 120000 index 0000000..fc80e47 --- /dev/null +++ b/venv/lib/python3.8/site-packages/keyring/backends/fail.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7c/e8/bc/94d814debc1d3361859a0c1671c68da558bdd835872311712d24d9b764 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/keyring/backends/kwallet.py b/venv/lib/python3.8/site-packages/keyring/backends/kwallet.py new file mode 120000 index 0000000..d59a53f --- /dev/null +++ b/venv/lib/python3.8/site-packages/keyring/backends/kwallet.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6f/25/82/8ecb785f21b02002dff59e1dbb1aa0db49f919a8418d1338990cdac54c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/keyring/backends/null.py b/venv/lib/python3.8/site-packages/keyring/backends/null.py new file mode 120000 index 0000000..cf56aaf --- /dev/null +++ b/venv/lib/python3.8/site-packages/keyring/backends/null.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bb/af/d6/69a97d77fe02895e431568d03d1495d46c1794f6afea6dd8b8d1c601aa \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/keyring/cli.py b/venv/lib/python3.8/site-packages/keyring/cli.py new file mode 120000 index 0000000..f46ebf8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/keyring/cli.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8f/fc/11/082b2ad36ee9547a9bc31721b752d5da97bd483ca92fa979655ea5a4b2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/keyring/core.py b/venv/lib/python3.8/site-packages/keyring/core.py new file mode 120000 index 0000000..33295fe --- /dev/null +++ b/venv/lib/python3.8/site-packages/keyring/core.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d9/9c/53/b61ab4de0efe9b08beaae8d9074aa3f761a9eb127028b0d2a7a313bc21 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/keyring/credentials.py b/venv/lib/python3.8/site-packages/keyring/credentials.py new file mode 120000 index 0000000..aea2ee0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/keyring/credentials.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cd/9a/75/5a4f23df8fa0614dbd0c20c6e032537bd946d4d10984a5239a5b44e9a6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/keyring/devpi_client.py b/venv/lib/python3.8/site-packages/keyring/devpi_client.py new file mode 120000 index 0000000..9899af8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/keyring/devpi_client.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b0/66/ad/61065a832bacd094f8db1b4c034c42ac12b49708e15934802dc4b66ad0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/keyring/errors.py b/venv/lib/python3.8/site-packages/keyring/errors.py new file mode 120000 index 0000000..68513e7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/keyring/errors.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/92/02/e8/f80cf27a7dcbcd2def9acef0afd501a9897303826e2126231a26fb25ac \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/keyring/http.py b/venv/lib/python3.8/site-packages/keyring/http.py new file mode 120000 index 0000000..a4a04ca --- /dev/null +++ b/venv/lib/python3.8/site-packages/keyring/http.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ff/81/58/c6ddfb73c164f02a9f576dd5c6b7baf4ae9ff53f76b8868dd24ee9e860 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/keyring/py.typed b/venv/lib/python3.8/site-packages/keyring/py.typed new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/keyring/py.typed @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/keyring/testing/__init__.py b/venv/lib/python3.8/site-packages/keyring/testing/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/keyring/testing/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/keyring/testing/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/keyring/testing/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..4f68260 Binary files /dev/null and b/venv/lib/python3.8/site-packages/keyring/testing/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/keyring/testing/__pycache__/backend.cpython-38.pyc b/venv/lib/python3.8/site-packages/keyring/testing/__pycache__/backend.cpython-38.pyc new file mode 100644 index 0000000..e8b656c Binary files /dev/null and b/venv/lib/python3.8/site-packages/keyring/testing/__pycache__/backend.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/keyring/testing/__pycache__/util.cpython-38.pyc b/venv/lib/python3.8/site-packages/keyring/testing/__pycache__/util.cpython-38.pyc new file mode 100644 index 0000000..55a7dfa Binary files /dev/null and b/venv/lib/python3.8/site-packages/keyring/testing/__pycache__/util.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/keyring/testing/backend.py b/venv/lib/python3.8/site-packages/keyring/testing/backend.py new file mode 120000 index 0000000..1ab14fe --- /dev/null +++ b/venv/lib/python3.8/site-packages/keyring/testing/backend.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bb/c2/1e/446f773ebac2463c4db1dbe937e9c3f9b0609d256f2c51a9bda79ffaab \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/keyring/testing/util.py b/venv/lib/python3.8/site-packages/keyring/testing/util.py new file mode 120000 index 0000000..36f24df --- /dev/null +++ b/venv/lib/python3.8/site-packages/keyring/testing/util.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/78/cc/a8/bb89a2c334780d3bbb4d6e3220cc4105fa43f8ae8fe49af01aa1f5909f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/keyring/util/__init__.py b/venv/lib/python3.8/site-packages/keyring/util/__init__.py new file mode 120000 index 0000000..8a86a7f --- /dev/null +++ b/venv/lib/python3.8/site-packages/keyring/util/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/01/77/de/46f95a75a6829791dce854310cde1b3edbfc47161686f2d799e4ef6788 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/keyring/util/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/keyring/util/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..628f156 Binary files /dev/null and b/venv/lib/python3.8/site-packages/keyring/util/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/keyring/util/__pycache__/platform_.cpython-38.pyc b/venv/lib/python3.8/site-packages/keyring/util/__pycache__/platform_.cpython-38.pyc new file mode 100644 index 0000000..dd4b09a Binary files /dev/null and b/venv/lib/python3.8/site-packages/keyring/util/__pycache__/platform_.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/keyring/util/__pycache__/properties.cpython-38.pyc b/venv/lib/python3.8/site-packages/keyring/util/__pycache__/properties.cpython-38.pyc new file mode 100644 index 0000000..4c4dce6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/keyring/util/__pycache__/properties.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/keyring/util/platform_.py b/venv/lib/python3.8/site-packages/keyring/util/platform_.py new file mode 120000 index 0000000..29f9d7d --- /dev/null +++ b/venv/lib/python3.8/site-packages/keyring/util/platform_.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/eb/00/3d/fbf7bd628ad6de7eafa16035e7f1f09d45a97ef8932f92bebec220d254 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/keyring/util/properties.py b/venv/lib/python3.8/site-packages/keyring/util/properties.py new file mode 120000 index 0000000..97850b6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/keyring/util/properties.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b6/3e/e7/c77cb79fbe68305df2fcf3cc6fd9100bf19e0a3a67d659358b3dad72e8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/lockfile-0.12.2.dist-info/DESCRIPTION.rst b/venv/lib/python3.8/site-packages/lockfile-0.12.2.dist-info/DESCRIPTION.rst new file mode 120000 index 0000000..36481cb --- /dev/null +++ b/venv/lib/python3.8/site-packages/lockfile-0.12.2.dist-info/DESCRIPTION.rst @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/53/b2/db/273eebd7be2571585d210815cd228b1f61fb4aaa19dd1486d4f3701b5d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/lockfile-0.12.2.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/lockfile-0.12.2.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/lockfile-0.12.2.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/lockfile-0.12.2.dist-info/METADATA b/venv/lib/python3.8/site-packages/lockfile-0.12.2.dist-info/METADATA new file mode 120000 index 0000000..feae479 --- /dev/null +++ b/venv/lib/python3.8/site-packages/lockfile-0.12.2.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/02/d7/c2/259b489e7dfcf4213859eb6560b2466fe437b0b412ee0e0f7bbfaeeb5a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/lockfile-0.12.2.dist-info/RECORD b/venv/lib/python3.8/site-packages/lockfile-0.12.2.dist-info/RECORD new file mode 100644 index 0000000..19424b9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/lockfile-0.12.2.dist-info/RECORD @@ -0,0 +1,20 @@ +lockfile-0.12.2.dist-info/DESCRIPTION.rst,sha256=U7LbJz7r174lcVhdIQgVzSKLH2H7SqoZ3RSG1PNwG10,1555 +lockfile-0.12.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +lockfile-0.12.2.dist-info/METADATA,sha256=AtfCJZtInn389CE4WetlYLJGb-Q3sLQS7g4Pe7-u61o,2405 +lockfile-0.12.2.dist-info/RECORD,, +lockfile-0.12.2.dist-info/WHEEL,sha256=AvR0WeTpDaxT645bl5FQxUK6NPsTls2ttpcGJg3j1Xg,110 +lockfile-0.12.2.dist-info/metadata.json,sha256=f6MX1QJF8LY0BeM2VU0k3fObrSjElzEE8alWVo7xXo8,1007 +lockfile-0.12.2.dist-info/pbr.json,sha256=mB7dHo69GSynPHpsTTXhfjcoXjSVQQgq3v2X5wxCCxQ,46 +lockfile-0.12.2.dist-info/top_level.txt,sha256=PQq-Po-WMcEqQullMaagcnpHUvsVUI6_MNygWWB_SY0,9 +lockfile/__init__.py,sha256=Tqpz90DwKYfhPsfzVOJl84TL87pdFE5ePNHdXAxs4Tk,9371 +lockfile/__pycache__/__init__.cpython-38.pyc,, +lockfile/__pycache__/linklockfile.cpython-38.pyc,, +lockfile/__pycache__/mkdirlockfile.cpython-38.pyc,, +lockfile/__pycache__/pidlockfile.cpython-38.pyc,, +lockfile/__pycache__/sqlitelockfile.cpython-38.pyc,, +lockfile/__pycache__/symlinklockfile.cpython-38.pyc,, +lockfile/linklockfile.py,sha256=C7OH3H4GdK68u4FQgp8fkP2kO4fyUTSyj3X6blgfobc,2652 +lockfile/mkdirlockfile.py,sha256=e3qgIL-etZMLsS-3ft19iW_8IQ360HNkGOqE3yBKsUw,3096 +lockfile/pidlockfile.py,sha256=ukH9uk6NFuxyVmG5QiWw4iKq3fT7MjqUguX95avYPIY,6090 +lockfile/sqlitelockfile.py,sha256=o2TMkMRY0iwn-iL1XMRRIFStMUkS4i3ajceeYNntKFg,5506 +lockfile/symlinklockfile.py,sha256=ABwXXmvTHvCl5viPblShL3PG-gGsLiT1roAMfDRwhi8,2616 diff --git a/venv/lib/python3.8/site-packages/lockfile-0.12.2.dist-info/WHEEL b/venv/lib/python3.8/site-packages/lockfile-0.12.2.dist-info/WHEEL new file mode 120000 index 0000000..e8e50d6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/lockfile-0.12.2.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/02/f4/74/59e4e90dac53eb8e5b979150c542ba34fb1396cdadb69706260de3d578 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/lockfile-0.12.2.dist-info/metadata.json b/venv/lib/python3.8/site-packages/lockfile-0.12.2.dist-info/metadata.json new file mode 120000 index 0000000..515bedf --- /dev/null +++ b/venv/lib/python3.8/site-packages/lockfile-0.12.2.dist-info/metadata.json @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7f/a3/17/d50245f0b63405e336554d24ddf39bad28c4973104f1a956568ef15e8f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/lockfile-0.12.2.dist-info/pbr.json b/venv/lib/python3.8/site-packages/lockfile-0.12.2.dist-info/pbr.json new file mode 120000 index 0000000..009a98f --- /dev/null +++ b/venv/lib/python3.8/site-packages/lockfile-0.12.2.dist-info/pbr.json @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/98/1e/dd/1e8ebd192ca73c7a6c4d35e17e37285e349541082adefd97e70c420b14 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/lockfile-0.12.2.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/lockfile-0.12.2.dist-info/top_level.txt new file mode 120000 index 0000000..2147c54 --- /dev/null +++ b/venv/lib/python3.8/site-packages/lockfile-0.12.2.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3d/0a/be/3e8f9631c12a42e96531a6a0727a4752fb15508ebf30dca059607f498d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/lockfile/__init__.py b/venv/lib/python3.8/site-packages/lockfile/__init__.py new file mode 120000 index 0000000..ef7d5ee --- /dev/null +++ b/venv/lib/python3.8/site-packages/lockfile/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4e/aa/73/f740f02987e13ec7f354e265f384cbf3ba5d144e5e3cd1dd5c0c6ce139 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/lockfile/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/lockfile/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..e5eb7e2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/lockfile/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/lockfile/__pycache__/linklockfile.cpython-38.pyc b/venv/lib/python3.8/site-packages/lockfile/__pycache__/linklockfile.cpython-38.pyc new file mode 100644 index 0000000..5e141f4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/lockfile/__pycache__/linklockfile.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/lockfile/__pycache__/mkdirlockfile.cpython-38.pyc b/venv/lib/python3.8/site-packages/lockfile/__pycache__/mkdirlockfile.cpython-38.pyc new file mode 100644 index 0000000..a7b09e3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/lockfile/__pycache__/mkdirlockfile.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/lockfile/__pycache__/pidlockfile.cpython-38.pyc b/venv/lib/python3.8/site-packages/lockfile/__pycache__/pidlockfile.cpython-38.pyc new file mode 100644 index 0000000..05f1ceb Binary files /dev/null and b/venv/lib/python3.8/site-packages/lockfile/__pycache__/pidlockfile.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/lockfile/__pycache__/sqlitelockfile.cpython-38.pyc b/venv/lib/python3.8/site-packages/lockfile/__pycache__/sqlitelockfile.cpython-38.pyc new file mode 100644 index 0000000..e0e017b Binary files /dev/null and b/venv/lib/python3.8/site-packages/lockfile/__pycache__/sqlitelockfile.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/lockfile/__pycache__/symlinklockfile.cpython-38.pyc b/venv/lib/python3.8/site-packages/lockfile/__pycache__/symlinklockfile.cpython-38.pyc new file mode 100644 index 0000000..c1723da Binary files /dev/null and b/venv/lib/python3.8/site-packages/lockfile/__pycache__/symlinklockfile.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/lockfile/linklockfile.py b/venv/lib/python3.8/site-packages/lockfile/linklockfile.py new file mode 120000 index 0000000..c149444 --- /dev/null +++ b/venv/lib/python3.8/site-packages/lockfile/linklockfile.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0b/b3/87/dc7e0674aebcbb8150829f1f90fda43b87f25134b28f75fa6e581fa1b7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/lockfile/mkdirlockfile.py b/venv/lib/python3.8/site-packages/lockfile/mkdirlockfile.py new file mode 120000 index 0000000..3e070e4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/lockfile/mkdirlockfile.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7b/7a/a0/20bf9eb5930bb12fb77edd7d896ffc210dfad0736418ea84df204ab14c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/lockfile/pidlockfile.py b/venv/lib/python3.8/site-packages/lockfile/pidlockfile.py new file mode 120000 index 0000000..d8ac87e --- /dev/null +++ b/venv/lib/python3.8/site-packages/lockfile/pidlockfile.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ba/41/fd/ba4e8d16ec725661b94225b0e222aaddf4fb323a9482e5fde5abd83c86 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/lockfile/sqlitelockfile.py b/venv/lib/python3.8/site-packages/lockfile/sqlitelockfile.py new file mode 120000 index 0000000..1008611 --- /dev/null +++ b/venv/lib/python3.8/site-packages/lockfile/sqlitelockfile.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a3/64/cc/90c458d22c27fa22f55cc4512054ad314912e22dda8dc79e60d9ed2858 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/lockfile/symlinklockfile.py b/venv/lib/python3.8/site-packages/lockfile/symlinklockfile.py new file mode 120000 index 0000000..78c1513 --- /dev/null +++ b/venv/lib/python3.8/site-packages/lockfile/symlinklockfile.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/00/1c/17/5e6bd31ef0a5e6f88f6e54a12f73c6fa01ac2e24f5ae800c7c3470862f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/markupsafe/__init__.py b/venv/lib/python3.8/site-packages/markupsafe/__init__.py new file mode 120000 index 0000000..63e00c8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/markupsafe/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c5/f6/94/42428d45375859ee879e72761e382e1664be0bfd07ea0f3e43d5407e44 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/markupsafe/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/markupsafe/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..cb0c59f Binary files /dev/null and b/venv/lib/python3.8/site-packages/markupsafe/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/markupsafe/__pycache__/_native.cpython-38.pyc b/venv/lib/python3.8/site-packages/markupsafe/__pycache__/_native.cpython-38.pyc new file mode 100644 index 0000000..a3655f2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/markupsafe/__pycache__/_native.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/markupsafe/_native.py b/venv/lib/python3.8/site-packages/markupsafe/_native.py new file mode 120000 index 0000000..b2c3a36 --- /dev/null +++ b/venv/lib/python3.8/site-packages/markupsafe/_native.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/19/1f/3a/42fa3f19c80a98aade0355a660df6e775ece170930c3c13e7e25bee7bb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/markupsafe/_speedups.c b/venv/lib/python3.8/site-packages/markupsafe/_speedups.c new file mode 120000 index 0000000..fc7161a --- /dev/null +++ b/venv/lib/python3.8/site-packages/markupsafe/_speedups.c @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5f/65/ef/415b4875c2b852ccfbd01be4ce839f8d30a64250e49236129feb301348 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/markupsafe/_speedups.cpython-38-x86_64-linux-gnu.so b/venv/lib/python3.8/site-packages/markupsafe/_speedups.cpython-38-x86_64-linux-gnu.so new file mode 120000 index 0000000..b5af0f2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/markupsafe/_speedups.cpython-38-x86_64-linux-gnu.so @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/80/19/a2/d9ff6f34556f26cda076d8d82b02b4b4882bc44a9550c6f22fed6ba11a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/markupsafe/_speedups.pyi b/venv/lib/python3.8/site-packages/markupsafe/_speedups.pyi new file mode 120000 index 0000000..ca3f7c1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/markupsafe/_speedups.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bd/f3/02/b0e81b01744d2d45e4caeca89c6f2e1162985383c3a8db8c68310b018c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/markupsafe/py.typed b/venv/lib/python3.8/site-packages/markupsafe/py.typed new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/markupsafe/py.typed @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/msgpack-1.0.4.dist-info/COPYING b/venv/lib/python3.8/site-packages/msgpack-1.0.4.dist-info/COPYING new file mode 120000 index 0000000..02d43fe --- /dev/null +++ b/venv/lib/python3.8/site-packages/msgpack-1.0.4.dist-info/COPYING @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/49/2d/ed/ba85da5872f78e6091bcd1fea474d660d35acb4dee964b8aab3f007427 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/msgpack-1.0.4.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/msgpack-1.0.4.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/msgpack-1.0.4.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/msgpack-1.0.4.dist-info/METADATA b/venv/lib/python3.8/site-packages/msgpack-1.0.4.dist-info/METADATA new file mode 120000 index 0000000..4ebc9b4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/msgpack-1.0.4.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/43/ac/2f/4a0e7559d68bc462aa9046d8df19b4758ced700ab8442c5bb4a7a0c82a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/msgpack-1.0.4.dist-info/RECORD b/venv/lib/python3.8/site-packages/msgpack-1.0.4.dist-info/RECORD new file mode 100644 index 0000000..6f45883 --- /dev/null +++ b/venv/lib/python3.8/site-packages/msgpack-1.0.4.dist-info/RECORD @@ -0,0 +1,15 @@ +msgpack-1.0.4.dist-info/COPYING,sha256=SS3tuoXaWHL3jmCRvNH-pHTWYNNay03ulkuKqz8AdCc,614 +msgpack-1.0.4.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +msgpack-1.0.4.dist-info/METADATA,sha256=Q6wvSg51WdaLxGKqkEbY3xm0dYztcAq4RCxbtKegyCo,8700 +msgpack-1.0.4.dist-info/RECORD,, +msgpack-1.0.4.dist-info/WHEEL,sha256=-ijGDuALlPxm3HbhKntps0QzHsi-DPlXqgerYTTJkFE,148 +msgpack-1.0.4.dist-info/top_level.txt,sha256=2tykSY1pXdiA2xYTDR6jPw0qI5ZGxRihyhf4S5hZyXk,8 +msgpack/__init__.py,sha256=NryGaKLDk_Egd58ZxXpnuI7OWO27AXz7S6CBFRM3sAY,1132 +msgpack/__pycache__/__init__.cpython-38.pyc,, +msgpack/__pycache__/exceptions.cpython-38.pyc,, +msgpack/__pycache__/ext.cpython-38.pyc,, +msgpack/__pycache__/fallback.cpython-38.pyc,, +msgpack/_cmsgpack.cpython-38-x86_64-linux-gnu.so,sha256=AZnc55Eb8spnepf9W2m1FXtKsM-BkPjecTVK4WXcUjA,1014568 +msgpack/exceptions.py,sha256=dCTWei8dpkrMsQDcjQk74ATl9HsIBH0ybt8zOPNqMYc,1081 +msgpack/ext.py,sha256=TuldJPkYu8Wo_Xh0tFGL2l06-gY88NSR8tOje9fo2Wg,6080 +msgpack/fallback.py,sha256=OORDn86-fHBPlu-rPlMdM10KzkH6S_Rx9CHN1b7o4cg,34557 diff --git a/venv/lib/python3.8/site-packages/msgpack-1.0.4.dist-info/WHEEL b/venv/lib/python3.8/site-packages/msgpack-1.0.4.dist-info/WHEEL new file mode 120000 index 0000000..8b6429d --- /dev/null +++ b/venv/lib/python3.8/site-packages/msgpack-1.0.4.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fa/28/c6/0ee00b94fc66dc76e12a7b69b344331ec8be0cf957aa07ab6134c99051 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/msgpack-1.0.4.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/msgpack-1.0.4.dist-info/top_level.txt new file mode 120000 index 0000000..dc29c62 --- /dev/null +++ b/venv/lib/python3.8/site-packages/msgpack-1.0.4.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/da/dc/a4/498d695dd880db16130d1ea33f0d2a239646c518a1ca17f84b9859c979 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/msgpack/__init__.py b/venv/lib/python3.8/site-packages/msgpack/__init__.py new file mode 120000 index 0000000..886e4aa --- /dev/null +++ b/venv/lib/python3.8/site-packages/msgpack/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/36/bc/86/68a2c393f120779f19c57a67b88ece58edbb017cfb4ba081151337b006 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/msgpack/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/msgpack/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..8c7fd97 Binary files /dev/null and b/venv/lib/python3.8/site-packages/msgpack/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/msgpack/__pycache__/exceptions.cpython-38.pyc b/venv/lib/python3.8/site-packages/msgpack/__pycache__/exceptions.cpython-38.pyc new file mode 100644 index 0000000..9923fbc Binary files /dev/null and b/venv/lib/python3.8/site-packages/msgpack/__pycache__/exceptions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/msgpack/__pycache__/ext.cpython-38.pyc b/venv/lib/python3.8/site-packages/msgpack/__pycache__/ext.cpython-38.pyc new file mode 100644 index 0000000..d495f79 Binary files /dev/null and b/venv/lib/python3.8/site-packages/msgpack/__pycache__/ext.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/msgpack/__pycache__/fallback.cpython-38.pyc b/venv/lib/python3.8/site-packages/msgpack/__pycache__/fallback.cpython-38.pyc new file mode 100644 index 0000000..2180ad0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/msgpack/__pycache__/fallback.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/msgpack/_cmsgpack.cpython-38-x86_64-linux-gnu.so b/venv/lib/python3.8/site-packages/msgpack/_cmsgpack.cpython-38-x86_64-linux-gnu.so new file mode 120000 index 0000000..265d879 --- /dev/null +++ b/venv/lib/python3.8/site-packages/msgpack/_cmsgpack.cpython-38-x86_64-linux-gnu.so @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/01/99/dc/e7911bf2ca677a97fd5b69b5157b4ab0cf8190f8de71354ae165dc5230 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/msgpack/exceptions.py b/venv/lib/python3.8/site-packages/msgpack/exceptions.py new file mode 120000 index 0000000..e13a070 --- /dev/null +++ b/venv/lib/python3.8/site-packages/msgpack/exceptions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/74/24/d6/7a2f1da64accb100dc8d093be004e5f47b08047d326edf3338f36a3187 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/msgpack/ext.py b/venv/lib/python3.8/site-packages/msgpack/ext.py new file mode 120000 index 0000000..e8d5d96 --- /dev/null +++ b/venv/lib/python3.8/site-packages/msgpack/ext.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4e/e9/5d/24f918bbc5a8fd7874b4518bda5d3afa063cf0d491f2d3a37bd7e8d968 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/msgpack/fallback.py b/venv/lib/python3.8/site-packages/msgpack/fallback.py new file mode 120000 index 0000000..26aacc4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/msgpack/fallback.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/38/e4/43/9fcebe7c704f96efab3e531d335d0ace41fa4bf471f421cdd5bee8e1c8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/multidict-6.0.2.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/multidict-6.0.2.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/multidict-6.0.2.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/multidict-6.0.2.dist-info/LICENSE b/venv/lib/python3.8/site-packages/multidict-6.0.2.dist-info/LICENSE new file mode 120000 index 0000000..b9bc4d7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/multidict-6.0.2.dist-info/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/06/a2/40/ea10ba868fda2de58df859886961df873aa74bbab1e0f13eaf99f92b7b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/multidict-6.0.2.dist-info/METADATA b/venv/lib/python3.8/site-packages/multidict-6.0.2.dist-info/METADATA new file mode 120000 index 0000000..4f13155 --- /dev/null +++ b/venv/lib/python3.8/site-packages/multidict-6.0.2.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/88/d3/2f/13c764f2bb69bc73b40db76c54f6adbde665928225048dd866fc3e4346 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/multidict-6.0.2.dist-info/RECORD b/venv/lib/python3.8/site-packages/multidict-6.0.2.dist-info/RECORD new file mode 100644 index 0000000..923b467 --- /dev/null +++ b/venv/lib/python3.8/site-packages/multidict-6.0.2.dist-info/RECORD @@ -0,0 +1,21 @@ +multidict-6.0.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +multidict-6.0.2.dist-info/LICENSE,sha256=BqJA6hC6ho_aLeWN-FmIaWHfhzqnS7qx4PE-r5n5K3s,608 +multidict-6.0.2.dist-info/METADATA,sha256=iNMvE8dk8rtpvHO0DbdsVPatveZlkoIlBI3YZvw-Q0Y,4106 +multidict-6.0.2.dist-info/RECORD,, +multidict-6.0.2.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +multidict-6.0.2.dist-info/WHEEL,sha256=-ijGDuALlPxm3HbhKntps0QzHsi-DPlXqgerYTTJkFE,148 +multidict-6.0.2.dist-info/direct_url.json,sha256=-qT1b4K450-TShFCLjSq6ZejrEhLI5qtKH6yv1fohgI,291 +multidict-6.0.2.dist-info/top_level.txt,sha256=-euDElkk5_qkmfIJ7WiqCab02ZlSFZWynejKg59qZQQ,10 +multidict/__init__.py,sha256=IoPxk53SsLhHykEQC4N5gxZWPZf72KueDKUOqBc7cH0,928 +multidict/__init__.pyi,sha256=jLQkZwqRJYl_MOMGSavmzwzwefTEH_Tjk3oTKV7c6HY,5035 +multidict/__pycache__/__init__.cpython-38.pyc,, +multidict/__pycache__/_abc.cpython-38.pyc,, +multidict/__pycache__/_compat.cpython-38.pyc,, +multidict/__pycache__/_multidict_base.cpython-38.pyc,, +multidict/__pycache__/_multidict_py.cpython-38.pyc,, +multidict/_abc.py,sha256=Zvnrn4SBkrv4QTD7-ZzqNcoxw0f8KStLMPzGvBuGT2w,1190 +multidict/_compat.py,sha256=tjUGdP9ooiH6c2KJrvUbPRwcvjWerKlKU6InIviwh7w,316 +multidict/_multidict.cpython-38-x86_64-linux-gnu.so,sha256=ZkT3hCEbGN2vvbWCgI9B8ydrTPoHP4dw1peUHtgqe6A,384936 +multidict/_multidict_base.py,sha256=XugkE78fXBmtzDdg2Yi9TrEhDexmL-6qJbFIG0viLMg,3791 +multidict/_multidict_py.py,sha256=kG9sxY0_E2e3B1qzDmFzgZvZtu8qmEhR5nhnvH4xatc,14864 +multidict/py.typed,sha256=e9bmbH3UFxsabQrnNFPG9qxIXztwbcM6IKDYnvZwprY,15 diff --git a/venv/lib/python3.8/site-packages/multidict-6.0.2.dist-info/REQUESTED b/venv/lib/python3.8/site-packages/multidict-6.0.2.dist-info/REQUESTED new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.8/site-packages/multidict-6.0.2.dist-info/WHEEL b/venv/lib/python3.8/site-packages/multidict-6.0.2.dist-info/WHEEL new file mode 120000 index 0000000..8b6429d --- /dev/null +++ b/venv/lib/python3.8/site-packages/multidict-6.0.2.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fa/28/c6/0ee00b94fc66dc76e12a7b69b344331ec8be0cf957aa07ab6134c99051 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/multidict-6.0.2.dist-info/direct_url.json b/venv/lib/python3.8/site-packages/multidict-6.0.2.dist-info/direct_url.json new file mode 100644 index 0000000..d116c89 --- /dev/null +++ b/venv/lib/python3.8/site-packages/multidict-6.0.2.dist-info/direct_url.json @@ -0,0 +1 @@ +{"archive_info": {"hash": "sha256=684133b1e1fe91eda8fa7447f137c9490a064c6b7f392aa857bba83a28cfb693"}, "url": "https://files.pythonhosted.org/packages/8f/39/a7e04961b4c00d68aba337e3fdef9fd4f666dcd98f41725067a1de5d3399/multidict-6.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"} \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/multidict-6.0.2.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/multidict-6.0.2.dist-info/top_level.txt new file mode 120000 index 0000000..1575033 --- /dev/null +++ b/venv/lib/python3.8/site-packages/multidict-6.0.2.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f9/eb/83/125924e7faa499f209ed68aa09a6f4d999521595b29de8ca839f6a6504 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/multidict/__init__.py b/venv/lib/python3.8/site-packages/multidict/__init__.py new file mode 120000 index 0000000..c950425 --- /dev/null +++ b/venv/lib/python3.8/site-packages/multidict/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/22/83/f1/939dd2b0b847ca41100b83798316563d97fbd8ab9e0ca50ea8173b707d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/multidict/__init__.pyi b/venv/lib/python3.8/site-packages/multidict/__init__.pyi new file mode 120000 index 0000000..b773a9c --- /dev/null +++ b/venv/lib/python3.8/site-packages/multidict/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8c/b4/24/670a9125897f30e30649abe6cf0cf079f4c41ff4e3937a13295edce876 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/multidict/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/multidict/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..f3a5d3a Binary files /dev/null and b/venv/lib/python3.8/site-packages/multidict/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/multidict/__pycache__/_abc.cpython-38.pyc b/venv/lib/python3.8/site-packages/multidict/__pycache__/_abc.cpython-38.pyc new file mode 100644 index 0000000..c8ad2d9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/multidict/__pycache__/_abc.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/multidict/__pycache__/_compat.cpython-38.pyc b/venv/lib/python3.8/site-packages/multidict/__pycache__/_compat.cpython-38.pyc new file mode 100644 index 0000000..5995c87 Binary files /dev/null and b/venv/lib/python3.8/site-packages/multidict/__pycache__/_compat.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/multidict/__pycache__/_multidict_base.cpython-38.pyc b/venv/lib/python3.8/site-packages/multidict/__pycache__/_multidict_base.cpython-38.pyc new file mode 100644 index 0000000..78ffc48 Binary files /dev/null and b/venv/lib/python3.8/site-packages/multidict/__pycache__/_multidict_base.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/multidict/__pycache__/_multidict_py.cpython-38.pyc b/venv/lib/python3.8/site-packages/multidict/__pycache__/_multidict_py.cpython-38.pyc new file mode 100644 index 0000000..a9f8b30 Binary files /dev/null and b/venv/lib/python3.8/site-packages/multidict/__pycache__/_multidict_py.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/multidict/_abc.py b/venv/lib/python3.8/site-packages/multidict/_abc.py new file mode 120000 index 0000000..1872e3c --- /dev/null +++ b/venv/lib/python3.8/site-packages/multidict/_abc.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/66/f9/eb/9f848192bbf84130fbf99cea35ca31c347fc292b4b30fcc6bc1b864f6c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/multidict/_compat.py b/venv/lib/python3.8/site-packages/multidict/_compat.py new file mode 120000 index 0000000..404e18a --- /dev/null +++ b/venv/lib/python3.8/site-packages/multidict/_compat.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b6/35/06/74ff68a221fa736289aef51b3d1c1cbe359eaca94a53a22722f8b087bc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/multidict/_multidict.cpython-38-x86_64-linux-gnu.so b/venv/lib/python3.8/site-packages/multidict/_multidict.cpython-38-x86_64-linux-gnu.so new file mode 120000 index 0000000..dcee514 --- /dev/null +++ b/venv/lib/python3.8/site-packages/multidict/_multidict.cpython-38-x86_64-linux-gnu.so @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/66/44/f7/84211b18ddafbdb582808f41f3276b4cfa073f8770d697941ed82a7ba0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/multidict/_multidict_base.py b/venv/lib/python3.8/site-packages/multidict/_multidict_base.py new file mode 120000 index 0000000..b2cc219 --- /dev/null +++ b/venv/lib/python3.8/site-packages/multidict/_multidict_base.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5e/e8/24/13bf1f5c19adcc3760d988bd4eb1210dec662feeaa25b1481b4be22cc8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/multidict/_multidict_py.py b/venv/lib/python3.8/site-packages/multidict/_multidict_py.py new file mode 120000 index 0000000..ca05c91 --- /dev/null +++ b/venv/lib/python3.8/site-packages/multidict/_multidict_py.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/90/6f/6c/c58d3f1367b7075ab30e6173819bd9b6ef2a984851e67867bc7e316ad7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/multidict/py.typed b/venv/lib/python3.8/site-packages/multidict/py.typed new file mode 120000 index 0000000..4f08d35 --- /dev/null +++ b/venv/lib/python3.8/site-packages/multidict/py.typed @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7b/d6/e6/6c7dd4171b1a6d0ae73453c6f6ac485f3b706dc33a20a0d89ef670a6b6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy-1.23.4.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/numpy-1.23.4.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy-1.23.4.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/numpy-1.23.4.dist-info/LICENSE.txt b/venv/lib/python3.8/site-packages/numpy-1.23.4.dist-info/LICENSE.txt new file mode 120000 index 0000000..4af86ce --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy-1.23.4.dist-info/LICENSE.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/01/37/61/51d4645efbadf8aa1badc575ebf0b35db1fae4545604d545f5c9b32fde \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy-1.23.4.dist-info/LICENSES_bundled.txt b/venv/lib/python3.8/site-packages/numpy-1.23.4.dist-info/LICENSES_bundled.txt new file mode 120000 index 0000000..97ff241 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy-1.23.4.dist-info/LICENSES_bundled.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/57/22/37/b9b267fe755d82a28e213f69176bd56afa162a5a641b37a06e300728d1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy-1.23.4.dist-info/METADATA b/venv/lib/python3.8/site-packages/numpy-1.23.4.dist-info/METADATA new file mode 100644 index 0000000..ac8fe41 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy-1.23.4.dist-info/METADATA @@ -0,0 +1,64 @@ +Metadata-Version: 2.1 +Name: numpy +Version: 1.23.4 +Summary: NumPy is the fundamental package for array computing with Python. +Home-page: https://www.numpy.org +Author: Travis E. Oliphant et al. +Maintainer: NumPy Developers +Maintainer-email: numpy-discussion@python.org +License: BSD +Download-URL: https://pypi.python.org/pypi/numpy +Project-URL: Bug Tracker, https://github.com/numpy/numpy/issues +Project-URL: Documentation, https://numpy.org/doc/1.23 +Project-URL: Source Code, https://github.com/numpy/numpy +Platform: Windows +Platform: Linux +Platform: Solaris +Platform: Mac OS-X +Platform: Unix +Classifier: Development Status :: 5 - Production/Stable +Classifier: Intended Audience :: Science/Research +Classifier: Intended Audience :: Developers +Classifier: License :: OSI Approved :: BSD License +Classifier: Programming Language :: C +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.8 +Classifier: Programming Language :: Python :: 3.9 +Classifier: Programming Language :: Python :: 3.10 +Classifier: Programming Language :: Python :: 3.11 +Classifier: Programming Language :: Python :: 3 :: Only +Classifier: Programming Language :: Python :: Implementation :: CPython +Classifier: Topic :: Software Development +Classifier: Topic :: Scientific/Engineering +Classifier: Typing :: Typed +Classifier: Operating System :: Microsoft :: Windows +Classifier: Operating System :: POSIX +Classifier: Operating System :: Unix +Classifier: Operating System :: MacOS +Requires-Python: >=3.8 +License-File: LICENSE.txt +License-File: LICENSES_bundled.txt + +It provides: + +- a powerful N-dimensional array object +- sophisticated (broadcasting) functions +- tools for integrating C/C++ and Fortran code +- useful linear algebra, Fourier transform, and random number capabilities +- and much more + +Besides its obvious scientific uses, NumPy can also be used as an efficient +multi-dimensional container of generic data. Arbitrary data-types can be +defined. This allows NumPy to seamlessly and speedily integrate with a wide +variety of databases. + +All NumPy wheels distributed on PyPI are BSD licensed. + +NumPy requires ``pytest`` and ``hypothesis``. Tests can then be run after +installation with:: + + python -c 'import numpy; numpy.test()' + + + diff --git a/venv/lib/python3.8/site-packages/numpy-1.23.4.dist-info/RECORD b/venv/lib/python3.8/site-packages/numpy-1.23.4.dist-info/RECORD new file mode 100644 index 0000000..2246e21 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy-1.23.4.dist-info/RECORD @@ -0,0 +1,1345 @@ +../../../bin/f2py,sha256=l9_arqT-VwsoPRQy01Zo5A57VFnmJmx6kVaAg3IS3is,220 +../../../bin/f2py3,sha256=l9_arqT-VwsoPRQy01Zo5A57VFnmJmx6kVaAg3IS3is,220 +../../../bin/f2py3.8,sha256=l9_arqT-VwsoPRQy01Zo5A57VFnmJmx6kVaAg3IS3is,220 +numpy-1.23.4.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +numpy-1.23.4.dist-info/LICENSE.txt,sha256=ATdhUdRkXvut-KobrcV16_CzXbH65FRWBNVF9cmzL94,45692 +numpy-1.23.4.dist-info/LICENSES_bundled.txt,sha256=VyI3ubJn_nVdgqKOIT9pF2vVavoWKlpkGzegbjAHKNE,634 +numpy-1.23.4.dist-info/METADATA,sha256=rKIrlB2LjYxz87Z6MAZ5Tm5dEVsn-S83QYxt8ImJsIo,2296 +numpy-1.23.4.dist-info/RECORD,, +numpy-1.23.4.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +numpy-1.23.4.dist-info/WHEEL,sha256=paN2rHE-sLfyg0Z4YvQnentMRWXxZnkclRDH8E5J6qk,148 +numpy-1.23.4.dist-info/direct_url.json,sha256=GN-Zys4WBik1N99PxNpRJJ9Ihc8aH4Wt5sRpgv4Cnbg,288 +numpy-1.23.4.dist-info/entry_points.txt,sha256=7wkWO3l4wq2AL2TSwwUgDlagIOnk2Vk2AIpeCQCgCgE,208 +numpy-1.23.4.dist-info/top_level.txt,sha256=4J9lbBMLnAiyxatxh8iRKV5Entd_6-oqbO7pzJjMsPw,6 +numpy.libs/libgfortran-040039e1.so.5.0.0,sha256=R6s7aClbCjzomQpEjef6sRq928Fg-IlZcsqapxLPhtA,2686064 +numpy.libs/libopenblas64_p-r0-742d56dc.3.20.so,sha256=OOcpiSH7XIZzSXJKoh5F0rb1HxZq2004q0AWqvxLDp4,32876856 +numpy.libs/libquadmath-96973f99.so.0.0.0,sha256=l82oXdtRY-Labh7bTh1rVXgzqZpA7aB5rjflA5Rltl0,247608 +numpy/LICENSE.txt,sha256=ATdhUdRkXvut-KobrcV16_CzXbH65FRWBNVF9cmzL94,45692 +numpy/__config__.py,sha256=TXvjW8PcKIkWSx3pLCYYC2SMqmRP-0gKkOOvckDq6Ao,5143 +numpy/__init__.cython-30.pxd,sha256=_i5eaLZlfHTIF8mDwNehqFvem0CZGtHmU6gIQ1tlDIw,36216 +numpy/__init__.pxd,sha256=0CIC53c2iCvgV5itsP73rUHiAjkJ85XIoBOzrul-L9Y,34584 +numpy/__init__.py,sha256=jL1d6ssSES4DE9uim82tR1FhaFC-9DmqutPAjR5YpX0,15398 +numpy/__init__.pyi,sha256=wmFoXGnykgVV1jzZTig71-eTe7mfTRe5EmHeqhZ9QXg,150723 +numpy/__pycache__/__config__.cpython-38.pyc,, +numpy/__pycache__/__init__.cpython-38.pyc,, +numpy/__pycache__/_distributor_init.cpython-38.pyc,, +numpy/__pycache__/_globals.cpython-38.pyc,, +numpy/__pycache__/_pytesttester.cpython-38.pyc,, +numpy/__pycache__/_version.cpython-38.pyc,, +numpy/__pycache__/conftest.cpython-38.pyc,, +numpy/__pycache__/ctypeslib.cpython-38.pyc,, +numpy/__pycache__/dual.cpython-38.pyc,, +numpy/__pycache__/matlib.cpython-38.pyc,, +numpy/__pycache__/setup.cpython-38.pyc,, +numpy/__pycache__/version.cpython-38.pyc,, +numpy/_distributor_init.py,sha256=IgPkSK3H9bgjFeUfWuXhjKrgetQl5ztUW-rTyjGHK3c,331 +numpy/_globals.py,sha256=7caMABrVnW1J0gEgXrEJM2EbuKVplZaKOsXnpLPuUG4,4012 +numpy/_pyinstaller/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +numpy/_pyinstaller/__pycache__/__init__.cpython-38.pyc,, +numpy/_pyinstaller/__pycache__/hook-numpy.cpython-38.pyc,, +numpy/_pyinstaller/__pycache__/pyinstaller-smoke.cpython-38.pyc,, +numpy/_pyinstaller/__pycache__/test_pyinstaller.cpython-38.pyc,, +numpy/_pyinstaller/hook-numpy.py,sha256=NiNJWF0o2g-vuyKTHGSe3UoDvDRmQPBBTeZfSMAFoJY,1422 +numpy/_pyinstaller/pyinstaller-smoke.py,sha256=2upSmDDbWg4hEy1nb6l_N08Dg0TxyLKooNwN7vVDAyw,1143 +numpy/_pyinstaller/test_pyinstaller.py,sha256=8K-7QxmfoXCG0NwR0bhIgCNrDjGlrTzWnrR1sR8btgU,1135 +numpy/_pytesttester.py,sha256=u2ESexAVeDbwRMIrmrnLXvJFTTyCTW02ZBL_pKKDTQg,6676 +numpy/_pytesttester.pyi,sha256=OtyXSiuSy8o_78w3QNQRjMLpvvNyEdC0aMsx6T-vRxU,489 +numpy/_typing/__init__.py,sha256=WHbp91iVwuU88_4yefIJ0B8kE03os4C-AOo-Ko7Qo5o,7108 +numpy/_typing/__pycache__/__init__.cpython-38.pyc,, +numpy/_typing/__pycache__/_add_docstring.cpython-38.pyc,, +numpy/_typing/__pycache__/_array_like.cpython-38.pyc,, +numpy/_typing/__pycache__/_char_codes.cpython-38.pyc,, +numpy/_typing/__pycache__/_dtype_like.cpython-38.pyc,, +numpy/_typing/__pycache__/_extended_precision.cpython-38.pyc,, +numpy/_typing/__pycache__/_generic_alias.cpython-38.pyc,, +numpy/_typing/__pycache__/_nbit.cpython-38.pyc,, +numpy/_typing/__pycache__/_nested_sequence.cpython-38.pyc,, +numpy/_typing/__pycache__/_scalars.cpython-38.pyc,, +numpy/_typing/__pycache__/_shape.cpython-38.pyc,, +numpy/_typing/__pycache__/setup.cpython-38.pyc,, +numpy/_typing/_add_docstring.py,sha256=fviZAxCBB5w1OY5PnnP9Hj2Da7krEs8ixpj8yk_0aLM,3925 +numpy/_typing/_array_like.py,sha256=YWV-JzuDX4OkrZhvNl-Wjxh2vXvvi4SEZlSjwH1CiPQ,4212 +numpy/_typing/_callable.pyi,sha256=Vh9_vJmAyjX7WNXHtvzFIHFFYcKNTcszlQpXbZYVUZI,11124 +numpy/_typing/_char_codes.py,sha256=LR51O5AUBDbCmJvlMoxyUvsfvb1p7WHrexgtTGtuWTc,5916 +numpy/_typing/_dtype_like.py,sha256=Uf5196lPEC6aU8UVoXNXuv47oknCyMsIXjCporDhwHA,5628 +numpy/_typing/_extended_precision.py,sha256=PfQZUM8xlS7lFXPVQbJJX1quiMKobeJJP4S9TvtyTrE,1111 +numpy/_typing/_generic_alias.py,sha256=l2EcoRmN7KK2ABfsYFZZlWDGodXu_pE2cvgsUrrxyCg,7479 +numpy/_typing/_nbit.py,sha256=-EQOShHpB3r30b4RVEcruQRTcTaFAZwtqCJ4BsvpEzA,345 +numpy/_typing/_nested_sequence.py,sha256=KVCba0hadKGo5z9qvhfAfaE0PmxKA9NXsU83B8QdTLk,2699 +numpy/_typing/_scalars.py,sha256=CRoiNAYZqELubR2hbplA5qom-k4kUpWLNX4GgX8Hli0,957 +numpy/_typing/_shape.py,sha256=tsMDZ41GBVM9PiGa3GpGV2gEWxP57c7HqmPMWKrkCQo,191 +numpy/_typing/_ufunc.pyi,sha256=e74LtOP9e8kkRhvrIJ_RXz9Ua_L43Pd9IixwNwermnM,12638 +numpy/_typing/setup.py,sha256=SE0Q6HPqDjWUfceA4yXgkII8y3z7EiSF0Z-MNwOIyG4,337 +numpy/_version.py,sha256=WqQJjaKxc4xlfQdRp3GwlpDxXXIrsAAl535wUXzyJY4,498 +numpy/array_api/__init__.py,sha256=b2FtjmWpOJp27Q3SDmHO7PKdsIQcIW8__3WFMxqJy5s,10221 +numpy/array_api/__pycache__/__init__.cpython-38.pyc,, +numpy/array_api/__pycache__/_array_object.cpython-38.pyc,, +numpy/array_api/__pycache__/_constants.cpython-38.pyc,, +numpy/array_api/__pycache__/_creation_functions.cpython-38.pyc,, +numpy/array_api/__pycache__/_data_type_functions.cpython-38.pyc,, +numpy/array_api/__pycache__/_dtypes.cpython-38.pyc,, +numpy/array_api/__pycache__/_elementwise_functions.cpython-38.pyc,, +numpy/array_api/__pycache__/_manipulation_functions.cpython-38.pyc,, +numpy/array_api/__pycache__/_searching_functions.cpython-38.pyc,, +numpy/array_api/__pycache__/_set_functions.cpython-38.pyc,, +numpy/array_api/__pycache__/_sorting_functions.cpython-38.pyc,, +numpy/array_api/__pycache__/_statistical_functions.cpython-38.pyc,, +numpy/array_api/__pycache__/_typing.cpython-38.pyc,, +numpy/array_api/__pycache__/_utility_functions.cpython-38.pyc,, +numpy/array_api/__pycache__/linalg.cpython-38.pyc,, +numpy/array_api/__pycache__/setup.cpython-38.pyc,, +numpy/array_api/_array_object.py,sha256=5YD915C7EH_UJ2S6RIIxllZNE7QTlPZXnJU9sTpkMY4,43226 +numpy/array_api/_constants.py,sha256=Z6bImx0puhVuCwc5dPXvZ6TZt46exiuuX1TubSyQ62E,66 +numpy/array_api/_creation_functions.py,sha256=6SqHdzZqHOJFEyWFtqnj6KIKRivrGXxROlgnez_3Mt0,10050 +numpy/array_api/_data_type_functions.py,sha256=Hk00nh4MxXHBCJHRR7fS3fZAW7B982REfp_oSUbnG_k,4480 +numpy/array_api/_dtypes.py,sha256=WEy1XztJIbSI9kosFqesv_Fzb_bHwH_nOlrVFlhbyx0,3707 +numpy/array_api/_elementwise_functions.py,sha256=arizOQ2iM3d_bOFpk_rwwCXZM3Zyhx9_fnyCki6Z8eY,24772 +numpy/array_api/_manipulation_functions.py,sha256=EqLf8ZILAV1Se6CttZ-DD271V1-PgjDK5Ae_TD-NmqQ,2944 +numpy/array_api/_searching_functions.py,sha256=M75BEj5b94Z5cya6_OzbgvhR9GGIDGdJ8eyydJHuWPQ,1457 +numpy/array_api/_set_functions.py,sha256=80INpLVP-4bunDXUxmxI3dFW-guu_7rgWlAwuNzdsZE,2848 +numpy/array_api/_sorting_functions.py,sha256=V0pmt1xALcAy76SDqwIHnMUzpFqU98x648tH02X-k44,1754 +numpy/array_api/_statistical_functions.py,sha256=AxiYkz-lW1k8uFaQfCDXJrXiDzG6Qhju-hrm5A9IFSE,3378 +numpy/array_api/_typing.py,sha256=HN0Ao-n6m1XAuIFNkGEUQ56REPmPJ-lKSAernfUxoDc,1376 +numpy/array_api/_utility_functions.py,sha256=HwycylbPAgRVz4nZvjvwqN3mQnJbqKA-NRMaAvIP-CE,824 +numpy/array_api/linalg.py,sha256=1KIHnlf-rYOoO_krkvZk3gXjTYwd0WVlEy_E_nzAd5E,16964 +numpy/array_api/setup.py,sha256=Wx6qD7GU_APiqKolYPO0OHv4eHGYrjPZmDAgjWhOEhM,341 +numpy/array_api/tests/__init__.py,sha256=t_2GZ3lKcsu4ec4GMKPUDYaeMUJyDquBlQAcPgj7kFE,282 +numpy/array_api/tests/__pycache__/__init__.cpython-38.pyc,, +numpy/array_api/tests/__pycache__/test_array_object.cpython-38.pyc,, +numpy/array_api/tests/__pycache__/test_creation_functions.cpython-38.pyc,, +numpy/array_api/tests/__pycache__/test_data_type_functions.cpython-38.pyc,, +numpy/array_api/tests/__pycache__/test_elementwise_functions.cpython-38.pyc,, +numpy/array_api/tests/__pycache__/test_set_functions.cpython-38.pyc,, +numpy/array_api/tests/__pycache__/test_sorting_functions.cpython-38.pyc,, +numpy/array_api/tests/__pycache__/test_validation.cpython-38.pyc,, +numpy/array_api/tests/test_array_object.py,sha256=ZL1MinwghgckH0sPugxC8EEccneh7xmn6DL1Irb17do,15770 +numpy/array_api/tests/test_creation_functions.py,sha256=s3A1COWmXIAJdhzd8v7VtL-jbiSspskTqwYy0BTpmpw,5023 +numpy/array_api/tests/test_data_type_functions.py,sha256=Ukkpb-qjORIYb8T1FrStiwciDWaEr27qRso7QJgIS0E,422 +numpy/array_api/tests/test_elementwise_functions.py,sha256=_DEB5r6VCDVhUos7VDaFzCId2_M5y7KoyK-HTGybdkc,3619 +numpy/array_api/tests/test_set_functions.py,sha256=D016G7v3ko49bND5sVERP8IqQXZiwr-2yrKbBPJ-oqg,546 +numpy/array_api/tests/test_sorting_functions.py,sha256=INPiYnuGBcsmWtYqdTTX3ENHmM4iUx4zs9KdwDaSmdA,602 +numpy/array_api/tests/test_validation.py,sha256=QUG9yWC3QhkPxNhbQeakwBbl-0Rr0iTuZ41_0sfVIGU,676 +numpy/compat/__init__.py,sha256=NzG_RvTyhvKby8p_wRHvw3m27gBrxH3tVPy6zPWDU_0,454 +numpy/compat/__pycache__/__init__.cpython-38.pyc,, +numpy/compat/__pycache__/_inspect.cpython-38.pyc,, +numpy/compat/__pycache__/_pep440.cpython-38.pyc,, +numpy/compat/__pycache__/py3k.cpython-38.pyc,, +numpy/compat/__pycache__/setup.cpython-38.pyc,, +numpy/compat/_inspect.py,sha256=8Ma7QBRwfSWKeK1ShJpFNc7CDhE6fkIE_wr1FxrG1A8,7447 +numpy/compat/_pep440.py,sha256=Vr7B3QsijR5p6h8YAz2LjNGUyzHUJ5gZ4v26NpZAKDc,14069 +numpy/compat/py3k.py,sha256=jbMNbn_cV3JDWDKJfYO78g6lCXkg-_95mgQJlh4qP80,3607 +numpy/compat/setup.py,sha256=36X1kF0C_NVROXfJ7w3SQeBm5AIDBuJbM5qT7cvSDgU,335 +numpy/compat/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +numpy/compat/tests/__pycache__/__init__.cpython-38.pyc,, +numpy/compat/tests/__pycache__/test_compat.cpython-38.pyc,, +numpy/compat/tests/test_compat.py,sha256=IB6xDjzHwWRmxKHwnFbESXul2ms2XjT6Hj-Dywdu2oM,476 +numpy/conftest.py,sha256=3lYJfyLGDyx-cyCq2Ox6GX6xw09nn97K4x2WSU-RAn0,4032 +numpy/core/__init__.py,sha256=6ezCGVC4TuvLlyYtBt6fXg0U-UEubw2XmzTqv5T-MOg,5660 +numpy/core/__init__.pyi,sha256=xtd9OFYza-ZG3jyEJrlzRPT-SkVoB_qYmVCe6FxRks0,126 +numpy/core/__pycache__/__init__.cpython-38.pyc,, +numpy/core/__pycache__/_add_newdocs.cpython-38.pyc,, +numpy/core/__pycache__/_add_newdocs_scalars.cpython-38.pyc,, +numpy/core/__pycache__/_asarray.cpython-38.pyc,, +numpy/core/__pycache__/_dtype.cpython-38.pyc,, +numpy/core/__pycache__/_dtype_ctypes.cpython-38.pyc,, +numpy/core/__pycache__/_exceptions.cpython-38.pyc,, +numpy/core/__pycache__/_internal.cpython-38.pyc,, +numpy/core/__pycache__/_machar.cpython-38.pyc,, +numpy/core/__pycache__/_methods.cpython-38.pyc,, +numpy/core/__pycache__/_string_helpers.cpython-38.pyc,, +numpy/core/__pycache__/_type_aliases.cpython-38.pyc,, +numpy/core/__pycache__/_ufunc_config.cpython-38.pyc,, +numpy/core/__pycache__/arrayprint.cpython-38.pyc,, +numpy/core/__pycache__/cversions.cpython-38.pyc,, +numpy/core/__pycache__/defchararray.cpython-38.pyc,, +numpy/core/__pycache__/einsumfunc.cpython-38.pyc,, +numpy/core/__pycache__/fromnumeric.cpython-38.pyc,, +numpy/core/__pycache__/function_base.cpython-38.pyc,, +numpy/core/__pycache__/generate_numpy_api.cpython-38.pyc,, +numpy/core/__pycache__/getlimits.cpython-38.pyc,, +numpy/core/__pycache__/memmap.cpython-38.pyc,, +numpy/core/__pycache__/multiarray.cpython-38.pyc,, +numpy/core/__pycache__/numeric.cpython-38.pyc,, +numpy/core/__pycache__/numerictypes.cpython-38.pyc,, +numpy/core/__pycache__/overrides.cpython-38.pyc,, +numpy/core/__pycache__/records.cpython-38.pyc,, +numpy/core/__pycache__/setup.cpython-38.pyc,, +numpy/core/__pycache__/setup_common.cpython-38.pyc,, +numpy/core/__pycache__/shape_base.cpython-38.pyc,, +numpy/core/__pycache__/umath.cpython-38.pyc,, +numpy/core/__pycache__/umath_tests.cpython-38.pyc,, +numpy/core/_add_newdocs.py,sha256=TZJ5iNdHMRJIUCB-vHBVpLNO3iKHLftlJRlS_H4Wm4w,201399 +numpy/core/_add_newdocs_scalars.py,sha256=xxU2hhMm4tFux-UNIKLMKHFU7bMelOCRAJ2lCX3bahI,10232 +numpy/core/_asarray.py,sha256=JxCiu_vhSBiicR6CzFFd8_emOChpUkIdOrO9MiBnLw0,4121 +numpy/core/_asarray.pyi,sha256=_A6h99LV-8BkgLxDKvG6i1NXBLB_Drxoq51Qz2F_gC4,1051 +numpy/core/_dtype.py,sha256=3eg6vYQtknrX4eBxEZF1yfRpU_uJzd03HnXtQHHPvzU,10495 +numpy/core/_dtype_ctypes.py,sha256=Vug4i7xKhznK2tdIjmn4ebclClpaCJwSZUlvEoYl0Eg,3673 +numpy/core/_exceptions.py,sha256=foa2dy_Nu3j6Pp_EiRwN6V_O7KOGugSk2XzzduRfbUg,8344 +numpy/core/_internal.py,sha256=_efKb3UpSk8WAtshbO1_7A0FZS576hv0lmAaUHoI48U,28220 +numpy/core/_internal.pyi,sha256=_mCTOX6Su8D4R9fV4HNeohPJx7515B-WOlv4uq6mry8,1032 +numpy/core/_machar.py,sha256=ZKzS3o2wWw6ROTDTMgMIRZTDYuhFifEl3D1GxQsC3Qc,11618 +numpy/core/_methods.py,sha256=s8_0sT91U0e2p_l98MiJpTaCY8GFtUy3j4VEAl4GWJY,10887 +numpy/core/_multiarray_tests.cpython-38-x86_64-linux-gnu.so,sha256=ZFSBsj1ivaRZQvuygZrnGHzy0TFANDp2tRo2bI-B3OA,186448 +numpy/core/_multiarray_umath.cpython-38-x86_64-linux-gnu.so,sha256=JWuYjYvjc-hk_Pr8KtL4kNIZJ_QGSx30XkNW8M2dGY0,5959632 +numpy/core/_operand_flag_tests.cpython-38-x86_64-linux-gnu.so,sha256=7d8NXmszaiiuZ7j7MxBvaq6qhnaUggB9NTmLEZiEpho,17072 +numpy/core/_rational_tests.cpython-38-x86_64-linux-gnu.so,sha256=SmZEWT4QZ-eZE9q7lKm7kf--Wv2rLRwungSHFRUyK7Y,59816 +numpy/core/_simd.cpython-38-x86_64-linux-gnu.so,sha256=-mrkaSaaP5WnDXRn_PqEn71HsiK9NHLGJuVoPSkhr2U,2042848 +numpy/core/_string_helpers.py,sha256=NGGGhaFdU5eGiUAj3GTIBoOgWs4r9aTNlsE2r9NgX6Q,2855 +numpy/core/_struct_ufunc_tests.cpython-38-x86_64-linux-gnu.so,sha256=aKJwzfHAh-XLMasAeKJEu4cPqw851IYw4qDzbAJb3DE,17176 +numpy/core/_type_aliases.py,sha256=Xyst9ix7LC3zPGh1AiqqzAe-aUWYioIPyB6VkIzI4Bk,7490 +numpy/core/_type_aliases.pyi,sha256=7A0M5_QvMCH8ZytWpz70-YJ6bLy7vqZxehrm0_GaXJ8,374 +numpy/core/_ufunc_config.py,sha256=KGME6Pf0V901djved3Dq3JD2iYQ4nFu_JDcQIWb2TBY,13382 +numpy/core/_ufunc_config.pyi,sha256=C6rLo4_DsCrKE6bo3eEkQ5S8epq44dF8b2czG6iiw7M,1043 +numpy/core/_umath_tests.cpython-38-x86_64-linux-gnu.so,sha256=aXHx7pqQDEfAy0HO2NUj-KVh_sCfgT-p7zb5ISh1ebQ,41856 +numpy/core/arrayprint.py,sha256=2ulEKXNysC2RAp2vIk7A1XLLKDKe-9Yd02Ix69wN_XM,62839 +numpy/core/arrayprint.pyi,sha256=21pOWjTSfJOBaKgOOPzRox1ERb3c9ydufqL0b11_P_Q,4428 +numpy/core/cversions.py,sha256=H_iNIpx9-hY1cQNxqjT2d_5SXZhJbMo_caq4_q6LB7I,347 +numpy/core/defchararray.py,sha256=ynAFiJONpssYUb1hTF1rvDoD1zSDi_r6gXc1lDBF_PE,69776 +numpy/core/defchararray.pyi,sha256=ib3aWFcM7F4KooU57mWUNi4GlosNjdfgrLKBVSIKDvU,9216 +numpy/core/einsumfunc.py,sha256=C12IJQmlUi1UgyCNwANqLAVwwojZPc1NAMi7ABzlzmk,51869 +numpy/core/einsumfunc.pyi,sha256=-lSAtJnJqMT3Y6YSi54HUdf_ydfnV1mK1F4gx0OaPFI,3778 +numpy/core/fromnumeric.py,sha256=EEAE0N64DUvIXsOtbboqS6_ga70OQZjHnZtzSXdp1kg,123483 +numpy/core/fromnumeric.pyi,sha256=fLvQT6mBX8IBO48mNziBs_o65fUFxItLrX124EINGUY,23472 +numpy/core/function_base.py,sha256=0aknBH-SwxLjc7f-3hmhxv0HxqTln9Ixa86Z9tOxLgc,19019 +numpy/core/function_base.pyi,sha256=3ZYad3cdaGwNEyP8VwK97IYMqk2PDoVjpjQzhIYHjk0,4725 +numpy/core/generate_numpy_api.py,sha256=kRyp-DBDU461R7-Hpd8EIG6WtcHwbXHbGjEsDZ5xDjg,7007 +numpy/core/getlimits.py,sha256=UAfK1DzXtAiGoWHY8Bx5yQ2NZCevfsqVlcYhkn6Hav4,24124 +numpy/core/getlimits.pyi,sha256=qeIXUEtognTHr_T-tv-VcZI7n8Z2VzAyIpIgKXzsLkc,82 +numpy/core/include/numpy/.doxyfile,sha256=goOZR7LcINt3snuBGH8Me-_aVTGm5f4u4wEaSpjM_W4,58 +numpy/core/include/numpy/__multiarray_api.h,sha256=g07fWp9Fe-CBg5QPEKAxdAgysVpylHC27SMwHIZyOwo,62314 +numpy/core/include/numpy/__ufunc_api.h,sha256=kOT0I320xLGHnuE8XSaomEiCmFaup8fTOTied514XiM,12614 +numpy/core/include/numpy/_neighborhood_iterator_imp.h,sha256=A6YPpQihUwscZYxz0oODrBjRSYZdJM2dG0vcdtJtY64,1877 +numpy/core/include/numpy/_numpyconfig.h,sha256=DYhvMSbnzi1OVUxC_e4qjpjq0PKGZdqiMwu8B3I43kI,971 +numpy/core/include/numpy/arrayobject.h,sha256=-BlWQ7kfVbzCqzHn0qaeMe0_08AbwliuG98XWG57lT8,282 +numpy/core/include/numpy/arrayscalars.h,sha256=h6MKjFHzguTZ5CQd7HATAVWHoZ7mkC-86R1uMHeLT04,3818 +numpy/core/include/numpy/experimental_dtype_api.h,sha256=U4gGFiivVt-975AVhEWtF7aGzufOJQivX1FmBarM2os,19915 +numpy/core/include/numpy/halffloat.h,sha256=TRZfXgipa-dFppX2uNgkrjrPli-1BfJtadWjAembJ4s,1959 +numpy/core/include/numpy/libdivide/LICENSE.txt,sha256=-8U59H0M-DvGE3gID7hz1cFGMBJsrL_nVANcOSbapew,1018 +numpy/core/include/numpy/libdivide/libdivide.h,sha256=ew9MNhPQd1LsCZiWiFmj9IZ7yOnA3HKOXffDeR9X1jw,80138 +numpy/core/include/numpy/multiarray_api.txt,sha256=lUu3-kmIThRGDbEyhz7avfa7gM6OwUuQhqt4JHa1gmE,57008 +numpy/core/include/numpy/ndarrayobject.h,sha256=Lvr0ljFumbLtDgepidCtA1V3fHoTRpL432B-t7sWVh0,10191 +numpy/core/include/numpy/ndarraytypes.h,sha256=BNnFGzO8_pnEA3T47ORSlGABK4MqfODvyb0P-IO_AwE,69078 +numpy/core/include/numpy/noprefix.h,sha256=d83l1QpCCVqMV2k29NMkL3Ld1qNjiC6hzOPWZAivEjQ,6830 +numpy/core/include/numpy/npy_1_7_deprecated_api.h,sha256=y0MJ8Qw7Bkt4H_4VxIzHzpkw5JqAdj5ECgtn08fZFrI,4327 +numpy/core/include/numpy/npy_3kcompat.h,sha256=kkHpOP0HozJwzKj6h7A2MLJLdJGDUL_pJjYbC1aq6Kc,15990 +numpy/core/include/numpy/npy_common.h,sha256=_INzM3hdWejf7egw0_FnzYl_wxf1PBfxifXI5X2wG8Y,39015 +numpy/core/include/numpy/npy_cpu.h,sha256=s5wuxe4hDuxffIlhstEd5k5bZtNdrGWwjUo0haegE0E,4603 +numpy/core/include/numpy/npy_endian.h,sha256=we7X9fPeWzNpo_YTh09MPGDwdE0Rw_WDM4c9y4nBj5I,2786 +numpy/core/include/numpy/npy_interrupt.h,sha256=DQZIxi6FycLXD8drdHn2SSmLoRhIpo6osvPv13vowUA,1948 +numpy/core/include/numpy/npy_math.h,sha256=QfDcaqAczDkH4AmK3OHSshmsTFpNb1FwueyGt5X61NM,21370 +numpy/core/include/numpy/npy_no_deprecated_api.h,sha256=0yZrJcQEJ6MCHJInQk5TP9_qZ4t7EfBuoLOJ34IlJd4,678 +numpy/core/include/numpy/npy_os.h,sha256=l4OlIIc0snxwIZqJ4V7iKbIcTSk-aubsTSs0E2ZKvjM,1070 +numpy/core/include/numpy/numpyconfig.h,sha256=GxgJxPKS1gcG4vqp9BB_KpL_v4HwB7ZpMsHWWxZPLqw,2284 +numpy/core/include/numpy/old_defines.h,sha256=xuYQDDlMywu0Zsqm57hkgGwLsOFx6IvxzN2eiNF-gJY,6405 +numpy/core/include/numpy/oldnumeric.h,sha256=laP57STtFtJSs_fjRRDlrk34hqfqCwxP-BFEytR6lTM,899 +numpy/core/include/numpy/random/bitgen.h,sha256=49AwKOR552r-NkhuSOF1usb_URiMSRMvD22JF5pKIng,488 +numpy/core/include/numpy/random/distributions.h,sha256=uJVR8qB0LXdvRg7VZakVrZ8qDPRS9FWkxtLFfXzj-Jc,9865 +numpy/core/include/numpy/ufunc_api.txt,sha256=CMYRT5Wl36VufbEnjRR_yLg1vf0R3ydcNODyJY3WPCw,7198 +numpy/core/include/numpy/ufuncobject.h,sha256=PDpFN5loASykuAgmCEt2t38yt5RiNP54tDyQB33yT98,11895 +numpy/core/include/numpy/utils.h,sha256=wMNomSH3Dfj0q78PrjLVtFtN-FPo7UJ4o0ifCUO-6Es,1185 +numpy/core/lib/libnpymath.a,sha256=PhLTpKFz1KSOx644UHbVPrWN9hydMsDzzh2VZ0g4_KA,474868 +numpy/core/lib/npy-pkg-config/mlib.ini,sha256=_LsWV1eStNqwhdiYPa2538GL46dnfVwT4MrI1zbsoFw,147 +numpy/core/lib/npy-pkg-config/npymath.ini,sha256=kamUNrYKAmXqQa8BcNv7D5sLqHh6bnChM0_5rZCsTfY,360 +numpy/core/memmap.py,sha256=tIDygBke18_QnYw2mZNw5pBilnDhydFoJS8alv8KmP8,11688 +numpy/core/memmap.pyi,sha256=sxIQ7T5hPLG-RBNndAc8JPvrsKEX1amBSH2HGg48Obo,55 +numpy/core/multiarray.py,sha256=iONmJdyVFf3ZDC1pb7icRq6ZOyipeLhYE7SV9whQQVs,55434 +numpy/core/multiarray.pyi,sha256=YUIfneT7HPe1moabOcXPHXscNBEoeTiKovjjW_20ix4,24386 +numpy/core/numeric.py,sha256=AraOnfdZcxzz0vMgkBmOsknn_xNDlnoUJYOkloysZBo,77444 +numpy/core/numeric.pyi,sha256=bmKTFtg6SaPe9x64Mt1T-Af-PsH-Xi4cDGT4HB-lFiE,14230 +numpy/core/numerictypes.py,sha256=lrdiD-TTcjG10K1JaBYr1uxNgR_vtNkb4s5cgz2s0ZE,17271 +numpy/core/numerictypes.pyi,sha256=nsQaevKSF_vVK6TIta8lr4tv_ZO1TuWt0icpkSRGkJs,3388 +numpy/core/overrides.py,sha256=D3gPb6ZmuJ6grq2hW4zq4MYV9wctFhCVjdXhs-etCo4,7297 +numpy/core/records.py,sha256=kIsUns_m8BQ40HTmB39S2ogY5WRphF0EK_PXSzwZ2tY,37545 +numpy/core/records.pyi,sha256=uYwE6cAoGKgN6U4ryfGZx_3m-3sY006jytjWLrDRRy0,5692 +numpy/core/setup.py,sha256=p7Mo2CudYTmcYejUZt1tCm2JEq2IAhiG6c_RgLXEnes,52651 +numpy/core/setup_common.py,sha256=xZ6uuIqLonB6zOdM9MER0hTT5V5orECC9-MJbEvVuaI,20393 +numpy/core/shape_base.py,sha256=02GWU9VRvg6grzdqnk1duNizmOZtNQ28JHfhVA1b0yA,28985 +numpy/core/shape_base.pyi,sha256=QHMHOsLcR0wGJwMyexESlSOQqw0ifHyRs2WfV1VEW1E,1744 +numpy/core/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +numpy/core/tests/__pycache__/__init__.cpython-38.pyc,, +numpy/core/tests/__pycache__/_locales.cpython-38.pyc,, +numpy/core/tests/__pycache__/test__exceptions.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_abc.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_api.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_argparse.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_array_coercion.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_array_interface.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_arraymethod.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_arrayprint.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_casting_unittests.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_conversion_utils.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_cpu_dispatcher.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_cpu_features.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_custom_dtypes.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_cython.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_datetime.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_defchararray.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_deprecations.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_dlpack.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_dtype.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_einsum.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_errstate.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_extint128.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_function_base.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_getlimits.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_half.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_hashtable.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_indexerrors.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_indexing.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_item_selection.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_limited_api.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_longdouble.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_machar.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_mem_overlap.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_mem_policy.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_memmap.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_multiarray.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_nditer.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_numeric.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_numerictypes.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_overrides.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_print.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_protocols.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_records.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_regression.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_scalar_ctors.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_scalar_methods.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_scalarbuffer.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_scalarinherit.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_scalarmath.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_scalarprint.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_shape_base.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_simd.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_simd_module.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_ufunc.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_umath.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_umath_accuracy.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_umath_complex.cpython-38.pyc,, +numpy/core/tests/__pycache__/test_unicode.cpython-38.pyc,, +numpy/core/tests/_locales.py,sha256=R2tNBiBzY6h7zHqexpGsuM1QNd_2CR-JfqEXc4pFXYI,2192 +numpy/core/tests/data/astype_copy.pkl,sha256=lWSzCcvzRB_wpuRGj92spGIw-rNPFcd9hwJaRVvfWdk,716 +numpy/core/tests/data/generate_umath_validation_data.cpp,sha256=NQSRK6tJpdTsR6jxim5Ek4ty8J6HJ5JdAe0wBQlrACw,5840 +numpy/core/tests/data/recarray_from_file.fits,sha256=NA0kliz31FlLnYxv3ppzeruONqNYkuEvts5wzXEeIc4,8640 +numpy/core/tests/data/umath-validation-set-README.txt,sha256=pxWwOaGGahaRd-AlAidDfocLyrAiDp0whf5hC7hYwqM,967 +numpy/core/tests/data/umath-validation-set-arccos.csv,sha256=W_aL99bjzVjlVyd5omfDUORag8jHzx6uctedPVZgOHQ,61365 +numpy/core/tests/data/umath-validation-set-arccosh.csv,sha256=Uko_d0kDXr1YlN-6Ii-fQQxUvbXAhRfC7Un4gJ23GJk,61365 +numpy/core/tests/data/umath-validation-set-arcsin.csv,sha256=15Aenze4WD2a2dF2aOBXpv9B7u3wwAeUVJdEm4TjOkQ,61339 +numpy/core/tests/data/umath-validation-set-arcsinh.csv,sha256=uDwx4PStpfV21IaPF8pmzQpul6i72g7zDwlfcynWaVQ,60289 +numpy/core/tests/data/umath-validation-set-arctan.csv,sha256=mw5tYze_BMs6ugGEZfg5mcXoInGYdn7fvSCYSUi9Bqw,60305 +numpy/core/tests/data/umath-validation-set-arctanh.csv,sha256=95l4Uu5RmZajljabfqlv5U34RVrifCMhhkop6iLeNBo,61339 +numpy/core/tests/data/umath-validation-set-cbrt.csv,sha256=v855MTZih-fZp_GuEDst2qaIsxU4a7vlAbeIJy2xKpc,60846 +numpy/core/tests/data/umath-validation-set-cos.csv,sha256=yxd7BNaicgyEysvp8Tx2qEM-S4zVJA0f0ZXR_VG4y1E,59122 +numpy/core/tests/data/umath-validation-set-cosh.csv,sha256=FGCNeUSUTAeASsb_j18iRSsCxXLxmzF-_C7tq1elVrQ,60869 +numpy/core/tests/data/umath-validation-set-exp.csv,sha256=BKg1_cyrKD2GXYMX_EB0DnXua8DI2O1KWODXf_BRhrk,17491 +numpy/core/tests/data/umath-validation-set-exp2.csv,sha256=f1b05MRXPOXihC9M-yi52udKBzVXalhbTuIcqoDAk-g,58624 +numpy/core/tests/data/umath-validation-set-expm1.csv,sha256=_ghc1xiUECNsBGrKCFUAy2lvu01_lkpeYJN0zDtCYWk,60299 +numpy/core/tests/data/umath-validation-set-log.csv,sha256=z9ej1ykKUoMRqYMUIJENWXbYi_A_x_RKs7K_GuXZJus,11692 +numpy/core/tests/data/umath-validation-set-log10.csv,sha256=RJgpruL16FVPgUT3-3xW4eppS_tn6o5yEW79KnITn48,68922 +numpy/core/tests/data/umath-validation-set-log1p.csv,sha256=IZZI-hi55HGCOvBat3vSBVha_8Nt-5alf2fqz6QeTG0,60303 +numpy/core/tests/data/umath-validation-set-log2.csv,sha256=HL2rOCsrEi378rNrbsXHPqlWlEGkXQq8R4e63YeTksU,68917 +numpy/core/tests/data/umath-validation-set-sin.csv,sha256=5I2h5CI8Hv6L9o2mh6x5pttnL23VhhY1h5LA8cjIWTg,58611 +numpy/core/tests/data/umath-validation-set-sinh.csv,sha256=CYiibE8aX7MQnBatl__5k_PWc_9vHUifwS-sFZzzKk0,60293 +numpy/core/tests/data/umath-validation-set-tan.csv,sha256=Oq7gxMvblRVBrQ23kMxc8iT0bHnCWKg9EE4ZqzbJbOA,60299 +numpy/core/tests/data/umath-validation-set-tanh.csv,sha256=iolZF_MOyWRgYSa-SsD4df5mnyFK18zrICI740SWoTc,60299 +numpy/core/tests/examples/cython/__pycache__/setup.cpython-38.pyc,, +numpy/core/tests/examples/cython/checks.pyx,sha256=plK9y11kHceBfR6puFLDwU8H5RBGS6ZEmqSFVq-rzOE,615 +numpy/core/tests/examples/cython/setup.py,sha256=aAR-TvQabUabnCzuB6UdWdmRXaaPfIG7MzTIfMF-0tk,496 +numpy/core/tests/examples/limited_api/__pycache__/setup.cpython-38.pyc,, +numpy/core/tests/examples/limited_api/limited_api.c,sha256=mncE8TjjXmYpkwli433G0jB2zGQO_5NqWmGKdzRJZug,344 +numpy/core/tests/examples/limited_api/setup.py,sha256=p2w7F1ardi_GRXSrnNIR8W1oeH_pgmw_1P2wS0A2I6M,435 +numpy/core/tests/test__exceptions.py,sha256=QqxQSLXboPXEVwHz-TyE2JeIl_TC-rPugzfo25nbcns,2846 +numpy/core/tests/test_abc.py,sha256=k4zkrHjoRr4TXiVTCu34B8ZyRP5XJ7N8tPKKdPudOS0,2328 +numpy/core/tests/test_api.py,sha256=YS1T3TpXk9FOxKDPgMHuzeKrIBIxJZeudBGGAHthnzk,22474 +numpy/core/tests/test_argparse.py,sha256=rkbQloOqMiIGIdUsaZb20oHyBO3y9JFqSYr7FawdtDk,1977 +numpy/core/tests/test_array_coercion.py,sha256=ME4DN_ItPaP_bDUj5udjSE01LMuCfTY7l_1VibPNu-k,29075 +numpy/core/tests/test_array_interface.py,sha256=EBil1BzybVPu-sN7t8DJuSufdAOaa_B7pzmJIb4zoY0,7596 +numpy/core/tests/test_arraymethod.py,sha256=d4lhcYQwYPpXhfuc69MPNqTO3yo39P02z5KUhOnCIa0,3570 +numpy/core/tests/test_arrayprint.py,sha256=y28q842bjQfmMCpFtxDn3mxwBd3bRmCEhVRTDWlAmHE,37152 +numpy/core/tests/test_casting_unittests.py,sha256=PvCjr9EWU358ZksMY2PYnMIr_d_TVZhrrUvUTrUZqys,33866 +numpy/core/tests/test_conversion_utils.py,sha256=jNhbNNI-T8qtQnsIMEax7KFN30kjh0ICntLMwTyxJ5Q,6559 +numpy/core/tests/test_cpu_dispatcher.py,sha256=JmYHyBedXNu8pPgGCegP4it6UXY0sifW4EjdM9C0f8M,1521 +numpy/core/tests/test_cpu_features.py,sha256=7CXENItSVtgjlAefnXRczQiC-VILowYHrqeeg4aGqgg,7169 +numpy/core/tests/test_custom_dtypes.py,sha256=JdvtCZNfL_KuZprE5tnZIRHmUNodCISYM7BRKOQ5QZQ,7677 +numpy/core/tests/test_cython.py,sha256=iyGFUGZ8OIVDW-jrFo4YroJJJ2zr9apVzcvZuoU3VHM,3536 +numpy/core/tests/test_datetime.py,sha256=fIwDrMOsig9GUsbJMdb29M2r1EAPeYh8pPl5ibtXFZ0,114957 +numpy/core/tests/test_defchararray.py,sha256=Lz7lE3-wzmdWK0wQp-uAInKsmda9IIhOixFq3AiTvq8,24583 +numpy/core/tests/test_deprecations.py,sha256=eOzEV-5KwSNhNF-wzNKL-vLawgxE3hMv4ZxXZtkrKXw,47562 +numpy/core/tests/test_dlpack.py,sha256=0eAX3gtIA13IXIDXOUwIaBDR3T8d55khQJmN2uF60pM,3502 +numpy/core/tests/test_dtype.py,sha256=g83G2-9-KcWRj-wMzaEmoa8BWEnDAcHr7vfGVjQIfSQ,70825 +numpy/core/tests/test_einsum.py,sha256=Qdabx4wNsWx5h_38pKo_TZh5Bkn2XHdauXydEX3EtVU,50113 +numpy/core/tests/test_errstate.py,sha256=19uzW3PSyQiQD-sGnaIcVle3h7P2LbzxCEZKt3tS678,2066 +numpy/core/tests/test_extint128.py,sha256=gCZfAwPOb-F1TLsEEeDI0amQYwHk-60-OXi0ccZrrZ8,5643 +numpy/core/tests/test_function_base.py,sha256=MyX8TSOh251NfC6M8LHFpc-ooVj_jfP-V6l00F5wb7M,14411 +numpy/core/tests/test_getlimits.py,sha256=RpbyjCEOII-7zLOBryg64E9M23T_dH8wJ15sdIyv_yw,5207 +numpy/core/tests/test_half.py,sha256=H91ZNjGPENPQNuDuXH0GnJlX2CG5z-KA0bA52ee177k,23816 +numpy/core/tests/test_hashtable.py,sha256=ZV8HL8NkDnoQZfnje7BP0fyIp4fSFqjKsQc40PaTggc,1011 +numpy/core/tests/test_indexerrors.py,sha256=kN9xLl6FVTzmI7fumn_cuZ3k0omXnTetgtCnPY44cvw,5130 +numpy/core/tests/test_indexing.py,sha256=l4lpSRSKmLWpfT6vfsI36EnTOAnU1utvTZies3gmhzI,54227 +numpy/core/tests/test_item_selection.py,sha256=DGJNZRtyOxXoyY67EFwUqmLhQ04v0Kqy_QAOpEL42M0,3579 +numpy/core/tests/test_limited_api.py,sha256=mREC-jEhNDDAKrOUcdJnfSQoZVB_bWnGt9PtWuSK6DU,1075 +numpy/core/tests/test_longdouble.py,sha256=nXQKxT10J4cQW27r3vXFAsrfuKryyWJzCZWTxMVS9WM,13042 +numpy/core/tests/test_machar.py,sha256=_5_TDUVtAJvJI5jBfEFKpCZtAfKCsCFt7tXlWSkWzzc,1067 +numpy/core/tests/test_mem_overlap.py,sha256=_oscEzTKRFVoV9Yl-XX1-NFu4a6ThX_fCEZa90R4TKs,29084 +numpy/core/tests/test_mem_policy.py,sha256=Om8dZ3YV-g_YJtbyJObqg2wNUo2dV0vkvwPJEw4Rhz4,15869 +numpy/core/tests/test_memmap.py,sha256=Szhfp-XCO-IFZIvfL4-h9hTxjnl7rg9c9vsiehmEEck,7469 +numpy/core/tests/test_multiarray.py,sha256=1LcpW0tInky8qokOxK00FHcpHMy7w3un30zfE0WVq3E,366367 +numpy/core/tests/test_nditer.py,sha256=WL1bJQ3XXQjeHsCFOHOMyal5owZEoRUzEwkdduqwZ-4,127961 +numpy/core/tests/test_numeric.py,sha256=0tBD1zN_X0t4e-qDa9Ny2EcRzebPisHSTrzmRe-JZRs,136700 +numpy/core/tests/test_numerictypes.py,sha256=rqddCaGIXPTEv4ocQ9LzTcaHmLo4nXzXrEhcs89PiwM,21145 +numpy/core/tests/test_overrides.py,sha256=exmeeEBGVgMKdlVMEAMe6jzBBw99hGEIYtKsFVoKvPU,20193 +numpy/core/tests/test_print.py,sha256=URYIP2BX0uTkkCH_-YwYp6hhyYENaV4sarPaD2rRbZc,6737 +numpy/core/tests/test_protocols.py,sha256=fEXE9K9s22oiVWkX92BY-g00-uXCK-HxjZhZxxYAKFc,1168 +numpy/core/tests/test_records.py,sha256=Ffznf9-_C9qAvBhcE8_sdbMP8oWUFv5PC6ory0LC2rg,20262 +numpy/core/tests/test_regression.py,sha256=B2RvtjditDGnW1FfCE5z7cyyCDYgcvVvUL_ifuwYFuI,91104 +numpy/core/tests/test_scalar_ctors.py,sha256=J0PGDHD6a6dCW1Wg4q-_C5FEccXcYgqLNTnh7AC1iB8,3688 +numpy/core/tests/test_scalar_methods.py,sha256=oncdNOKJVTeYfM7W4W49z4jmVRM7KVdsErEsXYYAIFg,7923 +numpy/core/tests/test_scalarbuffer.py,sha256=5urlHsgHE9H63Tp9mlM48iRh_A1VNxSZohBntl0RnqM,5588 +numpy/core/tests/test_scalarinherit.py,sha256=BSxN2JQYrxxp6tbysaj56m5HvLvCdfSv_X7GC0ab7bg,2381 +numpy/core/tests/test_scalarmath.py,sha256=dQuagDUURQIljqUTj48qe2dTvoux5zyFhZnipehsCHI,40778 +numpy/core/tests/test_scalarprint.py,sha256=8FkIQLdQmPH_SZ0Ps6D48T3MRTHVFZYgAKB_IxtNpaE,18694 +numpy/core/tests/test_shape_base.py,sha256=Xq9XrA55m-qhqi02GuEpn_uINsfGJh7sCnuMulvM9eU,27248 +numpy/core/tests/test_simd.py,sha256=ucji7Ky7vUm7kQ-l_Jg8vuQ8dAlO2AvPrSXDyrw6lzM,37478 +numpy/core/tests/test_simd_module.py,sha256=EBJbHm9GchVD_hkQvVQfC-A0GZrIUX-zZEx8jiZUQe8,3758 +numpy/core/tests/test_ufunc.py,sha256=kHLFDyVuD_-EggqwddtVPEQ4oFYY4ZjxsFfJ_Ep1hmk,108584 +numpy/core/tests/test_umath.py,sha256=HgS6wTGkgxHNAM28fqhEuG1R247m9QrfmdtroQ1S5wk,162546 +numpy/core/tests/test_umath_accuracy.py,sha256=Ee5atEbgW-6N0C2fADMu62l7-iJmDQR2pZ0xVT5cNBs,3229 +numpy/core/tests/test_umath_complex.py,sha256=Jn4bfX2QsXvKYyDXLo7S4-TT9GkLMrQOX-1IwDLyV2I,23215 +numpy/core/tests/test_unicode.py,sha256=bBqQCQk_UZATySI4HdiWTgfenmgQCm5ynLc6SLvKiiw,12553 +numpy/core/umath.py,sha256=JbT_SxnZ_3MEmjOI9UtX3CcAzX5Q-4RDlnnhDAEJ5Vo,2040 +numpy/core/umath_tests.py,sha256=TIzaDfrEHHgSc2J5kxFEibq8MOPhwSuyOZOUBsZNVSM,389 +numpy/ctypeslib.py,sha256=Ae4Lbhr_EJRzzXb2dNYdYPXzjAP6wS6X7XePD8Dx6kc,17460 +numpy/ctypeslib.pyi,sha256=xbs_DWIxXd9Hk4M7bfpNsCJTY_ZVMfJepuYqq7U26SM,7962 +numpy/distutils/__config__.py,sha256=TXvjW8PcKIkWSx3pLCYYC2SMqmRP-0gKkOOvckDq6Ao,5143 +numpy/distutils/__init__.py,sha256=BU1C21439HRo7yH1SsN9me6WCDPpOwRQ37ZpNwDMqCw,2074 +numpy/distutils/__init__.pyi,sha256=D8LRE6BNOmuBGO-oakJGnjT9UJTk9zSR5rxMfZzlX64,119 +numpy/distutils/__pycache__/__config__.cpython-38.pyc,, +numpy/distutils/__pycache__/__init__.cpython-38.pyc,, +numpy/distutils/__pycache__/_shell_utils.cpython-38.pyc,, +numpy/distutils/__pycache__/armccompiler.cpython-38.pyc,, +numpy/distutils/__pycache__/ccompiler.cpython-38.pyc,, +numpy/distutils/__pycache__/ccompiler_opt.cpython-38.pyc,, +numpy/distutils/__pycache__/conv_template.cpython-38.pyc,, +numpy/distutils/__pycache__/core.cpython-38.pyc,, +numpy/distutils/__pycache__/cpuinfo.cpython-38.pyc,, +numpy/distutils/__pycache__/exec_command.cpython-38.pyc,, +numpy/distutils/__pycache__/extension.cpython-38.pyc,, +numpy/distutils/__pycache__/from_template.cpython-38.pyc,, +numpy/distutils/__pycache__/intelccompiler.cpython-38.pyc,, +numpy/distutils/__pycache__/lib2def.cpython-38.pyc,, +numpy/distutils/__pycache__/line_endings.cpython-38.pyc,, +numpy/distutils/__pycache__/log.cpython-38.pyc,, +numpy/distutils/__pycache__/mingw32ccompiler.cpython-38.pyc,, +numpy/distutils/__pycache__/misc_util.cpython-38.pyc,, +numpy/distutils/__pycache__/msvc9compiler.cpython-38.pyc,, +numpy/distutils/__pycache__/msvccompiler.cpython-38.pyc,, +numpy/distutils/__pycache__/npy_pkg_config.cpython-38.pyc,, +numpy/distutils/__pycache__/numpy_distribution.cpython-38.pyc,, +numpy/distutils/__pycache__/pathccompiler.cpython-38.pyc,, +numpy/distutils/__pycache__/setup.cpython-38.pyc,, +numpy/distutils/__pycache__/system_info.cpython-38.pyc,, +numpy/distutils/__pycache__/unixccompiler.cpython-38.pyc,, +numpy/distutils/_shell_utils.py,sha256=kMLOIoimB7PdFRgoVxCIyCFsIl1pP3d0hkm_s3E9XdA,2613 +numpy/distutils/armccompiler.py,sha256=SW12IT7WCB3CLMG_U2K1WDbtYozwFF-DtMDArmpOTkc,1043 +numpy/distutils/ccompiler.py,sha256=YkP9IhAaujo6eGTqv2JbooxpA2xVa8va4JlRp4IPkwg,28126 +numpy/distutils/ccompiler_opt.py,sha256=TJCncSrowJImwELGzAPw23uBfKVesf6nXyentNYTGXk,99751 +numpy/distutils/checks/cpu_asimd.c,sha256=nXUsTLrSlhRL-UzDM8zMqn1uqJnR7TRlJi3Ixqw539w,818 +numpy/distutils/checks/cpu_asimddp.c,sha256=E4b9zT1IdSfGR2ACZJiQoR-BqaeDtzFqRNW8lBOXAaY,432 +numpy/distutils/checks/cpu_asimdfhm.c,sha256=6tXINVEpmA-lYRSbL6CrBu2ejNFmd9WONFGgg-JFXZE,529 +numpy/distutils/checks/cpu_asimdhp.c,sha256=SfwrEEA_091tmyI4vN3BNLs7ypUnrF_VbTg6gPl-ocs,379 +numpy/distutils/checks/cpu_avx.c,sha256=LuZW8o93VZZi7cYEP30dvKWTm7Mw1TLmCt5UaXDxCJg,779 +numpy/distutils/checks/cpu_avx2.c,sha256=jlDlea393op0JOiMJgmmPyKmyAXztLcObPOp9F9FaS0,749 +numpy/distutils/checks/cpu_avx512_clx.c,sha256=P-YHjj2XE4SithBkPwDgShOxGWnVSNUXg72h8O3kpbs,842 +numpy/distutils/checks/cpu_avx512_cnl.c,sha256=f_c2Z0xwAKTJeK3RYMIp1dgXYV8QyeOxUgKkMht4qko,948 +numpy/distutils/checks/cpu_avx512_icl.c,sha256=isI35-gm7Hqn2Qink5hP1XHWlh52a5vwKhEdW_CRviE,1004 +numpy/distutils/checks/cpu_avx512_knl.c,sha256=Veq4zNRDDqABV1dPyYdpyPzqZnEBrRsPsTZU1ebPi_Y,956 +numpy/distutils/checks/cpu_avx512_knm.c,sha256=eszPGr3XC9Js7mQUB0gFxlrNjQwfucQFz_UwFyNLjes,1132 +numpy/distutils/checks/cpu_avx512_skx.c,sha256=59VD8ebEJJHLlbY-4dakZV34bmq_lr9mBKz8BAcsdYc,1010 +numpy/distutils/checks/cpu_avx512cd.c,sha256=Qfh5FJUv9ZWd_P5zxkvYYIkvqsPptgaDuKkeX_F8vyA,759 +numpy/distutils/checks/cpu_avx512f.c,sha256=d97NRcbJhqpvURnw7zyG0TOuEijKXvU0g4qOTWHbwxY,755 +numpy/distutils/checks/cpu_f16c.c,sha256=nzZzpUc8AfTtw-INR3KOxcjx9pyzVUM8OhsrdH2dO_w,868 +numpy/distutils/checks/cpu_fma3.c,sha256=YN6IDwuZALJHVVmpQ2tj-14HI_PcxH_giV8-XjzlmkU,817 +numpy/distutils/checks/cpu_fma4.c,sha256=qKdgTNNFg-n8vSB1Txco60HBLCcOi1aH23gZOX7yKqs,301 +numpy/distutils/checks/cpu_neon.c,sha256=Y0SjuVLzh3upcbY47igHjmKgjHbXxbvzncwB7acfjxw,600 +numpy/distutils/checks/cpu_neon_fp16.c,sha256=E7YOGyYP41u1sqiCHpCGGqjmo7Cs6yUkmJ46K7LZloc,251 +numpy/distutils/checks/cpu_neon_vfpv4.c,sha256=qFY1C_fQYz7M_a_8j0KTdn7vaE3NNVmWY2JGArDGM3w,609 +numpy/distutils/checks/cpu_popcnt.c,sha256=vRcXHVw2j1F9I_07eIZ_xzDX3fd3mqgiQXL1w3pULJk,1049 +numpy/distutils/checks/cpu_sse.c,sha256=6MHITtC76UpSR9uh0SiURpnkpPkLzT5tbrcXT4xBFxo,686 +numpy/distutils/checks/cpu_sse2.c,sha256=yUZzdjDtBS-vYlhfP-pEzj3m0UPmgZs-hA99TZAEACU,697 +numpy/distutils/checks/cpu_sse3.c,sha256=j5XRHumUuccgN9XPZyjWUUqkq8Nu8XCSWmvUhmJTJ08,689 +numpy/distutils/checks/cpu_sse41.c,sha256=y_k81P-1b-Hx8OeRVDE9V1O9JakS0zPvlFKJ3VbSmEw,675 +numpy/distutils/checks/cpu_sse42.c,sha256=3PXucdI2mII-txO7zFN99TlVveT_QUAETTGvRk-_hYw,692 +numpy/distutils/checks/cpu_ssse3.c,sha256=X6VWxIXMRpdSCBsHPXvot3yTZ4d5yK9Bi1ScQP3WC-Q,705 +numpy/distutils/checks/cpu_vsx.c,sha256=FVmR4iliKjcihzMCwloR1F2JYwSZK9P4f_hvIRLHSDQ,478 +numpy/distutils/checks/cpu_vsx2.c,sha256=yESs25Rt5ztb5-stuYbu3TbiyJKmllMpMLu01GOAHqE,263 +numpy/distutils/checks/cpu_vsx3.c,sha256=omC50tbEZNigsKMFPtE3zGRlIS2VuDTm3vZ9TBZWo4U,250 +numpy/distutils/checks/cpu_vsx4.c,sha256=ngezA1KuINqJkLAcMrZJR7bM0IeA25U6I-a5aISGXJo,305 +numpy/distutils/checks/cpu_vx.c,sha256=OpLU6jIfwvGJR4JPVVZLlUfvo7oAZ0YvsjafM2qtPlk,461 +numpy/distutils/checks/cpu_vxe.c,sha256=rYW_nKwXnlB0b8xCrJEr4TmvrEvS-NToxwyqqOHV8Bk,788 +numpy/distutils/checks/cpu_vxe2.c,sha256=Hv4wO23kwC2G6lqqercq4NE4K0nrvBxR7RIzr5HTXCc,624 +numpy/distutils/checks/cpu_xop.c,sha256=7uabsGeqvmVJQvuSEjs8-Sm8kpmvl6uZ9YHMF5h2opQ,234 +numpy/distutils/checks/extra_avx512bw_mask.c,sha256=pVPOhcu80yJVnIhOcHHXOlZ2proJ1MUf0XgccqhPoNk,636 +numpy/distutils/checks/extra_avx512dq_mask.c,sha256=nMfIvepISGFDexPrMYl5LWtdmt6Uy9TKPzF4BVayw2I,504 +numpy/distutils/checks/extra_avx512f_reduce.c,sha256=_NfbtfSAkm_A67umjR1oEb9yRnBL5EnTA76fvQIuNVk,1595 +numpy/distutils/checks/extra_vsx4_mma.c,sha256=GiQGZ9-6wYTgH42bJgSlXhWcTIrkjh5xv4uymj6rglk,499 +numpy/distutils/checks/extra_vsx_asm.c,sha256=BngiMVS9nyr22z6zMrOrHLeCloe_5luXhf5T5mYucgI,945 +numpy/distutils/checks/test_flags.c,sha256=uAIbhfAhyGe4nTdK_mZmoCefj9P0TGHNF9AUv_Cdx5A,16 +numpy/distutils/command/__init__.py,sha256=fW49zUB3syMFsKpf1oRBO0h8tmnTwRP3zUPrsB0R22M,1032 +numpy/distutils/command/__pycache__/__init__.cpython-38.pyc,, +numpy/distutils/command/__pycache__/autodist.cpython-38.pyc,, +numpy/distutils/command/__pycache__/bdist_rpm.cpython-38.pyc,, +numpy/distutils/command/__pycache__/build.cpython-38.pyc,, +numpy/distutils/command/__pycache__/build_clib.cpython-38.pyc,, +numpy/distutils/command/__pycache__/build_ext.cpython-38.pyc,, +numpy/distutils/command/__pycache__/build_py.cpython-38.pyc,, +numpy/distutils/command/__pycache__/build_scripts.cpython-38.pyc,, +numpy/distutils/command/__pycache__/build_src.cpython-38.pyc,, +numpy/distutils/command/__pycache__/config.cpython-38.pyc,, +numpy/distutils/command/__pycache__/config_compiler.cpython-38.pyc,, +numpy/distutils/command/__pycache__/develop.cpython-38.pyc,, +numpy/distutils/command/__pycache__/egg_info.cpython-38.pyc,, +numpy/distutils/command/__pycache__/install.cpython-38.pyc,, +numpy/distutils/command/__pycache__/install_clib.cpython-38.pyc,, +numpy/distutils/command/__pycache__/install_data.cpython-38.pyc,, +numpy/distutils/command/__pycache__/install_headers.cpython-38.pyc,, +numpy/distutils/command/__pycache__/sdist.cpython-38.pyc,, +numpy/distutils/command/autodist.py,sha256=8KWwr5mnjX20UpY4ITRDx-PreApyh9M7B92IwsEtTsQ,3718 +numpy/distutils/command/bdist_rpm.py,sha256=-tkZupIJr_jLqeX7xbRhE8-COXHRI0GoRpAKchVte54,709 +numpy/distutils/command/build.py,sha256=aj1SUGsDUTxs4Tch2ALLcPnuAVhaPjEPIZIobzMajm0,2613 +numpy/distutils/command/build_clib.py,sha256=qbxvwF5n8kfGSsL7H5BS7zguUYZss0X3kct8U20JQio,19235 +numpy/distutils/command/build_ext.py,sha256=WRGHAn2Z6NuV-DhS5_7L8KXjMOWmm8bRnR3KVYtT61E,31877 +numpy/distutils/command/build_py.py,sha256=XiLZ2d_tmCE8uG5VAU5OK2zlzQayBfeY4l8FFEltbig,1144 +numpy/distutils/command/build_scripts.py,sha256=P2ytmZb3UpwfmbMXkFB2iMQk15tNUCynzMATllmp-Gs,1665 +numpy/distutils/command/build_src.py,sha256=Lw3JsmSdi_DpWCtCxU4X5iYC6da5vkOhXzCrnlrgS98,31172 +numpy/distutils/command/config.py,sha256=v-nHMY-3gL7Q6PkM4K2XDVZM_GyUrAjpjNtsRT5-Y68,20724 +numpy/distutils/command/config_compiler.py,sha256=Cp9RTpW72gg8XC_3-9dCTlLYr352pBfBRZA8YBWvOoY,4369 +numpy/distutils/command/develop.py,sha256=9SbbnFnVbSJVZxTFoV9pwlOcM1D30GnOWm2QonQDvHI,575 +numpy/distutils/command/egg_info.py,sha256=i-Zk4sftK5cMQVQ2jqSxTMpVI-gYyXN16-p5TvmjURc,921 +numpy/distutils/command/install.py,sha256=wZfVabAMw-Y3tiAKcXTxC-So65RHo3zCy1ucoTmyECw,3078 +numpy/distutils/command/install_clib.py,sha256=1xv0_lPVu3g16GgICjjlh7T8zQ6PSlevCuq8Bocx5YM,1399 +numpy/distutils/command/install_data.py,sha256=Y59EBG61MWP_5C8XJvSCVfzYpMNVNVcH_Z6c0qgr9KA,848 +numpy/distutils/command/install_headers.py,sha256=tVpOGqkmh8AA_tam0K0SeCd4kvZj3UqSOjWKm6Kz4jY,919 +numpy/distutils/command/sdist.py,sha256=8Tsju1RwXNbPyQcjv8GRMFveFQqYlbNdSZh2X1OV-VU,733 +numpy/distutils/conv_template.py,sha256=F-4vkkfAjCb-fN79WYrXX3BMHMoiQO-W2u09q12OPuI,9536 +numpy/distutils/core.py,sha256=QBJNJdIE0a9Rr4lo-3QnmEaWyVV068l6HbVPdJ75iZg,8173 +numpy/distutils/cpuinfo.py,sha256=XuNhsx_-tyrui_AOgn10yfZ9p4YBM68vW2_bGmKj07I,22639 +numpy/distutils/exec_command.py,sha256=GDk5wRli-tV2ZLycbshnrGLcBgokvZmFMJntFwwT2l0,10343 +numpy/distutils/extension.py,sha256=YgeB8e2fVc2l_1etuRBv0P8c1NULOz4SaudHgsVBc30,3568 +numpy/distutils/fcompiler/__init__.py,sha256=aqsZMwMUfeNC56YwATyfs9G8dDrQ1JkdnF2Ah2ZTShQ,40535 +numpy/distutils/fcompiler/__pycache__/__init__.cpython-38.pyc,, +numpy/distutils/fcompiler/__pycache__/absoft.cpython-38.pyc,, +numpy/distutils/fcompiler/__pycache__/arm.cpython-38.pyc,, +numpy/distutils/fcompiler/__pycache__/compaq.cpython-38.pyc,, +numpy/distutils/fcompiler/__pycache__/environment.cpython-38.pyc,, +numpy/distutils/fcompiler/__pycache__/fujitsu.cpython-38.pyc,, +numpy/distutils/fcompiler/__pycache__/g95.cpython-38.pyc,, +numpy/distutils/fcompiler/__pycache__/gnu.cpython-38.pyc,, +numpy/distutils/fcompiler/__pycache__/hpux.cpython-38.pyc,, +numpy/distutils/fcompiler/__pycache__/ibm.cpython-38.pyc,, +numpy/distutils/fcompiler/__pycache__/intel.cpython-38.pyc,, +numpy/distutils/fcompiler/__pycache__/lahey.cpython-38.pyc,, +numpy/distutils/fcompiler/__pycache__/mips.cpython-38.pyc,, +numpy/distutils/fcompiler/__pycache__/nag.cpython-38.pyc,, +numpy/distutils/fcompiler/__pycache__/none.cpython-38.pyc,, +numpy/distutils/fcompiler/__pycache__/nv.cpython-38.pyc,, +numpy/distutils/fcompiler/__pycache__/pathf95.cpython-38.pyc,, +numpy/distutils/fcompiler/__pycache__/pg.cpython-38.pyc,, +numpy/distutils/fcompiler/__pycache__/sun.cpython-38.pyc,, +numpy/distutils/fcompiler/__pycache__/vast.cpython-38.pyc,, +numpy/distutils/fcompiler/absoft.py,sha256=NJxm5Qpiv9F1Z5VClIXwXKGmJoCCEDSZmZthJQZS2Rs,5499 +numpy/distutils/fcompiler/arm.py,sha256=LTfIzpwMEsaAhQ7jtT-ROPontrCTd259-p_ZxEJLIT8,2235 +numpy/distutils/fcompiler/compaq.py,sha256=sjU2GKHJGuChtRb_MhnouMqvkIOQflmowFE6ErCWZhE,3903 +numpy/distutils/fcompiler/environment.py,sha256=DOD2FtKDk6O9k6U0h9UKWQ-65wU8z1tSPn3gUlRwCso,3080 +numpy/distutils/fcompiler/fujitsu.py,sha256=yK3wdHoF5qq25UcnIM6FzTXsJGJxdfKa_f__t04Ne7M,1333 +numpy/distutils/fcompiler/g95.py,sha256=FH4uww6re50OUT_BfdoWSLCDUqk8LvmQ2_j5RhF5nLQ,1330 +numpy/distutils/fcompiler/gnu.py,sha256=ag8v_pp-fYpDPKJsVmNaFwN621b1MFQAxew0T1KdE_Y,20502 +numpy/distutils/fcompiler/hpux.py,sha256=gloUjWGo7MgJmukorDq7ZxDnnUKXx-C6AQfryQshVM4,1353 +numpy/distutils/fcompiler/ibm.py,sha256=W7r6W7kvGPBuWsrv-VsDHEUTq7bS73l4dVIU1ipm-IA,3539 +numpy/distutils/fcompiler/intel.py,sha256=XYF0GLVhJWjS8noEx4TJ704Eqt-JGBolRZEOkwgNItE,6570 +numpy/distutils/fcompiler/lahey.py,sha256=U63KMfN8zDAd_jnvMkS2N-dvP4UiSRB9Ces290qLNXw,1327 +numpy/distutils/fcompiler/mips.py,sha256=LAwT0DY5yqlYh20hNMYR1-OKu8A9GNw-TbUfI8pvglM,1714 +numpy/distutils/fcompiler/nag.py,sha256=9pQCMUlwjRVHGKwZxvwd4bW5p-9v7VXcflELEImHg1g,2777 +numpy/distutils/fcompiler/none.py,sha256=6RX2X-mV1HuhJZnVfQmDmLVhIUWseIT4P5wf3rdLq9Y,758 +numpy/distutils/fcompiler/nv.py,sha256=LGBQY417zibQ-fnPis5rNtP_I1Qk9OlhEFOnPvmwXHI,1560 +numpy/distutils/fcompiler/pathf95.py,sha256=MiHVar6-beUEYVEpqXORIX4f8G29I47D36kreltdfoQ,1061 +numpy/distutils/fcompiler/pg.py,sha256=NOB1stzrjvQMZS7bIPTgWTcAFe3cjNveA5-SztUZqD0,3568 +numpy/distutils/fcompiler/sun.py,sha256=mfS3RTj9uYT6K9Ikp8RjmsEPIWAtUTzMhX9sGjEyF6I,1577 +numpy/distutils/fcompiler/vast.py,sha256=Xuxa4sNraUPcQmt45SogAfN0kDHFb6C73uNZNmX3RBE,1667 +numpy/distutils/from_template.py,sha256=hpoFQortsLZdMSr_fJILzXzrIwFlZoFjsDSo6jNtvWs,7913 +numpy/distutils/intelccompiler.py,sha256=N_pvWjlLORdlH34cs97oU4LBNr_s9r5ddsmme7XEvs4,4234 +numpy/distutils/lib2def.py,sha256=NlfwSfYfUkW3bY4fRvvSgjUF7c6Gs99B6GoRsOrH6gI,3644 +numpy/distutils/line_endings.py,sha256=a8ZZECrPRffsbs0UygeR47_fOUlZppnx-QPssrIXtB0,2032 +numpy/distutils/log.py,sha256=m8caNBwPhIG7YTnD9iq9jjc6_yJOeU9FHuau2CSulds,2879 +numpy/distutils/mingw/gfortran_vs2003_hack.c,sha256=cbsN3Lk9Hkwzr9c-yOP2xEBg1_ml1X7nwAMDWxGjzc8,77 +numpy/distutils/mingw32ccompiler.py,sha256=gauMo6-R850v0zkh8O4YIOmLo1wQdGAYt8Gd60qbwWI,22284 +numpy/distutils/misc_util.py,sha256=2i49oIlLIfQhcWGzQn3dtBj8A6UVgKbrHWT_N3N2uTY,89383 +numpy/distutils/msvc9compiler.py,sha256=FCtP7g34AVuMIaqQlH8AV1ZBdIUXbk5G7eBeeTSr1zE,2192 +numpy/distutils/msvccompiler.py,sha256=tvTGpdK41L6yJe5W_o_TOFZV3p5IXtjSxmnVFaR52uU,1928 +numpy/distutils/npy_pkg_config.py,sha256=fIFyWLTqRySO3hn-0i0FNdHeblRN_hDv-wc68-sa3hQ,12972 +numpy/distutils/numpy_distribution.py,sha256=10Urolg1aDAG0EHYfcvObzOgqRV0ARh2GhDklEg4vS0,634 +numpy/distutils/pathccompiler.py,sha256=KnJEA5H4cXg7SLrMjwWtidD24VSvOdu72d17votiY9E,713 +numpy/distutils/setup.py,sha256=l9ke_Bws431UdBfysaq7ZeGtZ8dix76oh9Huq5qqbkU,634 +numpy/distutils/system_info.py,sha256=9jHSv4qtDjVbSqiy9eKmRpSKY7WRwzKL7AEcNctxY6g,111028 +numpy/distutils/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +numpy/distutils/tests/__pycache__/__init__.cpython-38.pyc,, +numpy/distutils/tests/__pycache__/test_build_ext.cpython-38.pyc,, +numpy/distutils/tests/__pycache__/test_ccompiler_opt.cpython-38.pyc,, +numpy/distutils/tests/__pycache__/test_ccompiler_opt_conf.cpython-38.pyc,, +numpy/distutils/tests/__pycache__/test_exec_command.cpython-38.pyc,, +numpy/distutils/tests/__pycache__/test_fcompiler.cpython-38.pyc,, +numpy/distutils/tests/__pycache__/test_fcompiler_gnu.cpython-38.pyc,, +numpy/distutils/tests/__pycache__/test_fcompiler_intel.cpython-38.pyc,, +numpy/distutils/tests/__pycache__/test_fcompiler_nagfor.cpython-38.pyc,, +numpy/distutils/tests/__pycache__/test_from_template.cpython-38.pyc,, +numpy/distutils/tests/__pycache__/test_log.cpython-38.pyc,, +numpy/distutils/tests/__pycache__/test_mingw32ccompiler.cpython-38.pyc,, +numpy/distutils/tests/__pycache__/test_misc_util.cpython-38.pyc,, +numpy/distutils/tests/__pycache__/test_npy_pkg_config.cpython-38.pyc,, +numpy/distutils/tests/__pycache__/test_shell_utils.cpython-38.pyc,, +numpy/distutils/tests/__pycache__/test_system_info.cpython-38.pyc,, +numpy/distutils/tests/test_build_ext.py,sha256=qX-j6UBmpigiwwZ9RMMkTcHXBrEB0QXYfejDlM2J-zc,2664 +numpy/distutils/tests/test_ccompiler_opt.py,sha256=7gwawxhjnI2h-8ErqQDgYYlNYI6MnNXhTEKczXFp5Ys,28751 +numpy/distutils/tests/test_ccompiler_opt_conf.py,sha256=vwUllmhwwgP6fyMqGUbIfDfUf2cLpQW4vudI6oWyuco,6345 +numpy/distutils/tests/test_exec_command.py,sha256=b2Vv5zCRnkH72vhQQRSeC3zWqJPdDBa1gcOzTyWnJ_g,7301 +numpy/distutils/tests/test_fcompiler.py,sha256=mJXezTXDUbduhCwVGAfABHpEARWhnj8hLW9EOU3rn84,1277 +numpy/distutils/tests/test_fcompiler_gnu.py,sha256=nmfaFCVzbViIOQ2-MjgXt-bN8Uj674hCgiwr5Iol-_U,2136 +numpy/distutils/tests/test_fcompiler_intel.py,sha256=mxkfFD2rNfg8nn1pp_413S0uCdYXydPWBcz9ilgGkA0,1058 +numpy/distutils/tests/test_fcompiler_nagfor.py,sha256=CKEjik7YVfSJGL4abuctkmlkIUhAhv-x2aUcXiTR9b0,1102 +numpy/distutils/tests/test_from_template.py,sha256=SDYoe0XUpAayyEQDq7ZhrvEEz7U9upJDLYzhcdoVifc,1103 +numpy/distutils/tests/test_log.py,sha256=0tSM4q-00CjbMIRb9QOJzI4A7GHUiRGOG1SOOLz8dnM,868 +numpy/distutils/tests/test_mingw32ccompiler.py,sha256=rMC8-IyBOiuZVfAoklV_KnD9qVeB_hFVvb5dStxfk08,1609 +numpy/distutils/tests/test_misc_util.py,sha256=Qs96vTr8GZSyVCWuamzcNlVMRa15vt0Y-T2yZSUm_QA,3218 +numpy/distutils/tests/test_npy_pkg_config.py,sha256=apGrmViPcXoPCEOgDthJgL13C9N0qQMs392QjZDxJd4,2557 +numpy/distutils/tests/test_shell_utils.py,sha256=OqwJrX9DsBjm4kXq2cBaioXle8FXEB70Ka8hk9sqfho,1954 +numpy/distutils/tests/test_system_info.py,sha256=3q3rJdD1dUUSsDXOXxqSU-Af-wwt56KnkmIQl4pLzvk,10996 +numpy/distutils/unixccompiler.py,sha256=fN4-LH6JJp44SLE7JkdG2kKQlK4LC8zuUpVC-RtmJ-U,5426 +numpy/doc/__init__.py,sha256=OYmE-F6x0CD05PCDY2MiW1HLlwB6i9vhDpk-a3r4lHY,508 +numpy/doc/__pycache__/__init__.cpython-38.pyc,, +numpy/doc/__pycache__/constants.cpython-38.pyc,, +numpy/doc/__pycache__/ufuncs.cpython-38.pyc,, +numpy/doc/constants.py,sha256=PlXoj7b4A8Aa9nADbg83uzTBRJaX8dvJmEdbn4FDPPo,9155 +numpy/doc/ufuncs.py,sha256=i1alLg19mNyCFZ2LYSOZGm--RsRN1x63U_UYU-N3x60,5357 +numpy/dual.py,sha256=aWZFc7rFVWLoWs9M4-nhf_S131RvsLRUdZrMIag_AzU,2214 +numpy/f2py/__init__.py,sha256=pz3o4B-f7ULADSfF1ml2Aij_dNAHv6l_UKMr9IyzH1s,5289 +numpy/f2py/__init__.pyi,sha256=Hg1AY3we-8hmhXq1fsFrTaUe5TD_FvIxkJIDiw5eI8Y,1107 +numpy/f2py/__main__.py,sha256=6i2jVH2fPriV1aocTY_dUFvWK18qa-zjpnISA-OpF3w,130 +numpy/f2py/__pycache__/__init__.cpython-38.pyc,, +numpy/f2py/__pycache__/__main__.cpython-38.pyc,, +numpy/f2py/__pycache__/__version__.cpython-38.pyc,, +numpy/f2py/__pycache__/auxfuncs.cpython-38.pyc,, +numpy/f2py/__pycache__/capi_maps.cpython-38.pyc,, +numpy/f2py/__pycache__/cb_rules.cpython-38.pyc,, +numpy/f2py/__pycache__/cfuncs.cpython-38.pyc,, +numpy/f2py/__pycache__/common_rules.cpython-38.pyc,, +numpy/f2py/__pycache__/crackfortran.cpython-38.pyc,, +numpy/f2py/__pycache__/diagnose.cpython-38.pyc,, +numpy/f2py/__pycache__/f2py2e.cpython-38.pyc,, +numpy/f2py/__pycache__/f90mod_rules.cpython-38.pyc,, +numpy/f2py/__pycache__/func2subr.cpython-38.pyc,, +numpy/f2py/__pycache__/rules.cpython-38.pyc,, +numpy/f2py/__pycache__/setup.cpython-38.pyc,, +numpy/f2py/__pycache__/symbolic.cpython-38.pyc,, +numpy/f2py/__pycache__/use_rules.cpython-38.pyc,, +numpy/f2py/__version__.py,sha256=7HHdjR82FCBmftwMRyrlhcEj-8mGQb6oCH-wlUPH4Nw,34 +numpy/f2py/auxfuncs.py,sha256=Arny8GrF89fqHngjxTPAKv9FoESZKC4eOJoF5JXm0Tk,21779 +numpy/f2py/capi_maps.py,sha256=dD0_oo40J6GysABX_XqcCSfZI2ElPAC0Q9QbVN2A3Oc,31388 +numpy/f2py/cb_rules.py,sha256=xXiiuGAmyJz-1KIOhkf5oGd4O2TUhqPPSL1L5Jexmw4,24854 +numpy/f2py/cfuncs.py,sha256=oLDiqLcPIRKrwSTNshg9kamfdpYxEB3ClsBNmu5F2GE,49442 +numpy/f2py/common_rules.py,sha256=IWfRQfhlSCziDn-3hGoIpIHGQ7yC-EaC0WKx9YrXs6I,4925 +numpy/f2py/crackfortran.py,sha256=fTElcMtCYotdYxeTs9xBhgahFz8-nLcAFq0cl2Gw-Nw,132025 +numpy/f2py/diagnose.py,sha256=W59xcrGVf-1ed9FkQgCxgW0d9a2lENaxHUpYVAZ2w00,5230 +numpy/f2py/f2py2e.py,sha256=LYDZRmF4McQV68jOkjg-JHk1MhAU5z0YVgLEkFsE_5k,24626 +numpy/f2py/f90mod_rules.py,sha256=oLZtJ_T1QNCra3CACW8oULmQioYU4bOVchWtgQp1zL8,9811 +numpy/f2py/func2subr.py,sha256=7Gg17NbMA8TooCEv-4_XBnfkg6Jjt1TAYkFIl0y--e4,9355 +numpy/f2py/rules.py,sha256=pZb_NNh5ZiZdSu38eY2zYXPRKFnChmHqmDyYSEUJWtc,61517 +numpy/f2py/setup.py,sha256=9QD603_UEa1HAuJHtoNY2twKwDKoepk72ikyKQpwhjM,2335 +numpy/f2py/src/fortranobject.c,sha256=0UeS33f19zFtrZP4liHUTSqfh2pYW3ZtloLf-9epEjM,37535 +numpy/f2py/src/fortranobject.h,sha256=aF7ACqS_fdrqj4sWi2aYB_Nsf9mcVU6jPGy-G-0Z54M,4384 +numpy/f2py/symbolic.py,sha256=3ERySC3mYO8-NfAfTDmMOd0yfPuYs8kceqxTXKFbpZA,53004 +numpy/f2py/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +numpy/f2py/tests/__pycache__/__init__.cpython-38.pyc,, +numpy/f2py/tests/__pycache__/test_abstract_interface.cpython-38.pyc,, +numpy/f2py/tests/__pycache__/test_array_from_pyobj.cpython-38.pyc,, +numpy/f2py/tests/__pycache__/test_assumed_shape.cpython-38.pyc,, +numpy/f2py/tests/__pycache__/test_block_docstring.cpython-38.pyc,, +numpy/f2py/tests/__pycache__/test_callback.cpython-38.pyc,, +numpy/f2py/tests/__pycache__/test_common.cpython-38.pyc,, +numpy/f2py/tests/__pycache__/test_compile_function.cpython-38.pyc,, +numpy/f2py/tests/__pycache__/test_crackfortran.cpython-38.pyc,, +numpy/f2py/tests/__pycache__/test_f2cmap.cpython-38.pyc,, +numpy/f2py/tests/__pycache__/test_f2py2e.cpython-38.pyc,, +numpy/f2py/tests/__pycache__/test_kind.cpython-38.pyc,, +numpy/f2py/tests/__pycache__/test_mixed.cpython-38.pyc,, +numpy/f2py/tests/__pycache__/test_module_doc.cpython-38.pyc,, +numpy/f2py/tests/__pycache__/test_parameter.cpython-38.pyc,, +numpy/f2py/tests/__pycache__/test_quoted_character.cpython-38.pyc,, +numpy/f2py/tests/__pycache__/test_regression.cpython-38.pyc,, +numpy/f2py/tests/__pycache__/test_return_character.cpython-38.pyc,, +numpy/f2py/tests/__pycache__/test_return_complex.cpython-38.pyc,, +numpy/f2py/tests/__pycache__/test_return_integer.cpython-38.pyc,, +numpy/f2py/tests/__pycache__/test_return_logical.cpython-38.pyc,, +numpy/f2py/tests/__pycache__/test_return_real.cpython-38.pyc,, +numpy/f2py/tests/__pycache__/test_semicolon_split.cpython-38.pyc,, +numpy/f2py/tests/__pycache__/test_size.cpython-38.pyc,, +numpy/f2py/tests/__pycache__/test_string.cpython-38.pyc,, +numpy/f2py/tests/__pycache__/test_symbolic.cpython-38.pyc,, +numpy/f2py/tests/__pycache__/util.cpython-38.pyc,, +numpy/f2py/tests/src/abstract_interface/foo.f90,sha256=JFU2w98cB_XNwfrqNtI0yDTmpEdxYO_UEl2pgI_rnt8,658 +numpy/f2py/tests/src/abstract_interface/gh18403_mod.f90,sha256=gvQJIzNtvacWE0dhysxn30-iUeI65Hpq7DiE9oRauz8,105 +numpy/f2py/tests/src/array_from_pyobj/wrapmodule.c,sha256=OJNF4ukYGmiVSmzeA8uVU6D4Fwa4wUysYVQRdul1_AI,7244 +numpy/f2py/tests/src/assumed_shape/.f2py_f2cmap,sha256=But9r9m4iL7EGq_haMW8IiQ4VivH0TgUozxX4pPvdpE,29 +numpy/f2py/tests/src/assumed_shape/foo_free.f90,sha256=oBwbGSlbr9MkFyhVO2aldjc01dr9GHrMrSiRQek8U64,460 +numpy/f2py/tests/src/assumed_shape/foo_mod.f90,sha256=rfzw3QdI-eaDSl-hslCgGpd5tHftJOVhXvb21Y9Gf6M,499 +numpy/f2py/tests/src/assumed_shape/foo_use.f90,sha256=rmT9k4jP9Ru1PLcGqepw9Jc6P9XNXM0axY7o4hi9lUw,269 +numpy/f2py/tests/src/assumed_shape/precision.f90,sha256=r08JeTVmTTExA-hYZ6HzaxVwBn1GMbPAuuwBhBDtJUk,130 +numpy/f2py/tests/src/block_docstring/foo.f,sha256=y7lPCPu7_Fhs_Tf2hfdpDQo1bhtvNSKRaZAOpM_l3dg,97 +numpy/f2py/tests/src/callback/foo.f,sha256=C1hjfpRCQWiOVVzIHqnsYcnLrqQcixrnHCn8hd9GhVk,1254 +numpy/f2py/tests/src/callback/gh17797.f90,sha256=_Nrl0a2HgUbtymGU0twaJ--7rMa1Uco2A3swbWvHoMo,148 +numpy/f2py/tests/src/callback/gh18335.f90,sha256=NraOyKIXyvv_Y-3xGnmTjtNjW2Znsnlk8AViI8zfovc,506 +numpy/f2py/tests/src/cli/hi77.f,sha256=ttyI6vAP3qLnDqy82V04XmoqrXNM6uhMvvLri2p0dq0,71 +numpy/f2py/tests/src/cli/hiworld.f90,sha256=QWOLPrTxYQu1yrEtyQMbM0fE9M2RmXe7c185KnD5x3o,51 +numpy/f2py/tests/src/common/block.f,sha256=GQ0Pd-VMX3H3a-__f2SuosSdwNXHpBqoGnQDjf8aG9g,224 +numpy/f2py/tests/src/crackfortran/accesstype.f90,sha256=-5Din7YlY1TU7tUHD2p-_DSTxGBpDsWYNeT9WOwGhno,208 +numpy/f2py/tests/src/crackfortran/foo_deps.f90,sha256=CaH7mnWTG7FcnJe2vXN_0zDbMadw6NCqK-JJ2HmDjK8,128 +numpy/f2py/tests/src/crackfortran/gh15035.f,sha256=jJly1AzF5L9VxbVQ0vr-sf4LaUo4eQzJguhuemFxnvg,375 +numpy/f2py/tests/src/crackfortran/gh17859.f,sha256=7K5dtOXGuBDAENPNCt-tAGJqTfNKz5OsqVSk16_e7Es,340 +numpy/f2py/tests/src/crackfortran/gh2848.f90,sha256=gPNasx98SIf7Z9ibk_DHiGKCvl7ERtsfoGXiFDT7FbM,282 +numpy/f2py/tests/src/crackfortran/operators.f90,sha256=-Fc-qjW1wBr3Dkvdd5dMTrt0hnjnV-1AYo-NFWcwFSo,1184 +numpy/f2py/tests/src/crackfortran/privatemod.f90,sha256=7bubZGMIn7iD31wDkjF1TlXCUM7naCIK69M9d0e3y-U,174 +numpy/f2py/tests/src/crackfortran/publicmod.f90,sha256=Pnwyf56Qd6W3FUH-ZMgnXEYkb7gn18ptNTdwmGan0Jo,167 +numpy/f2py/tests/src/f2cmap/.f2py_f2cmap,sha256=iUOtfHd3OuT1Rz2-yiSgt4uPKGvCt5AzQ1iygJt_yjg,82 +numpy/f2py/tests/src/f2cmap/isoFortranEnvMap.f90,sha256=Jc20TOyOB4up6ZlPTgVX5qqfZFutYZ6rLKA7wSNNGw0,298 +numpy/f2py/tests/src/kind/foo.f90,sha256=zIHpw1KdkWbTzbXb73hPbCg4N2Htj3XL8DIwM7seXpo,347 +numpy/f2py/tests/src/mixed/foo.f,sha256=90zmbSHloY1XQYcPb8B5d9bv9mCZx8Z8AMTtgDwJDz8,85 +numpy/f2py/tests/src/mixed/foo_fixed.f90,sha256=pxKuPzxF3Kn5khyFq9ayCsQiolxB3SaNtcWaK5j6Rv4,179 +numpy/f2py/tests/src/mixed/foo_free.f90,sha256=fIQ71wrBc00JUAVUj_r3QF9SdeNniBiMw6Ly7CGgPWU,139 +numpy/f2py/tests/src/module_data/mod.mod,sha256=EkjrU7NTZrOH68yKrz6C_eyJMSFSxGgC2yMQT9Zscek,412 +numpy/f2py/tests/src/module_data/module_data_docstring.f90,sha256=tDZ3fUlazLL8ThJm3VwNGJ75QIlLcW70NnMFv-JA4W0,224 +numpy/f2py/tests/src/negative_bounds/issue_20853.f90,sha256=fdOPhRi7ipygwYCXcda7p_dlrws5Hd2GlpF9EZ-qnck,157 +numpy/f2py/tests/src/parameter/constant_both.f90,sha256=-bBf2eqHb-uFxgo6Q7iAtVUUQzrGFqzhHDNaxwSICfQ,1939 +numpy/f2py/tests/src/parameter/constant_compound.f90,sha256=re7pfzcuaquiOia53UT7qNNrTYu2euGKOF4IhoLmT6g,469 +numpy/f2py/tests/src/parameter/constant_integer.f90,sha256=nEmMLitKoSAG7gBBEQLWumogN-KS3DBZOAZJWcSDnFw,612 +numpy/f2py/tests/src/parameter/constant_non_compound.f90,sha256=IcxESVLKJUZ1k9uYKoSb8Hfm9-O_4rVnlkiUU2diy8Q,609 +numpy/f2py/tests/src/parameter/constant_real.f90,sha256=quNbDsM1Ts2rN4WtPO67S9Xi_8l2cXabWRO00CPQSSQ,610 +numpy/f2py/tests/src/quoted_character/foo.f,sha256=WjC9D9171fe2f7rkUAZUvik9bkIf9adByfRGzh6V0cM,482 +numpy/f2py/tests/src/regression/inout.f90,sha256=CpHpgMrf0bqA1W3Ozo3vInDz0RP904S7LkpdAH6ODck,277 +numpy/f2py/tests/src/return_character/foo77.f,sha256=WzDNF3d_hUDSSZjtxd3DtE-bSx1ilOMEviGyYHbcFgM,980 +numpy/f2py/tests/src/return_character/foo90.f90,sha256=ULcETDEt7gXHRzmsMhPsGG4o3lGrcx-FEFaJsPGFKyA,1248 +numpy/f2py/tests/src/return_complex/foo77.f,sha256=8ECRJkfX82oFvGWKbIrCvKjf5QQQClx4sSEvsbkB6A8,973 +numpy/f2py/tests/src/return_complex/foo90.f90,sha256=c1BnrtWwL2dkrTr7wvlEqNDg59SeNMo3gyJuGdRwcDw,1238 +numpy/f2py/tests/src/return_integer/foo77.f,sha256=_8k1evlzBwvgZ047ofpdcbwKdF8Bm3eQ7VYl2Y8b5kA,1178 +numpy/f2py/tests/src/return_integer/foo90.f90,sha256=bzxbYtofivGRYH35Ang9ScnbNsVERN8-6ub5-eI-LGQ,1531 +numpy/f2py/tests/src/return_logical/foo77.f,sha256=FxiF_X0HkyXHzJM2rLyTubZJu4JB-ObLnVqfZwAQFl8,1188 +numpy/f2py/tests/src/return_logical/foo90.f90,sha256=9KmCe7yJYpi4ftkKOM3BCDnPOdBPTbUNrKxY3p37O14,1531 +numpy/f2py/tests/src/return_real/foo77.f,sha256=ZTrzb6oDrIDPlrVWP3Bmtkbz3ffHaaSQoXkfTGtCuFE,933 +numpy/f2py/tests/src/return_real/foo90.f90,sha256=gZuH5lj2lG6gqHlH766KQ3J4-Ero-G4WpOOo2MG3ohU,1194 +numpy/f2py/tests/src/size/foo.f90,sha256=IlFAQazwBRr3zyT7v36-tV0-fXtB1d7WFp6S1JVMstg,815 +numpy/f2py/tests/src/string/char.f90,sha256=ihr_BH9lY7eXcQpHHDQhFoKcbu7VMOX5QP2Tlr7xlaM,618 +numpy/f2py/tests/src/string/fixed_string.f90,sha256=5n6IkuASFKgYICXY9foCVoqndfAY0AQZFEK8L8ARBGM,695 +numpy/f2py/tests/src/string/string.f,sha256=shr3fLVZaa6SyUJFYIF1OZuhff8v5lCwsVNBU2B-3pk,248 +numpy/f2py/tests/test_abstract_interface.py,sha256=qH97VaPKDPA5LekfA_0DYuE8_Wq8-d4Dqx-J5wJU3zU,721 +numpy/f2py/tests/test_array_from_pyobj.py,sha256=MyXMcHQbvBUyB-sxrEjnG_pkt5hNpTQlxYpWiVCirg4,22071 +numpy/f2py/tests/test_assumed_shape.py,sha256=gmaopkXIxIy6RqGF9mLLbFbcJ-ugPZIFZmGsw7WSo0M,1445 +numpy/f2py/tests/test_block_docstring.py,sha256=SEpuq73T9oVtHhRVilFf1xF7nb683d4-Kv7V0kfL4AA,564 +numpy/f2py/tests/test_callback.py,sha256=A2gdVQMQt8OxvIQo4dkoEqafi_k7IKGR_Z19eOJJe94,6087 +numpy/f2py/tests/test_common.py,sha256=SZlrUR1e_CbkUD4O6i99QgUmOctHQNP0MmyhMWpio5E,584 +numpy/f2py/tests/test_compile_function.py,sha256=9d_FZ8P2wbIlQ2qPDRrsFqPb4nMH8tiWqYZN-P_shCs,4186 +numpy/f2py/tests/test_crackfortran.py,sha256=-ShAU5BU-eBAIdTr5Pc699OR7TStkHz7RIQiUDEUM0Y,8934 +numpy/f2py/tests/test_f2cmap.py,sha256=p-Sylbr3ctdKT3UQV9FzpCuYPH5U7Vyn8weXFAjiI9o,391 +numpy/f2py/tests/test_f2py2e.py,sha256=B0nL4uL8kwqoDpMkur5juolUns7RoVSun0zh20mW6hk,19766 +numpy/f2py/tests/test_kind.py,sha256=PVTTv8_7JyYK-443Hsup0CY97nkK_5AVth-agnNG87g,847 +numpy/f2py/tests/test_mixed.py,sha256=Ctuw-H7DxhPjSt7wZdJ2xffawIoEBCPWc5F7PSkY4HY,848 +numpy/f2py/tests/test_module_doc.py,sha256=sjCXWIKrqMD1NQ1DUAzgQqkjS5w9h9gvM_Lj29Rdcrg,863 +numpy/f2py/tests/test_parameter.py,sha256=ADI7EV_CM4ztICpqHqeq8LI-WdB6cX0ttatdRdjbsUA,3941 +numpy/f2py/tests/test_quoted_character.py,sha256=cpjMdrHwimnkoJkXd_W_FSlh43oWytY5VHySW9oskO4,454 +numpy/f2py/tests/test_regression.py,sha256=19GNZxElsPX1HV0p5pXrh4_KWt0whjeZTLDEttA0aHI,2157 +numpy/f2py/tests/test_return_character.py,sha256=ivRGEMRYP_X0YX20YdflZRSui9QsywTyq6_oBZ5_IV8,1491 +numpy/f2py/tests/test_return_complex.py,sha256=2dKwE8719iJj-gn_N4zNy8Z2FFS3BYDPzcfNHJdbiqM,2390 +numpy/f2py/tests/test_return_integer.py,sha256=JwxT4obkr0PZsdJqJWIpdY0UiL0xa4xgVBlkWV0LqO4,1850 +numpy/f2py/tests/test_return_logical.py,sha256=ydbhcxkHPweakobMdM-N6m9PjMEUO3fFXjNyrMMLtWY,2017 +numpy/f2py/tests/test_return_real.py,sha256=03xCQfSUKUA7phf0CpjhsjyoD9CCbLyTk0w0SdWhkvA,3346 +numpy/f2py/tests/test_semicolon_split.py,sha256=_Mdsi84lES18pPjl9J-QsbGttV4tPFFjZvJvejNcqPc,1635 +numpy/f2py/tests/test_size.py,sha256=q6YqQvcyqdXJeWbGijTiCbxyEG3EkPcvT8AlAW6RCMo,1164 +numpy/f2py/tests/test_string.py,sha256=5xZOfdReoHnId0950XfmtfduPPfBbtMkzBoXMtygvMk,2962 +numpy/f2py/tests/test_symbolic.py,sha256=28quk2kTKfWhKe56n4vINJ8G9weKBfc7HysMlE9J3_g,18341 +numpy/f2py/tests/util.py,sha256=rq0GJwksZHQRG2kCtvtU6yyCJiXCZPQUr1P285mZuIM,10189 +numpy/f2py/use_rules.py,sha256=5t6X17rF6y42SwuUYe1LtNihJJEIgCU7f9jPqKphfgA,3587 +numpy/fft/__init__.py,sha256=HqjmF6s_dh0Ri4UZzUDtOKbNUyfAfJAWew3e3EL_KUk,8175 +numpy/fft/__init__.pyi,sha256=vD9Xzz5r13caF4AVL87Y4U9KOj9ic25Vci_wb3dmgpk,550 +numpy/fft/__pycache__/__init__.cpython-38.pyc,, +numpy/fft/__pycache__/_pocketfft.cpython-38.pyc,, +numpy/fft/__pycache__/helper.cpython-38.pyc,, +numpy/fft/__pycache__/setup.cpython-38.pyc,, +numpy/fft/_pocketfft.py,sha256=Xkm8wcP4JyBNMbp0ZoHIWhNDlgliX24RzrDuo29uRks,52897 +numpy/fft/_pocketfft.pyi,sha256=S6-ylUuHbgm8vNbh7tLru6K2R5SJzE81BC_Sllm6QrQ,2371 +numpy/fft/_pocketfft_internal.cpython-38-x86_64-linux-gnu.so,sha256=kpYUwsEzlh9B4ef2r9DsjcLtrRsV_JtbHVNY2qOtHi4,97032 +numpy/fft/helper.py,sha256=aNj1AcLvtfoX26RiLOwcR-k2QSMuBZkGj2Fu0CeFPJs,6154 +numpy/fft/helper.pyi,sha256=IyF_3Aj28khupENTnh6iXU6IqY7t0Me6POJWGTCrLMw,1152 +numpy/fft/setup.py,sha256=OJPeJK4PuEtWRw_yVTZj4dKxfu2y-w3ZtQ6EUaQjQyk,728 +numpy/fft/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +numpy/fft/tests/__pycache__/__init__.cpython-38.pyc,, +numpy/fft/tests/__pycache__/test_helper.cpython-38.pyc,, +numpy/fft/tests/__pycache__/test_pocketfft.cpython-38.pyc,, +numpy/fft/tests/test_helper.py,sha256=whgeaQ8PzFf3B1wkbXobGZ5sF4WxPp4gf1UPUVZest8,6148 +numpy/fft/tests/test_pocketfft.py,sha256=lG4NLMbHid5gAXe4HxpayUK08T5wNJnBOwbhW4vY5Lw,12827 +numpy/lib/__init__.py,sha256=FbFTdqaeZW-euF0vebpg1jE3MYEjB8tS9eoYIRtnUHg,1779 +numpy/lib/__init__.pyi,sha256=NL1R-fQAOrnEQ-eRd4mwSM-46gryLzyZWb3f7SFr84Q,5582 +numpy/lib/__pycache__/__init__.cpython-38.pyc,, +numpy/lib/__pycache__/_datasource.cpython-38.pyc,, +numpy/lib/__pycache__/_iotools.cpython-38.pyc,, +numpy/lib/__pycache__/_version.cpython-38.pyc,, +numpy/lib/__pycache__/arraypad.cpython-38.pyc,, +numpy/lib/__pycache__/arraysetops.cpython-38.pyc,, +numpy/lib/__pycache__/arrayterator.cpython-38.pyc,, +numpy/lib/__pycache__/format.cpython-38.pyc,, +numpy/lib/__pycache__/function_base.cpython-38.pyc,, +numpy/lib/__pycache__/histograms.cpython-38.pyc,, +numpy/lib/__pycache__/index_tricks.cpython-38.pyc,, +numpy/lib/__pycache__/mixins.cpython-38.pyc,, +numpy/lib/__pycache__/nanfunctions.cpython-38.pyc,, +numpy/lib/__pycache__/npyio.cpython-38.pyc,, +numpy/lib/__pycache__/polynomial.cpython-38.pyc,, +numpy/lib/__pycache__/recfunctions.cpython-38.pyc,, +numpy/lib/__pycache__/scimath.cpython-38.pyc,, +numpy/lib/__pycache__/setup.cpython-38.pyc,, +numpy/lib/__pycache__/shape_base.cpython-38.pyc,, +numpy/lib/__pycache__/stride_tricks.cpython-38.pyc,, +numpy/lib/__pycache__/twodim_base.cpython-38.pyc,, +numpy/lib/__pycache__/type_check.cpython-38.pyc,, +numpy/lib/__pycache__/ufunclike.cpython-38.pyc,, +numpy/lib/__pycache__/user_array.cpython-38.pyc,, +numpy/lib/__pycache__/utils.cpython-38.pyc,, +numpy/lib/_datasource.py,sha256=8S1FpiqOhaFkFW8dJw969p2i94eC7uz8ynqOel2-bNc,22643 +numpy/lib/_iotools.py,sha256=OL6MmiWabT1_g30YhGjYrNFuBoNSyDCHqiDgXuu_qFQ,30873 +numpy/lib/_version.py,sha256=6vK7czNSB_KrWx2rZJzJ1pyOc73Q07hAgfLB5ItUCnU,4855 +numpy/lib/_version.pyi,sha256=B572hyWrUWG-TAAAXrNNAT4AgyUAmJ4lvgpwMkDzunk,633 +numpy/lib/arraypad.py,sha256=PoLrImHYFt_V17_r0lDfDlYViZHOPbLEiqtomFAdlxU,31226 +numpy/lib/arraypad.pyi,sha256=ADXphtAORYl3EqvE5qs_u32B_TALKSOtF43jOLmoxRw,1728 +numpy/lib/arraysetops.py,sha256=g_YyVd8pTvzdLpVvEaK7gt6Aeleg8myJZl0mGgduqEA,26737 +numpy/lib/arraysetops.pyi,sha256=zFIbRBIx5FMqc86QIKFjHRcjukm5rQ60UOJzid0-kNs,8337 +numpy/lib/arrayterator.py,sha256=BQ97S00zvfURUZfes0GZo-5hydYNRuvwX1I1bLzeRik,7063 +numpy/lib/arrayterator.pyi,sha256=f7Pwp83_6DiMYmJGUsffncM-FRAynB1iYGvhmHM_SZE,1537 +numpy/lib/format.py,sha256=Ne4qD9sVdL-jC4KeBeAzzYK5AkglssJfQFsOfMLCURs,31377 +numpy/lib/format.pyi,sha256=YWBxC3GdsZ7SKBN8I7nMwWeVuFD1aT9d-VJ8zE4-P-o,748 +numpy/lib/function_base.py,sha256=TWELOISkcyPB6zbS0Eq60JYecrPw3Vk2rq9LGaZWywo,183129 +numpy/lib/function_base.pyi,sha256=LsBWh4kM95xFods3iqjrc9xrjQnlBXTR56pNtqXeN84,16691 +numpy/lib/histograms.py,sha256=1ZYXjmD6D14VyjZvSpXTABASoz7fT0us22hgRtsZApQ,40212 +numpy/lib/histograms.pyi,sha256=O0vgZnCFsHG1WVIZXA4yLtpF9v6wpiOyrBAI6A_Q2wA,1050 +numpy/lib/index_tricks.py,sha256=27B5ZJl8pQcAkt_ICZEIjQsDwgt-gMt_GXPIhdQZtNk,30575 +numpy/lib/index_tricks.pyi,sha256=1zACf_X8lbHWOkfkxLJZ5o5Ig_wmRXT_EbA7wnqOlvw,4241 +numpy/lib/mixins.py,sha256=awJWn-wXkA6fg3TaPvMtXzUWaJVXKAn8fOt3XLPJ690,7052 +numpy/lib/mixins.pyi,sha256=h9N1kbZsUntF0zjOxPYeD_rCB2dMiG35TYYPl9ymkI4,3117 +numpy/lib/nanfunctions.py,sha256=GXsgklyf-H8TqnyJsXe504aFy8Ddl92Uqu6we96Mr38,65666 +numpy/lib/nanfunctions.pyi,sha256=oPqAfCinmBL85Ji7ko4QlzAzLAK9nZL0t2_CllEbCEU,606 +numpy/lib/npyio.py,sha256=qP8jxGKY1NFH2u26mRgHFTGkf5vmg7--8rTe-TDJdKM,95407 +numpy/lib/npyio.pyi,sha256=tw5eZd7Tk6ohtH2C7uBGgYjJbSHx0qSOnSeCUBSlKKI,9616 +numpy/lib/polynomial.py,sha256=tfqWBGIDhT9oCs9YU66Xv5UejeM1GliLVMhcCAKXVnc,44143 +numpy/lib/polynomial.pyi,sha256=GerIpQnf5LdtFMOy9AxhOTqUyfn57k4MxqEYrfdckWE,6958 +numpy/lib/recfunctions.py,sha256=lbGH6XM5k-M4yO6jUN7kRnPRCFeWHS2GqWViEehtzdM,56324 +numpy/lib/scimath.py,sha256=T4ITysZgqhY1J8IxyXCtioHjMTg2ci-4i3mr9TBF2UA,15037 +numpy/lib/scimath.pyi,sha256=E2roKJzMFwWSyhLu8UPUr54WOpxF8jp_pyXYBgsUSQ8,2883 +numpy/lib/setup.py,sha256=0K5NJKuvKvNEWp-EX7j0ODi3ZQQgIMHobzSFJq3G7yM,405 +numpy/lib/shape_base.py,sha256=SyP0QGyroBugy2n45sfV7aMDwxgO0KdhIGpuA8Pujng,39267 +numpy/lib/shape_base.pyi,sha256=t7koJnkOXLootnfoqtUsMC1r7kUMmWkNRpCMh34MTDg,5184 +numpy/lib/stride_tricks.py,sha256=brY5b-0YQJuIH2CavfpIinMolyTUv5k9DUvLoZ-imis,17911 +numpy/lib/stride_tricks.pyi,sha256=0pQ4DP9l6g21q2Ajv6dJFRWMr9auPGTNV9BmZUbogPY,1747 +numpy/lib/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +numpy/lib/tests/__pycache__/__init__.cpython-38.pyc,, +numpy/lib/tests/__pycache__/test__datasource.cpython-38.pyc,, +numpy/lib/tests/__pycache__/test__iotools.cpython-38.pyc,, +numpy/lib/tests/__pycache__/test__version.cpython-38.pyc,, +numpy/lib/tests/__pycache__/test_arraypad.cpython-38.pyc,, +numpy/lib/tests/__pycache__/test_arraysetops.cpython-38.pyc,, +numpy/lib/tests/__pycache__/test_arrayterator.cpython-38.pyc,, +numpy/lib/tests/__pycache__/test_financial_expired.cpython-38.pyc,, +numpy/lib/tests/__pycache__/test_format.cpython-38.pyc,, +numpy/lib/tests/__pycache__/test_function_base.cpython-38.pyc,, +numpy/lib/tests/__pycache__/test_histograms.cpython-38.pyc,, +numpy/lib/tests/__pycache__/test_index_tricks.cpython-38.pyc,, +numpy/lib/tests/__pycache__/test_io.cpython-38.pyc,, +numpy/lib/tests/__pycache__/test_loadtxt.cpython-38.pyc,, +numpy/lib/tests/__pycache__/test_mixins.cpython-38.pyc,, +numpy/lib/tests/__pycache__/test_nanfunctions.cpython-38.pyc,, +numpy/lib/tests/__pycache__/test_packbits.cpython-38.pyc,, +numpy/lib/tests/__pycache__/test_polynomial.cpython-38.pyc,, +numpy/lib/tests/__pycache__/test_recfunctions.cpython-38.pyc,, +numpy/lib/tests/__pycache__/test_regression.cpython-38.pyc,, +numpy/lib/tests/__pycache__/test_shape_base.cpython-38.pyc,, +numpy/lib/tests/__pycache__/test_stride_tricks.cpython-38.pyc,, +numpy/lib/tests/__pycache__/test_twodim_base.cpython-38.pyc,, +numpy/lib/tests/__pycache__/test_type_check.cpython-38.pyc,, +numpy/lib/tests/__pycache__/test_ufunclike.cpython-38.pyc,, +numpy/lib/tests/__pycache__/test_utils.cpython-38.pyc,, +numpy/lib/tests/data/py2-objarr.npy,sha256=F4cyUC-_TB9QSFLAo2c7c44rC6NUYIgrfGx9PqWPSKk,258 +numpy/lib/tests/data/py2-objarr.npz,sha256=xo13HBT0FbFZ2qvZz0LWGDb3SuQASSaXh7rKfVcJjx4,366 +numpy/lib/tests/data/py3-objarr.npy,sha256=pTTVh8ezp-lwAK3fkgvdKU8Arp5NMKznVD-M6Ex_uA0,341 +numpy/lib/tests/data/py3-objarr.npz,sha256=qQR0gS57e9ta16d_vCQjaaKM74gPdlwCPkp55P-qrdw,449 +numpy/lib/tests/data/python3.npy,sha256=X0ad3hAaLGXig9LtSHAo-BgOvLlFfPYMnZuVIxRmj-0,96 +numpy/lib/tests/data/win64python2.npy,sha256=agOcgHVYFJrV-nrRJDbGnUnF4ZTPYXuSeF-Mtg7GMpc,96 +numpy/lib/tests/test__datasource.py,sha256=HLhDpqI36qIWXdLmY9pPXpZSZdRccMKZ-h2U5jl62gE,10487 +numpy/lib/tests/test__iotools.py,sha256=HerCqvDE07JxjFQlWEfpZO7lC9z0Sbr3z20GSutoCPs,13743 +numpy/lib/tests/test__version.py,sha256=aO3YgkAohLsLzCNQ7vjIwdpFUMz0cPLbcuuxIkjuN74,1999 +numpy/lib/tests/test_arraypad.py,sha256=tk44LLvBuOMmcFN-_2ao8ykkqXHiuDyj-lRL1UL0A1I,54278 +numpy/lib/tests/test_arraysetops.py,sha256=_duBTnyplA4qlMPDcTUwH4ixl95g7ELOX8z9GUzCd8E,28747 +numpy/lib/tests/test_arrayterator.py,sha256=AYs2SwV5ankgwnvKI9RSO1jZck118nu3SyZ4ngzZNso,1291 +numpy/lib/tests/test_financial_expired.py,sha256=yq5mqGMvqpkiiw9CuZhJgrYa7Squj1mXr_G-IvAFgwI,247 +numpy/lib/tests/test_format.py,sha256=7olWpFK7Wt0y1XwhTaaGH67ncF9CLJvEH6T-qCZ5b-c,38457 +numpy/lib/tests/test_function_base.py,sha256=nsF0B0d2tJ0JlfX55kqXZgCdIkpPq_rSo_LxG66SEuA,147264 +numpy/lib/tests/test_histograms.py,sha256=HFCgnxK_UsiHyq1gSZPNYvDorMou2LDXDXndpe9589o,33672 +numpy/lib/tests/test_index_tricks.py,sha256=hufhkDwdubN-6wk0vghkE5vE9TC7Kc_gmw50b-r7sgU,18955 +numpy/lib/tests/test_io.py,sha256=bkrQ2JhVn2IMiOmc_ab8bsMX7fP9quhM9_7pT280NF0,106646 +numpy/lib/tests/test_loadtxt.py,sha256=MnTEgF7GzBeMf8Z9iJn0jNc4mxL1snQybse7Kt_eBfg,37404 +numpy/lib/tests/test_mixins.py,sha256=Wivwz3XBWsEozGzrzsyyvL3qAuE14t1BHk2LPm9Z9Zc,7030 +numpy/lib/tests/test_nanfunctions.py,sha256=dHUvkPoKr9pEqqpMQ-W4mtYPaUqNdyBEl7GRBZYUSzg,44591 +numpy/lib/tests/test_packbits.py,sha256=OWGAd5g5GG0gl7WHqNfwkZ7G-2rrtLt2sI854PG4nnw,17546 +numpy/lib/tests/test_polynomial.py,sha256=URouxJpr8FQ5hiKybqhtOcLA7e-3hj4kWzjLBROByyA,11395 +numpy/lib/tests/test_recfunctions.py,sha256=QioJDHHWUeOyTVQ9tqm6i-BvWkco77tgTBrHX7rm5eM,41099 +numpy/lib/tests/test_regression.py,sha256=KzGFkhTcvEG97mymoOQ2hP2CEr2nPZou0Ztf4-WaXCs,8257 +numpy/lib/tests/test_shape_base.py,sha256=2G1FCskYEfVk_1uu8qPSbWG59aF9zXzjVhztpZU-1NA,25739 +numpy/lib/tests/test_stride_tricks.py,sha256=wprpWWH5eq07DY7rzG0WDv5fMtLxzRQz6fm6TZWlScQ,22849 +numpy/lib/tests/test_twodim_base.py,sha256=zbTVB5bz9m1o1F1UKsSseF6BcfYoJPg_6n3HPNwp_BY,18951 +numpy/lib/tests/test_type_check.py,sha256=akjNP3V7IGIdvoA73cxrx6XdaNRTaUaKdAR-XPYm9tw,15119 +numpy/lib/tests/test_ufunclike.py,sha256=8umwt73iT_zIbk20MxQSoK5LWD6Bvv9gBUkaPXiRNEw,3278 +numpy/lib/tests/test_utils.py,sha256=XJH5jKw9VvX0iYeIZKwmAWSXKB_kxMU2xGDLet3i3Kc,4560 +numpy/lib/twodim_base.py,sha256=-kAclSeduaVth6csSLB48OPYu32FoEmL16nLjjYPjhc,31612 +numpy/lib/twodim_base.pyi,sha256=wXqIqsDiGg0HOfYJkYIsV1b4FBq_dI39yMrFfAKllNs,5463 +numpy/lib/type_check.py,sha256=fLW_HRLqV4zzsL0QHVgJ7axUtAghK90za-BweERX200,19931 +numpy/lib/type_check.pyi,sha256=LPvAvIxU-p5i_Qe-ic7hEvo4OTfSrNpplxMG7OAZe8Q,5571 +numpy/lib/ufunclike.py,sha256=8WVNpHtt5kOkPYDhvlmHql-Swg5zV0f09bJwnVJNpm0,8031 +numpy/lib/ufunclike.pyi,sha256=hLxcYfQprh1tTY_UO2QscA3Hd9Zd7cVGXIINZLhMFqY,1293 +numpy/lib/user_array.py,sha256=LE958--CMkBI2r3l1SQxmCHdCSw6HY6-RhWCnduzGA4,7721 +numpy/lib/utils.py,sha256=bSgyPmwOreJr8R_Gt9a3kageaKRXDfRavkbYxG3c-IA,33538 +numpy/lib/utils.pyi,sha256=CoNNhy7uNgJiSwkLJVPwnZ3nZG9eod1ujgLHP1XbdRc,2327 +numpy/linalg/__init__.py,sha256=mpdlEXWtTvpF7In776ONLwp6RIyo4U_GLPT1L1eIJnw,1813 +numpy/linalg/__init__.pyi,sha256=XBy4ocuypsRVflw_mbSTUhR4N5Roemu6w5SfeVwbkAc,620 +numpy/linalg/__pycache__/__init__.cpython-38.pyc,, +numpy/linalg/__pycache__/linalg.cpython-38.pyc,, +numpy/linalg/__pycache__/setup.cpython-38.pyc,, +numpy/linalg/_umath_linalg.cpython-38-x86_64-linux-gnu.so,sha256=qgPz1DR_CyEzVc-BVKUq6W7BJeLT0xyoFKAM6NgSpaM,239200 +numpy/linalg/lapack_lite.cpython-38-x86_64-linux-gnu.so,sha256=e_bQe2jkFw_heS5aAtU7sS8CqJM7tJ4GJEJEiiUDWdk,30016 +numpy/linalg/linalg.py,sha256=7HCo_2mHB6Qh3pdyKjIFFzTPfZ4RzG9KfSb4Zh5U7m0,89813 +numpy/linalg/linalg.pyi,sha256=CzYJbM2F5LqUuGtIAQ3fztzMd4O9Fxz10ujmDgZxm4k,7440 +numpy/linalg/setup.py,sha256=FTkorAbmcuvh85pTwsSEAwT9jI1mbk6RXFjwz-cQpnA,2925 +numpy/linalg/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +numpy/linalg/tests/__pycache__/__init__.cpython-38.pyc,, +numpy/linalg/tests/__pycache__/test_deprecations.cpython-38.pyc,, +numpy/linalg/tests/__pycache__/test_linalg.cpython-38.pyc,, +numpy/linalg/tests/__pycache__/test_regression.cpython-38.pyc,, +numpy/linalg/tests/test_deprecations.py,sha256=9p_SRmtxj2zc1doY9Ie3dyy5JzWy-tCQWFoajcAJUmM,640 +numpy/linalg/tests/test_linalg.py,sha256=UEfjeD3WUibVNDikNa3AaGe_DKjkGXPve5jdFcLk-7E,77352 +numpy/linalg/tests/test_regression.py,sha256=wfJx2G8SeApiIta80xN2hzot-wvXSw-TF8TXXIYZwyE,5597 +numpy/ma/__init__.py,sha256=dgP0WdnOpph28Fd6UiqoyDKhfrct0H6QWqbCcETsk6M,1404 +numpy/ma/__init__.pyi,sha256=89bS3ZnV7UOFx0ioGZW79E_GQOgfBJ6Sa1DWsvbR7BQ,6085 +numpy/ma/__pycache__/__init__.cpython-38.pyc,, +numpy/ma/__pycache__/bench.cpython-38.pyc,, +numpy/ma/__pycache__/core.cpython-38.pyc,, +numpy/ma/__pycache__/extras.cpython-38.pyc,, +numpy/ma/__pycache__/mrecords.cpython-38.pyc,, +numpy/ma/__pycache__/setup.cpython-38.pyc,, +numpy/ma/__pycache__/testutils.cpython-38.pyc,, +numpy/ma/__pycache__/timer_comparison.cpython-38.pyc,, +numpy/ma/bench.py,sha256=tSsmn5f59rOx6e7UGU3kyAedPhJG2sp-8LZHeZPla6g,4859 +numpy/ma/core.py,sha256=-gn7nJAd2CLPTtRIfHfI_xO1ad9laarbdwOPlhwOK7A,269111 +numpy/ma/core.pyi,sha256=YvHW8hTuqiqMbsbWbFT8oN3ZUFagDJ37CB5UMYwuPt8,14181 +numpy/ma/extras.py,sha256=-DseheqwSmWzopNFXGJv5ldJoO5J-1Ir2QJ0X47_-sY,60910 +numpy/ma/extras.pyi,sha256=BBsiCZbaPpGCY506fkmqZdBkJNCXcglc3wcSBuAACNk,2646 +numpy/ma/mrecords.py,sha256=degd6dLaDEvEWNHmvSnUZXos1csIzaqjR_jAutm8JfI,27232 +numpy/ma/mrecords.pyi,sha256=r1a2I662ywnhGS6zvfcyK-9RHVvb4sHxiCx9Dhf5AE4,1934 +numpy/ma/setup.py,sha256=MqmMicr_xHkAGoG-T7NJ4YdUZIJLO4ZFp6AmEJDlyhw,418 +numpy/ma/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +numpy/ma/tests/__pycache__/__init__.cpython-38.pyc,, +numpy/ma/tests/__pycache__/test_core.cpython-38.pyc,, +numpy/ma/tests/__pycache__/test_deprecations.cpython-38.pyc,, +numpy/ma/tests/__pycache__/test_extras.cpython-38.pyc,, +numpy/ma/tests/__pycache__/test_mrecords.cpython-38.pyc,, +numpy/ma/tests/__pycache__/test_old_ma.cpython-38.pyc,, +numpy/ma/tests/__pycache__/test_regression.cpython-38.pyc,, +numpy/ma/tests/__pycache__/test_subclassing.cpython-38.pyc,, +numpy/ma/tests/test_core.py,sha256=uF62WE5XhAkDr4yDZfy-YdfSIWSznARYnQ9cx_ef4CU,205483 +numpy/ma/tests/test_deprecations.py,sha256=ylBZx-5tGNimMk4xqUl0R2YUL5DX297XzSdL46U4wRk,2777 +numpy/ma/tests/test_extras.py,sha256=pjf0PUynPB0cuAVBJgt1T3JoBT6lxDrNicbhjldJ40c,71944 +numpy/ma/tests/test_mrecords.py,sha256=3IbTkbbDJhHfbkf-oWgpATghrwnIKA3XMtVFtnx257w,19883 +numpy/ma/tests/test_old_ma.py,sha256=wkZM5NnvkJCDropQT5dYbL14qweNv6e1aLptQzV4xbY,32758 +numpy/ma/tests/test_regression.py,sha256=Gr5p91SxeKK3jA3Kl7OGKOLdg40nSSHaMSjeVqIuvMM,3079 +numpy/ma/tests/test_subclassing.py,sha256=CW2YojzuS24QvEiPOXDqki6WHYgUZuKCCxYwpkExXDk,14214 +numpy/ma/testutils.py,sha256=KOD9yEe6rUTZ_nMDcZyXphBP1vpfV1vzvbmIhVaJrsg,10239 +numpy/ma/timer_comparison.py,sha256=pIGSZG-qYYYlRWSTgzPlyCAINbGKhXrZrDZBBjiM080,15658 +numpy/matlib.py,sha256=0tYjeI3dLL0-zpuavuiXkdnewfnhQ_3Pxsz-CI1hl98,10365 +numpy/matrixlib/__init__.py,sha256=L4GDL_3Z8Tf-s8v5hgFbnCzCMNSzvnZydENoSZBkWI4,218 +numpy/matrixlib/__init__.pyi,sha256=-t3ZuvbzRuRwWfZOeN4xlNWdm7gQEprhUsWzu8MRvUE,252 +numpy/matrixlib/__pycache__/__init__.cpython-38.pyc,, +numpy/matrixlib/__pycache__/defmatrix.cpython-38.pyc,, +numpy/matrixlib/__pycache__/setup.cpython-38.pyc,, +numpy/matrixlib/defmatrix.py,sha256=K9ecSTjVAETfgpCLPEALKn5CvT-QynDDFQvMn_3gmv0,30667 +numpy/matrixlib/defmatrix.pyi,sha256=lmBMRahKcMOl2PHDo79J67VRAZOkI54BzfDaTLpE0LI,451 +numpy/matrixlib/setup.py,sha256=1r7JRkSM4HyVorgtjoKJGWLcOcPO3wmvivpeEsVtAEg,426 +numpy/matrixlib/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +numpy/matrixlib/tests/__pycache__/__init__.cpython-38.pyc,, +numpy/matrixlib/tests/__pycache__/test_defmatrix.cpython-38.pyc,, +numpy/matrixlib/tests/__pycache__/test_interaction.cpython-38.pyc,, +numpy/matrixlib/tests/__pycache__/test_masked_matrix.cpython-38.pyc,, +numpy/matrixlib/tests/__pycache__/test_matrix_linalg.cpython-38.pyc,, +numpy/matrixlib/tests/__pycache__/test_multiarray.cpython-38.pyc,, +numpy/matrixlib/tests/__pycache__/test_numeric.cpython-38.pyc,, +numpy/matrixlib/tests/__pycache__/test_regression.cpython-38.pyc,, +numpy/matrixlib/tests/test_defmatrix.py,sha256=8E_-y7VD2vsq1y8CcI8km37pp5qcAtkciO16xqf2UIs,14982 +numpy/matrixlib/tests/test_interaction.py,sha256=PpjmgjEKighDXvt38labKE6L7f2jP74UEmp3JRb_iOY,11875 +numpy/matrixlib/tests/test_masked_matrix.py,sha256=RyL5DfLJoNUe-ZgQndMvpP8Jp_XKlreyhWjR1sfU-9A,8925 +numpy/matrixlib/tests/test_matrix_linalg.py,sha256=ObbSUXU4R2pWajH__xAdizADrU2kBKDDCxkDV-oVBXc,2059 +numpy/matrixlib/tests/test_multiarray.py,sha256=jB3XCBmAtcqf-Wb9PwBW6uIykPpMPthuXLJ0giTKzZE,554 +numpy/matrixlib/tests/test_numeric.py,sha256=MP70qUwgshTtThKZaZDp7_6U-Z66NIV1geVhasGXejQ,441 +numpy/matrixlib/tests/test_regression.py,sha256=8sHDtO8Zi8p3a1eQKEWxtCmKrXmHoD3qxlIokg2AIAU,927 +numpy/polynomial/__init__.py,sha256=8jrPKniYrbrE59nmLBbH2WLxNLeMkZ-vQuLa3Hu9Apg,6788 +numpy/polynomial/__init__.pyi,sha256=W8szYtVUy0RUi83jmFLK58BN8CKVSoHA2CW7IcdUl1c,701 +numpy/polynomial/__pycache__/__init__.cpython-38.pyc,, +numpy/polynomial/__pycache__/_polybase.cpython-38.pyc,, +numpy/polynomial/__pycache__/chebyshev.cpython-38.pyc,, +numpy/polynomial/__pycache__/hermite.cpython-38.pyc,, +numpy/polynomial/__pycache__/hermite_e.cpython-38.pyc,, +numpy/polynomial/__pycache__/laguerre.cpython-38.pyc,, +numpy/polynomial/__pycache__/legendre.cpython-38.pyc,, +numpy/polynomial/__pycache__/polynomial.cpython-38.pyc,, +numpy/polynomial/__pycache__/polyutils.cpython-38.pyc,, +numpy/polynomial/__pycache__/setup.cpython-38.pyc,, +numpy/polynomial/_polybase.py,sha256=n_5hGWdm0M-848FOc4Nm5ZXITrxgRLEoccfJxqbZT1U,36485 +numpy/polynomial/_polybase.pyi,sha256=R_hpsVb_tnzrSwtnp3v6ZXnJoU5rmTp-DEPPNM8J350,2247 +numpy/polynomial/chebyshev.py,sha256=_qbtl09xdBK0ZTNUaOUnZY-f5j5PImJEc8h8eKDN-jk,62490 +numpy/polynomial/chebyshev.pyi,sha256=035CNdOas4dnb6lFLzRiBrYT_VnWh2T1-A3ibm_HYkI,1387 +numpy/polynomial/hermite.py,sha256=EWb1Fa-0Hl8qI18bkplFOXoyR7aU3_etQjsC6g1VikY,52238 +numpy/polynomial/hermite.pyi,sha256=hdsvTULow8bIjnATudf0i6brpLHV7vbOoHzaMvbjMy0,1217 +numpy/polynomial/hermite_e.py,sha256=9gSngNFbr3U39lUEU8lxwfLMxi5K5E7c64b2Sjz8rLY,52366 +numpy/polynomial/hermite_e.pyi,sha256=zV7msb9v9rV0iv_rnD3SjP-TGyc6pd3maCqiPCj3PbA,1238 +numpy/polynomial/laguerre.py,sha256=ACxiDr-SlY-F-iUpnTQCN7JaBVt8FDBBrWPIxuNm8O4,50568 +numpy/polynomial/laguerre.pyi,sha256=Gxc9SLISNKMWrKdsVJ9fKFFFwfxxZzfF-Yc-2r__z5M,1178 +numpy/polynomial/legendre.py,sha256=Pyp8xafrILE0qZxSHnQLo5C6xB4zNHWRikHEcLsyU00,51274 +numpy/polynomial/legendre.pyi,sha256=9dmANwkxf7EbOHV3XQBPoaDtc56cCkf75Wo7FG9Zfj4,1178 +numpy/polynomial/polynomial.py,sha256=l8CnljcDTqW6JEOtzvzfXhBvMK0le7gI3SRtnDOS-Os,48690 +numpy/polynomial/polynomial.pyi,sha256=bOPRnub4xXxsUwNGeiQLTT4PCfN1ysSrf6LBZIcAN2Y,1132 +numpy/polynomial/polyutils.py,sha256=xyHL_X5yxum8z1wCN3HA5J48WMgpxm0zmQ5bqg_iq80,22105 +numpy/polynomial/polyutils.pyi,sha256=FQPYayL0opxcsQfOOcxCtb7Tg6TKr3ytYXnxmQT3ffM,227 +numpy/polynomial/setup.py,sha256=dXQfzVUMP9OcB6iKv5yo1GLEwFB3gJ48phIgo4N-eM0,373 +numpy/polynomial/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +numpy/polynomial/tests/__pycache__/__init__.cpython-38.pyc,, +numpy/polynomial/tests/__pycache__/test_chebyshev.cpython-38.pyc,, +numpy/polynomial/tests/__pycache__/test_classes.cpython-38.pyc,, +numpy/polynomial/tests/__pycache__/test_hermite.cpython-38.pyc,, +numpy/polynomial/tests/__pycache__/test_hermite_e.cpython-38.pyc,, +numpy/polynomial/tests/__pycache__/test_laguerre.cpython-38.pyc,, +numpy/polynomial/tests/__pycache__/test_legendre.cpython-38.pyc,, +numpy/polynomial/tests/__pycache__/test_polynomial.cpython-38.pyc,, +numpy/polynomial/tests/__pycache__/test_polyutils.cpython-38.pyc,, +numpy/polynomial/tests/__pycache__/test_printing.cpython-38.pyc,, +numpy/polynomial/tests/test_chebyshev.py,sha256=6tMsFP1h7K8Zf72mNOta6Tv52_fVTlXknseuffj080c,20522 +numpy/polynomial/tests/test_classes.py,sha256=DFyY2IQBj3r2GZkvbRIeZO2EEY466xbuwc4PShAl4Sw,18331 +numpy/polynomial/tests/test_hermite.py,sha256=N9b2dx2UWPyja5v02dSoWYPnKvb6H-Ozgtrx-xjWz2k,18577 +numpy/polynomial/tests/test_hermite_e.py,sha256=_A3ohAWS4HXrQG06S8L47dImdZGTwYosCXnoyw7L45o,18911 +numpy/polynomial/tests/test_laguerre.py,sha256=BZOgs49VBXOFBepHopxuEDkIROHEvFBfWe4X73UZhn8,17511 +numpy/polynomial/tests/test_legendre.py,sha256=b_bblHs0F_BWw9ESuSq52ZsLKcQKFR5eqPf_SppWFqo,18673 +numpy/polynomial/tests/test_polynomial.py,sha256=OjoRocjhPfEd1tOW6J5LwUan3SdWTLwzHOzLU9umcI8,20238 +numpy/polynomial/tests/test_polyutils.py,sha256=IxkbVfpcBqe5lOZluHFUPbLATLu1rwVg7ghLASpfYrY,3579 +numpy/polynomial/tests/test_printing.py,sha256=Txe4Ac_P5w07avL_2Wr7niF7U8yPBqSLJkgMpGa3Va0,15786 +numpy/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +numpy/random/__init__.pxd,sha256=9JbnX540aJNSothGs-7e23ozhilG6U8tINOUEp08M_k,431 +numpy/random/__init__.py,sha256=81Thnexg5umN5WZwD5TRyzNc2Yp-d14B6UC7NBgVKh8,7506 +numpy/random/__init__.pyi,sha256=3Giv8W2ELfu8n-B7aiMYdXegLIVrS9uu-HpzpLqyM2s,2055 +numpy/random/__pycache__/__init__.cpython-38.pyc,, +numpy/random/__pycache__/_pickle.cpython-38.pyc,, +numpy/random/__pycache__/setup.cpython-38.pyc,, +numpy/random/_bounded_integers.cpython-38-x86_64-linux-gnu.so,sha256=BBRtUqbIx3cZVCKVkuwdDRd5hrmXP_vAFmXdKs-tlmc,441920 +numpy/random/_bounded_integers.pxd,sha256=hcoucPH5hkFEM2nm12zYO-5O_Rt8RujEXT5YWuAzl1Q,1669 +numpy/random/_common.cpython-38-x86_64-linux-gnu.so,sha256=e1uIF7dQKQyoQyj6fmbxf27L_TXw1UMCKFJzo1-FCDM,311056 +numpy/random/_common.pxd,sha256=yb9RtI6u1nyYGnIu1KwX4h_A0pEwA3HExVKdWJ6eMU0,4745 +numpy/random/_examples/cffi/__pycache__/extending.cpython-38.pyc,, +numpy/random/_examples/cffi/__pycache__/parse.cpython-38.pyc,, +numpy/random/_examples/cffi/extending.py,sha256=xSla3zWqxi6Hj48EvnYfD3WHfE189VvC4XsKu4_T_Iw,880 +numpy/random/_examples/cffi/parse.py,sha256=o41aw7pB_nA8RfLDUlaP0DNDO_bDo__B0XM5pGLxtY0,1829 +numpy/random/_examples/cython/__pycache__/setup.cpython-38.pyc,, +numpy/random/_examples/cython/extending.pyx,sha256=4IE692pq1V53UhPZqQiQGcIHXDoNyqTx62x5a36puVg,2290 +numpy/random/_examples/cython/extending_distributions.pyx,sha256=oazFVWeemfE0eDzax7r7MMHNL1_Yofws2m-c_KT2Hbo,3870 +numpy/random/_examples/cython/setup.py,sha256=FPAnf3nC8BQWrKZ6fNheKbcxLapqd9LW7rC995px9I8,1401 +numpy/random/_examples/numba/__pycache__/extending.cpython-38.pyc,, +numpy/random/_examples/numba/__pycache__/extending_distributions.cpython-38.pyc,, +numpy/random/_examples/numba/extending.py,sha256=Ipyzel_h5iU_DMJ_vnXUgQC38uMDMn7adUpWSeEQLFE,1957 +numpy/random/_examples/numba/extending_distributions.py,sha256=Jnr9aWkHyIWygNbdae32GVURK-5T9BTGhuExRpvve98,2034 +numpy/random/_generator.cpython-38-x86_64-linux-gnu.so,sha256=Lm-QrU7SHEc1NRagrP2GsFCOMuXlcBUvaCQu840p4yU,1030912 +numpy/random/_generator.pyi,sha256=WWrF4oNiUPalnzPeiDO1rkWsm6iAqicTvQC-59pJNlg,21682 +numpy/random/_mt19937.cpython-38-x86_64-linux-gnu.so,sha256=ZLwH8_ayP4s4xE5DEaJW-gqd-6w0LEaLFP7xOuyqA6o,124472 +numpy/random/_mt19937.pyi,sha256=_iZKaAmuKBQ4itSggfQvYYj_KjktcN4rt-YpE6bqFAM,724 +numpy/random/_pcg64.cpython-38-x86_64-linux-gnu.so,sha256=VcfDPoB2Rhod1SEn2jHJHMdAtSv8P_HRie-tJr49urw,126880 +numpy/random/_pcg64.pyi,sha256=uxr5CbEJetN6lv9vBG21jlRhuzOK8SQnXrwqAQBxj_c,1091 +numpy/random/_philox.cpython-38-x86_64-linux-gnu.so,sha256=r0LQXlsTlkJPx9SNEUxzWyo_vcmLDfeO6eithPzA9LQ,106008 +numpy/random/_philox.pyi,sha256=OKlaiIU-hj72Bp04zjNifwusOD_3-mYxIfvyuys8c_o,978 +numpy/random/_pickle.py,sha256=bNQeLjnzvu3-AqKied42orG4Fh75Oi1DuH23sQz5mFE,2305 +numpy/random/_sfc64.cpython-38-x86_64-linux-gnu.so,sha256=W94A4ZHaOLm9zFRHXWLZ1B-Vor6z-hpb6t56QBYT8W4,76128 +numpy/random/_sfc64.pyi,sha256=09afHTedVW-519493ZXtGcl-H-_zluj-B_yfEJG8MMs,709 +numpy/random/bit_generator.cpython-38-x86_64-linux-gnu.so,sha256=l7VlYf0PrQhJjKc7ZaEX56vTaml4z2l2QesHDmApzGE,227216 +numpy/random/bit_generator.pxd,sha256=lArpIXSgTwVnJMYc4XX0NGxegXq3h_QsUDK6qeZKbNc,1007 +numpy/random/bit_generator.pyi,sha256=cGZU1H0hAszMBzP4BhvmfWCGXHlXOp5Kx_Koar6r0Dw,3387 +numpy/random/c_distributions.pxd,sha256=FrGMrxWXGD8tc4HUWnzLpzUU8codNR-alXk1hjIAjmI,6033 +numpy/random/lib/libnpyrandom.a,sha256=-81sPY4SYpryGdAm0OBpFw7JxlGDdCRvYWa3qsnS5PQ,274034 +numpy/random/mtrand.cpython-38-x86_64-linux-gnu.so,sha256=Mltq5rHebKQxIcUE4xKAD3lV0S2EGdQq_V-7FV6U4z0,825520 +numpy/random/mtrand.pyi,sha256=UxxighuldyE8L23LoJs7F1b4fUjyxG5oj7h0z-5LDIU,19616 +numpy/random/setup.py,sha256=Cck92cScNxegafuWrM-3hV0ZRSYCxhi-jrbx3tR_wNQ,6998 +numpy/random/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +numpy/random/tests/__pycache__/__init__.cpython-38.pyc,, +numpy/random/tests/__pycache__/test_direct.cpython-38.pyc,, +numpy/random/tests/__pycache__/test_extending.cpython-38.pyc,, +numpy/random/tests/__pycache__/test_generator_mt19937.cpython-38.pyc,, +numpy/random/tests/__pycache__/test_generator_mt19937_regressions.cpython-38.pyc,, +numpy/random/tests/__pycache__/test_random.cpython-38.pyc,, +numpy/random/tests/__pycache__/test_randomstate.cpython-38.pyc,, +numpy/random/tests/__pycache__/test_randomstate_regression.cpython-38.pyc,, +numpy/random/tests/__pycache__/test_regression.cpython-38.pyc,, +numpy/random/tests/__pycache__/test_seed_sequence.cpython-38.pyc,, +numpy/random/tests/__pycache__/test_smoke.cpython-38.pyc,, +numpy/random/tests/data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +numpy/random/tests/data/__pycache__/__init__.cpython-38.pyc,, +numpy/random/tests/data/mt19937-testset-1.csv,sha256=Xkef402AVB-eZgYQkVtoxERHkxffCA9Jyt_oMbtJGwY,15844 +numpy/random/tests/data/mt19937-testset-2.csv,sha256=nsBEQNnff-aFjHYK4thjvUK4xSXDSfv5aTbcE59pOkE,15825 +numpy/random/tests/data/pcg64-testset-1.csv,sha256=xB00DpknGUTTCxDr9L6aNo9Hs-sfzEMbUSS4t11TTfE,23839 +numpy/random/tests/data/pcg64-testset-2.csv,sha256=NTdzTKvG2U7_WyU_IoQUtMzU3kEvDH39CgnR6VzhTkw,23845 +numpy/random/tests/data/pcg64dxsm-testset-1.csv,sha256=vNSUT-gXS_oEw_awR3O30ziVO4seNPUv1UIZ01SfVnI,23833 +numpy/random/tests/data/pcg64dxsm-testset-2.csv,sha256=uylS8PU2AIKZ185OC04RBr_OePweGRtvn-dE4YN0yYA,23839 +numpy/random/tests/data/philox-testset-1.csv,sha256=SedRaIy5zFadmk71nKrGxCFZ6BwKz8g1A9-OZp3IkkY,23852 +numpy/random/tests/data/philox-testset-2.csv,sha256=dWECt-sbfvaSiK8-Ygp5AqyjoN5i26VEOrXqg01rk3g,23838 +numpy/random/tests/data/sfc64-testset-1.csv,sha256=iHs6iX6KR8bxGwKk-3tedAdMPz6ZW8slDSUECkAqC8Q,23840 +numpy/random/tests/data/sfc64-testset-2.csv,sha256=FIDIDFCaPZfWUSxsJMAe58hPNmMrU27kCd9FhCEYt_k,23833 +numpy/random/tests/test_direct.py,sha256=ROlEv_OqQQ2-vtypmqNtg-wzLXNuNe8YIQaMgBQfhLs,16429 +numpy/random/tests/test_extending.py,sha256=d50c5E5wueAfkYM5qZQ9YAJk735M735XPnZUL2SLfto,3488 +numpy/random/tests/test_generator_mt19937.py,sha256=bom4r8eSr4O53gtwBPb5X07pwNxYGq2at-LmsZCp8kU,113329 +numpy/random/tests/test_generator_mt19937_regressions.py,sha256=SAdHm3KlGjdh0IKyOF8TQd1YS-P59nSkIwKOe9SuT0U,5639 +numpy/random/tests/test_random.py,sha256=sTm24yZocm2BpEEa24SueCuhdHg5Dg6Ftb0XCVrQDZY,69953 +numpy/random/tests/test_randomstate.py,sha256=vHRYMUDrR192QhQyVN8g0g5Wbv5igzP56d9TZ3WkNhM,81516 +numpy/random/tests/test_randomstate_regression.py,sha256=VucYWIjA7sAquWsalvZMnfkmYLM1O6ysyWnLl931-lA,7917 +numpy/random/tests/test_regression.py,sha256=trntK51UvajOVELiluEO85l64CKSw5nvBSc5SqYyr9w,5439 +numpy/random/tests/test_seed_sequence.py,sha256=GNRJ4jyzrtfolOND3gUWamnbvK6-b_p1bBK_RIG0sfU,3311 +numpy/random/tests/test_smoke.py,sha256=jjNz0aEGD1_oQl9a9UWt6Mz_298alG7KryLT1pgHljw,28183 +numpy/setup.py,sha256=u3vdMH69z-UM6XNxec8o2cIp9AEfNqZ7fsVGp48ChLk,1101 +numpy/testing/__init__.py,sha256=G8Qlx2bRgbnTCVFGoo8kR_OlsebpcTaJHeYUnHY4sZ8,650 +numpy/testing/__init__.pyi,sha256=FB_4wiugmKbDTWXr-FVxp-mGNvJQjGUBYz5C5xblgnI,1803 +numpy/testing/__pycache__/__init__.cpython-38.pyc,, +numpy/testing/__pycache__/print_coercion_tables.cpython-38.pyc,, +numpy/testing/__pycache__/setup.cpython-38.pyc,, +numpy/testing/__pycache__/utils.cpython-38.pyc,, +numpy/testing/_private/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +numpy/testing/_private/__pycache__/__init__.cpython-38.pyc,, +numpy/testing/_private/__pycache__/decorators.cpython-38.pyc,, +numpy/testing/_private/__pycache__/extbuild.cpython-38.pyc,, +numpy/testing/_private/__pycache__/noseclasses.cpython-38.pyc,, +numpy/testing/_private/__pycache__/nosetester.cpython-38.pyc,, +numpy/testing/_private/__pycache__/parameterized.cpython-38.pyc,, +numpy/testing/_private/__pycache__/utils.cpython-38.pyc,, +numpy/testing/_private/decorators.py,sha256=amFUfIH86_F8qvD-jqky59GYVtqMLs7uSxZ6euHblh8,11401 +numpy/testing/_private/extbuild.py,sha256=2Y6yC3_KCBmOHY9OLtsODqCGrI7JCGTKJBkFbfpHkaY,7816 +numpy/testing/_private/noseclasses.py,sha256=0wuRHsQVkz1c5bX1F0v2C4QEJWdhCuAdVOwo8uOefP8,14516 +numpy/testing/_private/nosetester.py,sha256=wKjN3dagwDInzGdeN6wO9JnLe6IoTxGqF_idSL0qpCQ,19435 +numpy/testing/_private/parameterized.py,sha256=mSWTmj1C2R9jjgqwMbqFlRXRcIBUaalAO8pYMg5nCpo,16156 +numpy/testing/_private/utils.py,sha256=_EEDDTlTM3oQpD5-ykBdHMIxnYjP2GSKprzFFGAa6eo,85421 +numpy/testing/_private/utils.pyi,sha256=rY_ld2hVfTK-JGTOVuhCB7xPyOdRN2KDaKjm_XdI_mo,9988 +numpy/testing/print_coercion_tables.py,sha256=ndxOsS4XfrZ4UY_9nqRTCnxhkzgdqcuUHL8nezd7Op4,6180 +numpy/testing/setup.py,sha256=GPKAtTTBRsNW4kmR7NjP6mmBR_GTdpaTvkTm10_VcLg,709 +numpy/testing/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +numpy/testing/tests/__pycache__/__init__.cpython-38.pyc,, +numpy/testing/tests/__pycache__/test_doctesting.cpython-38.pyc,, +numpy/testing/tests/__pycache__/test_utils.cpython-38.pyc,, +numpy/testing/tests/test_doctesting.py,sha256=84GCZsWBQ3gqKrRI5NzmH_PmFHMShaVpZ4m0b_T1qNA,1347 +numpy/testing/tests/test_utils.py,sha256=rPggQz9_D6X98UZPHCLO_FMnsebLqdqtVB19eTuNVUU,55025 +numpy/testing/utils.py,sha256=B77PkK2qIw8R8tKk09OpWGVQV2O_P77fu4wt5QGOXSM,1255 +numpy/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +numpy/tests/__pycache__/__init__.cpython-38.pyc,, +numpy/tests/__pycache__/test__all__.cpython-38.pyc,, +numpy/tests/__pycache__/test_ctypeslib.cpython-38.pyc,, +numpy/tests/__pycache__/test_matlib.cpython-38.pyc,, +numpy/tests/__pycache__/test_numpy_version.cpython-38.pyc,, +numpy/tests/__pycache__/test_public_api.cpython-38.pyc,, +numpy/tests/__pycache__/test_reloading.cpython-38.pyc,, +numpy/tests/__pycache__/test_scripts.cpython-38.pyc,, +numpy/tests/__pycache__/test_warnings.cpython-38.pyc,, +numpy/tests/test__all__.py,sha256=L3mCnYPTpzAgNfedVuq9g7xPWbc0c1Pot94k9jZ9NpI,221 +numpy/tests/test_ctypeslib.py,sha256=uAckGtgfFsaRGhD6ySPD5YR77US98TIUwR8DVS1bQvU,12290 +numpy/tests/test_matlib.py,sha256=gwhIXrJJo9DiecaGLCHLJBjhx2nVGl6yHq80AOUQSRM,1852 +numpy/tests/test_numpy_version.py,sha256=87imE8sJR6w16YYiTAfHxBSq7IFLnmgNpL6DUgqjKTs,1575 +numpy/tests/test_public_api.py,sha256=Jby34FmGujPqjyoyO80wifL9z-Pj31NzmO6LkMQbXt4,15916 +numpy/tests/test_reloading.py,sha256=bjyPiRx3AMPWcu-ExgbrlgmX4DxRAswwU_ci_Rl3hBk,2244 +numpy/tests/test_scripts.py,sha256=3jYt6iysOTgQjU5W_xPUo6MCRPmaFbRRP0UhVJOVLRc,1573 +numpy/tests/test_warnings.py,sha256=b7x4zdms9sNJkO9FJ-LTzYI4BWhbeLGy2oFMC6Z85ig,2280 +numpy/typing/__init__.py,sha256=EAAiyHa5jGJpF9ECFel-qnCo18VUnT5Y8YCuKd0zN-I,5231 +numpy/typing/__pycache__/__init__.cpython-38.pyc,, +numpy/typing/__pycache__/mypy_plugin.cpython-38.pyc,, +numpy/typing/__pycache__/setup.cpython-38.pyc,, +numpy/typing/mypy_plugin.py,sha256=-Lzl_iaVlYSvDZwDSk0Ee-IaWQsI1OUFbtd_aNchegU,6479 +numpy/typing/setup.py,sha256=Cnz9q53w-vJNyE6vYxqYvQXx0pJbrG9quHyz9sqxfek,374 +numpy/typing/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +numpy/typing/tests/__pycache__/__init__.cpython-38.pyc,, +numpy/typing/tests/__pycache__/test_generic_alias.cpython-38.pyc,, +numpy/typing/tests/__pycache__/test_isfile.cpython-38.pyc,, +numpy/typing/tests/__pycache__/test_runtime.cpython-38.pyc,, +numpy/typing/tests/__pycache__/test_typing.cpython-38.pyc,, +numpy/typing/tests/data/fail/arithmetic.pyi,sha256=4rY_ASCERAl8WCus1RakOe0Aw-8vvjilL29mgdD4lv0,3850 +numpy/typing/tests/data/fail/array_constructors.pyi,sha256=X9y_jUYS17WfYmXW5NwkVudyiR6ouUaAwEh0JRte42o,1089 +numpy/typing/tests/data/fail/array_like.pyi,sha256=OVAlEJZ5k8ZRKt0aGpZQwIjlUGpy0PzOOYqfI-IMqBQ,455 +numpy/typing/tests/data/fail/array_pad.pyi,sha256=57oK0Yp53rtKjjIrRFYLcxa-IfIGhtI-bEem7ggJKwI,132 +numpy/typing/tests/data/fail/arrayprint.pyi,sha256=-Fs9VnQfxyfak008Hq8kJWfB0snA6jGDXZz8ljQnwGE,549 +numpy/typing/tests/data/fail/arrayterator.pyi,sha256=FoU4ahHkJZ67dwWXer5FXLjjjesKKg-w2Jq1X1bHymA,480 +numpy/typing/tests/data/fail/bitwise_ops.pyi,sha256=GN9dVqk4_HFXn7zbRrHzJq_UGRFBccoYVUG1UuE7bXs,515 +numpy/typing/tests/data/fail/char.pyi,sha256=-vgN6EmfQ8VaA4SOZ5Ol9u4-Z7Q5I7G78LmaxZOuZ90,2615 +numpy/typing/tests/data/fail/chararray.pyi,sha256=jrNryZFpr8nxG2IHb9e0x3ranpvJpBy_RDex-WpT5rU,2296 +numpy/typing/tests/data/fail/comparisons.pyi,sha256=U4neWzwwtxG6QXsKlNGJuKXHBtwzYBQOa47_7SKF5Wg,888 +numpy/typing/tests/data/fail/constants.pyi,sha256=YSqNbXdhbdMmYbs7ntH0FCKbnm8IFeqsDlZBqcU43iw,286 +numpy/typing/tests/data/fail/datasource.pyi,sha256=PRT2hixR-mVxr2UILvHa99Dr54EF2h3snJXE-v3rWcc,395 +numpy/typing/tests/data/fail/dtype.pyi,sha256=OAGABqdXNB8gClJFEGMckoycuZcIasMaAlS2RkiKROI,334 +numpy/typing/tests/data/fail/einsumfunc.pyi,sha256=O6lo1B3IpdBQ_r6nvJudEYRekl_2g8j3PAH_eahvvyY,737 +numpy/typing/tests/data/fail/false_positives.pyi,sha256=Q61qMsSsNCtmO0EMRxHj5Z7RYTyrELVpkzfJY5eK8Z0,366 +numpy/typing/tests/data/fail/flatiter.pyi,sha256=qLM4qm7gvJtEZ0rTHcyasUzoP5JbX4FREtqV3g1w6Lo,843 +numpy/typing/tests/data/fail/fromnumeric.pyi,sha256=FH2mjkgtCbA9soqlJRhYN7IIfRRrUL1i9mwqcbYKZSc,5591 +numpy/typing/tests/data/fail/histograms.pyi,sha256=8Hx8zJ113UtHPc_yi-BM3xUqtmeUS3r3IFYvci9quQA,424 +numpy/typing/tests/data/fail/index_tricks.pyi,sha256=moINir9iQoi6Q1ZuVg5BuSB9hSBtbg_uzv-Qm_lLYZk,509 +numpy/typing/tests/data/fail/lib_function_base.pyi,sha256=6y9T773CBLX-jUry1sCQGVuKVKM2wMuQ56Ni5V5j4Dw,2081 +numpy/typing/tests/data/fail/lib_polynomial.pyi,sha256=siSXSVM0FqwwdHnYrYksOrnMrgdK_zdZ9xGVQ67iMNw,913 +numpy/typing/tests/data/fail/lib_utils.pyi,sha256=VFpE6_DisvlDByyp1PiNPJEe5IcZp8cH0FlAJyoZipo,276 +numpy/typing/tests/data/fail/lib_version.pyi,sha256=7-ZJDZwDcB-wzpMN8TeYtZAgaqc7xnQ8Dnx2ISiX2Ts,158 +numpy/typing/tests/data/fail/linalg.pyi,sha256=yDd05aK1dI37RPt3pD2eJYo4dZFaT2yB1PEu3K0y9Tg,1322 +numpy/typing/tests/data/fail/memmap.pyi,sha256=HSTCQYNuW1Y6X1Woj361pN4rusSPs4oDCXywqk20yUo,159 +numpy/typing/tests/data/fail/modules.pyi,sha256=biKdya7jl9ptCNorql1AFHoOtXU9bdTFodlIUQtbwUY,652 +numpy/typing/tests/data/fail/multiarray.pyi,sha256=XCdBxufNhR8ZtG8UMzk8nt9_NC5gJTKP9-xTqKO_K9I,1693 +numpy/typing/tests/data/fail/ndarray.pyi,sha256=YnjXy16RHs_esKelMjB07865CQ7gLyQnXhnitq5Kv5c,405 +numpy/typing/tests/data/fail/ndarray_misc.pyi,sha256=w-10xTDDWoff9Lq0dBO-jBeiBR-XjCz2qmes0dLx238,1372 +numpy/typing/tests/data/fail/nditer.pyi,sha256=w7emjnOxnf3NcvLktNLlke6Cuivn2gU3sVmGCfbG6rw,325 +numpy/typing/tests/data/fail/nested_sequence.pyi,sha256=em4GZwLDFE0QSxxg081wVwhh-Dmtkn8f7wThI0DiXVs,427 +numpy/typing/tests/data/fail/npyio.pyi,sha256=nUAt8mHO_ZzKsdo_G9mjJfaBCdrba_Q3KiyJwzMiHys,780 +numpy/typing/tests/data/fail/numerictypes.pyi,sha256=S_AIFg4DsJ1sX3EcCAh7ZlsAkpCsycZ_tU92Sj1DWyY,341 +numpy/typing/tests/data/fail/random.pyi,sha256=p5WsUGyOL-MGIeALh9Y0dVhYSRQLaUwMdjXc3G6C_7Q,2830 +numpy/typing/tests/data/fail/rec.pyi,sha256=Ws3TyesnoQjt7Q0wwtpShRDJmZCs2jjP17buFMomVGA,704 +numpy/typing/tests/data/fail/scalars.pyi,sha256=F1xVxamLrUXfW5x4CcqkjIQes4inaA8Zk8Jm6szyA_E,2904 +numpy/typing/tests/data/fail/shape_base.pyi,sha256=Y_f4buHtX2Q2ZA4kaDTyR8LErlPXTzCB_-jBoScGh_Q,152 +numpy/typing/tests/data/fail/stride_tricks.pyi,sha256=IjA0Xrnx0lG3m07d1Hjbhtyo1Te5cXgjgr5fLUo4LYQ,315 +numpy/typing/tests/data/fail/testing.pyi,sha256=e7b5GKTWCtKGoB8z2a8edsW0Xjl1rMheALsvzEJjlCw,1370 +numpy/typing/tests/data/fail/twodim_base.pyi,sha256=ZqbRJfy5S_pW3fFLuomy4L5SBNqj6Nklexg9KDTo65c,899 +numpy/typing/tests/data/fail/type_check.pyi,sha256=CIyI0j0Buxv0QgCvNG2urjaKpoIZ-ZNawC2m6NzGlbo,379 +numpy/typing/tests/data/fail/ufunc_config.pyi,sha256=ukA0xwfJHLoGfoOIpWIN-91wj-DG8oaIjYbO72ymjg4,733 +numpy/typing/tests/data/fail/ufunclike.pyi,sha256=lbxjJyfARmt_QK1HxhxFxvwQTqCEZwJ9I53Wp8X3KIY,679 +numpy/typing/tests/data/fail/ufuncs.pyi,sha256=YaDTL7QLmGSUxE6JVMzpOlZTjHWrgbOo0UIlkX-6ZQk,1347 +numpy/typing/tests/data/fail/warnings_and_errors.pyi,sha256=PrbYDFI7IGN3Gf0OPBkVfefzQs4AXHwDQ495pvrX3RY,174 +numpy/typing/tests/data/misc/extended_precision.pyi,sha256=XJE_Qjaou-yzhww8K_3ypc4WTPudW0b3g0-T82aB8QE,347 +numpy/typing/tests/data/mypy.ini,sha256=a4--l5EymPReC-WKEsCfl2Nve_1T4XTFcoexa5q2MpY,166 +numpy/typing/tests/data/pass/__pycache__/arithmetic.cpython-38.pyc,, +numpy/typing/tests/data/pass/__pycache__/array_constructors.cpython-38.pyc,, +numpy/typing/tests/data/pass/__pycache__/array_like.cpython-38.pyc,, +numpy/typing/tests/data/pass/__pycache__/arrayprint.cpython-38.pyc,, +numpy/typing/tests/data/pass/__pycache__/arrayterator.cpython-38.pyc,, +numpy/typing/tests/data/pass/__pycache__/bitwise_ops.cpython-38.pyc,, +numpy/typing/tests/data/pass/__pycache__/comparisons.cpython-38.pyc,, +numpy/typing/tests/data/pass/__pycache__/dtype.cpython-38.pyc,, +numpy/typing/tests/data/pass/__pycache__/einsumfunc.cpython-38.pyc,, +numpy/typing/tests/data/pass/__pycache__/flatiter.cpython-38.pyc,, +numpy/typing/tests/data/pass/__pycache__/fromnumeric.cpython-38.pyc,, +numpy/typing/tests/data/pass/__pycache__/index_tricks.cpython-38.pyc,, +numpy/typing/tests/data/pass/__pycache__/lib_utils.cpython-38.pyc,, +numpy/typing/tests/data/pass/__pycache__/lib_version.cpython-38.pyc,, +numpy/typing/tests/data/pass/__pycache__/literal.cpython-38.pyc,, +numpy/typing/tests/data/pass/__pycache__/mod.cpython-38.pyc,, +numpy/typing/tests/data/pass/__pycache__/modules.cpython-38.pyc,, +numpy/typing/tests/data/pass/__pycache__/multiarray.cpython-38.pyc,, +numpy/typing/tests/data/pass/__pycache__/ndarray_conversion.cpython-38.pyc,, +numpy/typing/tests/data/pass/__pycache__/ndarray_misc.cpython-38.pyc,, +numpy/typing/tests/data/pass/__pycache__/ndarray_shape_manipulation.cpython-38.pyc,, +numpy/typing/tests/data/pass/__pycache__/numeric.cpython-38.pyc,, +numpy/typing/tests/data/pass/__pycache__/numerictypes.cpython-38.pyc,, +numpy/typing/tests/data/pass/__pycache__/random.cpython-38.pyc,, +numpy/typing/tests/data/pass/__pycache__/scalars.cpython-38.pyc,, +numpy/typing/tests/data/pass/__pycache__/simple.cpython-38.pyc,, +numpy/typing/tests/data/pass/__pycache__/simple_py3.cpython-38.pyc,, +numpy/typing/tests/data/pass/__pycache__/ufunc_config.cpython-38.pyc,, +numpy/typing/tests/data/pass/__pycache__/ufunclike.cpython-38.pyc,, +numpy/typing/tests/data/pass/__pycache__/ufuncs.cpython-38.pyc,, +numpy/typing/tests/data/pass/__pycache__/warnings_and_errors.cpython-38.pyc,, +numpy/typing/tests/data/pass/arithmetic.py,sha256=jNeZRSmFv8R01gN421L_qRXRBUxKwZ7VU_sJp9TQSIo,7398 +numpy/typing/tests/data/pass/array_constructors.py,sha256=3GrhfBcmWX53pJHD0NvhXjwr2-uNKREbR1I9WCcZ7rI,2419 +numpy/typing/tests/data/pass/array_like.py,sha256=ce_IVubBd7J6FkSpJmD7qMlRLuwmiidhOqhYfZb16Wo,916 +numpy/typing/tests/data/pass/arrayprint.py,sha256=y_KkuLz1uM7pv53qfq7GQOuud4LoXE3apK1wtARdVyM,766 +numpy/typing/tests/data/pass/arrayterator.py,sha256=FqcpKdUQBQ0FazHFxr9MsLEZG-jnJVGKWZX2owRr4DQ,393 +numpy/typing/tests/data/pass/bitwise_ops.py,sha256=UnmxVr9HwI8ifdrutGm_u3EZU4iOOPQhrOku7hTaH0c,970 +numpy/typing/tests/data/pass/comparisons.py,sha256=nTE-fvraLK6xTZcP4uPV02wOShzYKWDaoapx35AeDOY,2992 +numpy/typing/tests/data/pass/dtype.py,sha256=lI_5QlB7_20TyC1Urxr0No9MbrhpBHQxs-F_v7UyPmo,1073 +numpy/typing/tests/data/pass/einsumfunc.py,sha256=eXj5L5MWPtQHgrHPsJ36qqrmBHqct9UoujjJCvHnF1k,1370 +numpy/typing/tests/data/pass/flatiter.py,sha256=0BnbuLMBC7MQlprNZ0QhNSscfYwPhEhXOhWoyiRACWU,174 +numpy/typing/tests/data/pass/fromnumeric.py,sha256=Xd_nJVVDoONdztUX8ddgo7EXJ2FD8AX51MO_Yujnmog,3742 +numpy/typing/tests/data/pass/index_tricks.py,sha256=oaFD9vY01_RI5OkrXt-xTk1n_dd-SpuPp-eZ58XR3c8,1492 +numpy/typing/tests/data/pass/lib_utils.py,sha256=SEJRuh7J7JHHlOVctf-zQ9zRwVpCvZ_HvAXHvDrjxw0,420 +numpy/typing/tests/data/pass/lib_version.py,sha256=HnuGOx7tQA_bcxFIJ3dRoMAR0fockxg4lGqQ4g7LGIw,299 +numpy/typing/tests/data/pass/literal.py,sha256=DLzdWHD6ttW4S0NEvGQbsH_UEJjhZyhvO4OXJjoyvZQ,1331 +numpy/typing/tests/data/pass/mod.py,sha256=HB9aK4_wGJbc44tomaoroNy0foIL5cI9KIjknvMTbkk,1578 +numpy/typing/tests/data/pass/modules.py,sha256=f-6R2TbqrLX7F8A3Z9VgSyPAlOwvOy1zZyvUgivD250,595 +numpy/typing/tests/data/pass/multiarray.py,sha256=MxHax6l94yqlTVZleAqG77ILEbW6wU5osPcHzxJ85ns,1331 +numpy/typing/tests/data/pass/ndarray_conversion.py,sha256=yPgzXG6paY1uF_z-QyHYrcmrZvhX7qtvTUh7ANLseCA,1626 +numpy/typing/tests/data/pass/ndarray_misc.py,sha256=Rtb4uJ3oDGo8ke3H0qbKLLIPZ2_3xsNgxLsfHYWVo3k,2716 +numpy/typing/tests/data/pass/ndarray_shape_manipulation.py,sha256=37eYwMNqMLwanIW9-63hrokacnSz2K_qtPUlkdpsTjo,640 +numpy/typing/tests/data/pass/numeric.py,sha256=SdnsD5zv0wm8T2hnIylyS14ig2McSz6rG9YslckbNQ4,1490 +numpy/typing/tests/data/pass/numerictypes.py,sha256=JnP5m-QpK7YEfeeYzaDyIUUQ_q95hjSQMIgUIPTdSwU,973 +numpy/typing/tests/data/pass/random.py,sha256=6qLgsOcyeKls-M6hulhHtCLKnvfjdGeYkBq8xNMPLMg,61810 +numpy/typing/tests/data/pass/scalars.py,sha256=l2S3iqsY7zTx65u2eGyoygteobjpd0ysTNIlot5XyZY,3464 +numpy/typing/tests/data/pass/simple.py,sha256=Vf3nKTGD6kSqoaH2MWSDRny2-knWX-fQHoEJONC7q9s,2684 +numpy/typing/tests/data/pass/simple_py3.py,sha256=HuLrc5aphThQkLjU2_19KgGFaXwKOfSzXe0p2xMm8ZI,96 +numpy/typing/tests/data/pass/ufunc_config.py,sha256=b0nWLyq0V2H4mKZXrNM0kT-GM-x8ig9tv3al50_YAWM,1120 +numpy/typing/tests/data/pass/ufunclike.py,sha256=Gve6cJ2AT3TAwOjUOQQDIUnqsRCGYq70_tv_sgODiiA,1039 +numpy/typing/tests/data/pass/ufuncs.py,sha256=xGuKuqPetUTS4io5YDHaki5nbYRu-wC29SGU32tzVIg,462 +numpy/typing/tests/data/pass/warnings_and_errors.py,sha256=Pcg-QWfY4PAhTKyehae8q6LhtbUABxa2Ye63-3h1f4w,150 +numpy/typing/tests/data/reveal/arithmetic.pyi,sha256=kTKcuu9SHUdR_1LCp4lA7DdbY_Olhx8s17zyrGc3sNM,20805 +numpy/typing/tests/data/reveal/array_constructors.pyi,sha256=WloltIK2MdIGFwr3JC6g4KLi4nraOsR3AJ4XhCq8eOc,11574 +numpy/typing/tests/data/reveal/arraypad.pyi,sha256=9S-6k9KTi4TrKO-s-cW1jvoWry7mc-8G4VVIU7cqICY,694 +numpy/typing/tests/data/reveal/arrayprint.pyi,sha256=2C2mIauAAGfor2_YsCTXPGu5gZhln7acekNp5T4Ekxs,686 +numpy/typing/tests/data/reveal/arraysetops.pyi,sha256=cKxJCQKVLOAXRDi0XGc-pFvHqzYfJW3w3O5JwD3bfW0,4671 +numpy/typing/tests/data/reveal/arrayterator.pyi,sha256=OEt5c-fFsve0Qc4e2Jb9_HN1BKUrCJU-YSAf_GTvKe8,1128 +numpy/typing/tests/data/reveal/bitwise_ops.pyi,sha256=t7nz7G8SNpGw_8Hdmpwl68pBH1fGHS6JVQAa5e8dd2s,3607 +numpy/typing/tests/data/reveal/char.pyi,sha256=VjyPAgov14MyqEuGJO-4NovgqcU5nfuZ0opefDZmfzE,8047 +numpy/typing/tests/data/reveal/chararray.pyi,sha256=_7dslcz7tDdoicD8XAa6ql7Ye71LRWeH1bnNQ4bxxN4,6312 +numpy/typing/tests/data/reveal/comparisons.pyi,sha256=jkpzpxnjqahq6dw9ynuHto54SH9nwUMWuMWBf3zT6Gk,8018 +numpy/typing/tests/data/reveal/constants.pyi,sha256=RFPG2UQfP6aRLtDLmL72iz2tqfkLC0GX0uIPUQPLfi8,1940 +numpy/typing/tests/data/reveal/ctypeslib.pyi,sha256=Qps3eZyBg8vLhPHj5z_osnlltRHba5F1qgAMHCeHl6o,5107 +numpy/typing/tests/data/reveal/datasource.pyi,sha256=melhwwltIDET_oudcv-skR8jKrGeVF5UOZVqfSKjXBw,557 +numpy/typing/tests/data/reveal/dtype.pyi,sha256=8YejndV1C4jgAzBvh-4JUn0gsjTwoeqVyaW9BniSuvw,2703 +numpy/typing/tests/data/reveal/einsumfunc.pyi,sha256=Gx1K9tAxlP-dH7kgKiiJfJXeUvqWjY5XSLxEk0EGLjw,2075 +numpy/typing/tests/data/reveal/emath.pyi,sha256=iieDKvLNdM0DSJ-CiG9DNrnBc-p7LhV6DDDZxGFGDfQ,2538 +numpy/typing/tests/data/reveal/false_positives.pyi,sha256=oQx8mhWsl0V7Zg7d49ZmFGiUV9azVdGPbrXgk1Faj70,349 +numpy/typing/tests/data/reveal/fft.pyi,sha256=T5w3JYzXQhZdfYk7oGXr9fZf1T9kOqaHS2e0DSAOB4I,1852 +numpy/typing/tests/data/reveal/flatiter.pyi,sha256=Ks3dXflFJzOD3uo4S3J_SsodD0AqlL7uRMISweDDyxI,819 +numpy/typing/tests/data/reveal/fromnumeric.pyi,sha256=qHv6SiH3llJjvrL8A3P3eg6b-wNnNribI60Gv9uPFSw,13631 +numpy/typing/tests/data/reveal/getlimits.pyi,sha256=XCjHClh1U8G-KawZAif3B4vD60e83YTEie1cR9oFRKw,1547 +numpy/typing/tests/data/reveal/histograms.pyi,sha256=9xBXQvL5n670oencXNwqNveDPH8dXHKK9djEvnQ0d7Q,1391 +numpy/typing/tests/data/reveal/index_tricks.pyi,sha256=oMkRrY65nIZTQ4WWRPdN7GFv9A0FA47MF_8ALYQbS14,3481 +numpy/typing/tests/data/reveal/lib_function_base.pyi,sha256=pPfkuP5_CxYehU1bcIp6ubyJF3cypfQmsG0b5VE4nVo,9309 +numpy/typing/tests/data/reveal/lib_polynomial.pyi,sha256=r3WFzw-MOAyl2DeNIKrAPOTjBBjrTJHJYtE7chiAbyw,6353 +numpy/typing/tests/data/reveal/lib_utils.pyi,sha256=3FASdA5Z7XlefhOBamomqbx917hDl4LoBqFD10BC3x0,917 +numpy/typing/tests/data/reveal/lib_version.pyi,sha256=SEo2pRemac1XnmhNDOKEEM0oHf8E0BTJR4rqJekI3fI,605 +numpy/typing/tests/data/reveal/linalg.pyi,sha256=QPfMGXSOSoIT-kGPV0PysdJxVr7Qfklr9zM7R8hy_N8,6389 +numpy/typing/tests/data/reveal/matrix.pyi,sha256=QiJFt5JxiM_KTmzSs3k9jUcjNssdMGBjD1RrbP4nEdM,3033 +numpy/typing/tests/data/reveal/memmap.pyi,sha256=rNVyEHg5RU_g77H7UgDBpPHHmgRsWogqf09wXc0n7oI,755 +numpy/typing/tests/data/reveal/mod.pyi,sha256=a-d4dlG69pP_2YmQ-H63S7gfgAr_EzqzZlVLXrCAam8,5989 +numpy/typing/tests/data/reveal/modules.pyi,sha256=xarouCu6De5qF9dFqrGZafxZ85p7npV958o-uYIxG0E,1910 +numpy/typing/tests/data/reveal/multiarray.pyi,sha256=uSLZoWQSHHImm7nOmBtHy9Psmxy6qO3Xjt8ETvLNozs,5670 +numpy/typing/tests/data/reveal/nbit_base_example.pyi,sha256=dlpC5thGC-6iPNwjEckkequk2jeNjbfAFK0xyDNqmOQ,500 +numpy/typing/tests/data/reveal/ndarray_conversion.pyi,sha256=wzVZpYgNbyeHmMWZd_k0wwbiXRrOMy-_0YL-uVeiJCw,1913 +numpy/typing/tests/data/reveal/ndarray_misc.pyi,sha256=lcz1B-VfYy95vXUCNBYIuIk-eD4yAejVFdvUn2lhBbw,7753 +numpy/typing/tests/data/reveal/ndarray_shape_manipulation.pyi,sha256=Ywz-fsGOQBfzs62Z2hwLlStZJk1-XqU12EhF1XV-80M,904 +numpy/typing/tests/data/reveal/nditer.pyi,sha256=7bxrQBoMou8014t7biD44Gx53-w0yK7dipZuX-GHPVI,2067 +numpy/typing/tests/data/reveal/nested_sequence.pyi,sha256=k8Aac9HP6cunRWwkU7BKR25UrTHpEpPOX5zsyldRdiQ,648 +numpy/typing/tests/data/reveal/npyio.pyi,sha256=UJ1znmJlAW7_hH6ph0PyWKw6tzK6XQNqppPrO54r9uU,4464 +numpy/typing/tests/data/reveal/numeric.pyi,sha256=YJBFghgxK3BBueERO5V3o7VqrmklKUtrmGsXXQPH3RY,6802 +numpy/typing/tests/data/reveal/numerictypes.pyi,sha256=Hjj6lrqqtDWvBtYECcfm4_xoeJvY5MiTCaqprt8Gxx0,1786 +numpy/typing/tests/data/reveal/random.pyi,sha256=KBHaA8TAvOUUW68G2RdfMWa8W1MRRtHWbpDig7GvPnM,129388 +numpy/typing/tests/data/reveal/rec.pyi,sha256=SObXQ2Td2wWPmI_Ilu_4MU9OfZpv-F_FeQIS-kVCjVs,3380 +numpy/typing/tests/data/reveal/scalars.pyi,sha256=4uXG4aWbbE7J8_caSkdzlyz9WBEAzJAqNgFnmaZ0QwE,5694 +numpy/typing/tests/data/reveal/shape_base.pyi,sha256=4p8Pazg55LxX41edkDu8wwAUg6wwUfrPVjCvfL4tVo8,2632 +numpy/typing/tests/data/reveal/stride_tricks.pyi,sha256=hhWXM8W88kieGN-07k5vgJnc5T9jBtx0e9S6f3AkXus,1563 +numpy/typing/tests/data/reveal/testing.pyi,sha256=suu0v3cHRAoz9bZ9zcMJdIavomX1IDDI8OpQRlDQFsI,9020 +numpy/typing/tests/data/reveal/twodim_base.pyi,sha256=Nst-USEDdDOddfyBy1RrmxQWmDHRKPd32SVHIhPd9fk,3327 +numpy/typing/tests/data/reveal/type_check.pyi,sha256=bkUwGo1PRIOwlsQ5Lzb4CI-4vc_QaD-75wwW9dxfrGs,3031 +numpy/typing/tests/data/reveal/ufunc_config.pyi,sha256=178x2bi3cwqRvGtfMWVdgy1zngKWtYPKq3iRfNicbHo,1304 +numpy/typing/tests/data/reveal/ufunclike.pyi,sha256=49gm2MdQWkwURr3iiykm5xzLWSe1op1z8yIm0SC3Gik,1319 +numpy/typing/tests/data/reveal/ufuncs.pyi,sha256=iau_uG1ombTNB2nhpUgdGnY3Pxx6mUj667tRXfLOvEI,2919 +numpy/typing/tests/data/reveal/version.pyi,sha256=T2ECJgJDcQDd5f71eJmnm_QqmXWYtBnlT5xomJqxAmI,313 +numpy/typing/tests/data/reveal/warnings_and_errors.pyi,sha256=QJb7pCEw-B3pz9OcD6RyK135lYT4CQiyt70yxp708qQ,420 +numpy/typing/tests/test_generic_alias.py,sha256=h8x4spOLptF3RtjlKEvI4YaV1YXxXEdKhK_LFebZqDA,7030 +numpy/typing/tests/test_isfile.py,sha256=xF6aWRj0ciBAPowsGx3fMUwRAryz8lxGDFiJPp-IGxc,812 +numpy/typing/tests/test_runtime.py,sha256=xJn6gWjpA44mRRNwRmKqO4z5ku1kn2V1tlXOaIwHLsA,3375 +numpy/typing/tests/test_typing.py,sha256=VqgCr14b1pN2EvC_LjyNnMNvwc3suIV0j6wAcFeZrPE,15312 +numpy/version.py,sha256=7WfmOFcKsQVxivXN6g0qZS_-D2PO9GisAfROkq5VlA8,475 diff --git a/venv/lib/python3.8/site-packages/numpy-1.23.4.dist-info/REQUESTED b/venv/lib/python3.8/site-packages/numpy-1.23.4.dist-info/REQUESTED new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.8/site-packages/numpy-1.23.4.dist-info/WHEEL b/venv/lib/python3.8/site-packages/numpy-1.23.4.dist-info/WHEEL new file mode 120000 index 0000000..895e565 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy-1.23.4.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a5/a3/76/ac713eb0b7f283467862f4277a7b4c4565f166791c9510c7f04e49eaa9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy-1.23.4.dist-info/direct_url.json b/venv/lib/python3.8/site-packages/numpy-1.23.4.dist-info/direct_url.json new file mode 100644 index 0000000..f249650 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy-1.23.4.dist-info/direct_url.json @@ -0,0 +1 @@ +{"archive_info": {"hash": "sha256=a0882323e0ca4245eb0a3d0a74f88ce581cc33aedcfa396e415e5bba7bf05f68"}, "url": "https://files.pythonhosted.org/packages/56/df/2f6016171ebce9875e7de0292a2131bea86e0340607a313a04b332d35c8e/numpy-1.23.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"} \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy-1.23.4.dist-info/entry_points.txt b/venv/lib/python3.8/site-packages/numpy-1.23.4.dist-info/entry_points.txt new file mode 120000 index 0000000..5a52462 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy-1.23.4.dist-info/entry_points.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ef/09/16/3b7978c2ad802f64d2c305200e56a020e9e4d95936008a5e0900a00a01 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy-1.23.4.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/numpy-1.23.4.dist-info/top_level.txt new file mode 120000 index 0000000..7c61445 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy-1.23.4.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e0/9f/65/6c130b9c08b2c5ab7187c891295e449ed77febea2a6ceee9cc98ccb0fc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy.libs/libgfortran-040039e1.so.5.0.0 b/venv/lib/python3.8/site-packages/numpy.libs/libgfortran-040039e1.so.5.0.0 new file mode 120000 index 0000000..b4bcaaf --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy.libs/libgfortran-040039e1.so.5.0.0 @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/47/ab/3b/68295b0a3ce8990a448de7fab11abddbc160f8895972ca9aa712cf86d0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy.libs/libopenblas64_p-r0-742d56dc.3.20.so b/venv/lib/python3.8/site-packages/numpy.libs/libopenblas64_p-r0-742d56dc.3.20.so new file mode 120000 index 0000000..1dc6358 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy.libs/libopenblas64_p-r0-742d56dc.3.20.so @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/38/e7/29/8921fb5c867349724aa21e45d2b6f51f166adb4d38ab4016aafc4b0e9e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy.libs/libquadmath-96973f99.so.0.0.0 b/venv/lib/python3.8/site-packages/numpy.libs/libquadmath-96973f99.so.0.0.0 new file mode 120000 index 0000000..bf2cc4c --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy.libs/libquadmath-96973f99.so.0.0.0 @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/97/cd/a8/5ddb5163e2da6e1edb4e1d6b557833a99a40eda079ae37e5039465b65d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/LICENSE.txt b/venv/lib/python3.8/site-packages/numpy/LICENSE.txt new file mode 120000 index 0000000..4af86ce --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/LICENSE.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/01/37/61/51d4645efbadf8aa1badc575ebf0b35db1fae4545604d545f5c9b32fde \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/__config__.py b/venv/lib/python3.8/site-packages/numpy/__config__.py new file mode 120000 index 0000000..a472381 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/__config__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4d/7b/e3/5bc3dc2889164b1de92c26180b648caa644ffb480a90e3af7240eae80a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/__init__.cython-30.pxd b/venv/lib/python3.8/site-packages/numpy/__init__.cython-30.pxd new file mode 120000 index 0000000..705ae2c --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/__init__.cython-30.pxd @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fe/2e/5e/68b6657c74c817c983c0d7a1a85bde9b40991ad1e653a808435b650c8c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/__init__.pxd b/venv/lib/python3.8/site-packages/numpy/__init__.pxd new file mode 120000 index 0000000..62d808f --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/__init__.pxd @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d0/22/02/e77736882be05798adb0fef7ad41e2023909f395c8a013b3aee97e2fd6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/__init__.py b/venv/lib/python3.8/site-packages/numpy/__init__.py new file mode 120000 index 0000000..5fca103 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8c/bd/5d/eacb12112e0313dba29bcdad4751616850bef439aabad3c08d1e58a57d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/__init__.pyi b/venv/lib/python3.8/site-packages/numpy/__init__.pyi new file mode 120000 index 0000000..d3eeb32 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c2/61/68/5c69f2920555d63cd94e283bd7e7937bb99f4d17b91261deaa167d4178 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/__pycache__/__config__.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/__pycache__/__config__.cpython-38.pyc new file mode 100644 index 0000000..8a8221b Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/__pycache__/__config__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..ce8cf03 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/__pycache__/_distributor_init.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/__pycache__/_distributor_init.cpython-38.pyc new file mode 100644 index 0000000..d6ce50b Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/__pycache__/_distributor_init.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/__pycache__/_globals.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/__pycache__/_globals.cpython-38.pyc new file mode 100644 index 0000000..80e0c37 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/__pycache__/_globals.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/__pycache__/_pytesttester.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/__pycache__/_pytesttester.cpython-38.pyc new file mode 100644 index 0000000..0fad087 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/__pycache__/_pytesttester.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/__pycache__/_version.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/__pycache__/_version.cpython-38.pyc new file mode 100644 index 0000000..49fe41c Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/__pycache__/_version.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/__pycache__/conftest.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/__pycache__/conftest.cpython-38.pyc new file mode 100644 index 0000000..b652c77 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/__pycache__/conftest.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/__pycache__/ctypeslib.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/__pycache__/ctypeslib.cpython-38.pyc new file mode 100644 index 0000000..5b41e64 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/__pycache__/ctypeslib.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/__pycache__/dual.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/__pycache__/dual.cpython-38.pyc new file mode 100644 index 0000000..8181aaf Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/__pycache__/dual.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/__pycache__/matlib.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/__pycache__/matlib.cpython-38.pyc new file mode 100644 index 0000000..cbf513e Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/__pycache__/matlib.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/__pycache__/setup.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/__pycache__/setup.cpython-38.pyc new file mode 100644 index 0000000..1551e33 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/__pycache__/setup.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/__pycache__/version.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/__pycache__/version.cpython-38.pyc new file mode 100644 index 0000000..3428e24 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/__pycache__/version.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/_distributor_init.py b/venv/lib/python3.8/site-packages/numpy/_distributor_init.py new file mode 120000 index 0000000..eab1564 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/_distributor_init.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/22/03/e4/48adc7f5b82315e51f5ae5e18caae07ad425e73b545bead3ca31872b77 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/_globals.py b/venv/lib/python3.8/site-packages/numpy/_globals.py new file mode 120000 index 0000000..89bf5a9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/_globals.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ed/c6/8c/001ad59d6d49d201205eb10933611bb8a56995968a3ac5e7a4b3ee506e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/_pyinstaller/__init__.py b/venv/lib/python3.8/site-packages/numpy/_pyinstaller/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/_pyinstaller/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/_pyinstaller/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/_pyinstaller/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..e1f3c45 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/_pyinstaller/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/_pyinstaller/__pycache__/hook-numpy.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/_pyinstaller/__pycache__/hook-numpy.cpython-38.pyc new file mode 100644 index 0000000..6d34c60 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/_pyinstaller/__pycache__/hook-numpy.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/_pyinstaller/__pycache__/pyinstaller-smoke.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/_pyinstaller/__pycache__/pyinstaller-smoke.cpython-38.pyc new file mode 100644 index 0000000..3a5850e Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/_pyinstaller/__pycache__/pyinstaller-smoke.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/_pyinstaller/__pycache__/test_pyinstaller.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/_pyinstaller/__pycache__/test_pyinstaller.cpython-38.pyc new file mode 100644 index 0000000..bd924b6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/_pyinstaller/__pycache__/test_pyinstaller.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/_pyinstaller/hook-numpy.py b/venv/lib/python3.8/site-packages/numpy/_pyinstaller/hook-numpy.py new file mode 120000 index 0000000..869f1ed --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/_pyinstaller/hook-numpy.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/36/23/49/585d28da0fafbb22931c649edd4a03bc346640f0414de65f48c005a096 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/_pyinstaller/pyinstaller-smoke.py b/venv/lib/python3.8/site-packages/numpy/_pyinstaller/pyinstaller-smoke.py new file mode 120000 index 0000000..3d9055e --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/_pyinstaller/pyinstaller-smoke.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/da/ea/52/9830db5a0e21132d676fa97f374f038344f1c8b2a8a0dc0deef543032c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/_pyinstaller/test_pyinstaller.py b/venv/lib/python3.8/site-packages/numpy/_pyinstaller/test_pyinstaller.py new file mode 120000 index 0000000..79b2027 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/_pyinstaller/test_pyinstaller.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f0/af/bb/43199fa17086d0dc11d1b84880236b0e31a5ad3cd69eb475b11f1bb605 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/_pytesttester.py b/venv/lib/python3.8/site-packages/numpy/_pytesttester.py new file mode 120000 index 0000000..6d02f1f --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/_pytesttester.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bb/61/12/7b10157836f044c22b9ab9cb5ef2454d3c824d6d366412ffa4a2834d08 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/_pytesttester.pyi b/venv/lib/python3.8/site-packages/numpy/_pytesttester.pyi new file mode 120000 index 0000000..491e5ef --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/_pytesttester.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3a/dc/97/4a2b92cbca3fefcc3740d4118cc2e9bef37211d0b468cb31e93faf4715 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/_typing/__init__.py b/venv/lib/python3.8/site-packages/numpy/_typing/__init__.py new file mode 120000 index 0000000..45ce732 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/_typing/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/58/76/e9/f75895c2e53cf3fe3279f209d01f24134de8b380be00ea3e2a8ed0a39a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/_typing/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/_typing/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..bead3f6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/_typing/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/_typing/__pycache__/_add_docstring.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/_typing/__pycache__/_add_docstring.cpython-38.pyc new file mode 100644 index 0000000..cab4c3b Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/_typing/__pycache__/_add_docstring.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/_typing/__pycache__/_array_like.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/_typing/__pycache__/_array_like.cpython-38.pyc new file mode 100644 index 0000000..212753f Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/_typing/__pycache__/_array_like.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/_typing/__pycache__/_char_codes.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/_typing/__pycache__/_char_codes.cpython-38.pyc new file mode 100644 index 0000000..a10058b Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/_typing/__pycache__/_char_codes.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/_typing/__pycache__/_dtype_like.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/_typing/__pycache__/_dtype_like.cpython-38.pyc new file mode 100644 index 0000000..4632391 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/_typing/__pycache__/_dtype_like.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/_typing/__pycache__/_extended_precision.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/_typing/__pycache__/_extended_precision.cpython-38.pyc new file mode 100644 index 0000000..a9019c6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/_typing/__pycache__/_extended_precision.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/_typing/__pycache__/_generic_alias.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/_typing/__pycache__/_generic_alias.cpython-38.pyc new file mode 100644 index 0000000..f7447b9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/_typing/__pycache__/_generic_alias.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/_typing/__pycache__/_nbit.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/_typing/__pycache__/_nbit.cpython-38.pyc new file mode 100644 index 0000000..5d91008 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/_typing/__pycache__/_nbit.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/_typing/__pycache__/_nested_sequence.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/_typing/__pycache__/_nested_sequence.cpython-38.pyc new file mode 100644 index 0000000..48b0836 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/_typing/__pycache__/_nested_sequence.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/_typing/__pycache__/_scalars.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/_typing/__pycache__/_scalars.cpython-38.pyc new file mode 100644 index 0000000..fcd503e Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/_typing/__pycache__/_scalars.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/_typing/__pycache__/_shape.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/_typing/__pycache__/_shape.cpython-38.pyc new file mode 100644 index 0000000..76a1047 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/_typing/__pycache__/_shape.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/_typing/__pycache__/setup.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/_typing/__pycache__/setup.cpython-38.pyc new file mode 100644 index 0000000..f5821a6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/_typing/__pycache__/setup.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/_typing/_add_docstring.py b/venv/lib/python3.8/site-packages/numpy/_typing/_add_docstring.py new file mode 120000 index 0000000..f7ffcb1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/_typing/_add_docstring.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7e/f8/99/031081079c35398e4f9e73fd1e3d836bb92b12cf22c698fcca4ff468b3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/_typing/_array_like.py b/venv/lib/python3.8/site-packages/numpy/_typing/_array_like.py new file mode 120000 index 0000000..e9abccc --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/_typing/_array_like.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/61/65/7e/273b835f83a4ad986f365f968f1876bd7bef8b84846654a3c07d4288f4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/_typing/_callable.pyi b/venv/lib/python3.8/site-packages/numpy/_typing/_callable.pyi new file mode 120000 index 0000000..8a50fb9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/_typing/_callable.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/56/1f/7f/bc9980ca35fb58d5c7b6fcc520714561c28d4dcb33950a576d96155192 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/_typing/_char_codes.py b/venv/lib/python3.8/site-packages/numpy/_typing/_char_codes.py new file mode 120000 index 0000000..25868f2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/_typing/_char_codes.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2d/1e/75/3b90140436c2989be5328c7252fb1fbdbd69ed61eb7b182d4c6b6e5937 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/_typing/_dtype_like.py b/venv/lib/python3.8/site-packages/numpy/_typing/_dtype_like.py new file mode 120000 index 0000000..ea30cc9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/_typing/_dtype_like.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/51/fe/75/f7a94f102e9a53c515a17357bafe3ba249c2c8cb085e30a9a2b0e1c070 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/_typing/_extended_precision.py b/venv/lib/python3.8/site-packages/numpy/_typing/_extended_precision.py new file mode 120000 index 0000000..d9b764c --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/_typing/_extended_precision.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3d/f4/19/50cf31952ee51573d541b2495f5aae88c2a86de2493f84bd4efb724eb1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/_typing/_generic_alias.py b/venv/lib/python3.8/site-packages/numpy/_typing/_generic_alias.py new file mode 120000 index 0000000..86ebf8c --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/_typing/_generic_alias.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/97/61/1c/a1198deca2b60017ec6056599560c6a1d5eefe913672f82c52baf1c828 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/_typing/_nbit.py b/venv/lib/python3.8/site-packages/numpy/_typing/_nbit.py new file mode 120000 index 0000000..0114dd5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/_typing/_nbit.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f8/44/0e/4a11e9077af7d1be1154472bb90453713685019c2da8227806cbe91330 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/_typing/_nested_sequence.py b/venv/lib/python3.8/site-packages/numpy/_typing/_nested_sequence.py new file mode 120000 index 0000000..e9ef67f --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/_typing/_nested_sequence.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/29/50/9b/6b485a74a1a8e73f6abe17c07da1343e6c4a03d357b14f3707c41d4cb9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/_typing/_scalars.py b/venv/lib/python3.8/site-packages/numpy/_typing/_scalars.py new file mode 120000 index 0000000..df0c99c --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/_typing/_scalars.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/09/1a/22/340619a842ee6d1da16e9940e6aa26fa4e2452958b357e06817f07962d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/_typing/_shape.py b/venv/lib/python3.8/site-packages/numpy/_typing/_shape.py new file mode 120000 index 0000000..e333705 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/_typing/_shape.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b6/c3/03/678d4605533d3e219adc6a465768045b13f9edcec7aa63cc58aae4090a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/_typing/_ufunc.pyi b/venv/lib/python3.8/site-packages/numpy/_typing/_ufunc.pyi new file mode 120000 index 0000000..a11edc7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/_typing/_ufunc.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7b/be/0b/b4e3fd7bc924461beb209fd15f3f546bf2f8dcf77d222c703707ab9a73 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/_typing/setup.py b/venv/lib/python3.8/site-packages/numpy/_typing/setup.py new file mode 120000 index 0000000..a311367 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/_typing/setup.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/48/4d/10/e873ea0e35947dc780e325e090823ccb7cfb122485d19f8c370388c86e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/_version.py b/venv/lib/python3.8/site-packages/numpy/_version.py new file mode 120000 index 0000000..fd0aa15 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/_version.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5a/a4/09/8da2b1738c657d0751a771b09690f15d722bb00025e77e70517cf2258e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/array_api/__init__.py b/venv/lib/python3.8/site-packages/numpy/array_api/__init__.py new file mode 120000 index 0000000..95e328a --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/array_api/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6f/61/6d/8e65a9389a76ed0dd20e61ceecf29db0841c216f3fff7585331a89cb9b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/array_api/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/array_api/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..9133aa6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/array_api/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/array_api/__pycache__/_array_object.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/array_api/__pycache__/_array_object.cpython-38.pyc new file mode 100644 index 0000000..d162e8d Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/array_api/__pycache__/_array_object.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/array_api/__pycache__/_constants.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/array_api/__pycache__/_constants.cpython-38.pyc new file mode 100644 index 0000000..2140148 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/array_api/__pycache__/_constants.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/array_api/__pycache__/_creation_functions.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/array_api/__pycache__/_creation_functions.cpython-38.pyc new file mode 100644 index 0000000..db8faf2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/array_api/__pycache__/_creation_functions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/array_api/__pycache__/_data_type_functions.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/array_api/__pycache__/_data_type_functions.cpython-38.pyc new file mode 100644 index 0000000..eb21782 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/array_api/__pycache__/_data_type_functions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/array_api/__pycache__/_dtypes.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/array_api/__pycache__/_dtypes.cpython-38.pyc new file mode 100644 index 0000000..b215cc7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/array_api/__pycache__/_dtypes.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/array_api/__pycache__/_elementwise_functions.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/array_api/__pycache__/_elementwise_functions.cpython-38.pyc new file mode 100644 index 0000000..600fbd1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/array_api/__pycache__/_elementwise_functions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/array_api/__pycache__/_manipulation_functions.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/array_api/__pycache__/_manipulation_functions.cpython-38.pyc new file mode 100644 index 0000000..9abd6c5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/array_api/__pycache__/_manipulation_functions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/array_api/__pycache__/_searching_functions.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/array_api/__pycache__/_searching_functions.cpython-38.pyc new file mode 100644 index 0000000..3de3bdc Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/array_api/__pycache__/_searching_functions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/array_api/__pycache__/_set_functions.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/array_api/__pycache__/_set_functions.cpython-38.pyc new file mode 100644 index 0000000..c86f5fc Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/array_api/__pycache__/_set_functions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/array_api/__pycache__/_sorting_functions.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/array_api/__pycache__/_sorting_functions.cpython-38.pyc new file mode 100644 index 0000000..f60a9e1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/array_api/__pycache__/_sorting_functions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/array_api/__pycache__/_statistical_functions.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/array_api/__pycache__/_statistical_functions.cpython-38.pyc new file mode 100644 index 0000000..84aafb5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/array_api/__pycache__/_statistical_functions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/array_api/__pycache__/_typing.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/array_api/__pycache__/_typing.cpython-38.pyc new file mode 100644 index 0000000..6dda143 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/array_api/__pycache__/_typing.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/array_api/__pycache__/_utility_functions.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/array_api/__pycache__/_utility_functions.cpython-38.pyc new file mode 100644 index 0000000..1afd1d2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/array_api/__pycache__/_utility_functions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/array_api/__pycache__/linalg.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/array_api/__pycache__/linalg.cpython-38.pyc new file mode 100644 index 0000000..6479650 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/array_api/__pycache__/linalg.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/array_api/__pycache__/setup.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/array_api/__pycache__/setup.cpython-38.pyc new file mode 100644 index 0000000..e84b7a3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/array_api/__pycache__/setup.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/array_api/_array_object.py b/venv/lib/python3.8/site-packages/numpy/array_api/_array_object.py new file mode 120000 index 0000000..25345dc --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/array_api/_array_object.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e5/80/fd/d790bb107fd42764ba44823196564d13b41394f6579c953db13a64318e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/array_api/_constants.py b/venv/lib/python3.8/site-packages/numpy/array_api/_constants.py new file mode 120000 index 0000000..997b90c --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/array_api/_constants.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/67/a6/c8/9b1d29ba156e0b073974f5ef67a4d9b78e9ec62bae5f54ee6d2c90eb61 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/array_api/_creation_functions.py b/venv/lib/python3.8/site-packages/numpy/array_api/_creation_functions.py new file mode 120000 index 0000000..71a089e --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/array_api/_creation_functions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e9/2a/87/77366a1ce245132585b6a9e3e8a20a462beb197c513a58277b3ff732dd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/array_api/_data_type_functions.py b/venv/lib/python3.8/site-packages/numpy/array_api/_data_type_functions.py new file mode 120000 index 0000000..92f984b --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/array_api/_data_type_functions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1e/4d/34/9e1e0cc571c10891d147b7d2ddf6405bb07df364447e9fe84946e71bf9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/array_api/_dtypes.py b/venv/lib/python3.8/site-packages/numpy/array_api/_dtypes.py new file mode 120000 index 0000000..9fe7d3f --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/array_api/_dtypes.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/58/4c/b5/5f3b4921b488f64a2c16a7acbff1736ff6c7c07fe73a5ad516585bcb1d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/array_api/_elementwise_functions.py b/venv/lib/python3.8/site-packages/numpy/array_api/_elementwise_functions.py new file mode 120000 index 0000000..96cdc9b --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/array_api/_elementwise_functions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6a/b8/b3/390da233777f6ce16993faf0c025d9337672871f7f7e7c82922e99f1e6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/array_api/_manipulation_functions.py b/venv/lib/python3.8/site-packages/numpy/array_api/_manipulation_functions.py new file mode 120000 index 0000000..e79511a --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/array_api/_manipulation_functions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/12/a2/df/f1920b015d527ba0adb59f830f6ef5575f8f8230cae407bf4c3f8d9aa4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/array_api/_searching_functions.py b/venv/lib/python3.8/site-packages/numpy/array_api/_searching_functions.py new file mode 120000 index 0000000..649d3cd --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/array_api/_searching_functions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/33/be/41/123e5bf786797326bafcecdb82f851f461880c6749f1ecb27491ee58f4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/array_api/_set_functions.py b/venv/lib/python3.8/site-packages/numpy/array_api/_set_functions.py new file mode 120000 index 0000000..dc6096d --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/array_api/_set_functions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f3/42/0d/a4b54ffb86ee9c35d4c66c48ddd156fa0baeffbae05a5030b8dcddb191 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/array_api/_sorting_functions.py b/venv/lib/python3.8/site-packages/numpy/array_api/_sorting_functions.py new file mode 120000 index 0000000..0d33b0a --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/array_api/_sorting_functions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/57/4a/66/b75c402dc032efa483ab02079cc533a45a94f7cc7ae3cb47d365fe938e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/array_api/_statistical_functions.py b/venv/lib/python3.8/site-packages/numpy/array_api/_statistical_functions.py new file mode 120000 index 0000000..51091a6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/array_api/_statistical_functions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/03/18/98/933fa55b593cb856907c20d726b5e20f31ba4218eefa1ae6e40f481521 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/array_api/_typing.py b/venv/lib/python3.8/site-packages/numpy/array_api/_typing.py new file mode 120000 index 0000000..c13d071 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/array_api/_typing.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1c/dd/00/a3e9fa9b55c0b8814d906114439e9110f98f27e94a4807ab9df531a037 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/array_api/_utility_functions.py b/venv/lib/python3.8/site-packages/numpy/array_api/_utility_functions.py new file mode 120000 index 0000000..63caa91 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/array_api/_utility_functions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1f/0c/9c/ca56cf020455cf89d9be3bf0a8dde642725ba8a03e35131a02f20ff821 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/array_api/linalg.py b/venv/lib/python3.8/site-packages/numpy/array_api/linalg.py new file mode 120000 index 0000000..bc41d77 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/array_api/linalg.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d4/a2/07/9e57fead83a83bf92b92f664de05e34d8c1dd16565132fc4fe7cc07791 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/array_api/setup.py b/venv/lib/python3.8/site-packages/numpy/array_api/setup.py new file mode 120000 index 0000000..46e37bf --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/array_api/setup.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5b/1e/aa/0fb194fc03e2a8aa2560f3b4387bf8787198ae33d99830208d684e1213 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/array_api/tests/__init__.py b/venv/lib/python3.8/site-packages/numpy/array_api/tests/__init__.py new file mode 120000 index 0000000..7d2182c --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/array_api/tests/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b7/fd/86/67794a72cbb879ce0630a3d40d869e3142720eab8195001c3e08fb9051 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/array_api/tests/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/array_api/tests/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..bb3b408 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/array_api/tests/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/array_api/tests/__pycache__/test_array_object.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/array_api/tests/__pycache__/test_array_object.cpython-38.pyc new file mode 100644 index 0000000..00e4a1b Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/array_api/tests/__pycache__/test_array_object.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/array_api/tests/__pycache__/test_creation_functions.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/array_api/tests/__pycache__/test_creation_functions.cpython-38.pyc new file mode 100644 index 0000000..f38a478 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/array_api/tests/__pycache__/test_creation_functions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/array_api/tests/__pycache__/test_data_type_functions.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/array_api/tests/__pycache__/test_data_type_functions.cpython-38.pyc new file mode 100644 index 0000000..2a1b0cd Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/array_api/tests/__pycache__/test_data_type_functions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/array_api/tests/__pycache__/test_elementwise_functions.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/array_api/tests/__pycache__/test_elementwise_functions.cpython-38.pyc new file mode 100644 index 0000000..692ebed Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/array_api/tests/__pycache__/test_elementwise_functions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/array_api/tests/__pycache__/test_set_functions.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/array_api/tests/__pycache__/test_set_functions.cpython-38.pyc new file mode 100644 index 0000000..f0f267a Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/array_api/tests/__pycache__/test_set_functions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/array_api/tests/__pycache__/test_sorting_functions.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/array_api/tests/__pycache__/test_sorting_functions.cpython-38.pyc new file mode 100644 index 0000000..3772444 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/array_api/tests/__pycache__/test_sorting_functions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/array_api/tests/__pycache__/test_validation.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/array_api/tests/__pycache__/test_validation.cpython-38.pyc new file mode 100644 index 0000000..f63777a Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/array_api/tests/__pycache__/test_validation.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/array_api/tests/test_array_object.py b/venv/lib/python3.8/site-packages/numpy/array_api/tests/test_array_object.py new file mode 120000 index 0000000..e9aa490 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/array_api/tests/test_array_object.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/64/bd/4c/8a7c208607241f4b0fba0c42f0411c7277a1ef19a7e832f522b6f5edda \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/array_api/tests/test_creation_functions.py b/venv/lib/python3.8/site-packages/numpy/array_api/tests/test_creation_functions.py new file mode 120000 index 0000000..a441ddb --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/array_api/tests/test_creation_functions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b3/70/35/08e5a65c8009761cddf2fed5b4bfa36e24aca6c913ab0632d014e99a9c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/array_api/tests/test_data_type_functions.py b/venv/lib/python3.8/site-packages/numpy/array_api/tests/test_data_type_functions.py new file mode 120000 index 0000000..1ea20b8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/array_api/tests/test_data_type_functions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/52/49/29/6feaa33912186fc4f516b4ad8b07220d6684af6eea46ca3b4098084b41 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/array_api/tests/test_elementwise_functions.py b/venv/lib/python3.8/site-packages/numpy/array_api/tests/test_elementwise_functions.py new file mode 120000 index 0000000..55bbad5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/array_api/tests/test_elementwise_functions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fc/31/01/e6be95083561528b3b543685cc221ddbf339cbb2a8c8af874c6c9b7647 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/array_api/tests/test_set_functions.py b/venv/lib/python3.8/site-packages/numpy/array_api/tests/test_set_functions.py new file mode 120000 index 0000000..6b6fe5b --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/array_api/tests/test_set_functions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0f/4d/7a/1bbbf7928e3d6cd0f9b151113fc22a417662c2bfb6cab29b04f27ea2a8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/array_api/tests/test_sorting_functions.py b/venv/lib/python3.8/site-packages/numpy/array_api/tests/test_sorting_functions.py new file mode 120000 index 0000000..3f57909 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/array_api/tests/test_sorting_functions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/20/d3/e2/627b8605cb265ad62a7534d7dc434798ce22531e33b3d29dc0369299d0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/array_api/tests/test_validation.py b/venv/lib/python3.8/site-packages/numpy/array_api/tests/test_validation.py new file mode 120000 index 0000000..7cad62e --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/array_api/tests/test_validation.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/41/41/bd/c960b742190fc4d85b41e6a4c016e5fb446bd224ee678d7fd2c7d52065 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/compat/__init__.py b/venv/lib/python3.8/site-packages/numpy/compat/__init__.py new file mode 120000 index 0000000..2ba0c40 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/compat/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/37/31/bf/46f4f286f29bcbca7fc111efc379b6ee006bc47ded54fcbaccf58353fd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/compat/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/compat/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..b285013 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/compat/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/compat/__pycache__/_inspect.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/compat/__pycache__/_inspect.cpython-38.pyc new file mode 100644 index 0000000..476d497 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/compat/__pycache__/_inspect.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/compat/__pycache__/_pep440.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/compat/__pycache__/_pep440.cpython-38.pyc new file mode 100644 index 0000000..16bfb09 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/compat/__pycache__/_pep440.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/compat/__pycache__/py3k.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/compat/__pycache__/py3k.cpython-38.pyc new file mode 100644 index 0000000..1e83cb6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/compat/__pycache__/py3k.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/compat/__pycache__/setup.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/compat/__pycache__/setup.cpython-38.pyc new file mode 100644 index 0000000..694ffc4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/compat/__pycache__/setup.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/compat/_inspect.py b/venv/lib/python3.8/site-packages/numpy/compat/_inspect.py new file mode 120000 index 0000000..a1d6432 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/compat/_inspect.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f0/c6/bb/4014707d258a78ad52849a4535cec20e113a7e4204ff0af5171ac6d40f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/compat/_pep440.py b/venv/lib/python3.8/site-packages/numpy/compat/_pep440.py new file mode 120000 index 0000000..79e8d96 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/compat/_pep440.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/56/be/c1/dd0b228d1e69ea1f18033d8b8cd194cb31d4279819e2fdba3696402837 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/compat/py3k.py b/venv/lib/python3.8/site-packages/numpy/compat/py3k.py new file mode 120000 index 0000000..784af50 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/compat/py3k.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8d/b3/0d/6e7fdc5772435832897d83bbf20ea5097920fbff799a0409961e2a3fcd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/compat/setup.py b/venv/lib/python3.8/site-packages/numpy/compat/setup.py new file mode 120000 index 0000000..71bc782 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/compat/setup.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/df/a5/f5/905d02fcd5513977c9ef0dd241e066e4020306e25b339a93edcbd20e05 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/compat/tests/__init__.py b/venv/lib/python3.8/site-packages/numpy/compat/tests/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/compat/tests/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/compat/tests/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/compat/tests/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..9e9739d Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/compat/tests/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/compat/tests/__pycache__/test_compat.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/compat/tests/__pycache__/test_compat.cpython-38.pyc new file mode 100644 index 0000000..9e0ac30 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/compat/tests/__pycache__/test_compat.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/compat/tests/test_compat.py b/venv/lib/python3.8/site-packages/numpy/compat/tests/test_compat.py new file mode 120000 index 0000000..6112b4d --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/compat/tests/test_compat.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/20/1e/b1/0e3cc7c16466c4a1f09c56c4497ba5da6b365e34fa1e3f83cb076eda83 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/conftest.py b/venv/lib/python3.8/site-packages/numpy/conftest.py new file mode 120000 index 0000000..716b5ee --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/conftest.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/de/56/09/7f22c60f2c7e7320aad8ec7a197eb1c34f679fdecae31d96494f91027d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/__init__.py b/venv/lib/python3.8/site-packages/numpy/core/__init__.py new file mode 120000 index 0000000..e164639 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e9/ec/c2/1950b84eebcb97262d06de9f5e0d14f9412e6f0d979b34eabf94fe30e8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/__init__.pyi b/venv/lib/python3.8/site-packages/numpy/core/__init__.pyi new file mode 120000 index 0000000..5e28c90 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c6/d7/7d/3856336be646de3c8426b97344f4fe4a456807fa9899509ee85c5192cd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..f922f27 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/__pycache__/_add_newdocs.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/_add_newdocs.cpython-38.pyc new file mode 100644 index 0000000..dcc5113 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/_add_newdocs.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/__pycache__/_add_newdocs_scalars.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/_add_newdocs_scalars.cpython-38.pyc new file mode 100644 index 0000000..abef7af Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/_add_newdocs_scalars.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/__pycache__/_asarray.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/_asarray.cpython-38.pyc new file mode 100644 index 0000000..eb96fd5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/_asarray.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/__pycache__/_dtype.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/_dtype.cpython-38.pyc new file mode 100644 index 0000000..c8e5668 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/_dtype.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/__pycache__/_dtype_ctypes.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/_dtype_ctypes.cpython-38.pyc new file mode 100644 index 0000000..cba8356 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/_dtype_ctypes.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/__pycache__/_exceptions.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/_exceptions.cpython-38.pyc new file mode 100644 index 0000000..dff4457 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/_exceptions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/__pycache__/_internal.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/_internal.cpython-38.pyc new file mode 100644 index 0000000..134259f Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/_internal.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/__pycache__/_machar.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/_machar.cpython-38.pyc new file mode 100644 index 0000000..3060597 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/_machar.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/__pycache__/_methods.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/_methods.cpython-38.pyc new file mode 100644 index 0000000..bb9b4b8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/_methods.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/__pycache__/_string_helpers.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/_string_helpers.cpython-38.pyc new file mode 100644 index 0000000..01869ac Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/_string_helpers.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/__pycache__/_type_aliases.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/_type_aliases.cpython-38.pyc new file mode 100644 index 0000000..b69cde7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/_type_aliases.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/__pycache__/_ufunc_config.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/_ufunc_config.cpython-38.pyc new file mode 100644 index 0000000..bdd692f Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/_ufunc_config.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/__pycache__/arrayprint.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/arrayprint.cpython-38.pyc new file mode 100644 index 0000000..7074cd9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/arrayprint.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/__pycache__/cversions.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/cversions.cpython-38.pyc new file mode 100644 index 0000000..f3bd89b Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/cversions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/__pycache__/defchararray.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/defchararray.cpython-38.pyc new file mode 100644 index 0000000..6525e8f Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/defchararray.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/__pycache__/einsumfunc.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/einsumfunc.cpython-38.pyc new file mode 100644 index 0000000..bfab702 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/einsumfunc.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/__pycache__/fromnumeric.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/fromnumeric.cpython-38.pyc new file mode 100644 index 0000000..44f6f69 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/fromnumeric.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/__pycache__/function_base.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/function_base.cpython-38.pyc new file mode 100644 index 0000000..67d09e5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/function_base.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/__pycache__/generate_numpy_api.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/generate_numpy_api.cpython-38.pyc new file mode 100644 index 0000000..a46f232 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/generate_numpy_api.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/__pycache__/getlimits.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/getlimits.cpython-38.pyc new file mode 100644 index 0000000..0c71dbd Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/getlimits.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/__pycache__/memmap.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/memmap.cpython-38.pyc new file mode 100644 index 0000000..d41b161 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/memmap.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/__pycache__/multiarray.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/multiarray.cpython-38.pyc new file mode 100644 index 0000000..4b96cca Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/multiarray.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/__pycache__/numeric.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/numeric.cpython-38.pyc new file mode 100644 index 0000000..7c9cd71 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/numeric.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/__pycache__/numerictypes.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/numerictypes.cpython-38.pyc new file mode 100644 index 0000000..1cdf550 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/numerictypes.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/__pycache__/overrides.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/overrides.cpython-38.pyc new file mode 100644 index 0000000..c9c8c10 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/overrides.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/__pycache__/records.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/records.cpython-38.pyc new file mode 100644 index 0000000..afbc024 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/records.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/__pycache__/setup.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/setup.cpython-38.pyc new file mode 100644 index 0000000..eb4accc Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/setup.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/__pycache__/setup_common.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/setup_common.cpython-38.pyc new file mode 100644 index 0000000..43f5d16 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/setup_common.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/__pycache__/shape_base.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/shape_base.cpython-38.pyc new file mode 100644 index 0000000..8a301fb Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/shape_base.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/__pycache__/umath.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/umath.cpython-38.pyc new file mode 100644 index 0000000..4acba5a Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/umath.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/__pycache__/umath_tests.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/umath_tests.cpython-38.pyc new file mode 100644 index 0000000..e5c8b01 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/__pycache__/umath_tests.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/_add_newdocs.py b/venv/lib/python3.8/site-packages/numpy/core/_add_newdocs.py new file mode 120000 index 0000000..4bb63cf --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/_add_newdocs.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4d/92/79/88d74731124850207ebc7055a4b34ede22872dfb65251952fc7e169b8c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/_add_newdocs_scalars.py b/venv/lib/python3.8/site-packages/numpy/core/_add_newdocs_scalars.py new file mode 120000 index 0000000..f83d530 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/_add_newdocs_scalars.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c7/15/36/861326e2d16ec7e50d20a2cc287154edb31e94e091009da5097ddb6a12 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/_asarray.py b/venv/lib/python3.8/site-packages/numpy/core/_asarray.py new file mode 120000 index 0000000..fb18199 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/_asarray.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/27/10/a2/bbfbe14818a2711e82cc515df3f7a638286952421d3ab3bd3220672f0d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/_asarray.pyi b/venv/lib/python3.8/site-packages/numpy/core/_asarray.pyi new file mode 120000 index 0000000..a4a003b --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/_asarray.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fc/0e/a1/f7d2d5fbc06480bc432af1ba8b535704b07f0ebc68ab9d50cf617f802e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/_dtype.py b/venv/lib/python3.8/site-packages/numpy/core/_dtype.py new file mode 120000 index 0000000..78f30c9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/_dtype.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/dd/e8/3a/bd842d927ad7e1e071119175c9f46953fb89cddd371e75ed4071cfbf35 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/_dtype_ctypes.py b/venv/lib/python3.8/site-packages/numpy/core/_dtype_ctypes.py new file mode 120000 index 0000000..d09e66d --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/_dtype_ctypes.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/56/e8/38/8bbc4a8739cadad7488e69f879b7250a5a5a089c1265496f128625d048 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/_exceptions.py b/venv/lib/python3.8/site-packages/numpy/core/_exceptions.py new file mode 120000 index 0000000..f19df72 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/_exceptions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7e/86/b6/772fcdbb78fa3e9fc4891c0de95fceeca386ba04a4d97cf376e45f6d48 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/_internal.py b/venv/lib/python3.8/site-packages/numpy/core/_internal.py new file mode 120000 index 0000000..ae43bf9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/_internal.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fd/e7/ca/6f75294a4f1602db216ced7fec0d05652e7bea1bf496601a507a08e3c5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/_internal.pyi b/venv/lib/python3.8/site-packages/numpy/core/_internal.pyi new file mode 120000 index 0000000..1f5ec63 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/_internal.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fe/60/93/397e92bbc0f847d7d5e0735ea213c9c7be75e41f963a5bf8baaea6af2f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/_machar.py b/venv/lib/python3.8/site-packages/numpy/core/_machar.py new file mode 120000 index 0000000..521abb3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/_machar.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/64/ac/d2/de8db05b0e913930d33203084594c362e84589f125dc3d46c50b02dd07 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/_methods.py b/venv/lib/python3.8/site-packages/numpy/core/_methods.py new file mode 120000 index 0000000..ae30f51 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/_methods.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b3/cf/f4/b13f755347b6a7f97df0c889a5368263c185b54cb78f8544025e065896 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/_multiarray_tests.cpython-38-x86_64-linux-gnu.so b/venv/lib/python3.8/site-packages/numpy/core/_multiarray_tests.cpython-38-x86_64-linux-gnu.so new file mode 120000 index 0000000..eea3fb8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/_multiarray_tests.cpython-38-x86_64-linux-gnu.so @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/64/54/81/b23d62bda45942fbb2819ae7187cf2d13140343a76b51a366c8f81dce0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/_multiarray_umath.cpython-38-x86_64-linux-gnu.so b/venv/lib/python3.8/site-packages/numpy/core/_multiarray_umath.cpython-38-x86_64-linux-gnu.so new file mode 120000 index 0000000..e04d8be --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/_multiarray_umath.cpython-38-x86_64-linux-gnu.so @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/25/6b/98/8d8be373e864fcfafc2ad2f890d21927f4064b1df45e4356f0cd9d198d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/_operand_flag_tests.cpython-38-x86_64-linux-gnu.so b/venv/lib/python3.8/site-packages/numpy/core/_operand_flag_tests.cpython-38-x86_64-linux-gnu.so new file mode 120000 index 0000000..3b72bd0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/_operand_flag_tests.cpython-38-x86_64-linux-gnu.so @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ed/df/0d/5e6b336a28ae67b8fb33106f6aaeaa86769482007d35398b119884a61a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/_rational_tests.cpython-38-x86_64-linux-gnu.so b/venv/lib/python3.8/site-packages/numpy/core/_rational_tests.cpython-38-x86_64-linux-gnu.so new file mode 120000 index 0000000..d88a73f --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/_rational_tests.cpython-38-x86_64-linux-gnu.so @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4a/66/44/593e1067e79913dabb94a9bb91ffbe5afdab2d1c2e9e04871515322bb6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/_simd.cpython-38-x86_64-linux-gnu.so b/venv/lib/python3.8/site-packages/numpy/core/_simd.cpython-38-x86_64-linux-gnu.so new file mode 120000 index 0000000..bfca11a --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/_simd.cpython-38-x86_64-linux-gnu.so @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fa/6a/e4/69269a3f95a70d7467fcfa849fbd47b222bd3472c626e5683d2921af65 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/_string_helpers.py b/venv/lib/python3.8/site-packages/numpy/core/_string_helpers.py new file mode 120000 index 0000000..8c0144c --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/_string_helpers.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/34/61/86/85a15d539786894023dc64c80683a05ace2bf5a4cd96c136afd3605fa4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/_struct_ufunc_tests.cpython-38-x86_64-linux-gnu.so b/venv/lib/python3.8/site-packages/numpy/core/_struct_ufunc_tests.cpython-38-x86_64-linux-gnu.so new file mode 120000 index 0000000..1cf54a6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/_struct_ufunc_tests.cpython-38-x86_64-linux-gnu.so @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/68/a2/70/cdf1c087e5cb31ab0078a244bb870fab0f39d48630e2a0f36c025bdc31 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/_type_aliases.py b/venv/lib/python3.8/site-packages/numpy/core/_type_aliases.py new file mode 120000 index 0000000..065fae0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/_type_aliases.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5f/2b/2d/f62c7b2c2df33c6875022aaacc07be6945988a820fc81e95908cc8e019 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/_type_aliases.pyi b/venv/lib/python3.8/site-packages/numpy/core/_type_aliases.pyi new file mode 120000 index 0000000..b667dbb --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/_type_aliases.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ec/0d/0c/e7f42f3021fc672b56a73ef4f9827a6cbcbbbea6717a1ae6d3f19a5c9f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/_ufunc_config.py b/venv/lib/python3.8/site-packages/numpy/core/_ufunc_config.py new file mode 120000 index 0000000..be6db03 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/_ufunc_config.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/28/63/04/e8f7f457dd35763bde7770eadc90f68984389c5bbf2437102166f64c16 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/_ufunc_config.pyi b/venv/lib/python3.8/site-packages/numpy/core/_ufunc_config.pyi new file mode 120000 index 0000000..d2914c1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/_ufunc_config.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0b/aa/cb/a38fc3b02aca13a6e8dde1244394bc7a9ab8e1d17c6f67331ba8a2c3b3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/_umath_tests.cpython-38-x86_64-linux-gnu.so b/venv/lib/python3.8/site-packages/numpy/core/_umath_tests.cpython-38-x86_64-linux-gnu.so new file mode 120000 index 0000000..9bf3b75 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/_umath_tests.cpython-38-x86_64-linux-gnu.so @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/69/71/f1/ee9a900c47c0cb41ced8d523f8a561fec09f813fa9ef36f921287579b4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/arrayprint.py b/venv/lib/python3.8/site-packages/numpy/core/arrayprint.py new file mode 120000 index 0000000..615ac02 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/arrayprint.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/da/e9/44/297372b02d91029daf224ec0d572cb28329efbd61dd36231ebdc0dfd73 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/arrayprint.pyi b/venv/lib/python3.8/site-packages/numpy/core/arrayprint.pyi new file mode 120000 index 0000000..00a258a --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/arrayprint.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/db/5a/4e/5a34d27c938168a80e38fcd1a31d4445bddcf7276e7ea2f46f5d7f3ff4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/cversions.py b/venv/lib/python3.8/site-packages/numpy/core/cversions.py new file mode 120000 index 0000000..dd27c7c --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/cversions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1f/f8/8d/229c7dfa1635710371aa34f677fe525d98496cca3f71aab8feae8b07b2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/defchararray.py b/venv/lib/python3.8/site-packages/numpy/core/defchararray.py new file mode 120000 index 0000000..f86f843 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/defchararray.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ca/70/05/88938da6cb1851bd614c5d6bbc3a03d734838bfafa817735943045fcf1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/defchararray.pyi b/venv/lib/python3.8/site-packages/numpy/core/defchararray.pyi new file mode 120000 index 0000000..eb15f7e --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/defchararray.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/89/bd/da/58570cec5e0aa28539ee6594362e06968b0d8dd7e0acb28155220a0ef5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/einsumfunc.py b/venv/lib/python3.8/site-packages/numpy/core/einsumfunc.py new file mode 120000 index 0000000..8f3bb84 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/einsumfunc.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0b/5d/88/2509a5522d5483208dc0036a2c0570c288d93dcd4d00c8bb001ce5ce69 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/einsumfunc.pyi b/venv/lib/python3.8/site-packages/numpy/core/einsumfunc.pyi new file mode 120000 index 0000000..7d018e3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/einsumfunc.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fa/54/80/b499c9a8c4f763a6128b9e0751d7ffc9d7e757598ad45e20c7439a3c52 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/fromnumeric.py b/venv/lib/python3.8/site-packages/numpy/core/fromnumeric.py new file mode 120000 index 0000000..eba164f --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/fromnumeric.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/10/40/04/d0deb80d4bc85ec3ad6dba2a4bafe06bbd0e4198c79d9b73497769d648 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/fromnumeric.pyi b/venv/lib/python3.8/site-packages/numpy/core/fromnumeric.pyi new file mode 120000 index 0000000..2403dc6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/fromnumeric.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7c/bb/d0/4fa9815fc2013b8f26373881b3fa3ae5f505c48b4bad7d76e0420d1946 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/function_base.py b/venv/lib/python3.8/site-packages/numpy/core/function_base.py new file mode 120000 index 0000000..8acbcee --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/function_base.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d1/a9/27/047f92c312e373b7fede19a1c6fd07c6a4e59fd2316bce99f6d3b12e07 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/function_base.pyi b/venv/lib/python3.8/site-packages/numpy/core/function_base.pyi new file mode 120000 index 0000000..60a5005 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/function_base.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/dd/96/1a/77771d686c0d1323fc5702bdec860caa4d8f0e8563a634338486078e4d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/generate_numpy_api.py b/venv/lib/python3.8/site-packages/numpy/core/generate_numpy_api.py new file mode 120000 index 0000000..7d571f8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/generate_numpy_api.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/91/1c/a9/f83043538eb547bf87a5df04206e96b5c1f06d71db1a312c0d9e710e38 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/getlimits.py b/venv/lib/python3.8/site-packages/numpy/core/getlimits.py new file mode 120000 index 0000000..d559be5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/getlimits.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/50/07/ca/d43cd7b40886a161d8f01c79c90d8d6427af7eca9595c621927e876afe \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/getlimits.pyi b/venv/lib/python3.8/site-packages/numpy/core/getlimits.pyi new file mode 120000 index 0000000..f7f48f9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/getlimits.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a9/e2/17/504b688274c7aff4feb6ff9571923b9fc676573032229220297cec2e47 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/include/numpy/.doxyfile b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/.doxyfile new file mode 120000 index 0000000..5998e86 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/.doxyfile @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/82/83/99/47b2dc20db77b27b81187f0c7befda5531a6e5fe2ee3011a4a98ccfd6e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/include/numpy/__multiarray_api.h b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/__multiarray_api.h new file mode 120000 index 0000000..c08193b --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/__multiarray_api.h @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/83/4e/df/5a9f457be08183940f10a031740832b15a729470b6ed23301c86723b0a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/include/numpy/__ufunc_api.h b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/__ufunc_api.h new file mode 120000 index 0000000..da4544a --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/__ufunc_api.h @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/90/e4/f4/237db4c4b1879ee13c5d26a89848829856aea7c7d339389e779d785e23 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/include/numpy/_neighborhood_iterator_imp.h b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/_neighborhood_iterator_imp.h new file mode 120000 index 0000000..421bb4a --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/_neighborhood_iterator_imp.h @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/03/a6/0f/a508a1530b1c658c73d28383ac18d149865d24cd9d1b4bdc76d26d63ae \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/include/numpy/_numpyconfig.h b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/_numpyconfig.h new file mode 120000 index 0000000..57d507d --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/_numpyconfig.h @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0d/88/6f/3126e7ce2d4e554c42fdee2a8e98ead0f28665daa2330bbc077238de42 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/include/numpy/arrayobject.h b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/arrayobject.h new file mode 120000 index 0000000..113c53a --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/arrayobject.h @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f8/19/56/43b91f55bcc2ab31e7d2a69e31ed3fd3c01bc258ae1bdf17586e7b953f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/include/numpy/arrayscalars.h b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/arrayscalars.h new file mode 120000 index 0000000..e9b6a1d --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/arrayscalars.h @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/87/a3/0a/8c51f382e4d9e4241dec7013015587a19ee6902fbce91d6e30778b4f4e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/include/numpy/experimental_dtype_api.h b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/experimental_dtype_api.h new file mode 120000 index 0000000..821e0a8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/experimental_dtype_api.h @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/53/88/06/1628af56dfbdef90158445ad17b686cee7ce2508af5f516605aaccda8b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/include/numpy/halffloat.h b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/halffloat.h new file mode 120000 index 0000000..1b9910e --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/halffloat.h @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4d/16/5f/5e08a96be745a695f6b8d824ae3acf962fb505f26d69d5a301e99b278b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/include/numpy/libdivide/LICENSE.txt b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/libdivide/LICENSE.txt new file mode 120000 index 0000000..05aecd0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/libdivide/LICENSE.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fb/c5/39/f47d0cf83bc61378080fb873d5c14630126cacbfe754035c3926daa5ec \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/include/numpy/libdivide/libdivide.h b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/libdivide/libdivide.h new file mode 120000 index 0000000..bf5c9d2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/libdivide/libdivide.h @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7b/0f/4c/3613d07752ec0998968859a3f4867bc8e9c0dc728e5df7c3791f57d63c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/include/numpy/multiarray_api.txt b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/multiarray_api.txt new file mode 120000 index 0000000..d595633 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/multiarray_api.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/95/4b/b7/fa49884e14460db132873edabdf6bb80ce8ec14b9086ab782476b58261 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/include/numpy/ndarrayobject.h b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/ndarrayobject.h new file mode 120000 index 0000000..75db004 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/ndarrayobject.h @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2e/fa/f4/96316e99b2ed0e07a989d0ad0355777c7a134692f8df607eb7bb16561d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/include/numpy/ndarraytypes.h b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/ndarraytypes.h new file mode 120000 index 0000000..232431f --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/ndarraytypes.h @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/04/d9/c5/1b33bcfe99c40374f8ece4529460012b832a7ce0efc9bd0ff883bf0301 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/include/numpy/noprefix.h b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/noprefix.h new file mode 120000 index 0000000..660f13b --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/noprefix.h @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/77/cd/e5/d50a42095a8c576936f4d3242f72ddd6a363882ea1cce3d66408af1234 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h new file mode 120000 index 0000000..51957a4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cb/43/09/f10c3b064b781ffe15c48cc7ce9930e49a80763e440a0b67d3c7d916b2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/include/numpy/npy_3kcompat.h b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/npy_3kcompat.h new file mode 120000 index 0000000..3a13de0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/npy_3kcompat.h @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/92/41/e9/38fd07a33270cca8fa87b03630b24b74918350bfe926361b0b56aae8a7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/include/numpy/npy_common.h b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/npy_common.h new file mode 120000 index 0000000..eb556b7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/npy_common.h @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fc/83/73/33785d59e8dfede830d3f167cd897fc317f53c17f189f5c8e57db01bc6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/include/numpy/npy_cpu.h b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/npy_cpu.h new file mode 120000 index 0000000..aaaa7b4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/npy_cpu.h @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b3/9c/2e/c5ee210eec5f7c8961b2d11de64e5b66d35dac65b08d4a3485a7a01341 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/include/numpy/npy_endian.h b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/npy_endian.h new file mode 120000 index 0000000..2955158 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/npy_endian.h @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c1/ee/d7/f5f3de5b3369a3f613874f4c3c60f0744d11c3f58333873dcb89c18f92 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/include/numpy/npy_interrupt.h b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/npy_interrupt.h new file mode 120000 index 0000000..0111da8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/npy_interrupt.h @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0d/06/48/c62e85c9c2d70fc76b7479f649298ba11848a68ea8b2f3efd77be8c140 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/include/numpy/npy_math.h b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/npy_math.h new file mode 120000 index 0000000..d9652f5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/npy_math.h @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/41/f0/dc/6aa01ccc3907e0098adce1d2b219ac4c5a4d6f5170b9ec86b795fad4d3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/include/numpy/npy_no_deprecated_api.h b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/npy_no_deprecated_api.h new file mode 120000 index 0000000..41fdd82 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/npy_no_deprecated_api.h @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d3/26/6b/25c40427a3021c9227424e533fdfea678b7b11f06ea0b389df822525de \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/include/numpy/npy_os.h b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/npy_os.h new file mode 120000 index 0000000..823bab9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/npy_os.h @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/97/83/a5/208734b27c70219a89e15ee229b21c4d293e6ae6ec4d2b3413664abe33 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/include/numpy/numpyconfig.h b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/numpyconfig.h new file mode 120000 index 0000000..c6220f8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/numpyconfig.h @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1b/18/09/c4f292d60706e2faa9f4107f2a92ffbf81f007b66932c1d65b164f2eac \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/include/numpy/old_defines.h b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/old_defines.h new file mode 120000 index 0000000..1a15c73 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/old_defines.h @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c6/e6/10/0c394ccb0bb466caa6e7b864806c0bb0e171e88bf1ccdd9e88d17e8096 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/include/numpy/oldnumeric.h b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/oldnumeric.h new file mode 120000 index 0000000..48f1f17 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/oldnumeric.h @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/95/a3/f9/ed24ed16d252b3f7e34510e5ae4df886a7ea0b0c4ff81144cad47a9533 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/include/numpy/random/bitgen.h b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/random/bitgen.h new file mode 120000 index 0000000..567cf5d --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/random/bitgen.h @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/d0/30/28e479e76afe36486e48e175bac6ff51188c49132f0f6d89179a4a2278 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/include/numpy/random/distributions.h b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/random/distributions.h new file mode 120000 index 0000000..a238d66 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/random/distributions.h @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b8/95/51/f2a0742d776f460ed565a915ad9f2a0cf452f455a4c6d2c57d7ce3f897 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/include/numpy/ufunc_api.txt b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/ufunc_api.txt new file mode 120000 index 0000000..e0250f6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/ufunc_api.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/08/c6/11/4f95a5dfa56e7db1278d147fc8b835bdfd11df275c34e0f2258dd63c2c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/include/numpy/ufuncobject.h b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/ufuncobject.h new file mode 120000 index 0000000..d4f4ca9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/ufuncobject.h @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3c/3a/45/379968012ca4b80826084b76b77f32b7946234fe78b43c90077df24fdf \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/include/numpy/utils.h b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/utils.h new file mode 120000 index 0000000..3638a2d --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/include/numpy/utils.h @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c0/c3/68/9921f70df8f4abbf0fae32d5b45b4df853e8ed4278a3489f0943bee84b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/lib/libnpymath.a b/venv/lib/python3.8/site-packages/numpy/core/lib/libnpymath.a new file mode 120000 index 0000000..2ae6348 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/lib/libnpymath.a @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3e/12/d3/a4a173d4a48ec7ae385076d53eb58df61c9d32c0f3ce1d95674838fca0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/lib/npy-pkg-config/mlib.ini b/venv/lib/python3.8/site-packages/numpy/core/lib/npy-pkg-config/mlib.ini new file mode 120000 index 0000000..a4f879e --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/lib/npy-pkg-config/mlib.ini @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fc/bb/16/575792b4dab085d8983dadb9dfc18be3a7677d5c13e0cac8d736eca05c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/lib/npy-pkg-config/npymath.ini b/venv/lib/python3.8/site-packages/numpy/core/lib/npy-pkg-config/npymath.ini new file mode 120000 index 0000000..971d2ab --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/lib/npy-pkg-config/npymath.ini @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/91/a9/94/36b60a0265ea41af0170dbfb0f9b0ba8787a6e70a1334ff9ad90ac4df6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/memmap.py b/venv/lib/python3.8/site-packages/numpy/core/memmap.py new file mode 120000 index 0000000..ad2de2c --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/memmap.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b4/80/f2/80191ed7cfd09d8c36999370e690629670e1c9d168252f1a96ff0a98ff \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/memmap.pyi b/venv/lib/python3.8/site-packages/numpy/core/memmap.pyi new file mode 120000 index 0000000..2ab9984 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/memmap.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b3/12/10/ed3e613cb1be44136774073c24fbebb0a117d5a981487d871a0e3c39ba \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/multiarray.py b/venv/lib/python3.8/site-packages/numpy/core/multiarray.py new file mode 120000 index 0000000..9058a60 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/multiarray.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/88/e3/66/25dc9515fdd90c2d696fb89c46ae993b28a978b85813b495f70850415b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/multiarray.pyi b/venv/lib/python3.8/site-packages/numpy/core/multiarray.pyi new file mode 120000 index 0000000..70dd2aa --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/multiarray.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/61/42/1f/9de4fb1cf7b59a869b39c5cf1d7b1c34112879388aa2f8e35bfdb48b1e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/numeric.py b/venv/lib/python3.8/site-packages/numpy/core/numeric.py new file mode 120000 index 0000000..3d89aa5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/numeric.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/02/b6/8e/9df759731cf3d2f32090198eb249e7ff1343967a142583a4968cac641a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/numeric.pyi b/venv/lib/python3.8/site-packages/numpy/core/numeric.pyi new file mode 120000 index 0000000..d4f2450 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/numeric.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6e/62/93/16d83a49a3def71eb832dd53f807fe3ec1fe5e2e1c0c64f81c1fa51621 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/numerictypes.py b/venv/lib/python3.8/site-packages/numpy/core/numerictypes.py new file mode 120000 index 0000000..45c9bb4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/numerictypes.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/96/b7/62/0fe4d37231b5d0ad4968162bd6ec4d811fefb4d91be2ce5c833dacd191 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/numerictypes.pyi b/venv/lib/python3.8/site-packages/numpy/core/numerictypes.pyi new file mode 120000 index 0000000..fced3e0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/numerictypes.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9e/c4/1a/7af29217fbd52ba4c8b5af25af8b6ffd93b54ee5add22729912446909b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/overrides.py b/venv/lib/python3.8/site-packages/numpy/core/overrides.py new file mode 120000 index 0000000..4fb3ce8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/overrides.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0f/78/0f/6fa666b89ea0aeada15b8ceae0c615f7072d1610958dd5e1b3e7ad0a8e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/records.py b/venv/lib/python3.8/site-packages/numpy/core/records.py new file mode 120000 index 0000000..2e85a73 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/records.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/90/8b/14/9ecfe6f01438d074e6077f52da8818e56469845d042bf3d74b3c19dad6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/records.pyi b/venv/lib/python3.8/site-packages/numpy/core/records.pyi new file mode 120000 index 0000000..806a43d --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/records.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b9/8c/04/e9c02818a80de94e2bc9f199c7fde6fb7b18d34ea3cad8d62eb0d1472d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/setup.py b/venv/lib/python3.8/site-packages/numpy/core/setup.py new file mode 120000 index 0000000..c523386 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/setup.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a7/b3/28/d82b9d61399c61e8d466dd6d0a6d8912ad88021886e9cfd180b5c49deb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/setup_common.py b/venv/lib/python3.8/site-packages/numpy/core/setup_common.py new file mode 120000 index 0000000..7e237a2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/setup_common.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c5/9e/ae/b88a8ba2707acce74cf4c111d214d3e55e68ac4082f7e3096c4bd5b9a2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/shape_base.py b/venv/lib/python3.8/site-packages/numpy/core/shape_base.py new file mode 120000 index 0000000..85bd189 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/shape_base.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d3/61/96/53d551be0ea0af376a9e4d5db8d8b398e66d350dbc2477e1540d5bd320 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/shape_base.pyi b/venv/lib/python3.8/site-packages/numpy/core/shape_base.pyi new file mode 120000 index 0000000..a10d095 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/shape_base.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/40/73/07/3ac2dc474c062703327b1112952390ab0d227c7c91b3659f5755445b51 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__init__.py b/venv/lib/python3.8/site-packages/numpy/core/tests/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..dd1ef0e Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/_locales.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/_locales.cpython-38.pyc new file mode 100644 index 0000000..6fbff2a Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/_locales.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test__exceptions.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test__exceptions.cpython-38.pyc new file mode 100644 index 0000000..bf6a439 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test__exceptions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_abc.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_abc.cpython-38.pyc new file mode 100644 index 0000000..a75684f Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_abc.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_api.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_api.cpython-38.pyc new file mode 100644 index 0000000..d7b70a6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_api.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_argparse.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_argparse.cpython-38.pyc new file mode 100644 index 0000000..c25da8b Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_argparse.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_array_coercion.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_array_coercion.cpython-38.pyc new file mode 100644 index 0000000..da58385 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_array_coercion.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_array_interface.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_array_interface.cpython-38.pyc new file mode 100644 index 0000000..064cb6d Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_array_interface.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_arraymethod.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_arraymethod.cpython-38.pyc new file mode 100644 index 0000000..1b2f91b Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_arraymethod.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_arrayprint.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_arrayprint.cpython-38.pyc new file mode 100644 index 0000000..78617f6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_arrayprint.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_casting_unittests.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_casting_unittests.cpython-38.pyc new file mode 100644 index 0000000..7d39bd5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_casting_unittests.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_conversion_utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_conversion_utils.cpython-38.pyc new file mode 100644 index 0000000..fde7565 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_conversion_utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_cpu_dispatcher.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_cpu_dispatcher.cpython-38.pyc new file mode 100644 index 0000000..0c3395a Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_cpu_dispatcher.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_cpu_features.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_cpu_features.cpython-38.pyc new file mode 100644 index 0000000..8acedc7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_cpu_features.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_custom_dtypes.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_custom_dtypes.cpython-38.pyc new file mode 100644 index 0000000..ad5fc7e Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_custom_dtypes.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_cython.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_cython.cpython-38.pyc new file mode 100644 index 0000000..e1ea6be Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_cython.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_datetime.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_datetime.cpython-38.pyc new file mode 100644 index 0000000..550f4c1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_datetime.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_defchararray.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_defchararray.cpython-38.pyc new file mode 100644 index 0000000..e95efc3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_defchararray.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_deprecations.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_deprecations.cpython-38.pyc new file mode 100644 index 0000000..c43624e Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_deprecations.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_dlpack.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_dlpack.cpython-38.pyc new file mode 100644 index 0000000..ecbbb0d Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_dlpack.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_dtype.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_dtype.cpython-38.pyc new file mode 100644 index 0000000..813ca5e Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_dtype.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_einsum.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_einsum.cpython-38.pyc new file mode 100644 index 0000000..13b15b3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_einsum.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_errstate.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_errstate.cpython-38.pyc new file mode 100644 index 0000000..281c72f Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_errstate.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_extint128.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_extint128.cpython-38.pyc new file mode 100644 index 0000000..177daf1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_extint128.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_function_base.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_function_base.cpython-38.pyc new file mode 100644 index 0000000..c6c2dd9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_function_base.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_getlimits.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_getlimits.cpython-38.pyc new file mode 100644 index 0000000..5ff3ad9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_getlimits.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_half.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_half.cpython-38.pyc new file mode 100644 index 0000000..83b828a Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_half.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_hashtable.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_hashtable.cpython-38.pyc new file mode 100644 index 0000000..b3bdb94 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_hashtable.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_indexerrors.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_indexerrors.cpython-38.pyc new file mode 100644 index 0000000..ab0d23b Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_indexerrors.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_indexing.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_indexing.cpython-38.pyc new file mode 100644 index 0000000..10ecb1f Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_indexing.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_item_selection.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_item_selection.cpython-38.pyc new file mode 100644 index 0000000..feb1a71 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_item_selection.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_limited_api.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_limited_api.cpython-38.pyc new file mode 100644 index 0000000..225d349 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_limited_api.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_longdouble.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_longdouble.cpython-38.pyc new file mode 100644 index 0000000..22d8663 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_longdouble.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_machar.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_machar.cpython-38.pyc new file mode 100644 index 0000000..efda16a Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_machar.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_mem_overlap.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_mem_overlap.cpython-38.pyc new file mode 100644 index 0000000..33dcf62 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_mem_overlap.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_mem_policy.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_mem_policy.cpython-38.pyc new file mode 100644 index 0000000..ed6d2dc Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_mem_policy.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_memmap.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_memmap.cpython-38.pyc new file mode 100644 index 0000000..dddcf1e Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_memmap.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_multiarray.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_multiarray.cpython-38.pyc new file mode 100644 index 0000000..877c2d3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_multiarray.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_nditer.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_nditer.cpython-38.pyc new file mode 100644 index 0000000..a034a4d Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_nditer.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_numeric.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_numeric.cpython-38.pyc new file mode 100644 index 0000000..d41fe37 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_numeric.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_numerictypes.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_numerictypes.cpython-38.pyc new file mode 100644 index 0000000..1bca99d Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_numerictypes.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_overrides.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_overrides.cpython-38.pyc new file mode 100644 index 0000000..40046f0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_overrides.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_print.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_print.cpython-38.pyc new file mode 100644 index 0000000..6b4c708 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_print.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_protocols.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_protocols.cpython-38.pyc new file mode 100644 index 0000000..0f3fad6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_protocols.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_records.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_records.cpython-38.pyc new file mode 100644 index 0000000..9e6179e Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_records.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_regression.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_regression.cpython-38.pyc new file mode 100644 index 0000000..bdbae10 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_regression.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_scalar_ctors.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_scalar_ctors.cpython-38.pyc new file mode 100644 index 0000000..3039ef0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_scalar_ctors.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_scalar_methods.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_scalar_methods.cpython-38.pyc new file mode 100644 index 0000000..5770f13 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_scalar_methods.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_scalarbuffer.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_scalarbuffer.cpython-38.pyc new file mode 100644 index 0000000..3461780 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_scalarbuffer.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_scalarinherit.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_scalarinherit.cpython-38.pyc new file mode 100644 index 0000000..a1d47f3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_scalarinherit.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_scalarmath.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_scalarmath.cpython-38.pyc new file mode 100644 index 0000000..8bf5d59 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_scalarmath.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_scalarprint.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_scalarprint.cpython-38.pyc new file mode 100644 index 0000000..3a5e3bc Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_scalarprint.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_shape_base.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_shape_base.cpython-38.pyc new file mode 100644 index 0000000..d7c2e70 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_shape_base.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_simd.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_simd.cpython-38.pyc new file mode 100644 index 0000000..d6289cf Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_simd.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_simd_module.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_simd_module.cpython-38.pyc new file mode 100644 index 0000000..3beb3c4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_simd_module.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_ufunc.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_ufunc.cpython-38.pyc new file mode 100644 index 0000000..feef8f2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_ufunc.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_umath.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_umath.cpython-38.pyc new file mode 100644 index 0000000..61663c9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_umath.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_umath_accuracy.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_umath_accuracy.cpython-38.pyc new file mode 100644 index 0000000..eb31011 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_umath_accuracy.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_umath_complex.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_umath_complex.cpython-38.pyc new file mode 100644 index 0000000..784356b Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_umath_complex.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_unicode.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_unicode.cpython-38.pyc new file mode 100644 index 0000000..b7e8ebd Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/__pycache__/test_unicode.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/_locales.py b/venv/lib/python3.8/site-packages/numpy/core/tests/_locales.py new file mode 120000 index 0000000..32f613a --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/_locales.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/47/6b/4d/06207363a87bcc7a9ec691acb8cd5035dff6091f897ea117738a455d82 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/data/astype_copy.pkl b/venv/lib/python3.8/site-packages/numpy/core/tests/data/astype_copy.pkl new file mode 120000 index 0000000..1b149cc --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/data/astype_copy.pkl @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/95/64/b3/09cbf3441ff0a6e4468fddaca46230fab34f15c77d87025a455bdf59d9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/data/generate_umath_validation_data.cpp b/venv/lib/python3.8/site-packages/numpy/core/tests/data/generate_umath_validation_data.cpp new file mode 120000 index 0000000..713c3f0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/data/generate_umath_validation_data.cpp @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/35/04/91/2bab49a5d4ec47a8f18a6e44938b72f09e8727925d01ed3005096b002c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/data/recarray_from_file.fits b/venv/lib/python3.8/site-packages/numpy/core/tests/data/recarray_from_file.fits new file mode 120000 index 0000000..a736519 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/data/recarray_from_file.fits @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/34/0d/24/962cf7d4594b9d8c6fde9a737abb8e36a35892e12fb6ce70cd711e21ce \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-README.txt b/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-README.txt new file mode 120000 index 0000000..ddcb86e --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-README.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a7/15/b0/39a1866a169177e0250227437e870bcab0220e9d3085fe610bb858c2a3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-arccos.csv b/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-arccos.csv new file mode 120000 index 0000000..875fd3a --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-arccos.csv @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5b/f6/8b/f7d6e3cd58e5572779a267c350e45a83c8c7cf1eae72d79d3d56603874 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-arccosh.csv b/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-arccosh.csv new file mode 120000 index 0000000..64e87f1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-arccosh.csv @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/52/4a/3f/7749035ebd5894dfba222f9f410c54bdb5c08517c2ed49f8809db71899 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-arcsin.csv b/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-arcsin.csv new file mode 120000 index 0000000..2b2bff7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-arcsin.csv @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d7/90/1e/9f37b8583d9ad9d17668e057a6ff41eeedf0c007945497449b84e33a44 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-arcsinh.csv b/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-arcsinh.csv new file mode 120000 index 0000000..62ef9ff --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-arcsinh.csv @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b8/3c/31/e0f4ada5f576d4868f17ca66cd0a6e97a8bbda0ef30f095f7329d66954 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-arctan.csv b/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-arctan.csv new file mode 120000 index 0000000..8710a38 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-arctan.csv @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9b/0e/6d/6337bf04cb3aba018465f83999c5e8227198767edfbd20984948bd06ac \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-arctanh.csv b/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-arctanh.csv new file mode 120000 index 0000000..bdf0f28 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-arctanh.csv @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f7/99/78/52ee519996a396369b7ea96fe54df8455ae27c2321864a29ea22de341a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-cbrt.csv b/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-cbrt.csv new file mode 120000 index 0000000..f9c93ef --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-cbrt.csv @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bf/ce/79/31366287e7d9a7f1ae103b2ddaa688b315386bbbe501b788272db12a97 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-cos.csv b/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-cos.csv new file mode 120000 index 0000000..7b869c5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-cos.csv @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cb/17/7b/04d6a2720c84cacbe9f13c76a8433e4b8cd5240d1fd195d1fd51b8cb51 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-cosh.csv b/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-cosh.csv new file mode 120000 index 0000000..d1c70e1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-cosh.csv @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/14/60/8d/7944944c07804ac6ff8f5f22452b02c572f19b317efc2eedab57a556b4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-exp.csv b/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-exp.csv new file mode 120000 index 0000000..51e2961 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-exp.csv @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/04/a8/35/fdccab283d865d8317fc40740e75ee6bc0c8d8ed4a58e0d77ff05186b9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-exp2.csv b/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-exp2.csv new file mode 120000 index 0000000..4877172 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-exp2.csv @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7f/56/f4/e4c4573ce5e2842f4cfb28b9dae74a0735576a585b4ee21caa80c093e8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-expm1.csv b/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-expm1.csv new file mode 120000 index 0000000..5111dcd --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-expm1.csv @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fe/08/5c/d7189410236c046aca085500cb696fbb4d7f964a5e609374cc3b426169 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-log.csv b/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-log.csv new file mode 120000 index 0000000..ddbb439 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-log.csv @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cf/d7/a3/d7290a528311a9831420910d5976d88bf03fc7f44ab3b2bf1ae5d926eb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-log10.csv b/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-log10.csv new file mode 120000 index 0000000..87fe990 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-log10.csv @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/44/98/29/aee2f5e8554f8144f7fb7c56e1ea694bfb67ea8e72116efd2a72139f8f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-log1p.csv b/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-log1p.csv new file mode 120000 index 0000000..880f5d7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-log1p.csv @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/21/96/48/fa18b9e471823af05ab77bd205585affc36dfb96a57f67eacfa41e4c6d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-log2.csv b/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-log2.csv new file mode 120000 index 0000000..acc387b --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-log2.csv @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1c/bd/ab/382b2b122dfbf2b36b6ec5c73ea9569441a45d0abc4787badd879392c5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-sin.csv b/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-sin.csv new file mode 120000 index 0000000..c6012f7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-sin.csv @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e4/8d/a1/e4223c1efe8bf68da687ac79a6db672f6dd58616358792c0f1c8c85938 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-sinh.csv b/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-sinh.csv new file mode 120000 index 0000000..a79a607 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-sinh.csv @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/09/88/a2/6c4f1a5fb3109c16ad97fff993f3d673ff6f1d489fc12fac159cf32a4d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-tan.csv b/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-tan.csv new file mode 120000 index 0000000..1c65d12 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-tan.csv @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3a/ae/e0/c4cbdb951541ad0db790cc5cf224f46c79c258a83d104e19ab36c96ce0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-tanh.csv b/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-tanh.csv new file mode 120000 index 0000000..769e889 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/data/umath-validation-set-tanh.csv @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8a/89/59/17f30ec964606126be4ac0f875fe669f214ad7cceb20223be34496a137 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/examples/cython/__pycache__/setup.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/examples/cython/__pycache__/setup.cpython-38.pyc new file mode 100644 index 0000000..f814bb1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/examples/cython/__pycache__/setup.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/examples/cython/checks.pyx b/venv/lib/python3.8/site-packages/numpy/core/tests/examples/cython/checks.pyx new file mode 120000 index 0000000..4b75da5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/examples/cython/checks.pyx @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a6/52/bd/cb5d641dc7817d1ea9b852c3c14f07e510464ba6449aa48556afabcce1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/examples/cython/setup.py b/venv/lib/python3.8/site-packages/numpy/core/tests/examples/cython/setup.py new file mode 120000 index 0000000..b35f3ef --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/examples/cython/setup.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/68/04/7e/4ef41a6d469b9c2cee07a51d59d9915da68f7c81bb3334c87cc17ed2d9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/examples/limited_api/__pycache__/setup.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/core/tests/examples/limited_api/__pycache__/setup.cpython-38.pyc new file mode 100644 index 0000000..d91f141 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/core/tests/examples/limited_api/__pycache__/setup.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/examples/limited_api/limited_api.c b/venv/lib/python3.8/site-packages/numpy/core/tests/examples/limited_api/limited_api.c new file mode 120000 index 0000000..4aa5bf7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/examples/limited_api/limited_api.c @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9a/77/04/f138e35e6629930962e37dc6d23076cc640eff936a5a618a77344966e8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/examples/limited_api/setup.py b/venv/lib/python3.8/site-packages/numpy/core/tests/examples/limited_api/setup.py new file mode 120000 index 0000000..2647fd8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/examples/limited_api/setup.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a7/6c/3b/1756ab762fc64574ab9cd211f16d68787fe9826c3fd4fdb04b403623a3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test__exceptions.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test__exceptions.py new file mode 120000 index 0000000..e09f0fb --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test__exceptions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/42/ac/50/48b5dba0f5c45701f3f93c84d8978897f4c2fab3ee8337e8db99db727b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_abc.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_abc.py new file mode 120000 index 0000000..11203dc --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_abc.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/93/8c/e4/ac78e846be135e25530aedf807c67244fe5727b37cb4f28a74fb9d392d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_api.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_api.py new file mode 120000 index 0000000..db2cb2b --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_api.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/61/2d/53/dd3a5793d14ec4a0cf80c1eecde2ab2012312597ae741186007b619f39 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_argparse.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_argparse.py new file mode 120000 index 0000000..1a8f056 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_argparse.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ae/46/d0/9683aa32220621d52c6996f6d281f204edf2f4916a498afb15ac1db439 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_array_coercion.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_array_coercion.py new file mode 120000 index 0000000..82e4949 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_array_coercion.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/30/4e/03/37f22d3da3ff6c3523e6e763484d352ccb827d363b97fd5589b3cdbbe9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_array_interface.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_array_interface.py new file mode 120000 index 0000000..79ef6a8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_array_interface.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/10/18/a5/d41cf26d53eefac37bb7c0c9b92b9f74039a6bf07ba7398921be33a18d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_arraymethod.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_arraymethod.py new file mode 120000 index 0000000..4dbd13d --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_arraymethod.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/77/89/61/71843060fa5785fb9cebd30f36a4cedf2a37f4fd36cf929484e9c221ad \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_arrayprint.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_arrayprint.py new file mode 120000 index 0000000..ac19c14 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_arrayprint.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cb/6f/2a/f38d9b8d07e6302a45b710e7de6c7005dddb4660848554530d69409871 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_casting_unittests.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_casting_unittests.py new file mode 120000 index 0000000..89cb84f --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_casting_unittests.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3e/f0/a3/afd116537e7c664b0c6363d89cc22bfddfd355986bad4bd44eb519ab2b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_conversion_utils.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_conversion_utils.py new file mode 120000 index 0000000..b51aa3b --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_conversion_utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8c/d8/5b/34d23e4fcaad427b083046b1eca14ddf49238742029ed2ccc13cb12794 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_cpu_dispatcher.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_cpu_dispatcher.py new file mode 120000 index 0000000..2cf5fbb --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_cpu_dispatcher.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/26/66/07/c8179d5cdbbca4f80609e80fe22b7a517634b227d6e048dd33d0b47fc3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_cpu_features.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_cpu_features.py new file mode 120000 index 0000000..22dbdcc --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_cpu_features.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ec/25/c4/348b5256d82394079f9d745ccd0882f9520ba30607aea79e838686aa08 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_custom_dtypes.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_custom_dtypes.py new file mode 120000 index 0000000..832f513 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_custom_dtypes.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/25/db/ed/09935f2ff2ae669ac4e6d9d92111e650da1d08849833b05128e4394194 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_cython.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_cython.py new file mode 120000 index 0000000..dfbc8b0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_cython.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8b/21/85/50667c3885435be8eb168e18ae8249276cebf5aa55cdcbd9ba85375473 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_datetime.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_datetime.py new file mode 120000 index 0000000..4bcf504 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_datetime.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7c/8c/03/acc3ac8a0f4652c6c931d6f6f4cdabd4400f79887ca4f97989bb57159d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_defchararray.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_defchararray.py new file mode 120000 index 0000000..880a7e6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_defchararray.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2f/3e/e5/137fb0ce67562b4c10a7eb802272ac99d6bd20884e8b116adc0893beaf \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_deprecations.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_deprecations.py new file mode 120000 index 0000000..7655dab --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_deprecations.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/78/ec/c4/57ee4ac12361345fb0ccd28bfaf2dac20c44de132fe19c5766d92b297c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_dlpack.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_dlpack.py new file mode 120000 index 0000000..e226663 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_dlpack.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d1/e0/17/de0b48035dc85c80d7394c086810d1dd3f1de7992140998ddae17ad293 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_dtype.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_dtype.py new file mode 120000 index 0000000..2fd09d2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_dtype.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/83/cd/c6/dbef7e29c5918fec0ccda126a1af015849c301c1ebeef7c65634087d24 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_einsum.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_einsum.py new file mode 120000 index 0000000..7fbdab4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_einsum.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/41/d6/9b/c78c0db16c7987fdfca4aa3f4d98790649f65c775ab97c9d117dc4b555 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_errstate.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_errstate.py new file mode 120000 index 0000000..ad794a0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_errstate.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d7/db/b3/5b73d2c908900feb069da21c5657b787b3f62dbcf108464ab77b52ebbf \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_extint128.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_extint128.py new file mode 120000 index 0000000..4dab1b6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_extint128.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/80/26/5f/0303ce6fe1754cbb0411e0c8d1a9906301e4fbad3e3978b471c66bad9f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_function_base.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_function_base.py new file mode 120000 index 0000000..5d9b9ec --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_function_base.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/33/25/fc/4d23a1db9d4d7c2e8cf0b1c5a5cfa8a158ff8df3fe57a974d05e706fb3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_getlimits.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_getlimits.py new file mode 120000 index 0000000..85b5deb --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_getlimits.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/46/96/f2/8c210e208fbbccb381af283ae04f4cdb74ff747f30275e6c748cafff2c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_half.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_half.py new file mode 120000 index 0000000..cf4e5f2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_half.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1f/dd/59/36318f10d3d036e0ee5c7d069c9957d821b9cfe280d1b039d9e7b5efb9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_hashtable.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_hashtable.py new file mode 120000 index 0000000..66aaaa0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_hashtable.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/65/5f/07/2fc3640e7a1065f9e37bb04fd1fc88a787d216a8cab10738d0f6938207 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_indexerrors.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_indexerrors.py new file mode 120000 index 0000000..5c80510 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_indexerrors.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/90/df/71/2e5e85553ce623b7ee9a7fdcb99de4d289979d37ad82d0a73d8e3872fc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_indexing.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_indexing.py new file mode 120000 index 0000000..8c4e82e --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_indexing.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/97/89/69/49148a98b5a97d3eaf7ec237e849d33809d4d6eb6f4d989eb378268732 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_item_selection.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_item_selection.py new file mode 120000 index 0000000..98b6354 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_item_selection.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0c/62/4d/651b723b15e8c98ebb105c14aa62e1434e2fd0aab2fd000ea442f8d8cd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_limited_api.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_limited_api.py new file mode 120000 index 0000000..181d9cf --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_limited_api.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/99/11/02/fa31213430c02ab39471d2677d242865507f6d69c6b7d3ed5ae48ae835 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_longdouble.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_longdouble.py new file mode 120000 index 0000000..13b0c27 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_longdouble.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9d/74/0a/c53d742787105b6eebdef5c502cadfb8aaf2c96273099593c4c552f563 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_machar.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_machar.py new file mode 120000 index 0000000..7a07750 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_machar.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ff/9f/d3/0d456d009bc92398c17c414aa4266d01f282b0216deed5e5592916cf37 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_mem_overlap.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_mem_overlap.py new file mode 120000 index 0000000..5900d22 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_mem_overlap.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fe/8b/1c/1334ca44556857d625f975f5f8d16ee1ae93857fdf08465af744784cab \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_mem_policy.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_mem_policy.py new file mode 120000 index 0000000..2085283 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_mem_policy.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3a/6f/1d/677615fa0fd826d6f224e6ea836c0d528d9d574be4bf03c9130e11873e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_memmap.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_memmap.py new file mode 120000 index 0000000..5a02e36 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_memmap.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4b/38/5f/a7e5c23be205648bdf2f8fa1f614f18e797bae0f5cf6fb227a198411c9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_multiarray.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_multiarray.py new file mode 120000 index 0000000..72e3b1c --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_multiarray.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d4/b7/29/5b4b489e4cbcaa890ec4ad341477291cccbbc37ba7df4cdf134595ab71 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_nditer.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_nditer.py new file mode 120000 index 0000000..a61286a --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_nditer.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/58/bd/5b/250dd75d08de1ec08538738cc9a979a30644a1153313091d76eab067ee \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_numeric.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_numeric.py new file mode 120000 index 0000000..a773fc6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_numeric.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d2/d0/43/d7337f5f4b787bea836bd372d84711cde6cf8ac1d24ebce645ef89651b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_numerictypes.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_numerictypes.py new file mode 120000 index 0000000..107ddd3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_numerictypes.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ae/a7/5d/09a1885cf4c4bf8a1c43d2f34dc68798ba389d7cd7ac485cb3cf4f8b03 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_overrides.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_overrides.py new file mode 120000 index 0000000..7a4bd32 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_overrides.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7b/19/9e/78404656030a76554c10031eea3cc1070f7d84610862d2ac155a0abcf5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_print.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_print.py new file mode 120000 index 0000000..c783ee9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_print.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/51/16/08/3f6057d2e4e49021fff98c18a7a861c9810d695e2c6ab3da0f6ad16d97 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_protocols.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_protocols.py new file mode 120000 index 0000000..62dc6b3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_protocols.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7c/45/c4/f4af6cdb6a22556917f76058fa0d34fae5c22be1f18d9859c716002857 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_records.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_records.py new file mode 120000 index 0000000..b82bb2e --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_records.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/15/fc/e7/7fdfbf0bda80bc185c13cfec75b30ff2859416fe4f0baa2bcb42c2dab8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_regression.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_regression.py new file mode 120000 index 0000000..862d070 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_regression.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/07/64/6f/b63762b431a75b515f084e73edccb208362072f56f50bfe27eec1816e2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_scalar_ctors.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_scalar_ctors.py new file mode 120000 index 0000000..562a282 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_scalar_ctors.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/27/43/c6/0c70fa6ba7425b55a0e2afbf0b914471c5dc620a8b3539e1ec00b5881f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_scalar_methods.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_scalar_methods.py new file mode 120000 index 0000000..2e5985b --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_scalar_methods.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a2/77/1d/34e2895537987cced6e16e3dcf88e655133b29576c12b12c5d86002058 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_scalarbuffer.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_scalarbuffer.py new file mode 120000 index 0000000..f0a16c0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_scalarbuffer.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e6/ea/e5/1ec80713d1fadd3a7d9a5338f22461fc0d55371499a21067b65d119ea3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_scalarinherit.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_scalarinherit.py new file mode 120000 index 0000000..89caa5f --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_scalarinherit.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/05/2c/4d/d89418af1c69ead6f2b1a8f9ea6e47bcbbc275f4affd7ec60b469bedb8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_scalarmath.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_scalarmath.py new file mode 120000 index 0000000..77e2a6c --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_scalarmath.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/75/0b/9a/8035144502258ea5138f8f2a7b6753be8bb1e73c858599e2a5e86c0872 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_scalarprint.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_scalarprint.py new file mode 120000 index 0000000..1c8d547 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_scalarprint.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f0/59/08/40b75098f1ff499d0fb3a0f8f13dcc4531d515962000a07f231b4da5a1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_shape_base.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_shape_base.py new file mode 120000 index 0000000..cd2c411 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_shape_base.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5e/af/57/ac0e799beaa1aa2d361ae1299ffb8836c7c6261eec0a7b8cba5bccf5e5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_simd.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_simd.py new file mode 120000 index 0000000..70b6d0a --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_simd.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b9/c8/e2/ecacbbbd49bb910fa5fc983cbee43c74094ed80bcfad25c3cabc3a9733 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_simd_module.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_simd_module.py new file mode 120000 index 0000000..fad3a43 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_simd_module.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/10/12/5b/1e6f46721543fe1910bd541f0be034199ac8517fb3644c7c8e265441ef \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_ufunc.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_ufunc.py new file mode 120000 index 0000000..e479239 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_ufunc.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/90/72/c5/0f256e0fff84820ab075db553c4438a05618e198f1b057c9fc4a758669 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_umath.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_umath.py new file mode 120000 index 0000000..2f952b5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_umath.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1e/04/ba/c131a48311cd00cdbc7ea844b86d51db8ee6f50adf99db6ba10d52e709 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_umath_accuracy.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_umath_accuracy.py new file mode 120000 index 0000000..8b17296 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_umath_accuracy.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/11/ee/5a/b446e05bee8dd02d9f00332eeb697bfa22660d0476a59d31553e5c341b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_umath_complex.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_umath_complex.py new file mode 120000 index 0000000..117436d --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_umath_complex.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/26/7e/1b/7d7d90b17bca6320d72e8ed2e3e4d3f4690b32b40e5fed48c032f25762 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/tests/test_unicode.py b/venv/lib/python3.8/site-packages/numpy/core/tests/test_unicode.py new file mode 120000 index 0000000..e1c66a5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/tests/test_unicode.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6c/1a/90/09093f519013c922381dd8964e07de9e68100a6e729cb73a48bbca8a2c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/umath.py b/venv/lib/python3.8/site-packages/numpy/core/umath.py new file mode 120000 index 0000000..7b277cd --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/umath.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/25/b4/ff/4b19d9ff73049a3388f54b57dc2700cd7e50fb84439679e10c0109e55a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/core/umath_tests.py b/venv/lib/python3.8/site-packages/numpy/core/umath_tests.py new file mode 120000 index 0000000..34b2b21 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/core/umath_tests.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4c/8c/da/0dfac41c781273627993114489babc30e3e1c12bb239939406c64d5523 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/ctypeslib.py b/venv/lib/python3.8/site-packages/numpy/ctypeslib.py new file mode 120000 index 0000000..947e1f9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/ctypeslib.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/01/ee/0b/6e1aff109473cd76f674d61d60f5f38c03fac12e97ed778f0fc0f1ea47 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/ctypeslib.pyi b/venv/lib/python3.8/site-packages/numpy/ctypeslib.pyi new file mode 120000 index 0000000..f0f07c4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/ctypeslib.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c5/bb/3f/0d62315ddf4793833b6dfa4db0225363f65531f25ea6e62aabb536e923 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/__config__.py b/venv/lib/python3.8/site-packages/numpy/distutils/__config__.py new file mode 120000 index 0000000..a472381 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/__config__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4d/7b/e3/5bc3dc2889164b1de92c26180b648caa644ffb480a90e3af7240eae80a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/__init__.py b/venv/lib/python3.8/site-packages/numpy/distutils/__init__.py new file mode 120000 index 0000000..1ef3c9f --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/05/4d/42/db5e37f47468ef21f54ac37d99ee960833e93b0450dfb6693700cca82c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/__init__.pyi b/venv/lib/python3.8/site-packages/numpy/distutils/__init__.pyi new file mode 120000 index 0000000..f3a0c71 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0f/c2/d1/13a04d3a6b8118efa86a42469e34fd5094e4f73491e6bc4c7d9ce55fae \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/__config__.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/__config__.cpython-38.pyc new file mode 100644 index 0000000..8e1c111 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/__config__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..7e795cb Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/_shell_utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/_shell_utils.cpython-38.pyc new file mode 100644 index 0000000..ff291f5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/_shell_utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/armccompiler.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/armccompiler.cpython-38.pyc new file mode 100644 index 0000000..8b38ad2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/armccompiler.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/ccompiler.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/ccompiler.cpython-38.pyc new file mode 100644 index 0000000..64e47c8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/ccompiler.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/ccompiler_opt.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/ccompiler_opt.cpython-38.pyc new file mode 100644 index 0000000..f8d6700 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/ccompiler_opt.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/conv_template.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/conv_template.cpython-38.pyc new file mode 100644 index 0000000..eab8c51 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/conv_template.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/core.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/core.cpython-38.pyc new file mode 100644 index 0000000..2b9b7a3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/core.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/cpuinfo.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/cpuinfo.cpython-38.pyc new file mode 100644 index 0000000..8cfc1f5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/cpuinfo.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/exec_command.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/exec_command.cpython-38.pyc new file mode 100644 index 0000000..b38bdc2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/exec_command.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/extension.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/extension.cpython-38.pyc new file mode 100644 index 0000000..9314407 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/extension.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/from_template.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/from_template.cpython-38.pyc new file mode 100644 index 0000000..6467853 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/from_template.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/intelccompiler.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/intelccompiler.cpython-38.pyc new file mode 100644 index 0000000..0eabfa4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/intelccompiler.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/lib2def.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/lib2def.cpython-38.pyc new file mode 100644 index 0000000..93cc27c Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/lib2def.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/line_endings.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/line_endings.cpython-38.pyc new file mode 100644 index 0000000..4c54229 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/line_endings.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/log.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/log.cpython-38.pyc new file mode 100644 index 0000000..6fb353b Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/log.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/mingw32ccompiler.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/mingw32ccompiler.cpython-38.pyc new file mode 100644 index 0000000..7b778e4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/mingw32ccompiler.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/misc_util.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/misc_util.cpython-38.pyc new file mode 100644 index 0000000..9d2e84f Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/misc_util.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/msvc9compiler.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/msvc9compiler.cpython-38.pyc new file mode 100644 index 0000000..01cc6b9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/msvc9compiler.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/msvccompiler.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/msvccompiler.cpython-38.pyc new file mode 100644 index 0000000..7b3662b Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/msvccompiler.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/npy_pkg_config.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/npy_pkg_config.cpython-38.pyc new file mode 100644 index 0000000..884c3d1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/npy_pkg_config.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/numpy_distribution.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/numpy_distribution.cpython-38.pyc new file mode 100644 index 0000000..5f13534 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/numpy_distribution.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/pathccompiler.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/pathccompiler.cpython-38.pyc new file mode 100644 index 0000000..612325b Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/pathccompiler.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/setup.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/setup.cpython-38.pyc new file mode 100644 index 0000000..ec486ba Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/setup.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/system_info.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/system_info.cpython-38.pyc new file mode 100644 index 0000000..0a9fcfd Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/system_info.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/unixccompiler.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/unixccompiler.cpython-38.pyc new file mode 100644 index 0000000..75dabff Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/__pycache__/unixccompiler.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/_shell_utils.py b/venv/lib/python3.8/site-packages/numpy/distutils/_shell_utils.py new file mode 120000 index 0000000..8a07170 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/_shell_utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/90/c2/ce/2288a607b3dd151828571088c8216c225d693f77748649bfb3713d5dd0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/armccompiler.py b/venv/lib/python3.8/site-packages/numpy/distutils/armccompiler.py new file mode 120000 index 0000000..1a06fe5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/armccompiler.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/49/6d/76/213ed6081dc22cc1bf5362b55836ed628cf0145f83b4c0c0ae6a4e4e47 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/ccompiler.py b/venv/lib/python3.8/site-packages/numpy/distutils/ccompiler.py new file mode 120000 index 0000000..788f2b0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/ccompiler.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/62/43/fd/22101aba3a3a7864eabf625ba28c69036c556bcbdae09951a7820f9308 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/ccompiler_opt.py b/venv/lib/python3.8/site-packages/numpy/distutils/ccompiler_opt.py new file mode 120000 index 0000000..5b902bf --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/ccompiler_opt.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4c/90/a7/712ae8c09226c042c6cc03f0db7b817ca55eb1fea75f27a7b4d6131979 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_asimd.c b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_asimd.c new file mode 120000 index 0000000..315c99f --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_asimd.c @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9d/75/2c/4cbad296144bf94cc333ccccaa7d6ea899d1ed3465262dc8c6ac39dfdc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_asimddp.c b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_asimddp.c new file mode 120000 index 0000000..3c214e0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_asimddp.c @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/13/86/fd/cd3d487527c6476002649890a11f81a9a783b7316a44d5bc94139701a6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_asimdfhm.c b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_asimdfhm.c new file mode 120000 index 0000000..7edd740 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_asimdfhm.c @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ea/d5/c8/355129980fa561149b2fa0ab06ed9e8cd16677d58e3451a083e2455d91 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_asimdhp.c b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_asimdhp.c new file mode 120000 index 0000000..e4ece69 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_asimdhp.c @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/49/fc/2b/10403fd3dd6d9b2238bcddc134bb3bca9527ac5fd56d383a80f97ea1cb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_avx.c b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_avx.c new file mode 120000 index 0000000..83bf2a8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_avx.c @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2e/e6/56/f28f77559662edc6043f7d1dbca5939bb330d532e60ade546970f10898 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_avx2.c b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_avx2.c new file mode 120000 index 0000000..ae7f0d7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_avx2.c @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8e/50/e5/79adfdde8a7424e88c2609a63f22a6c805f3b4b70e6cf3a9f45f45692d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_avx512_clx.c b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_avx512_clx.c new file mode 120000 index 0000000..d557890 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_avx512_clx.c @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3f/e6/07/8e3d971384a2b610643f00e04a13b11969d548d51783bda1f0ede4a5bb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_avx512_cnl.c b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_avx512_cnl.c new file mode 120000 index 0000000..bfc6332 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_avx512_cnl.c @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7f/f7/36/674c7000a4c978add160c229d5d817615f10c9e3b15202a4321b78aa4a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_avx512_icl.c b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_avx512_icl.c new file mode 120000 index 0000000..4cfd05b --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_avx512_icl.c @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8a/c2/37/e7e826ec7aa7d908a793984fd571d6961e766b9bf02a111d5bf091be21 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_avx512_knl.c b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_avx512_knl.c new file mode 120000 index 0000000..4e8deb7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_avx512_knl.c @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/55/ea/b8/ccd4430ea00157574fc98769c8fcea667101ad1b0fb13654d5e6cf8bf6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_avx512_knm.c b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_avx512_knm.c new file mode 120000 index 0000000..50b608c --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_avx512_knm.c @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7a/cc/cf/1abdd70bd26cee6414074805c65acd8d0c1fb9c405cff53017234b8deb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_avx512_skx.c b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_avx512_skx.c new file mode 120000 index 0000000..717814d --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_avx512_skx.c @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e7/d5/43/f1e6c42491cb95b63ee1d6a4655df86e6abf96bf6604acfc04072c7587 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_avx512cd.c b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_avx512cd.c new file mode 120000 index 0000000..45aa28e --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_avx512cd.c @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/41/f8/79/14952ff5959dfcfe73c64bd860892faac3e9b60683b8a91e5ff17cbf20 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_avx512f.c b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_avx512f.c new file mode 120000 index 0000000..07e1079 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_avx512f.c @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/77/de/cd/45c6c986aa6f5119f0ef3c86d133ae1228ca5ef534838a8e4d61dbc316 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_f16c.c b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_f16c.c new file mode 120000 index 0000000..d889627 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_f16c.c @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9f/36/73/a5473c01f4edc3e20d47728ec5c8f1f69cb355433c3a1b2b747d9d3bfc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_fma3.c b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_fma3.c new file mode 120000 index 0000000..79030e9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_fma3.c @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/60/de/88/0f0b9900b2475559a9436b63fb5e0723f3dcc47fe0895f3e5e3ce59a45 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_fma4.c b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_fma4.c new file mode 120000 index 0000000..c109279 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_fma4.c @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a8/a7/60/4cd34583e9fcbd20754f1728eb41c12c270e8b5687db7819397ef22aab \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_neon.c b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_neon.c new file mode 120000 index 0000000..d42c581 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_neon.c @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/63/44/a3/b952f3877ba971b638ee28078e62a08c76d7c5bbf39dcc01eda71f8f1c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_neon_fp16.c b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_neon_fp16.c new file mode 120000 index 0000000..665fa5c --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_neon_fp16.c @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/13/b6/0e/1b260fe35bb5b2a8821e90861aa8e6a3b0aceb2524989e3a2bb2d99687 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_neon_vfpv4.c b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_neon_vfpv4.c new file mode 120000 index 0000000..27efe77 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_neon_vfpv4.c @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a8/56/35/0bf7d0633eccfdaffc8f4293767eef684dcd35599663624602b0c6337c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_popcnt.c b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_popcnt.c new file mode 120000 index 0000000..8f61063 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_popcnt.c @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bd/17/17/1d5c368f517d23fd3b78867fc730d7ddf7779aa8224172f5c37a542c99 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_sse.c b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_sse.c new file mode 120000 index 0000000..8467dd0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_sse.c @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e8/c1/c8/4ed0bbe94a5247dba1d128944699e4a4f90bcd3e6d6eb7174f8c41171a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_sse2.c b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_sse2.c new file mode 120000 index 0000000..1893b56 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_sse2.c @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c9/46/73/7630ed052faf62585f3fea44ce3de6d143e6819b3e840f7d4d90040025 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_sse3.c b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_sse3.c new file mode 120000 index 0000000..c460100 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_sse3.c @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8f/95/d1/1ee994b9c72037d5cf6728d6514aa4abc36ef170925a6bd4866253274f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_sse41.c b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_sse41.c new file mode 120000 index 0000000..67ccea6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_sse41.c @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cb/f9/3c/d4ffb56fe1f1f0e79154313d5753bd25a912d333ef945289dd56d2984c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_sse42.c b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_sse42.c new file mode 120000 index 0000000..3708ac7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_sse42.c @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/dc/f5/ee/71d23698823eb713bbcc537df53955bde4ff4140044d31af464fbf858c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_ssse3.c b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_ssse3.c new file mode 120000 index 0000000..8d48076 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_ssse3.c @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5f/a5/56/c485cc469752081b073d7be8b77c93678779c8af418b549c40fdd60be4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_vsx.c b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_vsx.c new file mode 120000 index 0000000..d87fe02 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_vsx.c @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/15/59/91/e229622a3722873302c25a11d45d896304992bd3f87ff86f2112c74834 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_vsx2.c b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_vsx2.c new file mode 120000 index 0000000..994514b --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_vsx2.c @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c8/44/ac/db946de73b5be7eb2db986eedd36e2c892a696532930bbb4d463801ea1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_vsx3.c b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_vsx3.c new file mode 120000 index 0000000..3ff8b16 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_vsx3.c @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a2/60/b9/d2d6c464d8a0b0a3053ed137cc6465212d95b834e6def67d4c1656a385 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_vsx4.c b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_vsx4.c new file mode 120000 index 0000000..91b4ca0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_vsx4.c @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9e/07/b3/0352ae20da8990b01c32b64947b6ccd08780db953a23e6b96884865c9a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_vx.c b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_vx.c new file mode 120000 index 0000000..b522806 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_vx.c @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3a/92/d4/ea321fc2f18947824f55564b9547efa3ba0067462fb2369f336aad3e59 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_vxe.c b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_vxe.c new file mode 120000 index 0000000..6c76bcb --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_vxe.c @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ad/85/bf/9cac179e50746fcc42ac912be139afac4bd2f8d4e8c70caaa8e1d5f019 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_vxe2.c b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_vxe2.c new file mode 120000 index 0000000..7a3fe0a --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_vxe2.c @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1e/fe/30/3b6de4c02d86ea5aaa7ab72ae0d1382b49ebbc1c51ed1233af91d35c27 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_xop.c b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_xop.c new file mode 120000 index 0000000..0aea827 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/checks/cpu_xop.c @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ee/e6/9b/b067aabe654942fb92123b3cf929bc9299af97ab99f581cc179876a294 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/checks/extra_avx512bw_mask.c b/venv/lib/python3.8/site-packages/numpy/distutils/checks/extra_avx512bw_mask.c new file mode 120000 index 0000000..1a684c9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/checks/extra_avx512bw_mask.c @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a5/53/ce/85cbbcd322559c884e7071d73a5676a6ba09d4c51fd1781c72a84fa0d9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/checks/extra_avx512dq_mask.c b/venv/lib/python3.8/site-packages/numpy/distutils/checks/extra_avx512dq_mask.c new file mode 120000 index 0000000..dfa1118 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/checks/extra_avx512dq_mask.c @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9c/c7/c8/bdea484861437b13eb3189792d6b5d9ade94cbd4ca3f31780556b2c362 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/checks/extra_avx512f_reduce.c b/venv/lib/python3.8/site-packages/numpy/distutils/checks/extra_avx512f_reduce.c new file mode 120000 index 0000000..e09224a --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/checks/extra_avx512f_reduce.c @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fc/d7/db/b5f480926fc0ebbba68d1d6811bf7246704be449d303be9fbd022e3559 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/checks/extra_vsx4_mma.c b/venv/lib/python3.8/site-packages/numpy/distutils/checks/extra_vsx4_mma.c new file mode 120000 index 0000000..ea48b7b --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/checks/extra_vsx4_mma.c @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1a/24/06/67dfbac184e01f8d9b2604a55e159c4c8ae48e1e71bf8bb29a3eab8259 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/checks/extra_vsx_asm.c b/venv/lib/python3.8/site-packages/numpy/distutils/checks/extra_vsx_asm.c new file mode 120000 index 0000000..4c5b596 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/checks/extra_vsx_asm.c @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/06/78/22/3154bd9f2af6db3eb332b3ab1cb7829687bfe65b9785fe53e6662e7202 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/checks/test_flags.c b/venv/lib/python3.8/site-packages/numpy/distutils/checks/test_flags.c new file mode 120000 index 0000000..8953b64 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/checks/test_flags.c @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b8/02/1b/85f021c867b89d374afe6666a0279f8fd3f44c61cd17d014bff09dc790 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/command/__init__.py b/venv/lib/python3.8/site-packages/numpy/distutils/command/__init__.py new file mode 120000 index 0000000..d9749b6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/command/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7d/6e/3d/cd4077b32305b0aa5fd684413b487cb669d3c113f7cd43ebb01d11db63 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..7633edb Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/autodist.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/autodist.cpython-38.pyc new file mode 100644 index 0000000..128019a Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/autodist.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/bdist_rpm.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/bdist_rpm.cpython-38.pyc new file mode 100644 index 0000000..cb48306 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/bdist_rpm.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/build.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/build.cpython-38.pyc new file mode 100644 index 0000000..246485e Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/build.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/build_clib.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/build_clib.cpython-38.pyc new file mode 100644 index 0000000..ceeb58b Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/build_clib.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/build_ext.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/build_ext.cpython-38.pyc new file mode 100644 index 0000000..59a9a40 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/build_ext.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/build_py.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/build_py.cpython-38.pyc new file mode 100644 index 0000000..1196efb Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/build_py.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/build_scripts.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/build_scripts.cpython-38.pyc new file mode 100644 index 0000000..b8c05cd Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/build_scripts.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/build_src.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/build_src.cpython-38.pyc new file mode 100644 index 0000000..4b0461b Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/build_src.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/config.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/config.cpython-38.pyc new file mode 100644 index 0000000..b27bf2d Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/config.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/config_compiler.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/config_compiler.cpython-38.pyc new file mode 100644 index 0000000..22c60db Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/config_compiler.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/develop.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/develop.cpython-38.pyc new file mode 100644 index 0000000..2e0f5ef Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/develop.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/egg_info.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/egg_info.cpython-38.pyc new file mode 100644 index 0000000..9511425 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/egg_info.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/install.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/install.cpython-38.pyc new file mode 100644 index 0000000..1897f77 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/install.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/install_clib.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/install_clib.cpython-38.pyc new file mode 100644 index 0000000..12fcbb1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/install_clib.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/install_data.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/install_data.cpython-38.pyc new file mode 100644 index 0000000..890d7ab Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/install_data.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/install_headers.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/install_headers.cpython-38.pyc new file mode 100644 index 0000000..b385d61 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/install_headers.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/sdist.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/sdist.cpython-38.pyc new file mode 100644 index 0000000..a7fbb8d Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/command/__pycache__/sdist.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/command/autodist.py b/venv/lib/python3.8/site-packages/numpy/distutils/command/autodist.py new file mode 120000 index 0000000..554ac46 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/command/autodist.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f0/a5/b0/af99a78d7db4529638213443c7e3eb780a7287d33b07dd88c2c12d4ec4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/command/bdist_rpm.py b/venv/lib/python3.8/site-packages/numpy/distutils/command/bdist_rpm.py new file mode 120000 index 0000000..517326e --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/command/bdist_rpm.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fa/d9/19/ba9209aff8cba9e5fbc5b46113cf823971d12341a846900a72156d7b9e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/command/build.py b/venv/lib/python3.8/site-packages/numpy/distutils/command/build.py new file mode 120000 index 0000000..935946b --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/command/build.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6a/3d/52/506b03513c6ce13721d802cb70f9ee01585a3e310f2192286f331a8e6d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/command/build_clib.py b/venv/lib/python3.8/site-packages/numpy/distutils/command/build_clib.py new file mode 120000 index 0000000..7e2cc2b --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/command/build_clib.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a9/bc/6f/c05e67f247c64ac2fb1f9052ef382e51866cb345f791cb7c536d09422a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/command/build_ext.py b/venv/lib/python3.8/site-packages/numpy/distutils/command/build_ext.py new file mode 120000 index 0000000..3136741 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/command/build_ext.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/59/11/87/027d99e8db95f83852e7fecbf0a5e330e5a69bc6d19d1dca558b53eb51 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/command/build_py.py b/venv/lib/python3.8/site-packages/numpy/distutils/command/build_py.py new file mode 120000 index 0000000..b6d67c0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/command/build_py.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5e/22/d9/d9dfed98213cb86e55014e4e2b6ce5cd06b205f798e25f0514496d6e28 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/command/build_scripts.py b/venv/lib/python3.8/site-packages/numpy/distutils/command/build_scripts.py new file mode 120000 index 0000000..6d275a4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/command/build_scripts.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3f/6c/ad/9996f7529c1f99b31790507688c424d79b4d502ca7ccc0139659a9f86b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/command/build_src.py b/venv/lib/python3.8/site-packages/numpy/distutils/command/build_src.py new file mode 120000 index 0000000..9f4ec2b --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/command/build_src.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2f/0d/c9/b2649d8bf0e9582b42c54e17e62602e9d6b9be43a15f30ab9e5ae04bdf \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/command/config.py b/venv/lib/python3.8/site-packages/numpy/distutils/command/config.py new file mode 120000 index 0000000..db45fc7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/command/config.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bf/e9/c7/318fb780bed0e8f90ce0ad970d564cfc6c94ac08e98cdb6c453e7e63af \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/command/config_compiler.py b/venv/lib/python3.8/site-packages/numpy/distutils/command/config_compiler.py new file mode 120000 index 0000000..429adc6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/command/config_compiler.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0a/9f/51/4e95bbda083c5c2ff7fbd7424e52d8af7e76a417c145903c6015af3a86 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/command/develop.py b/venv/lib/python3.8/site-packages/numpy/distutils/command/develop.py new file mode 120000 index 0000000..8839178 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/command/develop.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f5/26/db/9c59d56d22556714c5a15f69c2539c3350f7d069ce5a6d90a27403bc72 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/command/egg_info.py b/venv/lib/python3.8/site-packages/numpy/distutils/command/egg_info.py new file mode 120000 index 0000000..c59b4b2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/command/egg_info.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8b/e6/64/e2c7ed2b970c4154368ea4b14cca5523e818c97375ebea794ef9a35117 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/command/install.py b/venv/lib/python3.8/site-packages/numpy/distutils/command/install.py new file mode 120000 index 0000000..6263f68 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/command/install.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c1/97/d5/69b00cc3e637b6200a7174f10be4a8eb9447a37cc2cb5b9ca139b2102c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/command/install_clib.py b/venv/lib/python3.8/site-packages/numpy/distutils/command/install_clib.py new file mode 120000 index 0000000..16bd562 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/command/install_clib.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d7/1b/f4/fe53d5bb7835e868080a38e587b4fccd0e8f4a57af0aeabc068731e583 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/command/install_data.py b/venv/lib/python3.8/site-packages/numpy/distutils/command/install_data.py new file mode 120000 index 0000000..9dd1deb --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/command/install_data.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/63/9f/44/046eb53163ffe42f1726f48255fcd8a4c355355707fd9e9cd2a82bf4a0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/command/install_headers.py b/venv/lib/python3.8/site-packages/numpy/distutils/command/install_headers.py new file mode 120000 index 0000000..0874cd3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/command/install_headers.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b5/5a/4e/1aa92687c000fed6a6d0ad1278277892f663dd4a923a358a9ba2b3e236 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/command/sdist.py b/venv/lib/python3.8/site-packages/numpy/distutils/command/sdist.py new file mode 120000 index 0000000..481d7df --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/command/sdist.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f1/3b/23/bb54705cd6cfc90723bfc191305bde150a9895b35d4998765f5395f955 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/conv_template.py b/venv/lib/python3.8/site-packages/numpy/distutils/conv_template.py new file mode 120000 index 0000000..58e04f9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/conv_template.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/17/ee/2f/9247c08c26fe7cdefd598ad75f704c1cca2240ef96daed3dab5d8e3ee2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/core.py b/venv/lib/python3.8/site-packages/numpy/distutils/core.py new file mode 120000 index 0000000..4be20d5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/core.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/40/12/4d/25d204d1af51af8968fb7427984696c95574ebc97a1db54f749ef98998 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/cpuinfo.py b/venv/lib/python3.8/site-packages/numpy/distutils/cpuinfo.py new file mode 120000 index 0000000..c52b29a --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/cpuinfo.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5e/e3/61/b31ffeb72aee8bf00e827d74c9f67da7860133af2f5b6fdb1a62a3d3b2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/exec_command.py b/venv/lib/python3.8/site-packages/numpy/distutils/exec_command.py new file mode 120000 index 0000000..c16ef69 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/exec_command.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/18/39/39/c11962fad57664bc9c6ec867ac62dc060a24bd99853099ed170c13da5d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/extension.py b/venv/lib/python3.8/site-packages/numpy/distutils/extension.py new file mode 120000 index 0000000..d514fad --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/extension.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/62/07/81/f1ed9f55cda5ff57adb9106fd0ff1cd4d50b3b3e126ae74782c541737d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__init__.py b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__init__.py new file mode 120000 index 0000000..42b3264 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6a/ab/19/3303147de342e7a630013c9fb3d1bc743ad0d4991d9c5d808766534a14 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..76a3870 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/absoft.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/absoft.cpython-38.pyc new file mode 100644 index 0000000..3d64db4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/absoft.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/arm.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/arm.cpython-38.pyc new file mode 100644 index 0000000..165b767 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/arm.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/compaq.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/compaq.cpython-38.pyc new file mode 100644 index 0000000..6d968e9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/compaq.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/environment.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/environment.cpython-38.pyc new file mode 100644 index 0000000..eb5cfbd Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/environment.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/fujitsu.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/fujitsu.cpython-38.pyc new file mode 100644 index 0000000..38e2988 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/fujitsu.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/g95.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/g95.cpython-38.pyc new file mode 100644 index 0000000..2cdcbf0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/g95.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/gnu.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/gnu.cpython-38.pyc new file mode 100644 index 0000000..e687e27 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/gnu.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/hpux.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/hpux.cpython-38.pyc new file mode 100644 index 0000000..62cac34 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/hpux.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/ibm.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/ibm.cpython-38.pyc new file mode 100644 index 0000000..0778eb5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/ibm.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/intel.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/intel.cpython-38.pyc new file mode 100644 index 0000000..791b3ce Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/intel.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/lahey.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/lahey.cpython-38.pyc new file mode 100644 index 0000000..a47ef42 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/lahey.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/mips.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/mips.cpython-38.pyc new file mode 100644 index 0000000..c4cb268 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/mips.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/nag.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/nag.cpython-38.pyc new file mode 100644 index 0000000..d603346 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/nag.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/none.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/none.cpython-38.pyc new file mode 100644 index 0000000..b7b5d21 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/none.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/nv.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/nv.cpython-38.pyc new file mode 100644 index 0000000..0164296 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/nv.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/pathf95.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/pathf95.cpython-38.pyc new file mode 100644 index 0000000..5fd36aa Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/pathf95.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/pg.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/pg.cpython-38.pyc new file mode 100644 index 0000000..a53d4f5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/pg.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/sun.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/sun.cpython-38.pyc new file mode 100644 index 0000000..b6e4716 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/sun.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/vast.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/vast.cpython-38.pyc new file mode 100644 index 0000000..610be10 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/__pycache__/vast.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/absoft.py b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/absoft.py new file mode 120000 index 0000000..d456dd7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/absoft.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/34/9c/66/e50a62bfd1756795429485f05ca1a6268082103499999b61250652d91b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/arm.py b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/arm.py new file mode 120000 index 0000000..052fbe4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/arm.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2d/37/c8/ce9c0c12c680850ee3b53f9138fa27b6b093776e7dfa9fd9c4424b213f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/compaq.py b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/compaq.py new file mode 120000 index 0000000..fa65df4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/compaq.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b2/35/36/18a1c91ae0a1b516ff3219e8b8caaf9083907e59a8c0513a12b0966611 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/environment.py b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/environment.py new file mode 120000 index 0000000..a7218a4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/environment.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0c/e0/f6/16d28393a3bd93a53487d50a590fbae7053ccf5b523e7de05254700aca \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/fujitsu.py b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/fujitsu.py new file mode 120000 index 0000000..a032ab2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/fujitsu.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c8/ad/f0/747a05e6aab6e5472720ce85cd35ec24627175f29afdffffb74e0d7bb3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/g95.py b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/g95.py new file mode 120000 index 0000000..ebd2f61 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/g95.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/14/7e/2e/c30eab7b9d0e513fc17dda1648b08352a93c2ef990dbf8f94611799cb4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/gnu.py b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/gnu.py new file mode 120000 index 0000000..0fc57b0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/gnu.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6a/0f/2f/fe9a7e7d8a433ca26c56635a17037adb56f5305400c5ec344f529d13f6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/hpux.py b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/hpux.py new file mode 120000 index 0000000..7cc14c1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/hpux.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/82/5a/14/8d61a8ecc8099ae928ac3abb6710e79d4297c7e0ba0107ebc90b2154ce \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/ibm.py b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/ibm.py new file mode 120000 index 0000000..4598192 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/ibm.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5b/ba/fa/5bb92f18f06e5acaeff95b031c4513abb6d2ef7978755214d62a66f880 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/intel.py b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/intel.py new file mode 120000 index 0000000..877f5ce --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/intel.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5d/81/74/18b5612568d2f27a04c784c9ef4e04aadf89181a2545910e93080d22d1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/lahey.py b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/lahey.py new file mode 120000 index 0000000..0e94fd3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/lahey.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/53/ad/ca/31f37ccc301dfe39ef3244b637e76f3f852249107d09eb36f74a8b357c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/mips.py b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/mips.py new file mode 120000 index 0000000..bad8237 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/mips.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2c/0c/13/d03639caa958876d2134c611d7e38abbc03d18dc3e4db51f23ca6f8253 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/nag.py b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/nag.py new file mode 120000 index 0000000..80448df --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/nag.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f6/94/02/3149708d154718ac19c6fc1de1b5b9a7ef6fed55dc7e510b1089878358 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/none.py b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/none.py new file mode 120000 index 0000000..64385b6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/none.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e9/15/f6/5fe995d47ba12599d57d098398b5612145ac7884f83f9c1fdeb74babd6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/nv.py b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/nv.py new file mode 120000 index 0000000..08504e3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/nv.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2c/60/50/638d7bce26d0f9f9cf8ace6b36d3ff235424f4e9611053a73ef9b05c72 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/pathf95.py b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/pathf95.py new file mode 120000 index 0000000..4d610a4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/pathf95.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/32/21/d5/6abebe6de504615129a97391217e1ff06dbd238ec3dfa92b7a5b5d7e84 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/pg.py b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/pg.py new file mode 120000 index 0000000..573ec92 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/pg.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/34/e0/75/b2dceb8ef40c652edb20f4e059370015eddc8cdbde039f92ced519a83d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/sun.py b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/sun.py new file mode 120000 index 0000000..9a4a462 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/sun.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/99/f4/b7/4538fdb984fa2bd224a7c4639ac10f21602d513ccc857f6c1a313217a2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/vast.py b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/vast.py new file mode 120000 index 0000000..303084f --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/vast.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5e/ec/5a/e2c36b6943dc426b78e52a2001f3749031c56fa0bbdee3593665f74411 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/from_template.py b/venv/lib/python3.8/site-packages/numpy/distutils/from_template.py new file mode 120000 index 0000000..3b37346 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/from_template.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/86/9a/05/428aedb0b65d312aff7c920bcd7ceb230165668163b034a8ea336dbd6b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/intelccompiler.py b/venv/lib/python3.8/site-packages/numpy/distutils/intelccompiler.py new file mode 120000 index 0000000..6a7325a --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/intelccompiler.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/37/fa/6f/5a394b3917651f7e1cb3dee85382c136bfecf6be5d76c9a67bb5c4bece \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/lib2def.py b/venv/lib/python3.8/site-packages/numpy/distutils/lib2def.py new file mode 120000 index 0000000..d444e50 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/lib2def.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/36/57/f0/49f61f5245b76d8e1f46fbd2823505edce86b3df41e86a11b0eac7ea02 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/line_endings.py b/venv/lib/python3.8/site-packages/numpy/distutils/line_endings.py new file mode 120000 index 0000000..c223f58 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/line_endings.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6b/c6/59/102acf45f7ec6ecd14ca0791e3bfdf394959a699f1f903ecb2b217b41d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/log.py b/venv/lib/python3.8/site-packages/numpy/distutils/log.py new file mode 120000 index 0000000..e235cfd --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/log.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9b/c7/1a/341c0f8481bb6139c3f62abd8e373aff224e794f451ee6aed824ae95db \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/mingw/gfortran_vs2003_hack.c b/venv/lib/python3.8/site-packages/numpy/distutils/mingw/gfortran_vs2003_hack.c new file mode 120000 index 0000000..d3f577a --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/mingw/gfortran_vs2003_hack.c @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/71/bb/0d/dcb93d1e4c33afd73ec8e3f6c44060d7f9a5d57ee7c003035b11a3cdcf \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/mingw32ccompiler.py b/venv/lib/python3.8/site-packages/numpy/distutils/mingw32ccompiler.py new file mode 120000 index 0000000..732fa07 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/mingw32ccompiler.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/81/ab/8c/a3af91f39d2fd33921f0ee1820e98ba35c10746018b7c19deb4a9bc162 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/misc_util.py b/venv/lib/python3.8/site-packages/numpy/distutils/misc_util.py new file mode 120000 index 0000000..8fa233f --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/misc_util.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/da/2e/3d/a0894b21f4217161b3427dddb418fc03a51580a6eb1d64ff377376b936 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/msvc9compiler.py b/venv/lib/python3.8/site-packages/numpy/distutils/msvc9compiler.py new file mode 120000 index 0000000..23494ea --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/msvc9compiler.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/14/2b/4f/ee0df8015b8c21aa90947f005756417485176e4e46ede05e7934abd731 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/msvccompiler.py b/venv/lib/python3.8/site-packages/numpy/distutils/msvccompiler.py new file mode 120000 index 0000000..8e083e2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/msvccompiler.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b6/f4/c6/a5d2b8d4beb225ee56fe8fd3385655de9e485ed8d2c669d515a479dae5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/npy_pkg_config.py b/venv/lib/python3.8/site-packages/numpy/distutils/npy_pkg_config.py new file mode 120000 index 0000000..e52c518 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/npy_pkg_config.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7c/81/72/58b4ea47248ede19fed22d0535d1de6e544dfe10effb073af3eb1ade14 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/numpy_distribution.py b/venv/lib/python3.8/site-packages/numpy/distutils/numpy_distribution.py new file mode 120000 index 0000000..a1ab8f4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/numpy_distribution.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d7/45/2b/a25835683006d041d87dcbce6f33a0a915740118761a10e4944838bd2d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/pathccompiler.py b/venv/lib/python3.8/site-packages/numpy/distutils/pathccompiler.py new file mode 120000 index 0000000..308c610 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/pathccompiler.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2a/72/44/0391f871783b48bacc8f05ad89d0f6e154af39dbbbd9dd7bbe8b6263d1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/setup.py b/venv/lib/python3.8/site-packages/numpy/distutils/setup.py new file mode 120000 index 0000000..d3239d6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/setup.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/97/d9/1e/fc1c2ce37d547417f2b1aabb65e1ad67c762c7bea887d1eeab9aaa6e45 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/system_info.py b/venv/lib/python3.8/site-packages/numpy/distutils/system_info.py new file mode 120000 index 0000000..5544287 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/system_info.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f6/31/d2/bf8aad0e355b4aa8b2f5e2a646948a63b591c3328bec011c35cb7163a8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/tests/__init__.py b/venv/lib/python3.8/site-packages/numpy/distutils/tests/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/tests/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/tests/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/tests/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..70baed6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/tests/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/tests/__pycache__/test_build_ext.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/tests/__pycache__/test_build_ext.cpython-38.pyc new file mode 100644 index 0000000..5d6a4af Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/tests/__pycache__/test_build_ext.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/tests/__pycache__/test_ccompiler_opt.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/tests/__pycache__/test_ccompiler_opt.cpython-38.pyc new file mode 100644 index 0000000..5f04c1b Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/tests/__pycache__/test_ccompiler_opt.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/tests/__pycache__/test_ccompiler_opt_conf.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/tests/__pycache__/test_ccompiler_opt_conf.cpython-38.pyc new file mode 100644 index 0000000..5877a5c Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/tests/__pycache__/test_ccompiler_opt_conf.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/tests/__pycache__/test_exec_command.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/tests/__pycache__/test_exec_command.cpython-38.pyc new file mode 100644 index 0000000..3685bf8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/tests/__pycache__/test_exec_command.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/tests/__pycache__/test_fcompiler.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/tests/__pycache__/test_fcompiler.cpython-38.pyc new file mode 100644 index 0000000..af3f2ca Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/tests/__pycache__/test_fcompiler.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/tests/__pycache__/test_fcompiler_gnu.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/tests/__pycache__/test_fcompiler_gnu.cpython-38.pyc new file mode 100644 index 0000000..ea1c6a2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/tests/__pycache__/test_fcompiler_gnu.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/tests/__pycache__/test_fcompiler_intel.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/tests/__pycache__/test_fcompiler_intel.cpython-38.pyc new file mode 100644 index 0000000..6f302fe Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/tests/__pycache__/test_fcompiler_intel.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/tests/__pycache__/test_fcompiler_nagfor.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/tests/__pycache__/test_fcompiler_nagfor.cpython-38.pyc new file mode 100644 index 0000000..f9e45b2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/tests/__pycache__/test_fcompiler_nagfor.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/tests/__pycache__/test_from_template.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/tests/__pycache__/test_from_template.cpython-38.pyc new file mode 100644 index 0000000..e76220e Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/tests/__pycache__/test_from_template.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/tests/__pycache__/test_log.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/tests/__pycache__/test_log.cpython-38.pyc new file mode 100644 index 0000000..7d976e6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/tests/__pycache__/test_log.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/tests/__pycache__/test_mingw32ccompiler.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/tests/__pycache__/test_mingw32ccompiler.cpython-38.pyc new file mode 100644 index 0000000..543799d Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/tests/__pycache__/test_mingw32ccompiler.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/tests/__pycache__/test_misc_util.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/tests/__pycache__/test_misc_util.cpython-38.pyc new file mode 100644 index 0000000..2aa7452 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/tests/__pycache__/test_misc_util.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/tests/__pycache__/test_npy_pkg_config.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/tests/__pycache__/test_npy_pkg_config.cpython-38.pyc new file mode 100644 index 0000000..a40a14d Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/tests/__pycache__/test_npy_pkg_config.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/tests/__pycache__/test_shell_utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/tests/__pycache__/test_shell_utils.cpython-38.pyc new file mode 100644 index 0000000..9b5af92 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/tests/__pycache__/test_shell_utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/tests/__pycache__/test_system_info.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/distutils/tests/__pycache__/test_system_info.cpython-38.pyc new file mode 100644 index 0000000..d11e006 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/distutils/tests/__pycache__/test_system_info.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/tests/test_build_ext.py b/venv/lib/python3.8/site-packages/numpy/distutils/tests/test_build_ext.py new file mode 120000 index 0000000..d8b6d31 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/tests/test_build_ext.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a9/7f/a3/e94066a62822c3067d44c3244dc1d706b101d105d87de8c394cd89fb37 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/tests/test_ccompiler_opt.py b/venv/lib/python3.8/site-packages/numpy/distutils/tests/test_ccompiler_opt.py new file mode 120000 index 0000000..c5d24ff --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/tests/test_ccompiler_opt.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ee/0c/1a/c318639c8da1fbc12ba900e061894d608e8c9cd5e14c429ccd7169e58b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/tests/test_ccompiler_opt_conf.py b/venv/lib/python3.8/site-packages/numpy/distutils/tests/test_ccompiler_opt_conf.py new file mode 120000 index 0000000..d4899d9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/tests/test_ccompiler_opt_conf.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bf/05/25/966870c203fa7f232a1946c87c37d47f670ba505b8bee748ea85b2b9ca \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/tests/test_exec_command.py b/venv/lib/python3.8/site-packages/numpy/distutils/tests/test_exec_command.py new file mode 120000 index 0000000..2399868 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/tests/test_exec_command.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6f/65/6f/e730919e41fbdaf85041149e0b7cd6a893dd0c16b581c3b34f25a727f8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/tests/test_fcompiler.py b/venv/lib/python3.8/site-packages/numpy/distutils/tests/test_fcompiler.py new file mode 120000 index 0000000..c4dcda0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/tests/test_fcompiler.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/98/95/de/cd35c351b76e842c151807c0047a440115a19e3f212d6f44394deb9fce \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/tests/test_fcompiler_gnu.py b/venv/lib/python3.8/site-packages/numpy/distutils/tests/test_fcompiler_gnu.py new file mode 120000 index 0000000..dd33f91 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/tests/test_fcompiler_gnu.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9e/67/da/1425736d5888390dbe323817b7e6cdf148faef8842822c2be48a25fbf5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/tests/test_fcompiler_intel.py b/venv/lib/python3.8/site-packages/numpy/distutils/tests/test_fcompiler_intel.py new file mode 120000 index 0000000..a838c4a --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/tests/test_fcompiler_intel.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9b/19/1f/143dab35f83c9e7d69a7fe35dd2d2e09d617c9d3d605ccfd8a5806900d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/tests/test_fcompiler_nagfor.py b/venv/lib/python3.8/site-packages/numpy/distutils/tests/test_fcompiler_nagfor.py new file mode 120000 index 0000000..211424f --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/tests/test_fcompiler_nagfor.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/08/a1/23/8a4ed855f48918be1a6ee72d92696421484086ffb1d9a51c5e24d1f5bd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/tests/test_from_template.py b/venv/lib/python3.8/site-packages/numpy/distutils/tests/test_from_template.py new file mode 120000 index 0000000..aea4a96 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/tests/test_from_template.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/48/36/28/7b45d4a406b2c84403abb661aef104cfb53dba92432d8ce171da1589f7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/tests/test_log.py b/venv/lib/python3.8/site-packages/numpy/distutils/tests/test_log.py new file mode 120000 index 0000000..7bec73b --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/tests/test_log.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d2/d4/8c/e2afb4d028db30845bf50389cc8e00ec61d489118e1b548e38bcfc7673 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/tests/test_mingw32ccompiler.py b/venv/lib/python3.8/site-packages/numpy/distutils/tests/test_mingw32ccompiler.py new file mode 120000 index 0000000..b3b394b --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/tests/test_mingw32ccompiler.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ac/c0/bc/f88c813a2b9955f02892557f2a70fda95781fe1155bdbe5d4adc5f934f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/tests/test_misc_util.py b/venv/lib/python3.8/site-packages/numpy/distutils/tests/test_misc_util.py new file mode 120000 index 0000000..645c2cc --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/tests/test_misc_util.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/42/cf/7a/bd3afc1994b25425ae6a6cdc36554c45ad79bedd18f93db2652526fd00 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/tests/test_npy_pkg_config.py b/venv/lib/python3.8/site-packages/numpy/distutils/tests/test_npy_pkg_config.py new file mode 120000 index 0000000..0af8081 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/tests/test_npy_pkg_config.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6a/91/ab/99588f717a0f0843a00ed84980bd770bd374a9032cdfdd908d90f125de \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/tests/test_shell_utils.py b/venv/lib/python3.8/site-packages/numpy/distutils/tests/test_shell_utils.py new file mode 120000 index 0000000..bba56d2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/tests/test_shell_utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3a/ac/09/ad7f43b018e6e245ead9c05a8a85e57bc157101ef429af2193db2a7e1a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/tests/test_system_info.py b/venv/lib/python3.8/site-packages/numpy/distutils/tests/test_system_info.py new file mode 120000 index 0000000..5fe0b17 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/tests/test_system_info.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/de/ad/eb/25d0f5754512b035ce5f1a9253e01ffb0c2de7a2a7926210978a4bcef9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/distutils/unixccompiler.py b/venv/lib/python3.8/site-packages/numpy/distutils/unixccompiler.py new file mode 120000 index 0000000..38d92da --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/distutils/unixccompiler.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7c/de/3e/2c7e89269e3848b13b264746da429094ae0b0bccee529542f91b6627e5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/doc/__init__.py b/venv/lib/python3.8/site-packages/numpy/doc/__init__.py new file mode 120000 index 0000000..7e1adb9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/doc/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/39/89/84/f85eb1d020f4e4f0836363225b51cb97007a8bdbe10e993e6b7af89476 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/doc/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/doc/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..520ffe0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/doc/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/doc/__pycache__/constants.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/doc/__pycache__/constants.cpython-38.pyc new file mode 100644 index 0000000..1f672d5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/doc/__pycache__/constants.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/doc/__pycache__/ufuncs.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/doc/__pycache__/ufuncs.cpython-38.pyc new file mode 100644 index 0000000..d60be85 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/doc/__pycache__/ufuncs.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/doc/constants.py b/venv/lib/python3.8/site-packages/numpy/doc/constants.py new file mode 120000 index 0000000..7fe7320 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/doc/constants.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3e/55/e8/8fb6f803c01af670036e0f37bb34c1449697f1dbc998475b9f81433cfa \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/doc/ufuncs.py b/venv/lib/python3.8/site-packages/numpy/doc/ufuncs.py new file mode 120000 index 0000000..d989d87 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/doc/ufuncs.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8b/56/a5/2e0d7d98dc82159d8b6123991a6fbe46c44dd71eb753f51853e377c7ad \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/dual.py b/venv/lib/python3.8/site-packages/numpy/dual.py new file mode 120000 index 0000000..6da79f2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/dual.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/69/66/45/73bac55562e85acf4ce3e9e17ff4b5df546fb0b454759acc21a83f0335 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/__init__.py b/venv/lib/python3.8/site-packages/numpy/f2py/__init__.py new file mode 120000 index 0000000..0d068b6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a7/3d/e8/e01f9fed42c00d27c5d669760228ff74d007bfa97f50a32bf48cb31f5b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/__init__.pyi b/venv/lib/python3.8/site-packages/numpy/f2py/__init__.pyi new file mode 120000 index 0000000..36ef773 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1e/0d/40/637c1efbc866857ab57ec16b4da51ee530ff16f2319092038b0e5e23c6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/__main__.py b/venv/lib/python3.8/site-packages/numpy/f2py/__main__.py new file mode 120000 index 0000000..049b2c4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/__main__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ea/2d/a3/547d9f3eb895d5aa1c4d8fdd505bd62b5f2a6bece3a6721203e3a9177c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..4719b1a Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/__main__.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/__main__.cpython-38.pyc new file mode 100644 index 0000000..ca34170 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/__main__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/__version__.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/__version__.cpython-38.pyc new file mode 100644 index 0000000..a814acd Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/__version__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/auxfuncs.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/auxfuncs.cpython-38.pyc new file mode 100644 index 0000000..c9c2cb5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/auxfuncs.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/capi_maps.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/capi_maps.cpython-38.pyc new file mode 100644 index 0000000..ec10062 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/capi_maps.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/cb_rules.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/cb_rules.cpython-38.pyc new file mode 100644 index 0000000..1d04fc0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/cb_rules.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/cfuncs.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/cfuncs.cpython-38.pyc new file mode 100644 index 0000000..7663d4c Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/cfuncs.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/common_rules.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/common_rules.cpython-38.pyc new file mode 100644 index 0000000..d30864a Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/common_rules.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/crackfortran.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/crackfortran.cpython-38.pyc new file mode 100644 index 0000000..899038e Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/crackfortran.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/diagnose.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/diagnose.cpython-38.pyc new file mode 100644 index 0000000..f08a7ae Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/diagnose.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/f2py2e.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/f2py2e.cpython-38.pyc new file mode 100644 index 0000000..5c8f825 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/f2py2e.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/f90mod_rules.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/f90mod_rules.cpython-38.pyc new file mode 100644 index 0000000..9c980f4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/f90mod_rules.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/func2subr.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/func2subr.cpython-38.pyc new file mode 100644 index 0000000..8abf2e3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/func2subr.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/rules.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/rules.cpython-38.pyc new file mode 100644 index 0000000..c2e5aae Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/rules.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/setup.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/setup.cpython-38.pyc new file mode 100644 index 0000000..106d46b Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/setup.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/symbolic.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/symbolic.cpython-38.pyc new file mode 100644 index 0000000..0228935 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/symbolic.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/use_rules.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/use_rules.cpython-38.pyc new file mode 100644 index 0000000..e493a25 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/f2py/__pycache__/use_rules.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/__version__.py b/venv/lib/python3.8/site-packages/numpy/f2py/__version__.py new file mode 120000 index 0000000..5b071bc --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/__version__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ec/71/dd/8d1f361420667edc0c472ae585c123fbc98641bea8087fb09543c7e0dc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/auxfuncs.py b/venv/lib/python3.8/site-packages/numpy/f2py/auxfuncs.py new file mode 120000 index 0000000..69917a8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/auxfuncs.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/02/b9/f2/f06ac5f3d7ea1e7823c533c02aff45a04499282e1e389a05e495e6d139 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/capi_maps.py b/venv/lib/python3.8/site-packages/numpy/f2py/capi_maps.py new file mode 120000 index 0000000..7822e25 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/capi_maps.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/74/3d/3f/a28e3427a1b2b00057fd7a9c0927d92361253c00b443d41b54dd80dce7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/cb_rules.py b/venv/lib/python3.8/site-packages/numpy/f2py/cb_rules.py new file mode 120000 index 0000000..20b9dd6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/cb_rules.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c5/78/a2/b86026c89cfed4a20e8647f9a067783b64d486a3cf48bd4be497b19b0e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/cfuncs.py b/venv/lib/python3.8/site-packages/numpy/f2py/cfuncs.py new file mode 120000 index 0000000..41454f7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/cfuncs.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a0/b0/e2/a8b70f2112abc124cdb2183d91a99f769631101dc296c04d9aee45d861 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/common_rules.py b/venv/lib/python3.8/site-packages/numpy/f2py/common_rules.py new file mode 120000 index 0000000..b83b1ad --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/common_rules.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/21/67/d1/41f865482ce20e7fb7846a08a481c643bc82f84682d162b1f58ad7b3a2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/crackfortran.py b/venv/lib/python3.8/site-packages/numpy/f2py/crackfortran.py new file mode 120000 index 0000000..dd98ec1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/crackfortran.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7d/31/25/70cb42628b5d631793b3dc418606a1173f3e9cb70016ad1c9761b0f8dc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/diagnose.py b/venv/lib/python3.8/site-packages/numpy/f2py/diagnose.py new file mode 120000 index 0000000..747d202 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/diagnose.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5b/9f/71/72b1957fed5e77d1644200b1816d1df5ada510d6b11d4a58540676c34d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/f2py2e.py b/venv/lib/python3.8/site-packages/numpy/f2py/f2py2e.py new file mode 120000 index 0000000..ecbc57e --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/f2py2e.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2d/80/d9/46617831c415ebc8ce92383e247935321014e73d185602c4905b04ff99 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/f90mod_rules.py b/venv/lib/python3.8/site-packages/numpy/f2py/f90mod_rules.py new file mode 120000 index 0000000..df4162f --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/f90mod_rules.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a0/b6/6d/27f4f540d0ab6b7080096f2850b9908a8614e1b3957215ad810a75ccbf \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/func2subr.py b/venv/lib/python3.8/site-packages/numpy/f2py/func2subr.py new file mode 120000 index 0000000..88a670c --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/func2subr.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ec/68/35/ecd6cc03c4e8a0212ffb8fd70677e483a263b754c0624148974cbef9ee \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/rules.py b/venv/lib/python3.8/site-packages/numpy/f2py/rules.py new file mode 120000 index 0000000..2fb9952 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/rules.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a5/96/ff/34d87966265d4aedfc798db36173d12859c28661ea983c984845095ad7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/setup.py b/venv/lib/python3.8/site-packages/numpy/f2py/setup.py new file mode 120000 index 0000000..b0d5acc --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/setup.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f5/00/fa/d37fd411ad4702e247b68358dadc0ac032a87a993bda2932290a708633 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/src/fortranobject.c b/venv/lib/python3.8/site-packages/numpy/f2py/src/fortranobject.c new file mode 120000 index 0000000..b531d09 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/src/fortranobject.c @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d1/47/92/df77f5f7316dad93f89621d44d2a9f876a585b766d9682dffbd7a91233 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/src/fortranobject.h b/venv/lib/python3.8/site-packages/numpy/f2py/src/fortranobject.h new file mode 120000 index 0000000..cd5f21d --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/src/fortranobject.h @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/68/5e/c0/0aa4bf7ddaea8f8b168b669807f36c7fd99c554ea33c6cbe1bed19e783 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/symbolic.py b/venv/lib/python3.8/site-packages/numpy/f2py/symbolic.py new file mode 120000 index 0000000..87bd887 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/symbolic.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/dc/44/72/482de660ef3e35f01f4c398c39dd327cfb98b3c91c7aac535ca15ba590 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/__init__.py b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..bdac204 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_abstract_interface.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_abstract_interface.cpython-38.pyc new file mode 100644 index 0000000..c7db9a9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_abstract_interface.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_array_from_pyobj.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_array_from_pyobj.cpython-38.pyc new file mode 100644 index 0000000..2398377 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_array_from_pyobj.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_assumed_shape.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_assumed_shape.cpython-38.pyc new file mode 100644 index 0000000..d096bf8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_assumed_shape.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_block_docstring.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_block_docstring.cpython-38.pyc new file mode 100644 index 0000000..31c3d8a Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_block_docstring.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_callback.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_callback.cpython-38.pyc new file mode 100644 index 0000000..7cc0612 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_callback.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_common.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_common.cpython-38.pyc new file mode 100644 index 0000000..85b6742 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_common.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_compile_function.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_compile_function.cpython-38.pyc new file mode 100644 index 0000000..d7ac706 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_compile_function.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_crackfortran.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_crackfortran.cpython-38.pyc new file mode 100644 index 0000000..8b21e56 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_crackfortran.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_f2cmap.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_f2cmap.cpython-38.pyc new file mode 100644 index 0000000..2112b18 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_f2cmap.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_f2py2e.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_f2py2e.cpython-38.pyc new file mode 100644 index 0000000..9a58631 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_f2py2e.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_kind.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_kind.cpython-38.pyc new file mode 100644 index 0000000..70af4ee Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_kind.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_mixed.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_mixed.cpython-38.pyc new file mode 100644 index 0000000..1ef352d Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_mixed.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_module_doc.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_module_doc.cpython-38.pyc new file mode 100644 index 0000000..09453c7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_module_doc.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_parameter.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_parameter.cpython-38.pyc new file mode 100644 index 0000000..7c549ba Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_parameter.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_quoted_character.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_quoted_character.cpython-38.pyc new file mode 100644 index 0000000..343f30c Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_quoted_character.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_regression.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_regression.cpython-38.pyc new file mode 100644 index 0000000..2e4d327 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_regression.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_return_character.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_return_character.cpython-38.pyc new file mode 100644 index 0000000..2d0ee59 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_return_character.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_return_complex.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_return_complex.cpython-38.pyc new file mode 100644 index 0000000..9c8a283 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_return_complex.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_return_integer.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_return_integer.cpython-38.pyc new file mode 100644 index 0000000..262aaa0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_return_integer.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_return_logical.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_return_logical.cpython-38.pyc new file mode 100644 index 0000000..0c80fe0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_return_logical.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_return_real.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_return_real.cpython-38.pyc new file mode 100644 index 0000000..247fd1b Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_return_real.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_semicolon_split.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_semicolon_split.cpython-38.pyc new file mode 100644 index 0000000..a2a55e3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_semicolon_split.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_size.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_size.cpython-38.pyc new file mode 100644 index 0000000..dfd21eb Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_size.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_string.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_string.cpython-38.pyc new file mode 100644 index 0000000..5b638e5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_string.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_symbolic.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_symbolic.cpython-38.pyc new file mode 100644 index 0000000..2c1b78a Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/test_symbolic.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/util.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/util.cpython-38.pyc new file mode 100644 index 0000000..18f8546 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/f2py/tests/__pycache__/util.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/abstract_interface/foo.f90 b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/abstract_interface/foo.f90 new file mode 120000 index 0000000..47a538e --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/abstract_interface/foo.f90 @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/24/55/36/c3df1c07f5cdc1faea36d234c834e6a4477160efd4125da9808feb9edf \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/abstract_interface/gh18403_mod.f90 b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/abstract_interface/gh18403_mod.f90 new file mode 120000 index 0000000..bbbd497 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/abstract_interface/gh18403_mod.f90 @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/82/f4/09/23336dbda716134761cacc67df4fa251e23ae47a6aec3884f6845abb3f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/array_from_pyobj/wrapmodule.c b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/array_from_pyobj/wrapmodule.c new file mode 120000 index 0000000..7e7b365 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/array_from_pyobj/wrapmodule.c @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/38/93/45/e2e9181a68954a6cde03cb9553a0f81706b8c14cac61541176e975fc02 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/assumed_shape/.f2py_f2cmap b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/assumed_shape/.f2py_f2cmap new file mode 120000 index 0000000..b5881e1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/assumed_shape/.f2py_f2cmap @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/06/eb/7d/afd9b888bec41aafe168c5bc222438562bc7d13814a33c57e293ef7691 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/assumed_shape/foo_free.f90 b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/assumed_shape/foo_free.f90 new file mode 120000 index 0000000..d07e8a1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/assumed_shape/foo_free.f90 @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a0/1c/1b/19295bafd3241728553b66a5763734d5dafd187accad289141e93c53ae \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/assumed_shape/foo_mod.f90 b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/assumed_shape/foo_mod.f90 new file mode 120000 index 0000000..c2a298b --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/assumed_shape/foo_mod.f90 @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ad/fc/f0/dd0748f9e6834a5fa1b250a01a9779b477ed24e5615ef6f6d58f467fa3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/assumed_shape/foo_use.f90 b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/assumed_shape/foo_use.f90 new file mode 120000 index 0000000..5da88c9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/assumed_shape/foo_use.f90 @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ae/64/fd/9388cff51bb53cb706a9ea70f4973a3fd5cd5ccd1ac58ee8e218bd954c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/assumed_shape/precision.f90 b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/assumed_shape/precision.f90 new file mode 120000 index 0000000..af26931 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/assumed_shape/precision.f90 @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/af/4f/09/7935664d313103e85867a1f36b1570067d4631b3c0baec018410ed2549 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/block_docstring/foo.f b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/block_docstring/foo.f new file mode 120000 index 0000000..6dc58fe --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/block_docstring/foo.f @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cb/b9/4f/08fbbbfc586cfd37f685f7690d0a356e1b6f35229169900ea4cfe5ddd8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/callback/foo.f b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/callback/foo.f new file mode 120000 index 0000000..0c16c7e --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/callback/foo.f @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0b/58/63/7e944241688e555cc81ea9ec61c9cbaea41c8b1ae71c29fc85df468559 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/callback/gh17797.f90 b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/callback/gh17797.f90 new file mode 120000 index 0000000..b55961e --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/callback/gh17797.f90 @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fc/da/e5/d1ad878146edca6194d2dc1a27efbbacc6b551ca36037b306d6bc7a0ca \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/callback/gh18335.f90 b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/callback/gh18335.f90 new file mode 120000 index 0000000..8770104 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/callback/gh18335.f90 @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/36/b6/8e/c8a217cafbff63edf11a79938ed3635b6667b27964f0056223ccdfa2f7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/cli/hi77.f b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/cli/hi77.f new file mode 120000 index 0000000..d667b9f --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/cli/hi77.f @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b6/dc/88/eaf00fdea2e70eacbcd95d385e6a2aad734ceae84cbef2eb8b6a7476ad \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/cli/hiworld.f90 b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/cli/hiworld.f90 new file mode 120000 index 0000000..a07ebe1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/cli/hiworld.f90 @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/41/63/8b/3eb4f1610bb5cab12dc9031b3347c4f4cd919977bb735f392a70f9c77a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/common/block.f b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/common/block.f new file mode 120000 index 0000000..a4b1b3a --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/common/block.f @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/19/0d/0f/77e54c5f71f76befff7f64aea2c49dc0d5c7a41aa81a74038dff1a1bd8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/crackfortran/accesstype.f90 b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/crackfortran/accesstype.f90 new file mode 120000 index 0000000..4fc51b6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/crackfortran/accesstype.f90 @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fb/90/e2/9fb6256354d4eed5070f6a7efc3493c460690ec59835e4fd58ec06867a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/crackfortran/foo_deps.f90 b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/crackfortran/foo_deps.f90 new file mode 120000 index 0000000..c4b95e1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/crackfortran/foo_deps.f90 @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/09/a1/fb/9a75931bb15c9c97b6bd737fd330db31a770e8d0aa2be249d879838caf \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/crackfortran/gh15035.f b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/crackfortran/gh15035.f new file mode 120000 index 0000000..dc84212 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/crackfortran/gh15035.f @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8c/99/72/d40cc5e4bf55c5b550d2fafeb1fe0b694a38790cc982e86e7a61719ef8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/crackfortran/gh17859.f b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/crackfortran/gh17859.f new file mode 120000 index 0000000..362317f --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/crackfortran/gh17859.f @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ec/ae/5d/b4e5c6b810c010d3cd0adfad00626a4df34acf93aca954a4d7afdeec4b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/crackfortran/gh2848.f90 b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/crackfortran/gh2848.f90 new file mode 120000 index 0000000..00e7375 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/crackfortran/gh2848.f90 @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/80/f3/5a/b31f7c4887fb67d89b93f0c7886282be5ec446db1fa065e21434fb15b3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/crackfortran/operators.f90 b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/crackfortran/operators.f90 new file mode 120000 index 0000000..994f2cd --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/crackfortran/operators.f90 @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f8/57/3e/aa35b5c01af70e4bdd77974c4ebb748678e757ed40628f8d156730152a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/crackfortran/privatemod.f90 b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/crackfortran/privatemod.f90 new file mode 120000 index 0000000..d3cdb65 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/crackfortran/privatemod.f90 @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ed/bb/9b/6463089fb883df5c039231754e55c250cee768220aebd33d7747b7cbe5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/crackfortran/publicmod.f90 b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/crackfortran/publicmod.f90 new file mode 120000 index 0000000..148ce5d --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/crackfortran/publicmod.f90 @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3e/7c/32/7f9e9077a5b71541fe64c8275c46246fb827d7ca6d3537709866a7d09a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/f2cmap/.f2py_f2cmap b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/f2cmap/.f2py_f2cmap new file mode 120000 index 0000000..a904828 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/f2cmap/.f2py_f2cmap @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/89/43/ad/7c77773ae4f5473dbeca24a0b78b8f286bc2b790334358b2809b7fca38 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/f2cmap/isoFortranEnvMap.f90 b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/f2cmap/isoFortranEnvMap.f90 new file mode 120000 index 0000000..5816ed2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/f2cmap/isoFortranEnvMap.f90 @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/25/cd/b4/4cec8e078ba9e9994f4e0557e6aa9f645bad619eab2ca03bc1234d1b0d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/kind/foo.f90 b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/kind/foo.f90 new file mode 120000 index 0000000..0345307 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/kind/foo.f90 @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cc/81/e9/c3529d9166d3cdb5dbef784f6c28383761ed8f75cbf0323033bb1e5e9a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/mixed/foo.f b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/mixed/foo.f new file mode 120000 index 0000000..e252f99 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/mixed/foo.f @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f7/4c/e6/6d21e5a18d5741870f6fc07977d6eff66099c7c67c00c4ed803c090f3f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/mixed/foo_fixed.f90 b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/mixed/foo_fixed.f90 new file mode 120000 index 0000000..768b926 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/mixed/foo_fixed.f90 @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a7/12/ae/3f3c45dca9f9921c85abd6b20ac422a25c41dd268db5c59a2b98fa46fe \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/mixed/foo_free.f90 b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/mixed/foo_free.f90 new file mode 120000 index 0000000..66c06b9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/mixed/foo_free.f90 @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7c/84/3b/d70ac1734d095005548ffaf7405f5275e36788188cc3a2f2ec21a03d65 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/module_data/mod.mod b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/module_data/mod.mod new file mode 120000 index 0000000..c34f164 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/module_data/mod.mod @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/12/48/eb/53b35366b387ebcc8aaf3e82fdec89312152c46802db23104fd66c71e9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/module_data/module_data_docstring.f90 b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/module_data/module_data_docstring.f90 new file mode 120000 index 0000000..9cbd861 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/module_data/module_data_docstring.f90 @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b4/36/77/7d495accb2fc4e1266dd5c0d189ef940894b716ef4367305bfe240e16d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/negative_bounds/issue_20853.f90 b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/negative_bounds/issue_20853.f90 new file mode 120000 index 0000000..7f15b58 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/negative_bounds/issue_20853.f90 @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7d/d3/8f/8518bb8a9ca0c1809771d6bba7f765af0b391ddd8696917d119faa9dc9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/parameter/constant_both.f90 b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/parameter/constant_both.f90 new file mode 120000 index 0000000..b35d704 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/parameter/constant_both.f90 @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f9/b0/5f/d9ea876feb85c60a3a43b880b55514433ac616ace11c335ac7048809f4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/parameter/constant_compound.f90 b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/parameter/constant_compound.f90 new file mode 120000 index 0000000..6fccb1c --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/parameter/constant_compound.f90 @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ad/ee/e9/7f372e6aaba23a26b9dd44fba8d36b4d8bb67ae18a385e088682e64fa8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/parameter/constant_integer.f90 b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/parameter/constant_integer.f90 new file mode 120000 index 0000000..48e52e9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/parameter/constant_integer.f90 @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9c/49/8c/2e2b4aa12006ee00411102d6ba6a2037e292dc305938064959c4839c5c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/parameter/constant_non_compound.f90 b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/parameter/constant_non_compound.f90 new file mode 120000 index 0000000..0f121c6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/parameter/constant_non_compound.f90 @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/21/cc/44/4952ca25467593db982a849bf077e6f7e3bfe2b567964894536762cbc4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/parameter/constant_real.f90 b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/parameter/constant_real.f90 new file mode 120000 index 0000000..58b09cd --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/parameter/constant_real.f90 @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/aa/e3/5b/0ec3354ecdab3785ad3ceebb4bd5e2ffc97671769b5913b4d023d04924 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/quoted_character/foo.f b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/quoted_character/foo.f new file mode 120000 index 0000000..feb85b4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/quoted_character/foo.f @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5a/30/bd/0fdd7bd5f7b67fbae4500654be293d6e421ff5a741c9f446ce1e95d1c3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/regression/inout.f90 b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/regression/inout.f90 new file mode 120000 index 0000000..5893017 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/regression/inout.f90 @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0a/91/e9/80cadfd1ba80d56dcece8def2270f3d113fdd384bb2e4a5d007e8e0dc9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/return_character/foo77.f b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/return_character/foo77.f new file mode 120000 index 0000000..a379b89 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/return_character/foo77.f @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5b/30/cd/17777f8540d24998edc5ddc3b44f9b4b1d6294e304be21b26076dc1603 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/return_character/foo90.f90 b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/return_character/foo90.f90 new file mode 120000 index 0000000..e169c25 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/return_character/foo90.f90 @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/50/b7/04/4c312dee05c74739ac3213ec186e28de51ab731f85105689b0f1852b20 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/return_complex/foo77.f b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/return_complex/foo77.f new file mode 120000 index 0000000..8b6b2ae --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/return_complex/foo77.f @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f0/40/91/2647d7f36a05bc658a6c8ac2bca8dfe504100a5c78b1212fb1b901e80f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/return_complex/foo90.f90 b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/return_complex/foo90.f90 new file mode 120000 index 0000000..793bd33 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/return_complex/foo90.f90 @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/73/50/67/aed5b02f6764ad3afbc2f944a8d0e0e7d49e34ca3783226e19d470703c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/return_integer/foo77.f b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/return_integer/foo77.f new file mode 120000 index 0000000..e06ba93 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/return_integer/foo77.f @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ff/c9/35/7af973070be0674e3ba1fa5d71bc0a745f019b7790ed5625d98f1be640 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/return_integer/foo90.f90 b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/return_integer/foo90.f90 new file mode 120000 index 0000000..64c9b3b --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/return_integer/foo90.f90 @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6f/3c/5b/62da1f8af191607df902783d49c9db36c54444df3eeae6f9f9e23e2c64 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/return_logical/foo77.f b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/return_logical/foo77.f new file mode 120000 index 0000000..2887fe2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/return_logical/foo77.f @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/17/18/85/fd7d079325c7cc9336acbc93b9b649bb8241f8e6cb9d5a9f670010165f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/return_logical/foo90.f90 b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/return_logical/foo90.f90 new file mode 120000 index 0000000..9929820 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/return_logical/foo90.f90 @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f4/a9/82/7bbc896298b87ed90a38cdc10839cf39d04f4db50dacac58de9dfb3b5e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/return_real/foo77.f b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/return_real/foo77.f new file mode 120000 index 0000000..67a9652 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/return_real/foo77.f @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/65/3a/f3/6faa03ac80cf96b5563f7066b646f3ddf7c769a490a1791f4c6b42b851 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/return_real/foo90.f90 b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/return_real/foo90.f90 new file mode 120000 index 0000000..3a4ff8f --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/return_real/foo90.f90 @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/81/9b/87/e658f6946ea0a87947efae8a437278f84ae8f86e16a4e3a8d8c1b7a215 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/size/foo.f90 b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/size/foo.f90 new file mode 120000 index 0000000..2d6368f --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/size/foo.f90 @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/22/51/40/41acf0051af7cf24fbbf7ebeb55d3e7d7b41d5ded6169e92d4954cb2d8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/string/char.f90 b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/string/char.f90 new file mode 120000 index 0000000..dbf2c17 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/string/char.f90 @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8a/1a/ff/047f6563b797710a471c342116829c6eeed530e5f940fd9396bef195a3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/string/fixed_string.f90 b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/string/fixed_string.f90 new file mode 120000 index 0000000..1763577 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/string/fixed_string.f90 @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e6/7e/88/92e01214a8182025d8f5fa02568aa775f018d004191442bc2fc0110463 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/string/string.f b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/string/string.f new file mode 120000 index 0000000..d7a5382 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/src/string/string.f @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b2/1a/f7/7cb55969ae92c94245608175399ba17dff2fe650b0b1534153607ede99 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_abstract_interface.py b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_abstract_interface.py new file mode 120000 index 0000000..d94021c --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_abstract_interface.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a8/7f/7b/55a3ca0cf0392de91f03fd0362e13cfd6abcf9de03ab1f89e70254df35 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_array_from_pyobj.py b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_array_from_pyobj.py new file mode 120000 index 0000000..7d515d5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_array_from_pyobj.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/33/25/cc/70741bbc153207eb31ac48e71bfa64b7984da53425c58a568950a2ae0e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_assumed_shape.py b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_assumed_shape.py new file mode 120000 index 0000000..933708d --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_assumed_shape.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/82/66/a8/a645c8c48cba46a185f662cb6c56dc27eba03d92056661acc3b592a343 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_block_docstring.py b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_block_docstring.py new file mode 120000 index 0000000..deca27e --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_block_docstring.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/48/4a/6e/abbdd3f6856d1e14558a515fd7117b9dbebcddde3e2afed5d247cbe000 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_callback.py b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_callback.py new file mode 120000 index 0000000..742d2ce --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_callback.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/03/68/1d/550310b7c3b1bc8428e1d92812a69f8bf93b20a191fd9d7d78e2497bde \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_common.py b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_common.py new file mode 120000 index 0000000..0a7bbe7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_common.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/49/99/6b/511d5efc26e4503e0eea2f7d42052639cb4740d3f4326ca1316a62a391 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_compile_function.py b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_compile_function.py new file mode 120000 index 0000000..dfbd964 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_compile_function.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f5/df/c5/67c3f6c1b225436a8f0d1aec16a3dbe27307f2d896a9864df8ffec842b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_crackfortran.py b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_crackfortran.py new file mode 120000 index 0000000..e0a5e4c --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_crackfortran.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f9/28/40/539054f9e04021d4ebe4f73af7d391ed34ad907cfb4484225031143346 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_f2cmap.py b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_f2cmap.py new file mode 120000 index 0000000..a081312 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_f2cmap.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a7/e4/b2/95baf772d74a4f751057d173a42b983c7e54ed5ca7f307971408e223da \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_f2py2e.py b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_f2py2e.py new file mode 120000 index 0000000..7555bd4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_f2py2e.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/07/49/cb/e2e2fc930aa80e9324babe63ba89549eced1a154ae9f4ce1db4996ea19 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_kind.py b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_kind.py new file mode 120000 index 0000000..e940a3f --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_kind.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3d/54/d3/bfcffb27260afb8e371ecba9d0263dee790aff9015b61f9a827346f3b8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_mixed.py b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_mixed.py new file mode 120000 index 0000000..7c90acc --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_mixed.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0a/db/b0/f87ec3c613e34adef065d276c5f7dac08a040423d673917b3d2918e076 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_module_doc.py b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_module_doc.py new file mode 120000 index 0000000..7ef5da1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_module_doc.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b2/30/97/5882aba8c0f5350d43500ce042a9234b9c3d87d82f33f2e3dbd45d72b8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_parameter.py b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_parameter.py new file mode 120000 index 0000000..e4d4d10 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_parameter.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/00/32/3b/115fc2338ced202a6a1ea7aaf0b23e59d07a717d2db5ab5d45d8dbb140 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_quoted_character.py b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_quoted_character.py new file mode 120000 index 0000000..92c3fa2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_quoted_character.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/72/98/cc/76b1f08a69e4a0991777f5bf152961e37a16cad639547c925bda2c90ee \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_regression.py b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_regression.py new file mode 120000 index 0000000..675491c --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_regression.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d7/d1/8d/671125b0f5f51d5d29e695eb878fca5add308637994cb0c4b6d0346872 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_return_character.py b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_return_character.py new file mode 120000 index 0000000..9861ef8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_return_character.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8a/f4/46/10c4583ff5f4617db461d7e56514ae8bd42ccb04f2abafe8059e7f215f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_return_complex.py b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_return_complex.py new file mode 120000 index 0000000..bbd6ea7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_return_complex.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d9/d2/b0/13cef5f62263fa09ff378ccdcbc6761454b70580cfcdc7cd1c975b8aa3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_return_integer.py b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_return_integer.py new file mode 120000 index 0000000..0ab28c9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_return_integer.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/27/0c/53/e286e4af43d9b1d26a256229758d1488bd316b8c60541964595d0ba8ee \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_return_logical.py b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_return_logical.py new file mode 120000 index 0000000..3f59c5c --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_return_logical.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c9/d6/e1/7319073f079a9286cc74cf8dea6f4f8cc1143b77c55e3372acc30bb566 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_return_real.py b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_return_real.py new file mode 120000 index 0000000..d1b84fd --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_return_real.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d3/7c/42/41f49429403ba617f40a98e1b23ca80fd0826cbc93934c3449d5a192f0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_semicolon_split.py b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_semicolon_split.py new file mode 120000 index 0000000..fe18817 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_semicolon_split.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fc/c7/6c/8bce25112d7ca4f8e5f49f90b1b1adb55e2d3c516366f26f7a335ca8f7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_size.py b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_size.py new file mode 120000 index 0000000..959b306 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_size.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ab/a6/2a/42f732a9d5c97966c68a34e209bc72106dc490f72f4fc025016e9108ca \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_string.py b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_string.py new file mode 120000 index 0000000..56dd771 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_string.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e7/16/4e/7dd45ea079c8774f79d177e6b5f76e3cf7c16ed324cc1a1732dca0bcc9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_symbolic.py b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_symbolic.py new file mode 120000 index 0000000..f9d75f6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/test_symbolic.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/db/ca/ae/93691329f5a129ee7a9f8bc8349f06f7078a05f73b1f2b0c944f49dff8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/tests/util.py b/venv/lib/python3.8/site-packages/numpy/f2py/tests/util.py new file mode 120000 index 0000000..ad8b06d --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/tests/util.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ae/ad/06/27092c6474111b6902b6fb54eb2c822625c264f414af53f6f39999b883 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/f2py/use_rules.py b/venv/lib/python3.8/site-packages/numpy/f2py/use_rules.py new file mode 120000 index 0000000..4a9644e --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/f2py/use_rules.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e6/de/97/d7bac5eb2e364b0b9461ed4bb4d8a124910880253b7fd8cfa8aa617e00 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/fft/__init__.py b/venv/lib/python3.8/site-packages/numpy/fft/__init__.py new file mode 120000 index 0000000..0abdeb3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/fft/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1e/a8/e6/17ab3f761d118b8519cd40ed38a6cd5327c07c90167b0ddedc42ff2949 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/fft/__init__.pyi b/venv/lib/python3.8/site-packages/numpy/fft/__init__.pyi new file mode 120000 index 0000000..cdc3d60 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/fft/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bc/3f/57/cf3e6bd7771a1780152fced8e14f4a3a3f62736e55722ff06f77668299 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/fft/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/fft/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..24d6188 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/fft/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/fft/__pycache__/_pocketfft.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/fft/__pycache__/_pocketfft.cpython-38.pyc new file mode 100644 index 0000000..6f8eb15 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/fft/__pycache__/_pocketfft.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/fft/__pycache__/helper.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/fft/__pycache__/helper.cpython-38.pyc new file mode 100644 index 0000000..08cd690 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/fft/__pycache__/helper.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/fft/__pycache__/setup.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/fft/__pycache__/setup.cpython-38.pyc new file mode 100644 index 0000000..025e2a1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/fft/__pycache__/setup.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/fft/_pocketfft.py b/venv/lib/python3.8/site-packages/numpy/fft/_pocketfft.py new file mode 120000 index 0000000..37b00e7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/fft/_pocketfft.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5e/49/bc/c1c3f827204d31ba746681c85a13439609625f6e11ceb0eea36f6e464b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/fft/_pocketfft.pyi b/venv/lib/python3.8/site-packages/numpy/fft/_pocketfft.pyi new file mode 120000 index 0000000..2e2c4cf --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/fft/_pocketfft.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4b/af/b2/954b876e09bcbcd6e1eed2ebbba2b6479489cc4f35042fd29659ba42b4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/fft/_pocketfft_internal.cpython-38-x86_64-linux-gnu.so b/venv/lib/python3.8/site-packages/numpy/fft/_pocketfft_internal.cpython-38-x86_64-linux-gnu.so new file mode 120000 index 0000000..6b83027 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/fft/_pocketfft_internal.cpython-38-x86_64-linux-gnu.so @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/92/96/14/c2c133961f41e1e7f6afd0ec8dc2edad1b15fc9b5b1d5358daa3ad1e2e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/fft/helper.py b/venv/lib/python3.8/site-packages/numpy/fft/helper.py new file mode 120000 index 0000000..076b6fd --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/fft/helper.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/68/d8/f5/01c2efb5fa17dba4622cec1c47e93641232e0599068f616ed027853c9b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/fft/helper.pyi b/venv/lib/python3.8/site-packages/numpy/fft/helper.pyi new file mode 120000 index 0000000..1c6fd1b --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/fft/helper.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/23/21/7f/dc08f6f2486ea443539e1ea25d4e88a98eedd0c7ba3ce2561930ab2ccc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/fft/setup.py b/venv/lib/python3.8/site-packages/numpy/fft/setup.py new file mode 120000 index 0000000..fb4ca4b --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/fft/setup.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/38/93/de/24ae0fb84b56470ff2553663e1d2b17eedb2fb0dd9b50e8451a4234329 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/fft/tests/__init__.py b/venv/lib/python3.8/site-packages/numpy/fft/tests/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/fft/tests/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/fft/tests/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/fft/tests/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..18666be Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/fft/tests/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/fft/tests/__pycache__/test_helper.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/fft/tests/__pycache__/test_helper.cpython-38.pyc new file mode 100644 index 0000000..1001992 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/fft/tests/__pycache__/test_helper.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/fft/tests/__pycache__/test_pocketfft.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/fft/tests/__pycache__/test_pocketfft.cpython-38.pyc new file mode 100644 index 0000000..8e454c9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/fft/tests/__pycache__/test_pocketfft.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/fft/tests/test_helper.py b/venv/lib/python3.8/site-packages/numpy/fft/tests/test_helper.py new file mode 120000 index 0000000..a6daf80 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/fft/tests/test_helper.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c2/18/1e/690f0fcc57f7075c246d7a1b199e6c1785b13e9e207f550f51565eb2df \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/fft/tests/test_pocketfft.py b/venv/lib/python3.8/site-packages/numpy/fft/tests/test_pocketfft.py new file mode 120000 index 0000000..465ff36 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/fft/tests/test_pocketfft.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/94/6e/0d/2cc6c789de600177b81f1a5ac942b4f13e703499c13b06e15b8bd8e4bc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/__init__.py b/venv/lib/python3.8/site-packages/numpy/lib/__init__.py new file mode 120000 index 0000000..e5860aa --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/15/b1/53/76a69e656f9eb85d2f79ba60d6313731812307cb52f5ea18211b675078 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/__init__.pyi b/venv/lib/python3.8/site-packages/numpy/lib/__init__.pyi new file mode 120000 index 0000000..6972529 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/34/bd/51/f9f4003ab9c443e7917789b048cfb8ea0af22f3c9959bddfed216bf384 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..a1ff772 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/_datasource.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/_datasource.cpython-38.pyc new file mode 100644 index 0000000..36679e3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/_datasource.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/_iotools.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/_iotools.cpython-38.pyc new file mode 100644 index 0000000..e120d72 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/_iotools.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/_version.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/_version.cpython-38.pyc new file mode 100644 index 0000000..44cf64e Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/_version.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/arraypad.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/arraypad.cpython-38.pyc new file mode 100644 index 0000000..7ce4ce5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/arraypad.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/arraysetops.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/arraysetops.cpython-38.pyc new file mode 100644 index 0000000..7489c09 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/arraysetops.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/arrayterator.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/arrayterator.cpython-38.pyc new file mode 100644 index 0000000..d3d11ad Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/arrayterator.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/format.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/format.cpython-38.pyc new file mode 100644 index 0000000..5a5f598 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/format.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/function_base.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/function_base.cpython-38.pyc new file mode 100644 index 0000000..b0c7fe7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/function_base.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/histograms.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/histograms.cpython-38.pyc new file mode 100644 index 0000000..ff714d8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/histograms.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/index_tricks.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/index_tricks.cpython-38.pyc new file mode 100644 index 0000000..b403e81 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/index_tricks.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/mixins.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/mixins.cpython-38.pyc new file mode 100644 index 0000000..d0e35a9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/mixins.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/nanfunctions.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/nanfunctions.cpython-38.pyc new file mode 100644 index 0000000..280a17a Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/nanfunctions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/npyio.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/npyio.cpython-38.pyc new file mode 100644 index 0000000..3ac86e2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/npyio.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/polynomial.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/polynomial.cpython-38.pyc new file mode 100644 index 0000000..b20448a Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/polynomial.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/recfunctions.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/recfunctions.cpython-38.pyc new file mode 100644 index 0000000..137694a Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/recfunctions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/scimath.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/scimath.cpython-38.pyc new file mode 100644 index 0000000..5bc21d7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/scimath.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/setup.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/setup.cpython-38.pyc new file mode 100644 index 0000000..85ce44d Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/setup.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/shape_base.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/shape_base.cpython-38.pyc new file mode 100644 index 0000000..cbeb751 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/shape_base.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/stride_tricks.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/stride_tricks.cpython-38.pyc new file mode 100644 index 0000000..cb1c5a0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/stride_tricks.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/twodim_base.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/twodim_base.cpython-38.pyc new file mode 100644 index 0000000..c0a64d6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/twodim_base.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/type_check.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/type_check.cpython-38.pyc new file mode 100644 index 0000000..2276762 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/type_check.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/ufunclike.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/ufunclike.cpython-38.pyc new file mode 100644 index 0000000..6abe7db Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/ufunclike.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/user_array.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/user_array.cpython-38.pyc new file mode 100644 index 0000000..9dadc88 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/user_array.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/utils.cpython-38.pyc new file mode 100644 index 0000000..2f187ef Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/__pycache__/utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/_datasource.py b/venv/lib/python3.8/site-packages/numpy/lib/_datasource.py new file mode 120000 index 0000000..254331f --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/_datasource.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f1/2d/45/a62a8e85a164156f1d270f7af69da2f78782eeecfcca7a8e7a5dbe6cd7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/_iotools.py b/venv/lib/python3.8/site-packages/numpy/lib/_iotools.py new file mode 120000 index 0000000..ce72e64 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/_iotools.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/38/be/8c/9a259a6d3d7f837d188468d8acd16e068352c83087aa20e05eebbfa854 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/_version.py b/venv/lib/python3.8/site-packages/numpy/lib/_version.py new file mode 120000 index 0000000..b3eb9cc --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/_version.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ea/f2/bb/73335207f2ab5b1dab649cc9d69c8e73bdd0d3b84081f2c1e48b540a75 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/_version.pyi b/venv/lib/python3.8/site-packages/numpy/lib/_version.pyi new file mode 120000 index 0000000..3230937 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/_version.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/07/9e/f6/8725ab5161be4c00005eb34d013e00832500989e25be0a703240f3ba79 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/arraypad.py b/venv/lib/python3.8/site-packages/numpy/lib/arraypad.py new file mode 120000 index 0000000..f250ccc --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/arraypad.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3e/82/eb/2261d816dfd5d7bfebd250df0e56158991ce3db2c48aab6898501d9715 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/arraypad.pyi b/venv/lib/python3.8/site-packages/numpy/lib/arraypad.pyi new file mode 120000 index 0000000..bd63581 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/arraypad.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/00/35/e9/86d00e45897712abc4e6ab3fbb7d81fd300b2923ad178de338b9a8c51c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/arraysetops.py b/venv/lib/python3.8/site-packages/numpy/lib/arraysetops.py new file mode 120000 index 0000000..d907551 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/arraysetops.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/83/f6/32/55df294efcdd2e956f11a2bb82de807a57a0f26c89665d261a076ea840 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/arraysetops.pyi b/venv/lib/python3.8/site-packages/numpy/lib/arraysetops.pyi new file mode 120000 index 0000000..24b3e6b --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/arraysetops.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cc/52/1b/441231e4532a73ce9020a1631d1723ba49b9ad0eb450e27389dd3e90db \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/arrayterator.py b/venv/lib/python3.8/site-packages/numpy/lib/arrayterator.py new file mode 120000 index 0000000..2ec26de --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/arrayterator.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/05/0f/7b/4b4d33bdf5115197deb34199a3ee61c9d60d46ebf05f52356cbcde4629 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/arrayterator.pyi b/venv/lib/python3.8/site-packages/numpy/lib/arrayterator.pyi new file mode 120000 index 0000000..3f46e6d --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/arrayterator.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7f/b3/f0/a7cdffe8388c62624652c7df9dc33e1510329c1d62606be198733f4991 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/format.py b/venv/lib/python3.8/site-packages/numpy/lib/format.py new file mode 120000 index 0000000..6a05f41 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/format.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/35/ee/2a/0fdb1574bfa30b829e05e033cd82b9024825b2c25f405b0e7cc2c2511b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/format.pyi b/venv/lib/python3.8/site-packages/numpy/lib/format.pyi new file mode 120000 index 0000000..500c523 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/format.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/61/60/71/0b719db19ed228137c23b9ccc16795b850f5693f5df9527ccc4e3e3fea \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/function_base.py b/venv/lib/python3.8/site-packages/numpy/lib/function_base.py new file mode 120000 index 0000000..bebac46 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/function_base.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4d/61/0b/3884a47323c1eb36d2d04abad0961e72b3f0dd5936aeaf4b19a656cb0a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/function_base.pyi b/venv/lib/python3.8/site-packages/numpy/lib/function_base.pyi new file mode 120000 index 0000000..ead0870 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/function_base.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2e/c0/56/87890cf79c45a1db378aa8eb73dc6b8d09e50574d1e7aa4db6a5de37ce \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/histograms.py b/venv/lib/python3.8/site-packages/numpy/lib/histograms.py new file mode 120000 index 0000000..0929019 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/histograms.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d5/96/17/8e60fa0f5e15ca366f4a95d3001012a33edf4f4bacdb686046db190294 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/histograms.pyi b/venv/lib/python3.8/site-packages/numpy/lib/histograms.pyi new file mode 120000 index 0000000..7444d11 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/histograms.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3b/4b/e0/667085b071b55952195c0e322eda45f6feb0a623b2ac1008e80fd0db00 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/index_tricks.py b/venv/lib/python3.8/site-packages/numpy/lib/index_tricks.py new file mode 120000 index 0000000..9cb5d1e --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/index_tricks.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/db/b0/79/64997ca5070092dfc80991088d0b03c20b7e80cb7f1973c885d419b4d9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/index_tricks.pyi b/venv/lib/python3.8/site-packages/numpy/lib/index_tricks.pyi new file mode 120000 index 0000000..a69986c --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/index_tricks.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d7/30/02/7ff5fc95b1d63a47e4c4b259e68e4883fc264574ff11b03bc27a8e96fc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/mixins.py b/venv/lib/python3.8/site-packages/numpy/lib/mixins.py new file mode 120000 index 0000000..0a3a9cc --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/mixins.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6b/02/56/9fec17900e9f8374da3ef32d5f35166895572809fc7ceb775cb3c9ebdd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/mixins.pyi b/venv/lib/python3.8/site-packages/numpy/lib/mixins.pyi new file mode 120000 index 0000000..45f51b8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/mixins.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/87/d3/75/91b66c527b45d338cec4f61e0ffac207674c886df94d860f97dca6908e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/nanfunctions.py b/venv/lib/python3.8/site-packages/numpy/lib/nanfunctions.py new file mode 120000 index 0000000..e86b8cd --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/nanfunctions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/19/7b/20/925c9ff87f13aa7c89b177b9d38685cbc0dd97dd94aaeeb07bde8caf7f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/nanfunctions.pyi b/venv/lib/python3.8/site-packages/numpy/lib/nanfunctions.pyi new file mode 120000 index 0000000..608de4b --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/nanfunctions.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a0/fa/80/7c28a79812fce498bb928e109730332c02bd9d92f4b76fc296511b0845 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/npyio.py b/venv/lib/python3.8/site-packages/numpy/lib/npyio.py new file mode 120000 index 0000000..6fccbf4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/npyio.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a8/ff/23/c46298d4d147daedba9918071531a47f9be683bfbef2b4def930c974a3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/npyio.pyi b/venv/lib/python3.8/site-packages/numpy/lib/npyio.pyi new file mode 120000 index 0000000..557299f --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/npyio.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b7/0e/5e/65ded393aa21b47d82eee0468188c96d21f1d2a48e9d27825014a528a2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/polynomial.py b/venv/lib/python3.8/site-packages/numpy/lib/polynomial.py new file mode 120000 index 0000000..9d6a7d2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/polynomial.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b5/fa/96/046203853f680acf5853ae97bf951e8de3351a588b54c85c0802975677 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/polynomial.pyi b/venv/lib/python3.8/site-packages/numpy/lib/polynomial.pyi new file mode 120000 index 0000000..d5af1e3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/polynomial.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/19/ea/c8/a509dfe4b76d14c3b2f40c61393a94c9f9f9ee4e0cc6a118adf75c9161 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/recfunctions.py b/venv/lib/python3.8/site-packages/numpy/lib/recfunctions.py new file mode 120000 index 0000000..617b14c --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/recfunctions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/95/b1/87/e9733993e338c8eea350dee44673d10857961d2d86a9656211e86dcdd3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/scimath.py b/venv/lib/python3.8/site-packages/numpy/lib/scimath.py new file mode 120000 index 0000000..212b137 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/scimath.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4f/82/13/cac660aa163527c231c970ad8a81e3313836722fb88b79abf53045d940 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/scimath.pyi b/venv/lib/python3.8/site-packages/numpy/lib/scimath.pyi new file mode 120000 index 0000000..903cb90 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/scimath.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/13/6a/e8/289ccc170592ca12eef143d4af9e163a9c45f23a7fa725d8060b14490f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/setup.py b/venv/lib/python3.8/site-packages/numpy/lib/setup.py new file mode 120000 index 0000000..4e8d4b7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/setup.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d0/ae/4d/24abaf2af3445a9f845fb8f43838b765042020c1e86f348526adc6ef23 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/shape_base.py b/venv/lib/python3.8/site-packages/numpy/lib/shape_base.py new file mode 120000 index 0000000..f46e732 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/shape_base.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4b/23/f4/406caba01ba0cb69f8e6c7d5eda303c3180ed0a761206a6e03c3ee8e78 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/shape_base.pyi b/venv/lib/python3.8/site-packages/numpy/lib/shape_base.pyi new file mode 120000 index 0000000..004d15b --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/shape_base.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b7/b9/28/26790e5cba28b677e8aad52c302d6bee450c99690d46908c877e0c4c38 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/stride_tricks.py b/venv/lib/python3.8/site-packages/numpy/lib/stride_tricks.py new file mode 120000 index 0000000..17f7b7e --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/stride_tricks.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6e/b6/39/6fed18409b881f609abdfa488a73289724d4bf993d0d4bcba19fa29a2b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/stride_tricks.pyi b/venv/lib/python3.8/site-packages/numpy/lib/stride_tricks.pyi new file mode 120000 index 0000000..0bd6114 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/stride_tricks.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d2/94/38/0cff65ea0db5ab6023bfa74915158cafd6ae3c64cd57d0666546e880f6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/__init__.py b/venv/lib/python3.8/site-packages/numpy/lib/tests/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/tests/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..778c6d5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test__datasource.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test__datasource.cpython-38.pyc new file mode 100644 index 0000000..d423a32 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test__datasource.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test__iotools.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test__iotools.cpython-38.pyc new file mode 100644 index 0000000..effacad Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test__iotools.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test__version.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test__version.cpython-38.pyc new file mode 100644 index 0000000..f3d4f56 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test__version.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_arraypad.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_arraypad.cpython-38.pyc new file mode 100644 index 0000000..fb0c942 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_arraypad.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_arraysetops.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_arraysetops.cpython-38.pyc new file mode 100644 index 0000000..ed0930c Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_arraysetops.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_arrayterator.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_arrayterator.cpython-38.pyc new file mode 100644 index 0000000..db97568 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_arrayterator.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_financial_expired.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_financial_expired.cpython-38.pyc new file mode 100644 index 0000000..dcbfbd6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_financial_expired.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_format.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_format.cpython-38.pyc new file mode 100644 index 0000000..44f161d Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_format.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_function_base.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_function_base.cpython-38.pyc new file mode 100644 index 0000000..f672cb7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_function_base.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_histograms.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_histograms.cpython-38.pyc new file mode 100644 index 0000000..239fed8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_histograms.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_index_tricks.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_index_tricks.cpython-38.pyc new file mode 100644 index 0000000..f68a85a Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_index_tricks.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_io.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_io.cpython-38.pyc new file mode 100644 index 0000000..2b62d3c Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_io.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_loadtxt.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_loadtxt.cpython-38.pyc new file mode 100644 index 0000000..45e301c Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_loadtxt.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_mixins.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_mixins.cpython-38.pyc new file mode 100644 index 0000000..60e51e8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_mixins.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_nanfunctions.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_nanfunctions.cpython-38.pyc new file mode 100644 index 0000000..b363002 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_nanfunctions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_packbits.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_packbits.cpython-38.pyc new file mode 100644 index 0000000..f743355 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_packbits.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_polynomial.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_polynomial.cpython-38.pyc new file mode 100644 index 0000000..f45d787 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_polynomial.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_recfunctions.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_recfunctions.cpython-38.pyc new file mode 100644 index 0000000..c715c20 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_recfunctions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_regression.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_regression.cpython-38.pyc new file mode 100644 index 0000000..9b19e51 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_regression.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_shape_base.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_shape_base.cpython-38.pyc new file mode 100644 index 0000000..5f9179f Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_shape_base.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_stride_tricks.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_stride_tricks.cpython-38.pyc new file mode 100644 index 0000000..48bfe75 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_stride_tricks.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_twodim_base.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_twodim_base.cpython-38.pyc new file mode 100644 index 0000000..4f59bd0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_twodim_base.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_type_check.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_type_check.cpython-38.pyc new file mode 100644 index 0000000..3d3cfbb Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_type_check.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_ufunclike.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_ufunclike.cpython-38.pyc new file mode 100644 index 0000000..ca2d57c Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_ufunclike.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_utils.cpython-38.pyc new file mode 100644 index 0000000..561e8a0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/lib/tests/__pycache__/test_utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/data/py2-objarr.npy b/venv/lib/python3.8/site-packages/numpy/lib/tests/data/py2-objarr.npy new file mode 120000 index 0000000..4f5f678 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/tests/data/py2-objarr.npy @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/17/87/32/502fbf4c1f504852c0a3673b738e2b0ba35460882b7c6c7d3ea58f48a9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/data/py2-objarr.npz b/venv/lib/python3.8/site-packages/numpy/lib/tests/data/py2-objarr.npz new file mode 120000 index 0000000..5514e90 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/tests/data/py2-objarr.npz @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c6/8d/77/1c14f415b159daabd9cf42d61836f74ae40049269787baca7d57098f1e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/data/py3-objarr.npy b/venv/lib/python3.8/site-packages/numpy/lib/tests/data/py3-objarr.npy new file mode 120000 index 0000000..c8031e7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/tests/data/py3-objarr.npy @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a5/34/d5/87c7b3a7e97000addf920bdd294f00ae9e4d30ace7543f8ce84c7fb80d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/data/py3-objarr.npz b/venv/lib/python3.8/site-packages/numpy/lib/tests/data/py3-objarr.npz new file mode 120000 index 0000000..49d09de --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/tests/data/py3-objarr.npz @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a9/04/74/812e7b7bdb5ad7a77fbc242369a28cef880f765c023e4a79e4ffaaaddc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/data/python3.npy b/venv/lib/python3.8/site-packages/numpy/lib/tests/data/python3.npy new file mode 120000 index 0000000..bf34c22 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/tests/data/python3.npy @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5f/46/9d/de101a2c65e283d2ed487028f8180ebcb9457cf60c9d9b952314668fed \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/data/win64python2.npy b/venv/lib/python3.8/site-packages/numpy/lib/tests/data/win64python2.npy new file mode 120000 index 0000000..0dd7b75 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/tests/data/win64python2.npy @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6a/03/9c/807558149ad5fa7ad12436c69d49c5e194cf617b92785f8cb60ec63297 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/test__datasource.py b/venv/lib/python3.8/site-packages/numpy/lib/tests/test__datasource.py new file mode 120000 index 0000000..19c4c9f --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/tests/test__datasource.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1c/b8/43/a6a237eaa2165dd2e663da4f5e965265d45c70c299fa1d94e6397ada01 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/test__iotools.py b/venv/lib/python3.8/site-packages/numpy/lib/tests/test__iotools.py new file mode 120000 index 0000000..3ae9748 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/tests/test__iotools.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1d/ea/c2/aaf0c4d3b2718c54255847e964eee50bdcf449baf7cf6d064aeb6808fb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/test__version.py b/venv/lib/python3.8/site-packages/numpy/lib/tests/test__version.py new file mode 120000 index 0000000..b8e84b3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/tests/test__version.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/68/ed/d8/82402884bb0bcc2350eef8c8c1da4550ccf470f2db72ebb12248ee37be \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/test_arraypad.py b/venv/lib/python3.8/site-packages/numpy/lib/tests/test_arraypad.py new file mode 120000 index 0000000..1767d60 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/tests/test_arraypad.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b6/4e/38/2cbbc1b8e32670537eff66a8f32924a971e2b83ca3fa544bd542f40352 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/test_arraysetops.py b/venv/lib/python3.8/site-packages/numpy/lib/tests/test_arraysetops.py new file mode 120000 index 0000000..e8efdb8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/tests/test_arraysetops.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fd/db/81/4e7ca9940e2a94c3c37135301f88b197de60ec42ce5fccfd194cc277c1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/test_arrayterator.py b/venv/lib/python3.8/site-packages/numpy/lib/tests/test_arrayterator.py new file mode 120000 index 0000000..06712d0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/tests/test_arrayterator.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/01/8b/36/4b05796a7920c27bca23d4523b58d9724d75f27bb74b26789e0cd936ca \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/test_financial_expired.py b/venv/lib/python3.8/site-packages/numpy/lib/tests/test_financial_expired.py new file mode 120000 index 0000000..b1c2ceb --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/tests/test_financial_expired.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ca/ae/66/a8632faa99228b0f42b9984982b61aed2aae8f5997aff1be22f0058302 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/test_format.py b/venv/lib/python3.8/site-packages/numpy/lib/tests/test_format.py new file mode 120000 index 0000000..5062f12 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/tests/test_format.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ee/89/56/a452bb5add32d57c214da6861faee7705f422c9bc41fa4fea826796fe7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/test_function_base.py b/venv/lib/python3.8/site-packages/numpy/lib/tests/test_function_base.py new file mode 120000 index 0000000..b2d3c5c --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/tests/test_function_base.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9e/c1/74/074776b49d0995f5f9e64a9766009d224a4fabfad2a3f2f11bae9212e0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/test_histograms.py b/venv/lib/python3.8/site-packages/numpy/lib/tests/test_histograms.py new file mode 120000 index 0000000..23c1235 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/tests/test_histograms.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1c/50/a0/9f12bf52c887caad604993cd62f0e8acca2ed8b0d70d79dda5ef79f3da \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/test_index_tricks.py b/venv/lib/python3.8/site-packages/numpy/lib/tests/test_index_tricks.py new file mode 120000 index 0000000..b02007a --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/tests/test_index_tricks.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/86/e7/e1/903c1db9b37eeb0934be0864139bc4f530bb29cfe09b0e746feafbb205 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/test_io.py b/venv/lib/python3.8/site-packages/numpy/lib/tests/test_io.py new file mode 120000 index 0000000..57aed77 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/tests/test_io.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6e/4a/d0/d898559f620c88e99cfda6fc6ec317edf3fdaae84cf7fee94f6f34345d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/test_loadtxt.py b/venv/lib/python3.8/site-packages/numpy/lib/tests/test_loadtxt.py new file mode 120000 index 0000000..b618323 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/tests/test_loadtxt.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/32/74/c4/805ec6cc178c7fc67d8899f48cd7389b12f5b274326ec7bb2adfde05f8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/test_mixins.py b/venv/lib/python3.8/site-packages/numpy/lib/tests/test_mixins.py new file mode 120000 index 0000000..0d4196b --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/tests/test_mixins.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5a/2b/f0/cf75c15ac128cc6cebceccb2bcbdea02e135e2dd411e4d8b3e6f59f597 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/test_nanfunctions.py b/venv/lib/python3.8/site-packages/numpy/lib/tests/test_nanfunctions.py new file mode 120000 index 0000000..1ec6f44 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/tests/test_nanfunctions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/74/75/2f/90fa0aafda44aaaa4c43e5b89ad60f694a8d77204497b1910596144b38 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/test_packbits.py b/venv/lib/python3.8/site-packages/numpy/lib/tests/test_packbits.py new file mode 120000 index 0000000..c9cc54d --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/tests/test_packbits.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/39/61/80/779839186d2097b587a8d7f0919ec6fb6aebb4bb76b08f39e0f1b89e7c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/test_polynomial.py b/venv/lib/python3.8/site-packages/numpy/lib/tests/test_polynomial.py new file mode 120000 index 0000000..d4cd2e9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/tests/test_polynomial.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/51/1a/2e/c49a6bf054398622b26ea86d39c2c0edefb7863e245b38cb051381cb20 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/test_recfunctions.py b/venv/lib/python3.8/site-packages/numpy/lib/tests/test_recfunctions.py new file mode 120000 index 0000000..95262b3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/tests/test_recfunctions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/42/2a/09/0c71d651e3b24d543db6a9ba8be06f5a4728efbb604c1ac75fbae6e5e3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/test_regression.py b/venv/lib/python3.8/site-packages/numpy/lib/tests/test_regression.py new file mode 120000 index 0000000..4402fdc --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/tests/test_regression.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2b/31/85/9214dcbc41bdee6ca6a0e43684fd8212bda73d9a2ed19b5fe3e59a5c2b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/test_shape_base.py b/venv/lib/python3.8/site-packages/numpy/lib/tests/test_shape_base.py new file mode 120000 index 0000000..03750ef --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/tests/test_shape_base.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d8/6d/45/0ac91811f564ff5baef2a3d26d61b9f5a17dcd7ce3561ceda5953ed4d0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/test_stride_tricks.py b/venv/lib/python3.8/site-packages/numpy/lib/tests/test_stride_tricks.py new file mode 120000 index 0000000..a4ab4fc --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/tests/test_stride_tricks.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c2/9a/e9/5961f97aad3b0d8eebcc6d160efe5f32d2f1cd1433e9f9ba4d95a549c4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/test_twodim_base.py b/venv/lib/python3.8/site-packages/numpy/lib/tests/test_twodim_base.py new file mode 120000 index 0000000..62b47be --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/tests/test_twodim_base.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cd/b4/d5/0796f3f66d68d45d542ac4ac785e8171f62824f83fea7dc73cdc29fc16 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/test_type_check.py b/venv/lib/python3.8/site-packages/numpy/lib/tests/test_type_check.py new file mode 120000 index 0000000..cd857be --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/tests/test_type_check.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6a/48/cd/3f757b20621dbe803bddcc6bc7a5dd68d45369468a74047e5cf626f6dc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/test_ufunclike.py b/venv/lib/python3.8/site-packages/numpy/lib/tests/test_ufunclike.py new file mode 120000 index 0000000..e4f40c2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/tests/test_ufunclike.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f2/e9/b0/b7bde24ffcc86e4db4331412a0ae4b583e81beff6005491a3d7891344c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/tests/test_utils.py b/venv/lib/python3.8/site-packages/numpy/lib/tests/test_utils.py new file mode 120000 index 0000000..3749807 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/tests/test_utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5c/91/f9/8cac3d56f5f489878864ac26016497281fe4c4c536c460cb7adde2dca7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/twodim_base.py b/venv/lib/python3.8/site-packages/numpy/lib/twodim_base.py new file mode 120000 index 0000000..d4b40cf --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/twodim_base.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fa/40/1c/95279db9a56d87a72c48b078f0e3d8bb7d85a0498bd7a9cb8e360f8e17 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/twodim_base.pyi b/venv/lib/python3.8/site-packages/numpy/lib/twodim_base.pyi new file mode 120000 index 0000000..da69ea8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/twodim_base.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c1/7a/88/aac0e21a0d0739f60991822c5756f8141abf748dfdc8cac57c02a594db \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/type_check.py b/venv/lib/python3.8/site-packages/numpy/lib/type_check.py new file mode 120000 index 0000000..27c3feb --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/type_check.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7c/b5/bf/1d12ea578cf3b0bd101d5809edac54b408212bdd336be070784457db4d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/type_check.pyi b/venv/lib/python3.8/site-packages/numpy/lib/type_check.pyi new file mode 120000 index 0000000..36fd29c --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/type_check.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2c/fb/c0/bc8c54fa9e62fd07be89cee112fa383937d2acda69971306ece0197bc4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/ufunclike.py b/venv/lib/python3.8/site-packages/numpy/lib/ufunclike.py new file mode 120000 index 0000000..1bae7fd --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/ufunclike.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f1/65/4d/a47b6de643a43d80e1be5987aa5f92c20e735747f4f5b2709d524da66d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/ufunclike.pyi b/venv/lib/python3.8/site-packages/numpy/lib/ufunclike.pyi new file mode 120000 index 0000000..b4fff21 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/ufunclike.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/84/bc/5c/61f429ae1d6d4d8fd43b642c700dc777d65dedc5465c820d64b84c16a6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/user_array.py b/venv/lib/python3.8/site-packages/numpy/lib/user_array.py new file mode 120000 index 0000000..7285283 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/user_array.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2c/4f/79/f3ef82324048dabde5d524319821dd092c3a1d8ebe4615829ddbb3180e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/utils.py b/venv/lib/python3.8/site-packages/numpy/lib/utils.py new file mode 120000 index 0000000..555b9c6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6d/28/32/3e6c0eade26bf11fc6b7d6b791a81e68a4570df45abe46d8c46ddcf880 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/lib/utils.pyi b/venv/lib/python3.8/site-packages/numpy/lib/utils.pyi new file mode 120000 index 0000000..b50f2c5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/lib/utils.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0a/83/4d/872eee3602624b090b2553f09d9de7646f5ea1dd6e8e02c73f55db7517 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/linalg/__init__.py b/venv/lib/python3.8/site-packages/numpy/linalg/__init__.py new file mode 120000 index 0000000..99a5a47 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/linalg/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9a/97/65/1175ad4efa45ec89fbefa38d2f0a7a448ca8e14fc62cf4f52f5788267c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/linalg/__init__.pyi b/venv/lib/python3.8/site-packages/numpy/linalg/__init__.pyi new file mode 120000 index 0000000..9c9d97f --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/linalg/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5c/1c/b8/a1cbb2a6c4557e5c3f99b4935214783794687a6bbac3949f795c1b9007 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/linalg/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/linalg/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..226a86f Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/linalg/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/linalg/__pycache__/linalg.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/linalg/__pycache__/linalg.cpython-38.pyc new file mode 100644 index 0000000..5044689 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/linalg/__pycache__/linalg.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/linalg/__pycache__/setup.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/linalg/__pycache__/setup.cpython-38.pyc new file mode 100644 index 0000000..79bb56a Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/linalg/__pycache__/setup.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/linalg/_umath_linalg.cpython-38-x86_64-linux-gnu.so b/venv/lib/python3.8/site-packages/numpy/linalg/_umath_linalg.cpython-38-x86_64-linux-gnu.so new file mode 120000 index 0000000..4bbf950 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/linalg/_umath_linalg.cpython-38-x86_64-linux-gnu.so @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/aa/03/f3/d4347f0b213355cf8154a52ae96ec125e2d3d31ca814a00ce8d812a5a3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/linalg/lapack_lite.cpython-38-x86_64-linux-gnu.so b/venv/lib/python3.8/site-packages/numpy/linalg/lapack_lite.cpython-38-x86_64-linux-gnu.so new file mode 120000 index 0000000..2f7f1ca --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/linalg/lapack_lite.cpython-38-x86_64-linux-gnu.so @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7b/f6/d0/7b68e4170fe1792e5a02d53bb12f02a8933bb49e062442448a250359d9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/linalg/linalg.py b/venv/lib/python3.8/site-packages/numpy/linalg/linalg.py new file mode 120000 index 0000000..b30b9c9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/linalg/linalg.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ec/70/a8/ff698707a421de97722a32051734cf7d9e11cc6f4a7d26f8661e54ee6d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/linalg/linalg.pyi b/venv/lib/python3.8/site-packages/numpy/linalg/linalg.pyi new file mode 120000 index 0000000..d7a4dbd --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/linalg/linalg.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0b/36/09/6ccd85e4ba94b86b48010ddfcedccc7783bd171cf5d2e8e60e06719b89 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/linalg/setup.py b/venv/lib/python3.8/site-packages/numpy/linalg/setup.py new file mode 120000 index 0000000..8e50162 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/linalg/setup.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/15/39/28/ac06e672ebe1f39a53c2c4840304fd8c8d666e4e915c58f0cfe710a670 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/linalg/tests/__init__.py b/venv/lib/python3.8/site-packages/numpy/linalg/tests/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/linalg/tests/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/linalg/tests/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/linalg/tests/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..b2e1369 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/linalg/tests/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/linalg/tests/__pycache__/test_deprecations.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/linalg/tests/__pycache__/test_deprecations.cpython-38.pyc new file mode 100644 index 0000000..e68998b Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/linalg/tests/__pycache__/test_deprecations.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/linalg/tests/__pycache__/test_linalg.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/linalg/tests/__pycache__/test_linalg.cpython-38.pyc new file mode 100644 index 0000000..1abb11c Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/linalg/tests/__pycache__/test_linalg.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/linalg/tests/__pycache__/test_regression.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/linalg/tests/__pycache__/test_regression.cpython-38.pyc new file mode 100644 index 0000000..5f8b702 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/linalg/tests/__pycache__/test_regression.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/linalg/tests/test_deprecations.py b/venv/lib/python3.8/site-packages/numpy/linalg/tests/test_deprecations.py new file mode 120000 index 0000000..f857a7b --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/linalg/tests/test_deprecations.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f6/9f/d2/466b718f6cdcd5da18f487b7772cb92735b2fad090585a1a8dc0095263 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/linalg/tests/test_linalg.py b/venv/lib/python3.8/site-packages/numpy/linalg/tests/test_linalg.py new file mode 120000 index 0000000..6ebc2c1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/linalg/tests/test_linalg.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/50/47/e3/783dd65226d53438a435adc06867bf0ca8e41973ef7b98dd15c2e4fbb1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/linalg/tests/test_regression.py b/venv/lib/python3.8/site-packages/numpy/linalg/tests/test_regression.py new file mode 120000 index 0000000..bfb0851 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/linalg/tests/test_regression.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c1/f2/71/d86f12780a6222d6bcd31376873a2dfb0bd74b0f9317c4d75c8619c321 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/ma/__init__.py b/venv/lib/python3.8/site-packages/numpy/ma/__init__.py new file mode 120000 index 0000000..a434b53 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/ma/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/76/03/f4/59d9cea69876f0577a522aa8c832a17eb72dd07e905aa6c27044ec93a3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/ma/__init__.pyi b/venv/lib/python3.8/site-packages/numpy/ma/__init__.pyi new file mode 120000 index 0000000..c4c02a1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/ma/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f3/d6/d2/dd99d5ed4385c748a81995bbf44fc640e81f049e926b50d6b2f6d1ec14 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/ma/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/ma/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..2eb33bc Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/ma/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/ma/__pycache__/bench.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/ma/__pycache__/bench.cpython-38.pyc new file mode 100644 index 0000000..b2e5bc9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/ma/__pycache__/bench.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/ma/__pycache__/core.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/ma/__pycache__/core.cpython-38.pyc new file mode 100644 index 0000000..37bf4e4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/ma/__pycache__/core.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/ma/__pycache__/extras.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/ma/__pycache__/extras.cpython-38.pyc new file mode 100644 index 0000000..15ed093 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/ma/__pycache__/extras.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/ma/__pycache__/mrecords.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/ma/__pycache__/mrecords.cpython-38.pyc new file mode 100644 index 0000000..afee36d Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/ma/__pycache__/mrecords.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/ma/__pycache__/setup.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/ma/__pycache__/setup.cpython-38.pyc new file mode 100644 index 0000000..1a54dc2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/ma/__pycache__/setup.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/ma/__pycache__/testutils.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/ma/__pycache__/testutils.cpython-38.pyc new file mode 100644 index 0000000..bb1f72a Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/ma/__pycache__/testutils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/ma/__pycache__/timer_comparison.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/ma/__pycache__/timer_comparison.cpython-38.pyc new file mode 100644 index 0000000..b38f950 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/ma/__pycache__/timer_comparison.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/ma/bench.py b/venv/lib/python3.8/site-packages/numpy/ma/bench.py new file mode 120000 index 0000000..facb70b --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/ma/bench.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b5/2b/26/9f97f9f6b3b1e9eed4194de4c8079d3e1246daca7ef0b6477993e56ba8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/ma/core.py b/venv/lib/python3.8/site-packages/numpy/ma/core.py new file mode 120000 index 0000000..f09a1a3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/ma/core.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fa/09/fb/9c901dd822cf4ed4487c77c8ff13b569df6569aadb77038f961c0e2bb0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/ma/core.pyi b/venv/lib/python3.8/site-packages/numpy/ma/core.pyi new file mode 120000 index 0000000..1fd1a5e --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/ma/core.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/62/f1/d6/f214eeaa2a8c6ec6d66c54fca0ddd95056a00c9dfb081e54318c2e3edf \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/ma/extras.py b/venv/lib/python3.8/site-packages/numpy/ma/extras.py new file mode 120000 index 0000000..3595c5d --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/ma/extras.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f8/3b/1e/85eab04a65b3a293455c626fe65749a0ee49fb522bd902745f8efffac6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/ma/extras.pyi b/venv/lib/python3.8/site-packages/numpy/ma/extras.pyi new file mode 120000 index 0000000..7d3e750 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/ma/extras.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/04/1b/22/0996da3e9182639d3a7e49aa65d06424d09772095cdf071206e00008d9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/ma/mrecords.py b/venv/lib/python3.8/site-packages/numpy/ma/mrecords.py new file mode 120000 index 0000000..1fdb675 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/ma/mrecords.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/75/e8/1d/e9d2da0c4bc458d1e6bd29d4657a2cd5cb08cdaaa347f8c0bad9bc25f2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/ma/mrecords.pyi b/venv/lib/python3.8/site-packages/numpy/ma/mrecords.pyi new file mode 120000 index 0000000..46555f7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/ma/mrecords.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/af/56/b6/23aeb6cb09e1192eb3bdf7322bef511d5bdbe2c1f1882c7d0e17f9004e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/ma/setup.py b/venv/lib/python3.8/site-packages/numpy/ma/setup.py new file mode 120000 index 0000000..07074f6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/ma/setup.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/32/a9/8c/89caffc479001a81be4fb349e1875464824b3b8645a7a0261090e5ca1c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/ma/tests/__init__.py b/venv/lib/python3.8/site-packages/numpy/ma/tests/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/ma/tests/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/ma/tests/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/ma/tests/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..31bfd23 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/ma/tests/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/ma/tests/__pycache__/test_core.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/ma/tests/__pycache__/test_core.cpython-38.pyc new file mode 100644 index 0000000..ae75669 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/ma/tests/__pycache__/test_core.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/ma/tests/__pycache__/test_deprecations.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/ma/tests/__pycache__/test_deprecations.cpython-38.pyc new file mode 100644 index 0000000..53ae47b Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/ma/tests/__pycache__/test_deprecations.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/ma/tests/__pycache__/test_extras.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/ma/tests/__pycache__/test_extras.cpython-38.pyc new file mode 100644 index 0000000..a297e4a Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/ma/tests/__pycache__/test_extras.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/ma/tests/__pycache__/test_mrecords.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/ma/tests/__pycache__/test_mrecords.cpython-38.pyc new file mode 100644 index 0000000..5450779 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/ma/tests/__pycache__/test_mrecords.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/ma/tests/__pycache__/test_old_ma.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/ma/tests/__pycache__/test_old_ma.cpython-38.pyc new file mode 100644 index 0000000..af4efe0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/ma/tests/__pycache__/test_old_ma.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/ma/tests/__pycache__/test_regression.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/ma/tests/__pycache__/test_regression.cpython-38.pyc new file mode 100644 index 0000000..3a947d4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/ma/tests/__pycache__/test_regression.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/ma/tests/__pycache__/test_subclassing.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/ma/tests/__pycache__/test_subclassing.cpython-38.pyc new file mode 100644 index 0000000..5374863 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/ma/tests/__pycache__/test_subclassing.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/ma/tests/test_core.py b/venv/lib/python3.8/site-packages/numpy/ma/tests/test_core.py new file mode 120000 index 0000000..eec4ecf --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/ma/tests/test_core.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b8/5e/b6/584e57840903af8c8365fcbe61d7d22164b39c04589d0f5cc7f79fe025 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/ma/tests/test_deprecations.py b/venv/lib/python3.8/site-packages/numpy/ma/tests/test_deprecations.py new file mode 120000 index 0000000..20f4487 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/ma/tests/test_deprecations.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ca/50/59/c7ee6d18d8a6324e31a949744766142f90d7dbded7cd274be3a538c119 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/ma/tests/test_extras.py b/venv/lib/python3.8/site-packages/numpy/ma/tests/test_extras.py new file mode 120000 index 0000000..d34099f --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/ma/tests/test_extras.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a6/37/f4/3d4ca73c1d1cb80541260b754f7268053ea5c43acd89c6e18e5749e347 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/ma/tests/test_mrecords.py b/venv/lib/python3.8/site-packages/numpy/ma/tests/test_mrecords.py new file mode 120000 index 0000000..70650d4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/ma/tests/test_mrecords.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/dc/86/d3/91b6c32611df6e47fea16829013821af09c8280dd732d545b67c76e7bc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/ma/tests/test_old_ma.py b/venv/lib/python3.8/site-packages/numpy/ma/tests/test_old_ma.py new file mode 120000 index 0000000..17a0e7b --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/ma/tests/test_old_ma.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c2/46/4c/e4d9ef909083ae8a504f97586cbd78ab078dbfa7b568ba6d433578c5b6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/ma/tests/test_regression.py b/venv/lib/python3.8/site-packages/numpy/ma/tests/test_regression.py new file mode 120000 index 0000000..d5279e7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/ma/tests/test_regression.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1a/be/69/f754b178a2b78c0dca97b38628e2dd838d274921da3128de56a22ebcc3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/ma/tests/test_subclassing.py b/venv/lib/python3.8/site-packages/numpy/ma/tests/test_subclassing.py new file mode 120000 index 0000000..ee4b1e1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/ma/tests/test_subclassing.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/09/6d/98/a23cee4b6e10bc488f3970ea922e961d881466e2820b1630a641315c39 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/ma/testutils.py b/venv/lib/python3.8/site-packages/numpy/ma/testutils.py new file mode 120000 index 0000000..6fd6c28 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/ma/testutils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/28/e0/fd/c847baad44d9fe7303719c97a6104fd6fa5f575bf3bdb988855689aec8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/ma/timer_comparison.py b/venv/lib/python3.8/site-packages/numpy/ma/timer_comparison.py new file mode 120000 index 0000000..a12fb55 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/ma/timer_comparison.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a4/81/92/646faa6186254564938333e5c8200835b18a857ad9ac364106388cd3cd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/matlib.py b/venv/lib/python3.8/site-packages/numpy/matlib.py new file mode 120000 index 0000000..0a675e0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/matlib.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d2/d6/23/788ddd2cbd3ece9b9abee89791d9dec1f9e143fdcfc6ccfe088d6197df \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/matrixlib/__init__.py b/venv/lib/python3.8/site-packages/numpy/matrixlib/__init__.py new file mode 120000 index 0000000..63e2231 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/matrixlib/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2f/81/83/2ffdd9f137feb3cbf986015b9c2cc230d4b3be7672744368499064588e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/matrixlib/__init__.pyi b/venv/lib/python3.8/site-packages/numpy/matrixlib/__init__.pyi new file mode 120000 index 0000000..b3a3398 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/matrixlib/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fa/dd/d9/baf6f346e47059f64e78de3194d59d9bb810129ae152c5b3bbc311bd41 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/matrixlib/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/matrixlib/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..1822782 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/matrixlib/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/matrixlib/__pycache__/defmatrix.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/matrixlib/__pycache__/defmatrix.cpython-38.pyc new file mode 100644 index 0000000..be9c0d1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/matrixlib/__pycache__/defmatrix.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/matrixlib/__pycache__/setup.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/matrixlib/__pycache__/setup.cpython-38.pyc new file mode 100644 index 0000000..3422d96 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/matrixlib/__pycache__/setup.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/matrixlib/defmatrix.py b/venv/lib/python3.8/site-packages/numpy/matrixlib/defmatrix.py new file mode 120000 index 0000000..f5ce849 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/matrixlib/defmatrix.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2b/d7/9c/4938d50044df82908b3c400b2a7e42bd3f90ca70c3150bcc9ffde09afd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/matrixlib/defmatrix.pyi b/venv/lib/python3.8/site-packages/numpy/matrixlib/defmatrix.pyi new file mode 120000 index 0000000..dfe3775 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/matrixlib/defmatrix.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/96/60/4c/45a84a70c3a5d8f1c3a3bf49ebb5510193a4239e01cdf0da4cba44d0b2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/matrixlib/setup.py b/venv/lib/python3.8/site-packages/numpy/matrixlib/setup.py new file mode 120000 index 0000000..2ab0a8c --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/matrixlib/setup.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d6/be/c9/46448ce07c95a2b82d8e82891962dc39c3cedf09af8afa5e12c56d0048 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/matrixlib/tests/__init__.py b/venv/lib/python3.8/site-packages/numpy/matrixlib/tests/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/matrixlib/tests/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/matrixlib/tests/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/matrixlib/tests/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..5a7fc02 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/matrixlib/tests/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/matrixlib/tests/__pycache__/test_defmatrix.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/matrixlib/tests/__pycache__/test_defmatrix.cpython-38.pyc new file mode 100644 index 0000000..b09d207 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/matrixlib/tests/__pycache__/test_defmatrix.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/matrixlib/tests/__pycache__/test_interaction.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/matrixlib/tests/__pycache__/test_interaction.cpython-38.pyc new file mode 100644 index 0000000..91fed0e Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/matrixlib/tests/__pycache__/test_interaction.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/matrixlib/tests/__pycache__/test_masked_matrix.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/matrixlib/tests/__pycache__/test_masked_matrix.cpython-38.pyc new file mode 100644 index 0000000..9b7ed69 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/matrixlib/tests/__pycache__/test_masked_matrix.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/matrixlib/tests/__pycache__/test_matrix_linalg.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/matrixlib/tests/__pycache__/test_matrix_linalg.cpython-38.pyc new file mode 100644 index 0000000..ff703a5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/matrixlib/tests/__pycache__/test_matrix_linalg.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/matrixlib/tests/__pycache__/test_multiarray.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/matrixlib/tests/__pycache__/test_multiarray.cpython-38.pyc new file mode 100644 index 0000000..e3d41a1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/matrixlib/tests/__pycache__/test_multiarray.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/matrixlib/tests/__pycache__/test_numeric.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/matrixlib/tests/__pycache__/test_numeric.cpython-38.pyc new file mode 100644 index 0000000..e605f6a Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/matrixlib/tests/__pycache__/test_numeric.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/matrixlib/tests/__pycache__/test_regression.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/matrixlib/tests/__pycache__/test_regression.cpython-38.pyc new file mode 100644 index 0000000..369a4e7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/matrixlib/tests/__pycache__/test_regression.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/matrixlib/tests/test_defmatrix.py b/venv/lib/python3.8/site-packages/numpy/matrixlib/tests/test_defmatrix.py new file mode 120000 index 0000000..279c08f --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/matrixlib/tests/test_defmatrix.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f0/4f/fe/cbb543dafb2ad72f02708f249b7ee9a79a9c02d91c88ed7ac6a7f6508b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/matrixlib/tests/test_interaction.py b/venv/lib/python3.8/site-packages/numpy/matrixlib/tests/test_interaction.py new file mode 120000 index 0000000..f5d12f2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/matrixlib/tests/test_interaction.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3e/98/e6/82310a8a08435efb77f2569b284e8bedfda33fbe14126a772516ff88e6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/matrixlib/tests/test_masked_matrix.py b/venv/lib/python3.8/site-packages/numpy/matrixlib/tests/test_masked_matrix.py new file mode 120000 index 0000000..f253a7c --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/matrixlib/tests/test_masked_matrix.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/47/22/f9/0df2c9a0d51ef998109dd32fa4ff09a7f5ca96b7b28568d1d6c7d4fbd0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/matrixlib/tests/test_matrix_linalg.py b/venv/lib/python3.8/site-packages/numpy/matrixlib/tests/test_matrix_linalg.py new file mode 120000 index 0000000..58d4d0e --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/matrixlib/tests/test_matrix_linalg.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/39/b6/d2/517538476a566a31ffff101d8b3003ad4da404a0c30b190357ea150577 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/matrixlib/tests/test_multiarray.py b/venv/lib/python3.8/site-packages/numpy/matrixlib/tests/test_multiarray.py new file mode 120000 index 0000000..bd0e61d --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/matrixlib/tests/test_multiarray.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8c/1d/d7/081980b5ca9ff966fd3f0056eae23290fa4c3ed86e5cb2748224cacd91 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/matrixlib/tests/test_numeric.py b/venv/lib/python3.8/site-packages/numpy/matrixlib/tests/test_numeric.py new file mode 120000 index 0000000..1b0a404 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/matrixlib/tests/test_numeric.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/30/fe/f4/a94c20b214ed4e12996990e9effe94f99eba34857581e5616ac1977a34 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/matrixlib/tests/test_regression.py b/venv/lib/python3.8/site-packages/numpy/matrixlib/tests/test_regression.py new file mode 120000 index 0000000..2d4cb9a --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/matrixlib/tests/test_regression.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f2/c1/c3/b4ef198bca776b57902845b1b4298aad7987a03deac65228920d802005 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/polynomial/__init__.py b/venv/lib/python3.8/site-packages/numpy/polynomial/__init__.py new file mode 120000 index 0000000..294186b --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/polynomial/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f2/3a/cf/2a7898adbac4e7d9e62c16c7d962f134b78c919faf42e2dadc7bbd0298 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/polynomial/__init__.pyi b/venv/lib/python3.8/site-packages/numpy/polynomial/__init__.pyi new file mode 120000 index 0000000..9cb3a67 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/polynomial/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5b/cb/33/62d554cb44548bcde39852cae7c04df022954a81c0d825bb21c7549757 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/polynomial/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/polynomial/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..79a416d Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/polynomial/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/polynomial/__pycache__/_polybase.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/polynomial/__pycache__/_polybase.cpython-38.pyc new file mode 100644 index 0000000..63843e5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/polynomial/__pycache__/_polybase.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/polynomial/__pycache__/chebyshev.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/polynomial/__pycache__/chebyshev.cpython-38.pyc new file mode 100644 index 0000000..fda4422 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/polynomial/__pycache__/chebyshev.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/polynomial/__pycache__/hermite.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/polynomial/__pycache__/hermite.cpython-38.pyc new file mode 100644 index 0000000..10285c2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/polynomial/__pycache__/hermite.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/polynomial/__pycache__/hermite_e.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/polynomial/__pycache__/hermite_e.cpython-38.pyc new file mode 100644 index 0000000..e0fc3aa Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/polynomial/__pycache__/hermite_e.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/polynomial/__pycache__/laguerre.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/polynomial/__pycache__/laguerre.cpython-38.pyc new file mode 100644 index 0000000..8d17c64 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/polynomial/__pycache__/laguerre.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/polynomial/__pycache__/legendre.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/polynomial/__pycache__/legendre.cpython-38.pyc new file mode 100644 index 0000000..be5be64 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/polynomial/__pycache__/legendre.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/polynomial/__pycache__/polynomial.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/polynomial/__pycache__/polynomial.cpython-38.pyc new file mode 100644 index 0000000..7155c35 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/polynomial/__pycache__/polynomial.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/polynomial/__pycache__/polyutils.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/polynomial/__pycache__/polyutils.cpython-38.pyc new file mode 100644 index 0000000..7aa7f64 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/polynomial/__pycache__/polyutils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/polynomial/__pycache__/setup.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/polynomial/__pycache__/setup.cpython-38.pyc new file mode 100644 index 0000000..98e9e1b Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/polynomial/__pycache__/setup.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/polynomial/_polybase.py b/venv/lib/python3.8/site-packages/numpy/polynomial/_polybase.py new file mode 120000 index 0000000..b66d457 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/polynomial/_polybase.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9f/fe/61/196766d0cfbce3c14e738366e595c84ebc6044b12871c7c9c6a6d94f55 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/polynomial/_polybase.pyi b/venv/lib/python3.8/site-packages/numpy/polynomial/_polybase.pyi new file mode 120000 index 0000000..42c26e8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/polynomial/_polybase.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/47/f8/69/b156ffb67ceb4b0b67a77bfa6579c9a14e6b993a7e0c43cf34cf09df9d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/polynomial/chebyshev.py b/venv/lib/python3.8/site-packages/numpy/polynomial/chebyshev.py new file mode 120000 index 0000000..5db4d67 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/polynomial/chebyshev.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fe/a6/ed/974f717412b465335468e527658f9fe63e4f22624473c87c78a0cdfa39 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/polynomial/chebyshev.pyi b/venv/lib/python3.8/site-packages/numpy/polynomial/chebyshev.pyi new file mode 120000 index 0000000..91a36ec --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/polynomial/chebyshev.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d3/7e/42/35d39ab387676fa9452f346206b613fd59d68764f5f80de26e6fc76242 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/polynomial/hermite.py b/venv/lib/python3.8/site-packages/numpy/polynomial/hermite.py new file mode 120000 index 0000000..c5c292c --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/polynomial/hermite.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/11/66/f5/15afb41e5f2a235f1b929945397a3247b694dff7ad423b02ea0d558a46 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/polynomial/hermite.pyi b/venv/lib/python3.8/site-packages/numpy/polynomial/hermite.pyi new file mode 120000 index 0000000..6f319f2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/polynomial/hermite.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/85/db/2f/4d42e8c3c6c88e7013b9d7f48ba6eba4b1d5eef6cea07cda32f6e3332d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/polynomial/hermite_e.py b/venv/lib/python3.8/site-packages/numpy/polynomial/hermite_e.py new file mode 120000 index 0000000..c39a337 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/polynomial/hermite_e.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f6/04/a7/80d15baf7537f6550453c971c1f2ccc62e4ae44edceb86f64a3cfcacb6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/polynomial/hermite_e.pyi b/venv/lib/python3.8/site-packages/numpy/polynomial/hermite_e.pyi new file mode 120000 index 0000000..3d5ca32 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/polynomial/hermite_e.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cd/5e/e6/b1bf6ff6b5748affeb9c3dd28cff931b273aa5dde6682aa23c28f73db0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/polynomial/laguerre.py b/venv/lib/python3.8/site-packages/numpy/polynomial/laguerre.py new file mode 120000 index 0000000..61835e7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/polynomial/laguerre.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/00/2c/62/0ebf92958f85fa25299d340237b25a055b7c143041ad63c8c6e366f0ee \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/polynomial/laguerre.pyi b/venv/lib/python3.8/site-packages/numpy/polynomial/laguerre.pyi new file mode 120000 index 0000000..939d2ab --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/polynomial/laguerre.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1b/17/3d/48b21234a316aca76c549f5f285145c1fc716737c5f9873edabfffcf93 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/polynomial/legendre.py b/venv/lib/python3.8/site-packages/numpy/polynomial/legendre.py new file mode 120000 index 0000000..505af9d --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/polynomial/legendre.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3f/2a/7c/c5a7eb20b134a99c521e740ba390bac41e333475918a41c470bb32534d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/polynomial/legendre.pyi b/venv/lib/python3.8/site-packages/numpy/polynomial/legendre.pyi new file mode 120000 index 0000000..c22dcc8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/polynomial/legendre.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f5/d9/80/3709317fb11b3875775d004fa1a0ed739e9c0a47fbe56a3b146f597e3e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/polynomial/polynomial.py b/venv/lib/python3.8/site-packages/numpy/polynomial/polynomial.py new file mode 120000 index 0000000..0d7590d --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/polynomial/polynomial.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/97/c0/a7/9637034ea5ba2443adcefcdf5e106f30ad257bb808dd246d9c3392f8eb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/polynomial/polynomial.pyi b/venv/lib/python3.8/site-packages/numpy/polynomial/polynomial.pyi new file mode 120000 index 0000000..083fe0c --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/polynomial/polynomial.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6c/e3/d1/9ee6f8c57c6c5303467a240b4d3e0f09f375cac4ab7fa2c16487003766 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/polynomial/polyutils.py b/venv/lib/python3.8/site-packages/numpy/polynomial/polyutils.py new file mode 120000 index 0000000..f7b7948 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/polynomial/polyutils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c7/21/cb/fd7e72c6e9bccf5c023771c0e49e3c58c829c66d33990e5baa0fe2abcd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/polynomial/polyutils.pyi b/venv/lib/python3.8/site-packages/numpy/polynomial/polyutils.pyi new file mode 120000 index 0000000..15ec11c --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/polynomial/polyutils.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/15/03/d8/6b22f4a29c5cb107ce39cc42b5bed383a4caaf7cad6179f19904f77df3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/polynomial/setup.py b/venv/lib/python3.8/site-packages/numpy/polynomial/setup.py new file mode 120000 index 0000000..242c4a7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/polynomial/setup.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/75/74/1f/cd550c3fd39c07a88abf9ca8d462c4c05077809e3ca61220a3837e78cd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/polynomial/tests/__init__.py b/venv/lib/python3.8/site-packages/numpy/polynomial/tests/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/polynomial/tests/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/polynomial/tests/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/polynomial/tests/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..094e8b7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/polynomial/tests/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/polynomial/tests/__pycache__/test_chebyshev.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/polynomial/tests/__pycache__/test_chebyshev.cpython-38.pyc new file mode 100644 index 0000000..45bcd9b Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/polynomial/tests/__pycache__/test_chebyshev.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/polynomial/tests/__pycache__/test_classes.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/polynomial/tests/__pycache__/test_classes.cpython-38.pyc new file mode 100644 index 0000000..88f1918 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/polynomial/tests/__pycache__/test_classes.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/polynomial/tests/__pycache__/test_hermite.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/polynomial/tests/__pycache__/test_hermite.cpython-38.pyc new file mode 100644 index 0000000..cea8a81 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/polynomial/tests/__pycache__/test_hermite.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/polynomial/tests/__pycache__/test_hermite_e.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/polynomial/tests/__pycache__/test_hermite_e.cpython-38.pyc new file mode 100644 index 0000000..714b5bb Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/polynomial/tests/__pycache__/test_hermite_e.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/polynomial/tests/__pycache__/test_laguerre.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/polynomial/tests/__pycache__/test_laguerre.cpython-38.pyc new file mode 100644 index 0000000..a006252 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/polynomial/tests/__pycache__/test_laguerre.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/polynomial/tests/__pycache__/test_legendre.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/polynomial/tests/__pycache__/test_legendre.cpython-38.pyc new file mode 100644 index 0000000..f6e54f7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/polynomial/tests/__pycache__/test_legendre.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/polynomial/tests/__pycache__/test_polynomial.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/polynomial/tests/__pycache__/test_polynomial.cpython-38.pyc new file mode 100644 index 0000000..4361081 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/polynomial/tests/__pycache__/test_polynomial.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/polynomial/tests/__pycache__/test_polyutils.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/polynomial/tests/__pycache__/test_polyutils.cpython-38.pyc new file mode 100644 index 0000000..7dc9c6c Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/polynomial/tests/__pycache__/test_polyutils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/polynomial/tests/__pycache__/test_printing.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/polynomial/tests/__pycache__/test_printing.cpython-38.pyc new file mode 100644 index 0000000..2744563 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/polynomial/tests/__pycache__/test_printing.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/polynomial/tests/test_chebyshev.py b/venv/lib/python3.8/site-packages/numpy/polynomial/tests/test_chebyshev.py new file mode 120000 index 0000000..9209f2b --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/polynomial/tests/test_chebyshev.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ea/d3/2c/14fd61ecaf197fbda634eb5ae93bf9dbf7d54e55e49ec7ae7df8f4f347 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/polynomial/tests/test_classes.py b/venv/lib/python3.8/site-packages/numpy/polynomial/tests/test_classes.py new file mode 120000 index 0000000..92a0300 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/polynomial/tests/test_classes.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0c/5c/98/d884018f7af619992f6d121e64ed84118e3aeb16eec1ce0f4a1025e12c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/polynomial/tests/test_hermite.py b/venv/lib/python3.8/site-packages/numpy/polynomial/tests/test_hermite.py new file mode 120000 index 0000000..7936d1d --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/polynomial/tests/test_hermite.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/37/d6/f6/771d9458fca36b9bf4d9d4a85983e72af6fa1fe3b382daf1fb18d6cf69 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/polynomial/tests/test_hermite_e.py b/venv/lib/python3.8/site-packages/numpy/polynomial/tests/test_hermite_e.py new file mode 120000 index 0000000..9bb1922 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/polynomial/tests/test_hermite_e.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fc/0d/e8/840592e075eb406d3a4bc2f8edd226759193c18a2c0979e8cb0ecbe39a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/polynomial/tests/test_laguerre.py b/venv/lib/python3.8/site-packages/numpy/polynomial/tests/test_laguerre.py new file mode 120000 index 0000000..6957eac --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/polynomial/tests/test_laguerre.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/05/93/a0/b38f5505738505ea47a29c6e10390844e1c4bc505f59ee17ef7519867f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/polynomial/tests/test_legendre.py b/venv/lib/python3.8/site-packages/numpy/polynomial/tests/test_legendre.py new file mode 120000 index 0000000..536f838 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/polynomial/tests/test_legendre.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6f/f6/db/947b3417f056c3d112b92ab9d99b0b29c40a151e5ea8f7ff4a9a5616aa \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/polynomial/tests/test_polynomial.py b/venv/lib/python3.8/site-packages/numpy/polynomial/tests/test_polynomial.py new file mode 120000 index 0000000..0890d51 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/polynomial/tests/test_polynomial.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3a/3a/11/a1c8e13df11dd6d396e89e4bc146a7dd27564cbc331ceccb53dba6708f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/polynomial/tests/test_polyutils.py b/venv/lib/python3.8/site-packages/numpy/polynomial/tests/test_polyutils.py new file mode 120000 index 0000000..33501dd --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/polynomial/tests/test_polyutils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/23/19/1b/55fa5c06a7b994e665b871543db2c04cbbb5af0560ee084b012a5f62b6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/polynomial/tests/test_printing.py b/venv/lib/python3.8/site-packages/numpy/polynomial/tests/test_printing.py new file mode 120000 index 0000000..0801743 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/polynomial/tests/test_printing.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4f/17/b8/01cfcfe70d3b6af2ffd96afb9e217b53cc8f06a48b26480ca466b755ad \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/py.typed b/venv/lib/python3.8/site-packages/numpy/py.typed new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/py.typed @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/__init__.pxd b/venv/lib/python3.8/site-packages/numpy/random/__init__.pxd new file mode 120000 index 0000000..eb0274d --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/__init__.pxd @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f4/96/e7/5f9e34689352a2d846b3eededb7a33862946e94f2d20d394129d3c33f9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/__init__.py b/venv/lib/python3.8/site-packages/numpy/random/__init__.py new file mode 120000 index 0000000..5076bed --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f3/54/e1/9dec60e6e98de566700f94d1cb335cd98a7e775e01e940bb3418152a1f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/__init__.pyi b/venv/lib/python3.8/site-packages/numpy/random/__init__.pyi new file mode 120000 index 0000000..9c51af9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/dc/68/af/f16d842dfbbc9fe07b6a23187577a02c856b4bdbaef87a73a4bab2336b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/random/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..1edb8fe Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/random/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/random/__pycache__/_pickle.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/random/__pycache__/_pickle.cpython-38.pyc new file mode 100644 index 0000000..dffe203 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/random/__pycache__/_pickle.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/random/__pycache__/setup.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/random/__pycache__/setup.cpython-38.pyc new file mode 100644 index 0000000..29bd7b0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/random/__pycache__/setup.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/random/_bounded_integers.cpython-38-x86_64-linux-gnu.so b/venv/lib/python3.8/site-packages/numpy/random/_bounded_integers.cpython-38-x86_64-linux-gnu.so new file mode 120000 index 0000000..ea54641 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/_bounded_integers.cpython-38-x86_64-linux-gnu.so @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/04/14/6d/52a6c8c7771954229592ec1d0d177986b9973ffbc01665dd2acfad9667 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/_bounded_integers.pxd b/venv/lib/python3.8/site-packages/numpy/random/_bounded_integers.pxd new file mode 120000 index 0000000..1115274 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/_bounded_integers.pxd @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/85/ca/2e/70f1f98641443369e6d76cd83bee4efd1b7c46e8c45d3e585ae0339754 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/_common.cpython-38-x86_64-linux-gnu.so b/venv/lib/python3.8/site-packages/numpy/random/_common.cpython-38-x86_64-linux-gnu.so new file mode 120000 index 0000000..c8bddfb --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/_common.cpython-38-x86_64-linux-gnu.so @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7b/5b/88/17b750290ca84328fa7e66f17f6ecbfd35f0d54302285273a35f850833 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/_common.pxd b/venv/lib/python3.8/site-packages/numpy/random/_common.pxd new file mode 120000 index 0000000..d44e7cf --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/_common.pxd @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c9/bf/51/b48eaed67c981a722ed4ac17e21fc0d291300371c4c5529d589e9e314d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/_examples/cffi/__pycache__/extending.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/random/_examples/cffi/__pycache__/extending.cpython-38.pyc new file mode 100644 index 0000000..30aede5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/random/_examples/cffi/__pycache__/extending.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/random/_examples/cffi/__pycache__/parse.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/random/_examples/cffi/__pycache__/parse.cpython-38.pyc new file mode 100644 index 0000000..e3b8738 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/random/_examples/cffi/__pycache__/parse.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/random/_examples/cffi/extending.py b/venv/lib/python3.8/site-packages/numpy/random/_examples/cffi/extending.py new file mode 120000 index 0000000..dedf5ca --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/_examples/cffi/extending.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c5/29/5a/df35aac62e878f8f04be761f0f75877c4d7cf55bc2e17b0abb8fd3fc8c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/_examples/cffi/parse.py b/venv/lib/python3.8/site-packages/numpy/random/_examples/cffi/parse.py new file mode 120000 index 0000000..46ad99c --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/_examples/cffi/parse.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a3/8d/5a/c3ba41fe703c45f2c352568fd033433bf6c3a3ffc1d17339a462f1b58d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/_examples/cython/__pycache__/setup.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/random/_examples/cython/__pycache__/setup.cpython-38.pyc new file mode 100644 index 0000000..a2b2d0d Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/random/_examples/cython/__pycache__/setup.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/random/_examples/cython/extending.pyx b/venv/lib/python3.8/site-packages/numpy/random/_examples/cython/extending.pyx new file mode 120000 index 0000000..32b9d10 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/_examples/cython/extending.pyx @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e0/81/3a/f76a6ad55e775213d9a9089019c2075c3a0dcaa4f1eb6c796b7ea9b958 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/_examples/cython/extending_distributions.pyx b/venv/lib/python3.8/site-packages/numpy/random/_examples/cython/extending_distributions.pyx new file mode 120000 index 0000000..c29bb9d --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/_examples/cython/extending_distributions.pyx @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a1/ac/c5/55679e99f134783cdac7bafb30c1cd2f5fd8a1fc2cda6f9cfca4f61dba \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/_examples/cython/setup.py b/venv/lib/python3.8/site-packages/numpy/random/_examples/cython/setup.py new file mode 120000 index 0000000..815f429 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/_examples/cython/setup.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/14/f0/27/7f79c2f01416aca67a7cd85e29b7312daa6a77d2d6eeb0bdf79a71f48f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/_examples/numba/__pycache__/extending.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/random/_examples/numba/__pycache__/extending.cpython-38.pyc new file mode 100644 index 0000000..df166d2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/random/_examples/numba/__pycache__/extending.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/random/_examples/numba/__pycache__/extending_distributions.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/random/_examples/numba/__pycache__/extending_distributions.cpython-38.pyc new file mode 100644 index 0000000..50149e9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/random/_examples/numba/__pycache__/extending_distributions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/random/_examples/numba/extending.py b/venv/lib/python3.8/site-packages/numpy/random/_examples/numba/extending.py new file mode 120000 index 0000000..76e92cc --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/_examples/numba/extending.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/22/9c/b3/7a5fe1e6253f0cc27fbe75d48100b7f2e303327eda754a5649e1102c51 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/_examples/numba/extending_distributions.py b/venv/lib/python3.8/site-packages/numpy/random/_examples/numba/extending_distributions.py new file mode 120000 index 0000000..02b63d5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/_examples/numba/extending_distributions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/26/7a/fd/696907c885b280d6dd69edf61955112bee53f414c686e131469bef7bdf \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/_generator.cpython-38-x86_64-linux-gnu.so b/venv/lib/python3.8/site-packages/numpy/random/_generator.cpython-38-x86_64-linux-gnu.so new file mode 120000 index 0000000..112cdce --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/_generator.cpython-38-x86_64-linux-gnu.so @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2e/6f/90/ad4ed21c47353516a0acfd86b0508e32e5e570152f68242ef38d29e325 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/_generator.pyi b/venv/lib/python3.8/site-packages/numpy/random/_generator.pyi new file mode 120000 index 0000000..1e15df8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/_generator.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/59/6a/c5/e2836250f6a59f33de8833b5ae45ac9ba880aa2713bd00bee7da493658 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/_mt19937.cpython-38-x86_64-linux-gnu.so b/venv/lib/python3.8/site-packages/numpy/random/_mt19937.cpython-38-x86_64-linux-gnu.so new file mode 120000 index 0000000..a975942 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/_mt19937.cpython-38-x86_64-linux-gnu.so @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/64/bc/07/f3f6b23f8b38c44e4311a256fa0a9dfbac342c468b14fef13aecaa03aa \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/_mt19937.pyi b/venv/lib/python3.8/site-packages/numpy/random/_mt19937.pyi new file mode 120000 index 0000000..6b49993 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/_mt19937.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fe/26/4a/6809ae2814388ad4a081f42f6188ff2a392d70de2bb7e62913a6ea1403 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/_pcg64.cpython-38-x86_64-linux-gnu.so b/venv/lib/python3.8/site-packages/numpy/random/_pcg64.cpython-38-x86_64-linux-gnu.so new file mode 120000 index 0000000..476dee8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/_pcg64.cpython-38-x86_64-linux-gnu.so @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/55/c7/c3/3e8076461a1dd52127da31c91cc740b52bfc3ff1d189efad26be3dbabc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/_pcg64.pyi b/venv/lib/python3.8/site-packages/numpy/random/_pcg64.pyi new file mode 120000 index 0000000..d21b649 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/_pcg64.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bb/1a/f9/09b1097ad37a96ff6f046db58e5461bb338af124275ebc2a0100718ff7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/_philox.cpython-38-x86_64-linux-gnu.so b/venv/lib/python3.8/site-packages/numpy/random/_philox.cpython-38-x86_64-linux-gnu.so new file mode 120000 index 0000000..80bab00 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/_philox.cpython-38-x86_64-linux-gnu.so @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/af/42/d0/5e5b1396424fc7d48d114c735b2a3fbdc98b0df78ee9e8ad84fcc0f4b4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/_philox.pyi b/venv/lib/python3.8/site-packages/numpy/random/_philox.pyi new file mode 120000 index 0000000..5041d84 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/_philox.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/38/a9/5a/88853e863ef6069d38ce33627f0bac383ff7fa663121fbf2bb2b3c73fa \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/_pickle.py b/venv/lib/python3.8/site-packages/numpy/random/_pickle.py new file mode 120000 index 0000000..94a019e --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/_pickle.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6c/d4/1e/2e39f3beedfe02a2a279de36a2b1b8161ef93a2d43b87db7b10cf99851 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/_sfc64.cpython-38-x86_64-linux-gnu.so b/venv/lib/python3.8/site-packages/numpy/random/_sfc64.cpython-38-x86_64-linux-gnu.so new file mode 120000 index 0000000..bbff276 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/_sfc64.cpython-38-x86_64-linux-gnu.so @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5b/de/00/e191da38b9bdcc54475d62d9d41f95a2beb3fa1a5beade7a401613f16e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/_sfc64.pyi b/venv/lib/python3.8/site-packages/numpy/random/_sfc64.pyi new file mode 120000 index 0000000..e0a28cc --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/_sfc64.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d3/d6/9f/1d379d556fb9d7de3ddd95ed19c97e1feff396e8fe07fc9f1091bc30cb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/bit_generator.cpython-38-x86_64-linux-gnu.so b/venv/lib/python3.8/site-packages/numpy/random/bit_generator.cpython-38-x86_64-linux-gnu.so new file mode 120000 index 0000000..fae23d8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/bit_generator.cpython-38-x86_64-linux-gnu.so @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/97/b5/65/61fd0fad08498ca73b65a117e7abd36a6978cf697641eb070e6029cc61 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/bit_generator.pxd b/venv/lib/python3.8/site-packages/numpy/random/bit_generator.pxd new file mode 120000 index 0000000..7e01276 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/bit_generator.pxd @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/94/0a/e9/2174a04f056724c61ce175f4346c5e817ab787f42c5032baa9e64a6cd7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/bit_generator.pyi b/venv/lib/python3.8/site-packages/numpy/random/bit_generator.pyi new file mode 120000 index 0000000..2df1925 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/bit_generator.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/70/66/54/d47d2102cccc0733f8061be67d60865c79573a9e4ac7f2a86abeabd03c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/c_distributions.pxd b/venv/lib/python3.8/site-packages/numpy/random/c_distributions.pxd new file mode 120000 index 0000000..fab6b2f --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/c_distributions.pxd @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/16/b1/8c/af1597183f2d7381d45a7ccba73514f1ca1d351f9a9579358632008e62 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/lib/libnpyrandom.a b/venv/lib/python3.8/site-packages/numpy/random/lib/libnpyrandom.a new file mode 120000 index 0000000..f76b7a2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/lib/libnpyrandom.a @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fb/cd/6c/3d8e12629af219d026d0e069170ec9c6518374246f6166b7aac9d2e4f4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/mtrand.cpython-38-x86_64-linux-gnu.so b/venv/lib/python3.8/site-packages/numpy/random/mtrand.cpython-38-x86_64-linux-gnu.so new file mode 120000 index 0000000..4eb63c1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/mtrand.cpython-38-x86_64-linux-gnu.so @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/32/5b/6a/e6b1de6ca43121c504e312800f7955d12d8419d42afd5fbb155e94e33d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/mtrand.pyi b/venv/lib/python3.8/site-packages/numpy/random/mtrand.pyi new file mode 120000 index 0000000..577faa9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/mtrand.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/53/1c/62/821ba577213c2f6dcba09b3b1756f87d48f2c46e688fb874cfee4b0c85 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/setup.py b/venv/lib/python3.8/site-packages/numpy/random/setup.py new file mode 120000 index 0000000..9b22a60 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/setup.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/09/c9/3d/d9c49c3717a069fb96accfb7855d19452602c618be8eb6f1ded47fc0d4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/tests/__init__.py b/venv/lib/python3.8/site-packages/numpy/random/tests/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/tests/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/tests/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/random/tests/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..b5574c2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/random/tests/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/random/tests/__pycache__/test_direct.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/random/tests/__pycache__/test_direct.cpython-38.pyc new file mode 100644 index 0000000..d9e3fca Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/random/tests/__pycache__/test_direct.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/random/tests/__pycache__/test_extending.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/random/tests/__pycache__/test_extending.cpython-38.pyc new file mode 100644 index 0000000..be9e7ac Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/random/tests/__pycache__/test_extending.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/random/tests/__pycache__/test_generator_mt19937.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/random/tests/__pycache__/test_generator_mt19937.cpython-38.pyc new file mode 100644 index 0000000..7824482 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/random/tests/__pycache__/test_generator_mt19937.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/random/tests/__pycache__/test_generator_mt19937_regressions.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/random/tests/__pycache__/test_generator_mt19937_regressions.cpython-38.pyc new file mode 100644 index 0000000..6f8cd40 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/random/tests/__pycache__/test_generator_mt19937_regressions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/random/tests/__pycache__/test_random.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/random/tests/__pycache__/test_random.cpython-38.pyc new file mode 100644 index 0000000..8094cdb Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/random/tests/__pycache__/test_random.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/random/tests/__pycache__/test_randomstate.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/random/tests/__pycache__/test_randomstate.cpython-38.pyc new file mode 100644 index 0000000..d55d1fc Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/random/tests/__pycache__/test_randomstate.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/random/tests/__pycache__/test_randomstate_regression.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/random/tests/__pycache__/test_randomstate_regression.cpython-38.pyc new file mode 100644 index 0000000..3b34d25 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/random/tests/__pycache__/test_randomstate_regression.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/random/tests/__pycache__/test_regression.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/random/tests/__pycache__/test_regression.cpython-38.pyc new file mode 100644 index 0000000..aeb089f Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/random/tests/__pycache__/test_regression.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/random/tests/__pycache__/test_seed_sequence.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/random/tests/__pycache__/test_seed_sequence.cpython-38.pyc new file mode 100644 index 0000000..9472afd Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/random/tests/__pycache__/test_seed_sequence.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/random/tests/__pycache__/test_smoke.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/random/tests/__pycache__/test_smoke.cpython-38.pyc new file mode 100644 index 0000000..fcefe36 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/random/tests/__pycache__/test_smoke.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/random/tests/data/__init__.py b/venv/lib/python3.8/site-packages/numpy/random/tests/data/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/tests/data/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/tests/data/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/random/tests/data/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..4208a97 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/random/tests/data/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/random/tests/data/mt19937-testset-1.csv b/venv/lib/python3.8/site-packages/numpy/random/tests/data/mt19937-testset-1.csv new file mode 120000 index 0000000..2b2e5e8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/tests/data/mt19937-testset-1.csv @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5e/47/9f/e34d80541f9e660610915b68c444479317df080f49cadfe831bb491b06 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/tests/data/mt19937-testset-2.csv b/venv/lib/python3.8/site-packages/numpy/random/tests/data/mt19937-testset-2.csv new file mode 120000 index 0000000..b7aca0a --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/tests/data/mt19937-testset-2.csv @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9e/c0/44/40d9df7fe6858c760ae2d863bd42b8c525c349fbf96936dc139f693a41 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/tests/data/pcg64-testset-1.csv b/venv/lib/python3.8/site-packages/numpy/random/tests/data/pcg64-testset-1.csv new file mode 120000 index 0000000..e60b5f9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/tests/data/pcg64-testset-1.csv @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c4/1d/34/0e99271944d30b10ebf4be9a368f47b3eb1fcc431b5124b8b75d534df1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/tests/data/pcg64-testset-2.csv b/venv/lib/python3.8/site-packages/numpy/random/tests/data/pcg64-testset-2.csv new file mode 120000 index 0000000..494cbe5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/tests/data/pcg64-testset-2.csv @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/35/37/73/4cabc6d94eff5b253f228414b4ccd4de412f0c7dfd0a09d1e95ce14e4c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/tests/data/pcg64dxsm-testset-1.csv b/venv/lib/python3.8/site-packages/numpy/random/tests/data/pcg64dxsm-testset-1.csv new file mode 120000 index 0000000..4a439ff --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/tests/data/pcg64dxsm-testset-1.csv @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bc/d4/94/4fe8174bfa04c3f6b04773b7d338953b8b1e34f52fd54219d3549f5672 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/tests/data/pcg64dxsm-testset-2.csv b/venv/lib/python3.8/site-packages/numpy/random/tests/data/pcg64dxsm-testset-2.csv new file mode 120000 index 0000000..751485b --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/tests/data/pcg64dxsm-testset-2.csv @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bb/29/52/f0f536008299d7ce4e0b4e1106bfce78fc1e191b6f9fe744e18374c980 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/tests/data/philox-testset-1.csv b/venv/lib/python3.8/site-packages/numpy/random/tests/data/philox-testset-1.csv new file mode 120000 index 0000000..e8b35e8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/tests/data/philox-testset-1.csv @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/49/e7/51/688cb9cc569d9a4ef59caac6c42159e81c0acfc83503df8e669dc89246 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/tests/data/philox-testset-2.csv b/venv/lib/python3.8/site-packages/numpy/random/tests/data/philox-testset-2.csv new file mode 120000 index 0000000..9a1c239 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/tests/data/philox-testset-2.csv @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/75/61/02/b7eb1b7ef69288af3e620a7902aca3a0de62dba5443ab5ea834d6b9378 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/tests/data/sfc64-testset-1.csv b/venv/lib/python3.8/site-packages/numpy/random/tests/data/sfc64-testset-1.csv new file mode 120000 index 0000000..36abc2f --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/tests/data/sfc64-testset-1.csv @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/88/7b/3a/897e8a47c6f11b02a4fb7b5e74074c3f3e995bcb250d25040a402a0bc4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/tests/data/sfc64-testset-2.csv b/venv/lib/python3.8/site-packages/numpy/random/tests/data/sfc64-testset-2.csv new file mode 120000 index 0000000..b85d900 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/tests/data/sfc64-testset-2.csv @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/14/80/c8/0c509a3d97d6512c6c24c01ee7c84f36632b536ee409df45842118b7f9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/tests/test_direct.py b/venv/lib/python3.8/site-packages/numpy/random/tests/test_direct.py new file mode 120000 index 0000000..921c460 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/tests/test_direct.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/44/e9/44/bff3aa410dbebedca99aa36d83ec332d736e35ef1821068c80141f84bb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/tests/test_extending.py b/venv/lib/python3.8/site-packages/numpy/random/tests/test_extending.py new file mode 120000 index 0000000..a83b7fb --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/tests/test_extending.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/77/9d/1c/e44e70b9e01f918339a9943d600264ef7e4cef7e573e76542f648b7eda \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/tests/test_generator_mt19937.py b/venv/lib/python3.8/site-packages/numpy/random/tests/test_generator_mt19937.py new file mode 120000 index 0000000..a596970 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/tests/test_generator_mt19937.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6e/89/b8/afc792af83b9de0b7004f6f95f4ee9c0dc581aad9ab7e2e6b190a9f245 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/tests/test_generator_mt19937_regressions.py b/venv/lib/python3.8/site-packages/numpy/random/tests/test_generator_mt19937_regressions.py new file mode 120000 index 0000000..3a587c7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/tests/test_generator_mt19937_regressions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/48/07/47/9b72a51a3761d082b2385f1341dd584be3f9f674a423028e7bd4ae4f45 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/tests/test_random.py b/venv/lib/python3.8/site-packages/numpy/random/tests/test_random.py new file mode 120000 index 0000000..4ccb91a --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/tests/test_random.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b1/39/b6/e32668726d81a4411adb84ae782ba17478390e0e85b5bd17095ad00d96 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/tests/test_randomstate.py b/venv/lib/python3.8/site-packages/numpy/random/tests/test_randomstate.py new file mode 120000 index 0000000..0b38d1a --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/tests/test_randomstate.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bc/74/58/3140eb475f7642143254df20d20e566efe628333f9e9df536775a43613 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/tests/test_randomstate_regression.py b/venv/lib/python3.8/site-packages/numpy/random/tests/test_randomstate_regression.py new file mode 120000 index 0000000..1e5950e --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/tests/test_randomstate_regression.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/56/e7/18/5888c0eec02ab96b1a96f64c9df92660b3353bacacc969cb97ddf5fa50 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/tests/test_regression.py b/venv/lib/python3.8/site-packages/numpy/random/tests/test_regression.py new file mode 120000 index 0000000..2300a18 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/tests/test_regression.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b6/b9/ed/2b9d54bda8ce5442e296e10ef3997ae02292c399ef0527394aa632afdc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/tests/test_seed_sequence.py b/venv/lib/python3.8/site-packages/numpy/random/tests/test_seed_sequence.py new file mode 120000 index 0000000..ccd532a --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/tests/test_seed_sequence.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/18/d4/49/e23cb3aed7e894e343de05166a69dbbcaebe6ffa756c12bf4481b4b1f5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/random/tests/test_smoke.py b/venv/lib/python3.8/site-packages/numpy/random/tests/test_smoke.py new file mode 120000 index 0000000..c5fd6f4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/random/tests/test_smoke.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8e/33/73/d1a1060f5fe8425f5af545ade8ccffdbdf1a946ecaaf22d3d69807963c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/setup.py b/venv/lib/python3.8/site-packages/numpy/setup.py new file mode 120000 index 0000000..6efa638 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/setup.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bb/7b/dd/307ebdcfe50ce9737179cf28d9c229f4011f36a67b7ec546a78f0284b9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/testing/__init__.py b/venv/lib/python3.8/site-packages/numpy/testing/__init__.py new file mode 120000 index 0000000..47098ad --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/testing/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1b/c4/25/c766d181b9d3095146a28f2447f3a5b1e6e97136891de6149c7638b19f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/testing/__init__.pyi b/venv/lib/python3.8/site-packages/numpy/testing/__init__.pyi new file mode 120000 index 0000000..d07c311 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/testing/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/14/1f/f8/c22ba098a6c34d65ebf85571a7e98636f2508c6501633e42e716e58272 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/testing/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/testing/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..31016d2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/testing/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/testing/__pycache__/print_coercion_tables.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/testing/__pycache__/print_coercion_tables.cpython-38.pyc new file mode 100644 index 0000000..add700e Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/testing/__pycache__/print_coercion_tables.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/testing/__pycache__/setup.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/testing/__pycache__/setup.cpython-38.pyc new file mode 100644 index 0000000..f5815a9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/testing/__pycache__/setup.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/testing/__pycache__/utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/testing/__pycache__/utils.cpython-38.pyc new file mode 100644 index 0000000..bcf87d4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/testing/__pycache__/utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/testing/_private/__init__.py b/venv/lib/python3.8/site-packages/numpy/testing/_private/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/testing/_private/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/testing/_private/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/testing/_private/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..37627a6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/testing/_private/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/testing/_private/__pycache__/decorators.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/testing/_private/__pycache__/decorators.cpython-38.pyc new file mode 100644 index 0000000..91e59bb Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/testing/_private/__pycache__/decorators.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/testing/_private/__pycache__/extbuild.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/testing/_private/__pycache__/extbuild.cpython-38.pyc new file mode 100644 index 0000000..aad753a Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/testing/_private/__pycache__/extbuild.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/testing/_private/__pycache__/noseclasses.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/testing/_private/__pycache__/noseclasses.cpython-38.pyc new file mode 100644 index 0000000..4fc6870 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/testing/_private/__pycache__/noseclasses.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/testing/_private/__pycache__/nosetester.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/testing/_private/__pycache__/nosetester.cpython-38.pyc new file mode 100644 index 0000000..91bd0da Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/testing/_private/__pycache__/nosetester.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/testing/_private/__pycache__/parameterized.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/testing/_private/__pycache__/parameterized.cpython-38.pyc new file mode 100644 index 0000000..c888d3a Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/testing/_private/__pycache__/parameterized.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/testing/_private/__pycache__/utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/testing/_private/__pycache__/utils.cpython-38.pyc new file mode 100644 index 0000000..666aa27 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/testing/_private/__pycache__/utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/testing/_private/decorators.py b/venv/lib/python3.8/site-packages/numpy/testing/_private/decorators.py new file mode 120000 index 0000000..70639fb --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/testing/_private/decorators.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6a/61/54/7c81fcebf17caaf0fe8ea932e7d19856da8c2eceee4b167a7ae1db961f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/testing/_private/extbuild.py b/venv/lib/python3.8/site-packages/numpy/testing/_private/extbuild.py new file mode 120000 index 0000000..95352dd --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/testing/_private/extbuild.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d9/8e/b2/0b7fca08198e1d8f4e2edb0e0ea086ac8ec90864ca2419056dfa4791a6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/testing/_private/noseclasses.py b/venv/lib/python3.8/site-packages/numpy/testing/_private/noseclasses.py new file mode 120000 index 0000000..ac9dde7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/testing/_private/noseclasses.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d3/0b/91/1ec415933d5ce5b5f5174bf60b84042567610ae01d54ec28f2e39e7cff \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/testing/_private/nosetester.py b/venv/lib/python3.8/site-packages/numpy/testing/_private/nosetester.py new file mode 120000 index 0000000..71e1dc5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/testing/_private/nosetester.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c0/a8/cd/ddd6a0c03227cc675e37ac0ef499cb7ba2284f11aa17f89d48bd2aa424 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/testing/_private/parameterized.py b/venv/lib/python3.8/site-packages/numpy/testing/_private/parameterized.py new file mode 120000 index 0000000..b66f70a --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/testing/_private/parameterized.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/99/25/93/9a3d42d91f638e0ab031ba859515d170805469a9403bca58320e670a9a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/testing/_private/utils.py b/venv/lib/python3.8/site-packages/numpy/testing/_private/utils.py new file mode 120000 index 0000000..3556417 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/testing/_private/utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fc/41/03/0d3953337a10a43e7eca405d1cc2319d88cfd8648aa6bcc514601ae9ea \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/testing/_private/utils.pyi b/venv/lib/python3.8/site-packages/numpy/testing/_private/utils.pyi new file mode 120000 index 0000000..9dcc4cf --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/testing/_private/utils.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ad/8f/e5/7768557d32be2464ce56e84207bc4fc8e75137628368a8e6fd7748fe6a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/testing/print_coercion_tables.py b/venv/lib/python3.8/site-packages/numpy/testing/print_coercion_tables.py new file mode 120000 index 0000000..0f44f3f --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/testing/print_coercion_tables.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9d/dc/4e/b12e177eb678518ffd9ea4530a7c6193381da9cb941cbf277b377b3a9e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/testing/setup.py b/venv/lib/python3.8/site-packages/numpy/testing/setup.py new file mode 120000 index 0000000..8c6bd34 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/testing/setup.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/18/f2/80/b534c146c356e24991ecd8cfea698147f193769693be44e6d74fd570b8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/testing/tests/__init__.py b/venv/lib/python3.8/site-packages/numpy/testing/tests/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/testing/tests/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/testing/tests/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/testing/tests/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..4307f31 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/testing/tests/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/testing/tests/__pycache__/test_doctesting.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/testing/tests/__pycache__/test_doctesting.cpython-38.pyc new file mode 100644 index 0000000..f6f12d3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/testing/tests/__pycache__/test_doctesting.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/testing/tests/__pycache__/test_utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/testing/tests/__pycache__/test_utils.cpython-38.pyc new file mode 100644 index 0000000..067a8b8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/testing/tests/__pycache__/test_utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/testing/tests/test_doctesting.py b/venv/lib/python3.8/site-packages/numpy/testing/tests/test_doctesting.py new file mode 120000 index 0000000..c7075a8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/testing/tests/test_doctesting.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f3/81/82/66c58143782a2ab448e4dce61ff3e614731285a5696789b46ff4f5a8d0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/testing/tests/test_utils.py b/venv/lib/python3.8/site-packages/numpy/testing/tests/test_utils.py new file mode 120000 index 0000000..f9e35b4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/testing/tests/test_utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ac/f8/20/433f7f0fa5fdf1464f1c22cefc5327b1e6cba9daad541d7d793b8d5545 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/testing/utils.py b/venv/lib/python3.8/site-packages/numpy/testing/utils.py new file mode 120000 index 0000000..d5234d8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/testing/utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/07/be/cf/90adaa230f11f2d2a4d3d3a95865505763bf3fbedfbb8c2de5018e5d23 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/tests/__init__.py b/venv/lib/python3.8/site-packages/numpy/tests/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/tests/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/tests/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/tests/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..66aad36 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/tests/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/tests/__pycache__/test__all__.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/tests/__pycache__/test__all__.cpython-38.pyc new file mode 100644 index 0000000..1760cba Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/tests/__pycache__/test__all__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/tests/__pycache__/test_ctypeslib.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/tests/__pycache__/test_ctypeslib.cpython-38.pyc new file mode 100644 index 0000000..13f72e1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/tests/__pycache__/test_ctypeslib.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/tests/__pycache__/test_matlib.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/tests/__pycache__/test_matlib.cpython-38.pyc new file mode 100644 index 0000000..a84495e Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/tests/__pycache__/test_matlib.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/tests/__pycache__/test_numpy_version.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/tests/__pycache__/test_numpy_version.cpython-38.pyc new file mode 100644 index 0000000..2ba7523 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/tests/__pycache__/test_numpy_version.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/tests/__pycache__/test_public_api.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/tests/__pycache__/test_public_api.cpython-38.pyc new file mode 100644 index 0000000..64334b5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/tests/__pycache__/test_public_api.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/tests/__pycache__/test_reloading.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/tests/__pycache__/test_reloading.cpython-38.pyc new file mode 100644 index 0000000..f91522e Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/tests/__pycache__/test_reloading.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/tests/__pycache__/test_scripts.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/tests/__pycache__/test_scripts.cpython-38.pyc new file mode 100644 index 0000000..f103621 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/tests/__pycache__/test_scripts.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/tests/__pycache__/test_warnings.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/tests/__pycache__/test_warnings.cpython-38.pyc new file mode 100644 index 0000000..3e8c42f Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/tests/__pycache__/test_warnings.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/tests/test__all__.py b/venv/lib/python3.8/site-packages/numpy/tests/test__all__.py new file mode 120000 index 0000000..0dc22d7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/tests/test__all__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2f/79/82/9d83d3a7302035f79d56eabd83bc4f59b7347353e8b7de24f6367d3692 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/tests/test_ctypeslib.py b/venv/lib/python3.8/site-packages/numpy/tests/test_ctypeslib.py new file mode 120000 index 0000000..e6fd9d9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/tests/test_ctypeslib.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b8/07/24/1ad81f16c6911a10fac923c3e5847bed44bdf13214c11f03552d5b42f5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/tests/test_matlib.py b/venv/lib/python3.8/site-packages/numpy/tests/test_matlib.py new file mode 120000 index 0000000..169ea5c --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/tests/test_matlib.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/83/08/48/5eb249a3d0e279c6862c21cb2418e1c769d51a5eb21eaf3400e5104913 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/tests/test_numpy_version.py b/venv/lib/python3.8/site-packages/numpy/tests/test_numpy_version.py new file mode 120000 index 0000000..78db9d1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/tests/test_numpy_version.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f3/b8/a6/13cb0947ac35e986224c07c7c414aaec814b9e680da4be83520aa3293b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/tests/test_public_api.py b/venv/lib/python3.8/site-packages/numpy/tests/test_public_api.py new file mode 120000 index 0000000..6fa1b10 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/tests/test_public_api.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/25/bc/b7/e05986ba33ea8f2a323bcd3089f2fdcfe3e3df537398ee8b90c41b5ede \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/tests/test_reloading.py b/venv/lib/python3.8/site-packages/numpy/tests/test_reloading.py new file mode 120000 index 0000000..2684238 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/tests/test_reloading.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6e/3c/8f/891c7700c3d672ef84c606eb960997e03c5102cc3053f722fd19778419 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/tests/test_scripts.py b/venv/lib/python3.8/site-packages/numpy/tests/test_scripts.py new file mode 120000 index 0000000..c9af2c8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/tests/test_scripts.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/de/36/2d/ea2cac3938108d4e56ff13d4a3a30244f99a15b4513f45215493952d17 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/tests/test_warnings.py b/venv/lib/python3.8/site-packages/numpy/tests/test_warnings.py new file mode 120000 index 0000000..1b51b8f --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/tests/test_warnings.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6f/bc/78/cdd9acf6c34990ef4527e2d3cd823805685b78b1b2da814c0ba67ce628 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/__init__.py b/venv/lib/python3.8/site-packages/numpy/typing/__init__.py new file mode 120000 index 0000000..3b34e54 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/10/00/22/c876b98c626917d10215e97eaa70a8d7c5549d3e58f180ae29dd3337e2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/typing/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..3115baf Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/typing/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/typing/__pycache__/mypy_plugin.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/typing/__pycache__/mypy_plugin.cpython-38.pyc new file mode 100644 index 0000000..0e49f5b Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/typing/__pycache__/mypy_plugin.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/typing/__pycache__/setup.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/typing/__pycache__/setup.cpython-38.pyc new file mode 100644 index 0000000..bfeb830 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/typing/__pycache__/setup.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/typing/mypy_plugin.py b/venv/lib/python3.8/site-packages/numpy/typing/mypy_plugin.py new file mode 120000 index 0000000..5be4e80 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/mypy_plugin.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f8/bc/e5/fe26959584af0d9c034a4d047be21a590b08d4e5056ed77f68d7217a05 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/setup.py b/venv/lib/python3.8/site-packages/numpy/typing/setup.py new file mode 120000 index 0000000..7bffd9b --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/setup.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0a/7c/fd/ab9df0faf24dc84eaf631a98bd05f1d2925bac6f6ab87cb3f6cab17de9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/__init__.py b/venv/lib/python3.8/site-packages/numpy/typing/tests/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/typing/tests/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..78e0876 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/typing/tests/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/__pycache__/test_generic_alias.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/typing/tests/__pycache__/test_generic_alias.cpython-38.pyc new file mode 100644 index 0000000..4d7d406 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/typing/tests/__pycache__/test_generic_alias.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/__pycache__/test_isfile.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/typing/tests/__pycache__/test_isfile.cpython-38.pyc new file mode 100644 index 0000000..3b0d4c9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/typing/tests/__pycache__/test_isfile.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/__pycache__/test_runtime.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/typing/tests/__pycache__/test_runtime.cpython-38.pyc new file mode 100644 index 0000000..56d02dd Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/typing/tests/__pycache__/test_runtime.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/__pycache__/test_typing.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/typing/tests/__pycache__/test_typing.cpython-38.pyc new file mode 100644 index 0000000..180efa1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/typing/tests/__pycache__/test_typing.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/arithmetic.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/arithmetic.pyi new file mode 120000 index 0000000..932542b --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/arithmetic.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e2/b6/3f/01208444097c582bacd516a439ed00c3ef2fbe38a52f6f6681d0f896fd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/array_constructors.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/array_constructors.pyi new file mode 120000 index 0000000..bd86f68 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/array_constructors.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5f/dc/bf/8d4612d7b59f6265d6e4dc2456e772891ea8b94680c04874251b5ee36a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/array_like.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/array_like.pyi new file mode 120000 index 0000000..2fcd37c --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/array_like.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/39/50/25/10967993c6512add1a1a9650c088e5506a72d0fcce398a9f23e20ca814 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/array_pad.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/array_pad.pyi new file mode 120000 index 0000000..f5024ec --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/array_pad.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e7/ba/0a/d18a79debb4a8e322b44560b7316be21f20686d23e6c47a6ee08092b02 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/arrayprint.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/arrayprint.pyi new file mode 120000 index 0000000..ee4e470 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/arrayprint.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f8/5b/3d/56741fc727da934d3c1eaf242567c1d2c9c0ea31835d9cfc963427c061 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/arrayterator.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/arrayterator.pyi new file mode 120000 index 0000000..46af286 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/arrayterator.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/16/85/38/6a11e4259ebb7705977abe455cb8e38deb0a2a0fb0d89ab55f56c7ca60 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/bitwise_ops.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/bitwise_ops.pyi new file mode 120000 index 0000000..688d27a --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/bitwise_ops.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/18/df/5d/56a938fc71579fbcdb46b1f326afd419114171ca185541b552e13b6d7b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/char.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/char.pyi new file mode 120000 index 0000000..28041a5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/char.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fa/f8/0d/e8499f43c55a03848e6793a5f6ee3e67b43923b1bbf0b99ac593ae67dd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/chararray.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/chararray.pyi new file mode 120000 index 0000000..7d736a2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/chararray.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8e/b3/6b/c99169afc9f11b62076fd7b4c77ada9e9bc9a41cbf4437b1f96a53e6b5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/comparisons.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/comparisons.pyi new file mode 120000 index 0000000..d7ad00f --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/comparisons.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/53/89/de/5b3c30b711ba417b0a94d189b8a5c706dc3360140e6b8effed2285e568 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/constants.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/constants.pyi new file mode 120000 index 0000000..e8d38df --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/constants.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/61/2a/8d/6d77616dd32661bb3b9ed1f414229b9e6f0815eaac0e5641a9c538de2c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/datasource.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/datasource.pyi new file mode 120000 index 0000000..cc1f154 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/datasource.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3d/14/f6/862c51fa6571af65082ef1daf7d0ebe78105da1dec9c95c4fafdeb59c7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/dtype.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/dtype.pyi new file mode 120000 index 0000000..83c8b08 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/dtype.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/38/01/80/06a757341f200a524510631c928c9cb997086ac31a0254b646488a44e2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/einsumfunc.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/einsumfunc.pyi new file mode 120000 index 0000000..388b459 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/einsumfunc.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3b/a9/68/d41dc8a5d050febea7bc9b9d11845e925ff683c8f73c01ff79a86fbf26 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/false_positives.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/false_positives.pyi new file mode 120000 index 0000000..ff3bcb6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/false_positives.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/43/ad/6a/32c4ac342b663b410c4711e3e59ed1613cab10b5699337c963978af19d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/flatiter.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/flatiter.pyi new file mode 120000 index 0000000..3d929fe --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/flatiter.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a8/b3/38/aa6ee0bc9b44674ad31dcc9ab14ce83f925b5f815112da95de0d70e8ba \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/fromnumeric.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/fromnumeric.pyi new file mode 120000 index 0000000..8aa6de5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/fromnumeric.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/14/7d/a6/8e482d09b03db28aa525185837b2087d146b50bd62f66c2a71b60a6527 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/histograms.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/histograms.pyi new file mode 120000 index 0000000..41b53d7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/histograms.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f0/7c/7c/cc9d75dd4b473dcff28be04cdf152ab667944b7af720562f722f6ab900 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/index_tricks.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/index_tricks.pyi new file mode 120000 index 0000000..4e69778 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/index_tricks.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9a/82/0d/8abf624288ba43566e560e41b9207d85206d6e0feeceff909bf94b6199 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/lib_function_base.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/lib_function_base.pyi new file mode 120000 index 0000000..0a02ee7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/lib_function_base.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/eb/2f/53/efbdc204b5fe8d4af2d6c090195b8a54a336c0cb90e7a362e55e63e03c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/lib_polynomial.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/lib_polynomial.pyi new file mode 120000 index 0000000..8abab4d --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/lib_polynomial.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b2/24/97/49533416ac307479d8ad892c3ab9ccae074aff3759f7119543aee230dc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/lib_utils.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/lib_utils.pyi new file mode 120000 index 0000000..cdd401a --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/lib_utils.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/54/5a/44/ebf0e2b2f943072ca9d4f88d3c911ee48719a7c707d05940272a198a9a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/lib_version.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/lib_version.pyi new file mode 120000 index 0000000..b4b7f90 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/lib_version.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ef/e6/49/0d9c03701fb0ce930df13798b590206aa73bc6743c0e7c76212897d93b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/linalg.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/linalg.pyi new file mode 120000 index 0000000..afbcd9c --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/linalg.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c8/37/74/e5a2b5748dfb44fb77a43d9e258a3875915a4f6c81d4f12edcad32f538 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/memmap.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/memmap.pyi new file mode 120000 index 0000000..a06ddf3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/memmap.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1d/24/c2/41836e5b563a5f55a88f7eb5a4de2bbac48fb38a03097cb0aa4db4c94a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/modules.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/modules.pyi new file mode 120000 index 0000000..f6e3ef8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/modules.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6e/22/9d/c9aee397da6d08da2baa5d40147a0eb5753d6dd4c5a1d948510b5bc146 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/multiarray.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/multiarray.pyi new file mode 120000 index 0000000..12b0a6d --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/multiarray.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5c/27/41/c6e7cd851f19b46f1433393c9edf7f342e6025328ff7ec53a8a3bf2bd2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/ndarray.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/ndarray.pyi new file mode 120000 index 0000000..c3ba8a0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/ndarray.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/62/78/d7/cb5e911ecfdeb0a7a5323074efceb9090ee02f24275e19e2b6ae4abf97 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/ndarray_misc.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/ndarray_misc.pyi new file mode 120000 index 0000000..b4b1bd2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/ndarray_misc.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c3/ed/74/c530c35a87dff4bab47413be8c17a2051f978c2cf6aa67acd1d2f1db7f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/nditer.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/nditer.pyi new file mode 120000 index 0000000..c9d15d1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/nditer.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c3/b7/a6/8e73b19dfdcd72f2e4b4d2e591ee82ba2be7da0537b1598609f6c6eabc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/nested_sequence.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/nested_sequence.pyi new file mode 120000 index 0000000..17f234b --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/nested_sequence.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7a/6e/06/6702c3144d104b1c60d3cd70570861f839ad927f1fef04e12340e25d5b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/npyio.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/npyio.pyi new file mode 120000 index 0000000..719d652 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/npyio.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9d/40/2d/f261cefd9ccab1da3f1bd9a325f68109dadb6bf4372a2c89c333221f2b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/numerictypes.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/numerictypes.pyi new file mode 120000 index 0000000..465ea62 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/numerictypes.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4b/f0/08/160e03b09d6c5f711c08087b665b009290acc9c67fb54f764a3d435b26 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/random.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/random.pyi new file mode 120000 index 0000000..2edab66 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/random.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a7/95/ac/506c8e2fe30621e00b87d63475585849140b694c0c7635dcdc6e82ffb4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/rec.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/rec.pyi new file mode 120000 index 0000000..8a83932 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/rec.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5a/cd/d3/c9eb27a108eded0d30c2da528510c99990acda38cfd7b6ee14ca265460 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/scalars.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/scalars.pyi new file mode 120000 index 0000000..d8447a8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/scalars.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/17/5c/55/c5a98bad45df5b9c7809caa48c841eb388a7680f1993c266eaccf203f1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/shape_base.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/shape_base.pyi new file mode 120000 index 0000000..fbefd1d --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/shape_base.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/63/f7/f8/6ee1ed5f6436640e246834f247c2c4ae53d74f3081ffe8c1a1270687f4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/stride_tricks.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/stride_tricks.pyi new file mode 120000 index 0000000..7733bd7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/stride_tricks.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/22/30/34/5eb9f1d251b79b4eddd478db86dca8d537b971782382be5f2d4a382d84 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/testing.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/testing.pyi new file mode 120000 index 0000000..587f61a --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/testing.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7b/b6/f9/18a4d60ad286a01f33d9af1e76c5b45e3975acc85e00bb2fcc4263942c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/twodim_base.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/twodim_base.pyi new file mode 120000 index 0000000..7f2df3e --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/twodim_base.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/66/a6/d1/25fcb94bfa56ddf14bba89b2e0be5204daa3e8d9257b183d2834e8eb97 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/type_check.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/type_check.pyi new file mode 120000 index 0000000..017f72a --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/type_check.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/08/8c/88/d23d01bb1bf44200af346daeae368aa68219f9935ac02da6e8dcc695ba \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/ufunc_config.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/ufunc_config.pyi new file mode 120000 index 0000000..fc42aac --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/ufunc_config.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ba/40/34/c707c91cba067e8388a5620dfbdd708fe0c6f286888d86ceef6ca68e0e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/ufunclike.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/ufunclike.pyi new file mode 120000 index 0000000..5707b7a --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/ufunclike.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/95/bc/63/2727c0466b7f40ad47c61c45c6fc104ea08467027d239dd6a7c5f72886 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/ufuncs.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/ufuncs.pyi new file mode 120000 index 0000000..16ad0c7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/ufuncs.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/61/a0/d3/2fb40b986494c44e8954cce93a56538c75ab81b3a8d14225917fba6509 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/warnings_and_errors.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/warnings_and_errors.pyi new file mode 120000 index 0000000..5ffc82a --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/fail/warnings_and_errors.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3e/b6/d8/0c523b20637719fd0e3c19157de7f342ce005c7c03438f79a6fad7dd16 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/misc/extended_precision.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/misc/extended_precision.pyi new file mode 120000 index 0000000..2be923b --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/misc/extended_precision.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5c/91/3f/4236a8bbecb3870c3c2bfdf2a5ce164cfb9d5b46f7834f93f36681f101 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/mypy.ini b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/mypy.ini new file mode 120000 index 0000000..4311fa7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/mypy.ini @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6b/8f/be/97913298f45e0be58a12c09f97636f7bfd53e174c57287b16b9ab63296 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/arithmetic.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/arithmetic.cpython-38.pyc new file mode 100644 index 0000000..ff96dcf Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/arithmetic.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/array_constructors.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/array_constructors.cpython-38.pyc new file mode 100644 index 0000000..ed891b0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/array_constructors.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/array_like.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/array_like.cpython-38.pyc new file mode 100644 index 0000000..985ffd7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/array_like.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/arrayprint.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/arrayprint.cpython-38.pyc new file mode 100644 index 0000000..34c3943 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/arrayprint.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/arrayterator.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/arrayterator.cpython-38.pyc new file mode 100644 index 0000000..4941586 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/arrayterator.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/bitwise_ops.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/bitwise_ops.cpython-38.pyc new file mode 100644 index 0000000..cbea279 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/bitwise_ops.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/comparisons.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/comparisons.cpython-38.pyc new file mode 100644 index 0000000..71b54c0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/comparisons.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/dtype.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/dtype.cpython-38.pyc new file mode 100644 index 0000000..cf13e3b Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/dtype.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/einsumfunc.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/einsumfunc.cpython-38.pyc new file mode 100644 index 0000000..f3881f0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/einsumfunc.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/flatiter.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/flatiter.cpython-38.pyc new file mode 100644 index 0000000..8d1debd Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/flatiter.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/fromnumeric.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/fromnumeric.cpython-38.pyc new file mode 100644 index 0000000..64aa418 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/fromnumeric.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/index_tricks.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/index_tricks.cpython-38.pyc new file mode 100644 index 0000000..5ef0a8c Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/index_tricks.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/lib_utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/lib_utils.cpython-38.pyc new file mode 100644 index 0000000..72a4f2b Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/lib_utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/lib_version.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/lib_version.cpython-38.pyc new file mode 100644 index 0000000..8be8714 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/lib_version.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/literal.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/literal.cpython-38.pyc new file mode 100644 index 0000000..eb0384b Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/literal.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/mod.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/mod.cpython-38.pyc new file mode 100644 index 0000000..a5b302d Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/mod.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/modules.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/modules.cpython-38.pyc new file mode 100644 index 0000000..db2f61f Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/modules.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/multiarray.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/multiarray.cpython-38.pyc new file mode 100644 index 0000000..49aec61 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/multiarray.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/ndarray_conversion.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/ndarray_conversion.cpython-38.pyc new file mode 100644 index 0000000..12d0729 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/ndarray_conversion.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/ndarray_misc.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/ndarray_misc.cpython-38.pyc new file mode 100644 index 0000000..2024968 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/ndarray_misc.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/ndarray_shape_manipulation.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/ndarray_shape_manipulation.cpython-38.pyc new file mode 100644 index 0000000..63ee759 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/ndarray_shape_manipulation.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/numeric.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/numeric.cpython-38.pyc new file mode 100644 index 0000000..cb0152d Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/numeric.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/numerictypes.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/numerictypes.cpython-38.pyc new file mode 100644 index 0000000..c33f35e Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/numerictypes.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/random.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/random.cpython-38.pyc new file mode 100644 index 0000000..c246a48 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/random.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/scalars.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/scalars.cpython-38.pyc new file mode 100644 index 0000000..77579bb Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/scalars.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/simple.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/simple.cpython-38.pyc new file mode 100644 index 0000000..a08a5f1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/simple.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/simple_py3.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/simple_py3.cpython-38.pyc new file mode 100644 index 0000000..41f4410 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/simple_py3.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/ufunc_config.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/ufunc_config.cpython-38.pyc new file mode 100644 index 0000000..f8fc340 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/ufunc_config.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/ufunclike.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/ufunclike.cpython-38.pyc new file mode 100644 index 0000000..c446e29 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/ufunclike.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/ufuncs.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/ufuncs.cpython-38.pyc new file mode 100644 index 0000000..0ba2c18 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/ufuncs.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/warnings_and_errors.cpython-38.pyc b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/warnings_and_errors.cpython-38.pyc new file mode 100644 index 0000000..fb40cc0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/__pycache__/warnings_and_errors.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/arithmetic.py b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/arithmetic.py new file mode 120000 index 0000000..3d12cb5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/arithmetic.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8c/d7/99/452985bfc474d60378db52ffa915d1054c4ac19ed553fb09a7d4d0488a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/array_constructors.py b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/array_constructors.py new file mode 120000 index 0000000..33a92f7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/array_constructors.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/dc/6a/e1/7c1726597e77a491c3d0dbe15e3c2bdbeb8d29111b47523d582719eeb2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/array_like.py b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/array_like.py new file mode 120000 index 0000000..1b135b6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/array_like.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/71/ef/c8/56e6c177b27a1644a92660fba8c9512eec268a27613aa8587d96f5e96a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/arrayprint.py b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/arrayprint.py new file mode 120000 index 0000000..a5052dd --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/arrayprint.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cb/f2/a4/b8bcf5b8cee9bf9dea7eaec640ebae7782e85c4ddaa4ad70b4045d5723 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/arrayterator.py b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/arrayterator.py new file mode 120000 index 0000000..10027c4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/arrayterator.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/16/a7/29/29d510050d056b31c5c6bf4cb0b1191be8e725518a5995f6a3046be034 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/bitwise_ops.py b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/bitwise_ops.py new file mode 120000 index 0000000..3f0b243 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/bitwise_ops.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/52/79/b1/56bf47c08f227ddaeeb469bfbb711953888e38f421ace92eee14da1f47 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/comparisons.py b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/comparisons.py new file mode 120000 index 0000000..6f816f0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/comparisons.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9d/31/3e/7efada2caeb14d970fe2e3d5d36c0e4a1cd82960daa1aa71df901e0ce6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/dtype.py b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/dtype.py new file mode 120000 index 0000000..74d04cd --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/dtype.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/94/8f/f9/42507bff6d13c82d54af1af4368f4c6eb869047431b3e17fbfb5323e6a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/einsumfunc.py b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/einsumfunc.py new file mode 120000 index 0000000..c2b97bc --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/einsumfunc.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/79/78/f9/2f93163ed40782b1cfb09dfaaaaae6047a9cb7d528ba38c90af1e71759 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/flatiter.py b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/flatiter.py new file mode 120000 index 0000000..2911679 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/flatiter.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d0/19/db/b8b3010bb310969acd674421352b1c7d8c0f8448573a15a8ca24400965 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/fromnumeric.py b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/fromnumeric.py new file mode 120000 index 0000000..c018e3c --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/fromnumeric.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5d/df/e7/255543a0e35dced517f1d760a3b117276143f005f9d4c3bf62e8e79a88 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/index_tricks.py b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/index_tricks.py new file mode 120000 index 0000000..baf3b28 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/index_tricks.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a1/a1/43/f6f634d7f448e4e92b5edfb14e4d67fdd77e4a9b8fa7e799e7c5d1ddcf \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/lib_utils.py b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/lib_utils.py new file mode 120000 index 0000000..13c2bcd --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/lib_utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/48/42/51/ba1ec9ec91c794e55cb5ffb343dcd1c15a42bd9fc7bc05c7bc3ae3c70d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/lib_version.py b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/lib_version.py new file mode 120000 index 0000000..eadd3f8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/lib_version.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1e/7b/86/3b1eed400fdb731148277751a0c011d1fa1c931838946a90e20ecb188c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/literal.py b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/literal.py new file mode 120000 index 0000000..32fcd41 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/literal.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0c/bc/dd/5870fab6d5b84b4344bc641bb07fd41098e167286f3b8397263a32bd94 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/mod.py b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/mod.py new file mode 120000 index 0000000..908898c --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/mod.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1c/1f/5a/2b8ff01896dce38b6899aa2ba0dcb47e820be5c23d2888e49ef3136e49 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/modules.py b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/modules.py new file mode 120000 index 0000000..0bd44ae --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/modules.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7f/ee/91/d936eaacb5fb17c03767d5604b23c094ec2f3b2d73672bd4822bc3db9d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/multiarray.py b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/multiarray.py new file mode 120000 index 0000000..f8b9d54 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/multiarray.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/33/11/da/c7a97de32aa54d5665780a86efb20b11b5bac14e68b0f707cf127ce67b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/ndarray_conversion.py b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/ndarray_conversion.py new file mode 120000 index 0000000..1a76fdb --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/ndarray_conversion.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c8/f8/33/5c6ea9698d6e17fcfe4321d8adc9ab66f857eeab6f4d487b00d2ec7820 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/ndarray_misc.py b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/ndarray_misc.py new file mode 120000 index 0000000..0bceb26 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/ndarray_misc.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/46/d6/f8/b89de80c6a3c91edc7d2a6ca2cb20f676ff7c6c360c4bb1f1d8595a379 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/ndarray_shape_manipulation.py b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/ndarray_shape_manipulation.py new file mode 120000 index 0000000..25532cc --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/ndarray_shape_manipulation.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/df/b7/98/c0c36a30bc1a9c85bdfbade1ae891a7274b3d8afeab4f52591da6c4e3a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/numeric.py b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/numeric.py new file mode 120000 index 0000000..a30eadf --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/numeric.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/49/d9/ec/0f9cefd309bc4f68672329724b5e2283631c4b3eab1bd62c95c91b350e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/numerictypes.py b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/numerictypes.py new file mode 120000 index 0000000..bf9370f --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/numerictypes.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/26/73/f9/9be4292bb6047de798cda0f2214510feaf7986349030881420f4dd4b05 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/random.py b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/random.py new file mode 120000 index 0000000..0853889 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/random.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ea/a2/e0/b0e73278a96cf8cea1ba5847b422ca9ef7e3746798901abcc4d30f2cc8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/scalars.py b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/scalars.py new file mode 120000 index 0000000..42d17dd --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/scalars.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/97/64/b7/8aab18ef34f1eb9bb6786ca8ca0b5ea1b8e9774cac4cd225a2de57c996 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/simple.py b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/simple.py new file mode 120000 index 0000000..9236432 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/simple.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/55/fd/e7/293183ea44aaa1a1f6316483467cb6fa49d65fe7d01e810938d0bbabdb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/simple_py3.py b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/simple_py3.py new file mode 120000 index 0000000..4465794 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/simple_py3.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1e/e2/eb/7396a985385090b8d4dbfd7d2a0185697c0a39f4b35ded29db1326f192 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/ufunc_config.py b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/ufunc_config.py new file mode 120000 index 0000000..fd64c8e --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/ufunc_config.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6f/49/d6/2f2ab45761f898a657acd334913f8633ec7c8a0f6dbf76a5e74fd80163 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/ufunclike.py b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/ufunclike.py new file mode 120000 index 0000000..19d6d52 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/ufunclike.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1a/f7/ba/709d804f74c0c0e8d43904032149eab1108662aef4fedbffb203838a20 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/ufuncs.py b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/ufuncs.py new file mode 120000 index 0000000..72cc7fd --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/ufuncs.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c4/6b/8a/baa3deb544d2e22a396031da922e676d846efb00b6f52194df6b735488 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/warnings_and_errors.py b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/warnings_and_errors.py new file mode 120000 index 0000000..3cb1ea2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/pass/warnings_and_errors.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3d/c8/3e/4167d8e0f0214cac9e85a7bcaba2e1b5b5000716b661eeb7fb78757f8c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/arithmetic.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/arithmetic.pyi new file mode 120000 index 0000000..da1f286 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/arithmetic.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/91/32/9c/baef521d4751ff52c2a78940ec375b63f3a5871f2cd7bcf2ac6737b0d3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/array_constructors.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/array_constructors.pyi new file mode 120000 index 0000000..0898943 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/array_constructors.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5a/5a/25/b482b631d206170af7242ea0e0a2e2e27ada3ac477009e17842abc78e7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/arraypad.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/arraypad.pyi new file mode 120000 index 0000000..c81578f --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/arraypad.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f5/2f/ba/93d2938b84eb28efacf9c5b58efa16af2ee673ef06e1554853b72a2026 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/arrayprint.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/arrayprint.pyi new file mode 120000 index 0000000..1ff0857 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/arrayprint.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d8/2d/a6/21ab800067e8af6fd8b024d73c6bb98198659fb69c7a4369e53e04931b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/arraysetops.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/arraysetops.pyi new file mode 120000 index 0000000..a5dda7d --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/arraysetops.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/70/ac/49/0902952ce0174438b45c673ea45bc7ab361f256df0dcee49c03ddb7d6d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/arrayterator.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/arrayterator.pyi new file mode 120000 index 0000000..133f543 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/arrayterator.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/38/4b/79/73e7c5b2f7b441ce1ed896fdfc737504a52b08953e61201ffc64ef29ef \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/bitwise_ops.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/bitwise_ops.pyi new file mode 120000 index 0000000..91145b9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/bitwise_ops.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b7/b9/f3/ec6f123691b0ffc1dd9a9c25ebca411f57c61d2e8955001ae5ef1d776b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/char.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/char.pyi new file mode 120000 index 0000000..5374797 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/char.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/56/3c/8f/020a2fd78332a84b8624efb8368be0a9c5399dfb99d28a5e7c36667f31 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/chararray.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/chararray.pyi new file mode 120000 index 0000000..fe8f8dc --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/chararray.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ff/b7/6c/95ccfbb4376889c0fc5c06baaa5ed87bbd4b456787d5b9cd4386f1c4de \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/comparisons.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/comparisons.pyi new file mode 120000 index 0000000..82899ef --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/comparisons.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8e/4a/73/a719e3a9a86ae9dc3dca7b87b68e78487f67c14316b8c5817f7cd3e869 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/constants.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/constants.pyi new file mode 120000 index 0000000..87e62ad --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/constants.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/44/53/c6/d9441f3fa6912ed0cb98bef68b3dada9f90b0b4197d2e20f5103cb7e2f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/ctypeslib.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/ctypeslib.pyi new file mode 120000 index 0000000..10bb14e --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/ctypeslib.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/42/9b/37/799c8183cbcb84f1e3e73fe8b27965b511db6b9175aa000c1c278797aa \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/datasource.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/datasource.pyi new file mode 120000 index 0000000..a51b883 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/datasource.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/99/e9/61/c3096d203113fe8b9d72ffac911f232ab19e545e5439956a7d22a35c1c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/dtype.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/dtype.pyi new file mode 120000 index 0000000..c7a4fb4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/dtype.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f1/87/a3/9dd5750b88e003306f87ee09527d20b234f0a1ea95c9a5bd067892bafc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/einsumfunc.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/einsumfunc.pyi new file mode 120000 index 0000000..ceb18a5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/einsumfunc.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1b/1d/4a/f6d03194ff9d1fb9202a28897c95de52fa968d8e5748bc449341062e3c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/emath.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/emath.pyi new file mode 120000 index 0000000..c29ce79 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/emath.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8a/27/83/2af2cd74cd03489f82886f4336b9c173ea7b2e157a0c30d9c461460df4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/false_positives.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/false_positives.pyi new file mode 120000 index 0000000..9e00e32 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/false_positives.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a1/0c/7c/9a15ac97457b660edde3d66614689457d6b355d18f6eb5e093515a8fbd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/fft.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/fft.pyi new file mode 120000 index 0000000..200335f --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/fft.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4f/9c/37/258cd742165d7d893ba065ebf5f65fd53f643aa6874b67b40d200e0782 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/flatiter.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/flatiter.pyi new file mode 120000 index 0000000..14bb102 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/flatiter.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2a/cd/dd/5df945273383deea384b727f4aca1d0f402a94beee44c212c1e0c3cb12 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/fromnumeric.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/fromnumeric.pyi new file mode 120000 index 0000000..39d5b46 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/fromnumeric.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a8/7b/fa/4a21f7965263beb2fc0373f77a0e9bfb036736b89b23ad06bfdb8f152c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/getlimits.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/getlimits.pyi new file mode 120000 index 0000000..3ee8c0d --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/getlimits.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5c/28/c7/0a587553c1be29ac190227f7078bc3eb47bcdd84c489ed5c47da0544ac \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/histograms.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/histograms.pyi new file mode 120000 index 0000000..98434b0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/histograms.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f7/10/57/42f2f99faef4a1e9dc5cdc2a36f7833c7f1d5c728af5d8c4be743477b4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/index_tricks.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/index_tricks.pyi new file mode 120000 index 0000000..c74e653 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/index_tricks.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a0/c9/11/ad8eb99c865343859644f74dec616ff40d05038ecc17ff002d841b4b5e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/lib_function_base.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/lib_function_base.pyi new file mode 120000 index 0000000..2b57632 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/lib_function_base.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a4/f7/e4/b8fe7f0b161e854d5b708a7ab9bc89177732a5f426b06d1be551389d5a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/lib_polynomial.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/lib_polynomial.pyi new file mode 120000 index 0000000..ad81603 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/lib_polynomial.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/af/75/85/cf0f8c380ca5d8378d20aac03ce4e30418eb4c91c962d13b7218806f2c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/lib_utils.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/lib_utils.pyi new file mode 120000 index 0000000..90a17db --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/lib_utils.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/dc/50/12/740e59ed795e7e13816a6a26a9bc7dd7b8439782e806a143d74042df1d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/lib_version.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/lib_version.pyi new file mode 120000 index 0000000..6d3a97b --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/lib_version.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/48/4a/36/a517a669cd579e684d0ce28410cd281dff04d014c9478aea25e908ddf2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/linalg.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/linalg.pyi new file mode 120000 index 0000000..fc26507 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/linalg.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/40/f7/cc/19748e4a8213fa418f5743f2b1d27156bed07e496bf7333b47c872fcdf \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/matrix.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/matrix.pyi new file mode 120000 index 0000000..ed0f698 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/matrix.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/42/22/45/b7927188cfca4e6cd2b3793d8d472336cb1d3060630f546b6cfe2711d3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/memmap.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/memmap.pyi new file mode 120000 index 0000000..0e6c787 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/memmap.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ac/d5/72/107839454fe0efb1fb5200c1a4f1c79a046c5a882a7f4f705dcd27ee82 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/mod.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/mod.pyi new file mode 120000 index 0000000..6f6326a --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/mod.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6b/e7/78/7651baf693ffd98990f87eb74bb81f800aff133ab366554b5eb0806a6f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/modules.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/modules.pyi new file mode 120000 index 0000000..1d576fd --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/modules.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c5/aa/e8/b82bba0dee6a17d745aab19969fc59f39a7b9e957de7ca3eb982311b41 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/multiarray.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/multiarray.pyi new file mode 120000 index 0000000..aa2e5ec --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/multiarray.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b9/22/d9/a164121c72269bb9ce981b47cbd3ec9b1cbaa8edd78edf044ef2cda33b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/nbit_base_example.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/nbit_base_example.pyi new file mode 120000 index 0000000..dc220be --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/nbit_base_example.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/76/5a/42/e6d8460beea23cdc2311c9247aaba4da378d8db7c014ad31c8336a98e4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/ndarray_conversion.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/ndarray_conversion.pyi new file mode 120000 index 0000000..e8188bf --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/ndarray_conversion.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c3/35/59/a5880d6f278798c59977f934c306e25d1ace332fbfd182feb957a2242c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/ndarray_misc.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/ndarray_misc.pyi new file mode 120000 index 0000000..a0bcdcb --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/ndarray_misc.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/95/cc/f5/07e55f632f79bd7502341608b8893e783e3201e8d515dbd49f696105bc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/ndarray_shape_manipulation.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/ndarray_shape_manipulation.pyi new file mode 120000 index 0000000..7b17cdc --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/ndarray_shape_manipulation.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/63/0c/fe/7ec18e4017f3b3ad99da1c0b952b59264d7e5ea535d84845d5757ef343 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/nditer.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/nditer.pyi new file mode 120000 index 0000000..83c53b1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/nditer.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ed/bc/6b/401a0ca2ef34d78b7b6e20f8e06c79dfec34c8aedd8a966e5fe1873d52 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/nested_sequence.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/nested_sequence.pyi new file mode 120000 index 0000000..fcc3057 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/nested_sequence.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/93/c0/1a/73d1cfe9cba7456c2453b04a476e54ad31e91293ce5f9cecca57517624 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/npyio.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/npyio.pyi new file mode 120000 index 0000000..028a777 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/npyio.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/50/9d/73/9e6265016eff847ea98743f258ac3ab732ba5d036aa693eb3b9e2bf6e5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/numeric.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/numeric.pyi new file mode 120000 index 0000000..6fd2fac --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/numeric.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/60/90/45/8218312b7041b9e1113b9577a3b56aae6925294b6b986b175d03c7dd16 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/numerictypes.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/numerictypes.pyi new file mode 120000 index 0000000..33706aa --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/numerictypes.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1e/38/fa/96baaab435af06d60409c7e6e3fc68789bd8e4c89309aaa9aedf06c71d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/random.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/random.pyi new file mode 120000 index 0000000..555f340 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/random.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/28/11/da/03c4c0bce5145baf06d9175f3166bc5b531146d1d66e90e283b1af3e73 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/rec.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/rec.pyi new file mode 120000 index 0000000..62e23f8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/rec.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/48/e6/d7/4364dddb058f988fc896eff8314f4e7d9a6ff85fc5790212fa45428d5b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/scalars.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/scalars.pyi new file mode 120000 index 0000000..aa227ca --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/scalars.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e2/e5/c6/e1a59b6c4ec9f3f71a4a4773972cfd581100cc902a36016799a6744301 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/shape_base.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/shape_base.pyi new file mode 120000 index 0000000..da80966 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/shape_base.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e2/9f/0f/6b3839e4bc57e3579d903bbcc3001483ac3051facf5630af7cbe2d568f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/stride_tricks.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/stride_tricks.pyi new file mode 120000 index 0000000..add20e1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/stride_tricks.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/86/15/97/33c5bcf2489e18dfb4ee4e6f8099dce53f6306dc747bd4ba7f70245eeb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/testing.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/testing.pyi new file mode 120000 index 0000000..969e796 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/testing.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b2/eb/b4/bf7707440a33f5b67dcdc3097486afa265f52030c8f0ea504650d016c2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/twodim_base.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/twodim_base.pyi new file mode 120000 index 0000000..84da158 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/twodim_base.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/36/cb/7e/51210374339d75fc81cb546b9b14169831d128f777d925472213ddf5f9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/type_check.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/type_check.pyi new file mode 120000 index 0000000..be72323 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/type_check.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6e/45/30/1a8d4f4483b096c4392f36f8088fb8bdcfd0683fbbe70c16f5dc5fac6b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/ufunc_config.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/ufunc_config.pyi new file mode 120000 index 0000000..db01e24 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/ufunc_config.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d7/bf/31/d9b8b7730a91bc6b5f31655d832d739e0296b583caab78917cd89c6c7a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/ufunclike.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/ufunclike.pyi new file mode 120000 index 0000000..3a3e5f7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/ufunclike.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/d8/26/d8c7505a4c1446bde28b2926e71ccb5927b5a29d73f32226d120b71a29 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/ufuncs.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/ufuncs.pyi new file mode 120000 index 0000000..98bd504 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/ufuncs.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/89/ab/bf/b86d6899b4cd0769e1a5481d1a76373f1c7a9948faebbb515df2cebc42 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/version.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/version.pyi new file mode 120000 index 0000000..b806700 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/version.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4f/61/02/2602437100dde5fef57899a79bf42a997598b419e54f9c68989ab10262 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/warnings_and_errors.pyi b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/warnings_and_errors.pyi new file mode 120000 index 0000000..42241e5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/data/reveal/warnings_and_errors.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/40/96/fb/a42130f81de9cfd39c0fa4722b5df99584f80908b2b7bd32c69ef4f2a4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/test_generic_alias.py b/venv/lib/python3.8/site-packages/numpy/typing/tests/test_generic_alias.py new file mode 120000 index 0000000..1a9a062 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/test_generic_alias.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/87/cc/78/b2938ba6d17746d8e5284bc8e18695d585f15c474a84afcb15e6d9a830 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/test_isfile.py b/venv/lib/python3.8/site-packages/numpy/typing/tests/test_isfile.py new file mode 120000 index 0000000..89f66c6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/test_isfile.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c4/5e/9a/5918f47220403e8c2c1b1ddf314c1102bcb3f25c460c58893e9f881b17 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/test_runtime.py b/venv/lib/python3.8/site-packages/numpy/typing/tests/test_runtime.py new file mode 120000 index 0000000..ab635de --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/test_runtime.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c4/99/fa/8168e9038e264513704662aa3b8cf992ed649f6575b655ce688c072ec0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/typing/tests/test_typing.py b/venv/lib/python3.8/site-packages/numpy/typing/tests/test_typing.py new file mode 120000 index 0000000..564653a --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/typing/tests/test_typing.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/56/a8/02/af5e1bd6937612f0bf2e3c8d9cc36fc1cdecb885748fac00705799acf1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/numpy/version.py b/venv/lib/python3.8/site-packages/numpy/version.py new file mode 120000 index 0000000..21e51e3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/numpy/version.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ed/67/e6/38570ab105718af5cdea0d2a652ffe0f63cef468ac01f44e92ae55940f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/packaging-21.3.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/packaging-21.3.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/packaging-21.3.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/packaging-21.3.dist-info/LICENSE b/venv/lib/python3.8/site-packages/packaging-21.3.dist-info/LICENSE new file mode 120000 index 0000000..18135e2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/packaging-21.3.dist-info/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ca/d1/ef/5bd340d73e074ba614d26f7deaca5c7940c3d8c34852e65c4909686c48 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/packaging-21.3.dist-info/LICENSE.APACHE b/venv/lib/python3.8/site-packages/packaging-21.3.dist-info/LICENSE.APACHE new file mode 120000 index 0000000..37897a9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/packaging-21.3.dist-info/LICENSE.APACHE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0d/54/2e/0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/packaging-21.3.dist-info/LICENSE.BSD b/venv/lib/python3.8/site-packages/packaging-21.3.dist-info/LICENSE.BSD new file mode 120000 index 0000000..25c4966 --- /dev/null +++ b/venv/lib/python3.8/site-packages/packaging-21.3.dist-info/LICENSE.BSD @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b7/0e/7e/9b742f1cc6f948b34c16aa39ffece94196364bc88ff0d2180f0028fac5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/packaging-21.3.dist-info/METADATA b/venv/lib/python3.8/site-packages/packaging-21.3.dist-info/METADATA new file mode 120000 index 0000000..de21b1b --- /dev/null +++ b/venv/lib/python3.8/site-packages/packaging-21.3.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2a/e2/88/cbaa832cfdecbc8b7a7a309bc410e1bead7579b92050de7931ec8a1727 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/packaging-21.3.dist-info/RECORD b/venv/lib/python3.8/site-packages/packaging-21.3.dist-info/RECORD new file mode 100644 index 0000000..4b20837 --- /dev/null +++ b/venv/lib/python3.8/site-packages/packaging-21.3.dist-info/RECORD @@ -0,0 +1,33 @@ +packaging-21.3.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +packaging-21.3.dist-info/LICENSE,sha256=ytHvW9NA1z4HS6YU0m996spceUDD2MNIUuZcSQlobEg,197 +packaging-21.3.dist-info/LICENSE.APACHE,sha256=DVQuDIgE45qn836wDaWnYhSdxoLXgpRRKH4RuTjpRZQ,10174 +packaging-21.3.dist-info/LICENSE.BSD,sha256=tw5-m3QvHMb5SLNMFqo5_-zpQZY2S8iP8NIYDwAo-sU,1344 +packaging-21.3.dist-info/METADATA,sha256=KuKIy6qDLP3svIt6ejCbxBDhvq11ebkgUN55MeyKFyc,15147 +packaging-21.3.dist-info/RECORD,, +packaging-21.3.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +packaging-21.3.dist-info/WHEEL,sha256=ewwEueio1C2XeHTvT17n8dZUJgOvyCWCt0WVNLClP9o,92 +packaging-21.3.dist-info/direct_url.json,sha256=lFrTqUqCe_n3vmeDS_PjjgmnZUe4QBYcXeIA6IctkUA,250 +packaging-21.3.dist-info/top_level.txt,sha256=zFdHrhWnPslzsiP455HutQsqPB6v0KCtNUMtUtrefDw,10 +packaging/__about__.py,sha256=ugASIO2w1oUyH8_COqQ2X_s0rDhjbhQC3yJocD03h2c,661 +packaging/__init__.py,sha256=b9Kk5MF7KxhhLgcDmiUWukN-LatWFxPdNug0joPhHSk,497 +packaging/__pycache__/__about__.cpython-38.pyc,, +packaging/__pycache__/__init__.cpython-38.pyc,, +packaging/__pycache__/_manylinux.cpython-38.pyc,, +packaging/__pycache__/_musllinux.cpython-38.pyc,, +packaging/__pycache__/_structures.cpython-38.pyc,, +packaging/__pycache__/markers.cpython-38.pyc,, +packaging/__pycache__/requirements.cpython-38.pyc,, +packaging/__pycache__/specifiers.cpython-38.pyc,, +packaging/__pycache__/tags.cpython-38.pyc,, +packaging/__pycache__/utils.cpython-38.pyc,, +packaging/__pycache__/version.cpython-38.pyc,, +packaging/_manylinux.py,sha256=XcbiXB-qcjv3bcohp6N98TMpOP4_j3m-iOA8ptK2GWY,11488 +packaging/_musllinux.py,sha256=_KGgY_qc7vhMGpoqss25n2hiLCNKRtvz9mCrS7gkqyc,4378 +packaging/_structures.py,sha256=q3eVNmbWJGG_S0Dit_S3Ao8qQqz_5PYTXFAKBZe5yr4,1431 +packaging/markers.py,sha256=Fygi3_eZnjQ-3VJizW5AhI5wvo0Hb6RMk4DidsKpOC0,8475 +packaging/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +packaging/requirements.py,sha256=rjaGRCMepZS1mlYMjJ5Qh6rfq3gtsCRQUQmftGZ_bu8,4664 +packaging/specifiers.py,sha256=LRQ0kFsHrl5qfcFNEEJrIFYsnIHQUJXY9fIsakTrrqE,30110 +packaging/tags.py,sha256=lmsnGNiJ8C4D_Pf9PbM0qgbZvD9kmB9lpZBQUZa3R_Y,15699 +packaging/utils.py,sha256=dJjeat3BS-TYn1RrUFVwufUMasbtzLfYRoy_HXENeFQ,4200 +packaging/version.py,sha256=_fLRNrFrxYcHVfyo8vk9j8s6JM8N_xsSxVFr6RJyco8,14665 diff --git a/venv/lib/python3.8/site-packages/packaging-21.3.dist-info/REQUESTED b/venv/lib/python3.8/site-packages/packaging-21.3.dist-info/REQUESTED new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.8/site-packages/packaging-21.3.dist-info/WHEEL b/venv/lib/python3.8/site-packages/packaging-21.3.dist-info/WHEEL new file mode 120000 index 0000000..e14c71b --- /dev/null +++ b/venv/lib/python3.8/site-packages/packaging-21.3.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7b/0c/04/b9e8a8d42d977874ef4f5ee7f1d6542603afc82582b7459534b0a53fda \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/packaging-21.3.dist-info/direct_url.json b/venv/lib/python3.8/site-packages/packaging-21.3.dist-info/direct_url.json new file mode 100644 index 0000000..9b0619e --- /dev/null +++ b/venv/lib/python3.8/site-packages/packaging-21.3.dist-info/direct_url.json @@ -0,0 +1 @@ +{"archive_info": {"hash": "sha256=ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522"}, "url": "https://files.pythonhosted.org/packages/05/8e/8de486cbd03baba4deef4142bd643a3e7bbe954a784dc1bb17142572d127/packaging-21.3-py3-none-any.whl"} \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/packaging-21.3.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/packaging-21.3.dist-info/top_level.txt new file mode 120000 index 0000000..4b2d040 --- /dev/null +++ b/venv/lib/python3.8/site-packages/packaging-21.3.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cc/57/47/ae15a73ec973b223f8e791eeb50b2a3c1eafd0a0ad35432d52dade7c3c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/packaging/__about__.py b/venv/lib/python3.8/site-packages/packaging/__about__.py new file mode 120000 index 0000000..a5d7d12 --- /dev/null +++ b/venv/lib/python3.8/site-packages/packaging/__about__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ba/00/12/20edb0d685321fcfc23aa4365ffb34ac38636e1402df2268703d378767 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/packaging/__init__.py b/venv/lib/python3.8/site-packages/packaging/__init__.py new file mode 120000 index 0000000..5d445b1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/packaging/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6f/d2/a4/e4c17b2b18612e07039a2516ba437e2dab561713dd36e8348e83e11d29 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/packaging/__pycache__/__about__.cpython-38.pyc b/venv/lib/python3.8/site-packages/packaging/__pycache__/__about__.cpython-38.pyc new file mode 100644 index 0000000..5fd9488 Binary files /dev/null and b/venv/lib/python3.8/site-packages/packaging/__pycache__/__about__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/packaging/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/packaging/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..2fd5da7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/packaging/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/packaging/__pycache__/_manylinux.cpython-38.pyc b/venv/lib/python3.8/site-packages/packaging/__pycache__/_manylinux.cpython-38.pyc new file mode 100644 index 0000000..fa75960 Binary files /dev/null and b/venv/lib/python3.8/site-packages/packaging/__pycache__/_manylinux.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/packaging/__pycache__/_musllinux.cpython-38.pyc b/venv/lib/python3.8/site-packages/packaging/__pycache__/_musllinux.cpython-38.pyc new file mode 100644 index 0000000..b020edd Binary files /dev/null and b/venv/lib/python3.8/site-packages/packaging/__pycache__/_musllinux.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/packaging/__pycache__/_structures.cpython-38.pyc b/venv/lib/python3.8/site-packages/packaging/__pycache__/_structures.cpython-38.pyc new file mode 100644 index 0000000..89d67fd Binary files /dev/null and b/venv/lib/python3.8/site-packages/packaging/__pycache__/_structures.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/packaging/__pycache__/markers.cpython-38.pyc b/venv/lib/python3.8/site-packages/packaging/__pycache__/markers.cpython-38.pyc new file mode 100644 index 0000000..aa06370 Binary files /dev/null and b/venv/lib/python3.8/site-packages/packaging/__pycache__/markers.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/packaging/__pycache__/requirements.cpython-38.pyc b/venv/lib/python3.8/site-packages/packaging/__pycache__/requirements.cpython-38.pyc new file mode 100644 index 0000000..fcdda44 Binary files /dev/null and b/venv/lib/python3.8/site-packages/packaging/__pycache__/requirements.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/packaging/__pycache__/specifiers.cpython-38.pyc b/venv/lib/python3.8/site-packages/packaging/__pycache__/specifiers.cpython-38.pyc new file mode 100644 index 0000000..4024513 Binary files /dev/null and b/venv/lib/python3.8/site-packages/packaging/__pycache__/specifiers.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/packaging/__pycache__/tags.cpython-38.pyc b/venv/lib/python3.8/site-packages/packaging/__pycache__/tags.cpython-38.pyc new file mode 100644 index 0000000..6352b12 Binary files /dev/null and b/venv/lib/python3.8/site-packages/packaging/__pycache__/tags.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/packaging/__pycache__/utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/packaging/__pycache__/utils.cpython-38.pyc new file mode 100644 index 0000000..9586278 Binary files /dev/null and b/venv/lib/python3.8/site-packages/packaging/__pycache__/utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/packaging/__pycache__/version.cpython-38.pyc b/venv/lib/python3.8/site-packages/packaging/__pycache__/version.cpython-38.pyc new file mode 100644 index 0000000..78cbaa6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/packaging/__pycache__/version.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/packaging/_manylinux.py b/venv/lib/python3.8/site-packages/packaging/_manylinux.py new file mode 120000 index 0000000..8cc1700 --- /dev/null +++ b/venv/lib/python3.8/site-packages/packaging/_manylinux.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5d/c6/e2/5c1faa723bf76dca21a7a37df1332938fe3f8f79be88e03ca6d2b61966 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/packaging/_musllinux.py b/venv/lib/python3.8/site-packages/packaging/_musllinux.py new file mode 120000 index 0000000..8c1d2b2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/packaging/_musllinux.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fc/a1/a0/63fa9ceef84c1a9a2ab2cdb99f68622c234a46dbf3f660ab4bb824ab27 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/packaging/_structures.py b/venv/lib/python3.8/site-packages/packaging/_structures.py new file mode 120000 index 0000000..aa9043c --- /dev/null +++ b/venv/lib/python3.8/site-packages/packaging/_structures.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ab/77/95/3666d62461bf4b40e2b7f4b7028f2a42acffe4f6135c500a0597b9cabe \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/packaging/markers.py b/venv/lib/python3.8/site-packages/packaging/markers.py new file mode 120000 index 0000000..e168c89 --- /dev/null +++ b/venv/lib/python3.8/site-packages/packaging/markers.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/17/28/22/dff7999e343edd5262cd6e40848e70be8d076fa44c9380e276c2a9382d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/packaging/py.typed b/venv/lib/python3.8/site-packages/packaging/py.typed new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/packaging/py.typed @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/packaging/requirements.py b/venv/lib/python3.8/site-packages/packaging/requirements.py new file mode 120000 index 0000000..0d98efa --- /dev/null +++ b/venv/lib/python3.8/site-packages/packaging/requirements.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ae/36/86/44231ea594b59a560c8c9e5087aadfab782db0245051099fb4667f6eef \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/packaging/specifiers.py b/venv/lib/python3.8/site-packages/packaging/specifiers.py new file mode 120000 index 0000000..8a3c05e --- /dev/null +++ b/venv/lib/python3.8/site-packages/packaging/specifiers.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2d/14/34/905b07ae5e6a7dc14d10426b20562c9c81d05095d8f5f22c6a44ebaea1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/packaging/tags.py b/venv/lib/python3.8/site-packages/packaging/tags.py new file mode 120000 index 0000000..94b9531 --- /dev/null +++ b/venv/lib/python3.8/site-packages/packaging/tags.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/96/6b/27/18d889f02e03fcf7fd3db334aa06d9bc3f64981f65a590505196b747f6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/packaging/utils.py b/venv/lib/python3.8/site-packages/packaging/utils.py new file mode 120000 index 0000000..239ca34 --- /dev/null +++ b/venv/lib/python3.8/site-packages/packaging/utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/74/98/de/6addc14be4d89f546b505570b9f50c6ac6edccb7d8468cbf1d710d7854 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/packaging/version.py b/venv/lib/python3.8/site-packages/packaging/version.py new file mode 120000 index 0000000..28ca3a7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/packaging/version.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fd/f2/d1/36b16bc5870755fca8f2f93d8fcb3a24cf0dff1b12c5516be91272728f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/parso-0.8.3.dist-info/AUTHORS.txt b/venv/lib/python3.8/site-packages/parso-0.8.3.dist-info/AUTHORS.txt new file mode 120000 index 0000000..13f9fa0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/parso-0.8.3.dist-info/AUTHORS.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/48/30/a0/bbc85794105c8cf3f2513f92296db4fc83363315bef7984a15a448ab22 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/parso-0.8.3.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/parso-0.8.3.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/parso-0.8.3.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/parso-0.8.3.dist-info/LICENSE.txt b/venv/lib/python3.8/site-packages/parso-0.8.3.dist-info/LICENSE.txt new file mode 120000 index 0000000..7dbb82c --- /dev/null +++ b/venv/lib/python3.8/site-packages/parso-0.8.3.dist-info/LICENSE.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fa/67/97/3073753d17624caf8684d5ee816d70c89d912c5bca7ca0f08e7b150edb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/parso-0.8.3.dist-info/METADATA b/venv/lib/python3.8/site-packages/parso-0.8.3.dist-info/METADATA new file mode 120000 index 0000000..6586580 --- /dev/null +++ b/venv/lib/python3.8/site-packages/parso-0.8.3.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a5/86/b3/0d7d5e2078a407403f87fb879a3e0f960ec08f5655684ae32f996383cf \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/parso-0.8.3.dist-info/RECORD b/venv/lib/python3.8/site-packages/parso-0.8.3.dist-info/RECORD new file mode 100644 index 0000000..47ae44c --- /dev/null +++ b/venv/lib/python3.8/site-packages/parso-0.8.3.dist-info/RECORD @@ -0,0 +1,59 @@ +parso-0.8.3.dist-info/AUTHORS.txt,sha256=SDCgu8hXlBBcjPPyUT-SKW20_IM2MxW-95hKFaRIqyI,2029 +parso-0.8.3.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +parso-0.8.3.dist-info/LICENSE.txt,sha256=-meXMHN1PRdiTK-GhNXugW1wyJ2RLFvKfKDwjnsVDts,4176 +parso-0.8.3.dist-info/METADATA,sha256=pYazDX1eIHikB0A_h_uHmj4Plg7Aj1ZVaErjL5ljg88,7546 +parso-0.8.3.dist-info/RECORD,, +parso-0.8.3.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +parso-0.8.3.dist-info/WHEEL,sha256=kGT74LWyRUZrL4VgLh6_g12IeVl_9u9ZVhadrgXZUEY,110 +parso-0.8.3.dist-info/direct_url.json,sha256=jCTCbkJxc08b2u7boZlfwY8XUGlDN79Bq7JJp5m2J8E,251 +parso-0.8.3.dist-info/top_level.txt,sha256=GOOKQCPcnr0_7IRArxyI0CX5LLu4WLlzIRAVWS-vJ4s,6 +parso/__init__.py,sha256=eatQ-us9dJoFPpMfoSsmGXzoZSnMDxuOTEIY1PC3LSc,1607 +parso/__pycache__/__init__.cpython-38.pyc,, +parso/__pycache__/_compatibility.cpython-38.pyc,, +parso/__pycache__/cache.cpython-38.pyc,, +parso/__pycache__/file_io.cpython-38.pyc,, +parso/__pycache__/grammar.cpython-38.pyc,, +parso/__pycache__/normalizer.cpython-38.pyc,, +parso/__pycache__/parser.cpython-38.pyc,, +parso/__pycache__/tree.cpython-38.pyc,, +parso/__pycache__/utils.cpython-38.pyc,, +parso/_compatibility.py,sha256=y-fATJ1dyaoVry175CMDBA088IGTxChkCKD2dUAnsrU,70 +parso/cache.py,sha256=KyQBZdTuBXhDjLmwTSLOgyQoq4NLt_wNr1882DTkOW4,8452 +parso/file_io.py,sha256=2SbXQuMpjAaQ0OYvxZXOgl-oU945-CrIei3eEamWWmk,1023 +parso/grammar.py,sha256=g98usXJOjb2vvEDyoh1MWtWbiOX2XP0wiLmayt_Mxug,10483 +parso/normalizer.py,sha256=geYG9UZQ6ZpafTc_CiXQoBt8VImdBsiNw6_GJLeSGbg,5597 +parso/parser.py,sha256=qlIrRikSxAccfsC6B6Y9sPWyEhR0HIBaCbNveV1OcAE,7182 +parso/pgen2/__init__.py,sha256=kFfRZsSReM49V0YIJ_cG0_TMTew2t4IMbG95KO2BI8E,382 +parso/pgen2/__pycache__/__init__.cpython-38.pyc,, +parso/pgen2/__pycache__/generator.cpython-38.pyc,, +parso/pgen2/__pycache__/grammar_parser.cpython-38.pyc,, +parso/pgen2/generator.py,sha256=5kS5eBjz9sDdavUMwNyw6FtDPhv-PVXiuyDUNC8KiLQ,14570 +parso/pgen2/grammar_parser.py,sha256=knJh3a40_JxUkb0HePG78ZZoqjpPNk3uZwNOz2EkkV4,5515 +parso/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +parso/python/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +parso/python/__pycache__/__init__.cpython-38.pyc,, +parso/python/__pycache__/diff.cpython-38.pyc,, +parso/python/__pycache__/errors.cpython-38.pyc,, +parso/python/__pycache__/parser.cpython-38.pyc,, +parso/python/__pycache__/pep8.cpython-38.pyc,, +parso/python/__pycache__/prefix.cpython-38.pyc,, +parso/python/__pycache__/token.cpython-38.pyc,, +parso/python/__pycache__/tokenize.cpython-38.pyc,, +parso/python/__pycache__/tree.cpython-38.pyc,, +parso/python/diff.py,sha256=jyrqWRKklyPPezZRKRHxoKbhkywiCUoGH_K1HcRSyMA,34206 +parso/python/errors.py,sha256=0nTFd692jKvxHpwklkbz1lRByPFTj_f1xmtVsk0ji2E,47955 +parso/python/grammar310.txt,sha256=QwXaHqJcJ_zgi9FAAbdv1U_kKgcku9UWjHZoClbtpb4,7511 +parso/python/grammar311.txt,sha256=QwXaHqJcJ_zgi9FAAbdv1U_kKgcku9UWjHZoClbtpb4,7511 +parso/python/grammar312.txt,sha256=QwXaHqJcJ_zgi9FAAbdv1U_kKgcku9UWjHZoClbtpb4,7511 +parso/python/grammar36.txt,sha256=ezjXEeLpG9BBMrN0rbM3Z77mcn0XESxSlAaZEy2er-k,6948 +parso/python/grammar37.txt,sha256=Ke73_sTcivtBt2rkJaoNYiXa_zLenhCr96HOVPpZB_E,6804 +parso/python/grammar38.txt,sha256=OhPReVYqhsX2RWyVryca3RUGcvLb-R1dcbwdbgPIvBI,7591 +parso/python/grammar39.txt,sha256=cVrVbF9Pg5UJLFi2tvLetPkG-BOAkpqDa9hqslNjSHU,7499 +parso/python/parser.py,sha256=5OMU32ybPF6kcKUdbcfNNkDOK8hJy0B7fqi6b-Gfwqw,8108 +parso/python/pep8.py,sha256=tsuRslXZvfio8LTBIAbfExjBIT1f3Xjx3igt28fm3G4,33779 +parso/python/prefix.py,sha256=BM93VenBA1Vs-qk2AJSLBMJNn5BDbyVZLIZ5ScT4FIU,2743 +parso/python/token.py,sha256=0dzmQf6L59bEJb9MXYbrDtq3bAHNdTuk-PmOhox81G4,909 +parso/python/tokenize.py,sha256=kqmG8SEdkbLG3Gf6gQyeQZerp4yhzzXX14FCYOZJ5mI,25795 +parso/python/tree.py,sha256=RasTJEVX8G97JgvbAQnClnOm-ZyTmsTADVlHOLPKRBQ,37187 +parso/tree.py,sha256=deZ68uAq0jodEeumJpBYWXWciIXcBYfpsLpe1f1WLO8,16153 +parso/utils.py,sha256=qW8kJuw9pyK8WaIi37FX44kNjAaIgu15EGv7V_R4PmE,6620 diff --git a/venv/lib/python3.8/site-packages/parso-0.8.3.dist-info/REQUESTED b/venv/lib/python3.8/site-packages/parso-0.8.3.dist-info/REQUESTED new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.8/site-packages/parso-0.8.3.dist-info/WHEEL b/venv/lib/python3.8/site-packages/parso-0.8.3.dist-info/WHEEL new file mode 120000 index 0000000..d940cd1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/parso-0.8.3.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/90/64/fb/e0b5b245466b2f85602e1ebf835d8879597ff6ef5956169dae05d95046 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/parso-0.8.3.dist-info/direct_url.json b/venv/lib/python3.8/site-packages/parso-0.8.3.dist-info/direct_url.json new file mode 100644 index 0000000..4b32f91 --- /dev/null +++ b/venv/lib/python3.8/site-packages/parso-0.8.3.dist-info/direct_url.json @@ -0,0 +1 @@ +{"archive_info": {"hash": "sha256=c001d4636cd3aecdaf33cbb40aebb59b094be2a74c556778ef5576c175e19e75"}, "url": "https://files.pythonhosted.org/packages/05/63/8011bd08a4111858f79d2b09aad86638490d62fbf881c44e434a6dfca87b/parso-0.8.3-py2.py3-none-any.whl"} \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/parso-0.8.3.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/parso-0.8.3.dist-info/top_level.txt new file mode 120000 index 0000000..f7903c3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/parso-0.8.3.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/18/e3/8a/4023dc9ebd3fec8440af1c88d025f92cbbb858b973211015592faf278b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/parso/__init__.py b/venv/lib/python3.8/site-packages/parso/__init__.py new file mode 120000 index 0000000..5c18f4a --- /dev/null +++ b/venv/lib/python3.8/site-packages/parso/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/79/ab/50/faeb3d749a053e931fa12b26197ce86529cc0f1b8e4c4218d4f0b72d27 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/parso/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/parso/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..e4262b9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/parso/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/parso/__pycache__/_compatibility.cpython-38.pyc b/venv/lib/python3.8/site-packages/parso/__pycache__/_compatibility.cpython-38.pyc new file mode 100644 index 0000000..3a62a15 Binary files /dev/null and b/venv/lib/python3.8/site-packages/parso/__pycache__/_compatibility.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/parso/__pycache__/cache.cpython-38.pyc b/venv/lib/python3.8/site-packages/parso/__pycache__/cache.cpython-38.pyc new file mode 100644 index 0000000..6b1fa56 Binary files /dev/null and b/venv/lib/python3.8/site-packages/parso/__pycache__/cache.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/parso/__pycache__/file_io.cpython-38.pyc b/venv/lib/python3.8/site-packages/parso/__pycache__/file_io.cpython-38.pyc new file mode 100644 index 0000000..3fb3e12 Binary files /dev/null and b/venv/lib/python3.8/site-packages/parso/__pycache__/file_io.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/parso/__pycache__/grammar.cpython-38.pyc b/venv/lib/python3.8/site-packages/parso/__pycache__/grammar.cpython-38.pyc new file mode 100644 index 0000000..856481a Binary files /dev/null and b/venv/lib/python3.8/site-packages/parso/__pycache__/grammar.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/parso/__pycache__/normalizer.cpython-38.pyc b/venv/lib/python3.8/site-packages/parso/__pycache__/normalizer.cpython-38.pyc new file mode 100644 index 0000000..664f0dc Binary files /dev/null and b/venv/lib/python3.8/site-packages/parso/__pycache__/normalizer.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/parso/__pycache__/parser.cpython-38.pyc b/venv/lib/python3.8/site-packages/parso/__pycache__/parser.cpython-38.pyc new file mode 100644 index 0000000..19f962c Binary files /dev/null and b/venv/lib/python3.8/site-packages/parso/__pycache__/parser.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/parso/__pycache__/tree.cpython-38.pyc b/venv/lib/python3.8/site-packages/parso/__pycache__/tree.cpython-38.pyc new file mode 100644 index 0000000..fd147b0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/parso/__pycache__/tree.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/parso/__pycache__/utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/parso/__pycache__/utils.cpython-38.pyc new file mode 100644 index 0000000..cb1c6c0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/parso/__pycache__/utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/parso/_compatibility.py b/venv/lib/python3.8/site-packages/parso/_compatibility.py new file mode 120000 index 0000000..a2db1ce --- /dev/null +++ b/venv/lib/python3.8/site-packages/parso/_compatibility.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cb/e7/c0/4c9d5dc9aa15af2d7be42303040d3cf08193c4286408a0f6754027b2b5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/parso/cache.py b/venv/lib/python3.8/site-packages/parso/cache.py new file mode 120000 index 0000000..337a62e --- /dev/null +++ b/venv/lib/python3.8/site-packages/parso/cache.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2b/24/01/65d4ee0578438cb9b04d22ce832428ab834bb7fc0daf5f3cd834e4396e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/parso/file_io.py b/venv/lib/python3.8/site-packages/parso/file_io.py new file mode 120000 index 0000000..4fe7300 --- /dev/null +++ b/venv/lib/python3.8/site-packages/parso/file_io.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d9/26/d7/42e3298c0690d0e62fc595ce825fa853de39f82ac87a2dde11a9965a69 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/parso/grammar.py b/venv/lib/python3.8/site-packages/parso/grammar.py new file mode 120000 index 0000000..f9cedf9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/parso/grammar.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/83/df/2e/b1724e8dbdafbc40f2a21d4c5ad59b88e5f65cfd3088b99acadfccc6e8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/parso/normalizer.py b/venv/lib/python3.8/site-packages/parso/normalizer.py new file mode 120000 index 0000000..2df9902 --- /dev/null +++ b/venv/lib/python3.8/site-packages/parso/normalizer.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/81/e6/06/f54650e99a5a7d373f0a25d0a01b7c54899d06c88dc3afc624b79219b8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/parso/parser.py b/venv/lib/python3.8/site-packages/parso/parser.py new file mode 120000 index 0000000..5a07854 --- /dev/null +++ b/venv/lib/python3.8/site-packages/parso/parser.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/aa/52/2b/462912c4071c7ec0ba07a63db0f5b21214741c805a09b36f795d4e7001 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/parso/pgen2/__init__.py b/venv/lib/python3.8/site-packages/parso/pgen2/__init__.py new file mode 120000 index 0000000..e83b736 --- /dev/null +++ b/venv/lib/python3.8/site-packages/parso/pgen2/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/90/57/d1/66c49178ce3d57460827f706d3f4cc4dec36b7820c6c6f7928ed8123c1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/parso/pgen2/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/parso/pgen2/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..7d61076 Binary files /dev/null and b/venv/lib/python3.8/site-packages/parso/pgen2/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/parso/pgen2/__pycache__/generator.cpython-38.pyc b/venv/lib/python3.8/site-packages/parso/pgen2/__pycache__/generator.cpython-38.pyc new file mode 100644 index 0000000..3654d5d Binary files /dev/null and b/venv/lib/python3.8/site-packages/parso/pgen2/__pycache__/generator.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/parso/pgen2/__pycache__/grammar_parser.cpython-38.pyc b/venv/lib/python3.8/site-packages/parso/pgen2/__pycache__/grammar_parser.cpython-38.pyc new file mode 100644 index 0000000..37f6254 Binary files /dev/null and b/venv/lib/python3.8/site-packages/parso/pgen2/__pycache__/grammar_parser.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/parso/pgen2/generator.py b/venv/lib/python3.8/site-packages/parso/pgen2/generator.py new file mode 120000 index 0000000..3511ee6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/parso/pgen2/generator.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e6/44/b9/7818f3f6c0dd6af50cc0dcb0e85b433e1bfe3d55e2bb20d4342f0a88b4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/parso/pgen2/grammar_parser.py b/venv/lib/python3.8/site-packages/parso/pgen2/grammar_parser.py new file mode 120000 index 0000000..9f0bcdf --- /dev/null +++ b/venv/lib/python3.8/site-packages/parso/pgen2/grammar_parser.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/92/72/61/ddae34fc9c5491bd0778f1bbf19668aa3a4f364dee67034ecf6124915e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/parso/py.typed b/venv/lib/python3.8/site-packages/parso/py.typed new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/parso/py.typed @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/parso/python/__init__.py b/venv/lib/python3.8/site-packages/parso/python/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/parso/python/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/parso/python/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/parso/python/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..2588fce Binary files /dev/null and b/venv/lib/python3.8/site-packages/parso/python/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/parso/python/__pycache__/diff.cpython-38.pyc b/venv/lib/python3.8/site-packages/parso/python/__pycache__/diff.cpython-38.pyc new file mode 100644 index 0000000..b01b92a Binary files /dev/null and b/venv/lib/python3.8/site-packages/parso/python/__pycache__/diff.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/parso/python/__pycache__/errors.cpython-38.pyc b/venv/lib/python3.8/site-packages/parso/python/__pycache__/errors.cpython-38.pyc new file mode 100644 index 0000000..cfd0d5e Binary files /dev/null and b/venv/lib/python3.8/site-packages/parso/python/__pycache__/errors.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/parso/python/__pycache__/parser.cpython-38.pyc b/venv/lib/python3.8/site-packages/parso/python/__pycache__/parser.cpython-38.pyc new file mode 100644 index 0000000..aaec495 Binary files /dev/null and b/venv/lib/python3.8/site-packages/parso/python/__pycache__/parser.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/parso/python/__pycache__/pep8.cpython-38.pyc b/venv/lib/python3.8/site-packages/parso/python/__pycache__/pep8.cpython-38.pyc new file mode 100644 index 0000000..a2434ba Binary files /dev/null and b/venv/lib/python3.8/site-packages/parso/python/__pycache__/pep8.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/parso/python/__pycache__/prefix.cpython-38.pyc b/venv/lib/python3.8/site-packages/parso/python/__pycache__/prefix.cpython-38.pyc new file mode 100644 index 0000000..f361dac Binary files /dev/null and b/venv/lib/python3.8/site-packages/parso/python/__pycache__/prefix.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/parso/python/__pycache__/token.cpython-38.pyc b/venv/lib/python3.8/site-packages/parso/python/__pycache__/token.cpython-38.pyc new file mode 100644 index 0000000..370c050 Binary files /dev/null and b/venv/lib/python3.8/site-packages/parso/python/__pycache__/token.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/parso/python/__pycache__/tokenize.cpython-38.pyc b/venv/lib/python3.8/site-packages/parso/python/__pycache__/tokenize.cpython-38.pyc new file mode 100644 index 0000000..5c162cc Binary files /dev/null and b/venv/lib/python3.8/site-packages/parso/python/__pycache__/tokenize.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/parso/python/__pycache__/tree.cpython-38.pyc b/venv/lib/python3.8/site-packages/parso/python/__pycache__/tree.cpython-38.pyc new file mode 100644 index 0000000..12b5a29 Binary files /dev/null and b/venv/lib/python3.8/site-packages/parso/python/__pycache__/tree.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/parso/python/diff.py b/venv/lib/python3.8/site-packages/parso/python/diff.py new file mode 120000 index 0000000..5753c0e --- /dev/null +++ b/venv/lib/python3.8/site-packages/parso/python/diff.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8f/2a/ea/5912a49723cf7b36512911f1a0a6e1932c22094a061ff2b51dc452c8c0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/parso/python/errors.py b/venv/lib/python3.8/site-packages/parso/python/errors.py new file mode 120000 index 0000000..fc10ecf --- /dev/null +++ b/venv/lib/python3.8/site-packages/parso/python/errors.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d2/74/c5/77af768cabf11e9c249646f3d65441c8f1538ff7f5c66b55b24d238b61 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/parso/python/grammar310.txt b/venv/lib/python3.8/site-packages/parso/python/grammar310.txt new file mode 120000 index 0000000..8b616ec --- /dev/null +++ b/venv/lib/python3.8/site-packages/parso/python/grammar310.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/43/05/da/1ea25c27fce08bd14001b76fd54fe42a0724bbd5168c76680a56eda5be \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/parso/python/grammar311.txt b/venv/lib/python3.8/site-packages/parso/python/grammar311.txt new file mode 120000 index 0000000..8b616ec --- /dev/null +++ b/venv/lib/python3.8/site-packages/parso/python/grammar311.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/43/05/da/1ea25c27fce08bd14001b76fd54fe42a0724bbd5168c76680a56eda5be \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/parso/python/grammar312.txt b/venv/lib/python3.8/site-packages/parso/python/grammar312.txt new file mode 120000 index 0000000..8b616ec --- /dev/null +++ b/venv/lib/python3.8/site-packages/parso/python/grammar312.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/43/05/da/1ea25c27fce08bd14001b76fd54fe42a0724bbd5168c76680a56eda5be \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/parso/python/grammar36.txt b/venv/lib/python3.8/site-packages/parso/python/grammar36.txt new file mode 120000 index 0000000..6a0c3d5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/parso/python/grammar36.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7b/38/d7/11e2e91bd04132b374adb33767bee6727d17112c52940699132d9eafe9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/parso/python/grammar37.txt b/venv/lib/python3.8/site-packages/parso/python/grammar37.txt new file mode 120000 index 0000000..7e797a6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/parso/python/grammar37.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/29/ee/f7/fec4dc8afb41b76ae425aa0d6225daff32de9e10abf7a1ce54fa5907f1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/parso/python/grammar38.txt b/venv/lib/python3.8/site-packages/parso/python/grammar38.txt new file mode 120000 index 0000000..be1421d --- /dev/null +++ b/venv/lib/python3.8/site-packages/parso/python/grammar38.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3a/13/d1/79562a86c5f6456c95af271add150672f2dbf91d5d71bc1d6e03c8bc12 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/parso/python/grammar39.txt b/venv/lib/python3.8/site-packages/parso/python/grammar39.txt new file mode 120000 index 0000000..f8e0f82 --- /dev/null +++ b/venv/lib/python3.8/site-packages/parso/python/grammar39.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/71/5a/d5/6c5f4f8395092c58b6b6f2deb4f906f81380929a836bd86ab253634875 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/parso/python/parser.py b/venv/lib/python3.8/site-packages/parso/python/parser.py new file mode 120000 index 0000000..c6e8ece --- /dev/null +++ b/venv/lib/python3.8/site-packages/parso/python/parser.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e4/e3/14/df6c9b3c5ea470a51d6dc7cd3640ce2bc849cb407b7ea8ba6fe19fc2ac \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/parso/python/pep8.py b/venv/lib/python3.8/site-packages/parso/python/pep8.py new file mode 120000 index 0000000..42c9d18 --- /dev/null +++ b/venv/lib/python3.8/site-packages/parso/python/pep8.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b6/cb/91/b255d9bdf8a8f0b4c12006df1318c1213d5fdd78f1de282ddbc7e6dc6e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/parso/python/prefix.py b/venv/lib/python3.8/site-packages/parso/python/prefix.py new file mode 120000 index 0000000..ecb5b6b --- /dev/null +++ b/venv/lib/python3.8/site-packages/parso/python/prefix.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/04/cf/77/55e9c103556cfaa93600948b04c24d9f90436f25592c867949c4f81485 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/parso/python/token.py b/venv/lib/python3.8/site-packages/parso/python/token.py new file mode 120000 index 0000000..da42976 --- /dev/null +++ b/venv/lib/python3.8/site-packages/parso/python/token.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d1/dc/e6/41fe8be7d6c425bf4c5d86eb0edab76c01cd753ba4f8f98e868c7cd46e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/parso/python/tokenize.py b/venv/lib/python3.8/site-packages/parso/python/tokenize.py new file mode 120000 index 0000000..a594782 --- /dev/null +++ b/venv/lib/python3.8/site-packages/parso/python/tokenize.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/92/a9/86/f1211d91b2c6dc67fa810c9e4197aba78ca1cf35d7d7814260e649e662 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/parso/python/tree.py b/venv/lib/python3.8/site-packages/parso/python/tree.py new file mode 120000 index 0000000..642c31a --- /dev/null +++ b/venv/lib/python3.8/site-packages/parso/python/tree.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/45/ab/13/244557f06f7b260bdb0109c29673a6f99c939ac4c00d594738b3ca4414 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/parso/tree.py b/venv/lib/python3.8/site-packages/parso/tree.py new file mode 120000 index 0000000..2dff983 --- /dev/null +++ b/venv/lib/python3.8/site-packages/parso/tree.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/75/e6/7a/f2e02ad23a1d11eba626905859759c8885dc0587e9b0ba5ed5fd562cef \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/parso/utils.py b/venv/lib/python3.8/site-packages/parso/utils.py new file mode 120000 index 0000000..ea46873 --- /dev/null +++ b/venv/lib/python3.8/site-packages/parso/utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a9/6f/24/26ec3da722bc59a222dfb157e3890d8c068882ed79106bfb57f4783e61 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pastel-0.2.1.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/pastel-0.2.1.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/pastel-0.2.1.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/pastel-0.2.1.dist-info/LICENSE b/venv/lib/python3.8/site-packages/pastel-0.2.1.dist-info/LICENSE new file mode 120000 index 0000000..1cb34fe --- /dev/null +++ b/venv/lib/python3.8/site-packages/pastel-0.2.1.dist-info/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f2/f9/b4/60ba719da6626add264d3782f275a4ff7aab677beda08b330911e23adb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pastel-0.2.1.dist-info/METADATA b/venv/lib/python3.8/site-packages/pastel-0.2.1.dist-info/METADATA new file mode 120000 index 0000000..ec8d7b6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pastel-0.2.1.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/81/9c/f0/6b7f4d20ec4b3127ddb68e3afaf1c0ca5296f90ef4a943fdead52feee1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pastel-0.2.1.dist-info/RECORD b/venv/lib/python3.8/site-packages/pastel-0.2.1.dist-info/RECORD new file mode 100644 index 0000000..67f9743 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pastel-0.2.1.dist-info/RECORD @@ -0,0 +1,13 @@ +pastel-0.2.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +pastel-0.2.1.dist-info/LICENSE,sha256=8vm0YLpxnaZiat0mTTeC8nWk_3qrZ3vtoIszCRHiOts,1062 +pastel-0.2.1.dist-info/METADATA,sha256=gZzwa39NIOxLMSfdto46-vHAylKW-Q70qUP96tUv7uE,1874 +pastel-0.2.1.dist-info/RECORD,, +pastel-0.2.1.dist-info/WHEEL,sha256=FBKWNu1viS6GS7xtikL-oqqD3EK8beXX0M_2-Zs96BU,89 +pastel/__init__.py,sha256=Fswe-E8-WaGJDMO6wcoUcOP_ZA66JKGQ0xwJiqu3QAY,1266 +pastel/__pycache__/__init__.cpython-38.pyc,, +pastel/__pycache__/pastel.cpython-38.pyc,, +pastel/__pycache__/stack.cpython-38.pyc,, +pastel/__pycache__/style.cpython-38.pyc,, +pastel/pastel.py,sha256=vK1tLi5l9ggpjtjbWyjWbVK9RYhIUYKGmbu97mo_BXk,4288 +pastel/stack.py,sha256=4iIAYyDs0lYmd7k9ZOVt58VzS2xGAHeb8WAD-gknwdM,873 +pastel/style.py,sha256=7jzw_jTSaHnd8EmFyUzgfmqSzx5tQSekF_t24ckISiE,4019 diff --git a/venv/lib/python3.8/site-packages/pastel-0.2.1.dist-info/WHEEL b/venv/lib/python3.8/site-packages/pastel-0.2.1.dist-info/WHEEL new file mode 120000 index 0000000..73871ac --- /dev/null +++ b/venv/lib/python3.8/site-packages/pastel-0.2.1.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/14/12/96/36ed6f892e864bbc6d8a42fea2aa83dc42bc6de5d7d0cff6f99b3de815 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pastel/__init__.py b/venv/lib/python3.8/site-packages/pastel/__init__.py new file mode 120000 index 0000000..8528268 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pastel/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/16/cc/1e/f84f3e59a1890cc3bac1ca1470e3ff640eba24a190d31c098aabb74006 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pastel/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pastel/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..be44db6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pastel/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pastel/__pycache__/pastel.cpython-38.pyc b/venv/lib/python3.8/site-packages/pastel/__pycache__/pastel.cpython-38.pyc new file mode 100644 index 0000000..7c06fe3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pastel/__pycache__/pastel.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pastel/__pycache__/stack.cpython-38.pyc b/venv/lib/python3.8/site-packages/pastel/__pycache__/stack.cpython-38.pyc new file mode 100644 index 0000000..931ef15 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pastel/__pycache__/stack.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pastel/__pycache__/style.cpython-38.pyc b/venv/lib/python3.8/site-packages/pastel/__pycache__/style.cpython-38.pyc new file mode 100644 index 0000000..eaccb7c Binary files /dev/null and b/venv/lib/python3.8/site-packages/pastel/__pycache__/style.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pastel/pastel.py b/venv/lib/python3.8/site-packages/pastel/pastel.py new file mode 120000 index 0000000..21f1385 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pastel/pastel.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bc/ad/6d/2e2e65f608298ed8db5b28d66d52bd45884851828699bbbdee6a3f0579 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pastel/stack.py b/venv/lib/python3.8/site-packages/pastel/stack.py new file mode 120000 index 0000000..54fb6dc --- /dev/null +++ b/venv/lib/python3.8/site-packages/pastel/stack.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e2/22/00/6320ecd2562677b93d64e56de7c5734b6c4600779bf16003fa0927c1d3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pastel/style.py b/venv/lib/python3.8/site-packages/pastel/style.py new file mode 120000 index 0000000..d7b603a --- /dev/null +++ b/venv/lib/python3.8/site-packages/pastel/style.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ee/3c/f0/fe34d26879ddf04985c94ce07e6a92cf1e6d4127a417fb76e1c9084a21 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pexpect-4.8.0.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/pexpect-4.8.0.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/pexpect-4.8.0.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/pexpect-4.8.0.dist-info/LICENSE b/venv/lib/python3.8/site-packages/pexpect-4.8.0.dist-info/LICENSE new file mode 120000 index 0000000..f7cf89f --- /dev/null +++ b/venv/lib/python3.8/site-packages/pexpect-4.8.0.dist-info/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4a/48/3a/e1c4dc738a6c8b73feb49074e1835da02ab5aa686f2675029906fa364d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pexpect-4.8.0.dist-info/METADATA b/venv/lib/python3.8/site-packages/pexpect-4.8.0.dist-info/METADATA new file mode 120000 index 0000000..b688a6e --- /dev/null +++ b/venv/lib/python3.8/site-packages/pexpect-4.8.0.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/80/3e/10/351d17b9bb749cbcc71ff62175c5eb412e4c2071aec44fa426cd11349a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pexpect-4.8.0.dist-info/RECORD b/venv/lib/python3.8/site-packages/pexpect-4.8.0.dist-info/RECORD new file mode 100644 index 0000000..b5a4404 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pexpect-4.8.0.dist-info/RECORD @@ -0,0 +1,37 @@ +pexpect-4.8.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +pexpect-4.8.0.dist-info/LICENSE,sha256=Skg64cTcc4psi3P-tJB04YNdoCq1qmhvJnUCmQb6Nk0,987 +pexpect-4.8.0.dist-info/METADATA,sha256=gD4QNR0Xubt0nLzHH_YhdcXrQS5MIHGuxE-kJs0RNJo,2180 +pexpect-4.8.0.dist-info/RECORD,, +pexpect-4.8.0.dist-info/WHEEL,sha256=8zNYZbwQSXoB9IfXOjPfeNwvAsALAjffgk27FqvCWbo,110 +pexpect-4.8.0.dist-info/top_level.txt,sha256=O-b3UY9VQZkW3yDAeFNatUOKO4GojVWO4TTHoI9-E7k,8 +pexpect/ANSI.py,sha256=aA-3tdXz_FZ4G7PAqFZi5g1KBGQ6PzJzS0gm3ALZKZw,12177 +pexpect/FSM.py,sha256=tluiyUGMyIH3q_wLG6Ak1NZVuXUAGNDjq6k6BK1q8RY,13419 +pexpect/__init__.py,sha256=xF4qylJdK-FRy40tmhAXu99fV9ewFasxTH3DSgoZjzQ,3902 +pexpect/__pycache__/ANSI.cpython-38.pyc,, +pexpect/__pycache__/FSM.cpython-38.pyc,, +pexpect/__pycache__/__init__.cpython-38.pyc,, +pexpect/__pycache__/_async.cpython-38.pyc,, +pexpect/__pycache__/exceptions.cpython-38.pyc,, +pexpect/__pycache__/expect.cpython-38.pyc,, +pexpect/__pycache__/fdpexpect.cpython-38.pyc,, +pexpect/__pycache__/popen_spawn.cpython-38.pyc,, +pexpect/__pycache__/pty_spawn.cpython-38.pyc,, +pexpect/__pycache__/pxssh.cpython-38.pyc,, +pexpect/__pycache__/replwrap.cpython-38.pyc,, +pexpect/__pycache__/run.cpython-38.pyc,, +pexpect/__pycache__/screen.cpython-38.pyc,, +pexpect/__pycache__/spawnbase.cpython-38.pyc,, +pexpect/__pycache__/utils.cpython-38.pyc,, +pexpect/_async.py,sha256=UCUC9kbBZGjzG12YcR_M5yBjB4Dwc8nJOYNPklL-OdU,3304 +pexpect/bashrc.sh,sha256=CHK8qDg_HtDVdfyDULOV8MZDRDr4pOaIbo31XV58nQs,380 +pexpect/exceptions.py,sha256=A9C1PWbBc2j9AKvnv7UkPCawhFTEGYmeULW0vwbMvXQ,1068 +pexpect/expect.py,sha256=KKtBmx2MYa-yDE715XlHUcloKe5ndBD359a4OYVXD84,13827 +pexpect/fdpexpect.py,sha256=ugTrwveFi-zfl_nOPjbRyLUER1Wmhu8YxczCWtZgZWc,5828 +pexpect/popen_spawn.py,sha256=hVHOqr22jD2Pr-yVgsfwgqGAtULLi6kJLKQRrTBPvEg,6161 +pexpect/pty_spawn.py,sha256=ZygSYsdnVJ5acxiNM9gLvLrT2AVqgwJvbDcPaTxxv9E,37382 +pexpect/pxssh.py,sha256=bZHwFDOn1gC8U_Sl07eFFRlYfCjGCwEoC9WaZCHQo5Y,24279 +pexpect/replwrap.py,sha256=Raq9XgYfIlF-rH_CALgFbzK1H_A4o0NqmK9q45anmVA,5633 +pexpect/run.py,sha256=XK2GwW6_wbUZ6buIDbhouaOySVPnc5IahbgSjieks50,6628 +pexpect/screen.py,sha256=-twD4sIEp83nzuYH9lRDzwHfesoTgVGWglsBYWOK7Ks,13704 +pexpect/spawnbase.py,sha256=FoaNvkGYIXrD6xmBedrJmm_oVLMatqbGCXc027CugkQ,21247 +pexpect/utils.py,sha256=1jIhzU7eBvY3pbW3LZoJhCOU2KWqgty5HgQ6VBYIp5U,6019 diff --git a/venv/lib/python3.8/site-packages/pexpect-4.8.0.dist-info/WHEEL b/venv/lib/python3.8/site-packages/pexpect-4.8.0.dist-info/WHEEL new file mode 120000 index 0000000..f620832 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pexpect-4.8.0.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f3/33/58/65bc10497a01f487d73a33df78dc2f02c00b0237df824dbb16abc259ba \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pexpect-4.8.0.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/pexpect-4.8.0.dist-info/top_level.txt new file mode 120000 index 0000000..74d211a --- /dev/null +++ b/venv/lib/python3.8/site-packages/pexpect-4.8.0.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3b/e6/f7/518f55419916df20c078535ab5438a3b81a88d558ee134c7a08f7e13b9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pexpect/ANSI.py b/venv/lib/python3.8/site-packages/pexpect/ANSI.py new file mode 120000 index 0000000..710ad4b --- /dev/null +++ b/venv/lib/python3.8/site-packages/pexpect/ANSI.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/68/0f/b7/b5d5f3fc56781bb3c0a85662e60d4a04643a3f32734b4826dc02d9299c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pexpect/FSM.py b/venv/lib/python3.8/site-packages/pexpect/FSM.py new file mode 120000 index 0000000..969e164 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pexpect/FSM.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b6/5b/a2/c9418cc881f7abfc0b1ba024d4d655b9750018d0e3aba93a04ad6af116 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pexpect/__init__.py b/venv/lib/python3.8/site-packages/pexpect/__init__.py new file mode 120000 index 0000000..ac40c54 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pexpect/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c4/5e/2a/ca525d2be151cb8d2d9a1017bbdf5f57d7b015ab314c7dc34a0a198f34 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pexpect/__pycache__/ANSI.cpython-38.pyc b/venv/lib/python3.8/site-packages/pexpect/__pycache__/ANSI.cpython-38.pyc new file mode 100644 index 0000000..b798071 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pexpect/__pycache__/ANSI.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pexpect/__pycache__/FSM.cpython-38.pyc b/venv/lib/python3.8/site-packages/pexpect/__pycache__/FSM.cpython-38.pyc new file mode 100644 index 0000000..d46f0e7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pexpect/__pycache__/FSM.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pexpect/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pexpect/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..dc498f9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pexpect/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pexpect/__pycache__/_async.cpython-38.pyc b/venv/lib/python3.8/site-packages/pexpect/__pycache__/_async.cpython-38.pyc new file mode 100644 index 0000000..550ee2d Binary files /dev/null and b/venv/lib/python3.8/site-packages/pexpect/__pycache__/_async.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pexpect/__pycache__/exceptions.cpython-38.pyc b/venv/lib/python3.8/site-packages/pexpect/__pycache__/exceptions.cpython-38.pyc new file mode 100644 index 0000000..392ea72 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pexpect/__pycache__/exceptions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pexpect/__pycache__/expect.cpython-38.pyc b/venv/lib/python3.8/site-packages/pexpect/__pycache__/expect.cpython-38.pyc new file mode 100644 index 0000000..b6df4cf Binary files /dev/null and b/venv/lib/python3.8/site-packages/pexpect/__pycache__/expect.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pexpect/__pycache__/fdpexpect.cpython-38.pyc b/venv/lib/python3.8/site-packages/pexpect/__pycache__/fdpexpect.cpython-38.pyc new file mode 100644 index 0000000..54a8a8d Binary files /dev/null and b/venv/lib/python3.8/site-packages/pexpect/__pycache__/fdpexpect.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pexpect/__pycache__/popen_spawn.cpython-38.pyc b/venv/lib/python3.8/site-packages/pexpect/__pycache__/popen_spawn.cpython-38.pyc new file mode 100644 index 0000000..9bcb83f Binary files /dev/null and b/venv/lib/python3.8/site-packages/pexpect/__pycache__/popen_spawn.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pexpect/__pycache__/pty_spawn.cpython-38.pyc b/venv/lib/python3.8/site-packages/pexpect/__pycache__/pty_spawn.cpython-38.pyc new file mode 100644 index 0000000..45691f5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pexpect/__pycache__/pty_spawn.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pexpect/__pycache__/pxssh.cpython-38.pyc b/venv/lib/python3.8/site-packages/pexpect/__pycache__/pxssh.cpython-38.pyc new file mode 100644 index 0000000..3d10c1e Binary files /dev/null and b/venv/lib/python3.8/site-packages/pexpect/__pycache__/pxssh.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pexpect/__pycache__/replwrap.cpython-38.pyc b/venv/lib/python3.8/site-packages/pexpect/__pycache__/replwrap.cpython-38.pyc new file mode 100644 index 0000000..472d4be Binary files /dev/null and b/venv/lib/python3.8/site-packages/pexpect/__pycache__/replwrap.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pexpect/__pycache__/run.cpython-38.pyc b/venv/lib/python3.8/site-packages/pexpect/__pycache__/run.cpython-38.pyc new file mode 100644 index 0000000..cda121b Binary files /dev/null and b/venv/lib/python3.8/site-packages/pexpect/__pycache__/run.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pexpect/__pycache__/screen.cpython-38.pyc b/venv/lib/python3.8/site-packages/pexpect/__pycache__/screen.cpython-38.pyc new file mode 100644 index 0000000..978407a Binary files /dev/null and b/venv/lib/python3.8/site-packages/pexpect/__pycache__/screen.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pexpect/__pycache__/spawnbase.cpython-38.pyc b/venv/lib/python3.8/site-packages/pexpect/__pycache__/spawnbase.cpython-38.pyc new file mode 100644 index 0000000..dd607b4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pexpect/__pycache__/spawnbase.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pexpect/__pycache__/utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/pexpect/__pycache__/utils.cpython-38.pyc new file mode 100644 index 0000000..7415fff Binary files /dev/null and b/venv/lib/python3.8/site-packages/pexpect/__pycache__/utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pexpect/_async.py b/venv/lib/python3.8/site-packages/pexpect/_async.py new file mode 120000 index 0000000..700b6b6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pexpect/_async.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/50/25/02/f646c16468f31b5d98711fcce720630780f073c9c939834f9252fe39d5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pexpect/bashrc.sh b/venv/lib/python3.8/site-packages/pexpect/bashrc.sh new file mode 120000 index 0000000..e685372 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pexpect/bashrc.sh @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/08/72/bc/a8383f1ed0d575fc8350b395f0c643443af8a4e6886e8df55d5e7c9d0b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pexpect/exceptions.py b/venv/lib/python3.8/site-packages/pexpect/exceptions.py new file mode 120000 index 0000000..f926d19 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pexpect/exceptions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/03/d0/b5/3d66c17368fd00abe7bfb5243c26b08454c419899e50b5b4bf06ccbd74 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pexpect/expect.py b/venv/lib/python3.8/site-packages/pexpect/expect.py new file mode 120000 index 0000000..5f9a8c5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pexpect/expect.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/28/ab/41/9b1d8c61afb20c4ef5e5794751c96829ee677410f7e7d6b83985570fce \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pexpect/fdpexpect.py b/venv/lib/python3.8/site-packages/pexpect/fdpexpect.py new file mode 120000 index 0000000..e1db065 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pexpect/fdpexpect.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ba/04/eb/c2f7858becdf97f9ce3e36d1c8b5044755a686ef18c5ccc25ad6606567 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pexpect/popen_spawn.py b/venv/lib/python3.8/site-packages/pexpect/popen_spawn.py new file mode 120000 index 0000000..0145f83 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pexpect/popen_spawn.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/85/51/ce/aabdb68c3d8fafec9582c7f082a180b542cb8ba9092ca411ad304fbc48 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pexpect/pty_spawn.py b/venv/lib/python3.8/site-packages/pexpect/pty_spawn.py new file mode 120000 index 0000000..ce7427e --- /dev/null +++ b/venv/lib/python3.8/site-packages/pexpect/pty_spawn.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/67/28/12/62c767549e5a73188d33d80bbcbad3d8056a83026f6c370f693c71bfd1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pexpect/pxssh.py b/venv/lib/python3.8/site-packages/pexpect/pxssh.py new file mode 120000 index 0000000..32e1100 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pexpect/pxssh.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6d/91/f0/1433a7d600bc53f4a5d3b7851519587c28c60b01280bd59a6421d0a396 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pexpect/replwrap.py b/venv/lib/python3.8/site-packages/pexpect/replwrap.py new file mode 120000 index 0000000..7effc8c --- /dev/null +++ b/venv/lib/python3.8/site-packages/pexpect/replwrap.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/45/aa/bd/5e061f22517eac7fc200b8056f32b51ff038a3436a98af6ae396a79950 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pexpect/run.py b/venv/lib/python3.8/site-packages/pexpect/run.py new file mode 120000 index 0000000..992fa52 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pexpect/run.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5c/ad/86/c16ebfc1b519e9bb880db868b9a3b24953e773921a85b8128e27a4b39d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pexpect/screen.py b/venv/lib/python3.8/site-packages/pexpect/screen.py new file mode 120000 index 0000000..0272c4f --- /dev/null +++ b/venv/lib/python3.8/site-packages/pexpect/screen.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fa/dc/03/e2c204a7cde7cee607f65443cf01df7aca13815196825b0161638aecab \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pexpect/spawnbase.py b/venv/lib/python3.8/site-packages/pexpect/spawnbase.py new file mode 120000 index 0000000..d507f0c --- /dev/null +++ b/venv/lib/python3.8/site-packages/pexpect/spawnbase.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/16/86/8d/be4198217ac3eb198179dac99a6fe854b31ab6a6c6097734dbb0ae8244 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pexpect/utils.py b/venv/lib/python3.8/site-packages/pexpect/utils.py new file mode 120000 index 0000000..32a33c3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pexpect/utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d6/32/21/cd4ede06f637a5b5b72d9a09842394d8a5aa82dcb91e043a541608a795 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip-21.1.1.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/pip-21.1.1.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip-21.1.1.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/pip-21.1.1.dist-info/LICENSE.txt b/venv/lib/python3.8/site-packages/pip-21.1.1.dist-info/LICENSE.txt new file mode 100644 index 0000000..00addc2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip-21.1.1.dist-info/LICENSE.txt @@ -0,0 +1,20 @@ +Copyright (c) 2008-2021 The pip developers (see AUTHORS.txt file) + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/venv/lib/python3.8/site-packages/pip-21.1.1.dist-info/METADATA b/venv/lib/python3.8/site-packages/pip-21.1.1.dist-info/METADATA new file mode 100644 index 0000000..4253f5a --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip-21.1.1.dist-info/METADATA @@ -0,0 +1,91 @@ +Metadata-Version: 2.1 +Name: pip +Version: 21.1.1 +Summary: The PyPA recommended tool for installing Python packages. +Home-page: https://pip.pypa.io/ +Author: The pip developers +Author-email: distutils-sig@python.org +License: MIT +Project-URL: Documentation, https://pip.pypa.io +Project-URL: Source, https://github.com/pypa/pip +Project-URL: Changelog, https://pip.pypa.io/en/stable/news/ +Platform: UNKNOWN +Classifier: Development Status :: 5 - Production/Stable +Classifier: Intended Audience :: Developers +Classifier: License :: OSI Approved :: MIT License +Classifier: Topic :: Software Development :: Build Tools +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3 :: Only +Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: 3.8 +Classifier: Programming Language :: Python :: 3.9 +Classifier: Programming Language :: Python :: Implementation :: CPython +Classifier: Programming Language :: Python :: Implementation :: PyPy +Requires-Python: >=3.6 + +pip - The Python Package Installer +================================== + +.. image:: https://img.shields.io/pypi/v/pip.svg + :target: https://pypi.org/project/pip/ + +.. image:: https://readthedocs.org/projects/pip/badge/?version=latest + :target: https://pip.pypa.io/en/latest + +pip is the `package installer`_ for Python. You can use pip to install packages from the `Python Package Index`_ and other indexes. + +Please take a look at our documentation for how to install and use pip: + +* `Installation`_ +* `Usage`_ + +We release updates regularly, with a new version every 3 months. Find more details in our documentation: + +* `Release notes`_ +* `Release process`_ + +In pip 20.3, we've `made a big improvement to the heart of pip`_; `learn more`_. We want your input, so `sign up for our user experience research studies`_ to help us do it right. + +**Note**: pip 21.0, in January 2021, removed Python 2 support, per pip's `Python 2 support policy`_. Please migrate to Python 3. + +If you find bugs, need help, or want to talk to the developers, please use our mailing lists or chat rooms: + +* `Issue tracking`_ +* `Discourse channel`_ +* `User IRC`_ + +If you want to get involved head over to GitHub to get the source code, look at our development documentation and feel free to jump on the developer mailing lists and chat rooms: + +* `GitHub page`_ +* `Development documentation`_ +* `Development mailing list`_ +* `Development IRC`_ + +Code of Conduct +--------------- + +Everyone interacting in the pip project's codebases, issue trackers, chat +rooms, and mailing lists is expected to follow the `PSF Code of Conduct`_. + +.. _package installer: https://packaging.python.org/guides/tool-recommendations/ +.. _Python Package Index: https://pypi.org +.. _Installation: https://pip.pypa.io/en/stable/installing.html +.. _Usage: https://pip.pypa.io/en/stable/ +.. _Release notes: https://pip.pypa.io/en/stable/news.html +.. _Release process: https://pip.pypa.io/en/latest/development/release-process/ +.. _GitHub page: https://github.com/pypa/pip +.. _Development documentation: https://pip.pypa.io/en/latest/development +.. _made a big improvement to the heart of pip: https://pyfound.blogspot.com/2020/11/pip-20-3-new-resolver.html +.. _learn more: https://pip.pypa.io/en/latest/user_guide/#changes-to-the-pip-dependency-resolver-in-20-3-2020 +.. _sign up for our user experience research studies: https://pyfound.blogspot.com/2020/03/new-pip-resolver-to-roll-out-this-year.html +.. _Python 2 support policy: https://pip.pypa.io/en/latest/development/release-process/#python-2-support +.. _Issue tracking: https://github.com/pypa/pip/issues +.. _Discourse channel: https://discuss.python.org/c/packaging +.. _Development mailing list: https://mail.python.org/mailman3/lists/distutils-sig.python.org/ +.. _User IRC: https://webchat.freenode.net/?channels=%23pypa +.. _Development IRC: https://webchat.freenode.net/?channels=%23pypa-dev +.. _PSF Code of Conduct: https://github.com/pypa/.github/blob/main/CODE_OF_CONDUCT.md + + diff --git a/venv/lib/python3.8/site-packages/pip-21.1.1.dist-info/RECORD b/venv/lib/python3.8/site-packages/pip-21.1.1.dist-info/RECORD new file mode 100644 index 0000000..8747220 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip-21.1.1.dist-info/RECORD @@ -0,0 +1,797 @@ +../../../bin/pip,sha256=5QYHjtq_mAPU0xPuhtJmX5RHJLNiPO-33Gybxu4gmhw,241 +../../../bin/pip3,sha256=5QYHjtq_mAPU0xPuhtJmX5RHJLNiPO-33Gybxu4gmhw,241 +../../../bin/pip3.8,sha256=5QYHjtq_mAPU0xPuhtJmX5RHJLNiPO-33Gybxu4gmhw,241 +pip-21.1.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +pip-21.1.1.dist-info/LICENSE.txt,sha256=I6c2HCsVgQKLxiO52ivSSZeryqR4Gs5q1ESjeUT42uE,1090 +pip-21.1.1.dist-info/METADATA,sha256=xbneQteqeTXoxGVWMqjCPWS84jWH2te_vHc_D568b_4,4103 +pip-21.1.1.dist-info/RECORD,, +pip-21.1.1.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +pip-21.1.1.dist-info/WHEEL,sha256=OqRkF0eY5GHssMorFjlbTIq072vpHpF60fIQA6lS9xA,92 +pip-21.1.1.dist-info/entry_points.txt,sha256=HtfDOwpUlr9s73jqLQ6wF9V0_0qvUXJwCBz7Vwx0Ue0,125 +pip-21.1.1.dist-info/top_level.txt,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +pip/__init__.py,sha256=e-obaS2xNkFFV2A8A_64QHE7XEDrdKmwI3ETVsPkgfo,368 +pip/__main__.py,sha256=mXwWDftNLMKfwVqKFWGE_uuBZvGSIiUELhLkeysIuZc,1198 +pip/__pycache__/__init__.cpython-38.pyc,, +pip/__pycache__/__main__.cpython-38.pyc,, +pip/_internal/__init__.py,sha256=XvJ1JIumQnfLNFxVRdf_xrbhkTg1WMUrf2GzrH27F3A,410 +pip/_internal/__pycache__/__init__.cpython-38.pyc,, +pip/_internal/__pycache__/build_env.cpython-38.pyc,, +pip/_internal/__pycache__/cache.cpython-38.pyc,, +pip/_internal/__pycache__/configuration.cpython-38.pyc,, +pip/_internal/__pycache__/exceptions.cpython-38.pyc,, +pip/_internal/__pycache__/main.cpython-38.pyc,, +pip/_internal/__pycache__/pyproject.cpython-38.pyc,, +pip/_internal/__pycache__/self_outdated_check.cpython-38.pyc,, +pip/_internal/__pycache__/wheel_builder.cpython-38.pyc,, +pip/_internal/build_env.py,sha256=_cytb4PYke9wAqbZhK76_WyUXoJOiIhGuhglb5zNpBk,9643 +pip/_internal/cache.py,sha256=6VONtoReGZbBd7sqY1n6hwkdWC4iz3tmXwXwZjpjZKw,9958 +pip/_internal/cli/__init__.py,sha256=FkHBgpxxb-_gd6r1FjnNhfMOzAUYyXoXKJ6abijfcFU,132 +pip/_internal/cli/__pycache__/__init__.cpython-38.pyc,, +pip/_internal/cli/__pycache__/autocompletion.cpython-38.pyc,, +pip/_internal/cli/__pycache__/base_command.cpython-38.pyc,, +pip/_internal/cli/__pycache__/cmdoptions.cpython-38.pyc,, +pip/_internal/cli/__pycache__/command_context.cpython-38.pyc,, +pip/_internal/cli/__pycache__/main.cpython-38.pyc,, +pip/_internal/cli/__pycache__/main_parser.cpython-38.pyc,, +pip/_internal/cli/__pycache__/parser.cpython-38.pyc,, +pip/_internal/cli/__pycache__/progress_bars.cpython-38.pyc,, +pip/_internal/cli/__pycache__/req_command.cpython-38.pyc,, +pip/_internal/cli/__pycache__/spinners.cpython-38.pyc,, +pip/_internal/cli/__pycache__/status_codes.cpython-38.pyc,, +pip/_internal/cli/autocompletion.py,sha256=r2GQSaHHim1LwPhMaO9MPeKdsSv5H8S9ElVsmByQNew,6350 +pip/_internal/cli/base_command.py,sha256=26MHnlzZSC-Wk2j2OGsBDs5cl2ladrovJyVy1_2g0Zk,7741 +pip/_internal/cli/cmdoptions.py,sha256=52JIyP5C6yT8DpT1O2ZseAY-vMvLTb8FqO0g85OFYMs,28999 +pip/_internal/cli/command_context.py,sha256=k2JF5WPsP1MNKaXWK8jZFbJhYffzkdvGaPsL53tZbDU,815 +pip/_internal/cli/main.py,sha256=G_OsY66FZRtmLrMJ4k3m77tmtsRRRQd3_-qle1lvmng,2483 +pip/_internal/cli/main_parser.py,sha256=G70Z1fXLYzeJuuotgwKwq-daCJ0jCmmHxx6aFHz6WAQ,2642 +pip/_internal/cli/parser.py,sha256=rx4w6IgD0Obi7t1k9mV0zlYhy_DuCoaDCqhkUKMOFNU,11097 +pip/_internal/cli/progress_bars.py,sha256=ck_ILji6aRTG0zxXajnPWIpQTGxTzm3nscZOxwNmTWo,8576 +pip/_internal/cli/req_command.py,sha256=refPyZdKuluridcLaCdSJtgyYFchxd9y8pMMp_7PO-s,16884 +pip/_internal/cli/spinners.py,sha256=VLdSWCvyk3KokujLyBf_QKYcGbrePQoPB4v7jqG7xyA,5347 +pip/_internal/cli/status_codes.py,sha256=sEFHUaUJbqv8iArL3HAtcztWZmGOFX01hTesSytDEh0,116 +pip/_internal/commands/__init__.py,sha256=v-xml8oMwrQhCpmApkpcMOE97Mp8QaBxoRObnGS43_8,3659 +pip/_internal/commands/__pycache__/__init__.cpython-38.pyc,, +pip/_internal/commands/__pycache__/cache.cpython-38.pyc,, +pip/_internal/commands/__pycache__/check.cpython-38.pyc,, +pip/_internal/commands/__pycache__/completion.cpython-38.pyc,, +pip/_internal/commands/__pycache__/configuration.cpython-38.pyc,, +pip/_internal/commands/__pycache__/debug.cpython-38.pyc,, +pip/_internal/commands/__pycache__/download.cpython-38.pyc,, +pip/_internal/commands/__pycache__/freeze.cpython-38.pyc,, +pip/_internal/commands/__pycache__/hash.cpython-38.pyc,, +pip/_internal/commands/__pycache__/help.cpython-38.pyc,, +pip/_internal/commands/__pycache__/install.cpython-38.pyc,, +pip/_internal/commands/__pycache__/list.cpython-38.pyc,, +pip/_internal/commands/__pycache__/search.cpython-38.pyc,, +pip/_internal/commands/__pycache__/show.cpython-38.pyc,, +pip/_internal/commands/__pycache__/uninstall.cpython-38.pyc,, +pip/_internal/commands/__pycache__/wheel.cpython-38.pyc,, +pip/_internal/commands/cache.py,sha256=AELf98RWR_giU9wl0RSXf-MsTyO5G_iwO0iHoF4Fbmc,7414 +pip/_internal/commands/check.py,sha256=Dt0w7NqFp8o_45J7w32GQrKezsz2vwo_U8UmsHD9YNI,1587 +pip/_internal/commands/completion.py,sha256=UxS09s8rEnU08AAiN3gHdQIjU4XGSlv5SJ3rIJdTyhA,2951 +pip/_internal/commands/configuration.py,sha256=X1fdVdEg8MHFtArU-3bM6WBNax1E7Z7qszPEdlK1zqo,9206 +pip/_internal/commands/debug.py,sha256=yntOplw93VZoQAVBB3BXPKuqbam4mT6TErastFwFy3s,6806 +pip/_internal/commands/download.py,sha256=zv8S_DN2-k6K0VSR3yCPLSrLehoYkj3IvyO1Ho8t8V4,4993 +pip/_internal/commands/freeze.py,sha256=vPVguwBb15ubv8Es9oPSyWePBe2cq39QxjU4KizeTwk,3431 +pip/_internal/commands/hash.py,sha256=ip64AsJ6EFUEaWKDvsZmdQHks1JTEgrDjH5byl-IYyc,1713 +pip/_internal/commands/help.py,sha256=6Mnzrak_j-yE3psDCqi2GxISJqIZJ04DObKU9QhnxME,1149 +pip/_internal/commands/install.py,sha256=aFvZQfPrMrHDb6jjbmrVlyvDxMIeX3ZcZKSQvY6c0KI,27135 +pip/_internal/commands/list.py,sha256=jfqDS4xvm6WV8rHVSmvpaI811ukvD4OiPZwGGKMwwkI,11331 +pip/_internal/commands/search.py,sha256=EwcGPkDDTwFMpi2PBKhPuWX2YBMPcy7Ox1WFcWnouaw,5598 +pip/_internal/commands/show.py,sha256=sz2vbxh4l7Bj4jKlkDGTHYD6I8_duSpSUFVxUiH44xQ,6866 +pip/_internal/commands/uninstall.py,sha256=EDcx3a03l3U8tpZ2p4ffIdn45hY2YFEmq9yoeccF2ow,3216 +pip/_internal/commands/wheel.py,sha256=wKGSksuYjjhgOYa_jD6ulaKpPXaUzPiyzfRNNT4DOio,6233 +pip/_internal/configuration.py,sha256=QBLfhv-sbP-oR08NFxSYnv_mLB-SgtNOsWXAF9tDEcM,13725 +pip/_internal/distributions/__init__.py,sha256=ow1iPW_Qp-TOyOU-WghOKC8vAv1_Syk1zETZVO_vKEE,864 +pip/_internal/distributions/__pycache__/__init__.cpython-38.pyc,, +pip/_internal/distributions/__pycache__/base.cpython-38.pyc,, +pip/_internal/distributions/__pycache__/installed.cpython-38.pyc,, +pip/_internal/distributions/__pycache__/sdist.cpython-38.pyc,, +pip/_internal/distributions/__pycache__/wheel.cpython-38.pyc,, +pip/_internal/distributions/base.py,sha256=UVndaok0jOHrLH0JqN0YzlxVEnvFQumYy37diY3ZCuE,1245 +pip/_internal/distributions/installed.py,sha256=uaTMPvY3hr_M1BCy107vJHWspKMJgrPxv30W3_zZZ0Q,667 +pip/_internal/distributions/sdist.py,sha256=co8fNR8qIhHRLBncwV92oJ7e8IOCGPgEsbEFdNPk1Yk,3900 +pip/_internal/distributions/wheel.py,sha256=n9MqNoWyMqNscfbNeeqh1bztoZUiB5x1H9h4tFfiJUw,1205 +pip/_internal/exceptions.py,sha256=2JQJSS68oggR_ZIOA-h1U2DRADURbkQn9Nf4EZWZ834,13170 +pip/_internal/index/__init__.py,sha256=vpt-JeTZefh8a-FC22ZeBSXFVbuBcXSGiILhQZJaNpQ,30 +pip/_internal/index/__pycache__/__init__.cpython-38.pyc,, +pip/_internal/index/__pycache__/collector.cpython-38.pyc,, +pip/_internal/index/__pycache__/package_finder.cpython-38.pyc,, +pip/_internal/index/__pycache__/sources.cpython-38.pyc,, +pip/_internal/index/collector.py,sha256=aEXtHK0La4nGP7mu5N5CQ3tmfjaczLwbGi8Ar4oGz5o,18192 +pip/_internal/index/package_finder.py,sha256=3J9Rzq1NAO2p_zDb4fv33GeBBBOYusV9kXtAn2j6eCU,37294 +pip/_internal/index/sources.py,sha256=SVyPitv08-Qalh2_Bk5diAJ9GAA_d-a93koouQodAG0,6557 +pip/_internal/locations/__init__.py,sha256=9EXRxCpyiMClU87-P5E66tcFxybcA_KzLrzcK2Vt7zs,4826 +pip/_internal/locations/__pycache__/__init__.cpython-38.pyc,, +pip/_internal/locations/__pycache__/_distutils.cpython-38.pyc,, +pip/_internal/locations/__pycache__/_sysconfig.cpython-38.pyc,, +pip/_internal/locations/__pycache__/base.cpython-38.pyc,, +pip/_internal/locations/_distutils.py,sha256=L5flRSr9BH0lBwPUl61cyBc1OnVD06FOENkDMRjyg38,5212 +pip/_internal/locations/_sysconfig.py,sha256=Tt8gkN7shxbqoUlzqM19myiBRzbft9CzkmcSS4YHk1s,5959 +pip/_internal/locations/base.py,sha256=QbkpgmzIbWBnUL2_3qu29sqCNewoqYbkVw8KmigRe2c,1478 +pip/_internal/main.py,sha256=BZ0vkdqgpoteTo1A1Q8ovFe8EzgKFJWOUjPmIUQfGCY,351 +pip/_internal/metadata/__init__.py,sha256=KINR8ZYO_ilc2pkV3t5KcQLzWLNc3GjZDklGWTVJ-zU,1471 +pip/_internal/metadata/__pycache__/__init__.cpython-38.pyc,, +pip/_internal/metadata/__pycache__/base.cpython-38.pyc,, +pip/_internal/metadata/__pycache__/pkg_resources.cpython-38.pyc,, +pip/_internal/metadata/base.py,sha256=6BiB_b3lvNHYIVKbzrDhi0bJmSls5Q1K-iBeHWlKnIw,4750 +pip/_internal/metadata/pkg_resources.py,sha256=4FVPxYFABQ_1tbh_CRBzK4x0_SIgH1uCKx2ZLyhkouQ,4248 +pip/_internal/models/__init__.py,sha256=3DHUd_qxpPozfzouoqa9g9ts1Czr5qaHfFxbnxriepM,63 +pip/_internal/models/__pycache__/__init__.cpython-38.pyc,, +pip/_internal/models/__pycache__/candidate.cpython-38.pyc,, +pip/_internal/models/__pycache__/direct_url.cpython-38.pyc,, +pip/_internal/models/__pycache__/format_control.cpython-38.pyc,, +pip/_internal/models/__pycache__/index.cpython-38.pyc,, +pip/_internal/models/__pycache__/link.cpython-38.pyc,, +pip/_internal/models/__pycache__/scheme.cpython-38.pyc,, +pip/_internal/models/__pycache__/search_scope.cpython-38.pyc,, +pip/_internal/models/__pycache__/selection_prefs.cpython-38.pyc,, +pip/_internal/models/__pycache__/target_python.cpython-38.pyc,, +pip/_internal/models/__pycache__/wheel.cpython-38.pyc,, +pip/_internal/models/candidate.py,sha256=LlyGF2SMGjeet9bLbEAzAWDP82Wcp3342Ysa7tCW_9M,1001 +pip/_internal/models/direct_url.py,sha256=VrnJNOqcPznfNarjQJavsx2tgG7GfcLa6PyZCuf_L7A,6555 +pip/_internal/models/format_control.py,sha256=l2jp47mWsJp7-LxMs05l9T-qFg9Z5PwdyP9R7Xc_VZQ,2629 +pip/_internal/models/index.py,sha256=asMraZVPI0snye404GztEpXgKerj1yAFmZl2p3eN4Bg,1092 +pip/_internal/models/link.py,sha256=5wdHbGDLbafSdYpo2Ky7F9RRo226zRy6ik3cLH_8Kwc,7472 +pip/_internal/models/scheme.py,sha256=iqceC7gKiTn2ZLgCOgGQbcmo49TRg9EnQUSsQH3U-7A,770 +pip/_internal/models/search_scope.py,sha256=4uGNEqYrz4ku6_WzowqivuMvN0fj5XQ03WB14YjcN5U,4613 +pip/_internal/models/selection_prefs.py,sha256=aNRDL97Gz3yWJW3og0yuvOkU02UL8OeNQDuDatZ8SDo,1947 +pip/_internal/models/target_python.py,sha256=SLGG3z9Pj_CiA5jmMnNDv2MN3ST3keVuanVDzTvO5pM,3962 +pip/_internal/models/wheel.py,sha256=MWjxQkBNXI6XOWiTuzMG7uONhFu8xA94OqD_9BuIsVc,3614 +pip/_internal/network/__init__.py,sha256=jf6Tt5nV_7zkARBrKojIXItgejvoegVJVKUbhAa5Ioc,50 +pip/_internal/network/__pycache__/__init__.cpython-38.pyc,, +pip/_internal/network/__pycache__/auth.cpython-38.pyc,, +pip/_internal/network/__pycache__/cache.cpython-38.pyc,, +pip/_internal/network/__pycache__/download.cpython-38.pyc,, +pip/_internal/network/__pycache__/lazy_wheel.cpython-38.pyc,, +pip/_internal/network/__pycache__/session.cpython-38.pyc,, +pip/_internal/network/__pycache__/utils.cpython-38.pyc,, +pip/_internal/network/__pycache__/xmlrpc.cpython-38.pyc,, +pip/_internal/network/auth.py,sha256=d8Df0fy01P1jJlF3XDMM8ACyktR1cN9zURG-ye1ncc0,11833 +pip/_internal/network/cache.py,sha256=J_xpsLWbRrlCSUcQhA5-TuT5LWIlpVtTH4fZ1XSjyb4,2213 +pip/_internal/network/download.py,sha256=8frb2bINOf-jbmFPapKbyEO9sjXJWJG6OJaW4hQ9r3s,6243 +pip/_internal/network/lazy_wheel.py,sha256=XMfrDK1IBy44L3Gx3UZ2B8s90VRXDa96520IOPmzmOU,7924 +pip/_internal/network/session.py,sha256=VHeiorPflYPNWK2pM_q22c-H5gmRBDh9UKCJW3VAUFI,16247 +pip/_internal/network/utils.py,sha256=uqT6QkO9NHUwqTw3gHBWMQFdaYqYabB423QUZuiQD3c,4072 +pip/_internal/network/xmlrpc.py,sha256=CL1WBOTgxPwbcZ6QubZ4pXQXjb7qTTFpTUFe-ZaWkcA,1703 +pip/_internal/operations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +pip/_internal/operations/__pycache__/__init__.cpython-38.pyc,, +pip/_internal/operations/__pycache__/check.cpython-38.pyc,, +pip/_internal/operations/__pycache__/freeze.cpython-38.pyc,, +pip/_internal/operations/__pycache__/prepare.cpython-38.pyc,, +pip/_internal/operations/build/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +pip/_internal/operations/build/__pycache__/__init__.cpython-38.pyc,, +pip/_internal/operations/build/__pycache__/metadata.cpython-38.pyc,, +pip/_internal/operations/build/__pycache__/metadata_legacy.cpython-38.pyc,, +pip/_internal/operations/build/__pycache__/wheel.cpython-38.pyc,, +pip/_internal/operations/build/__pycache__/wheel_legacy.cpython-38.pyc,, +pip/_internal/operations/build/metadata.py,sha256=jJp05Rrp0AMsQb7izDXbNGC1LtPNwOhHQj7cRM5324c,1165 +pip/_internal/operations/build/metadata_legacy.py,sha256=ECMBhLEPEQv6PUUCpPCXW-wN9QRXdY45PNXJv7BZKTU,1917 +pip/_internal/operations/build/wheel.py,sha256=WYLMxuxqN3ahJTQk2MI9hdmZKBpFyxHeNpUdO0PybxU,1106 +pip/_internal/operations/build/wheel_legacy.py,sha256=NOJhTYMYljdbizFo_WjkaKGWG1SEZ6aByrBdCrrsZB8,3227 +pip/_internal/operations/check.py,sha256=OtMZ2ff0zk8Ghpl7eIXySZ4D8pCUfzPAYNpGTxw1qWU,5245 +pip/_internal/operations/freeze.py,sha256=D-ex0Bwy6E0EVS_gHlixlEpKDpRxFZnUmTy7nf8s7ts,9999 +pip/_internal/operations/install/__init__.py,sha256=mX7hyD2GNBO2mFGokDQ30r_GXv7Y_PLdtxcUv144e-s,51 +pip/_internal/operations/install/__pycache__/__init__.cpython-38.pyc,, +pip/_internal/operations/install/__pycache__/editable_legacy.cpython-38.pyc,, +pip/_internal/operations/install/__pycache__/legacy.cpython-38.pyc,, +pip/_internal/operations/install/__pycache__/wheel.cpython-38.pyc,, +pip/_internal/operations/install/editable_legacy.py,sha256=bjBObfE6sz3UmGI7y4-GCgKa2WmTgnWlFFU7b-i0sQs,1396 +pip/_internal/operations/install/legacy.py,sha256=f59fQbNLO2rvl8bNQm_CuW6dgPvXXQ7y5apulWZi01E,4177 +pip/_internal/operations/install/wheel.py,sha256=1gV2G-owlA2iwcbxYAc4BOTiPRRGB8TzpuU0wuhM2VQ,29960 +pip/_internal/operations/prepare.py,sha256=AXHNg1iGceg1lyqDqbcabmAFIfQ1k1cIfgmVY5JCWoo,24850 +pip/_internal/pyproject.py,sha256=bN_dliFVxorLITxCEzT0UmPYFoSqk_vGBtM1QwiQays,7061 +pip/_internal/req/__init__.py,sha256=lRNHBv0ZAZNbSwmXU-XUdm66gsiNmuiBDi1DFYJ4hIQ,2983 +pip/_internal/req/__pycache__/__init__.cpython-38.pyc,, +pip/_internal/req/__pycache__/constructors.cpython-38.pyc,, +pip/_internal/req/__pycache__/req_file.cpython-38.pyc,, +pip/_internal/req/__pycache__/req_install.cpython-38.pyc,, +pip/_internal/req/__pycache__/req_set.cpython-38.pyc,, +pip/_internal/req/__pycache__/req_tracker.cpython-38.pyc,, +pip/_internal/req/__pycache__/req_uninstall.cpython-38.pyc,, +pip/_internal/req/constructors.py,sha256=4sinGd7srKhI94DV6XO-qRX2M6Kr907OFmsfklKrt64,16267 +pip/_internal/req/req_file.py,sha256=nPIFl2Mi9UDGhrj-K0E3_QugF7tl3UBDty1czbIF7fk,18000 +pip/_internal/req/req_install.py,sha256=gTuwMYDgiQjwQp02VH1Z1EvrJ9RlzIs-AxYqd0hVznw,32332 +pip/_internal/req/req_set.py,sha256=AutsaiV2s-2ILwtWtTA4OJW_ZLRg4GXg6wM0Y_hZb1k,7778 +pip/_internal/req/req_tracker.py,sha256=XuPweX1lbJXT2gSkCXICS5hna6byme5PeQp4Ok8-R2o,4391 +pip/_internal/req/req_uninstall.py,sha256=gACinTIcScZGw81qLaFdTj9KGXlVuCpru7XvHGjIE-E,23468 +pip/_internal/resolution/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +pip/_internal/resolution/__pycache__/__init__.cpython-38.pyc,, +pip/_internal/resolution/__pycache__/base.cpython-38.pyc,, +pip/_internal/resolution/base.py,sha256=T4QnfShJErpPWe4iOiO7VmXuz1bxe20LLNs33AUslYM,563 +pip/_internal/resolution/legacy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +pip/_internal/resolution/legacy/__pycache__/__init__.cpython-38.pyc,, +pip/_internal/resolution/legacy/__pycache__/resolver.cpython-38.pyc,, +pip/_internal/resolution/legacy/resolver.py,sha256=OF_6Yh4hrFfJ4u0HLF4ZRBlA8lBHUfAaFnhuVKIQhPM,17934 +pip/_internal/resolution/resolvelib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +pip/_internal/resolution/resolvelib/__pycache__/__init__.cpython-38.pyc,, +pip/_internal/resolution/resolvelib/__pycache__/base.cpython-38.pyc,, +pip/_internal/resolution/resolvelib/__pycache__/candidates.cpython-38.pyc,, +pip/_internal/resolution/resolvelib/__pycache__/factory.cpython-38.pyc,, +pip/_internal/resolution/resolvelib/__pycache__/found_candidates.cpython-38.pyc,, +pip/_internal/resolution/resolvelib/__pycache__/provider.cpython-38.pyc,, +pip/_internal/resolution/resolvelib/__pycache__/reporter.cpython-38.pyc,, +pip/_internal/resolution/resolvelib/__pycache__/requirements.cpython-38.pyc,, +pip/_internal/resolution/resolvelib/__pycache__/resolver.cpython-38.pyc,, +pip/_internal/resolution/resolvelib/base.py,sha256=MbakyqSotBGVJpI3kApqqP2fPPZih9DgsfkpuFd-ADM,5677 +pip/_internal/resolution/resolvelib/candidates.py,sha256=dEKSuK9B5M52c1SugB43zXnnxgNWNTa7hCCwItSX61c,19976 +pip/_internal/resolution/resolvelib/factory.py,sha256=0q14dmRrLZXt9OYp2yT5L2KqKGLJ5okGoAru2hNadFg,24988 +pip/_internal/resolution/resolvelib/found_candidates.py,sha256=FzxKczhel3GhViOIEfGHUfUQ6rN3U0blMMUuu-blHfU,5410 +pip/_internal/resolution/resolvelib/provider.py,sha256=HYITnjs7hcxDGANCDdL4qg2MJ1aw1jA9cMyxNP2mLrk,7673 +pip/_internal/resolution/resolvelib/reporter.py,sha256=xgaCtXLj791A_qRfV9Y1nXGeaWVq3JE0ygIA3YNRWq0,2765 +pip/_internal/resolution/resolvelib/requirements.py,sha256=fF2RH6VCanTuF-iwu8tZY8Bh0FakDBTw7tkDJyTsy9E,6047 +pip/_internal/resolution/resolvelib/resolver.py,sha256=3hlnrZklszFUwGQFF33nLkEO8kxz4vZ3_uKp_L8YvmE,12085 +pip/_internal/self_outdated_check.py,sha256=ivoUYaGuq-Ra_DvlZvPtHhgbY97NKHYuPGzrgN2G1A8,6484 +pip/_internal/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +pip/_internal/utils/__pycache__/__init__.cpython-38.pyc,, +pip/_internal/utils/__pycache__/appdirs.cpython-38.pyc,, +pip/_internal/utils/__pycache__/compat.cpython-38.pyc,, +pip/_internal/utils/__pycache__/compatibility_tags.cpython-38.pyc,, +pip/_internal/utils/__pycache__/datetime.cpython-38.pyc,, +pip/_internal/utils/__pycache__/deprecation.cpython-38.pyc,, +pip/_internal/utils/__pycache__/direct_url_helpers.cpython-38.pyc,, +pip/_internal/utils/__pycache__/distutils_args.cpython-38.pyc,, +pip/_internal/utils/__pycache__/encoding.cpython-38.pyc,, +pip/_internal/utils/__pycache__/entrypoints.cpython-38.pyc,, +pip/_internal/utils/__pycache__/filesystem.cpython-38.pyc,, +pip/_internal/utils/__pycache__/filetypes.cpython-38.pyc,, +pip/_internal/utils/__pycache__/glibc.cpython-38.pyc,, +pip/_internal/utils/__pycache__/hashes.cpython-38.pyc,, +pip/_internal/utils/__pycache__/inject_securetransport.cpython-38.pyc,, +pip/_internal/utils/__pycache__/logging.cpython-38.pyc,, +pip/_internal/utils/__pycache__/misc.cpython-38.pyc,, +pip/_internal/utils/__pycache__/models.cpython-38.pyc,, +pip/_internal/utils/__pycache__/packaging.cpython-38.pyc,, +pip/_internal/utils/__pycache__/parallel.cpython-38.pyc,, +pip/_internal/utils/__pycache__/pkg_resources.cpython-38.pyc,, +pip/_internal/utils/__pycache__/setuptools_build.cpython-38.pyc,, +pip/_internal/utils/__pycache__/subprocess.cpython-38.pyc,, +pip/_internal/utils/__pycache__/temp_dir.cpython-38.pyc,, +pip/_internal/utils/__pycache__/unpacking.cpython-38.pyc,, +pip/_internal/utils/__pycache__/urls.cpython-38.pyc,, +pip/_internal/utils/__pycache__/virtualenv.cpython-38.pyc,, +pip/_internal/utils/__pycache__/wheel.cpython-38.pyc,, +pip/_internal/utils/appdirs.py,sha256=HCCFaOrZOnMLzRDpKXcMiFh_2kWZ-PzFdN8peLiwkNY,1222 +pip/_internal/utils/compat.py,sha256=I58tTZ3qqGZqeGVP_mERM8N7QPu71niLpxfO3Ij2jfQ,1912 +pip/_internal/utils/compatibility_tags.py,sha256=IcQEHCZJvdfKciACmXGCKt39Yog2_Q2XQKMHojA_2pg,5589 +pip/_internal/utils/datetime.py,sha256=biZdEJEQBGq8A-N7ooposipeGzmSHdI0WX60kll_AEs,255 +pip/_internal/utils/deprecation.py,sha256=CD9gU1zmDtC3Nk2TM14FVpAa_bxCMd03Kx5t3LoFwkg,3277 +pip/_internal/utils/direct_url_helpers.py,sha256=-chZUxdJkFRG-pA2MY7_Wii5U5o18o5K4AqBsWd92-c,3935 +pip/_internal/utils/distutils_args.py,sha256=KxWTaz07A_1ukCyw_pNah-i6sBvrVtdMsnF8jguDNYQ,1262 +pip/_internal/utils/encoding.py,sha256=T0cQTkGB7-s3wivLlHcKbKqvJoM0yLdo8ot89LlGdz0,1190 +pip/_internal/utils/entrypoints.py,sha256=m4UXkLZTnPsdSisQzNFiHM1CZcMK8N1CA98g4ORex2c,1066 +pip/_internal/utils/filesystem.py,sha256=a3rnoUB_HTdEbDaAUHSNMPIHqHds4UA-mLQ5bvgOjSQ,6045 +pip/_internal/utils/filetypes.py,sha256=weviVbapHWVQ_8-K-PTQ_TnYL66kZi4SrVBTmRYZXLc,761 +pip/_internal/utils/glibc.py,sha256=GM1Y2hWkOf_tumySGFg-iNbc7oilBQQrjczb_705CF8,3170 +pip/_internal/utils/hashes.py,sha256=o1qQEkqe2AqsRm_JhLoM4hkxmVtewH0ZZpQ6EBObHuU,5167 +pip/_internal/utils/inject_securetransport.py,sha256=tGl9Bgyt2IHKtB3b0B-6r3W2yYF3Og-PBe0647S3lZs,810 +pip/_internal/utils/logging.py,sha256=Bkp3QSjur3ekkunAInsGJ6ls7KF8ANTtBgGhjY0vltg,12133 +pip/_internal/utils/misc.py,sha256=ABM-TXaq8VmUOL-6bAWaha_JVhEuwjCEp9cakOrC5nU,23405 +pip/_internal/utils/models.py,sha256=qCgYyUw2mIH1pombsJ3YQsMtONZgyJ4BGwO5MJnSC4c,1329 +pip/_internal/utils/packaging.py,sha256=I1938AB7FprcVJJd6C0vSiMuCVajmrxZF55vX5j0bMo,2900 +pip/_internal/utils/parallel.py,sha256=RZF4JddPEWVbkkPCknfvpqaLfm3Pmqd_ABoCHmV4lXs,3224 +pip/_internal/utils/pkg_resources.py,sha256=jwH5JViPe-JlXLvLC0-ASfTTCRYvm0u9CwQGcWjxStI,1106 +pip/_internal/utils/setuptools_build.py,sha256=xk9sRBjUyNTHs_TvEWebVWs1GfLPN208MzpSXr9Ok_A,5047 +pip/_internal/utils/subprocess.py,sha256=uxaP3IzPiBYhG0MbdfPK_uchZAh27uZ3wO3q5hRfEyo,10036 +pip/_internal/utils/temp_dir.py,sha256=9gs3N9GQeVXRVWjJIalSpH1uj8yQXPTzarb5n1_HMVo,7950 +pip/_internal/utils/unpacking.py,sha256=PioYYwfTCn_VeYer80onhrO9Y1ggetqOPSOroG38bRQ,9032 +pip/_internal/utils/urls.py,sha256=XzjQsHGd2YDmJhoCogspPTqh6Kl5tGENRHPcwjS0JC4,1256 +pip/_internal/utils/virtualenv.py,sha256=iRTK-sD6bWpHqXcZ0ECfdpFLWatMOHFUVCIRa0L6Gu0,3564 +pip/_internal/utils/wheel.py,sha256=DOIVZaXN7bMOAeMEqzIOZHGl4OFO-KGrEqBUB848DPo,6290 +pip/_internal/vcs/__init__.py,sha256=CjyxHCgdt19l21j0tJGiQ_6Yk8m-KWmQThmYvljd1eo,571 +pip/_internal/vcs/__pycache__/__init__.cpython-38.pyc,, +pip/_internal/vcs/__pycache__/bazaar.cpython-38.pyc,, +pip/_internal/vcs/__pycache__/git.cpython-38.pyc,, +pip/_internal/vcs/__pycache__/mercurial.cpython-38.pyc,, +pip/_internal/vcs/__pycache__/subversion.cpython-38.pyc,, +pip/_internal/vcs/__pycache__/versioncontrol.cpython-38.pyc,, +pip/_internal/vcs/bazaar.py,sha256=Ay_vN-87vYSEzBqXT3RVwl40vlk56j3jy_AfQbMj4uo,2962 +pip/_internal/vcs/git.py,sha256=URUz1kSqhDhqJsr9ulaFTewP8Zjwf7oVPP7skdj9SMQ,15431 +pip/_internal/vcs/mercurial.py,sha256=2X3eIyeAWQWI2TxoPT-xuVsD6fxr7YSyHw4MR9EWz4M,5043 +pip/_internal/vcs/subversion.py,sha256=lPfCu841JAMRG_jTX_TbRZrBpKdId5eQ8t7_xI7w3L0,11876 +pip/_internal/vcs/versioncontrol.py,sha256=N60TSMbTr79ADzR61BCrk8YogUQcBBnNaLgJPTfXsfc,23086 +pip/_internal/wheel_builder.py,sha256=hW63ZmABr65rOiSRBHXu1jBUdEZw5LZiw0LaQBbz0lI,11740 +pip/_vendor/__init__.py,sha256=gCrQwPBY2OZBeedvKOLdRZ3W1LIRM60fG6d4mgW_-9Y,4760 +pip/_vendor/__pycache__/__init__.cpython-38.pyc,, +pip/_vendor/__pycache__/appdirs.cpython-38.pyc,, +pip/_vendor/__pycache__/distro.cpython-38.pyc,, +pip/_vendor/__pycache__/pyparsing.cpython-38.pyc,, +pip/_vendor/__pycache__/six.cpython-38.pyc,, +pip/_vendor/appdirs.py,sha256=M6IYRJtdZgmSPCXCSMBRB0VT3P8MdFbWCDbSLrB2Ebg,25907 +pip/_vendor/cachecontrol/__init__.py,sha256=pJtAaUxOsMPnytI1A3juAJkXYDr8krdSnsg4Yg3OBEg,302 +pip/_vendor/cachecontrol/__pycache__/__init__.cpython-38.pyc,, +pip/_vendor/cachecontrol/__pycache__/_cmd.cpython-38.pyc,, +pip/_vendor/cachecontrol/__pycache__/adapter.cpython-38.pyc,, +pip/_vendor/cachecontrol/__pycache__/cache.cpython-38.pyc,, +pip/_vendor/cachecontrol/__pycache__/compat.cpython-38.pyc,, +pip/_vendor/cachecontrol/__pycache__/controller.cpython-38.pyc,, +pip/_vendor/cachecontrol/__pycache__/filewrapper.cpython-38.pyc,, +pip/_vendor/cachecontrol/__pycache__/heuristics.cpython-38.pyc,, +pip/_vendor/cachecontrol/__pycache__/serialize.cpython-38.pyc,, +pip/_vendor/cachecontrol/__pycache__/wrapper.cpython-38.pyc,, +pip/_vendor/cachecontrol/_cmd.py,sha256=URGE0KrA87QekCG3SGPatlSPT571dZTDjNa-ZXX3pDc,1295 +pip/_vendor/cachecontrol/adapter.py,sha256=sSwaSYd93IIfCFU4tOMgSo6b2LCt_gBSaQUj8ktJFOA,4882 +pip/_vendor/cachecontrol/cache.py,sha256=1fc4wJP8HYt1ycnJXeEw5pCpeBL2Cqxx6g9Fb0AYDWQ,805 +pip/_vendor/cachecontrol/caches/__init__.py,sha256=-gHNKYvaeD0kOk5M74eOrsSgIKUtC6i6GfbmugGweEo,86 +pip/_vendor/cachecontrol/caches/__pycache__/__init__.cpython-38.pyc,, +pip/_vendor/cachecontrol/caches/__pycache__/file_cache.cpython-38.pyc,, +pip/_vendor/cachecontrol/caches/__pycache__/redis_cache.cpython-38.pyc,, +pip/_vendor/cachecontrol/caches/file_cache.py,sha256=nYVKsJtXh6gJXvdn1iWyrhxvkwpQrK-eKoMRzuiwkKk,4153 +pip/_vendor/cachecontrol/caches/redis_cache.py,sha256=HxelMpNCo-dYr2fiJDwM3hhhRmxUYtB5tXm1GpAAT4Y,856 +pip/_vendor/cachecontrol/compat.py,sha256=kHNvMRdt6s_Xwqq_9qJmr9ou3wYMOMUMxPPcwNxT8Mc,695 +pip/_vendor/cachecontrol/controller.py,sha256=CWEX3pedIM9s60suf4zZPtm_JvVgnvogMGK_OiBG5F8,14149 +pip/_vendor/cachecontrol/filewrapper.py,sha256=vACKO8Llzu_ZWyjV1Fxn1MA4TGU60N5N3GSrAFdAY2Q,2533 +pip/_vendor/cachecontrol/heuristics.py,sha256=BFGHJ3yQcxvZizfo90LLZ04T_Z5XSCXvFotrp7Us0sc,4070 +pip/_vendor/cachecontrol/serialize.py,sha256=vIa4jvq4x_KSOLdEIedoknX2aXYHQujLDFV4-F21Dno,7091 +pip/_vendor/cachecontrol/wrapper.py,sha256=5LX0uJwkNQUtYSEw3aGmGu9WY8wGipd81mJ8lG0d0M4,690 +pip/_vendor/certifi/__init__.py,sha256=SsmdmFHjHCY4VLtqwpp9P_jsOcAuHj-5c5WqoEz-oFg,62 +pip/_vendor/certifi/__main__.py,sha256=1k3Cr95vCxxGRGDljrW3wMdpZdL3Nhf0u1n-k2qdsCY,255 +pip/_vendor/certifi/__pycache__/__init__.cpython-38.pyc,, +pip/_vendor/certifi/__pycache__/__main__.cpython-38.pyc,, +pip/_vendor/certifi/__pycache__/core.cpython-38.pyc,, +pip/_vendor/certifi/cacert.pem,sha256=u3fxPT--yemLvyislQRrRBlsfY9Vq3cgBh6ZmRqCkZc,263774 +pip/_vendor/certifi/core.py,sha256=gOFd0zHYlx4krrLEn982esOtmz3djiG0BFSDhgjlvcI,2840 +pip/_vendor/chardet/__init__.py,sha256=mWZaWmvZkhwfBEAT9O1Y6nRTfKzhT7FHhQTTAujbqUA,3271 +pip/_vendor/chardet/__pycache__/__init__.cpython-38.pyc,, +pip/_vendor/chardet/__pycache__/big5freq.cpython-38.pyc,, +pip/_vendor/chardet/__pycache__/big5prober.cpython-38.pyc,, +pip/_vendor/chardet/__pycache__/chardistribution.cpython-38.pyc,, +pip/_vendor/chardet/__pycache__/charsetgroupprober.cpython-38.pyc,, +pip/_vendor/chardet/__pycache__/charsetprober.cpython-38.pyc,, +pip/_vendor/chardet/__pycache__/codingstatemachine.cpython-38.pyc,, +pip/_vendor/chardet/__pycache__/compat.cpython-38.pyc,, +pip/_vendor/chardet/__pycache__/cp949prober.cpython-38.pyc,, +pip/_vendor/chardet/__pycache__/enums.cpython-38.pyc,, +pip/_vendor/chardet/__pycache__/escprober.cpython-38.pyc,, +pip/_vendor/chardet/__pycache__/escsm.cpython-38.pyc,, +pip/_vendor/chardet/__pycache__/eucjpprober.cpython-38.pyc,, +pip/_vendor/chardet/__pycache__/euckrfreq.cpython-38.pyc,, +pip/_vendor/chardet/__pycache__/euckrprober.cpython-38.pyc,, +pip/_vendor/chardet/__pycache__/euctwfreq.cpython-38.pyc,, +pip/_vendor/chardet/__pycache__/euctwprober.cpython-38.pyc,, +pip/_vendor/chardet/__pycache__/gb2312freq.cpython-38.pyc,, +pip/_vendor/chardet/__pycache__/gb2312prober.cpython-38.pyc,, +pip/_vendor/chardet/__pycache__/hebrewprober.cpython-38.pyc,, +pip/_vendor/chardet/__pycache__/jisfreq.cpython-38.pyc,, +pip/_vendor/chardet/__pycache__/jpcntx.cpython-38.pyc,, +pip/_vendor/chardet/__pycache__/langbulgarianmodel.cpython-38.pyc,, +pip/_vendor/chardet/__pycache__/langgreekmodel.cpython-38.pyc,, +pip/_vendor/chardet/__pycache__/langhebrewmodel.cpython-38.pyc,, +pip/_vendor/chardet/__pycache__/langhungarianmodel.cpython-38.pyc,, +pip/_vendor/chardet/__pycache__/langrussianmodel.cpython-38.pyc,, +pip/_vendor/chardet/__pycache__/langthaimodel.cpython-38.pyc,, +pip/_vendor/chardet/__pycache__/langturkishmodel.cpython-38.pyc,, +pip/_vendor/chardet/__pycache__/latin1prober.cpython-38.pyc,, +pip/_vendor/chardet/__pycache__/mbcharsetprober.cpython-38.pyc,, +pip/_vendor/chardet/__pycache__/mbcsgroupprober.cpython-38.pyc,, +pip/_vendor/chardet/__pycache__/mbcssm.cpython-38.pyc,, +pip/_vendor/chardet/__pycache__/sbcharsetprober.cpython-38.pyc,, +pip/_vendor/chardet/__pycache__/sbcsgroupprober.cpython-38.pyc,, +pip/_vendor/chardet/__pycache__/sjisprober.cpython-38.pyc,, +pip/_vendor/chardet/__pycache__/universaldetector.cpython-38.pyc,, +pip/_vendor/chardet/__pycache__/utf8prober.cpython-38.pyc,, +pip/_vendor/chardet/__pycache__/version.cpython-38.pyc,, +pip/_vendor/chardet/big5freq.py,sha256=D_zK5GyzoVsRes0HkLJziltFQX0bKCLOrFe9_xDvO_8,31254 +pip/_vendor/chardet/big5prober.py,sha256=kBxHbdetBpPe7xrlb-e990iot64g_eGSLd32lB7_h3M,1757 +pip/_vendor/chardet/chardistribution.py,sha256=3woWS62KrGooKyqz4zQSnjFbJpa6V7g02daAibTwcl8,9411 +pip/_vendor/chardet/charsetgroupprober.py,sha256=GZLReHP6FRRn43hvSOoGCxYamErKzyp6RgOQxVeC3kg,3839 +pip/_vendor/chardet/charsetprober.py,sha256=KSmwJErjypyj0bRZmC5F5eM7c8YQgLYIjZXintZNstg,5110 +pip/_vendor/chardet/cli/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1 +pip/_vendor/chardet/cli/__pycache__/__init__.cpython-38.pyc,, +pip/_vendor/chardet/cli/__pycache__/chardetect.cpython-38.pyc,, +pip/_vendor/chardet/cli/chardetect.py,sha256=XK5zqjUG2a4-y6eLHZ8ThYcp6WWUrdlmELxNypcc2SE,2747 +pip/_vendor/chardet/codingstatemachine.py,sha256=VYp_6cyyki5sHgXDSZnXW4q1oelHc3cu9AyQTX7uug8,3590 +pip/_vendor/chardet/compat.py,sha256=40zr6wICZwknxyuLGGcIOPyve8DTebBCbbvttvnmp5Q,1200 +pip/_vendor/chardet/cp949prober.py,sha256=TZ434QX8zzBsnUvL_8wm4AQVTZ2ZkqEEQL_lNw9f9ow,1855 +pip/_vendor/chardet/enums.py,sha256=Aimwdb9as1dJKZaFNUH2OhWIVBVd6ZkJJ_WK5sNY8cU,1661 +pip/_vendor/chardet/escprober.py,sha256=kkyqVg1Yw3DIOAMJ2bdlyQgUFQhuHAW8dUGskToNWSc,3950 +pip/_vendor/chardet/escsm.py,sha256=RuXlgNvTIDarndvllNCk5WZBIpdCxQ0kcd9EAuxUh84,10510 +pip/_vendor/chardet/eucjpprober.py,sha256=iD8Jdp0ISRjgjiVN7f0e8xGeQJ5GM2oeZ1dA8nbSeUw,3749 +pip/_vendor/chardet/euckrfreq.py,sha256=-7GdmvgWez4-eO4SuXpa7tBiDi5vRXQ8WvdFAzVaSfo,13546 +pip/_vendor/chardet/euckrprober.py,sha256=MqFMTQXxW4HbzIpZ9lKDHB3GN8SP4yiHenTmf8g_PxY,1748 +pip/_vendor/chardet/euctwfreq.py,sha256=No1WyduFOgB5VITUA7PLyC5oJRNzRyMbBxaKI1l16MA,31621 +pip/_vendor/chardet/euctwprober.py,sha256=13p6EP4yRaxqnP4iHtxHOJ6R2zxHq1_m8hTRjzVZ95c,1747 +pip/_vendor/chardet/gb2312freq.py,sha256=JX8lsweKLmnCwmk8UHEQsLgkr_rP_kEbvivC4qPOrlc,20715 +pip/_vendor/chardet/gb2312prober.py,sha256=gGvIWi9WhDjE-xQXHvNIyrnLvEbMAYgyUSZ65HUfylw,1754 +pip/_vendor/chardet/hebrewprober.py,sha256=c3SZ-K7hvyzGY6JRAZxJgwJ_sUS9k0WYkvMY00YBYFo,13838 +pip/_vendor/chardet/jisfreq.py,sha256=vpmJv2Bu0J8gnMVRPHMFefTRvo_ha1mryLig8CBwgOg,25777 +pip/_vendor/chardet/jpcntx.py,sha256=PYlNqRUQT8LM3cT5FmHGP0iiscFlTWED92MALvBungo,19643 +pip/_vendor/chardet/langbulgarianmodel.py,sha256=rk9CJpuxO0bObboJcv6gNgWuosYZmd8qEEds5y7DS_Y,105697 +pip/_vendor/chardet/langgreekmodel.py,sha256=S-uNQ1ihC75yhBvSux24gLFZv3QyctMwC6OxLJdX-bw,99571 +pip/_vendor/chardet/langhebrewmodel.py,sha256=DzPP6TPGG_-PV7tqspu_d8duueqm7uN-5eQ0aHUw1Gg,98776 +pip/_vendor/chardet/langhungarianmodel.py,sha256=RtJH7DZdsmaHqyK46Kkmnk5wQHiJwJPPJSqqIlpeZRc,102498 +pip/_vendor/chardet/langrussianmodel.py,sha256=THqJOhSxiTQcHboDNSc5yofc2koXXQFHFyjtyuntUfM,131180 +pip/_vendor/chardet/langthaimodel.py,sha256=R1wXHnUMtejpw0JnH_JO8XdYasME6wjVqp1zP7TKLgg,103312 +pip/_vendor/chardet/langturkishmodel.py,sha256=rfwanTptTwSycE4-P-QasPmzd-XVYgevytzjlEzBBu8,95946 +pip/_vendor/chardet/latin1prober.py,sha256=S2IoORhFk39FEFOlSFWtgVybRiP6h7BlLldHVclNkU8,5370 +pip/_vendor/chardet/mbcharsetprober.py,sha256=AR95eFH9vuqSfvLQZN-L5ijea25NOBCoXqw8s5O9xLQ,3413 +pip/_vendor/chardet/mbcsgroupprober.py,sha256=h6TRnnYq2OxG1WdD5JOyxcdVpn7dG0q-vB8nWr5mbh4,2012 +pip/_vendor/chardet/mbcssm.py,sha256=SY32wVIF3HzcjY3BaEspy9metbNSKxIIB0RKPn7tjpI,25481 +pip/_vendor/chardet/metadata/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +pip/_vendor/chardet/metadata/__pycache__/__init__.cpython-38.pyc,, +pip/_vendor/chardet/metadata/__pycache__/languages.cpython-38.pyc,, +pip/_vendor/chardet/metadata/languages.py,sha256=41tLq3eLSrBEbEVVQpVGFq9K7o1ln9b1HpY1l0hCUQo,19474 +pip/_vendor/chardet/sbcharsetprober.py,sha256=nmyMyuxzG87DN6K3Rk2MUzJLMLR69MrWpdnHzOwVUwQ,6136 +pip/_vendor/chardet/sbcsgroupprober.py,sha256=hqefQuXmiFyDBArOjujH6hd6WFXlOD1kWCsxDhjx5Vc,4309 +pip/_vendor/chardet/sjisprober.py,sha256=IIt-lZj0WJqK4rmUZzKZP4GJlE8KUEtFYVuY96ek5MQ,3774 +pip/_vendor/chardet/universaldetector.py,sha256=DpZTXCX0nUHXxkQ9sr4GZxGB_hveZ6hWt3uM94cgWKs,12503 +pip/_vendor/chardet/utf8prober.py,sha256=IdD8v3zWOsB8OLiyPi-y_fqwipRFxV9Nc1eKBLSuIEw,2766 +pip/_vendor/chardet/version.py,sha256=A4CILFAd8MRVG1HoXPp45iK9RLlWyV73a1EtwE8Tvn8,242 +pip/_vendor/colorama/__init__.py,sha256=pCdErryzLSzDW5P-rRPBlPLqbBtIRNJB6cMgoeJns5k,239 +pip/_vendor/colorama/__pycache__/__init__.cpython-38.pyc,, +pip/_vendor/colorama/__pycache__/ansi.cpython-38.pyc,, +pip/_vendor/colorama/__pycache__/ansitowin32.cpython-38.pyc,, +pip/_vendor/colorama/__pycache__/initialise.cpython-38.pyc,, +pip/_vendor/colorama/__pycache__/win32.cpython-38.pyc,, +pip/_vendor/colorama/__pycache__/winterm.cpython-38.pyc,, +pip/_vendor/colorama/ansi.py,sha256=Top4EeEuaQdBWdteKMEcGOTeKeF19Q-Wo_6_Cj5kOzQ,2522 +pip/_vendor/colorama/ansitowin32.py,sha256=yV7CEmCb19MjnJKODZEEvMH_fnbJhwnpzo4sxZuGXmA,10517 +pip/_vendor/colorama/initialise.py,sha256=PprovDNxMTrvoNHFcL2NZjpH2XzDc8BLxLxiErfUl4k,1915 +pip/_vendor/colorama/win32.py,sha256=bJ8Il9jwaBN5BJ8bmN6FoYZ1QYuMKv2j8fGrXh7TJjw,5404 +pip/_vendor/colorama/winterm.py,sha256=2y_2b7Zsv34feAsP67mLOVc-Bgq51mdYGo571VprlrM,6438 +pip/_vendor/distlib/__init__.py,sha256=3veAk2rPznOB2gsK6tjbbh0TQMmGE5P82eE9wXq6NIk,581 +pip/_vendor/distlib/__pycache__/__init__.cpython-38.pyc,, +pip/_vendor/distlib/__pycache__/compat.cpython-38.pyc,, +pip/_vendor/distlib/__pycache__/database.cpython-38.pyc,, +pip/_vendor/distlib/__pycache__/index.cpython-38.pyc,, +pip/_vendor/distlib/__pycache__/locators.cpython-38.pyc,, +pip/_vendor/distlib/__pycache__/manifest.cpython-38.pyc,, +pip/_vendor/distlib/__pycache__/markers.cpython-38.pyc,, +pip/_vendor/distlib/__pycache__/metadata.cpython-38.pyc,, +pip/_vendor/distlib/__pycache__/resources.cpython-38.pyc,, +pip/_vendor/distlib/__pycache__/scripts.cpython-38.pyc,, +pip/_vendor/distlib/__pycache__/util.cpython-38.pyc,, +pip/_vendor/distlib/__pycache__/version.cpython-38.pyc,, +pip/_vendor/distlib/__pycache__/wheel.cpython-38.pyc,, +pip/_vendor/distlib/_backport/__init__.py,sha256=bqS_dTOH6uW9iGgd0uzfpPjo6vZ4xpPZ7kyfZJ2vNaw,274 +pip/_vendor/distlib/_backport/__pycache__/__init__.cpython-38.pyc,, +pip/_vendor/distlib/_backport/__pycache__/misc.cpython-38.pyc,, +pip/_vendor/distlib/_backport/__pycache__/shutil.cpython-38.pyc,, +pip/_vendor/distlib/_backport/__pycache__/sysconfig.cpython-38.pyc,, +pip/_vendor/distlib/_backport/__pycache__/tarfile.cpython-38.pyc,, +pip/_vendor/distlib/_backport/misc.py,sha256=KWecINdbFNOxSOP1fGF680CJnaC6S4fBRgEtaYTw0ig,971 +pip/_vendor/distlib/_backport/shutil.py,sha256=IX_G2NPqwecJibkIDje04bqu0xpHkfSQ2GaGdEVqM5Y,25707 +pip/_vendor/distlib/_backport/sysconfig.cfg,sha256=swZKxq9RY5e9r3PXCrlvQPMsvOdiWZBTHLEbqS8LJLU,2617 +pip/_vendor/distlib/_backport/sysconfig.py,sha256=BQHFlb6pubCl_dvT1NjtzIthylofjKisox239stDg0U,26854 +pip/_vendor/distlib/_backport/tarfile.py,sha256=Ihp7rXRcjbIKw8COm9wSePV9ARGXbSF9gGXAMn2Q-KU,92628 +pip/_vendor/distlib/compat.py,sha256=ADA56xiAxar3mU6qemlBhNbsrFPosXRhO44RzsbJPqk,41408 +pip/_vendor/distlib/database.py,sha256=Kl0YvPQKc4OcpVi7k5cFziydM1xOK8iqdxLGXgbZHV4,51059 +pip/_vendor/distlib/index.py,sha256=SXKzpQCERctxYDMp_OLee2f0J0e19ZhGdCIoMlUfUQM,21066 +pip/_vendor/distlib/locators.py,sha256=c9E4cDEacJ_uKbuE5BqAVocoWp6rsuBGTkiNDQq3zV4,52100 +pip/_vendor/distlib/manifest.py,sha256=nQEhYmgoreaBZzyFzwYsXxJARu3fo4EkunU163U16iE,14811 +pip/_vendor/distlib/markers.py,sha256=6Ac3cCfFBERexiESWIOXmg-apIP8l2esafNSX3KMy-8,4387 +pip/_vendor/distlib/metadata.py,sha256=z2KPy3h3tcDnb9Xs7nAqQ5Oz0bqjWAUFmKWcFKRoodg,38962 +pip/_vendor/distlib/resources.py,sha256=2FGv0ZHF14KXjLIlL0R991lyQQGcewOS4mJ-5n-JVnc,10766 +pip/_vendor/distlib/scripts.py,sha256=_MAj3sMuv56kuM8FsiIWXqbT0gmumPGaOR_atOzn4a4,17180 +pip/_vendor/distlib/t32.exe,sha256=NS3xBCVAld35JVFNmb-1QRyVtThukMrwZVeXn4LhaEQ,96768 +pip/_vendor/distlib/t64.exe,sha256=oAqHes78rUWVM0OtVqIhUvequl_PKhAhXYQWnUf7zR0,105984 +pip/_vendor/distlib/util.py,sha256=f2jZCPrcLCt6LcnC0gUy-Fur60tXD8reA7k4rDpHMDw,59845 +pip/_vendor/distlib/version.py,sha256=_n7F6juvQGAcn769E_SHa7fOcf5ERlEVymJ_EjPRwGw,23391 +pip/_vendor/distlib/w32.exe,sha256=lJtnZdeUxTZWya_EW5DZos_K5rswRECGspIl8ZJCIXs,90112 +pip/_vendor/distlib/w64.exe,sha256=0aRzoN2BO9NWW4ENy4_4vHkHR4qZTFZNVSAJJYlODTI,99840 +pip/_vendor/distlib/wheel.py,sha256=v6DnwTqhNHwrEVFr8_YeiTW6G4ftP_evsywNgrmdb2o,41144 +pip/_vendor/distro.py,sha256=xxMIh2a3KmippeWEHzynTdHT3_jZM0o-pos0dAWJROM,43628 +pip/_vendor/html5lib/__init__.py,sha256=BYzcKCqeEii52xDrqBFruhnmtmkiuHXFyFh-cglQ8mk,1160 +pip/_vendor/html5lib/__pycache__/__init__.cpython-38.pyc,, +pip/_vendor/html5lib/__pycache__/_ihatexml.cpython-38.pyc,, +pip/_vendor/html5lib/__pycache__/_inputstream.cpython-38.pyc,, +pip/_vendor/html5lib/__pycache__/_tokenizer.cpython-38.pyc,, +pip/_vendor/html5lib/__pycache__/_utils.cpython-38.pyc,, +pip/_vendor/html5lib/__pycache__/constants.cpython-38.pyc,, +pip/_vendor/html5lib/__pycache__/html5parser.cpython-38.pyc,, +pip/_vendor/html5lib/__pycache__/serializer.cpython-38.pyc,, +pip/_vendor/html5lib/_ihatexml.py,sha256=ifOwF7pXqmyThIXc3boWc96s4MDezqRrRVp7FwDYUFs,16728 +pip/_vendor/html5lib/_inputstream.py,sha256=jErNASMlkgs7MpOM9Ve_VdLDJyFFweAjLuhVutZz33U,32353 +pip/_vendor/html5lib/_tokenizer.py,sha256=04mgA2sNTniutl2fxFv-ei5bns4iRaPxVXXHh_HrV_4,77040 +pip/_vendor/html5lib/_trie/__init__.py,sha256=nqfgO910329BEVJ5T4psVwQtjd2iJyEXQ2-X8c1YxwU,109 +pip/_vendor/html5lib/_trie/__pycache__/__init__.cpython-38.pyc,, +pip/_vendor/html5lib/_trie/__pycache__/_base.cpython-38.pyc,, +pip/_vendor/html5lib/_trie/__pycache__/py.cpython-38.pyc,, +pip/_vendor/html5lib/_trie/_base.py,sha256=CaybYyMro8uERQYjby2tTeSUatnWDfWroUN9N7ety5w,1013 +pip/_vendor/html5lib/_trie/py.py,sha256=wXmQLrZRf4MyWNyg0m3h81m9InhLR7GJ002mIIZh-8o,1775 +pip/_vendor/html5lib/_utils.py,sha256=Dx9AKntksRjFT1veBj7I362pf5OgIaT0zglwq43RnfU,4931 +pip/_vendor/html5lib/constants.py,sha256=Ll-yzLU_jcjyAI_h57zkqZ7aQWE5t5xA4y_jQgoUUhw,83464 +pip/_vendor/html5lib/filters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +pip/_vendor/html5lib/filters/__pycache__/__init__.cpython-38.pyc,, +pip/_vendor/html5lib/filters/__pycache__/alphabeticalattributes.cpython-38.pyc,, +pip/_vendor/html5lib/filters/__pycache__/base.cpython-38.pyc,, +pip/_vendor/html5lib/filters/__pycache__/inject_meta_charset.cpython-38.pyc,, +pip/_vendor/html5lib/filters/__pycache__/lint.cpython-38.pyc,, +pip/_vendor/html5lib/filters/__pycache__/optionaltags.cpython-38.pyc,, +pip/_vendor/html5lib/filters/__pycache__/sanitizer.cpython-38.pyc,, +pip/_vendor/html5lib/filters/__pycache__/whitespace.cpython-38.pyc,, +pip/_vendor/html5lib/filters/alphabeticalattributes.py,sha256=lViZc2JMCclXi_5gduvmdzrRxtO5Xo9ONnbHBVCsykU,919 +pip/_vendor/html5lib/filters/base.py,sha256=z-IU9ZAYjpsVsqmVt7kuWC63jR11hDMr6CVrvuao8W0,286 +pip/_vendor/html5lib/filters/inject_meta_charset.py,sha256=egDXUEHXmAG9504xz0K6ALDgYkvUrC2q15YUVeNlVQg,2945 +pip/_vendor/html5lib/filters/lint.py,sha256=jk6q56xY0ojiYfvpdP-OZSm9eTqcAdRqhCoPItemPYA,3643 +pip/_vendor/html5lib/filters/optionaltags.py,sha256=8lWT75J0aBOHmPgfmqTHSfPpPMp01T84NKu0CRedxcE,10588 +pip/_vendor/html5lib/filters/sanitizer.py,sha256=m6oGmkBhkGAnn2nV6D4hE78SCZ6WEnK9rKdZB3uXBIc,26897 +pip/_vendor/html5lib/filters/whitespace.py,sha256=8eWqZxd4UC4zlFGW6iyY6f-2uuT8pOCSALc3IZt7_t4,1214 +pip/_vendor/html5lib/html5parser.py,sha256=anr-aXre_ImfrkQ35c_rftKXxC80vJCREKe06Tq15HA,117186 +pip/_vendor/html5lib/serializer.py,sha256=_PpvcZF07cwE7xr9uKkZqh5f4UEaI8ltCU2xPJzaTpk,15759 +pip/_vendor/html5lib/treeadapters/__init__.py,sha256=A0rY5gXIe4bJOiSGRO_j_tFhngRBO8QZPzPtPw5dFzo,679 +pip/_vendor/html5lib/treeadapters/__pycache__/__init__.cpython-38.pyc,, +pip/_vendor/html5lib/treeadapters/__pycache__/genshi.cpython-38.pyc,, +pip/_vendor/html5lib/treeadapters/__pycache__/sax.cpython-38.pyc,, +pip/_vendor/html5lib/treeadapters/genshi.py,sha256=CH27pAsDKmu4ZGkAUrwty7u0KauGLCZRLPMzaO3M5vo,1715 +pip/_vendor/html5lib/treeadapters/sax.py,sha256=BKS8woQTnKiqeffHsxChUqL4q2ZR_wb5fc9MJ3zQC8s,1776 +pip/_vendor/html5lib/treebuilders/__init__.py,sha256=AysSJyvPfikCMMsTVvaxwkgDieELD5dfR8FJIAuq7hY,3592 +pip/_vendor/html5lib/treebuilders/__pycache__/__init__.cpython-38.pyc,, +pip/_vendor/html5lib/treebuilders/__pycache__/base.cpython-38.pyc,, +pip/_vendor/html5lib/treebuilders/__pycache__/dom.cpython-38.pyc,, +pip/_vendor/html5lib/treebuilders/__pycache__/etree.cpython-38.pyc,, +pip/_vendor/html5lib/treebuilders/__pycache__/etree_lxml.cpython-38.pyc,, +pip/_vendor/html5lib/treebuilders/base.py,sha256=z-o51vt9r_l2IDG5IioTOKGzZne4Fy3_Fc-7ztrOh4I,14565 +pip/_vendor/html5lib/treebuilders/dom.py,sha256=22whb0C71zXIsai5mamg6qzBEiigcBIvaDy4Asw3at0,8925 +pip/_vendor/html5lib/treebuilders/etree.py,sha256=w5ZFpKk6bAxnrwD2_BrF5EVC7vzz0L3LMi9Sxrbc_8w,12836 +pip/_vendor/html5lib/treebuilders/etree_lxml.py,sha256=9gqDjs-IxsPhBYa5cpvv2FZ1KZlG83Giusy2lFmvIkE,14766 +pip/_vendor/html5lib/treewalkers/__init__.py,sha256=OBPtc1TU5mGyy18QDMxKEyYEz0wxFUUNj5v0-XgmYhY,5719 +pip/_vendor/html5lib/treewalkers/__pycache__/__init__.cpython-38.pyc,, +pip/_vendor/html5lib/treewalkers/__pycache__/base.cpython-38.pyc,, +pip/_vendor/html5lib/treewalkers/__pycache__/dom.cpython-38.pyc,, +pip/_vendor/html5lib/treewalkers/__pycache__/etree.cpython-38.pyc,, +pip/_vendor/html5lib/treewalkers/__pycache__/etree_lxml.cpython-38.pyc,, +pip/_vendor/html5lib/treewalkers/__pycache__/genshi.cpython-38.pyc,, +pip/_vendor/html5lib/treewalkers/base.py,sha256=ouiOsuSzvI0KgzdWP8PlxIaSNs9falhbiinAEc_UIJY,7476 +pip/_vendor/html5lib/treewalkers/dom.py,sha256=EHyFR8D8lYNnyDU9lx_IKigVJRyecUGua0mOi7HBukc,1413 +pip/_vendor/html5lib/treewalkers/etree.py,sha256=xo1L5m9VtkfpFJK0pFmkLVajhqYYVisVZn3k9kYpPkI,4551 +pip/_vendor/html5lib/treewalkers/etree_lxml.py,sha256=_b0LAVWLcVu9WaU_-w3D8f0IRSpCbjf667V-3NRdhTw,6357 +pip/_vendor/html5lib/treewalkers/genshi.py,sha256=4D2PECZ5n3ZN3qu3jMl9yY7B81jnQApBQSVlfaIuYbA,2309 +pip/_vendor/idna/__init__.py,sha256=9Nt7xpyet3DmOrPUGooDdAwmHZZu1qUAy2EaJ93kGiQ,58 +pip/_vendor/idna/__pycache__/__init__.cpython-38.pyc,, +pip/_vendor/idna/__pycache__/codec.cpython-38.pyc,, +pip/_vendor/idna/__pycache__/compat.cpython-38.pyc,, +pip/_vendor/idna/__pycache__/core.cpython-38.pyc,, +pip/_vendor/idna/__pycache__/idnadata.cpython-38.pyc,, +pip/_vendor/idna/__pycache__/intranges.cpython-38.pyc,, +pip/_vendor/idna/__pycache__/package_data.cpython-38.pyc,, +pip/_vendor/idna/__pycache__/uts46data.cpython-38.pyc,, +pip/_vendor/idna/codec.py,sha256=4RVMhqFquJgyGBKyl40ARqcgDzkDDXZUvyl1EOCRLFE,3027 +pip/_vendor/idna/compat.py,sha256=g-7Ph45nzILe_7xvxdbTebrHZq4mQWxIOH1rjMc6xrs,232 +pip/_vendor/idna/core.py,sha256=VdFGQyiit1eMKUQ2x0mNXoGThrXlRyp070mPDyLX9Yg,11849 +pip/_vendor/idna/idnadata.py,sha256=cl4x9RLdw1ZMtEEbvKwAsX-Id3AdIjO5U3HaoKM6VGs,42350 +pip/_vendor/idna/intranges.py,sha256=TY1lpxZIQWEP6tNqjZkFA5hgoMWOj1OBmnUG8ihT87E,1749 +pip/_vendor/idna/package_data.py,sha256=kxptFveZ37zbPSmKU7KMEA8Pi7h3-sM1-p2agm2PpCI,21 +pip/_vendor/idna/uts46data.py,sha256=4CZEB6ZQgmSNIATBn2V_xdW9PEgVOXAOYRzCeQGsK_E,196224 +pip/_vendor/msgpack/__init__.py,sha256=2gJwcsTIaAtCM0GMi2rU-_Y6kILeeQuqRkrQ22jSANc,1118 +pip/_vendor/msgpack/__pycache__/__init__.cpython-38.pyc,, +pip/_vendor/msgpack/__pycache__/_version.cpython-38.pyc,, +pip/_vendor/msgpack/__pycache__/exceptions.cpython-38.pyc,, +pip/_vendor/msgpack/__pycache__/ext.cpython-38.pyc,, +pip/_vendor/msgpack/__pycache__/fallback.cpython-38.pyc,, +pip/_vendor/msgpack/_version.py,sha256=dFR03oACnj4lsKd1RnwD7BPMiVI_FMygdOL1TOBEw_U,20 +pip/_vendor/msgpack/exceptions.py,sha256=dCTWei8dpkrMsQDcjQk74ATl9HsIBH0ybt8zOPNqMYc,1081 +pip/_vendor/msgpack/ext.py,sha256=4l356Y4sVEcvCla2dh_cL57vh4GMhZfa3kuWHFHYz6A,6088 +pip/_vendor/msgpack/fallback.py,sha256=Rpv1Ldey8f8ueRnQznD4ARKBn9dxM2PywVNkXI8IEeE,38026 +pip/_vendor/packaging/__about__.py,sha256=j4B7IMMSqpUnYzcYd5H5WZlILXevD7Zm_n9lj_TROTw,726 +pip/_vendor/packaging/__init__.py,sha256=6enbp5XgRfjBjsI9-bn00HjHf5TH21PDMOKkJW8xw-w,562 +pip/_vendor/packaging/__pycache__/__about__.cpython-38.pyc,, +pip/_vendor/packaging/__pycache__/__init__.cpython-38.pyc,, +pip/_vendor/packaging/__pycache__/_compat.cpython-38.pyc,, +pip/_vendor/packaging/__pycache__/_structures.cpython-38.pyc,, +pip/_vendor/packaging/__pycache__/_typing.cpython-38.pyc,, +pip/_vendor/packaging/__pycache__/markers.cpython-38.pyc,, +pip/_vendor/packaging/__pycache__/requirements.cpython-38.pyc,, +pip/_vendor/packaging/__pycache__/specifiers.cpython-38.pyc,, +pip/_vendor/packaging/__pycache__/tags.cpython-38.pyc,, +pip/_vendor/packaging/__pycache__/utils.cpython-38.pyc,, +pip/_vendor/packaging/__pycache__/version.cpython-38.pyc,, +pip/_vendor/packaging/_compat.py,sha256=MXdsGpSE_W-ZrHoC87andI4LV2FAwU7HLL-eHe_CjhU,1128 +pip/_vendor/packaging/_structures.py,sha256=ozkCX8Q8f2qE1Eic3YiQ4buDVfgz2iYevY9e7R2y3iY,2022 +pip/_vendor/packaging/_typing.py,sha256=VgA0AAvsc97KB5nF89zoudOyCMEsV7FlaXzZbYqEkzA,1824 +pip/_vendor/packaging/markers.py,sha256=8DOn1c7oZ_DySBlLom_9o49GzobVGYN8-kpK_nsj8oQ,9472 +pip/_vendor/packaging/requirements.py,sha256=MHqf_FKihHC0VkOB62ZUdUyG8okEL97D4Xy_jK1yFS0,5110 +pip/_vendor/packaging/specifiers.py,sha256=RaxQ-JKyCqI5QBm6gDvboZ2K6jjLVd-pxq0kvYf28kc,32208 +pip/_vendor/packaging/tags.py,sha256=BMEL_3W3E8nXK_AXAWqmlYccsvoznFKkTBkTPR48DB8,29561 +pip/_vendor/packaging/utils.py,sha256=5vUxwCVYSmaNJFgd7KaCBpxHXQN89KIvRLvCsDzao0k,4385 +pip/_vendor/packaging/version.py,sha256=t7FpsZKmDncMn6EG28dEu_5NBZUa9_HVoiG-fsDo3oc,15974 +pip/_vendor/pep517/__init__.py,sha256=mju9elFHLEUJ23rU5Zpdj8nROdY0Vj3bp4ZgvBTs6bg,130 +pip/_vendor/pep517/__pycache__/__init__.cpython-38.pyc,, +pip/_vendor/pep517/__pycache__/build.cpython-38.pyc,, +pip/_vendor/pep517/__pycache__/check.cpython-38.pyc,, +pip/_vendor/pep517/__pycache__/colorlog.cpython-38.pyc,, +pip/_vendor/pep517/__pycache__/compat.cpython-38.pyc,, +pip/_vendor/pep517/__pycache__/dirtools.cpython-38.pyc,, +pip/_vendor/pep517/__pycache__/envbuild.cpython-38.pyc,, +pip/_vendor/pep517/__pycache__/meta.cpython-38.pyc,, +pip/_vendor/pep517/__pycache__/wrappers.cpython-38.pyc,, +pip/_vendor/pep517/build.py,sha256=Z49CmRFafX7NjoBModiibwQYa_EYz3E0F31b7D5WVvs,3456 +pip/_vendor/pep517/check.py,sha256=8LJLtfZ99zAcV4vKJ1a-odMxg2sEImD7RMNg_Ere-1Y,6082 +pip/_vendor/pep517/colorlog.py,sha256=Tk9AuYm_cLF3BKTBoSTJt9bRryn0aFojIQOwbfVUTxQ,4098 +pip/_vendor/pep517/compat.py,sha256=M-5s4VNp8rjyT76ZZ_ibnPD44DYVzSQlyCEHayjtDPw,780 +pip/_vendor/pep517/dirtools.py,sha256=2mkAkAL0mRz_elYFjRKuekTJVipH1zTn4tbf1EDev84,1129 +pip/_vendor/pep517/envbuild.py,sha256=szKUFlO50X1ahQfXwz4hD9V2VE_bz9MLVPIeidsFo4w,6041 +pip/_vendor/pep517/in_process/__init__.py,sha256=MyWoAi8JHdcBv7yXuWpUSVADbx6LSB9rZh7kTIgdA8Y,563 +pip/_vendor/pep517/in_process/__pycache__/__init__.cpython-38.pyc,, +pip/_vendor/pep517/in_process/__pycache__/_in_process.cpython-38.pyc,, +pip/_vendor/pep517/in_process/_in_process.py,sha256=XrKOTURJdia5R7i3i_OQmS89LASFXE3HQXfX63qZBIE,8438 +pip/_vendor/pep517/meta.py,sha256=8mnM5lDnT4zXQpBTliJbRGfesH7iioHwozbDxALPS9Y,2463 +pip/_vendor/pep517/wrappers.py,sha256=QYZfN1nWoq4Z2krY-UX14JLAxkdNwujYjRGf7qFc914,11044 +pip/_vendor/pkg_resources/__init__.py,sha256=XpGBfvS9fafA6bm5rx7vnxdxs7yqyoc_NnpzKApkJ64,108277 +pip/_vendor/pkg_resources/__pycache__/__init__.cpython-38.pyc,, +pip/_vendor/pkg_resources/__pycache__/py31compat.cpython-38.pyc,, +pip/_vendor/pkg_resources/py31compat.py,sha256=CRk8fkiPRDLsbi5pZcKsHI__Pbmh_94L8mr9Qy9Ab2U,562 +pip/_vendor/progress/__init__.py,sha256=fcbQQXo5np2CoQyhSH5XprkicwLZNLePR3uIahznSO0,4857 +pip/_vendor/progress/__pycache__/__init__.cpython-38.pyc,, +pip/_vendor/progress/__pycache__/bar.cpython-38.pyc,, +pip/_vendor/progress/__pycache__/counter.cpython-38.pyc,, +pip/_vendor/progress/__pycache__/spinner.cpython-38.pyc,, +pip/_vendor/progress/bar.py,sha256=QuDuVNcmXgpxtNtxO0Fq72xKigxABaVmxYGBw4J3Z_E,2854 +pip/_vendor/progress/counter.py,sha256=MznyBrvPWrOlGe4MZAlGUb9q3aODe6_aNYeAE_VNoYA,1372 +pip/_vendor/progress/spinner.py,sha256=k8JbDW94T0-WXuXfxZIFhdoNPYp3jfnpXqBnfRv5fGs,1380 +pip/_vendor/pyparsing.py,sha256=J1b4z3S_KwyJW7hKGnoN-hXW9pgMIzIP6QThyY5yJq4,273394 +pip/_vendor/requests/__init__.py,sha256=ib7nRjDadbCMOeX2sMQLcbXzy982HoKRY2LD_gWqwPM,4458 +pip/_vendor/requests/__pycache__/__init__.cpython-38.pyc,, +pip/_vendor/requests/__pycache__/__version__.cpython-38.pyc,, +pip/_vendor/requests/__pycache__/_internal_utils.cpython-38.pyc,, +pip/_vendor/requests/__pycache__/adapters.cpython-38.pyc,, +pip/_vendor/requests/__pycache__/api.cpython-38.pyc,, +pip/_vendor/requests/__pycache__/auth.cpython-38.pyc,, +pip/_vendor/requests/__pycache__/certs.cpython-38.pyc,, +pip/_vendor/requests/__pycache__/compat.cpython-38.pyc,, +pip/_vendor/requests/__pycache__/cookies.cpython-38.pyc,, +pip/_vendor/requests/__pycache__/exceptions.cpython-38.pyc,, +pip/_vendor/requests/__pycache__/help.cpython-38.pyc,, +pip/_vendor/requests/__pycache__/hooks.cpython-38.pyc,, +pip/_vendor/requests/__pycache__/models.cpython-38.pyc,, +pip/_vendor/requests/__pycache__/packages.cpython-38.pyc,, +pip/_vendor/requests/__pycache__/sessions.cpython-38.pyc,, +pip/_vendor/requests/__pycache__/status_codes.cpython-38.pyc,, +pip/_vendor/requests/__pycache__/structures.cpython-38.pyc,, +pip/_vendor/requests/__pycache__/utils.cpython-38.pyc,, +pip/_vendor/requests/__version__.py,sha256=k4J8c1yFRFzwGWwlN7miaDOclFtbcIs1GlnmT17YbXQ,441 +pip/_vendor/requests/_internal_utils.py,sha256=Zx3PnEUccyfsB-ie11nZVAW8qClJy0gx1qNME7rgT18,1096 +pip/_vendor/requests/adapters.py,sha256=e-bmKEApNVqFdylxuMJJfiaHdlmS_zhWhIMEzlHvGuc,21548 +pip/_vendor/requests/api.py,sha256=PlHM-HT3PQ5lyufoeGmV-nJxRi7UnUyGVh7OV7B9XV4,6496 +pip/_vendor/requests/auth.py,sha256=OMoJIVKyRLy9THr91y8rxysZuclwPB-K1Xg1zBomUhQ,10207 +pip/_vendor/requests/certs.py,sha256=nXRVq9DtGmv_1AYbwjTu9UrgAcdJv05ZvkNeaoLOZxY,465 +pip/_vendor/requests/compat.py,sha256=LQWuCR4qXk6w7-qQopXyz0WNHUdAD40k0mKnaAEf1-g,2045 +pip/_vendor/requests/cookies.py,sha256=Y-bKX6TvW3FnYlE6Au0SXtVVWcaNdFvuAwQxw-G0iTI,18430 +pip/_vendor/requests/exceptions.py,sha256=d9fJJw8YFBB9VzG9qhvxLuOx6be3c_Dwbck-dVUEAcs,3173 +pip/_vendor/requests/help.py,sha256=SJPVcoXeo7KfK4AxJN5eFVQCjr0im87tU2n7ubLsksU,3578 +pip/_vendor/requests/hooks.py,sha256=QReGyy0bRcr5rkwCuObNakbYsc7EkiKeBwG4qHekr2Q,757 +pip/_vendor/requests/models.py,sha256=UkkaVuU1tc-BKYB41dds35saisoTpaYJ2YBCFZEEfhM,34373 +pip/_vendor/requests/packages.py,sha256=njJmVifY4aSctuW3PP5EFRCxjEwMRDO6J_feG2dKWsI,695 +pip/_vendor/requests/sessions.py,sha256=BsnR-zYILgoFzJ6yq4T8ht_i0PwwPGVAxWxWaV5dcHg,30137 +pip/_vendor/requests/status_codes.py,sha256=gT79Pbs_cQjBgp-fvrUgg1dn2DQO32bDj4TInjnMPSc,4188 +pip/_vendor/requests/structures.py,sha256=msAtr9mq1JxHd-JRyiILfdFlpbJwvvFuP3rfUQT_QxE,3005 +pip/_vendor/requests/utils.py,sha256=_K9AgkN6efPe-a-zgZurXzds5PBC0CzDkyjAE2oCQFQ,30529 +pip/_vendor/resolvelib/__init__.py,sha256=QWAqNErjxqEMKl-AUccXz10aCKVmO-WmWvxUl3QOlFY,537 +pip/_vendor/resolvelib/__pycache__/__init__.cpython-38.pyc,, +pip/_vendor/resolvelib/__pycache__/providers.cpython-38.pyc,, +pip/_vendor/resolvelib/__pycache__/reporters.cpython-38.pyc,, +pip/_vendor/resolvelib/__pycache__/resolvers.cpython-38.pyc,, +pip/_vendor/resolvelib/__pycache__/structs.cpython-38.pyc,, +pip/_vendor/resolvelib/compat/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +pip/_vendor/resolvelib/compat/__pycache__/__init__.cpython-38.pyc,, +pip/_vendor/resolvelib/compat/__pycache__/collections_abc.cpython-38.pyc,, +pip/_vendor/resolvelib/compat/collections_abc.py,sha256=uy8xUZ-NDEw916tugUXm8HgwCGiMO0f-RcdnpkfXfOs,156 +pip/_vendor/resolvelib/providers.py,sha256=bfzFDZd7UqkkAS7lUM_HeYbA-HzjKfDlle_pn_79vio,5638 +pip/_vendor/resolvelib/reporters.py,sha256=hQvvXuuEBOyEWO8KDfLsWKVjX55UFMAUwO0YZMNpzAw,1364 +pip/_vendor/resolvelib/resolvers.py,sha256=P6aq-7pY5E7zROb0zUUWqFIHEA9Lm0MWsx_bYXzUg3A,17292 +pip/_vendor/resolvelib/structs.py,sha256=Z6m4CkKJlWH4ZIKelEsKNeZqKTvyux4hqBNzY4kZzLo,4495 +pip/_vendor/six.py,sha256=U4Z_yv534W5CNyjY9i8V1OXY2SjAny8y2L5vDLhhThM,34159 +pip/_vendor/tenacity/__init__.py,sha256=6qSjN2BJDt864b6nxFoalpbCLQHiD2iYAlnUS9dWSSw,16528 +pip/_vendor/tenacity/__pycache__/__init__.cpython-38.pyc,, +pip/_vendor/tenacity/__pycache__/_asyncio.cpython-38.pyc,, +pip/_vendor/tenacity/__pycache__/_utils.cpython-38.pyc,, +pip/_vendor/tenacity/__pycache__/after.cpython-38.pyc,, +pip/_vendor/tenacity/__pycache__/before.cpython-38.pyc,, +pip/_vendor/tenacity/__pycache__/before_sleep.cpython-38.pyc,, +pip/_vendor/tenacity/__pycache__/compat.cpython-38.pyc,, +pip/_vendor/tenacity/__pycache__/nap.cpython-38.pyc,, +pip/_vendor/tenacity/__pycache__/retry.cpython-38.pyc,, +pip/_vendor/tenacity/__pycache__/stop.cpython-38.pyc,, +pip/_vendor/tenacity/__pycache__/tornadoweb.cpython-38.pyc,, +pip/_vendor/tenacity/__pycache__/wait.cpython-38.pyc,, +pip/_vendor/tenacity/_asyncio.py,sha256=6C4Sfv9IOUYf1-0vuIoE6OGbmJrJywH0-YslrxmbxKw,2833 +pip/_vendor/tenacity/_utils.py,sha256=W1nujHum1f9i4RQpOSjqsQo9_mQtaUtNznXAmQHsL28,4555 +pip/_vendor/tenacity/after.py,sha256=KNIi2WT83r4eqA3QaXMK1zXQzkbLgVHj5uRanY6HabM,1307 +pip/_vendor/tenacity/before.py,sha256=B9pAXn6_J1UKzwTL9nFtRpOhNg8s5vGSi4bqnx4-laA,1154 +pip/_vendor/tenacity/before_sleep.py,sha256=lZEMHNaFRmdCcws3Moh4EOZ9zeo4MRxskdiUudvNuvY,1784 +pip/_vendor/tenacity/compat.py,sha256=dHonJkJlHwD2cmqLrYHYU0Tdzm2bn1-76QZSt6OCemw,739 +pip/_vendor/tenacity/nap.py,sha256=7VVudOTmuv_-C_XJlvjGcgHbV6_A2HlzymaXu8vj1d8,1280 +pip/_vendor/tenacity/retry.py,sha256=xskLGa15EsNhPPOmIUcKS7CqjaRAtWxGFNPNRjjz9UU,5463 +pip/_vendor/tenacity/stop.py,sha256=4cjSe_YPSawz6iI-QBDN0xFfE_zlKvjhFwx21ZlyD2E,2435 +pip/_vendor/tenacity/tornadoweb.py,sha256=q3XZW2A9Rky1BhUQbNHF61hM1EXQ57dA7wxPnlSOx3s,1729 +pip/_vendor/tenacity/wait.py,sha256=FAoIfIUSNf5OWJYT7nhjFC0uOVijHMBd56AJRyLN230,6017 +pip/_vendor/toml/__init__.py,sha256=kYgYzehhUx1cctsuprmjEKwnSdmQeC53cTxi7nxQrko,747 +pip/_vendor/toml/__pycache__/__init__.cpython-38.pyc,, +pip/_vendor/toml/__pycache__/decoder.cpython-38.pyc,, +pip/_vendor/toml/__pycache__/encoder.cpython-38.pyc,, +pip/_vendor/toml/__pycache__/ordered.cpython-38.pyc,, +pip/_vendor/toml/__pycache__/tz.cpython-38.pyc,, +pip/_vendor/toml/decoder.py,sha256=deDPQqpj92SG6pAtwLbgKHrIsly7hAZG-U6g2y7hyGc,38954 +pip/_vendor/toml/encoder.py,sha256=tBe93_GB21K52TlSbMiYuGeIGXH70F2WzAg-lIfVoko,9964 +pip/_vendor/toml/ordered.py,sha256=UWt5Eka90IWVBYdvLgY5PXnkBcVYpHjnw9T67rM85T8,378 +pip/_vendor/toml/tz.py,sha256=-5vg8wkg_atnVi2TnEveexIVE7T_FxBVr_-2WVfO1oA,701 +pip/_vendor/urllib3/__init__.py,sha256=j3yzHIbmW7CS-IKQJ9-PPQf_YKO8EOAey_rMW0UR7us,2763 +pip/_vendor/urllib3/__pycache__/__init__.cpython-38.pyc,, +pip/_vendor/urllib3/__pycache__/_collections.cpython-38.pyc,, +pip/_vendor/urllib3/__pycache__/_version.cpython-38.pyc,, +pip/_vendor/urllib3/__pycache__/connection.cpython-38.pyc,, +pip/_vendor/urllib3/__pycache__/connectionpool.cpython-38.pyc,, +pip/_vendor/urllib3/__pycache__/exceptions.cpython-38.pyc,, +pip/_vendor/urllib3/__pycache__/fields.cpython-38.pyc,, +pip/_vendor/urllib3/__pycache__/filepost.cpython-38.pyc,, +pip/_vendor/urllib3/__pycache__/poolmanager.cpython-38.pyc,, +pip/_vendor/urllib3/__pycache__/request.cpython-38.pyc,, +pip/_vendor/urllib3/__pycache__/response.cpython-38.pyc,, +pip/_vendor/urllib3/_collections.py,sha256=Rp1mVyBgc_UlAcp6M3at1skJBXR5J43NawRTvW2g_XY,10811 +pip/_vendor/urllib3/_version.py,sha256=2Bjk_cB49921PTvereWp8ZR3NhLNoCMAyHSGP-OesLk,63 +pip/_vendor/urllib3/connection.py,sha256=q-vf_TM3MyRbZcFn3-VCKZBSf0oEhGjv7BFeZm_7kw4,18748 +pip/_vendor/urllib3/connectionpool.py,sha256=IKoeuJZY9YAYm0GK4q-MXAhyXW0M_FnvabYaNsDIR-E,37133 +pip/_vendor/urllib3/contrib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +pip/_vendor/urllib3/contrib/__pycache__/__init__.cpython-38.pyc,, +pip/_vendor/urllib3/contrib/__pycache__/_appengine_environ.cpython-38.pyc,, +pip/_vendor/urllib3/contrib/__pycache__/appengine.cpython-38.pyc,, +pip/_vendor/urllib3/contrib/__pycache__/ntlmpool.cpython-38.pyc,, +pip/_vendor/urllib3/contrib/__pycache__/pyopenssl.cpython-38.pyc,, +pip/_vendor/urllib3/contrib/__pycache__/securetransport.cpython-38.pyc,, +pip/_vendor/urllib3/contrib/__pycache__/socks.cpython-38.pyc,, +pip/_vendor/urllib3/contrib/_appengine_environ.py,sha256=bDbyOEhW2CKLJcQqAKAyrEHN-aklsyHFKq6vF8ZFsmk,957 +pip/_vendor/urllib3/contrib/_securetransport/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +pip/_vendor/urllib3/contrib/_securetransport/__pycache__/__init__.cpython-38.pyc,, +pip/_vendor/urllib3/contrib/_securetransport/__pycache__/bindings.cpython-38.pyc,, +pip/_vendor/urllib3/contrib/_securetransport/__pycache__/low_level.cpython-38.pyc,, +pip/_vendor/urllib3/contrib/_securetransport/bindings.py,sha256=eRy1Mj-wpg7sR6-OSvnSV4jUbjMT464dLN_CWxbIRVw,17649 +pip/_vendor/urllib3/contrib/_securetransport/low_level.py,sha256=lgIdsSycqfB0Xm5BiJzXGeIKT7ybCQMFPJAgkcwPa1s,13908 +pip/_vendor/urllib3/contrib/appengine.py,sha256=lm86XjaOI7ajbonsN0JLA0ckkgSFWhgxWKLW_Ymt4sI,11034 +pip/_vendor/urllib3/contrib/ntlmpool.py,sha256=6I95h1_71fzxmoMSNtY0gB8lnyCoVtP_DpqFGj14fdU,4160 +pip/_vendor/urllib3/contrib/pyopenssl.py,sha256=kqm9SX4h_6h76QwGDBiNQ7i-ktKZunZuxzTVjjtHDto,16795 +pip/_vendor/urllib3/contrib/securetransport.py,sha256=MEEHa3YqG8ifDPYG0gO12C1tZu2I-HqGF4lC53cHFPg,34303 +pip/_vendor/urllib3/contrib/socks.py,sha256=DcRjM2l0rQMIyhYrN6r-tnVkY6ZTDxHJlM8_usAkGCA,7097 +pip/_vendor/urllib3/exceptions.py,sha256=0Mnno3KHTNfXRfY7638NufOPkUb6mXOm-Lqj-4x2w8A,8217 +pip/_vendor/urllib3/fields.py,sha256=kvLDCg_JmH1lLjUUEY_FLS8UhY7hBvDPuVETbY8mdrM,8579 +pip/_vendor/urllib3/filepost.py,sha256=5b_qqgRHVlL7uLtdAYBzBh-GHmU5AfJVt_2N0XS3PeY,2440 +pip/_vendor/urllib3/packages/__init__.py,sha256=h4BLhD4tLaBx1adaDtKXfupsgqY0wWLXb_f1_yVlV6A,108 +pip/_vendor/urllib3/packages/__pycache__/__init__.cpython-38.pyc,, +pip/_vendor/urllib3/packages/__pycache__/six.cpython-38.pyc,, +pip/_vendor/urllib3/packages/backports/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +pip/_vendor/urllib3/packages/backports/__pycache__/__init__.cpython-38.pyc,, +pip/_vendor/urllib3/packages/backports/__pycache__/makefile.cpython-38.pyc,, +pip/_vendor/urllib3/packages/backports/makefile.py,sha256=nbzt3i0agPVP07jqqgjhaYjMmuAi_W5E0EywZivVO8E,1417 +pip/_vendor/urllib3/packages/six.py,sha256=adx4z-eM_D0Vvu0IIqVzFACQ_ux9l64y7DkSEfbxCDs,32536 +pip/_vendor/urllib3/packages/ssl_match_hostname/__init__.py,sha256=zppezdEQdpGsYerI6mV6MfUYy495JV4mcOWC_GgbljU,757 +pip/_vendor/urllib3/packages/ssl_match_hostname/__pycache__/__init__.cpython-38.pyc,, +pip/_vendor/urllib3/packages/ssl_match_hostname/__pycache__/_implementation.cpython-38.pyc,, +pip/_vendor/urllib3/packages/ssl_match_hostname/_implementation.py,sha256=6dZ-q074g7XhsJ27MFCgkct8iVNZB3sMZvKhf-KUVy0,5679 +pip/_vendor/urllib3/poolmanager.py,sha256=whzlX6UTEgODMOCy0ZDMUONRBCz5wyIM8Z9opXAY-Lk,19763 +pip/_vendor/urllib3/request.py,sha256=ZFSIqX0C6WizixecChZ3_okyu7BEv0lZu1VT0s6h4SM,5985 +pip/_vendor/urllib3/response.py,sha256=hGhGBh7TkEkh_IQg5C1W_xuPNrgIKv5BUXPyE-q0LuE,28203 +pip/_vendor/urllib3/util/__init__.py,sha256=JEmSmmqqLyaw8P51gUImZh8Gwg9i1zSe-DoqAitn2nc,1155 +pip/_vendor/urllib3/util/__pycache__/__init__.cpython-38.pyc,, +pip/_vendor/urllib3/util/__pycache__/connection.cpython-38.pyc,, +pip/_vendor/urllib3/util/__pycache__/proxy.cpython-38.pyc,, +pip/_vendor/urllib3/util/__pycache__/queue.cpython-38.pyc,, +pip/_vendor/urllib3/util/__pycache__/request.cpython-38.pyc,, +pip/_vendor/urllib3/util/__pycache__/response.cpython-38.pyc,, +pip/_vendor/urllib3/util/__pycache__/retry.cpython-38.pyc,, +pip/_vendor/urllib3/util/__pycache__/ssl_.cpython-38.pyc,, +pip/_vendor/urllib3/util/__pycache__/ssltransport.cpython-38.pyc,, +pip/_vendor/urllib3/util/__pycache__/timeout.cpython-38.pyc,, +pip/_vendor/urllib3/util/__pycache__/url.cpython-38.pyc,, +pip/_vendor/urllib3/util/__pycache__/wait.cpython-38.pyc,, +pip/_vendor/urllib3/util/connection.py,sha256=_I-ZoF58xXLLjo-Q5IGaJrMxy2IW_exI8K9O9pq7op0,4922 +pip/_vendor/urllib3/util/proxy.py,sha256=FGipAEnvZteyldXNjce4DEB7YzwU-a5lep8y5S0qHQg,1604 +pip/_vendor/urllib3/util/queue.py,sha256=nRgX8_eX-_VkvxoX096QWoz8Ps0QHUAExILCY_7PncM,498 +pip/_vendor/urllib3/util/request.py,sha256=NnzaEKQ1Pauw5MFMV6HmgEMHITf0Aua9fQuzi2uZzGc,4123 +pip/_vendor/urllib3/util/response.py,sha256=GJpg3Egi9qaJXRwBh5wv-MNuRWan5BIu40oReoxWP28,3510 +pip/_vendor/urllib3/util/retry.py,sha256=s3ZNKXO6_t23ZQMg8zlu20PMSqraT495-S_mEY_19ak,21396 +pip/_vendor/urllib3/util/ssl_.py,sha256=dKcH-sqiR_ESWqKP1PJ6SUAUSvqC-fkMQGrTokV4NMY,16281 +pip/_vendor/urllib3/util/ssltransport.py,sha256=vOOCPRn-dODUZ2qtMCfStb0JmjgrgJaKLqJ9qvKucFs,6932 +pip/_vendor/urllib3/util/timeout.py,sha256=QSbBUNOB9yh6AnDn61SrLQ0hg5oz0I9-uXEG91AJuIg,10003 +pip/_vendor/urllib3/util/url.py,sha256=KP_yaHA0TFFAsQSImc_FOHO-Wq3PNHf_bKObKcrgdU4,13981 +pip/_vendor/urllib3/util/wait.py,sha256=3MUKRSAUJDB2tgco7qRUskW0zXGAWYvRRE4Q1_6xlLs,5404 +pip/_vendor/vendor.txt,sha256=yaN2qLLkKuoRmFLCxGJ1LZtZiuV7T7NoisZqwWNRhIU,364 +pip/_vendor/webencodings/__init__.py,sha256=qOBJIuPy_4ByYH6W_bNgJF-qYQ2DoU-dKsDu5yRWCXg,10579 +pip/_vendor/webencodings/__pycache__/__init__.cpython-38.pyc,, +pip/_vendor/webencodings/__pycache__/labels.cpython-38.pyc,, +pip/_vendor/webencodings/__pycache__/mklabels.cpython-38.pyc,, +pip/_vendor/webencodings/__pycache__/tests.cpython-38.pyc,, +pip/_vendor/webencodings/__pycache__/x_user_defined.cpython-38.pyc,, +pip/_vendor/webencodings/labels.py,sha256=4AO_KxTddqGtrL9ns7kAPjb0CcN6xsCIxbK37HY9r3E,8979 +pip/_vendor/webencodings/mklabels.py,sha256=GYIeywnpaLnP0GSic8LFWgd0UVvO_l1Nc6YoF-87R_4,1305 +pip/_vendor/webencodings/tests.py,sha256=OtGLyjhNY1fvkW1GvLJ_FV9ZoqC9Anyjr7q3kxTbzNs,6563 +pip/_vendor/webencodings/x_user_defined.py,sha256=yOqWSdmpytGfUgh_Z6JYgDNhoc-BAHyyeeT15Fr42tM,4307 +pip/py.typed,sha256=l9g-Fc1zgtIZ70tLJDcx6qKeqDutTVVSceIqUod-awg,286 diff --git a/venv/lib/python3.8/site-packages/pip-21.1.1.dist-info/REQUESTED b/venv/lib/python3.8/site-packages/pip-21.1.1.dist-info/REQUESTED new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.8/site-packages/pip-21.1.1.dist-info/WHEEL b/venv/lib/python3.8/site-packages/pip-21.1.1.dist-info/WHEEL new file mode 100644 index 0000000..385faab --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip-21.1.1.dist-info/WHEEL @@ -0,0 +1,5 @@ +Wheel-Version: 1.0 +Generator: bdist_wheel (0.36.2) +Root-Is-Purelib: true +Tag: py3-none-any + diff --git a/venv/lib/python3.8/site-packages/pip-21.1.1.dist-info/entry_points.txt b/venv/lib/python3.8/site-packages/pip-21.1.1.dist-info/entry_points.txt new file mode 100644 index 0000000..d48bd8a --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip-21.1.1.dist-info/entry_points.txt @@ -0,0 +1,5 @@ +[console_scripts] +pip = pip._internal.cli.main:main +pip3 = pip._internal.cli.main:main +pip3.8 = pip._internal.cli.main:main + diff --git a/venv/lib/python3.8/site-packages/pip-21.1.1.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/pip-21.1.1.dist-info/top_level.txt new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip-21.1.1.dist-info/top_level.txt @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/pip/__init__.py b/venv/lib/python3.8/site-packages/pip/__init__.py new file mode 120000 index 0000000..cb76031 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/16/81/e0/95d3b57ae0a95023074a5011e1c109b466bc4b2bf533e58278435ca0e3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/__main__.py b/venv/lib/python3.8/site-packages/pip/__main__.py new file mode 120000 index 0000000..684d0aa --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/__main__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/99/7c/16/0dfb4d2cc29fc15a8a156184feeb8166f1922225042e12e47b2b08b997 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..9100c01 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/__pycache__/__main__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/__pycache__/__main__.cpython-38.pyc new file mode 100644 index 0000000..abf7180 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/__pycache__/__main__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/__init__.py b/venv/lib/python3.8/site-packages/pip/_internal/__init__.py new file mode 120000 index 0000000..78aec6f --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9e/71/42/bb1acf32000bac80f14a8cbe1fa663e16e1463ad03fae2f5689caad297 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..3560343 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/__pycache__/build_env.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/__pycache__/build_env.cpython-38.pyc new file mode 100644 index 0000000..db11f6e Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/__pycache__/build_env.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/__pycache__/cache.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/__pycache__/cache.cpython-38.pyc new file mode 100644 index 0000000..42868d2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/__pycache__/cache.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/__pycache__/configuration.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/__pycache__/configuration.cpython-38.pyc new file mode 100644 index 0000000..f556949 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/__pycache__/configuration.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/__pycache__/exceptions.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/__pycache__/exceptions.cpython-38.pyc new file mode 100644 index 0000000..cf0a52a Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/__pycache__/exceptions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/__pycache__/main.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/__pycache__/main.cpython-38.pyc new file mode 100644 index 0000000..ce5d9c2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/__pycache__/main.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/__pycache__/pyproject.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/__pycache__/pyproject.cpython-38.pyc new file mode 100644 index 0000000..c58944f Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/__pycache__/pyproject.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/__pycache__/self_outdated_check.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/__pycache__/self_outdated_check.cpython-38.pyc new file mode 100644 index 0000000..989ed23 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/__pycache__/self_outdated_check.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/__pycache__/wheel_builder.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/__pycache__/wheel_builder.cpython-38.pyc new file mode 100644 index 0000000..01f01fe Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/__pycache__/wheel_builder.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/build_env.py b/venv/lib/python3.8/site-packages/pip/_internal/build_env.py new file mode 100644 index 0000000..471b12a --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/build_env.py @@ -0,0 +1,289 @@ +"""Build Environment used for isolation during sdist building +""" + +import contextlib +import logging +import os +import pathlib +import sys +import textwrap +import zipfile +from collections import OrderedDict +from sysconfig import get_paths +from types import TracebackType +from typing import TYPE_CHECKING, Iterable, Iterator, List, Optional, Set, Tuple, Type + +from pip._vendor.certifi import where +from pip._vendor.pkg_resources import Requirement, VersionConflict, WorkingSet + +from pip import __file__ as pip_location +from pip._internal.cli.spinners import open_spinner +from pip._internal.locations import get_platlib, get_prefixed_libs, get_purelib +from pip._internal.utils.subprocess import call_subprocess +from pip._internal.utils.temp_dir import TempDirectory, tempdir_kinds + +if TYPE_CHECKING: + from pip._internal.index.package_finder import PackageFinder + +logger = logging.getLogger(__name__) + + +class _Prefix: + + def __init__(self, path): + # type: (str) -> None + self.path = path + self.setup = False + self.bin_dir = get_paths( + 'nt' if os.name == 'nt' else 'posix_prefix', + vars={'base': path, 'platbase': path} + )['scripts'] + self.lib_dirs = get_prefixed_libs(path) + + +@contextlib.contextmanager +def _create_standalone_pip() -> Iterator[str]: + """Create a "standalone pip" zip file. + + The zip file's content is identical to the currently-running pip. + It will be used to install requirements into the build environment. + """ + # Replit mod: the pip binary is a symlink to the content-addressable cache, + # so the original `.resolve()` was causing the zip to have some _very_ + # unexpected contents. + source = pathlib.Path(pip_location).parent + + # Return the current instance if `source` is not a directory. We can't build + # a zip from this, and it likely means the instance is already standalone. + if not source.is_dir(): + yield str(source) + return + + with TempDirectory(kind="standalone-pip") as tmp_dir: + pip_zip = os.path.join(tmp_dir.path, "__env_pip__.zip") + kwargs = {} + if sys.version_info >= (3, 8): + kwargs["strict_timestamps"] = False + with zipfile.ZipFile(pip_zip, "w", **kwargs) as zf: + for child in source.rglob("*"): + zf.write(child, child.relative_to(source.parent).as_posix()) + yield os.path.join(pip_zip, "pip") + + +class BuildEnvironment: + """Creates and manages an isolated environment to install build deps + """ + + def __init__(self): + # type: () -> None + temp_dir = TempDirectory( + kind=tempdir_kinds.BUILD_ENV, globally_managed=True + ) + + self._prefixes = OrderedDict( + (name, _Prefix(os.path.join(temp_dir.path, name))) + for name in ('normal', 'overlay') + ) + + self._bin_dirs = [] # type: List[str] + self._lib_dirs = [] # type: List[str] + for prefix in reversed(list(self._prefixes.values())): + self._bin_dirs.append(prefix.bin_dir) + self._lib_dirs.extend(prefix.lib_dirs) + + # Customize site to: + # - ensure .pth files are honored + # - prevent access to system site packages + system_sites = { + os.path.normcase(site) for site in (get_purelib(), get_platlib()) + } + self._site_dir = os.path.join(temp_dir.path, 'site') + if not os.path.exists(self._site_dir): + os.mkdir(self._site_dir) + with open(os.path.join(self._site_dir, 'sitecustomize.py'), 'w') as fp: + fp.write(textwrap.dedent( + ''' + import os, site, sys + + # First, drop system-sites related paths. + original_sys_path = sys.path[:] + known_paths = set() + for path in {system_sites!r}: + site.addsitedir(path, known_paths=known_paths) + system_paths = set( + os.path.normcase(path) + for path in sys.path[len(original_sys_path):] + ) + original_sys_path = [ + path for path in original_sys_path + if os.path.normcase(path) not in system_paths + ] + sys.path = original_sys_path + + # Second, add lib directories. + # ensuring .pth file are processed. + for path in {lib_dirs!r}: + assert not path in sys.path + site.addsitedir(path) + ''' + ).format(system_sites=system_sites, lib_dirs=self._lib_dirs)) + + def __enter__(self): + # type: () -> None + self._save_env = { + name: os.environ.get(name, None) + for name in ('PATH', 'PYTHONNOUSERSITE', 'PYTHONPATH') + } + + path = self._bin_dirs[:] + old_path = self._save_env['PATH'] + if old_path: + path.extend(old_path.split(os.pathsep)) + + pythonpath = [self._site_dir] + + os.environ.update({ + 'PATH': os.pathsep.join(path), + 'PYTHONNOUSERSITE': '1', + 'PYTHONPATH': os.pathsep.join(pythonpath), + }) + + def __exit__( + self, + exc_type, # type: Optional[Type[BaseException]] + exc_val, # type: Optional[BaseException] + exc_tb # type: Optional[TracebackType] + ): + # type: (...) -> None + for varname, old_value in self._save_env.items(): + if old_value is None: + os.environ.pop(varname, None) + else: + os.environ[varname] = old_value + + def check_requirements(self, reqs): + # type: (Iterable[str]) -> Tuple[Set[Tuple[str, str]], Set[str]] + """Return 2 sets: + - conflicting requirements: set of (installed, wanted) reqs tuples + - missing requirements: set of reqs + """ + missing = set() + conflicting = set() + if reqs: + ws = WorkingSet(self._lib_dirs) + for req in reqs: + try: + if ws.find(Requirement.parse(req)) is None: + missing.add(req) + except VersionConflict as e: + conflicting.add((str(e.args[0].as_requirement()), + str(e.args[1]))) + return conflicting, missing + + def install_requirements( + self, + finder, # type: PackageFinder + requirements, # type: Iterable[str] + prefix_as_string, # type: str + message # type: str + ): + # type: (...) -> None + prefix = self._prefixes[prefix_as_string] + assert not prefix.setup + prefix.setup = True + if not requirements: + return + with contextlib.ExitStack() as ctx: + # TODO: Remove this block when dropping 3.6 support. Python 3.6 + # lacks importlib.resources and pep517 has issues loading files in + # a zip, so we fallback to the "old" method by adding the current + # pip directory to the child process's sys.path. + if sys.version_info < (3, 7): + pip_runnable = os.path.dirname(pip_location) + else: + pip_runnable = ctx.enter_context(_create_standalone_pip()) + self._install_requirements( + pip_runnable, + finder, + requirements, + prefix, + message, + ) + + @staticmethod + def _install_requirements( + pip_runnable: str, + finder: "PackageFinder", + requirements: Iterable[str], + prefix: _Prefix, + message: str, + ) -> None: + args = [ + sys.executable, pip_runnable, 'install', + '--ignore-installed', '--no-user', '--prefix', prefix.path, + '--no-warn-script-location', + ] # type: List[str] + if logger.getEffectiveLevel() <= logging.DEBUG: + args.append('-v') + for format_control in ('no_binary', 'only_binary'): + formats = getattr(finder.format_control, format_control) + args.extend(('--' + format_control.replace('_', '-'), + ','.join(sorted(formats or {':none:'})))) + + index_urls = finder.index_urls + if index_urls: + args.extend(['-i', index_urls[0]]) + for extra_index in index_urls[1:]: + args.extend(['--extra-index-url', extra_index]) + else: + args.append('--no-index') + for link in finder.find_links: + args.extend(['--find-links', link]) + + for host in finder.trusted_hosts: + args.extend(['--trusted-host', host]) + if finder.allow_all_prereleases: + args.append('--pre') + if finder.prefer_binary: + args.append('--prefer-binary') + args.append('--') + args.extend(requirements) + extra_environ = {"_PIP_STANDALONE_CERT": where()} + with open_spinner(message) as spinner: + call_subprocess(args, spinner=spinner, extra_environ=extra_environ) + + +class NoOpBuildEnvironment(BuildEnvironment): + """A no-op drop-in replacement for BuildEnvironment + """ + + def __init__(self): + # type: () -> None + pass + + def __enter__(self): + # type: () -> None + pass + + def __exit__( + self, + exc_type, # type: Optional[Type[BaseException]] + exc_val, # type: Optional[BaseException] + exc_tb # type: Optional[TracebackType] + ): + # type: (...) -> None + pass + + def cleanup(self): + # type: () -> None + pass + + def install_requirements( + self, + finder, # type: PackageFinder + requirements, # type: Iterable[str] + prefix_as_string, # type: str + message # type: str + ): + # type: (...) -> None + raise NotImplementedError() diff --git a/venv/lib/python3.8/site-packages/pip/_internal/cache.py b/venv/lib/python3.8/site-packages/pip/_internal/cache.py new file mode 120000 index 0000000..ae27a86 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/cache.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e9/53/8d/b6845e1996c177bb2a6359fa87091d582e22cf7b665f05f0663a6364ac \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/cli/__init__.py b/venv/lib/python3.8/site-packages/pip/_internal/cli/__init__.py new file mode 120000 index 0000000..c0390e5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/cli/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/16/41/c1/829c716fefe077aaf51639cd85f30ecc0518c97a17289e9a6e28df7055 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..5cfb9ca Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/autocompletion.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/autocompletion.cpython-38.pyc new file mode 100644 index 0000000..8562369 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/autocompletion.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/base_command.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/base_command.cpython-38.pyc new file mode 100644 index 0000000..08b282c Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/base_command.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/cmdoptions.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/cmdoptions.cpython-38.pyc new file mode 100644 index 0000000..c2a4f74 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/cmdoptions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/command_context.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/command_context.cpython-38.pyc new file mode 100644 index 0000000..983e547 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/command_context.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/main.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/main.cpython-38.pyc new file mode 100644 index 0000000..6d5c718 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/main.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/main_parser.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/main_parser.cpython-38.pyc new file mode 100644 index 0000000..750af31 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/main_parser.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/parser.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/parser.cpython-38.pyc new file mode 100644 index 0000000..3ba9585 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/parser.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/progress_bars.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/progress_bars.cpython-38.pyc new file mode 100644 index 0000000..25117da Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/progress_bars.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/req_command.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/req_command.cpython-38.pyc new file mode 100644 index 0000000..3ba56cc Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/req_command.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/spinners.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/spinners.cpython-38.pyc new file mode 100644 index 0000000..a58c916 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/spinners.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/status_codes.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/status_codes.cpython-38.pyc new file mode 100644 index 0000000..f7573ac Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/status_codes.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/cli/autocompletion.py b/venv/lib/python3.8/site-packages/pip/_internal/cli/autocompletion.py new file mode 120000 index 0000000..f006496 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/cli/autocompletion.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/df/3a/e1/e834ead7221d330cdd51677036833fc20e62d85f0b007ee9476d453fdd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/cli/base_command.py b/venv/lib/python3.8/site-packages/pip/_internal/cli/base_command.py new file mode 120000 index 0000000..a88c134 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/cli/base_command.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/76/6b/dd/3585dc52fdc12b27f32d565b257ad6a3a19cf8f322d909832fbe75f6f9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/cli/cmdoptions.py b/venv/lib/python3.8/site-packages/pip/_internal/cli/cmdoptions.py new file mode 120000 index 0000000..65151b8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/cli/cmdoptions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/88/1f/7b/7a89bd625d5de500864492074bfc2c734348a9c9a53bbbc3d62c1b12e7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/cli/command_context.py b/venv/lib/python3.8/site-packages/pip/_internal/cli/command_context.py new file mode 120000 index 0000000..7d3a939 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/cli/command_context.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6b/5a/41/06fbc62c3899d4ac3ae3fe2d4fa1e6453c180e8632f091601b90b39fbb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/cli/main.py b/venv/lib/python3.8/site-packages/pip/_internal/cli/main.py new file mode 120000 index 0000000..aab1087 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/cli/main.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8a/82/7c/21595bd8ad6a2cec51fad5e479ef6551185857cf420ccef530a6a0ed86 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/cli/main_parser.py b/venv/lib/python3.8/site-packages/pip/_internal/cli/main_parser.py new file mode 120000 index 0000000..b72be59 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/cli/main_parser.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/43/d4/e7/cad7ee0b96762528c1156546b447582c5cbbaee90d21bd389a8bc7740a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/cli/parser.py b/venv/lib/python3.8/site-packages/pip/_internal/cli/parser.py new file mode 120000 index 0000000..004f710 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/cli/parser.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1b/1c/1b/0b60ea216c5910e8762985838271da34ade2ed9d8f614e1c201cf6b8d2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/cli/progress_bars.py b/venv/lib/python3.8/site-packages/pip/_internal/cli/progress_bars.py new file mode 120000 index 0000000..6da5c56 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/cli/progress_bars.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/13/3f/cf/5d9c03a57bfe5a02024409a5c2127daa3ff4389e52bb6f76f2e0e27bab \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/cli/req_command.py b/venv/lib/python3.8/site-packages/pip/_internal/cli/req_command.py new file mode 120000 index 0000000..4b943ee --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/cli/req_command.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bf/65/0e/e943a8eef85c5f6e1a767f93e1b825a3f9d5dca119b95f7c01f90314fa \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/cli/spinners.py b/venv/lib/python3.8/site-packages/pip/_internal/cli/spinners.py new file mode 120000 index 0000000..d43de9d --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/cli/spinners.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/11/6f/79/c0c2d5b47bfca911eb58b28c570b2f9eb390e5dec203adbc184c6f3239 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/cli/status_codes.py b/venv/lib/python3.8/site-packages/pip/_internal/cli/status_codes.py new file mode 120000 index 0000000..81812f6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/cli/status_codes.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b0/41/47/51a5096eabfc880acbdc702d733b5666618e157d358537ac4b2b43121d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/commands/__init__.py b/venv/lib/python3.8/site-packages/pip/_internal/commands/__init__.py new file mode 120000 index 0000000..890812b --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/commands/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/13/61/07/62fe860b0725e29b7549c3b0922e51f0d6c7a65937706df9aa09aa1930 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..fea2466 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/cache.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/cache.cpython-38.pyc new file mode 100644 index 0000000..a2d5910 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/cache.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/check.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/check.cpython-38.pyc new file mode 100644 index 0000000..7c10b1a Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/check.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/completion.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/completion.cpython-38.pyc new file mode 100644 index 0000000..7f93785 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/completion.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/configuration.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/configuration.cpython-38.pyc new file mode 100644 index 0000000..05221ed Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/configuration.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/debug.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/debug.cpython-38.pyc new file mode 100644 index 0000000..8611262 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/debug.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/download.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/download.cpython-38.pyc new file mode 100644 index 0000000..e9010f9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/download.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/freeze.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/freeze.cpython-38.pyc new file mode 100644 index 0000000..8fb5608 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/freeze.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/hash.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/hash.cpython-38.pyc new file mode 100644 index 0000000..251a601 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/hash.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/help.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/help.cpython-38.pyc new file mode 100644 index 0000000..94280e9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/help.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/index.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/index.cpython-38.pyc new file mode 100644 index 0000000..ff9a3bc Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/index.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/install.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/install.cpython-38.pyc new file mode 100644 index 0000000..0a7e957 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/install.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/list.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/list.cpython-38.pyc new file mode 100644 index 0000000..5bf4142 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/list.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/search.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/search.cpython-38.pyc new file mode 100644 index 0000000..d063f00 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/search.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/show.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/show.cpython-38.pyc new file mode 100644 index 0000000..688d4f0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/show.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/uninstall.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/uninstall.cpython-38.pyc new file mode 100644 index 0000000..52648ed Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/uninstall.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/wheel.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/wheel.cpython-38.pyc new file mode 100644 index 0000000..0dbdfa5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/wheel.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/commands/cache.py b/venv/lib/python3.8/site-packages/pip/_internal/commands/cache.py new file mode 120000 index 0000000..0f245e9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/commands/cache.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/54/8e/49/c8110edd4e89fd81783c8961a8faf9a3b95e426e04a7f2f237a8dde190 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/commands/check.py b/venv/lib/python3.8/site-packages/pip/_internal/commands/check.py new file mode 120000 index 0000000..7c28f57 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/commands/check.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0e/dd/30/ecda85a7ca3fe3927bc37d8642b29ececcf6bf0a3f53c526b070fd60d2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/commands/completion.py b/venv/lib/python3.8/site-packages/pip/_internal/commands/completion.py new file mode 120000 index 0000000..4930e0a --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/commands/completion.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/53/14/b4/f6cf2b127534f000223778077502235385c64a5bf9489deb209753ca10 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/commands/configuration.py b/venv/lib/python3.8/site-packages/pip/_internal/commands/configuration.py new file mode 120000 index 0000000..3e7f96b --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/commands/configuration.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5f/57/dd/55d120f0c1c5b40ad4fb76cce9604d6b1d44ed9eeab333c47652b5ceaa \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/commands/debug.py b/venv/lib/python3.8/site-packages/pip/_internal/commands/debug.py new file mode 120000 index 0000000..f0ab614 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/commands/debug.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ca/7b/4e/a65c3ddd56684005410770573cabaa6da9b8993e9312b6acb45c05cb7b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/commands/download.py b/venv/lib/python3.8/site-packages/pip/_internal/commands/download.py new file mode 120000 index 0000000..556ed53 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/commands/download.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ce/ff/12/fc3376fa4e8ad15491df208f2d2acb7a1a18923dc8bf23b51e8f2df15e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/commands/freeze.py b/venv/lib/python3.8/site-packages/pip/_internal/commands/freeze.py new file mode 120000 index 0000000..61a527e --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/commands/freeze.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b4/ee/73/b2565547092deb0e1b337dd08abe141e64dc7d3332fcdf867d77c3d418 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/commands/hash.py b/venv/lib/python3.8/site-packages/pip/_internal/commands/hash.py new file mode 120000 index 0000000..bcbc9c7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/commands/hash.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8a/9e/b8/02c27a105504696283bec6667501e4b35253120ac38c7e5bca5f886327 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/commands/help.py b/venv/lib/python3.8/site-packages/pip/_internal/commands/help.py new file mode 120000 index 0000000..b4e40a0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/commands/help.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e8/c9/f3/ada93f8fec84de9b030aa8b61b121226a219274e0339b294f50867c4c1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/commands/index.py b/venv/lib/python3.8/site-packages/pip/_internal/commands/index.py new file mode 120000 index 0000000..c5a7360 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/commands/index.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c4/5b/5f/1fe0a83eff668fd6c3a1f13c02b17dfd8d90eee3bc129a7a8a23ea1755 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/commands/install.py b/venv/lib/python3.8/site-packages/pip/_internal/commands/install.py new file mode 120000 index 0000000..251ec3e --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/commands/install.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c0/bf/e4/8d1f4bfa716fdc3cc70933432e9f3ed571b907ec30698319edc93488b1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/commands/list.py b/venv/lib/python3.8/site-packages/pip/_internal/commands/list.py new file mode 120000 index 0000000..a25f85c --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/commands/list.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ad/d5/66/58a0d9b51f773ff41c18ef2e92136656b68dd7107d9d499df3ac6bb0aa \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/commands/search.py b/venv/lib/python3.8/site-packages/pip/_internal/commands/search.py new file mode 120000 index 0000000..f20b0ee --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/commands/search.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/14/0f/b9/42574440301fbdc3e52e683cd89904d7831b1a5d8a1859d17fd9b9802c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/commands/show.py b/venv/lib/python3.8/site-packages/pip/_internal/commands/show.py new file mode 120000 index 0000000..3c7670b --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/commands/show.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b3/3d/af/6f187897b063e232a59031931d80fa23cfddb92a525055715221f8e314 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/commands/uninstall.py b/venv/lib/python3.8/site-packages/pip/_internal/commands/uninstall.py new file mode 120000 index 0000000..9cc9fab --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/commands/uninstall.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/10/37/31/ddad3797753cb69676a787df21d9f8e61636605126abdca879c705da8c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/commands/wheel.py b/venv/lib/python3.8/site-packages/pip/_internal/commands/wheel.py new file mode 120000 index 0000000..3282110 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/commands/wheel.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c0/a1/92/92cb988e38603986bf8c3eae95a2a93d7694ccf8b2cdf44d353e033a2a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/configuration.py b/venv/lib/python3.8/site-packages/pip/_internal/configuration.py new file mode 120000 index 0000000..6353b4d --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/configuration.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/40/12/df/86ffac6cffa8474f0d1714989effe62c1f9282d34eb165c017db4311c3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/distributions/__init__.py b/venv/lib/python3.8/site-packages/pip/_internal/distributions/__init__.py new file mode 120000 index 0000000..a1532d5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/distributions/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1e/ae/a4/b7a8170608cd8ade614d358b03378234e2a807e374a46612a9e86b962f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..6238281 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/base.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/base.cpython-38.pyc new file mode 100644 index 0000000..877633f Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/base.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/installed.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/installed.cpython-38.pyc new file mode 100644 index 0000000..c1d322f Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/installed.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/sdist.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/sdist.cpython-38.pyc new file mode 100644 index 0000000..405929f Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/sdist.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/wheel.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/wheel.cpython-38.pyc new file mode 100644 index 0000000..f9606ae Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/wheel.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/distributions/base.py b/venv/lib/python3.8/site-packages/pip/_internal/distributions/base.py new file mode 120000 index 0000000..96a0122 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/distributions/base.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1b/29/e5/9d513740bbcdbb826f9f13cee83f08412b3f18094551a6c0e94f86f9e5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/distributions/installed.py b/venv/lib/python3.8/site-packages/pip/_internal/distributions/installed.py new file mode 120000 index 0000000..5d81230 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/distributions/installed.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/81/3d/b4/5929e279c3af286300fa70b2abee0370996b223bfc8d3f89116c843a70 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/distributions/sdist.py b/venv/lib/python3.8/site-packages/pip/_internal/distributions/sdist.py new file mode 120000 index 0000000..2ba5acb --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/distributions/sdist.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/54/19/9e/d543650ae1ffc08a141d366af67828d8da455905e626a9f051bdd9a539 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/distributions/wheel.py b/venv/lib/python3.8/site-packages/pip/_internal/distributions/wheel.py new file mode 120000 index 0000000..b678bf4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/distributions/wheel.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/27/b0/cd/42f292e74a577f05ed7ad299b4b36063390473c4806da290e6fe891ed0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/exceptions.py b/venv/lib/python3.8/site-packages/pip/_internal/exceptions.py new file mode 120000 index 0000000..09775e3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/exceptions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d8/94/09/492ebca20811fd920e03e8755360d10035116e4427f4d7f8119599f37e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/index/__init__.py b/venv/lib/python3.8/site-packages/pip/_internal/index/__init__.py new file mode 120000 index 0000000..b311ed7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/index/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/be/9b/7e/25e4d979f87c6be142db665e0525c555bb817174868882e141925a3694 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/index/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/index/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..617e5dd Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/index/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/index/__pycache__/collector.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/index/__pycache__/collector.cpython-38.pyc new file mode 100644 index 0000000..511b880 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/index/__pycache__/collector.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/index/__pycache__/package_finder.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/index/__pycache__/package_finder.cpython-38.pyc new file mode 100644 index 0000000..2402e1a Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/index/__pycache__/package_finder.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/index/__pycache__/sources.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/index/__pycache__/sources.cpython-38.pyc new file mode 100644 index 0000000..55be9fc Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/index/__pycache__/sources.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/index/collector.py b/venv/lib/python3.8/site-packages/pip/_internal/index/collector.py new file mode 120000 index 0000000..b19555c --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/index/collector.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a0/7e/17/9581ef18c5de3db8cd84a64fa4b23e34b0535f1a4745166043ce6678d9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/index/package_finder.py b/venv/lib/python3.8/site-packages/pip/_internal/index/package_finder.py new file mode 120000 index 0000000..6baab55 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/index/package_finder.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4e/fb/69/644f836327e09c0b2a4ddecba1b7480d50b1f6e8b333d821d51df8c3e6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/index/sources.py b/venv/lib/python3.8/site-packages/pip/_internal/index/sources.py new file mode 120000 index 0000000..8ca68e8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/index/sources.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/49/5c/8f/8adbf4f3e41a961dbf064e5d88027d18003f77e6bdde4a28b90a1d006d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/locations/__init__.py b/venv/lib/python3.8/site-packages/pip/_internal/locations/__init__.py new file mode 120000 index 0000000..6409d1a --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/locations/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ce/e3/e3/0c2a7085a68b6b6ef0e2ede4c085480941150192226cdf3967cc45f2a6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/locations/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/locations/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..76fa685 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/locations/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/locations/__pycache__/_distutils.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/locations/__pycache__/_distutils.cpython-38.pyc new file mode 100644 index 0000000..e6062d2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/locations/__pycache__/_distutils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/locations/__pycache__/_sysconfig.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/locations/__pycache__/_sysconfig.cpython-38.pyc new file mode 100644 index 0000000..ba37d8b Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/locations/__pycache__/_sysconfig.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/locations/__pycache__/base.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/locations/__pycache__/base.cpython-38.pyc new file mode 100644 index 0000000..2bde5e3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/locations/__pycache__/base.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/locations/_distutils.py b/venv/lib/python3.8/site-packages/pip/_internal/locations/_distutils.py new file mode 120000 index 0000000..1b93628 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/locations/_distutils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/97/e8/69/318acb2ffb24e0fffc6dbbef61255941d9d969f0adf60983efa53bf2e4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/locations/_sysconfig.py b/venv/lib/python3.8/site-packages/pip/_internal/locations/_sysconfig.py new file mode 120000 index 0000000..39da889 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/locations/_sysconfig.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/18/01/eb/2c3c0e343196347494bd04c88758a1f1b7ab4d3d686f884dd7bac397e9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/locations/base.py b/venv/lib/python3.8/site-packages/pip/_internal/locations/base.py new file mode 120000 index 0000000..8f0f2e1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/locations/base.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/21/53/be/d777eede503b09262c6fd3f5037c2ef1e466ecc7596a01722b24185539 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/main.py b/venv/lib/python3.8/site-packages/pip/_internal/main.py new file mode 120000 index 0000000..2446ec3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/main.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/05/9d/2f/91daa0a68b5e4e8d40d50f28bc57bc13380a14958e5233e621441f1826 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/metadata/__init__.py b/venv/lib/python3.8/site-packages/pip/_internal/metadata/__init__.py new file mode 120000 index 0000000..877e1cb --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/metadata/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fb/35/27/43204addd01375cb26e41935f34bb17a8e8811c2c59529954008d72c4d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/metadata/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/metadata/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..6e07247 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/metadata/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/metadata/__pycache__/base.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/metadata/__pycache__/base.cpython-38.pyc new file mode 100644 index 0000000..2274d5c Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/metadata/__pycache__/base.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/metadata/__pycache__/pkg_resources.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/metadata/__pycache__/pkg_resources.cpython-38.pyc new file mode 100644 index 0000000..4fc1632 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/metadata/__pycache__/pkg_resources.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/metadata/base.py b/venv/lib/python3.8/site-packages/pip/_internal/metadata/base.py new file mode 120000 index 0000000..f185613 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/metadata/base.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1a/33/bf/62970863e4cb274ef24ac08a90f2beacff295ff7c559a29bcee363149e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/metadata/pkg_resources.py b/venv/lib/python3.8/site-packages/pip/_internal/metadata/pkg_resources.py new file mode 120000 index 0000000..5731604 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/metadata/pkg_resources.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/dd/fb/3a/1cee13f508eb811e2eca9941435bfd36d95260edb2aba10a7bd614b0b7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/models/__init__.py b/venv/lib/python3.8/site-packages/pip/_internal/models/__init__.py new file mode 120000 index 0000000..0e89afd --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/models/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/dc/31/d4/77fab1a4fa337f3a2ea2a6bd83db6cd42cebe6a6877c5c5b9f1ae27a93 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..4bfe060 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/candidate.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/candidate.cpython-38.pyc new file mode 100644 index 0000000..c8a7a6d Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/candidate.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/direct_url.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/direct_url.cpython-38.pyc new file mode 100644 index 0000000..e78cc15 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/direct_url.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/format_control.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/format_control.cpython-38.pyc new file mode 100644 index 0000000..648f235 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/format_control.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/index.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/index.cpython-38.pyc new file mode 100644 index 0000000..ca11293 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/index.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/link.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/link.cpython-38.pyc new file mode 100644 index 0000000..8847ae5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/link.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/scheme.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/scheme.cpython-38.pyc new file mode 100644 index 0000000..473fb40 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/scheme.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/search_scope.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/search_scope.cpython-38.pyc new file mode 100644 index 0000000..10d459f Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/search_scope.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/selection_prefs.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/selection_prefs.cpython-38.pyc new file mode 100644 index 0000000..24f918f Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/selection_prefs.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/target_python.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/target_python.cpython-38.pyc new file mode 100644 index 0000000..8fd8e1d Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/target_python.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/wheel.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/wheel.cpython-38.pyc new file mode 100644 index 0000000..637c1cc Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/wheel.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/models/candidate.py b/venv/lib/python3.8/site-packages/pip/_internal/models/candidate.py new file mode 120000 index 0000000..cea79ca --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/models/candidate.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6f/66/a2/b9f843e63644234ce111a327fe8d5546575513627e30fb2a3e9718d83b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/models/direct_url.py b/venv/lib/python3.8/site-packages/pip/_internal/models/direct_url.py new file mode 120000 index 0000000..6e1e1c8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/models/direct_url.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c7/6f/a4/027acfd7c5c074e7ed6014ad0cdb7765f77cb22a5e7f987487f79f1af6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/models/format_control.py b/venv/lib/python3.8/site-packages/pip/_internal/models/format_control.py new file mode 120000 index 0000000..540147d --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/models/format_control.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b7/99/e6/143e3786e2058f455c855e85baf95a4477da313a2d6c139338f06c29e6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/models/index.py b/venv/lib/python3.8/site-packages/pip/_internal/models/index.py new file mode 120000 index 0000000..008f85a --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/models/index.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fd/4d/a2/9845a081ebef708eeb85008564ad1d8ec13e22dd770499af5bd1239a28 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/models/link.py b/venv/lib/python3.8/site-packages/pip/_internal/models/link.py new file mode 120000 index 0000000..9742fba --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/models/link.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c4/34/09/daf2ca549cca8f6bc2427b31839d6207b7428a912cbc4610e3817b0243 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/models/scheme.py b/venv/lib/python3.8/site-packages/pip/_internal/models/scheme.py new file mode 120000 index 0000000..314bee9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/models/scheme.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8b/64/06/b7927dea030a0bf5a6ef13b9f3b9226e184285442850b8401603d1c641 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/models/search_scope.py b/venv/lib/python3.8/site-packages/pip/_internal/models/search_scope.py new file mode 120000 index 0000000..ae05ac2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/models/search_scope.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/08/b2/2f/0d2fd8143f5ce3e00f16159a23e1593c157660d79bc8e6b519d22c8b6a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/models/selection_prefs.py b/venv/lib/python3.8/site-packages/pip/_internal/models/selection_prefs.py new file mode 120000 index 0000000..07c0a0a --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/models/selection_prefs.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b4/cf/4e/b94c540f66131a4a3b56bb2c5c0e0a704311d64b44fe83736a8012744f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/models/target_python.py b/venv/lib/python3.8/site-packages/pip/_internal/models/target_python.py new file mode 120000 index 0000000..25302eb --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/models/target_python.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5a/f8/c8/ca62ff83d8b6c9188945114d6e37bab1b0d9f14aee70eaedd5c90314da \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/models/wheel.py b/venv/lib/python3.8/site-packages/pip/_internal/models/wheel.py new file mode 120000 index 0000000..694d693 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/models/wheel.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/11/cf/1f/bcfa1261e057f5cbc1bdf7cb33b80d471db70ab56e77574ddf32660637 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/network/__init__.py b/venv/lib/python3.8/site-packages/pip/_internal/network/__init__.py new file mode 120000 index 0000000..bb6e749 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/network/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8d/fe/93/b799d5ffbce401106b2a88c85c8b607a3be87a054954a51b8406b92287 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..2002ebb Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/auth.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/auth.cpython-38.pyc new file mode 100644 index 0000000..f65969a Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/auth.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/cache.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/cache.cpython-38.pyc new file mode 100644 index 0000000..2ba74f5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/cache.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/download.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/download.cpython-38.pyc new file mode 100644 index 0000000..f605d83 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/download.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/lazy_wheel.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/lazy_wheel.cpython-38.pyc new file mode 100644 index 0000000..0477d72 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/lazy_wheel.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/ro_cache_adapter.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/ro_cache_adapter.cpython-38.pyc new file mode 100644 index 0000000..3558df3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/ro_cache_adapter.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/session.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/session.cpython-38.pyc new file mode 100644 index 0000000..c724195 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/session.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/utils.cpython-38.pyc new file mode 100644 index 0000000..0abea89 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/xmlrpc.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/xmlrpc.cpython-38.pyc new file mode 100644 index 0000000..f526b8f Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/xmlrpc.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/network/auth.py b/venv/lib/python3.8/site-packages/pip/_internal/network/auth.py new file mode 120000 index 0000000..daaae2c --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/network/auth.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/53/56/55/c0123f4644bcb49381d303efb60c4b1946a9d7d183f6ac510d37c8b2ad \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/network/cache.py b/venv/lib/python3.8/site-packages/pip/_internal/network/cache.py new file mode 120000 index 0000000..40fd850 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/network/cache.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/27/fc/69/b0b59b46b942494710840e7e4ee4f92d6225a55b531f87d9d574a3c9be \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/network/download.py b/venv/lib/python3.8/site-packages/pip/_internal/network/download.py new file mode 120000 index 0000000..f2875aa --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/network/download.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f1/fa/db/d9b20d39ffa36e614f6a929bc843bdb235c95891ba389696e2143daf7b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/network/lazy_wheel.py b/venv/lib/python3.8/site-packages/pip/_internal/network/lazy_wheel.py new file mode 120000 index 0000000..9d728b7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/network/lazy_wheel.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/54/20/8b/49a8c068563eb99d8ad1b77d7d944eeed1eb128a4ba310f6bc1fb30b80 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/network/ro_cache_adapter.py b/venv/lib/python3.8/site-packages/pip/_internal/network/ro_cache_adapter.py new file mode 100644 index 0000000..c90c911 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/network/ro_cache_adapter.py @@ -0,0 +1,68 @@ +import zlib + +from pip._vendor.requests.adapters import HTTPAdapter + +from pip._vendor.cachecontrol.controller import CacheController +from pip._vendor.cachecontrol.cache import DictCache +from pip._vendor.cachecontrol.filewrapper import CallbackFileWrapper + + +class ReadOnlyCacheControlAdapter(HTTPAdapter): + invalidating_methods = {"PUT", "DELETE"} + + def __init__( + self, + cache=None, + cache_etags=True, + controller_class=None, + serializer=None, + heuristic=None, + cacheable_methods=None, + *args, + **kw + ): + super(ReadOnlyCacheControlAdapter, self).__init__(*args, **kw) + self.cache = DictCache() if cache is None else cache + self.heuristic = heuristic + self.cacheable_methods = cacheable_methods or ("GET",) + + controller_factory = controller_class or CacheController + self.controller = controller_factory( + self.cache, cache_etags=cache_etags, serializer=serializer + ) + + def send(self, request, cacheable_methods=None, **kw): + """ + Send a request. Use the request information to see if it + exists in the cache and cache the response if we need to and can. + """ + cacheable = cacheable_methods or self.cacheable_methods + if request.method in cacheable: + try: + cached_response = self.controller.cached_request(request) + except zlib.error: + cached_response = None + if cached_response: + return self.build_response(request, cached_response, from_cache=True) + + resp = super(ReadOnlyCacheControlAdapter, self).send(request, **kw) + + return resp + + def build_response( + self, request, response, from_cache=False, cacheable_methods=None + ): + """ + Build a response by making a request or using the cache. + """ + + resp = super(ReadOnlyCacheControlAdapter, self).build_response(request, response) + + # Give the request a from_cache attr to let people use it + resp.from_cache = from_cache + + return resp + + def close(self): + self.cache.close() + super(ReadOnlyCacheControlAdapter, self).close() diff --git a/venv/lib/python3.8/site-packages/pip/_internal/network/session.py b/venv/lib/python3.8/site-packages/pip/_internal/network/session.py new file mode 100644 index 0000000..c83d306 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/network/session.py @@ -0,0 +1,466 @@ +"""PipSession and supporting code, containing all pip-specific +network request configuration and behavior. +""" + +# When mypy runs on Windows the call to distro.linux_distribution() is skipped +# resulting in the failure: +# +# error: unused 'type: ignore' comment +# +# If the upstream module adds typing, this comment should be removed. See +# https://github.com/nir0s/distro/pull/269 +# +# mypy: warn-unused-ignores=False + +import email.utils +import ipaddress +import json +import logging +import mimetypes +import os +import platform +import shutil +import subprocess +import sys +import urllib.parse +import warnings +from typing import Any, Dict, Iterator, List, Mapping, Optional, Sequence, Tuple, Union + +from pip._vendor import requests, urllib3 +from .ro_cache_adapter import ReadOnlyCacheControlAdapter +from pip._vendor.requests.adapters import BaseAdapter, HTTPAdapter +from pip._vendor.requests.models import PreparedRequest, Response +from pip._vendor.requests.structures import CaseInsensitiveDict +from pip._vendor.urllib3.connectionpool import ConnectionPool +from pip._vendor.urllib3.exceptions import InsecureRequestWarning + +from pip import __version__ +from pip._internal.metadata import get_default_environment +from pip._internal.models.link import Link +from pip._internal.network.auth import MultiDomainBasicAuth +from pip._internal.network.cache import SafeFileCache + +# Import ssl from compat so the initial import occurs in only one place. +from pip._internal.utils.compat import has_tls +from pip._internal.utils.glibc import libc_ver +from pip._internal.utils.misc import build_url_from_netloc, parse_netloc +from pip._internal.utils.urls import url_to_path + +logger = logging.getLogger(__name__) + +SecureOrigin = Tuple[str, str, Optional[Union[int, str]]] + + +# Ignore warning raised when using --trusted-host. +warnings.filterwarnings("ignore", category=InsecureRequestWarning) + + +SECURE_ORIGINS = [ + # protocol, hostname, port + # Taken from Chrome's list of secure origins (See: http://bit.ly/1qrySKC) + ("https", "*", "*"), + ("*", "localhost", "*"), + ("*", "127.0.0.0/8", "*"), + ("*", "::1/128", "*"), + ("file", "*", None), + # ssh is always secure. + ("ssh", "*", "*"), +] # type: List[SecureOrigin] + + +# These are environment variables present when running under various +# CI systems. For each variable, some CI systems that use the variable +# are indicated. The collection was chosen so that for each of a number +# of popular systems, at least one of the environment variables is used. +# This list is used to provide some indication of and lower bound for +# CI traffic to PyPI. Thus, it is okay if the list is not comprehensive. +# For more background, see: https://github.com/pypa/pip/issues/5499 +CI_ENVIRONMENT_VARIABLES = ( + # Azure Pipelines + 'BUILD_BUILDID', + # Jenkins + 'BUILD_ID', + # AppVeyor, CircleCI, Codeship, Gitlab CI, Shippable, Travis CI + 'CI', + # Explicit environment variable. + 'PIP_IS_CI', +) + + +def looks_like_ci(): + # type: () -> bool + """ + Return whether it looks like pip is running under CI. + """ + # We don't use the method of checking for a tty (e.g. using isatty()) + # because some CI systems mimic a tty (e.g. Travis CI). Thus that + # method doesn't provide definitive information in either direction. + return any(name in os.environ for name in CI_ENVIRONMENT_VARIABLES) + + +def user_agent(): + # type: () -> str + """ + Return a string representing the user agent. + """ + data = { + "installer": {"name": "pip", "version": __version__}, + "python": platform.python_version(), + "implementation": { + "name": platform.python_implementation(), + }, + } # type: Dict[str, Any] + + if data["implementation"]["name"] == 'CPython': + data["implementation"]["version"] = platform.python_version() + elif data["implementation"]["name"] == 'PyPy': + pypy_version_info = sys.pypy_version_info # type: ignore + if pypy_version_info.releaselevel == 'final': + pypy_version_info = pypy_version_info[:3] + data["implementation"]["version"] = ".".join( + [str(x) for x in pypy_version_info] + ) + elif data["implementation"]["name"] == 'Jython': + # Complete Guess + data["implementation"]["version"] = platform.python_version() + elif data["implementation"]["name"] == 'IronPython': + # Complete Guess + data["implementation"]["version"] = platform.python_version() + + if sys.platform.startswith("linux"): + from pip._vendor import distro + + # https://github.com/nir0s/distro/pull/269 + linux_distribution = distro.linux_distribution() # type: ignore + distro_infos = dict(filter( + lambda x: x[1], + zip(["name", "version", "id"], linux_distribution), + )) + libc = dict(filter( + lambda x: x[1], + zip(["lib", "version"], libc_ver()), + )) + if libc: + distro_infos["libc"] = libc + if distro_infos: + data["distro"] = distro_infos + + if sys.platform.startswith("darwin") and platform.mac_ver()[0]: + data["distro"] = {"name": "macOS", "version": platform.mac_ver()[0]} + + if platform.system(): + data.setdefault("system", {})["name"] = platform.system() + + if platform.release(): + data.setdefault("system", {})["release"] = platform.release() + + if platform.machine(): + data["cpu"] = platform.machine() + + if has_tls(): + import _ssl as ssl + data["openssl_version"] = ssl.OPENSSL_VERSION + + setuptools_dist = get_default_environment().get_distribution("setuptools") + if setuptools_dist is not None: + data["setuptools_version"] = str(setuptools_dist.version) + + if shutil.which("rustc") is not None: + # If for any reason `rustc --version` fails, silently ignore it + try: + rustc_output = subprocess.check_output( + ["rustc", "--version"], stderr=subprocess.STDOUT, timeout=.5 + ) + except Exception: + pass + else: + if rustc_output.startswith(b"rustc "): + # The format of `rustc --version` is: + # `b'rustc 1.52.1 (9bc8c42bb 2021-05-09)\n'` + # We extract just the middle (1.52.1) part + data["rustc_version"] = rustc_output.split(b" ")[1].decode() + + # Use None rather than False so as not to give the impression that + # pip knows it is not being run under CI. Rather, it is a null or + # inconclusive result. Also, we include some value rather than no + # value to make it easier to know that the check has been run. + data["ci"] = True if looks_like_ci() else None + + user_data = os.environ.get("PIP_USER_AGENT_USER_DATA") + if user_data is not None: + data["user_data"] = user_data + + return "{data[installer][name]}/{data[installer][version]} {json}".format( + data=data, + json=json.dumps(data, separators=(",", ":"), sort_keys=True), + ) + + +class LocalFSAdapter(BaseAdapter): + + def send( + self, + request, # type: PreparedRequest + stream=False, # type: bool + timeout=None, # type: Optional[Union[float, Tuple[float, float]]] + verify=True, # type: Union[bool, str] + cert=None, # type: Optional[Union[str, Tuple[str, str]]] + proxies=None, # type:Optional[Mapping[str, str]] + ): + # type: (...) -> Response + pathname = url_to_path(request.url) + + resp = Response() + resp.status_code = 200 + resp.url = request.url + + try: + stats = os.stat(pathname) + except OSError as exc: + resp.status_code = 404 + resp.raw = exc + else: + modified = email.utils.formatdate(stats.st_mtime, usegmt=True) + content_type = mimetypes.guess_type(pathname)[0] or "text/plain" + resp.headers = CaseInsensitiveDict({ + "Content-Type": content_type, + "Content-Length": stats.st_size, + "Last-Modified": modified, + }) + + resp.raw = open(pathname, "rb") + resp.close = resp.raw.close + + return resp + + def close(self): + # type: () -> None + pass + + +class InsecureHTTPAdapter(HTTPAdapter): + + def cert_verify( + self, + conn, # type: ConnectionPool + url, # type: str + verify, # type: Union[bool, str] + cert, # type: Optional[Union[str, Tuple[str, str]]] + ): + # type: (...) -> None + super().cert_verify(conn=conn, url=url, verify=False, cert=cert) + + +class InsecureCacheControlAdapter(ReadOnlyCacheControlAdapter): + + def cert_verify( + self, + conn, # type: ConnectionPool + url, # type: str + verify, # type: Union[bool, str] + cert, # type: Optional[Union[str, Tuple[str, str]]] + ): + # type: (...) -> None + super().cert_verify(conn=conn, url=url, verify=False, cert=cert) + + +class PipSession(requests.Session): + + timeout = None # type: Optional[int] + + def __init__( + self, + *args, # type: Any + retries=0, # type: int + cache=None, # type: Optional[str] + trusted_hosts=(), # type: Sequence[str] + index_urls=None, # type: Optional[List[str]] + **kwargs, # type: Any + ): + # type: (...) -> None + """ + :param trusted_hosts: Domains not to emit warnings for when not using + HTTPS. + """ + super().__init__(*args, **kwargs) + + # Namespace the attribute with "pip_" just in case to prevent + # possible conflicts with the base class. + self.pip_trusted_origins = [] # type: List[Tuple[str, Optional[int]]] + + # Attach our User Agent to the request + self.headers["User-Agent"] = user_agent() + + # Attach our Authentication handler to the session + self.auth = MultiDomainBasicAuth(index_urls=index_urls) + + # Create our urllib3.Retry instance which will allow us to customize + # how we handle retries. + retries = urllib3.Retry( + # Set the total number of retries that a particular request can + # have. + total=retries, + + # A 503 error from PyPI typically means that the Fastly -> Origin + # connection got interrupted in some way. A 503 error in general + # is typically considered a transient error so we'll go ahead and + # retry it. + # A 500 may indicate transient error in Amazon S3 + # A 520 or 527 - may indicate transient error in CloudFlare + status_forcelist=[500, 503, 520, 527], + + # Add a small amount of back off between failed requests in + # order to prevent hammering the service. + backoff_factor=0.25, + ) # type: ignore + + # Our Insecure HTTPAdapter disables HTTPS validation. It does not + # support caching so we'll use it for all http:// URLs. + # If caching is disabled, we will also use it for + # https:// hosts that we've marked as ignoring + # TLS errors for (trusted-hosts). + insecure_adapter = InsecureHTTPAdapter(max_retries=retries) + + # We want to _only_ cache responses on securely fetched origins or when + # the host is specified as trusted. We do this because + # we can't validate the response of an insecurely/untrusted fetched + # origin, and we don't want someone to be able to poison the cache and + # require manual eviction from the cache to fix it. + if cache: + secure_adapter = ReadOnlyCacheControlAdapter( + cache=SafeFileCache(cache), + max_retries=retries, + ) + self._trusted_host_adapter = InsecureCacheControlAdapter( + cache=SafeFileCache(cache), + max_retries=retries, + ) + else: + secure_adapter = HTTPAdapter(max_retries=retries) + self._trusted_host_adapter = insecure_adapter + + self.mount("https://", secure_adapter) + self.mount("http://", insecure_adapter) + + # Enable file:// urls + self.mount("file://", LocalFSAdapter()) + + for host in trusted_hosts: + self.add_trusted_host(host, suppress_logging=True) + + def update_index_urls(self, new_index_urls): + # type: (List[str]) -> None + """ + :param new_index_urls: New index urls to update the authentication + handler with. + """ + self.auth.index_urls = new_index_urls + + def add_trusted_host(self, host, source=None, suppress_logging=False): + # type: (str, Optional[str], bool) -> None + """ + :param host: It is okay to provide a host that has previously been + added. + :param source: An optional source string, for logging where the host + string came from. + """ + if not suppress_logging: + msg = f'adding trusted host: {host!r}' + if source is not None: + msg += f' (from {source})' + logger.info(msg) + + host_port = parse_netloc(host) + if host_port not in self.pip_trusted_origins: + self.pip_trusted_origins.append(host_port) + + self.mount( + build_url_from_netloc(host) + '/', + self._trusted_host_adapter + ) + if not host_port[1]: + # Mount wildcard ports for the same host. + self.mount( + build_url_from_netloc(host) + ':', + self._trusted_host_adapter + ) + + def iter_secure_origins(self): + # type: () -> Iterator[SecureOrigin] + yield from SECURE_ORIGINS + for host, port in self.pip_trusted_origins: + yield ('*', host, '*' if port is None else port) + + def is_secure_origin(self, location): + # type: (Link) -> bool + # Determine if this url used a secure transport mechanism + parsed = urllib.parse.urlparse(str(location)) + origin_protocol, origin_host, origin_port = ( + parsed.scheme, parsed.hostname, parsed.port, + ) + + # The protocol to use to see if the protocol matches. + # Don't count the repository type as part of the protocol: in + # cases such as "git+ssh", only use "ssh". (I.e., Only verify against + # the last scheme.) + origin_protocol = origin_protocol.rsplit('+', 1)[-1] + + # Determine if our origin is a secure origin by looking through our + # hardcoded list of secure origins, as well as any additional ones + # configured on this PackageFinder instance. + for secure_origin in self.iter_secure_origins(): + secure_protocol, secure_host, secure_port = secure_origin + if origin_protocol != secure_protocol and secure_protocol != "*": + continue + + try: + addr = ipaddress.ip_address(origin_host) + network = ipaddress.ip_network(secure_host) + except ValueError: + # We don't have both a valid address or a valid network, so + # we'll check this origin against hostnames. + if ( + origin_host and + origin_host.lower() != secure_host.lower() and + secure_host != "*" + ): + continue + else: + # We have a valid address and network, so see if the address + # is contained within the network. + if addr not in network: + continue + + # Check to see if the port matches. + if ( + origin_port != secure_port and + secure_port != "*" and + secure_port is not None + ): + continue + + # If we've gotten here, then this origin matches the current + # secure origin and we should return True + return True + + # If we've gotten to this point, then the origin isn't secure and we + # will not accept it as a valid location to search. We will however + # log a warning that we are ignoring it. + logger.warning( + "The repository located at %s is not a trusted or secure host and " + "is being ignored. If this repository is available via HTTPS we " + "recommend you use HTTPS instead, otherwise you may silence " + "this warning and allow it anyway with '--trusted-host %s'.", + origin_host, + origin_host, + ) + + return False + + def request(self, method, url, *args, **kwargs): + # type: (str, str, *Any, **Any) -> Response + # Allow setting a default timeout on a session + kwargs.setdefault("timeout", self.timeout) + + # Dispatch the actual request + return super().request(method, url, *args, **kwargs) diff --git a/venv/lib/python3.8/site-packages/pip/_internal/network/utils.py b/venv/lib/python3.8/site-packages/pip/_internal/network/utils.py new file mode 120000 index 0000000..754278c --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/network/utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ba/a4/fa/4243bd347530a93c3780705631015d698a9869b078db741466e8900f77 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/network/xmlrpc.py b/venv/lib/python3.8/site-packages/pip/_internal/network/xmlrpc.py new file mode 120000 index 0000000..bd8d5b5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/network/xmlrpc.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/08/bd/56/04e4e0c4fc1b719e90b9b678a574178dbeea4d31694d415ef9969691c0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/operations/__init__.py b/venv/lib/python3.8/site-packages/pip/_internal/operations/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/operations/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/operations/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/operations/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..5451e9d Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/operations/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/operations/__pycache__/check.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/operations/__pycache__/check.cpython-38.pyc new file mode 100644 index 0000000..ea729a9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/operations/__pycache__/check.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/operations/__pycache__/freeze.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/operations/__pycache__/freeze.cpython-38.pyc new file mode 100644 index 0000000..c872a2e Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/operations/__pycache__/freeze.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/operations/__pycache__/prepare.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/operations/__pycache__/prepare.cpython-38.pyc new file mode 100644 index 0000000..0aa489a Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/operations/__pycache__/prepare.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/operations/build/__init__.py b/venv/lib/python3.8/site-packages/pip/_internal/operations/build/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/operations/build/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..17cb16e Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/metadata.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/metadata.cpython-38.pyc new file mode 100644 index 0000000..3329013 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/metadata.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/metadata_legacy.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/metadata_legacy.cpython-38.pyc new file mode 100644 index 0000000..3c336b7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/metadata_legacy.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/wheel.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/wheel.cpython-38.pyc new file mode 100644 index 0000000..be77409 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/wheel.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/wheel_legacy.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/wheel_legacy.cpython-38.pyc new file mode 100644 index 0000000..ab6e33e Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/wheel_legacy.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/operations/build/metadata.py b/venv/lib/python3.8/site-packages/pip/_internal/operations/build/metadata.py new file mode 120000 index 0000000..3efe77b --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/operations/build/metadata.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8c/9a/74/e51ae9d0032c41bee2cc35db3460b52ed3cdc0e847423edc44ce77db87 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/operations/build/metadata_legacy.py b/venv/lib/python3.8/site-packages/pip/_internal/operations/build/metadata_legacy.py new file mode 120000 index 0000000..f4a2a93 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/operations/build/metadata_legacy.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/10/23/01/84b10f110bfa3d4502a4f0975bec0df50457758e393cd5c9bfb0592935 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/operations/build/wheel.py b/venv/lib/python3.8/site-packages/pip/_internal/operations/build/wheel.py new file mode 120000 index 0000000..bdc6c86 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/operations/build/wheel.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/59/82/cc/c6ec6a3776a1253424d8c23d85d999281a45cb11de36951d3b43f26f15 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/operations/build/wheel_legacy.py b/venv/lib/python3.8/site-packages/pip/_internal/operations/build/wheel_legacy.py new file mode 120000 index 0000000..43338f1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/operations/build/wheel_legacy.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/34/e2/61/4d831896375b8b3168fd68e468a1961b548467a681cab05d0abaec641f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/operations/check.py b/venv/lib/python3.8/site-packages/pip/_internal/operations/check.py new file mode 120000 index 0000000..f556473 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/operations/check.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3a/d3/19/d9f7f4ce4f0686997b7885f2499e03f290947f33c060da464f1c35a965 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/operations/freeze.py b/venv/lib/python3.8/site-packages/pip/_internal/operations/freeze.py new file mode 120000 index 0000000..6e70286 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/operations/freeze.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e7/bb/d5/7e3296891945f6c5b2b4879eb347df41fa0b67b3963bc723a214d8fab5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/operations/install/__init__.py b/venv/lib/python3.8/site-packages/pip/_internal/operations/install/__init__.py new file mode 120000 index 0000000..afd3ab7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/operations/install/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/99/7e/e1/c83d863413b69851a8903437d2bfc65efed8fcf2ddb71714bf5e387beb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/operations/install/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/operations/install/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..733019a Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/operations/install/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/operations/install/__pycache__/editable_legacy.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/operations/install/__pycache__/editable_legacy.cpython-38.pyc new file mode 100644 index 0000000..36cc2fe Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/operations/install/__pycache__/editable_legacy.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/operations/install/__pycache__/legacy.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/operations/install/__pycache__/legacy.cpython-38.pyc new file mode 100644 index 0000000..b483d13 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/operations/install/__pycache__/legacy.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/operations/install/__pycache__/wheel.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/operations/install/__pycache__/wheel.cpython-38.pyc new file mode 100644 index 0000000..64eab7c Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/operations/install/__pycache__/wheel.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/operations/install/editable_legacy.py b/venv/lib/python3.8/site-packages/pip/_internal/operations/install/editable_legacy.py new file mode 120000 index 0000000..7d57cb5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/operations/install/editable_legacy.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6e/30/4e/6df13ab33dd498623bcb8f860a029ad969938275a514553b6fe8b4b10b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/operations/install/legacy.py b/venv/lib/python3.8/site-packages/pip/_internal/operations/install/legacy.py new file mode 120000 index 0000000..25dd15a --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/operations/install/legacy.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c6/46/37/c77cfa1d58fa554b6e21613079c5e3518c1282cfd65cf21c0e9b5d9698 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/operations/install/wheel.py b/venv/lib/python3.8/site-packages/pip/_internal/operations/install/wheel.py new file mode 100644 index 0000000..6a5fa1d --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/operations/install/wheel.py @@ -0,0 +1,918 @@ +"""Support for installing and building the "wheel" binary package format. +""" + +import collections +import compileall +import contextlib +import csv +import importlib +import logging +import os.path +import re +import shutil +import sys +import warnings +from base64 import urlsafe_b64decode, urlsafe_b64encode +from email.message import Message +from itertools import chain, filterfalse, starmap +from typing import ( + IO, + TYPE_CHECKING, + Any, + BinaryIO, + Callable, + Dict, + Iterable, + Iterator, + List, + NewType, + Optional, + Sequence, + Set, + Tuple, + Union, + cast, +) +from zipfile import ZipFile, ZipInfo + +from pip._vendor import pkg_resources +from pip._vendor.distlib.scripts import ScriptMaker +from pip._vendor.distlib.util import get_export_entry +from pip._vendor.pkg_resources import Distribution +from pip._vendor.six import ensure_str, ensure_text, reraise + +from pip._internal.exceptions import InstallationError +from pip._internal.locations import get_major_minor_version +from pip._internal.models.direct_url import DIRECT_URL_METADATA_NAME, DirectUrl +from pip._internal.models.scheme import SCHEME_KEYS, Scheme +from pip._internal.utils.filesystem import adjacent_tmp_file, replace +from pip._internal.utils.misc import captured_stdout, ensure_dir, hash_file, partition +from pip._internal.utils.unpacking import ( + current_umask, + is_within_directory, + set_extracted_file_to_default_mode_plus_executable, + zip_item_is_executable, +) +from pip._internal.utils.wheel import parse_wheel, pkg_resources_distribution_for_wheel + +if TYPE_CHECKING: + from typing import Protocol + + class File(Protocol): + src_record_path = None # type: RecordPath + dest_path = None # type: str + changed = None # type: bool + + def save(self): + # type: () -> None + pass + + +logger = logging.getLogger(__name__) + +RecordPath = NewType('RecordPath', str) +InstalledCSVRow = Tuple[RecordPath, str, Union[int, str]] + + +def rehash(path, blocksize=1 << 20): + # type: (str, int) -> Tuple[str, str] + """Return (encoded_digest, length) for path using hashlib.sha256()""" + h, length = hash_file(path, blocksize) + digest = 'sha256=' + urlsafe_b64encode( + h.digest() + ).decode('latin1').rstrip('=') + return (digest, str(length)) + + +def csv_io_kwargs(mode): + # type: (str) -> Dict[str, Any] + """Return keyword arguments to properly open a CSV file + in the given mode. + """ + return {'mode': mode, 'newline': '', 'encoding': 'utf-8'} + + +def fix_script(path): + # type: (str) -> bool + """Replace #!python with #!/path/to/python + Return True if file was changed. + """ + # XXX RECORD hashes will need to be updated + assert os.path.isfile(path) + + with open(path, 'rb') as script: + firstline = script.readline() + if not firstline.startswith(b'#!python'): + return False + exename = firstline[2:] + firstline = b'#!/usr/bin/env ' + exename + os.linesep.encode("ascii") + rest = script.read() + # If the file is installed from the pool, let's unlink it before + # writing the new version. + if not os.access(path, os.W_OK): + os.unlink(path) + with open(path, 'wb') as script: + script.write(firstline) + script.write(rest) + return True + + +def wheel_root_is_purelib(metadata): + # type: (Message) -> bool + return metadata.get("Root-Is-Purelib", "").lower() == "true" + + +def get_entrypoints(distribution): + # type: (Distribution) -> Tuple[Dict[str, str], Dict[str, str]] + # get the entry points and then the script names + try: + console = distribution.get_entry_map('console_scripts') + gui = distribution.get_entry_map('gui_scripts') + except KeyError: + # Our dict-based Distribution raises KeyError if entry_points.txt + # doesn't exist. + return {}, {} + + def _split_ep(s): + # type: (pkg_resources.EntryPoint) -> Tuple[str, str] + """get the string representation of EntryPoint, + remove space and split on '=' + """ + split_parts = str(s).replace(" ", "").split("=") + return split_parts[0], split_parts[1] + + # convert the EntryPoint objects into strings with module:function + console = dict(_split_ep(v) for v in console.values()) + gui = dict(_split_ep(v) for v in gui.values()) + return console, gui + + +def message_about_scripts_not_on_PATH(scripts): + # type: (Sequence[str]) -> Optional[str] + """Determine if any scripts are not on PATH and format a warning. + Returns a warning message if one or more scripts are not on PATH, + otherwise None. + """ + if not scripts: + return None + + # Group scripts by the path they were installed in + grouped_by_dir = collections.defaultdict(set) # type: Dict[str, Set[str]] + for destfile in scripts: + parent_dir = os.path.dirname(destfile) + script_name = os.path.basename(destfile) + grouped_by_dir[parent_dir].add(script_name) + + # We don't want to warn for directories that are on PATH. + not_warn_dirs = [ + os.path.normcase(i).rstrip(os.sep) for i in + os.environ.get("PATH", "").split(os.pathsep) + ] + # If an executable sits with sys.executable, we don't warn for it. + # This covers the case of venv invocations without activating the venv. + not_warn_dirs.append(os.path.normcase(os.path.dirname(sys.executable))) + warn_for = { + parent_dir: scripts for parent_dir, scripts in grouped_by_dir.items() + if os.path.normcase(parent_dir) not in not_warn_dirs + } # type: Dict[str, Set[str]] + if not warn_for: + return None + + # Format a message + msg_lines = [] + for parent_dir, dir_scripts in warn_for.items(): + sorted_scripts = sorted(dir_scripts) # type: List[str] + if len(sorted_scripts) == 1: + start_text = "script {} is".format(sorted_scripts[0]) + else: + start_text = "scripts {} are".format( + ", ".join(sorted_scripts[:-1]) + " and " + sorted_scripts[-1] + ) + + msg_lines.append( + "The {} installed in '{}' which is not on PATH." + .format(start_text, parent_dir) + ) + + last_line_fmt = ( + "Consider adding {} to PATH or, if you prefer " + "to suppress this warning, use --no-warn-script-location." + ) + if len(msg_lines) == 1: + msg_lines.append(last_line_fmt.format("this directory")) + else: + msg_lines.append(last_line_fmt.format("these directories")) + + # Add a note if any directory starts with ~ + warn_for_tilde = any( + i[0] == "~" for i in os.environ.get("PATH", "").split(os.pathsep) if i + ) + if warn_for_tilde: + tilde_warning_msg = ( + "NOTE: The current PATH contains path(s) starting with `~`, " + "which may not be expanded by all applications." + ) + msg_lines.append(tilde_warning_msg) + + # Returns the formatted multiline message + return "\n".join(msg_lines) + + +def _normalized_outrows(outrows): + # type: (Iterable[InstalledCSVRow]) -> List[Tuple[str, str, str]] + """Normalize the given rows of a RECORD file. + + Items in each row are converted into str. Rows are then sorted to make + the value more predictable for tests. + + Each row is a 3-tuple (path, hash, size) and corresponds to a record of + a RECORD file (see PEP 376 and PEP 427 for details). For the rows + passed to this function, the size can be an integer as an int or string, + or the empty string. + """ + # Normally, there should only be one row per path, in which case the + # second and third elements don't come into play when sorting. + # However, in cases in the wild where a path might happen to occur twice, + # we don't want the sort operation to trigger an error (but still want + # determinism). Since the third element can be an int or string, we + # coerce each element to a string to avoid a TypeError in this case. + # For additional background, see-- + # https://github.com/pypa/pip/issues/5868 + return sorted( + (ensure_str(record_path, encoding='utf-8'), hash_, str(size)) + for record_path, hash_, size in outrows + ) + + +def _record_to_fs_path(record_path): + # type: (RecordPath) -> str + return record_path + + +def _fs_to_record_path(path, relative_to=None): + # type: (str, Optional[str]) -> RecordPath + if relative_to is not None: + # On Windows, do not handle relative paths if they belong to different + # logical disks + if os.path.splitdrive(path)[0].lower() == \ + os.path.splitdrive(relative_to)[0].lower(): + path = os.path.relpath(path, relative_to) + path = path.replace(os.path.sep, '/') + return cast('RecordPath', path) + + +def _parse_record_path(record_column): + # type: (str) -> RecordPath + p = ensure_text(record_column, encoding='utf-8') + return cast('RecordPath', p) + + +def get_csv_rows_for_installed( + old_csv_rows, # type: List[List[str]] + installed, # type: Dict[RecordPath, RecordPath] + changed, # type: Set[RecordPath] + generated, # type: List[str] + lib_dir, # type: str +): + # type: (...) -> List[InstalledCSVRow] + """ + :param installed: A map from archive RECORD path to installation RECORD + path. + """ + installed_rows = [] # type: List[InstalledCSVRow] + for row in old_csv_rows: + if len(row) > 3: + logger.warning('RECORD line has more than three elements: %s', row) + old_record_path = _parse_record_path(row[0]) + new_record_path = installed.pop(old_record_path, old_record_path) + if new_record_path in changed: + digest, length = rehash(_record_to_fs_path(new_record_path)) + else: + digest = row[1] if len(row) > 1 else '' + length = row[2] if len(row) > 2 else '' + installed_rows.append((new_record_path, digest, length)) + for f in generated: + path = _fs_to_record_path(f, lib_dir) + digest, length = rehash(f) + installed_rows.append((path, digest, length)) + for installed_record_path in installed.values(): + installed_rows.append((installed_record_path, '', '')) + return installed_rows + + +def get_console_script_specs(console): + # type: (Dict[str, str]) -> List[str] + """ + Given the mapping from entrypoint name to callable, return the relevant + console script specs. + """ + # Don't mutate caller's version + console = console.copy() + + scripts_to_generate = [] + + # Special case pip and setuptools to generate versioned wrappers + # + # The issue is that some projects (specifically, pip and setuptools) use + # code in setup.py to create "versioned" entry points - pip2.7 on Python + # 2.7, pip3.3 on Python 3.3, etc. But these entry points are baked into + # the wheel metadata at build time, and so if the wheel is installed with + # a *different* version of Python the entry points will be wrong. The + # correct fix for this is to enhance the metadata to be able to describe + # such versioned entry points, but that won't happen till Metadata 2.0 is + # available. + # In the meantime, projects using versioned entry points will either have + # incorrect versioned entry points, or they will not be able to distribute + # "universal" wheels (i.e., they will need a wheel per Python version). + # + # Because setuptools and pip are bundled with _ensurepip and virtualenv, + # we need to use universal wheels. So, as a stopgap until Metadata 2.0, we + # override the versioned entry points in the wheel and generate the + # correct ones. This code is purely a short-term measure until Metadata 2.0 + # is available. + # + # To add the level of hack in this section of code, in order to support + # ensurepip this code will look for an ``ENSUREPIP_OPTIONS`` environment + # variable which will control which version scripts get installed. + # + # ENSUREPIP_OPTIONS=altinstall + # - Only pipX.Y and easy_install-X.Y will be generated and installed + # ENSUREPIP_OPTIONS=install + # - pipX.Y, pipX, easy_install-X.Y will be generated and installed. Note + # that this option is technically if ENSUREPIP_OPTIONS is set and is + # not altinstall + # DEFAULT + # - The default behavior is to install pip, pipX, pipX.Y, easy_install + # and easy_install-X.Y. + pip_script = console.pop('pip', None) + if pip_script: + if "ENSUREPIP_OPTIONS" not in os.environ: + scripts_to_generate.append('pip = ' + pip_script) + + if os.environ.get("ENSUREPIP_OPTIONS", "") != "altinstall": + scripts_to_generate.append( + 'pip{} = {}'.format(sys.version_info[0], pip_script) + ) + + scripts_to_generate.append( + f'pip{get_major_minor_version()} = {pip_script}' + ) + # Delete any other versioned pip entry points + pip_ep = [k for k in console if re.match(r'pip(\d(\.\d)?)?$', k)] + for k in pip_ep: + del console[k] + easy_install_script = console.pop('easy_install', None) + if easy_install_script: + if "ENSUREPIP_OPTIONS" not in os.environ: + scripts_to_generate.append( + 'easy_install = ' + easy_install_script + ) + + scripts_to_generate.append( + 'easy_install-{} = {}'.format( + get_major_minor_version(), easy_install_script + ) + ) + # Delete any other versioned easy_install entry points + easy_install_ep = [ + k for k in console if re.match(r'easy_install(-\d\.\d)?$', k) + ] + for k in easy_install_ep: + del console[k] + + # Generate the console entry points specified in the wheel + scripts_to_generate.extend(starmap('{} = {}'.format, console.items())) + + return scripts_to_generate + + +class ContentAddressablePool: + def __init__(self, cache_dir, save, symlink): + # type: (str, bool, bool) -> None + self.cache_dir = cache_dir + self.save = save + self.symlink = symlink + + def path_for_digest(self, digest): + # type: (str) -> str + return os.path.join( + self.cache_dir, + 'pool', + digest[:2], + digest[2:4], + digest[4:6], + digest[6:] + ) + + +class ZipBackedFile: + def __init__( + self, + src_record_path, # type: RecordPath + dest_path, # type: str + zip_file, # type: ZipFile + sha256_hash, # type: Optional[str] + pool, # type: Optional[ContentAddressablePool] + ): + # type: (...) -> None + self.src_record_path = src_record_path + self.dest_path = dest_path + self._zip_file = zip_file + self.changed = False + self.sha256_hash = sha256_hash + self.pool = pool + + def _getinfo(self): + # type: () -> ZipInfo + return self._zip_file.getinfo(self.src_record_path) + + def save(self): + # type: () -> None + + # When we open the output file below, any existing file is truncated + # before we start writing the new contents. This is fine in most + # cases, but can cause a segfault if pip has loaded a shared + # object (e.g. from pyopenssl through its vendored urllib3) + # Since the shared object is mmap'd an attempt to call a + # symbol in it will then cause a segfault. Unlinking the file + # allows writing of new contents while allowing the process to + # continue to use the old copy. + if os.path.exists(self.dest_path): + os.unlink(self.dest_path) + + def _save(dest_path, writable=True): + # type: (str, bool) -> None + # directory creation is lazy and after file filtering + # to ensure we don't install empty dirs; empty dirs can't be + # uninstalled. + parent_dir = os.path.dirname(dest_path) + ensure_dir(parent_dir) + + zipinfo = self._getinfo() + with self._zip_file.open(zipinfo) as f: + with open(dest_path, "wb") as dest: + shutil.copyfileobj(f, dest) + + if zip_item_is_executable(zipinfo): + set_extracted_file_to_default_mode_plus_executable( + dest_path, + writable=writable + ) + + if self.sha256_hash is not None and self.pool is not None: + cached_path = self.pool.path_for_digest(self.sha256_hash) + if not os.path.isfile(cached_path): + if not self.pool.save: + # We're not going to use the pool. + _save(self.dest_path, writable=True) + return + # Save to cache and symlink from there. + _save(cached_path, writable=False) + parent_dir = os.path.dirname(self.dest_path) + ensure_dir(parent_dir) + if self.pool.symlink: + os.symlink(cached_path, self.dest_path) + return + # Fall back to a hard link. This might not work in all + # platforms and situations, so fall back to regular + # copying if this fails. + try: + os.link(cached_path, self.dest_path) + return + except OSError: + # This is moderately expected. Fall back to copy. + pass + + _save(self.dest_path, writable=True) + + +class ScriptFile: + def __init__(self, file): + # type: (File) -> None + self._file = file + self.src_record_path = self._file.src_record_path + self.dest_path = self._file.dest_path + self.changed = False + + def save(self): + # type: () -> None + self._file.save() + self.changed = fix_script(self.dest_path) + + +class MissingCallableSuffix(InstallationError): + def __init__(self, entry_point): + # type: (str) -> None + super().__init__( + "Invalid script entry point: {} - A callable " + "suffix is required. Cf https://packaging.python.org/" + "specifications/entry-points/#use-for-scripts for more " + "information.".format(entry_point) + ) + + +def _raise_for_invalid_entrypoint(specification): + # type: (str) -> None + entry = get_export_entry(specification) + if entry is not None and entry.suffix is None: + raise MissingCallableSuffix(str(entry)) + + +class PipScriptMaker(ScriptMaker): + def make(self, specification, options=None): + # type: (str, Dict[str, Any]) -> List[str] + _raise_for_invalid_entrypoint(specification) + return super().make(specification, options) + + +def _install_wheel( + name, # type: str + wheel_zip, # type: ZipFile + wheel_path, # type: str + scheme, # type: Scheme + pycompile=True, # type: bool + noop=False, # type: bool + warn_script_location=True, # type: bool + direct_url=None, # type: Optional[DirectUrl] + requested=False, # type: bool + pool=None, # type: Optional[ContentAddressablePool] +): + # type: (...) -> None + """Install a wheel. + + :param name: Name of the project to install + :param wheel_zip: open ZipFile for wheel being installed + :param scheme: Distutils scheme dictating the install directories + :param req_description: String used in place of the requirement, for + logging + :param pycompile: Whether to byte-compile installed Python files + :param warn_script_location: Whether to check that scripts are installed + into a directory on PATH + :param pool: An optional content-addressable pool cache + :raises UnsupportedWheel: + * when the directory holds an unpacked wheel with incompatible + Wheel-Version + * when the .dist-info dir does not match the wheel + """ + info_dir, metadata = parse_wheel(wheel_zip, name) + + if wheel_root_is_purelib(metadata): + lib_dir = scheme.purelib + else: + lib_dir = scheme.platlib + + distribution = pkg_resources_distribution_for_wheel( + wheel_zip, name, wheel_path + ) + record_text = distribution.get_metadata('RECORD') + record_rows = list(csv.reader(record_text.splitlines())) + + digests = {} # type: Dict[RecordPath, str] + if pool is not None: + for row in record_rows: + if len(row) < 3: + continue + parsed_record_path = _parse_record_path(row[0]) + if '=' not in row[1]: + continue + digest_name, b64hash = row[1].split('=', 1) + if digest_name != 'sha256': + continue + digests[parsed_record_path] = urlsafe_b64decode(f'{b64hash}=').hex() + + # Record details of the files moved + # installed = files copied from the wheel to the destination + # changed = files changed while installing (scripts #! line typically) + # generated = files newly generated during the install (script wrappers) + installed = {} # type: Dict[RecordPath, RecordPath] + changed = set() # type: Set[RecordPath] + generated = [] # type: List[str] + + def record_installed(srcfile, destfile, modified=False): + # type: (RecordPath, str, bool) -> None + """Map archive RECORD paths to installation RECORD paths.""" + newpath = _fs_to_record_path(destfile, lib_dir) + installed[srcfile] = newpath + if modified: + changed.add(_fs_to_record_path(destfile)) + + def all_paths(): + # type: () -> Iterable[RecordPath] + names = wheel_zip.namelist() + # If a flag is set, names may be unicode in Python 2. We convert to + # text explicitly so these are valid for lookup in RECORD. + decoded_names = map(ensure_text, names) + for name in decoded_names: + yield cast("RecordPath", name) + + def is_dir_path(path): + # type: (RecordPath) -> bool + return path.endswith("/") + + def assert_no_path_traversal(dest_dir_path, target_path): + # type: (str, str) -> None + if not is_within_directory(dest_dir_path, target_path): + message = ( + "The wheel {!r} has a file {!r} trying to install" + " outside the target directory {!r}" + ) + raise InstallationError( + message.format(wheel_path, target_path, dest_dir_path) + ) + + def root_scheme_file_maker(zip_file, dest): + # type: (ZipFile, str) -> Callable[[RecordPath], File] + def make_root_scheme_file(record_path): + # type: (RecordPath) -> File + normed_path = os.path.normpath(record_path) + dest_path = os.path.join(dest, normed_path) + assert_no_path_traversal(dest, dest_path) + return ZipBackedFile( + record_path, + dest_path, + zip_file, + digests.get(record_path), + pool + ) + + return make_root_scheme_file + + def data_scheme_file_maker(zip_file, scheme): + # type: (ZipFile, Scheme) -> Callable[[RecordPath], File] + scheme_paths = {} + for key in SCHEME_KEYS: + encoded_key = ensure_text(key) + scheme_paths[encoded_key] = ensure_text( + getattr(scheme, key), encoding=sys.getfilesystemencoding() + ) + + def make_data_scheme_file(record_path): + # type: (RecordPath) -> File + normed_path = os.path.normpath(record_path) + try: + _, scheme_key, dest_subpath = normed_path.split(os.path.sep, 2) + except ValueError: + message = ( + "Unexpected file in {}: {!r}. .data directory contents" + " should be named like: '/'." + ).format(wheel_path, record_path) + raise InstallationError(message) + + try: + scheme_path = scheme_paths[scheme_key] + except KeyError: + valid_scheme_keys = ", ".join(sorted(scheme_paths)) + message = ( + "Unknown scheme key used in {}: {} (for file {!r}). .data" + " directory contents should be in subdirectories named" + " with a valid scheme key ({})" + ).format( + wheel_path, scheme_key, record_path, valid_scheme_keys + ) + raise InstallationError(message) + + dest_path = os.path.join(scheme_path, dest_subpath) + assert_no_path_traversal(scheme_path, dest_path) + return ZipBackedFile( + record_path, + dest_path, + zip_file, + digests.get(record_path), + pool + ) + + return make_data_scheme_file + + def is_data_scheme_path(path): + # type: (RecordPath) -> bool + return path.split("/", 1)[0].endswith(".data") + + paths = all_paths() + file_paths = filterfalse(is_dir_path, paths) + root_scheme_paths, data_scheme_paths = partition( + is_data_scheme_path, file_paths + ) + + make_root_scheme_file = root_scheme_file_maker( + wheel_zip, + ensure_text(lib_dir, encoding=sys.getfilesystemencoding()), + ) + files = map(make_root_scheme_file, root_scheme_paths) + + def is_script_scheme_path(path): + # type: (RecordPath) -> bool + parts = path.split("/", 2) + return ( + len(parts) > 2 and + parts[0].endswith(".data") and + parts[1] == "scripts" + ) + + other_scheme_paths, script_scheme_paths = partition( + is_script_scheme_path, data_scheme_paths + ) + + make_data_scheme_file = data_scheme_file_maker(wheel_zip, scheme) + other_scheme_files = map(make_data_scheme_file, other_scheme_paths) + files = chain(files, other_scheme_files) + + # Get the defined entry points + console, gui = get_entrypoints(distribution) + + def is_entrypoint_wrapper(file): + # type: (File) -> bool + # EP, EP.exe and EP-script.py are scripts generated for + # entry point EP by setuptools + path = file.dest_path + name = os.path.basename(path) + if name.lower().endswith('.exe'): + matchname = name[:-4] + elif name.lower().endswith('-script.py'): + matchname = name[:-10] + elif name.lower().endswith(".pya"): + matchname = name[:-4] + else: + matchname = name + # Ignore setuptools-generated scripts + return (matchname in console or matchname in gui) + + script_scheme_files = map(make_data_scheme_file, script_scheme_paths) + script_scheme_files = filterfalse( + is_entrypoint_wrapper, script_scheme_files + ) + script_scheme_files = map(ScriptFile, script_scheme_files) + files = chain(files, script_scheme_files) + + if noop: + # Nothing to do here. + return + + for file in files: + file.save() + record_installed(file.src_record_path, file.dest_path, file.changed) + + def pyc_source_file_paths(): + # type: () -> Iterator[str] + # We de-duplicate installation paths, since there can be overlap (e.g. + # file in .data maps to same location as file in wheel root). + # Sorting installation paths makes it easier to reproduce and debug + # issues related to permissions on existing files. + for installed_path in sorted(set(installed.values())): + full_installed_path = os.path.join(lib_dir, installed_path) + if not os.path.isfile(full_installed_path): + continue + if not full_installed_path.endswith('.py'): + continue + yield full_installed_path + + def pyc_output_path(path): + # type: (str) -> str + """Return the path the pyc file would have been written to. + """ + return importlib.util.cache_from_source(path) + + # Compile all of the pyc files for the installed files + if pycompile: + with captured_stdout() as stdout: + with warnings.catch_warnings(): + warnings.filterwarnings('ignore') + for path in pyc_source_file_paths(): + # Python 2's `compileall.compile_file` requires a str in + # error cases, so we must convert to the native type. + path_arg = ensure_str( + path, encoding=sys.getfilesystemencoding() + ) + success = compileall.compile_file( + path_arg, force=True, quiet=True + ) + if success: + pyc_path = pyc_output_path(path) + assert os.path.exists(pyc_path) + pyc_record_path = cast( + "RecordPath", pyc_path.replace(os.path.sep, "/") + ) + record_installed(pyc_record_path, pyc_path) + logger.debug(stdout.getvalue()) + + maker = PipScriptMaker(None, scheme.scripts) + + # Ensure old scripts are overwritten. + # See https://github.com/pypa/pip/issues/1800 + maker.clobber = True + + # Ensure we don't generate any variants for scripts because this is almost + # never what somebody wants. + # See https://bitbucket.org/pypa/distlib/issue/35/ + maker.variants = {''} + + # This is required because otherwise distlib creates scripts that are not + # executable. + # See https://bitbucket.org/pypa/distlib/issue/32/ + maker.set_mode = True + + # Generate the console and GUI entry points specified in the wheel + scripts_to_generate = get_console_script_specs(console) + + gui_scripts_to_generate = list(starmap('{} = {}'.format, gui.items())) + + generated_console_scripts = maker.make_multiple(scripts_to_generate) + generated.extend(generated_console_scripts) + + generated.extend( + maker.make_multiple(gui_scripts_to_generate, {'gui': True}) + ) + + if warn_script_location: + msg = message_about_scripts_not_on_PATH(generated_console_scripts) + if msg is not None: + logger.warning(msg) + + generated_file_mode = 0o666 & ~current_umask() + + @contextlib.contextmanager + def _generate_file(path, **kwargs): + # type: (str, **Any) -> Iterator[BinaryIO] + with adjacent_tmp_file(path, **kwargs) as f: + yield f + os.chmod(f.name, generated_file_mode) + replace(f.name, path) + + dest_info_dir = os.path.join(lib_dir, info_dir) + + # Record pip as the installer + installer_path = os.path.join(dest_info_dir, 'INSTALLER') + with _generate_file(installer_path) as installer_file: + installer_file.write(b'pip\n') + generated.append(installer_path) + + # Record the PEP 610 direct URL reference + if direct_url is not None: + direct_url_path = os.path.join(dest_info_dir, DIRECT_URL_METADATA_NAME) + with _generate_file(direct_url_path) as direct_url_file: + direct_url_file.write(direct_url.to_json().encode("utf-8")) + generated.append(direct_url_path) + + # Record the REQUESTED file + if requested: + requested_path = os.path.join(dest_info_dir, 'REQUESTED') + with open(requested_path, "wb"): + pass + generated.append(requested_path) + + rows = get_csv_rows_for_installed( + record_rows, + installed=installed, + changed=changed, + generated=generated, + lib_dir=lib_dir) + + # Record details of all files installed + record_path = os.path.join(dest_info_dir, 'RECORD') + + with _generate_file(record_path, **csv_io_kwargs('w')) as record_file: + # The type mypy infers for record_file is different for Python 3 + # (typing.IO[Any]) and Python 2 (typing.BinaryIO). We explicitly + # cast to typing.IO[str] as a workaround. + writer = csv.writer(cast('IO[str]', record_file)) + writer.writerows(_normalized_outrows(rows)) + + +@contextlib.contextmanager +def req_error_context(req_description): + # type: (str) -> Iterator[None] + try: + yield + except InstallationError as e: + message = "For req: {}. {}".format(req_description, e.args[0]) + reraise( + InstallationError, InstallationError(message), sys.exc_info()[2] + ) + + +def install_wheel( + name, # type: str + wheel_path, # type: str + scheme, # type: Scheme + req_description, # type: str + pycompile=True, # type: bool + noop=False, # type: bool + warn_script_location=True, # type: bool + direct_url=None, # type: Optional[DirectUrl] + requested=False, # type: bool + pool=None, # type: Optional[ContentAddressablePool] +): + # type: (...) -> None + with ZipFile(wheel_path, allowZip64=True) as z: + with req_error_context(req_description): + _install_wheel( + name=name, + wheel_zip=z, + wheel_path=wheel_path, + scheme=scheme, + pycompile=pycompile, + noop=noop, + warn_script_location=warn_script_location, + direct_url=direct_url, + requested=requested, + pool=pool, + ) diff --git a/venv/lib/python3.8/site-packages/pip/_internal/operations/prepare.py b/venv/lib/python3.8/site-packages/pip/_internal/operations/prepare.py new file mode 120000 index 0000000..e823cfd --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/operations/prepare.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8e/09/c7/ec221da008709d8392a64112be1ac9d72af94cbd99639a238d2cd1319a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/pyproject.py b/venv/lib/python3.8/site-packages/pip/_internal/pyproject.py new file mode 120000 index 0000000..f6a7630 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/pyproject.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4a/5d/5d/39061acc6f40b2b1344d758adb355c0d1fc544eb21093c23281450b0f1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/req/__init__.py b/venv/lib/python3.8/site-packages/pip/_internal/req/__init__.py new file mode 120000 index 0000000..4dee55a --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/req/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/79/b7/6b/c0fadefad947e26d4d72a8a7526d76dfcd528ce889a3fb2ca7352dd013 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/req/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/req/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..3f3c54b Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/req/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/req/__pycache__/constructors.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/req/__pycache__/constructors.cpython-38.pyc new file mode 100644 index 0000000..afbd88c Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/req/__pycache__/constructors.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_file.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_file.cpython-38.pyc new file mode 100644 index 0000000..14c458a Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_file.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_install.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_install.cpython-38.pyc new file mode 100644 index 0000000..f008cce Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_install.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_set.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_set.cpython-38.pyc new file mode 100644 index 0000000..db2add6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_set.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_tracker.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_tracker.cpython-38.pyc new file mode 100644 index 0000000..2d5c531 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_tracker.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_uninstall.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_uninstall.cpython-38.pyc new file mode 100644 index 0000000..04ff8d6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_uninstall.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/req/constructors.py b/venv/lib/python3.8/site-packages/pip/_internal/req/constructors.py new file mode 120000 index 0000000..c3f43a6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/req/constructors.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b7/17/a6/428c6ea7101c0d9290fa31bf0fea21acab2306fb8c3a42e5b0853c5ce4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/req/req_file.py b/venv/lib/python3.8/site-packages/pip/_internal/req/req_file.py new file mode 120000 index 0000000..22c2b22 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/req/req_file.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9c/f2/05/976322f540c686b8fe2b4137fd0ba017bb65dd4043b72d5ccdb205edf9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/req/req_install.py b/venv/lib/python3.8/site-packages/pip/_internal/req/req_install.py new file mode 120000 index 0000000..febbc75 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/req/req_install.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/60/fe/6e/cbdfd13975fd5225774c25fc2efaf53030a45cf98019ac93d505f28a70 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/req/req_set.py b/venv/lib/python3.8/site-packages/pip/_internal/req/req_set.py new file mode 120000 index 0000000..f205a16 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/req/req_set.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/02/eb/6c/6a2576b3ed882f0b56b530383895bf64b460e065e0eb033463f8596f59 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/req/req_tracker.py b/venv/lib/python3.8/site-packages/pip/_internal/req/req_tracker.py new file mode 120000 index 0000000..4af9b65 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/req/req_tracker.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5e/e3/f0/797d656c95d3da04a40972024b98676ba6f299ee4f790a783a4f3e476a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/req/req_uninstall.py b/venv/lib/python3.8/site-packages/pip/_internal/req/req_uninstall.py new file mode 120000 index 0000000..e573d3e --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/req/req_uninstall.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/83/6c/81/c037b6320b662365176765878bcbb261411164b452612f77f27dddca42 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/resolution/__init__.py b/venv/lib/python3.8/site-packages/pip/_internal/resolution/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/resolution/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/resolution/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/resolution/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..a8b988d Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/resolution/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/resolution/__pycache__/base.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/resolution/__pycache__/base.cpython-38.pyc new file mode 100644 index 0000000..6f50efa Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/resolution/__pycache__/base.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/resolution/base.py b/venv/lib/python3.8/site-packages/pip/_internal/resolution/base.py new file mode 120000 index 0000000..242d492 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/resolution/base.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c8/04/f0/216d556c9930905248806dc941a7e77450d2679d2c99cf80a3df92a312 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/resolution/legacy/__init__.py b/venv/lib/python3.8/site-packages/pip/_internal/resolution/legacy/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/resolution/legacy/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/resolution/legacy/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/resolution/legacy/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..a949eb4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/resolution/legacy/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/resolution/legacy/__pycache__/resolver.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/resolution/legacy/__pycache__/resolver.cpython-38.pyc new file mode 100644 index 0000000..ef0b00c Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/resolution/legacy/__pycache__/resolver.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/resolution/legacy/resolver.py b/venv/lib/python3.8/site-packages/pip/_internal/resolution/legacy/resolver.py new file mode 120000 index 0000000..d79b998 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/resolution/legacy/resolver.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bc/2f/25/dfcb64a199f25ce2d611251f2cb33337032825d7743aeeef2304dc83d4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/__init__.py b/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..ecd13e0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/__pycache__/base.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/__pycache__/base.cpython-38.pyc new file mode 100644 index 0000000..b4a4d76 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/__pycache__/base.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/__pycache__/candidates.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/__pycache__/candidates.cpython-38.pyc new file mode 100644 index 0000000..7c9114f Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/__pycache__/candidates.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/__pycache__/factory.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/__pycache__/factory.cpython-38.pyc new file mode 100644 index 0000000..51533b5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/__pycache__/factory.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/__pycache__/found_candidates.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/__pycache__/found_candidates.cpython-38.pyc new file mode 100644 index 0000000..bf8c73b Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/__pycache__/found_candidates.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/__pycache__/provider.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/__pycache__/provider.cpython-38.pyc new file mode 100644 index 0000000..8f7cb7e Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/__pycache__/provider.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/__pycache__/reporter.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/__pycache__/reporter.cpython-38.pyc new file mode 100644 index 0000000..b1551e9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/__pycache__/reporter.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/__pycache__/requirements.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/__pycache__/requirements.cpython-38.pyc new file mode 100644 index 0000000..09d46be Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/__pycache__/requirements.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/__pycache__/resolver.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/__pycache__/resolver.cpython-38.pyc new file mode 100644 index 0000000..f36a991 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/__pycache__/resolver.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/base.py b/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/base.py new file mode 120000 index 0000000..180174e --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/base.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/62/f8/1b/da37f497a4b80b6ad701b8dba5445817aca352009dc034ab9e989903c5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/candidates.py b/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/candidates.py new file mode 120000 index 0000000..6fbbd29 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/candidates.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/46/00/af/2dfd6678379c9b0f657e11bf014e6d37db9f682d040eb715391da18220 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/factory.py b/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/factory.py new file mode 120000 index 0000000..e17bf34 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/factory.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/85/8b/d3/c8815ec1af275c4cf000bc2b22a0be7afe47351db00e274e9387a286d9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py b/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py new file mode 120000 index 0000000..ed67db4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/11/2d/cf/3400a1dce3701808213e2a7655b832cbf7b86da2a67841075508aae3b8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/provider.py b/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/provider.py new file mode 120000 index 0000000..6a0e9fc --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/provider.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/09/69/47/8e0e3db6edb1f16b379c968b817e5c2f3bd64905a2d6c32aceb1d1b79d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/reporter.py b/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/reporter.py new file mode 120000 index 0000000..66fc8ba --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/reporter.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/67/4e/97/6b877d75359b1cdbd7201b41c439f80c77909a5c96f4c240a23902fe25 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/requirements.py b/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/requirements.py new file mode 120000 index 0000000..7cdb328 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/requirements.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a5/cb/27/c33eedc720cd65410e58939911f8afcb708e5873dffc3214edfc19f8a9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/resolver.py b/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/resolver.py new file mode 120000 index 0000000..cd5b8d2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/resolver.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e9/c0/dd/da4c4b7bc692809125e06a00b356a5dcff77da4882d09561fc91517025 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/self_outdated_check.py b/venv/lib/python3.8/site-packages/pip/_internal/self_outdated_check.py new file mode 120000 index 0000000..89e78f6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/self_outdated_check.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8a/fa/14/61a1aeabe45afc3be566f3ed1e181b63decd28762e3c6ceb80dd86d40f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/__init__.py b/venv/lib/python3.8/site-packages/pip/_internal/utils/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/utils/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..aff1c0c Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/_log.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/_log.cpython-38.pyc new file mode 100644 index 0000000..13ac133 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/_log.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/appdirs.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/appdirs.cpython-38.pyc new file mode 100644 index 0000000..1a41744 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/appdirs.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/compat.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/compat.cpython-38.pyc new file mode 100644 index 0000000..55edf20 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/compat.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/compatibility_tags.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/compatibility_tags.cpython-38.pyc new file mode 100644 index 0000000..3e7d94b Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/compatibility_tags.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/datetime.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/datetime.cpython-38.pyc new file mode 100644 index 0000000..6efe7f4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/datetime.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/deprecation.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/deprecation.cpython-38.pyc new file mode 100644 index 0000000..531b208 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/deprecation.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/direct_url_helpers.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/direct_url_helpers.cpython-38.pyc new file mode 100644 index 0000000..4e536c7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/direct_url_helpers.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/distutils_args.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/distutils_args.cpython-38.pyc new file mode 100644 index 0000000..df0f87c Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/distutils_args.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/encoding.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/encoding.cpython-38.pyc new file mode 100644 index 0000000..90cf28c Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/encoding.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/entrypoints.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/entrypoints.cpython-38.pyc new file mode 100644 index 0000000..3d9337c Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/entrypoints.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/filesystem.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/filesystem.cpython-38.pyc new file mode 100644 index 0000000..ee2ee06 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/filesystem.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/filetypes.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/filetypes.cpython-38.pyc new file mode 100644 index 0000000..5f236be Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/filetypes.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/glibc.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/glibc.cpython-38.pyc new file mode 100644 index 0000000..e407442 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/glibc.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/hashes.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/hashes.cpython-38.pyc new file mode 100644 index 0000000..898fe30 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/hashes.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/inject_securetransport.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/inject_securetransport.cpython-38.pyc new file mode 100644 index 0000000..daafc10 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/inject_securetransport.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/logging.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/logging.cpython-38.pyc new file mode 100644 index 0000000..442d8b0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/logging.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/misc.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/misc.cpython-38.pyc new file mode 100644 index 0000000..5a5aad4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/misc.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/models.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/models.cpython-38.pyc new file mode 100644 index 0000000..fcbda5f Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/models.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/packaging.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/packaging.cpython-38.pyc new file mode 100644 index 0000000..7405292 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/packaging.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/parallel.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/parallel.cpython-38.pyc new file mode 100644 index 0000000..33619ed Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/parallel.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/pkg_resources.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/pkg_resources.cpython-38.pyc new file mode 100644 index 0000000..fc4f84f Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/pkg_resources.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/setuptools_build.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/setuptools_build.cpython-38.pyc new file mode 100644 index 0000000..1b713af Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/setuptools_build.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/subprocess.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/subprocess.cpython-38.pyc new file mode 100644 index 0000000..9990cac Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/subprocess.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/temp_dir.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/temp_dir.cpython-38.pyc new file mode 100644 index 0000000..8519c21 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/temp_dir.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/unpacking.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/unpacking.cpython-38.pyc new file mode 100644 index 0000000..78e003b Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/unpacking.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/urls.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/urls.cpython-38.pyc new file mode 100644 index 0000000..cefebf2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/urls.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/virtualenv.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/virtualenv.cpython-38.pyc new file mode 100644 index 0000000..d888215 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/virtualenv.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/wheel.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/wheel.cpython-38.pyc new file mode 100644 index 0000000..e1a59c2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/wheel.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/_log.py b/venv/lib/python3.8/site-packages/pip/_internal/utils/_log.py new file mode 120000 index 0000000..fab9b07 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/utils/_log.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fa/31/cb/384fd31da673e4115c0a7a122fd11802d2749d77a6e3db3da1fe23bcac \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/appdirs.py b/venv/lib/python3.8/site-packages/pip/_internal/utils/appdirs.py new file mode 120000 index 0000000..3abd5a0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/utils/appdirs.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1c/20/85/68ead93a730bcd10e929770c88587fda4599f8fcc574df2978b8b090d6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/compat.py b/venv/lib/python3.8/site-packages/pip/_internal/utils/compat.py new file mode 120000 index 0000000..f29477b --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/utils/compat.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/23/9f/2d/4d9deaa8666a78654ffe611133c37b40fbbbd6788ba717cedc88f68df4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/compatibility_tags.py b/venv/lib/python3.8/site-packages/pip/_internal/utils/compatibility_tags.py new file mode 120000 index 0000000..1aa30cd --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/utils/compatibility_tags.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/21/c4/04/1c2649bdd7ca7220029971822addfd628836fd0d9740a307a2303fda98 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/datetime.py b/venv/lib/python3.8/site-packages/pip/_internal/utils/datetime.py new file mode 120000 index 0000000..15e3e3a --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/utils/datetime.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6e/26/5d/109110046abc03e37ba28a68b22a5e1b39921dd234597eb492597f004b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/deprecation.py b/venv/lib/python3.8/site-packages/pip/_internal/utils/deprecation.py new file mode 120000 index 0000000..fa490c4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/utils/deprecation.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/08/3f/60/535ce60ed0b7364d93335e0556901afdbc4231dd372b1e6ddcba05c248 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/direct_url_helpers.py b/venv/lib/python3.8/site-packages/pip/_internal/utils/direct_url_helpers.py new file mode 120000 index 0000000..15c5a67 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/utils/direct_url_helpers.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f9/c8/59/531749905446fa9036318eff5a28b9539a35f28e4ae00a81b1677ddbe7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/distutils_args.py b/venv/lib/python3.8/site-packages/pip/_internal/utils/distutils_args.py new file mode 120000 index 0000000..8b6168f --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/utils/distutils_args.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2b/15/93/6b3d3b03fd6e902cb0fe935a87e8bab01beb56d74cb2717c8e0b833584 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/encoding.py b/venv/lib/python3.8/site-packages/pip/_internal/utils/encoding.py new file mode 120000 index 0000000..2434909 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/utils/encoding.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4f/47/10/4e4181efeb37c22bcb94770a6caaaf268334c8b768f28b7cf4b946773d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/entrypoints.py b/venv/lib/python3.8/site-packages/pip/_internal/utils/entrypoints.py new file mode 120000 index 0000000..945f3fc --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/utils/entrypoints.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9b/85/17/90b6539cfb1d4a2b10ccd1621ccd4265c30af0dd4203df20e0e45ec767 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/filesystem.py b/venv/lib/python3.8/site-packages/pip/_internal/utils/filesystem.py new file mode 120000 index 0000000..3051b84 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/utils/filesystem.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/92/58/ce/f5d402263572fc0fcb3e55c47820df895ff6e3396a8a6c2c3dd8d3516a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/filetypes.py b/venv/lib/python3.8/site-packages/pip/_internal/utils/filetypes.py new file mode 120000 index 0000000..0132434 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/utils/filetypes.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c1/eb/e2/55b6a91d6550ffcf8af8f4d0fd39d82faea4662e12ad50539916195cb7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/glibc.py b/venv/lib/python3.8/site-packages/pip/_internal/utils/glibc.py new file mode 120000 index 0000000..59c50d2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/utils/glibc.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/18/cd/58/da15a439ffedba6c9218583e88d6dcee88a505042b8dccdbffbd39085f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/hashes.py b/venv/lib/python3.8/site-packages/pip/_internal/utils/hashes.py new file mode 120000 index 0000000..1f6ca24 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/utils/hashes.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a3/5a/90/124a9ed80aac466fc984ba0ce21931995b5ec07d1966943a10139b1ee5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/inject_securetransport.py b/venv/lib/python3.8/site-packages/pip/_internal/utils/inject_securetransport.py new file mode 120000 index 0000000..90c6a7d --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/utils/inject_securetransport.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b4/69/7d/060cadd881cab41ddbd01fbaaf75b6c981773a0f8f05ed3ae3b4b7959b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/logging.py b/venv/lib/python3.8/site-packages/pip/_internal/utils/logging.py new file mode 120000 index 0000000..3beaadb --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/utils/logging.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/13/95/44/d67fa9aa075de436a33d03caa66bbb56925577b7408617633d936c6231 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/misc.py b/venv/lib/python3.8/site-packages/pip/_internal/utils/misc.py new file mode 120000 index 0000000..74543c2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/utils/misc.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5a/15/8c/29bb68056bc6aea54c68f7a428c2fea2bb0b9c3d9ed0df376ab8e9610c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/models.py b/venv/lib/python3.8/site-packages/pip/_internal/utils/models.py new file mode 120000 index 0000000..2c386bf --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/utils/models.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a8/28/18/c94c369881f5a6899bb09dd842c32d38d660c89e011b03b93099d20b87 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/packaging.py b/venv/lib/python3.8/site-packages/pip/_internal/utils/packaging.py new file mode 120000 index 0000000..fa95100 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/utils/packaging.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/23/5f/77/f0007b169adc54925de82d2f4a232e0956a39abc59179e6f5f98f46cca \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/parallel.py b/venv/lib/python3.8/site-packages/pip/_internal/utils/parallel.py new file mode 120000 index 0000000..616bec0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/utils/parallel.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/45/91/78/25d74f11655b9243c29277efa6a68b7e6dcf9aa77f001a021e6578957b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/pkg_resources.py b/venv/lib/python3.8/site-packages/pip/_internal/utils/pkg_resources.py new file mode 120000 index 0000000..b59c864 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/utils/pkg_resources.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8f/01/f9/25588f7be2655cbbcb0b4f8049f4d309162f9b4bbd0b04067168f14ad2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/setuptools_build.py b/venv/lib/python3.8/site-packages/pip/_internal/utils/setuptools_build.py new file mode 120000 index 0000000..7df8c93 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/utils/setuptools_build.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c6/4f/6c/4418d4c8d4c7b3f4ef11679b556b3519f2cf376d3c333a525ebf4e93f0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/subprocess.py b/venv/lib/python3.8/site-packages/pip/_internal/utils/subprocess.py new file mode 120000 index 0000000..ea49003 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/utils/subprocess.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ed/03/90/3c98fa7b3215b32a4926b732caae3e98933da94b0e74e2ead3fc148800 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/temp_dir.py b/venv/lib/python3.8/site-packages/pip/_internal/utils/temp_dir.py new file mode 120000 index 0000000..9bc3408 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/utils/temp_dir.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f6/0b/37/37d1907955d15568c921a952a47d6e8fcc905cf4f36ab6f99f5fc7315a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/unpacking.py b/venv/lib/python3.8/site-packages/pip/_internal/utils/unpacking.py new file mode 120000 index 0000000..5f7a57d --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/utils/unpacking.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c0/9d/54/0790c32f8932273b57cdb8d025c92a8147c6e2bdcb0d1bb727f5b3887f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/urls.py b/venv/lib/python3.8/site-packages/pip/_internal/utils/urls.py new file mode 120000 index 0000000..e954938 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/utils/urls.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5f/38/d0/b0719dd980e6261a02a20b293d3aa1e8a979b4610d4473dcc234b4242e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/virtualenv.py b/venv/lib/python3.8/site-packages/pip/_internal/utils/virtualenv.py new file mode 120000 index 0000000..4fca479 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/utils/virtualenv.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/89/14/ca/fac0fa6d6a47a97719d0409f76914b59ab4c3871545422116b42fa1aed \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/utils/wheel.py b/venv/lib/python3.8/site-packages/pip/_internal/utils/wheel.py new file mode 120000 index 0000000..b40ecdc --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/utils/wheel.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0c/e2/15/65a5cdedb30e01e304ab320e6471a5e0e14ef8a1ab12a05407ce3c0cfa \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/vcs/__init__.py b/venv/lib/python3.8/site-packages/pip/_internal/vcs/__init__.py new file mode 120000 index 0000000..6a5ce4e --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/vcs/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/50/0a/af/ce96e2d156d9a3751beac904799030fa8a08651fb35ff5a909bc720a85 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..0c60bc7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/bazaar.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/bazaar.cpython-38.pyc new file mode 100644 index 0000000..dfcb9d0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/bazaar.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/git.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/git.cpython-38.pyc new file mode 100644 index 0000000..f9dfd87 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/git.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/mercurial.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/mercurial.cpython-38.pyc new file mode 100644 index 0000000..8d8cb8f Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/mercurial.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/subversion.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/subversion.cpython-38.pyc new file mode 100644 index 0000000..4017e7f Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/subversion.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/versioncontrol.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/versioncontrol.cpython-38.pyc new file mode 100644 index 0000000..040095b Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/versioncontrol.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_internal/vcs/bazaar.py b/venv/lib/python3.8/site-packages/pip/_internal/vcs/bazaar.py new file mode 120000 index 0000000..57a6f45 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/vcs/bazaar.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/03/2f/ef/37ef3bbd8484cc1a974f7455c25e34be5939ea3de3cbf01f41b323e2ea \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/vcs/git.py b/venv/lib/python3.8/site-packages/pip/_internal/vcs/git.py new file mode 120000 index 0000000..d8a6765 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/vcs/git.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/40/bc/58/d5c142c85ed95143dcc0d9fa3f5b4eae31c4be306fd169a606ba303f36 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/vcs/mercurial.py b/venv/lib/python3.8/site-packages/pip/_internal/vcs/mercurial.py new file mode 120000 index 0000000..b3cdd56 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/vcs/mercurial.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5b/0a/13/59941d40df457144c836f21e6f456de3a509fe52dd7f604075e6bd4e27 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/vcs/subversion.py b/venv/lib/python3.8/site-packages/pip/_internal/vcs/subversion.py new file mode 120000 index 0000000..6adb1c3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/vcs/subversion.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/15/13/18/c7babe6fab245aebfa214eed2720bc266f0f3db94c9c7ed637fb9c5d65 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/vcs/versioncontrol.py b/venv/lib/python3.8/site-packages/pip/_internal/vcs/versioncontrol.py new file mode 120000 index 0000000..d3d81e7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/vcs/versioncontrol.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8c/c2/a2/b701386d0e398ce28aa26071801ca99b64dcb8319659d4d498f6be3144 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_internal/wheel_builder.py b/venv/lib/python3.8/site-packages/pip/_internal/wheel_builder.py new file mode 120000 index 0000000..315434a --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_internal/wheel_builder.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/85/6e/b7/666001afae6b3a24910475eed63054744670e4b662c342da4016f3d252 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/README.rst b/venv/lib/python3.8/site-packages/pip/_vendor/README.rst new file mode 100644 index 0000000..12b421a --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/README.rst @@ -0,0 +1,153 @@ +================ +Vendoring Policy +================ + +* Vendored libraries **MUST** not be modified except as required to + successfully vendor them. +* Vendored libraries **MUST** be released copies of libraries available on + PyPI. +* Vendored libraries **MUST** be available under a license that allows + them to be integrated into ``pip``, which is released under the MIT license. +* Vendored libraries **MUST** be accompanied with LICENSE files. +* The versions of libraries vendored in pip **MUST** be reflected in + ``pip/_vendor/vendor.txt``. +* Vendored libraries **MUST** function without any build steps such as ``2to3`` + or compilation of C code, practically this limits to single source 2.x/3.x and + pure Python. +* Any modifications made to libraries **MUST** be noted in + ``pip/_vendor/README.rst`` and their corresponding patches **MUST** be + included ``tools/vendoring/patches``. +* Vendored libraries should have corresponding ``vendored()`` entries in + ``pip/_vendor/__init__.py``. + +Rationale +========= + +Historically pip has not had any dependencies except for ``setuptools`` itself, +choosing instead to implement any functionality it needed to prevent needing +a dependency. However, starting with pip 1.5, we began to replace code that was +implemented inside of pip with reusable libraries from PyPI. This brought the +typical benefits of reusing libraries instead of reinventing the wheel like +higher quality and more battle tested code, centralization of bug fixes +(particularly security sensitive ones), and better/more features for less work. + +However, there are several issues with having dependencies in the traditional +way (via ``install_requires``) for pip. These issues are: + +**Fragility** + When pip depends on another library to function then if for whatever reason + that library either isn't installed or an incompatible version is installed + then pip ceases to function. This is of course true for all Python + applications, however for every application *except* for pip the way you fix + it is by re-running pip. Obviously, when pip can't run, you can't use pip to + fix pip, so you're left having to manually resolve dependencies and + installing them by hand. + +**Making other libraries uninstallable** + One of pip's current dependencies is the ``requests`` library, for which pip + requires a fairly recent version to run. If pip depended on ``requests`` in + the traditional manner, then we'd either have to maintain compatibility with + every ``requests`` version that has ever existed (and ever will), OR allow + pip to render certain versions of ``requests`` uninstallable. (The second + issue, although technically true for any Python application, is magnified by + pip's ubiquity; pip is installed by default in Python, in ``pyvenv``, and in + ``virtualenv``.) + +**Security** + This might seem puzzling at first glance, since vendoring has a tendency to + complicate updating dependencies for security updates, and that holds true + for pip. However, given the *other* reasons for avoiding dependencies, the + alternative is for pip to reinvent the wheel itself. This is what pip did + historically. It forced pip to re-implement its own HTTPS verification + routines as a workaround for the Python standard library's lack of SSL + validation, which resulted in similar bugs in the validation routine in + ``requests`` and ``urllib3``, except that they had to be discovered and + fixed independently. Even though we're vendoring, reusing libraries keeps + pip more secure by relying on the great work of our dependencies, *and* + allowing for faster, easier security fixes by simply pulling in newer + versions of dependencies. + +**Bootstrapping** + Currently most popular methods of installing pip rely on pip's + self-contained nature to install pip itself. These tools work by bundling a + copy of pip, adding it to ``sys.path``, and then executing that copy of pip. + This is done instead of implementing a "mini installer" (to reduce + duplication); pip already knows how to install a Python package, and is far + more battle-tested than any "mini installer" could ever possibly be. + +Many downstream redistributors have policies against this kind of bundling, and +instead opt to patch the software they distribute to debundle it and make it +rely on the global versions of the software that they already have packaged +(which may have its own patches applied to it). We (the pip team) would prefer +it if pip was *not* debundled in this manner due to the above reasons and +instead we would prefer it if pip would be left intact as it is now. The one +exception to this, is it is acceptable to remove the +``pip/_vendor/requests/cacert.pem`` file provided you ensure that the +``ssl.get_default_verify_paths().cafile`` API returns the correct CA bundle for +your system. This will ensure that pip will use your system provided CA bundle +instead of the copy bundled with pip. + +In the longer term, if someone has a *portable* solution to the above problems, +other than the bundling method we currently use, that doesn't add additional +problems that are unreasonable then we would be happy to consider, and possibly +switch to said method. This solution must function correctly across all of the +situation that we expect pip to be used and not mandate some external mechanism +such as OS packages. + + +Modifications +============= + +* ``setuptools`` is completely stripped to only keep ``pkg_resources``. +* ``pkg_resources`` has been modified to import its dependencies from + ``pip._vendor``. +* ``packaging`` has been modified to import its dependencies from + ``pip._vendor``. +* ``html5lib`` has been modified to import six from ``pip._vendor``, to prefer + importing from ``collections.abc`` instead of ``collections`` and does not + import ``xml.etree.cElementTree`` on Python 3. +* ``CacheControl`` has been modified to import its dependencies from + ``pip._vendor``. +* ``requests`` has been modified to import its other dependencies from + ``pip._vendor`` and to *not* load ``simplejson`` (all platforms) and + ``pyopenssl`` (Windows). + + +Automatic Vendoring +=================== + +Vendoring is automated via the `vendoring `_ tool from the content of +``pip/_vendor/vendor.txt`` and the different patches in +``tools/vendoring/patches``. +Launch it via ``vendoring sync . -v`` (requires ``vendoring>=0.2.2``). + + +Debundling +========== + +As mentioned in the rationale, we, the pip team, would prefer it if pip was not +debundled (other than optionally ``pip/_vendor/requests/cacert.pem``) and that +pip was left intact. However, if you insist on doing so, we have a +semi-supported method (that we don't test in our CI) and requires a bit of +extra work on your end in order to solve the problems described above. + +1. Delete everything in ``pip/_vendor/`` **except** for + ``pip/_vendor/__init__.py`` and ``pip/_vendor/vendor.txt``. +2. Generate wheels for each of pip's dependencies (and any of their + dependencies) using your patched copies of these libraries. These must be + placed somewhere on the filesystem that pip can access (``pip/_vendor`` is + the default assumption). +3. Modify ``pip/_vendor/__init__.py`` so that the ``DEBUNDLED`` variable is + ``True``. +4. Upon installation, the ``INSTALLER`` file in pip's own ``dist-info`` + directory should be set to something other than ``pip``, so that pip + can detect that it wasn't installed using itself. +5. *(optional)* If you've placed the wheels in a location other than + ``pip/_vendor/``, then modify ``pip/_vendor/__init__.py`` so that the + ``WHEEL_DIR`` variable points to the location you've placed them. +6. *(optional)* Update the ``pip_self_version_check`` logic to use the + appropriate logic for determining the latest available version of pip and + prompt the user with the correct upgrade message. + +Note that partial debundling is **NOT** supported. You need to prepare wheels +for all dependencies for successful debundling. diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/__init__.py b/venv/lib/python3.8/site-packages/pip/_vendor/__init__.py new file mode 120000 index 0000000..56a18a7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/78/4f/f2/a0710baba2b0fbe5aa84011c2a4bc72ca6e64d1d7e257fd3875c1c3597 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..32b9c0c Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/__pycache__/appdirs.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/__pycache__/appdirs.cpython-38.pyc new file mode 100644 index 0000000..9f3c437 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/__pycache__/appdirs.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/__pycache__/distro.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/__pycache__/distro.cpython-38.pyc new file mode 100644 index 0000000..40294da Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/__pycache__/distro.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/__pycache__/pyparsing.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/__pycache__/pyparsing.cpython-38.pyc new file mode 100644 index 0000000..347866d Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/__pycache__/pyparsing.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/__pycache__/six.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/__pycache__/six.cpython-38.pyc new file mode 100644 index 0000000..2ff26dd Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/__pycache__/six.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/appdirs.LICENSE.txt b/venv/lib/python3.8/site-packages/pip/_vendor/appdirs.LICENSE.txt new file mode 120000 index 0000000..2357144 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/appdirs.LICENSE.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/36/dd/b4/d0a745a93ab203203d7190814b1b89727d254caff48c7a7afbbd47000b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/appdirs.py b/venv/lib/python3.8/site-packages/pip/_vendor/appdirs.py new file mode 120000 index 0000000..aeaebce --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/appdirs.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/33/a2/18/449b5d6609923c25c248c051074553dcff0c7456d60836d22eb07611b8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol.pyi b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol.pyi new file mode 100644 index 0000000..636a66b --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol.pyi @@ -0,0 +1 @@ +from cachecontrol import * \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/LICENSE.txt b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/LICENSE.txt new file mode 120000 index 0000000..34ef805 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/LICENSE.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/62/37/16/1756bc47b65cf3f820d93995d76f98ccbd4658dfc10ee09bd455adcb47 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/__init__.py b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/__init__.py new file mode 120000 index 0000000..901762e --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a4/9b/40/694c4eb0c3e7cad2350378ee009917603afc92b7529ec838620dce0448 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..62815c2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/__pycache__/_cmd.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/__pycache__/_cmd.cpython-38.pyc new file mode 100644 index 0000000..32ceb56 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/__pycache__/_cmd.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/__pycache__/adapter.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/__pycache__/adapter.cpython-38.pyc new file mode 100644 index 0000000..a5bfdf2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/__pycache__/adapter.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/__pycache__/cache.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/__pycache__/cache.cpython-38.pyc new file mode 100644 index 0000000..f6c7e46 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/__pycache__/cache.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/__pycache__/compat.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/__pycache__/compat.cpython-38.pyc new file mode 100644 index 0000000..1776ed8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/__pycache__/compat.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/__pycache__/controller.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/__pycache__/controller.cpython-38.pyc new file mode 100644 index 0000000..bbaa62a Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/__pycache__/controller.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/__pycache__/filewrapper.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/__pycache__/filewrapper.cpython-38.pyc new file mode 100644 index 0000000..36bc334 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/__pycache__/filewrapper.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/__pycache__/heuristics.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/__pycache__/heuristics.cpython-38.pyc new file mode 100644 index 0000000..4545cde Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/__pycache__/heuristics.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/__pycache__/serialize.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/__pycache__/serialize.cpython-38.pyc new file mode 100644 index 0000000..6e8e5cb Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/__pycache__/serialize.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/__pycache__/wrapper.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/__pycache__/wrapper.cpython-38.pyc new file mode 100644 index 0000000..4397d6e Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/__pycache__/wrapper.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/_cmd.py b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/_cmd.py new file mode 120000 index 0000000..f43475d --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/_cmd.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/51/11/84/d0aac0f3b41e9021b74863dab6548f4f9ef57594c38cd6be6575f7a437 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/adapter.py b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/adapter.py new file mode 120000 index 0000000..47a0a59 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/adapter.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b1/2c/1a/49877ddc821f085538b4e3204a8e9bd8b0adfe0052690523f24b4914e0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/cache.py b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/cache.py new file mode 120000 index 0000000..b4e9d12 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/cache.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d5/f7/38/c093fc1d8b75c9c9c95de130e690a97812f60aac71ea0f456f40180d64 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/caches/__init__.py b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/caches/__init__.py new file mode 120000 index 0000000..38bd29b --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/caches/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fa/01/cd/298bda783d243a4e4cef878eaec4a020a52d0ba8ba19f6e6ba01b0784a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..14aa475 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/file_cache.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/file_cache.cpython-38.pyc new file mode 100644 index 0000000..b872758 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/file_cache.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/redis_cache.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/redis_cache.cpython-38.pyc new file mode 100644 index 0000000..07a404d Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/redis_cache.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py new file mode 120000 index 0000000..b9c8715 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9d/85/4a/b09b5787a8095ef767d625b2ae1c6f930a50acaf9e2a8311cee8b090a9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py new file mode 120000 index 0000000..c968570 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1f/17/a5/329342a3e758af67e2243c0cde1861466c5462d079b579b51a90004f86 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/compat.py b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/compat.py new file mode 120000 index 0000000..0380389 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/compat.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/90/73/6f/31176deacfd7c2aabff6a266afda2edf060c38c50cc4f3dcc0dc53f0c7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/controller.py b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/controller.py new file mode 120000 index 0000000..df78c92 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/controller.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/09/61/17/de979d20cf6ceb4b2e7f8cd93ed9bf26f5609efa203062bf3a2046e45f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/filewrapper.py b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/filewrapper.py new file mode 120000 index 0000000..2555216 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/filewrapper.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bc/00/8a/3bc2e5ceefd95b28d5d45c67d4c0384c653ad0de4ddc64ab0057406364 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/heuristics.py b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/heuristics.py new file mode 120000 index 0000000..33de987 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/heuristics.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/04/51/87/277c90731bd98b37e8f742cb674e13fd9e574825ef168b6ba7b52cd2c7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/serialize.py b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/serialize.py new file mode 120000 index 0000000..5d711bd --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/serialize.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bc/86/b8/8efab8c7f29238b74421e7689275f669760742e8cb0c5578f85db50e7a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/wrapper.py b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/wrapper.py new file mode 120000 index 0000000..8c5396f --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/cachecontrol/wrapper.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e4/b5/f4/b89c2435052d612130dda1a61aef5663cc068a977cd6627c946d1dd0ce \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/certifi.pyi b/venv/lib/python3.8/site-packages/pip/_vendor/certifi.pyi new file mode 100644 index 0000000..e5c4d3d --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/certifi.pyi @@ -0,0 +1 @@ +from certifi import * \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/certifi/LICENSE b/venv/lib/python3.8/site-packages/pip/_vendor/certifi/LICENSE new file mode 120000 index 0000000..3058349 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/certifi/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6a/70/a4/bf6b010016d59a64b8ae4ad8dc7f5ef16f1fb453cc2ecd771c5a341131 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/certifi/__init__.py b/venv/lib/python3.8/site-packages/pip/_vendor/certifi/__init__.py new file mode 120000 index 0000000..e2488e0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/certifi/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4a/c9/9d/9851e31c263854bb6ac29a7d3ff8ec39c02e1e3fb97395aaa04cfea058 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/certifi/__main__.py b/venv/lib/python3.8/site-packages/pip/_vendor/certifi/__main__.py new file mode 120000 index 0000000..556724b --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/certifi/__main__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d6/4d/c2/afde6f0b1c464460e58eb5b7c0c76965d2f73617f4bb59fe936a9db026 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/certifi/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/certifi/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..cf804a1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/certifi/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/certifi/__pycache__/__main__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/certifi/__pycache__/__main__.cpython-38.pyc new file mode 100644 index 0000000..2a7c75f Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/certifi/__pycache__/__main__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/certifi/__pycache__/core.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/certifi/__pycache__/core.cpython-38.pyc new file mode 100644 index 0000000..a9e0c2b Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/certifi/__pycache__/core.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/certifi/cacert.pem b/venv/lib/python3.8/site-packages/pip/_vendor/certifi/cacert.pem new file mode 120000 index 0000000..6003851 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/certifi/cacert.pem @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bb/77/f1/3d3fbec9e98bbf28ac95046b44196c7d8f55ab7720061e99991a829197 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/certifi/core.py b/venv/lib/python3.8/site-packages/pip/_vendor/certifi/core.py new file mode 120000 index 0000000..aa83ea2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/certifi/core.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/80/e1/5d/d331d8971e24aeb2c49fdf367ac3ad9b3ddd8e21b40454838608e5bdc2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet.pyi b/venv/lib/python3.8/site-packages/pip/_vendor/chardet.pyi new file mode 100644 index 0000000..29e87e3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/chardet.pyi @@ -0,0 +1 @@ +from chardet import * \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/LICENSE b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/LICENSE new file mode 120000 index 0000000..c945813 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/60/95/e9/ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__init__.py b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__init__.py new file mode 120000 index 0000000..003e6f4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/99/66/5a/5a6bd9921c1f044013f4ed58ea74537cace14fb1478504d302e8dba940 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..00a1e22 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/big5freq.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/big5freq.cpython-38.pyc new file mode 100644 index 0000000..6b1c45e Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/big5freq.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/big5prober.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/big5prober.cpython-38.pyc new file mode 100644 index 0000000..ce0c2c7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/big5prober.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/chardistribution.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/chardistribution.cpython-38.pyc new file mode 100644 index 0000000..8d8637f Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/chardistribution.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/charsetgroupprober.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/charsetgroupprober.cpython-38.pyc new file mode 100644 index 0000000..b57f12b Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/charsetgroupprober.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/charsetprober.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/charsetprober.cpython-38.pyc new file mode 100644 index 0000000..2325c6f Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/charsetprober.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/codingstatemachine.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/codingstatemachine.cpython-38.pyc new file mode 100644 index 0000000..dc112c1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/codingstatemachine.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/compat.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/compat.cpython-38.pyc new file mode 100644 index 0000000..dc4cf50 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/compat.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/cp949prober.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/cp949prober.cpython-38.pyc new file mode 100644 index 0000000..836722f Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/cp949prober.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/enums.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/enums.cpython-38.pyc new file mode 100644 index 0000000..c66633e Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/enums.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/escprober.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/escprober.cpython-38.pyc new file mode 100644 index 0000000..be9f58f Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/escprober.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/escsm.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/escsm.cpython-38.pyc new file mode 100644 index 0000000..418325e Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/escsm.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/eucjpprober.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/eucjpprober.cpython-38.pyc new file mode 100644 index 0000000..feec7e5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/eucjpprober.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/euckrfreq.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/euckrfreq.cpython-38.pyc new file mode 100644 index 0000000..cffbcc7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/euckrfreq.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/euckrprober.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/euckrprober.cpython-38.pyc new file mode 100644 index 0000000..7d67095 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/euckrprober.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/euctwfreq.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/euctwfreq.cpython-38.pyc new file mode 100644 index 0000000..5c5c068 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/euctwfreq.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/euctwprober.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/euctwprober.cpython-38.pyc new file mode 100644 index 0000000..0dbf4ad Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/euctwprober.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/gb2312freq.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/gb2312freq.cpython-38.pyc new file mode 100644 index 0000000..4b109de Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/gb2312freq.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/gb2312prober.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/gb2312prober.cpython-38.pyc new file mode 100644 index 0000000..5b533e8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/gb2312prober.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/hebrewprober.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/hebrewprober.cpython-38.pyc new file mode 100644 index 0000000..922e40a Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/hebrewprober.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/jisfreq.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/jisfreq.cpython-38.pyc new file mode 100644 index 0000000..94b8acd Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/jisfreq.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/jpcntx.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/jpcntx.cpython-38.pyc new file mode 100644 index 0000000..c609d86 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/jpcntx.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/langbulgarianmodel.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/langbulgarianmodel.cpython-38.pyc new file mode 100644 index 0000000..315c82a Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/langbulgarianmodel.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/langgreekmodel.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/langgreekmodel.cpython-38.pyc new file mode 100644 index 0000000..84eb8f8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/langgreekmodel.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/langhebrewmodel.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/langhebrewmodel.cpython-38.pyc new file mode 100644 index 0000000..1718dfc Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/langhebrewmodel.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/langhungarianmodel.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/langhungarianmodel.cpython-38.pyc new file mode 100644 index 0000000..a4f8a06 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/langhungarianmodel.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/langrussianmodel.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/langrussianmodel.cpython-38.pyc new file mode 100644 index 0000000..4b43c20 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/langrussianmodel.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/langthaimodel.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/langthaimodel.cpython-38.pyc new file mode 100644 index 0000000..667d022 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/langthaimodel.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/langturkishmodel.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/langturkishmodel.cpython-38.pyc new file mode 100644 index 0000000..5bbc382 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/langturkishmodel.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/latin1prober.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/latin1prober.cpython-38.pyc new file mode 100644 index 0000000..a64d38c Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/latin1prober.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/mbcharsetprober.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/mbcharsetprober.cpython-38.pyc new file mode 100644 index 0000000..5024b18 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/mbcharsetprober.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/mbcsgroupprober.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/mbcsgroupprober.cpython-38.pyc new file mode 100644 index 0000000..5eaaf44 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/mbcsgroupprober.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/mbcssm.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/mbcssm.cpython-38.pyc new file mode 100644 index 0000000..8c0e563 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/mbcssm.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/sbcharsetprober.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/sbcharsetprober.cpython-38.pyc new file mode 100644 index 0000000..490ef27 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/sbcharsetprober.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/sbcsgroupprober.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/sbcsgroupprober.cpython-38.pyc new file mode 100644 index 0000000..07e3733 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/sbcsgroupprober.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/sjisprober.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/sjisprober.cpython-38.pyc new file mode 100644 index 0000000..01a897a Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/sjisprober.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/universaldetector.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/universaldetector.cpython-38.pyc new file mode 100644 index 0000000..2c8f4ca Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/universaldetector.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/utf8prober.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/utf8prober.cpython-38.pyc new file mode 100644 index 0000000..f9fdb8e Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/utf8prober.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/version.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/version.cpython-38.pyc new file mode 100644 index 0000000..f76d72a Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/__pycache__/version.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/big5freq.py b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/big5freq.py new file mode 120000 index 0000000..2fe7416 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/big5freq.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0f/fc/ca/e46cb3a15b117acd0790b2738a5b45417d1b2822ceac57bdff10ef3bff \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/big5prober.py b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/big5prober.py new file mode 120000 index 0000000..f8ff370 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/big5prober.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/90/1c/47/6dd7ad0693deef1ae56fe7bdf748a8b7ae20fde1922dddf6941eff8773 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/chardistribution.py b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/chardistribution.py new file mode 120000 index 0000000..511471c --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/chardistribution.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/df/0a/16/4bad8aac6a282b2ab3e334129e315b2696ba57b834d9d68089b4f0725f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/charsetgroupprober.py b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/charsetgroupprober.py new file mode 120000 index 0000000..ff1dbb7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/charsetgroupprober.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/19/92/d1/7873fa151467e3786f48ea060b161a984acacf2a7a460390c55782de48 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/charsetprober.py b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/charsetprober.py new file mode 120000 index 0000000..917db96 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/charsetprober.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/29/29/b0/244ae3ca9ca3d1b459982e45e5e33b73c61080b6088d95e29ed64db2d8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/cli/__init__.py b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/cli/__init__.py new file mode 120000 index 0000000..e11f061 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/cli/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/01/ba/47/19c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/cli/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/cli/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..588221a Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/cli/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/cli/__pycache__/chardetect.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/cli/__pycache__/chardetect.cpython-38.pyc new file mode 100644 index 0000000..4e9d4be Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/cli/__pycache__/chardetect.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/cli/chardetect.py b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/cli/chardetect.py new file mode 120000 index 0000000..b465d33 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/cli/chardetect.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5c/ae/73/aa3506d9ae3ecba78b1d9f13858729e96594add96610bc4dca971cd921 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/codingstatemachine.py b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/codingstatemachine.py new file mode 120000 index 0000000..0678c6c --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/codingstatemachine.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/55/8a/7f/e9ccb2922e6c1e05c34999d75b8ab5a1e94773772ef40c904d7eeeba0f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/compat.py b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/compat.py new file mode 120000 index 0000000..6acc184 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/compat.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/4c/eb/eb0202670927c72b8b18670838fcaf7bc0d379b0426dbbedb6f9e6a794 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/cp949prober.py b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/cp949prober.py new file mode 120000 index 0000000..5cc7444 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/cp949prober.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4d/9e/37/e105fccf306c9d4bcbffcc26e004154d9d9992a10440bfe5370f5ff68c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/enums.py b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/enums.py new file mode 120000 index 0000000..1ed7785 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/enums.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/02/29/b0/75bf5ab357492996853541f63a158854155de9990927f58ae6c358f1c5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/escprober.py b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/escprober.py new file mode 120000 index 0000000..58abe6d --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/escprober.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/92/4c/aa/560d58c370c8380309d9b765c9081415086e1c05bc7541ac913a0d5927 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/escsm.py b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/escsm.py new file mode 120000 index 0000000..f8612a1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/escsm.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/46/e5/e5/80dbd32036ab9ddbe594d0a4e56641229742c50d2471df4402ec5487ce \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/eucjpprober.py b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/eucjpprober.py new file mode 120000 index 0000000..e3daf85 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/eucjpprober.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/88/3f/09/769d084918e08e254dedfd1ef3119e409e46336a1e675740f276d2794c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/euckrfreq.py b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/euckrfreq.py new file mode 120000 index 0000000..fba4f9c --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/euckrfreq.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fb/b1/9d/9af8167b3e3e78ee12b97a5aeed0620e2e6f45743c5af74503355a49fa \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/euckrprober.py b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/euckrprober.py new file mode 120000 index 0000000..fa46072 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/euckrprober.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/32/a1/4c/4d05f15b81dbcc8a59f652831c1dc637c48fe328877a74e67fc83f3f16 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/euctwfreq.py b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/euctwfreq.py new file mode 120000 index 0000000..694cd3b --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/euctwfreq.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/36/8d/56/c9db853a00795484d403b3cbc82e6825137347231b07168a235975e8c0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/euctwprober.py b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/euctwprober.py new file mode 120000 index 0000000..13ecc0f --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/euctwprober.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d7/7a/7a/10fe3245ac6a9cfe221edc47389e91db3c47ab5fe6f214d18f3559f797 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/gb2312freq.py b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/gb2312freq.py new file mode 120000 index 0000000..91cbcfc --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/gb2312freq.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/25/7f/25/b3078a2e69c2c2693c507110b0b824affacffe411bbe2bc2e2a3ceae57 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/gb2312prober.py b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/gb2312prober.py new file mode 120000 index 0000000..058dc79 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/gb2312prober.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/80/6b/c8/5a2f568438c4fb14171ef348cab9cbbc46cc01883251267ae4751fca5c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/hebrewprober.py b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/hebrewprober.py new file mode 120000 index 0000000..2fa7a79 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/hebrewprober.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/73/74/99/f8aee1bf2cc663a251019c4983027fb144bd93459892f318d34601605a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/jisfreq.py b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/jisfreq.py new file mode 120000 index 0000000..a09826f --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/jisfreq.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/be/99/89/bf606ed09f209cc5513c730579f4d1be8fe16b59abc8b8a0f0207080e8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/jpcntx.py b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/jpcntx.py new file mode 120000 index 0000000..95dd997 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/jpcntx.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3d/89/4d/a915104fc2ccddc4f91661c63f48a2b1c1654d6103f763002ef06e9e0a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/langbulgarianmodel.py b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/langbulgarianmodel.py new file mode 120000 index 0000000..4a9c1a1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/langbulgarianmodel.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ae/4f/42/269bb13b46ce6dba0972fea03605aea2c61999df2a10476ce72ec34bf6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/langgreekmodel.py b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/langgreekmodel.py new file mode 120000 index 0000000..f6bb803 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/langgreekmodel.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4b/eb/8d/4358a10bbe72841bd2bb1db880b159bf743272d3300ba3b12c9757f9bc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/langhebrewmodel.py b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/langhebrewmodel.py new file mode 120000 index 0000000..15fc142 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/langhebrewmodel.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0f/33/cf/e933c61bff8f57bb6ab29bbf77c76eb9eaa6eee37ee5e434687530d468 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/langhungarianmodel.py b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/langhungarianmodel.py new file mode 120000 index 0000000..d6488d6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/langhungarianmodel.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/46/d2/47/ec365db26687ab22b8e8a9269e4e70407889c093cf252aaa225a5e6517 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/langrussianmodel.py b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/langrussianmodel.py new file mode 120000 index 0000000..ff729da --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/langrussianmodel.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4c/7a/89/3a14b189341c1dba03352739ca87dcda4a175d01471728edcae9ed51f3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/langthaimodel.py b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/langthaimodel.py new file mode 120000 index 0000000..a7c9395 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/langthaimodel.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/47/5c/17/1e750cb5e8e9c342671ff24ef177586ac304eb08d5aa9d733fb4ca2e08 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/langturkishmodel.py b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/langturkishmodel.py new file mode 120000 index 0000000..dea1e9b --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/langturkishmodel.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ad/fc/1a/9d3a6d4f04b2704e3e3fe41ab0f9b377e5d56207afcadce3944cc106ef \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/latin1prober.py b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/latin1prober.py new file mode 120000 index 0000000..8a34807 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/latin1prober.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4b/62/28/391845937f451053a54855ad815c9b4623fa87b0652e574755c94d914f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/mbcharsetprober.py b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/mbcharsetprober.py new file mode 120000 index 0000000..d2a8dd5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/mbcharsetprober.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/01/1f/79/7851fdbeea927ef2d064df8be628de6b6e4d3810a85eac3cb393bdc4b4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/mbcsgroupprober.py b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/mbcsgroupprober.py new file mode 120000 index 0000000..91e901a --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/mbcsgroupprober.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/87/a4/d1/9e762ad8ec46d56743e493b2c5c755a67edd1b4abebc1f275abe666e1e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/mbcssm.py b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/mbcssm.py new file mode 120000 index 0000000..5ad5345 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/mbcssm.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/49/8d/f6/c15205dc7cdc8d8dc1684b29cbd99eb5b3522b120807444a3e7eed8e92 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/metadata/__init__.py b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/metadata/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/metadata/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/metadata/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/metadata/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..3e7a35c Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/metadata/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/metadata/__pycache__/languages.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/metadata/__pycache__/languages.cpython-38.pyc new file mode 100644 index 0000000..3cd5ff7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/metadata/__pycache__/languages.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/metadata/languages.py b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/metadata/languages.py new file mode 120000 index 0000000..bedf126 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/metadata/languages.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/5b/4b/ab778b4ab0446c455542954616af4aee8d659fd6f51e9635974842510a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/sbcharsetprober.py b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/sbcharsetprober.py new file mode 120000 index 0000000..30bd0f0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/sbcharsetprober.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9e/6c/8c/caec731bcec337a2b7464d8c53324b30b47af4cad6a5d9c7ccec155304 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/sbcsgroupprober.py b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/sbcsgroupprober.py new file mode 120000 index 0000000..2de0329 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/sbcsgroupprober.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/86/a7/9f/42e5e6885c83040ace8ee8c7ea177a5855e5383d64582b310e18f1e557 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/sjisprober.py b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/sjisprober.py new file mode 120000 index 0000000..068d8bb --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/sjisprober.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/20/8b/7e/9598f4589a8ae2b9946732993f8189944f0a504b45615b98f7a7a4e4c4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/universaldetector.py b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/universaldetector.py new file mode 120000 index 0000000..8639e34 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/universaldetector.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0e/96/53/5c25f49d41d7c6443db2be06671181fe1bde67a856b77b8cf7872058ab \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/utf8prober.py b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/utf8prober.py new file mode 120000 index 0000000..948f250 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/utf8prober.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/21/d0/fc/bf7cd63ac07c38b8b23e2fb2fdfab08a9445c55f4d73578a04b4ae204c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/chardet/version.py b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/version.py new file mode 120000 index 0000000..6dc7f77 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/chardet/version.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/03/80/88/2c501df0c4551b51e85cfa78e622bd44b956c95ef76b512dc04f13be7f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/colorama.pyi b/venv/lib/python3.8/site-packages/pip/_vendor/colorama.pyi new file mode 100644 index 0000000..60a6c25 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/colorama.pyi @@ -0,0 +1 @@ +from colorama import * \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/colorama/LICENSE.txt b/venv/lib/python3.8/site-packages/pip/_vendor/colorama/LICENSE.txt new file mode 120000 index 0000000..4961d06 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/colorama/LICENSE.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ca/c3/5c/02686e5d04a5a7140bfb3b36e73aed496656e891102e428886d7930318 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/colorama/__init__.py b/venv/lib/python3.8/site-packages/pip/_vendor/colorama/__init__.py new file mode 120000 index 0000000..cfcef1f --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/colorama/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a4/27/44/aebcb32d2cc35b93fead13c194f2ea6c1b4844d241e9c320a1e267b399 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/colorama/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/colorama/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..e7fb8d5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/colorama/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/colorama/__pycache__/ansi.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/colorama/__pycache__/ansi.cpython-38.pyc new file mode 100644 index 0000000..a6f010e Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/colorama/__pycache__/ansi.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/colorama/__pycache__/ansitowin32.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/colorama/__pycache__/ansitowin32.cpython-38.pyc new file mode 100644 index 0000000..659ca59 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/colorama/__pycache__/ansitowin32.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/colorama/__pycache__/initialise.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/colorama/__pycache__/initialise.cpython-38.pyc new file mode 100644 index 0000000..2c912d3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/colorama/__pycache__/initialise.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/colorama/__pycache__/win32.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/colorama/__pycache__/win32.cpython-38.pyc new file mode 100644 index 0000000..d2daaba Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/colorama/__pycache__/win32.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/colorama/__pycache__/winterm.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/colorama/__pycache__/winterm.cpython-38.pyc new file mode 100644 index 0000000..72c9a27 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/colorama/__pycache__/winterm.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/colorama/ansi.py b/venv/lib/python3.8/site-packages/pip/_vendor/colorama/ansi.py new file mode 120000 index 0000000..21c9dcf --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/colorama/ansi.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4e/8a/78/11e12e69074159db5e28c11c18e4de29e175f50f96a3febf0a3e643b34 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/colorama/ansitowin32.py b/venv/lib/python3.8/site-packages/pip/_vendor/colorama/ansitowin32.py new file mode 120000 index 0000000..508e2db --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/colorama/ansitowin32.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c9/5e/c2/12609bd7d3239c928e0d9104bcc1ff7e76c98709e9ce8e2cc59b865e60 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/colorama/initialise.py b/venv/lib/python3.8/site-packages/pip/_vendor/colorama/initialise.py new file mode 120000 index 0000000..9fed1a6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/colorama/initialise.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3e/9a/e8/bc3371313aefa0d1c570bd8d663a47d97cc373c04bc4bc6212b7d49789 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/colorama/win32.py b/venv/lib/python3.8/site-packages/pip/_vendor/colorama/win32.py new file mode 120000 index 0000000..00d5948 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/colorama/win32.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6c/9f/08/97d8f0681379049f1b98de85a18675418b8c2afda3f1f1ab5e1ed3263c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/colorama/winterm.py b/venv/lib/python3.8/site-packages/pip/_vendor/colorama/winterm.py new file mode 120000 index 0000000..abc6b96 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/colorama/winterm.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/db/2f/f6/6fb66cbf7e1f780b0febb98b39573e060ab9d667581a8e7bd55a6b96b3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/distlib.pyi b/venv/lib/python3.8/site-packages/pip/_vendor/distlib.pyi new file mode 100644 index 0000000..ea94b15 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/distlib.pyi @@ -0,0 +1 @@ +from distlib import * \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/distlib/LICENSE.txt b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/LICENSE.txt new file mode 120000 index 0000000..21f668d --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/LICENSE.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/80/8e/10/c8a6ab8deb149ff9b3fb19f447a808094606d712a9ca57fead3552599d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/distlib/__init__.py b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/__init__.py new file mode 120000 index 0000000..00a8c54 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/de/f7/80/936acfce7381da0b0aead8db6e1d1340c9861393fcd9e13dc17aba3489 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/distlib/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..70fdb2c Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/distlib/__pycache__/compat.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/__pycache__/compat.cpython-38.pyc new file mode 100644 index 0000000..3e4282e Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/__pycache__/compat.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/distlib/__pycache__/database.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/__pycache__/database.cpython-38.pyc new file mode 100644 index 0000000..7c2b287 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/__pycache__/database.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/distlib/__pycache__/index.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/__pycache__/index.cpython-38.pyc new file mode 100644 index 0000000..0304d64 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/__pycache__/index.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/distlib/__pycache__/locators.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/__pycache__/locators.cpython-38.pyc new file mode 100644 index 0000000..de12c7b Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/__pycache__/locators.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/distlib/__pycache__/manifest.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/__pycache__/manifest.cpython-38.pyc new file mode 100644 index 0000000..0604c1a Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/__pycache__/manifest.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/distlib/__pycache__/markers.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/__pycache__/markers.cpython-38.pyc new file mode 100644 index 0000000..e71b272 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/__pycache__/markers.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/distlib/__pycache__/metadata.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/__pycache__/metadata.cpython-38.pyc new file mode 100644 index 0000000..1f0d905 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/__pycache__/metadata.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/distlib/__pycache__/resources.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/__pycache__/resources.cpython-38.pyc new file mode 100644 index 0000000..8730775 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/__pycache__/resources.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/distlib/__pycache__/scripts.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/__pycache__/scripts.cpython-38.pyc new file mode 100644 index 0000000..2e8c1d3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/__pycache__/scripts.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/distlib/__pycache__/util.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/__pycache__/util.cpython-38.pyc new file mode 100644 index 0000000..5978d9c Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/__pycache__/util.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/distlib/__pycache__/version.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/__pycache__/version.cpython-38.pyc new file mode 100644 index 0000000..a5cbedb Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/__pycache__/version.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/distlib/__pycache__/wheel.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/__pycache__/wheel.cpython-38.pyc new file mode 100644 index 0000000..cbb675e Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/__pycache__/wheel.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/distlib/_backport/__init__.py b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/_backport/__init__.py new file mode 120000 index 0000000..a076de5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/_backport/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6e/a4/bf/753387eae5bd88681dd2ecdfa4f8e8eaf678c693d9ee4c9f649daf35ac \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/distlib/_backport/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/_backport/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..bad1c78 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/_backport/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/distlib/_backport/__pycache__/misc.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/_backport/__pycache__/misc.cpython-38.pyc new file mode 100644 index 0000000..8d5f8f3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/_backport/__pycache__/misc.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/distlib/_backport/__pycache__/shutil.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/_backport/__pycache__/shutil.cpython-38.pyc new file mode 100644 index 0000000..7d26e95 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/_backport/__pycache__/shutil.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/distlib/_backport/__pycache__/sysconfig.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/_backport/__pycache__/sysconfig.cpython-38.pyc new file mode 100644 index 0000000..c92849c Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/_backport/__pycache__/sysconfig.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/distlib/_backport/__pycache__/tarfile.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/_backport/__pycache__/tarfile.cpython-38.pyc new file mode 100644 index 0000000..ab9cb9c Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/_backport/__pycache__/tarfile.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/distlib/_backport/misc.py b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/_backport/misc.py new file mode 120000 index 0000000..99f82fb --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/_backport/misc.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/29/67/9c/20d75b14d3b148e3f57c617af340899da0ba4b87c146012d6984f0d228 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/distlib/_backport/shutil.py b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/_backport/shutil.py new file mode 120000 index 0000000..4c8dd07 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/_backport/shutil.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/21/7f/c6/d8d3eac1e70989b9080e37b4e1baaed31a4791f490d8668674456a3396 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/distlib/_backport/sysconfig.cfg b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/_backport/sysconfig.cfg new file mode 120000 index 0000000..bfd5ad4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/_backport/sysconfig.cfg @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b3/06/4a/c6af516397bdaf73d70ab96f40f32cbce7625990531cb11ba92f0b24b5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/distlib/_backport/sysconfig.py b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/_backport/sysconfig.py new file mode 120000 index 0000000..d138563 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/_backport/sysconfig.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/05/01/c5/95bea9b9b0a5fddbd3d4d8edcc8b61ca5a1f8ca8aca31db7f6cb438345 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/distlib/_backport/tarfile.py b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/_backport/tarfile.py new file mode 120000 index 0000000..b3121e5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/_backport/tarfile.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/22/1a/7b/ad745c8db20ac3c08e9bdc1278f57d0111976d217d8065c0327d90f8a5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/distlib/compat.py b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/compat.py new file mode 120000 index 0000000..abf6f9d --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/compat.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/00/30/39/eb1880c5aaf7994eaa7a694184d6ecac53e8b174613b8e11cec6c93ea9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/distlib/database.py b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/database.py new file mode 120000 index 0000000..a6b299f --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/database.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2a/5d/18/bcf40a73839ca558bb939705ce2c9d335c4e2bc8aa7712c65e06d91d5e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/distlib/index.py b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/index.py new file mode 120000 index 0000000..d91e145 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/index.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/49/72/b3/a5008445cb71603329fce2de7b67f42747b5f5984674222832551f5103 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/distlib/locators.py b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/locators.py new file mode 120000 index 0000000..f7c1a64 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/locators.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/73/d1/38/70311a709fee29bb84e41a805687285a9eabb2e0464e488d0d0ab7cd5e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/distlib/manifest.py b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/manifest.py new file mode 120000 index 0000000..40c5a1c --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/manifest.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9d/01/21/626828ade681673c85cf062c5f124046eddfa38124ba7535eb7535ea21 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/distlib/markers.py b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/markers.py new file mode 120000 index 0000000..c507d4e --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/markers.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e8/07/37/7027c504445ec621125883979a0f9aa483fc9767ac69f3525f728ccbef \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/distlib/metadata.py b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/metadata.py new file mode 120000 index 0000000..046ba86 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/metadata.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cf/62/8f/cb7877b5c0e76fd5ecee702a4393b3d1baa358050598a59c14a468a1d8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/distlib/resources.py b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/resources.py new file mode 120000 index 0000000..310284b --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/resources.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d8/51/af/d191c5d782978cb2252f447df7597241019c7b0392e2627ee67f895677 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/distlib/scripts.py b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/scripts.py new file mode 100644 index 0000000..05180b9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/scripts.py @@ -0,0 +1,419 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2013-2015 Vinay Sajip. +# Licensed to the Python Software Foundation under a contributor agreement. +# See LICENSE.txt and CONTRIBUTORS.txt. +# +from io import BytesIO +import logging +import os +import re +import struct +import sys + +from .compat import sysconfig, detect_encoding, ZipFile +from .resources import finder +from .util import (FileOperator, get_export_entry, convert_path, + get_executable, in_venv) + +logger = logging.getLogger(__name__) + +_DEFAULT_MANIFEST = ''' + + + + + + + + + + + + +'''.strip() + +# check if Python is called on the first line with this expression +FIRST_LINE_RE = re.compile(b'^#!.*pythonw?[0-9.]*([ \t].*)?$') +SCRIPT_TEMPLATE = r'''# -*- coding: utf-8 -*- +import re +import sys +from %(module)s import %(import_name)s +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + sys.exit(%(func)s()) +''' + + +def enquote_executable(executable): + if ' ' in executable: + # make sure we quote only the executable in case of env + # for example /usr/bin/env "/dir with spaces/bin/jython" + # instead of "/usr/bin/env /dir with spaces/bin/jython" + # otherwise whole + if executable.startswith('/usr/bin/env '): + env, _executable = executable.split(' ', 1) + if ' ' in _executable and not _executable.startswith('"'): + executable = '%s "%s"' % (env, _executable) + else: + if not executable.startswith('"'): + executable = '"%s"' % executable + return executable + +# Keep the old name around (for now), as there is at least one project using it! +_enquote_executable = enquote_executable + +class ScriptMaker(object): + """ + A class to copy or create scripts from source scripts or callable + specifications. + """ + script_template = SCRIPT_TEMPLATE + + executable = None # for shebangs + + def __init__(self, source_dir, target_dir, add_launchers=True, + dry_run=False, fileop=None): + self.source_dir = source_dir + self.target_dir = target_dir + self.add_launchers = add_launchers + self.force = False + self.clobber = False + # It only makes sense to set mode bits on POSIX. + self.set_mode = (os.name == 'posix') or (os.name == 'java' and + os._name == 'posix') + self.variants = set(('', 'X.Y')) + self._fileop = fileop or FileOperator(dry_run) + + self._is_nt = os.name == 'nt' or ( + os.name == 'java' and os._name == 'nt') + self.version_info = sys.version_info + + def _get_alternate_executable(self, executable, options): + if options.get('gui', False) and self._is_nt: # pragma: no cover + dn, fn = os.path.split(executable) + fn = fn.replace('python', 'pythonw') + executable = os.path.join(dn, fn) + return executable + + if sys.platform.startswith('java'): # pragma: no cover + def _is_shell(self, executable): + """ + Determine if the specified executable is a script + (contains a #! line) + """ + try: + with open(executable) as fp: + return fp.read(2) == '#!' + except (OSError, IOError): + logger.warning('Failed to open %s', executable) + return False + + def _fix_jython_executable(self, executable): + if self._is_shell(executable): + # Workaround for Jython is not needed on Linux systems. + import java + + if java.lang.System.getProperty('os.name') == 'Linux': + return executable + elif executable.lower().endswith('jython.exe'): + # Use wrapper exe for Jython on Windows + return executable + return '/usr/bin/env %s' % executable + + def _build_shebang(self, executable, post_interp): + """ + Build a shebang line. In the simple case (on Windows, or a shebang line + which is not too long or contains spaces) use a simple formulation for + the shebang. Otherwise, use /bin/sh as the executable, with a contrived + shebang which allows the script to run either under Python or sh, using + suitable quoting. Thanks to Harald Nordgren for his input. + + See also: http://www.in-ulm.de/~mascheck/various/shebang/#length + https://hg.mozilla.org/mozilla-central/file/tip/mach + """ + if os.name != 'posix': + simple_shebang = True + else: + # Add 3 for '#!' prefix and newline suffix. + shebang_length = len(executable) + len(post_interp) + 3 + if sys.platform == 'darwin': + max_shebang_length = 512 + else: + max_shebang_length = 127 + simple_shebang = ((b' ' not in executable) and + (shebang_length <= max_shebang_length)) + + if simple_shebang: + result = b'#!/usr/bin/env python3' + post_interp + b'\n' + else: + result = b'#!/bin/sh\n' + result += b"'''exec' python3" + post_interp + b' "$0" "$@"\n' + result += b"' '''" + return result + + def _get_shebang(self, encoding, post_interp=b'', options=None): + enquote = True + if self.executable: + executable = self.executable + enquote = False # assume this will be taken care of + elif not sysconfig.is_python_build(): + executable = get_executable() + elif in_venv(): # pragma: no cover + executable = os.path.join(sysconfig.get_path('scripts'), + 'python%s' % sysconfig.get_config_var('EXE')) + else: # pragma: no cover + executable = os.path.join( + sysconfig.get_config_var('BINDIR'), + 'python%s%s' % (sysconfig.get_config_var('VERSION'), + sysconfig.get_config_var('EXE'))) + if options: + executable = self._get_alternate_executable(executable, options) + + if sys.platform.startswith('java'): # pragma: no cover + executable = self._fix_jython_executable(executable) + + # Normalise case for Windows - COMMENTED OUT + # executable = os.path.normcase(executable) + # N.B. The normalising operation above has been commented out: See + # issue #124. Although paths in Windows are generally case-insensitive, + # they aren't always. For example, a path containing a ẞ (which is a + # LATIN CAPITAL LETTER SHARP S - U+1E9E) is normcased to ß (which is a + # LATIN SMALL LETTER SHARP S' - U+00DF). The two are not considered by + # Windows as equivalent in path names. + + # If the user didn't specify an executable, it may be necessary to + # cater for executable paths with spaces (not uncommon on Windows) + if enquote: + executable = enquote_executable(executable) + # Issue #51: don't use fsencode, since we later try to + # check that the shebang is decodable using utf-8. + executable = executable.encode('utf-8') + # in case of IronPython, play safe and enable frames support + if (sys.platform == 'cli' and '-X:Frames' not in post_interp + and '-X:FullFrames' not in post_interp): # pragma: no cover + post_interp += b' -X:Frames' + shebang = self._build_shebang(executable, post_interp) + # Python parser starts to read a script using UTF-8 until + # it gets a #coding:xxx cookie. The shebang has to be the + # first line of a file, the #coding:xxx cookie cannot be + # written before. So the shebang has to be decodable from + # UTF-8. + try: + shebang.decode('utf-8') + except UnicodeDecodeError: # pragma: no cover + raise ValueError( + 'The shebang (%r) is not decodable from utf-8' % shebang) + # If the script is encoded to a custom encoding (use a + # #coding:xxx cookie), the shebang has to be decodable from + # the script encoding too. + if encoding != 'utf-8': + try: + shebang.decode(encoding) + except UnicodeDecodeError: # pragma: no cover + raise ValueError( + 'The shebang (%r) is not decodable ' + 'from the script encoding (%r)' % (shebang, encoding)) + return shebang + + def _get_script_text(self, entry): + return self.script_template % dict(module=entry.prefix, + import_name=entry.suffix.split('.')[0], + func=entry.suffix) + + manifest = _DEFAULT_MANIFEST + + def get_manifest(self, exename): + base = os.path.basename(exename) + return self.manifest % base + + def _write_script(self, names, shebang, script_bytes, filenames, ext): + use_launcher = self.add_launchers and self._is_nt + linesep = os.linesep.encode('utf-8') + if not shebang.endswith(linesep): + shebang += linesep + if not use_launcher: + script_bytes = shebang + script_bytes + else: # pragma: no cover + if ext == 'py': + launcher = self._get_launcher('t') + else: + launcher = self._get_launcher('w') + stream = BytesIO() + with ZipFile(stream, 'w') as zf: + zf.writestr('__main__.py', script_bytes) + zip_data = stream.getvalue() + script_bytes = launcher + shebang + zip_data + for name in names: + outname = os.path.join(self.target_dir, name) + if use_launcher: # pragma: no cover + n, e = os.path.splitext(outname) + if e.startswith('.py'): + outname = n + outname = '%s.exe' % outname + try: + self._fileop.write_binary_file(outname, script_bytes) + except Exception: + # Failed writing an executable - it might be in use. + logger.warning('Failed to write executable - trying to ' + 'use .deleteme logic') + dfname = '%s.deleteme' % outname + if os.path.exists(dfname): + os.remove(dfname) # Not allowed to fail here + os.rename(outname, dfname) # nor here + self._fileop.write_binary_file(outname, script_bytes) + logger.debug('Able to replace executable using ' + '.deleteme logic') + try: + os.remove(dfname) + except Exception: + pass # still in use - ignore error + else: + if self._is_nt and not outname.endswith('.' + ext): # pragma: no cover + outname = '%s.%s' % (outname, ext) + if os.path.exists(outname) and not self.clobber: + logger.warning('Skipping existing file %s', outname) + continue + self._fileop.write_binary_file(outname, script_bytes) + if self.set_mode: + self._fileop.set_executable_mode([outname]) + filenames.append(outname) + + def _make_script(self, entry, filenames, options=None): + post_interp = b'' + if options: + args = options.get('interpreter_args', []) + if args: + args = ' %s' % ' '.join(args) + post_interp = args.encode('utf-8') + shebang = self._get_shebang('utf-8', post_interp, options=options) + script = self._get_script_text(entry).encode('utf-8') + name = entry.name + scriptnames = set() + if '' in self.variants: + scriptnames.add(name) + if 'X' in self.variants: + scriptnames.add('%s%s' % (name, self.version_info[0])) + if 'X.Y' in self.variants: + scriptnames.add('%s-%s.%s' % (name, self.version_info[0], + self.version_info[1])) + if options and options.get('gui', False): + ext = 'pyw' + else: + ext = 'py' + self._write_script(scriptnames, shebang, script, filenames, ext) + + def _copy_script(self, script, filenames): + adjust = False + script = os.path.join(self.source_dir, convert_path(script)) + outname = os.path.join(self.target_dir, os.path.basename(script)) + if not self.force and not self._fileop.newer(script, outname): + logger.debug('not copying %s (up-to-date)', script) + return + + # Always open the file, but ignore failures in dry-run mode -- + # that way, we'll get accurate feedback if we can read the + # script. + try: + f = open(script, 'rb') + except IOError: # pragma: no cover + if not self.dry_run: + raise + f = None + else: + first_line = f.readline() + if not first_line: # pragma: no cover + logger.warning('%s: %s is an empty file (skipping)', + self.get_command_name(), script) + return + + match = FIRST_LINE_RE.match(first_line.replace(b'\r\n', b'\n')) + if match: + adjust = True + post_interp = match.group(1) or b'' + + if not adjust: + if f: + f.close() + self._fileop.copy_file(script, outname) + if self.set_mode: + self._fileop.set_executable_mode([outname]) + filenames.append(outname) + else: + logger.info('copying and adjusting %s -> %s', script, + self.target_dir) + if not self._fileop.dry_run: + encoding, lines = detect_encoding(f.readline) + f.seek(0) + shebang = self._get_shebang(encoding, post_interp) + if b'pythonw' in first_line: # pragma: no cover + ext = 'pyw' + else: + ext = 'py' + n = os.path.basename(outname) + self._write_script([n], shebang, f.read(), filenames, ext) + if f: + f.close() + + @property + def dry_run(self): + return self._fileop.dry_run + + @dry_run.setter + def dry_run(self, value): + self._fileop.dry_run = value + + if os.name == 'nt' or (os.name == 'java' and os._name == 'nt'): # pragma: no cover + # Executable launcher support. + # Launchers are from https://bitbucket.org/vinay.sajip/simple_launcher/ + + def _get_launcher(self, kind): + if struct.calcsize('P') == 8: # 64-bit + bits = '64' + else: + bits = '32' + name = '%s%s.exe' % (kind, bits) + # Issue 31: don't hardcode an absolute package name, but + # determine it relative to the current package + distlib_package = __name__.rsplit('.', 1)[0] + resource = finder(distlib_package).find(name) + if not resource: + msg = ('Unable to find resource %s in package %s' % (name, + distlib_package)) + raise ValueError(msg) + return resource.bytes + + # Public API follows + + def make(self, specification, options=None): + """ + Make a script. + + :param specification: The specification, which is either a valid export + entry specification (to make a script from a + callable) or a filename (to make a script by + copying from a source location). + :param options: A dictionary of options controlling script generation. + :return: A list of all absolute pathnames written to. + """ + filenames = [] + entry = get_export_entry(specification) + if entry is None: + self._copy_script(specification, filenames) + else: + self._make_script(entry, filenames, options=options) + return filenames + + def make_multiple(self, specifications, options=None): + """ + Take a list of specifications and make scripts from them, + :param specifications: A list of specifications. + :return: A list of all absolute pathnames written to, + """ + filenames = [] + for specification in specifications: + filenames.extend(self.make(specification, options)) + return filenames diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/distlib/t32.exe b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/t32.exe new file mode 120000 index 0000000..941fdce --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/t32.exe @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/35/2d/f1/04254095ddf925514d99bfb5411c95b5386e90caf06557979f82e16844 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/distlib/t64.exe b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/t64.exe new file mode 120000 index 0000000..e325924 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/t64.exe @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a0/0a/87/7acefcad45953343ad56a22152f7aaba5fcf2a10215d84169d47fbcd1d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/distlib/util.py b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/util.py new file mode 120000 index 0000000..85a5e16 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/util.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7f/68/d9/08fadc2c2b7a2dc9c2d20532f85babeb4b570fcade03b938ac3a47303c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/distlib/version.py b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/version.py new file mode 120000 index 0000000..0a94fe6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/version.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fe/7e/c5/ea3baf40601c9fbebd13f4876bb7ce71fe44465115ca627f1233d1c06c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/distlib/w32.exe b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/w32.exe new file mode 120000 index 0000000..d0bcb01 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/w32.exe @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/94/9b/67/65d794c53656c9afc45b90d9a2cfcae6bb30444086b29225f19242217b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/distlib/w64.exe b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/w64.exe new file mode 120000 index 0000000..b0c62af --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/w64.exe @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d1/a4/73/a0dd813bd3565b810dcb8ff8bc7907478a994c564d55200925894e0d32 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/distlib/wheel.py b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/wheel.py new file mode 120000 index 0000000..613ec28 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/distlib/wheel.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bf/a0/e7/c13aa1347c2b11516bf3f61e8935ba1b87ed3ff7afb32c0d82b99d6f6a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/distro.LICENSE b/venv/lib/python3.8/site-packages/pip/_vendor/distro.LICENSE new file mode 120000 index 0000000..5b2c87d --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/distro.LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cb/5e/8e/7e5f4a3988e1063c142c60dc2df75605f4c46515e776e3aca6df976e14 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/distro.py b/venv/lib/python3.8/site-packages/pip/_vendor/distro.py new file mode 120000 index 0000000..df5422a --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/distro.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c7/13/08/8766b72a68a9a5e5841f3ca74dd1d3dff8d9334a3ea68b3474058944e3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/distro.pyi b/venv/lib/python3.8/site-packages/pip/_vendor/distro.pyi new file mode 100644 index 0000000..c7ea94b --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/distro.pyi @@ -0,0 +1 @@ +from distro import * \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib.pyi b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib.pyi new file mode 100644 index 0000000..9bc9af9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib.pyi @@ -0,0 +1 @@ +from html5lib import * \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/LICENSE b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/LICENSE new file mode 120000 index 0000000..d684e14 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/16/a3/99/91619e92f18680932da2a9199fdf7d95df3ecaedc52ea06218aabafd6f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/__init__.py b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/__init__.py new file mode 120000 index 0000000..5c02de7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/05/8c/dc/282a9e1228b9db10eba8116bba19e6b66922b875c5c8587e720950f269 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..87f8536 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/__pycache__/_ihatexml.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/__pycache__/_ihatexml.cpython-38.pyc new file mode 100644 index 0000000..0e223f2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/__pycache__/_ihatexml.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/__pycache__/_inputstream.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/__pycache__/_inputstream.cpython-38.pyc new file mode 100644 index 0000000..db16ec2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/__pycache__/_inputstream.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/__pycache__/_tokenizer.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/__pycache__/_tokenizer.cpython-38.pyc new file mode 100644 index 0000000..d3095ad Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/__pycache__/_tokenizer.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/__pycache__/_utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/__pycache__/_utils.cpython-38.pyc new file mode 100644 index 0000000..3025470 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/__pycache__/_utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/__pycache__/constants.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/__pycache__/constants.cpython-38.pyc new file mode 100644 index 0000000..e4e7b11 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/__pycache__/constants.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/__pycache__/html5parser.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/__pycache__/html5parser.cpython-38.pyc new file mode 100644 index 0000000..bdc6b73 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/__pycache__/html5parser.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/__pycache__/serializer.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/__pycache__/serializer.cpython-38.pyc new file mode 100644 index 0000000..f875fc4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/__pycache__/serializer.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/_ihatexml.py b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/_ihatexml.py new file mode 120000 index 0000000..6947873 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/_ihatexml.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/89/f3/b0/17ba57aa6c938485dcddba1673deace0c0decea46b455a7b1700d8505b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/_inputstream.py b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/_inputstream.py new file mode 120000 index 0000000..a8bad60 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/_inputstream.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8c/4a/cd/012325920b3b32938cf557bf55d2c3272145c1e0232ee855bad673df75 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/_tokenizer.py b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/_tokenizer.py new file mode 120000 index 0000000..2eede0f --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/_tokenizer.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d3/89/a0/036b0d4e78aeb65d9fc45bfe7a2e5b9ece2245a3f15575c787f1eb57fe \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/_trie/__init__.py b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/_trie/__init__.py new file mode 120000 index 0000000..2480dbb --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/_trie/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9e/a7/e0/3bdd74df6f411152794f8a6c57042d8ddda2272117436f97f1cd58c705 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/_trie/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/_trie/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..3d2a2c6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/_trie/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/_trie/__pycache__/_base.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/_trie/__pycache__/_base.cpython-38.pyc new file mode 100644 index 0000000..b5795de Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/_trie/__pycache__/_base.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/_trie/__pycache__/py.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/_trie/__pycache__/py.cpython-38.pyc new file mode 100644 index 0000000..600ad11 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/_trie/__pycache__/py.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/_trie/_base.py b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/_trie/_base.py new file mode 120000 index 0000000..c1b31dc --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/_trie/_base.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/09/ac/9b/63232ba3cb844506236f2dad4de4946ad9d60df5aba1437d37b7adcb9c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/_trie/py.py b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/_trie/py.py new file mode 120000 index 0000000..578384d --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/_trie/py.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c1/79/90/2eb6517f833258dca0d26de1f359bd22784b47b189d34da6208661fbca \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/_utils.py b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/_utils.py new file mode 120000 index 0000000..27c6d9f --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/_utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0f/1f/40/2a7b64b118c54f5bde063ec8dfada97f93a021a4f4ce0970ab8dd19df5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/constants.py b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/constants.py new file mode 120000 index 0000000..d6826d2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/constants.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2e/5f/b2/ccb53f8dc8f2008fe1e7bce4a99eda416139b79c40e32fe3420a14521c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/__init__.py b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..9f46d7e Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/__pycache__/alphabeticalattributes.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/__pycache__/alphabeticalattributes.cpython-38.pyc new file mode 100644 index 0000000..c780364 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/__pycache__/alphabeticalattributes.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/__pycache__/base.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/__pycache__/base.cpython-38.pyc new file mode 100644 index 0000000..d3f2ad4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/__pycache__/base.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/__pycache__/inject_meta_charset.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/__pycache__/inject_meta_charset.cpython-38.pyc new file mode 100644 index 0000000..7646d48 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/__pycache__/inject_meta_charset.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/__pycache__/lint.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/__pycache__/lint.cpython-38.pyc new file mode 100644 index 0000000..91f8398 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/__pycache__/lint.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/__pycache__/optionaltags.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/__pycache__/optionaltags.cpython-38.pyc new file mode 100644 index 0000000..77eaa0d Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/__pycache__/optionaltags.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/__pycache__/sanitizer.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/__pycache__/sanitizer.cpython-38.pyc new file mode 100644 index 0000000..7d28775 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/__pycache__/sanitizer.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/__pycache__/whitespace.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/__pycache__/whitespace.cpython-38.pyc new file mode 100644 index 0000000..ae7a72c Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/__pycache__/whitespace.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/alphabeticalattributes.py b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/alphabeticalattributes.py new file mode 120000 index 0000000..6b2a34c --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/alphabeticalattributes.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/95/58/99/73624c09c9578bfe6076ebe6773ad1c6d3b95e8f4e3676c70550acca45 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/base.py b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/base.py new file mode 120000 index 0000000..33dad03 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/base.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cf/e2/14/f590188e9b15b2a995b7b92e582eb78d1d7584332be8256bbee6a8f16d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/inject_meta_charset.py b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/inject_meta_charset.py new file mode 120000 index 0000000..cc37aa0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/inject_meta_charset.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7a/00/d7/5041d79801bde74e31cf42ba00b0e0624bd4ac2daad7961455e3655508 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/lint.py b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/lint.py new file mode 120000 index 0000000..22cf986 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/lint.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8e/4e/aa/e7ac58d288e261fbe974ff8e6529bd793a9c01d46a842a0f22d7a63d80 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/optionaltags.py b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/optionaltags.py new file mode 120000 index 0000000..530f236 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/optionaltags.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f2/55/93/ef927468138798f81f9aa4c749f3e93cca74d53f3834abb409179dc5c1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/sanitizer.py b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/sanitizer.py new file mode 120000 index 0000000..8924a0e --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/sanitizer.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9b/aa/06/9a40619060279f69d5e83e2113bf12099e961272bdaca759077b970487 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/whitespace.py b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/whitespace.py new file mode 120000 index 0000000..d23b215 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/filters/whitespace.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f1/e5/aa/671778502e33945196ea2c98e9ffb6bae4fca4e09200b737219b7bfede \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/html5parser.py b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/html5parser.py new file mode 120000 index 0000000..bdd66c0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/html5parser.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6a/7a/fe/697adefc899fae4437e5cfeb7ed297c42f34bc909110a7b4e93ab5e470 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/serializer.py b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/serializer.py new file mode 120000 index 0000000..db5b2cc --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/serializer.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fc/fa/6f/719174edcc04ef1afdb8a919aa1e5fe1411a23c96d094db13c9cda4e99 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treeadapters/__init__.py b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treeadapters/__init__.py new file mode 120000 index 0000000..76e135a --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treeadapters/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/03/4a/d8/e605c87b86c93a248644efe3fed1619e04413bc4193f33ed3f0e5d173a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treeadapters/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treeadapters/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..7405506 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treeadapters/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treeadapters/__pycache__/genshi.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treeadapters/__pycache__/genshi.cpython-38.pyc new file mode 100644 index 0000000..5656c41 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treeadapters/__pycache__/genshi.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treeadapters/__pycache__/sax.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treeadapters/__pycache__/sax.cpython-38.pyc new file mode 100644 index 0000000..fcf9d44 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treeadapters/__pycache__/sax.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treeadapters/genshi.py b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treeadapters/genshi.py new file mode 120000 index 0000000..808957b --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treeadapters/genshi.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/08/7d/bb/a40b032a6bb864690052bc2dcbbbb429ab862c26512cf33368edcce6fa \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treeadapters/sax.py b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treeadapters/sax.py new file mode 120000 index 0000000..e1d5b8c --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treeadapters/sax.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/04/a4/bc/c284139ca8aa79f7c7b310a152a2f8ab6651ff06f97dcf4c277cd00bcb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/__init__.py b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/__init__.py new file mode 120000 index 0000000..e26cacb --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/03/2b/12/272bcf7e290230cb1356f6b1c2480389e10b0f975f47c149200baaee16 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..d4c33b8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/base.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/base.cpython-38.pyc new file mode 100644 index 0000000..dc0c7ab Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/base.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/dom.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/dom.cpython-38.pyc new file mode 100644 index 0000000..9669e88 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/dom.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/etree.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/etree.cpython-38.pyc new file mode 100644 index 0000000..00b106e Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/etree.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/etree_lxml.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/etree_lxml.cpython-38.pyc new file mode 100644 index 0000000..c92dc1c Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/etree_lxml.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/base.py b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/base.py new file mode 120000 index 0000000..c87b3de --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/base.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cf/ea/39/d6fb7daff9762031b9222a1338a1b36677b8172dff15cfbbcedace8782 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/dom.py b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/dom.py new file mode 120000 index 0000000..fbd0add --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/dom.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/db/6c/21/6f40bbd735c8b1a8b999a9a0eaacc11228a070122f683cb802cc376add \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/etree.py b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/etree.py new file mode 120000 index 0000000..76a7d6e --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/etree.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c3/96/45/a4a93a6c0c67af00f6fc1ac5e44542eefcf3d0bdcb322f52c6b6dcffcc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/etree_lxml.py b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/etree_lxml.py new file mode 120000 index 0000000..46d2b17 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/etree_lxml.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f6/0a/83/8ecf88c6c3e10586b9729befd85675299946f371a2baccb69459af2241 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treewalkers/__init__.py b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treewalkers/__init__.py new file mode 120000 index 0000000..08ce8c3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treewalkers/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/38/13/ed/7354d4e661b2cb5f100ccc4a132604cf4c3115450d8f9bf4f978266216 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..728f0fc Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/base.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/base.cpython-38.pyc new file mode 100644 index 0000000..018067c Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/base.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/dom.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/dom.cpython-38.pyc new file mode 100644 index 0000000..c44b5fb Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/dom.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/etree.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/etree.cpython-38.pyc new file mode 100644 index 0000000..b5f642a Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/etree.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/etree_lxml.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/etree_lxml.cpython-38.pyc new file mode 100644 index 0000000..785f848 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/etree_lxml.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/genshi.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/genshi.cpython-38.pyc new file mode 100644 index 0000000..f76608a Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/genshi.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treewalkers/base.py b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treewalkers/base.py new file mode 120000 index 0000000..8e9971f --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treewalkers/base.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a2/e8/8e/b2e4b3bc8d0a8337563fc3e5c4869236cf5f6a585b8a29c011cfd42096 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treewalkers/dom.py b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treewalkers/dom.py new file mode 120000 index 0000000..ed7d180 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treewalkers/dom.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/10/7c/85/47c0fc958367c8353d971fc82a2815251c9e7141ae6b498e8bb1c1ba47 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treewalkers/etree.py b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treewalkers/etree.py new file mode 120000 index 0000000..12b7d08 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treewalkers/etree.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c6/8d/4b/e66f55b647e91492b4a459a42d56a386a618562b15667de4f646293e42 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treewalkers/etree_lxml.py b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treewalkers/etree_lxml.py new file mode 120000 index 0000000..6d63a3a --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treewalkers/etree_lxml.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fd/bd/0b/01558b715bbd59a53ffb0dc3f1fd08452a426e37faebb57edcd45d853c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treewalkers/genshi.py b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treewalkers/genshi.py new file mode 120000 index 0000000..3ca1fb6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/html5lib/treewalkers/genshi.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e0/3d/8f/1026799f764ddeabb78cc97dc98ec1f358e7400a414125657da22e61b0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/idna.pyi b/venv/lib/python3.8/site-packages/pip/_vendor/idna.pyi new file mode 100644 index 0000000..7410d72 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/idna.pyi @@ -0,0 +1 @@ +from idna import * \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/idna/LICENSE.md b/venv/lib/python3.8/site-packages/pip/_vendor/idna/LICENSE.md new file mode 120000 index 0000000..2e82bc9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/idna/LICENSE.md @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a2/d6/e4/d940bd24dbe7b9645cde19a9792cc51db7ae0d5acd301ac860caa3e836 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/idna/__init__.py b/venv/lib/python3.8/site-packages/pip/_vendor/idna/__init__.py new file mode 120000 index 0000000..05bd7a3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/idna/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f4/db/7b/c69c9eb770e63ab3d41a8a03740c261d966ed6a500cb611a27dde41a24 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/idna/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/idna/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..d4f0769 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/idna/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/idna/__pycache__/codec.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/idna/__pycache__/codec.cpython-38.pyc new file mode 100644 index 0000000..b021946 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/idna/__pycache__/codec.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/idna/__pycache__/compat.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/idna/__pycache__/compat.cpython-38.pyc new file mode 100644 index 0000000..1f381db Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/idna/__pycache__/compat.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/idna/__pycache__/core.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/idna/__pycache__/core.cpython-38.pyc new file mode 100644 index 0000000..2374bd5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/idna/__pycache__/core.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/idna/__pycache__/idnadata.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/idna/__pycache__/idnadata.cpython-38.pyc new file mode 100644 index 0000000..278cb4f Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/idna/__pycache__/idnadata.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/idna/__pycache__/intranges.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/idna/__pycache__/intranges.cpython-38.pyc new file mode 100644 index 0000000..23b94d6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/idna/__pycache__/intranges.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/idna/__pycache__/package_data.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/idna/__pycache__/package_data.cpython-38.pyc new file mode 100644 index 0000000..faa39e0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/idna/__pycache__/package_data.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/idna/__pycache__/uts46data.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/idna/__pycache__/uts46data.cpython-38.pyc new file mode 100644 index 0000000..09aa4aa Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/idna/__pycache__/uts46data.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/idna/codec.py b/venv/lib/python3.8/site-packages/pip/_vendor/idna/codec.py new file mode 120000 index 0000000..9ed690a --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/idna/codec.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e1/15/4c/86a16ab898321812b2978d0046a7200f39030d7654bf297510e0912c51 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/idna/compat.py b/venv/lib/python3.8/site-packages/pip/_vendor/idna/compat.py new file mode 120000 index 0000000..8b4f9f1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/idna/compat.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/83/ee/cf/878e67cc82deffbc6fc5d6d379bac766ae26416c48387d6b8cc73ac6bb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/idna/core.py b/venv/lib/python3.8/site-packages/pip/_vendor/idna/core.py new file mode 120000 index 0000000..d34b087 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/idna/core.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/55/d1/46/4328a2b7578c294436c7498d5e819386b5e5472a74ef498f0f22d7f588 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/idna/idnadata.py b/venv/lib/python3.8/site-packages/pip/_vendor/idna/idnadata.py new file mode 120000 index 0000000..0fe7d6c --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/idna/idnadata.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/72/5e/31/f512ddc3564cb4411bbcac00b17f8877701d2233b95371daa0a33a546b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/idna/intranges.py b/venv/lib/python3.8/site-packages/pip/_vendor/idna/intranges.py new file mode 120000 index 0000000..0238cef --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/idna/intranges.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4d/8d/65/a7164841610fead36a8d9905039860a0c58e8f53819a7506f22853f3b1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/idna/package_data.py b/venv/lib/python3.8/site-packages/pip/_vendor/idna/package_data.py new file mode 120000 index 0000000..039b181 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/idna/package_data.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/93/1a/6d/16f799dfbcdb3d298a53b28c100f0f8bb877fac335fa9d9a826d8fa422 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/idna/uts46data.py b/venv/lib/python3.8/site-packages/pip/_vendor/idna/uts46data.py new file mode 120000 index 0000000..79374fa --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/idna/uts46data.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e0/26/44/07a65082648d2004c19f657fc5d5bd3c481539700e611cc27901ac2bf1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/msgpack.pyi b/venv/lib/python3.8/site-packages/pip/_vendor/msgpack.pyi new file mode 100644 index 0000000..4e69b88 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/msgpack.pyi @@ -0,0 +1 @@ +from msgpack import * \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/msgpack/COPYING b/venv/lib/python3.8/site-packages/pip/_vendor/msgpack/COPYING new file mode 120000 index 0000000..02d43fe --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/msgpack/COPYING @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/49/2d/ed/ba85da5872f78e6091bcd1fea474d660d35acb4dee964b8aab3f007427 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/msgpack/__init__.py b/venv/lib/python3.8/site-packages/pip/_vendor/msgpack/__init__.py new file mode 120000 index 0000000..fa042e6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/msgpack/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/da/02/70/72c4c8680b4233418c8b6ad4fbf63a9082de790baa464ad0db68d200d7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/msgpack/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/msgpack/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..75adcf8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/msgpack/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/msgpack/__pycache__/_version.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/msgpack/__pycache__/_version.cpython-38.pyc new file mode 100644 index 0000000..4aaee4c Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/msgpack/__pycache__/_version.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/msgpack/__pycache__/exceptions.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/msgpack/__pycache__/exceptions.cpython-38.pyc new file mode 100644 index 0000000..3302cab Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/msgpack/__pycache__/exceptions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/msgpack/__pycache__/ext.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/msgpack/__pycache__/ext.cpython-38.pyc new file mode 100644 index 0000000..51380fe Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/msgpack/__pycache__/ext.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/msgpack/__pycache__/fallback.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/msgpack/__pycache__/fallback.cpython-38.pyc new file mode 100644 index 0000000..5644375 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/msgpack/__pycache__/fallback.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/msgpack/_version.py b/venv/lib/python3.8/site-packages/pip/_vendor/msgpack/_version.py new file mode 120000 index 0000000..e328a75 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/msgpack/_version.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/74/54/74/de80029e3e25b0a775467c03ec13cc89523f14cca074e2f54ce044c3f5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/msgpack/exceptions.py b/venv/lib/python3.8/site-packages/pip/_vendor/msgpack/exceptions.py new file mode 120000 index 0000000..e13a070 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/msgpack/exceptions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/74/24/d6/7a2f1da64accb100dc8d093be004e5f47b08047d326edf3338f36a3187 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/msgpack/ext.py b/venv/lib/python3.8/site-packages/pip/_vendor/msgpack/ext.py new file mode 120000 index 0000000..8e614a9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/msgpack/ext.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e2/5d/f9/e98e2c54472f0a56b6761fdc2f9eef87818c8597dade4b961c51d8cfa0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/msgpack/fallback.py b/venv/lib/python3.8/site-packages/pip/_vendor/msgpack/fallback.py new file mode 120000 index 0000000..e9cbd84 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/msgpack/fallback.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/46/9b/f5/2dd7b2f1ff2e7919d0ce70f80112819fd7713363f2c153645c8f0811e1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/packaging.pyi b/venv/lib/python3.8/site-packages/pip/_vendor/packaging.pyi new file mode 100644 index 0000000..3458a3d --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/packaging.pyi @@ -0,0 +1 @@ +from packaging import * \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/packaging/LICENSE b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/LICENSE new file mode 120000 index 0000000..18135e2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ca/d1/ef/5bd340d73e074ba614d26f7deaca5c7940c3d8c34852e65c4909686c48 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/packaging/LICENSE.APACHE b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/LICENSE.APACHE new file mode 120000 index 0000000..37897a9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/LICENSE.APACHE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0d/54/2e/0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/packaging/LICENSE.BSD b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/LICENSE.BSD new file mode 120000 index 0000000..25c4966 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/LICENSE.BSD @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b7/0e/7e/9b742f1cc6f948b34c16aa39ffece94196364bc88ff0d2180f0028fac5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/packaging/__about__.py b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/__about__.py new file mode 120000 index 0000000..8b6d0ca --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/__about__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a7/f3/90/968a87dac69a75c6d4426584b162bce7b748ebf7dfe44dda4a20aa1850 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/packaging/__init__.py b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/__init__.py new file mode 120000 index 0000000..5d445b1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6f/d2/a4/e4c17b2b18612e07039a2516ba437e2dab561713dd36e8348e83e11d29 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/packaging/__pycache__/__about__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/__pycache__/__about__.cpython-38.pyc new file mode 100644 index 0000000..5466e86 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/__pycache__/__about__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/packaging/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..0fca28c Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/packaging/__pycache__/_manylinux.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/__pycache__/_manylinux.cpython-38.pyc new file mode 100644 index 0000000..4bbb6cd Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/__pycache__/_manylinux.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/packaging/__pycache__/_musllinux.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/__pycache__/_musllinux.cpython-38.pyc new file mode 100644 index 0000000..41b79c8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/__pycache__/_musllinux.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/packaging/__pycache__/_structures.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/__pycache__/_structures.cpython-38.pyc new file mode 100644 index 0000000..e3a6f17 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/__pycache__/_structures.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/packaging/__pycache__/markers.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/__pycache__/markers.cpython-38.pyc new file mode 100644 index 0000000..527611f Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/__pycache__/markers.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/packaging/__pycache__/requirements.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/__pycache__/requirements.cpython-38.pyc new file mode 100644 index 0000000..3833ce2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/__pycache__/requirements.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/packaging/__pycache__/specifiers.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/__pycache__/specifiers.cpython-38.pyc new file mode 100644 index 0000000..6f103b1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/__pycache__/specifiers.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/packaging/__pycache__/tags.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/__pycache__/tags.cpython-38.pyc new file mode 100644 index 0000000..c0c7b78 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/__pycache__/tags.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/packaging/__pycache__/utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/__pycache__/utils.cpython-38.pyc new file mode 100644 index 0000000..4166307 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/__pycache__/utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/packaging/__pycache__/version.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/__pycache__/version.cpython-38.pyc new file mode 100644 index 0000000..5d7f79e Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/__pycache__/version.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/packaging/_manylinux.py b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/_manylinux.py new file mode 120000 index 0000000..8cc1700 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/_manylinux.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5d/c6/e2/5c1faa723bf76dca21a7a37df1332938fe3f8f79be88e03ca6d2b61966 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/packaging/_musllinux.py b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/_musllinux.py new file mode 120000 index 0000000..3d02320 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/_musllinux.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cf/9c/9e/1b5ca038fc78b94c8b76a8fea7c0e4e5405be47fdbd0d2235bdca8f280 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/packaging/_structures.py b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/_structures.py new file mode 120000 index 0000000..591ca3f --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/_structures.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4c/c8/80/8056dd50e3e621f0c87e21dcdca161489f24323a1fd904b923ed8dc90f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/packaging/markers.py b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/markers.py new file mode 120000 index 0000000..32d1c75 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/markers.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/00/90/4e/718f0eab4918739ef42aeb8f4e4beeaa302586e7da13673db0251b9bae \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/packaging/py.typed b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/py.typed new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/py.typed @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/packaging/requirements.py b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/requirements.py new file mode 120000 index 0000000..6190fec --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/requirements.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/36/d0/e5/3c1b688e99f52140bce623233cdb149ae7e3a529709cd03e5dbe26e4d0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/packaging/specifiers.py b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/specifiers.py new file mode 120000 index 0000000..93f1847 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/specifiers.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/31/9f/9f/61c34bdeeee936bb7eea0d8440eec06d15e48dcf923c46305cc41b2e67 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/packaging/tags.py b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/tags.py new file mode 120000 index 0000000..db2c270 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/tags.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6a/42/1e/ad8c3c5b4b33e0e5bd1c7a3381ac169dbb7618638f9b7b2f896d23a306 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/packaging/utils.py b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/utils.py new file mode 120000 index 0000000..239ca34 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/74/98/de/6addc14be4d89f546b505570b9f50c6ac6edccb7d8468cbf1d710d7854 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/packaging/version.py b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/version.py new file mode 120000 index 0000000..28ca3a7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/packaging/version.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fd/f2/d1/36b16bc5870755fca8f2f93d8fcb3a24cf0dff1b12c5516be91272728f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/pep517.pyi b/venv/lib/python3.8/site-packages/pip/_vendor/pep517.pyi new file mode 100644 index 0000000..d1ce810 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/pep517.pyi @@ -0,0 +1 @@ +from pep517 import * \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/pep517/LICENSE b/venv/lib/python3.8/site-packages/pip/_vendor/pep517/LICENSE new file mode 120000 index 0000000..e5593ef --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/pep517/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1b/22/b0/49b5267d6dfc23a67bf4a84d8ec04b9fdfb1a51d360e42b4342c8b4154 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/pep517/__init__.py b/venv/lib/python3.8/site-packages/pip/_vendor/pep517/__init__.py new file mode 120000 index 0000000..3f7eed8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/pep517/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9a/3b/bd/7a51472c4509db7ad4e59a5d8fc9d139d634563ddba78660bc14ece9b8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/pep517/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/pep517/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..de7fbb7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/pep517/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/pep517/__pycache__/build.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/pep517/__pycache__/build.cpython-38.pyc new file mode 100644 index 0000000..6b3f795 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/pep517/__pycache__/build.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/pep517/__pycache__/check.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/pep517/__pycache__/check.cpython-38.pyc new file mode 100644 index 0000000..f8570d4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/pep517/__pycache__/check.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/pep517/__pycache__/colorlog.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/pep517/__pycache__/colorlog.cpython-38.pyc new file mode 100644 index 0000000..b2108d7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/pep517/__pycache__/colorlog.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/pep517/__pycache__/compat.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/pep517/__pycache__/compat.cpython-38.pyc new file mode 100644 index 0000000..4a6c1d6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/pep517/__pycache__/compat.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/pep517/__pycache__/dirtools.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/pep517/__pycache__/dirtools.cpython-38.pyc new file mode 100644 index 0000000..101f442 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/pep517/__pycache__/dirtools.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/pep517/__pycache__/envbuild.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/pep517/__pycache__/envbuild.cpython-38.pyc new file mode 100644 index 0000000..77276d4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/pep517/__pycache__/envbuild.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/pep517/__pycache__/meta.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/pep517/__pycache__/meta.cpython-38.pyc new file mode 100644 index 0000000..ea63bde Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/pep517/__pycache__/meta.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/pep517/__pycache__/wrappers.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/pep517/__pycache__/wrappers.cpython-38.pyc new file mode 100644 index 0000000..766445c Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/pep517/__pycache__/wrappers.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/pep517/build.py b/venv/lib/python3.8/site-packages/pip/_vendor/pep517/build.py new file mode 120000 index 0000000..1e8e575 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/pep517/build.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7c/8b/bb/704ab32460482ed0aa2fb8c47788b0765ee73969ad1db69d9e2d89ec9e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/pep517/check.py b/venv/lib/python3.8/site-packages/pip/_vendor/pep517/check.py new file mode 120000 index 0000000..91bbda6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/pep517/check.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/49/9f/b8/7ea336fcea613d29c5915fe5bd442170a5fce92beee244ef029aa206de \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/pep517/colorlog.py b/venv/lib/python3.8/site-packages/pip/_vendor/pep517/colorlog.py new file mode 120000 index 0000000..e418278 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/pep517/colorlog.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4e/4f/40/b989bf70b17704a4c1a124c9b7d6d1af29f4685a232103b06df5544f14 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/pep517/compat.py b/venv/lib/python3.8/site-packages/pip/_vendor/pep517/compat.py new file mode 120000 index 0000000..3294e40 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/pep517/compat.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/33/ee/6c/e15369f2b8f24fbe9967f89b9cf0f8e03615cd2425c821076b28ed0cfc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/pep517/dirtools.py b/venv/lib/python3.8/site-packages/pip/_vendor/pep517/dirtools.py new file mode 120000 index 0000000..dcb28bf --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/pep517/dirtools.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/da/69/00/9002f4991cff7a56058d12ae7a44c9562a47d734e7e2d6dfd440debfce \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/pep517/envbuild.py b/venv/lib/python3.8/site-packages/pip/_vendor/pep517/envbuild.py new file mode 120000 index 0000000..561df9b --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/pep517/envbuild.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2b/87/48/1806e45dfdd1a105fff5116966f32f3eb5521ed71b1fba3d552acd9e53 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/pep517/in_process/__init__.py b/venv/lib/python3.8/site-packages/pip/_vendor/pep517/in_process/__init__.py new file mode 120000 index 0000000..7fd59cc --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/pep517/in_process/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/33/25/a8/022f091dd701bfbc97b96a544950036f1e8b481f6b661ee44c881d03c6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/pep517/in_process/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/pep517/in_process/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..6988e42 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/pep517/in_process/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/pep517/in_process/__pycache__/_in_process.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/pep517/in_process/__pycache__/_in_process.cpython-38.pyc new file mode 100644 index 0000000..ea05e5b Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/pep517/in_process/__pycache__/_in_process.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/pep517/in_process/_in_process.py b/venv/lib/python3.8/site-packages/pip/_vendor/pep517/in_process/_in_process.py new file mode 120000 index 0000000..991c60b --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/pep517/in_process/_in_process.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5e/b2/8e/4d44497626b947b8b78bf390992f3d2c04855c4dc74177d7eb7a990481 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/pep517/meta.py b/venv/lib/python3.8/site-packages/pip/_vendor/pep517/meta.py new file mode 120000 index 0000000..9437ca3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/pep517/meta.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f2/69/cc/e650e74f8cd742905396225b4467deb07ee28a81f0a336c3c402cf4bd6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/pep517/wrappers.py b/venv/lib/python3.8/site-packages/pip/_vendor/pep517/wrappers.py new file mode 120000 index 0000000..3318772 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/pep517/wrappers.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/41/86/5f/3759d6a2ae19da4ad8f945f5e092c0c6474dc2e8d88d119feea15cf75e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/pkg_resources.pyi b/venv/lib/python3.8/site-packages/pip/_vendor/pkg_resources.pyi new file mode 100644 index 0000000..4770303 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/pkg_resources.pyi @@ -0,0 +1 @@ +from pkg_resources import * \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/pkg_resources/LICENSE b/venv/lib/python3.8/site-packages/pip/_vendor/pkg_resources/LICENSE new file mode 120000 index 0000000..a0d0e92 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/pkg_resources/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c3/2a/3a/c395af6321efd28be73d06a00f0db6ab887d1c21d4fec46128d2056d5a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/pkg_resources/__init__.py b/venv/lib/python3.8/site-packages/pip/_vendor/pkg_resources/__init__.py new file mode 120000 index 0000000..397675d --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/pkg_resources/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5e/91/81/7ef4bd7da7c0e9b9b9af1eef9f1771b3bcaaca873f367a73280a6427ae \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/pkg_resources/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/pkg_resources/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..abe7728 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/pkg_resources/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/pkg_resources/__pycache__/py31compat.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/pkg_resources/__pycache__/py31compat.cpython-38.pyc new file mode 100644 index 0000000..609db33 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/pkg_resources/__pycache__/py31compat.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/pkg_resources/py31compat.py b/venv/lib/python3.8/site-packages/pip/_vendor/pkg_resources/py31compat.py new file mode 120000 index 0000000..0bc8b2e --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/pkg_resources/py31compat.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/09/19/3c/7e488f4432ec6e2e6965c2ac1c8fff3db9a1ffde0bf26afd432f406f65 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/progress.pyi b/venv/lib/python3.8/site-packages/pip/_vendor/progress.pyi new file mode 100644 index 0000000..c92de83 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/progress.pyi @@ -0,0 +1 @@ +from progress import * \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/progress/LICENSE b/venv/lib/python3.8/site-packages/pip/_vendor/progress/LICENSE new file mode 120000 index 0000000..3515588 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/progress/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/71/a1/34/96c621f01b454f9aa54fa608a712f58eb253e6dd2c91027fe78340c773 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/progress/__init__.py b/venv/lib/python3.8/site-packages/pip/_vendor/progress/__init__.py new file mode 120000 index 0000000..e2c63b5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/progress/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7d/c6/d0/417a399e9d82a10ca1487e57a6b9227302d934b78f477b886a1ce748ed \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/progress/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/progress/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..b7546ad Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/progress/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/progress/__pycache__/bar.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/progress/__pycache__/bar.cpython-38.pyc new file mode 100644 index 0000000..48aaadb Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/progress/__pycache__/bar.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/progress/__pycache__/counter.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/progress/__pycache__/counter.cpython-38.pyc new file mode 100644 index 0000000..9affe68 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/progress/__pycache__/counter.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/progress/__pycache__/spinner.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/progress/__pycache__/spinner.cpython-38.pyc new file mode 100644 index 0000000..a6c34cb Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/progress/__pycache__/spinner.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/progress/bar.py b/venv/lib/python3.8/site-packages/pip/_vendor/progress/bar.py new file mode 120000 index 0000000..eb600c0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/progress/bar.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/42/e0/ee/54d7265e0a71b4db713b416aef6c4a8a0c4005a566c58181c3827767f1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/progress/counter.py b/venv/lib/python3.8/site-packages/pip/_vendor/progress/counter.py new file mode 120000 index 0000000..b5c9cf0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/progress/counter.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/33/39/f2/06bbcf5ab3a519ee0c64094651bf6adda3837bafda35878013f54da180 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/progress/spinner.py b/venv/lib/python3.8/site-packages/pip/_vendor/progress/spinner.py new file mode 120000 index 0000000..c68cea2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/progress/spinner.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/93/c2/5b/0d6f784f4f965ee5dfc5920585da0d3d8a778df9e95ea0677d1bf97c6b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/pyparsing.LICENSE b/venv/lib/python3.8/site-packages/pip/_vendor/pyparsing.LICENSE new file mode 120000 index 0000000..2171c97 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/pyparsing.LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/10/d5/12/0a16805804ffda8b688c220bfb4e8f39741b57320604d455a309e01972 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/pyparsing.py b/venv/lib/python3.8/site-packages/pip/_vendor/pyparsing.py new file mode 120000 index 0000000..7c9bd73 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/pyparsing.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/27/56/f8/cf74bf2b0c895bb84a1a7a0dfa15d6f6980c23320fe904e1c98e7226ae \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/pyparsing.pyi b/venv/lib/python3.8/site-packages/pip/_vendor/pyparsing.pyi new file mode 100644 index 0000000..8e9de6b --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/pyparsing.pyi @@ -0,0 +1 @@ +from pyparsing import * \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/requests.pyi b/venv/lib/python3.8/site-packages/pip/_vendor/requests.pyi new file mode 100644 index 0000000..6d69cd6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/requests.pyi @@ -0,0 +1 @@ +from requests import * \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/requests/LICENSE b/venv/lib/python3.8/site-packages/pip/_vendor/requests/LICENSE new file mode 120000 index 0000000..1f20d45 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/requests/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/09/e8/a9/bcec8067104652c168685ab0931e7868f9c8284b66f5ae6edae5f1130b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/requests/__init__.py b/venv/lib/python3.8/site-packages/pip/_vendor/requests/__init__.py new file mode 120000 index 0000000..5c5ff95 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/requests/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/89/be/e7/4630da75b08c39e5f6b0c40b71b5f3cbdf361e82916362c3fe05aac0f3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..636cf22 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/__version__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/__version__.cpython-38.pyc new file mode 100644 index 0000000..3b09353 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/__version__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/_internal_utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/_internal_utils.cpython-38.pyc new file mode 100644 index 0000000..460fde1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/_internal_utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/adapters.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/adapters.cpython-38.pyc new file mode 100644 index 0000000..e8b39e2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/adapters.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/api.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/api.cpython-38.pyc new file mode 100644 index 0000000..63546fb Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/api.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/auth.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/auth.cpython-38.pyc new file mode 100644 index 0000000..1637d80 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/auth.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/certs.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/certs.cpython-38.pyc new file mode 100644 index 0000000..35674c6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/certs.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/compat.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/compat.cpython-38.pyc new file mode 100644 index 0000000..8192cfe Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/compat.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/cookies.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/cookies.cpython-38.pyc new file mode 100644 index 0000000..0625c86 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/cookies.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/exceptions.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/exceptions.cpython-38.pyc new file mode 100644 index 0000000..23a2a45 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/exceptions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/help.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/help.cpython-38.pyc new file mode 100644 index 0000000..b7791b1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/help.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/hooks.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/hooks.cpython-38.pyc new file mode 100644 index 0000000..f5e3d68 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/hooks.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/models.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/models.cpython-38.pyc new file mode 100644 index 0000000..5e81453 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/models.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/packages.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/packages.cpython-38.pyc new file mode 100644 index 0000000..8ecfb89 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/packages.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/sessions.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/sessions.cpython-38.pyc new file mode 100644 index 0000000..6219952 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/sessions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/status_codes.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/status_codes.cpython-38.pyc new file mode 100644 index 0000000..7e7946b Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/status_codes.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/structures.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/structures.cpython-38.pyc new file mode 100644 index 0000000..4bc65bd Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/structures.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/utils.cpython-38.pyc new file mode 100644 index 0000000..a5537ab Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/requests/__pycache__/utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/requests/__version__.py b/venv/lib/python3.8/site-packages/pip/_vendor/requests/__version__.py new file mode 120000 index 0000000..88d7f59 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/requests/__version__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/93/82/7c/735c85445cf0196c2537b9a268339c945b5b708b351a59e64f5ed86d74 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/requests/_internal_utils.py b/venv/lib/python3.8/site-packages/pip/_vendor/requests/_internal_utils.py new file mode 120000 index 0000000..87f597d --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/requests/_internal_utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/67/1d/cf/9c451c7327ec07e89ed759d95405bca82949cb4831d6a34c13bae04f5f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/requests/adapters.py b/venv/lib/python3.8/site-packages/pip/_vendor/requests/adapters.py new file mode 120000 index 0000000..08dd445 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/requests/adapters.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7b/e6/e6/284029355a85772971b8c2497e2687765992ff3856848304ce51ef1ae7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/requests/api.py b/venv/lib/python3.8/site-packages/pip/_vendor/requests/api.py new file mode 120000 index 0000000..61c7bed --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/requests/api.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3e/51/cc/f874f73d0e65cae7e8786995fa7271462ed49d4c86561ece57b07d5d5e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/requests/auth.py b/venv/lib/python3.8/site-packages/pip/_vendor/requests/auth.py new file mode 120000 index 0000000..3f7d24e --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/requests/auth.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/38/ca/09/2152b244bcbd4c7afdd72f2bc72b19b9c9703c1f8ad57835cc1a265214 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/requests/certs.py b/venv/lib/python3.8/site-packages/pip/_vendor/requests/certs.py new file mode 120000 index 0000000..1dfa061 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/requests/certs.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9d/74/55/abd0ed1a6bffd4061bc234eef54ae001c749bf4e59be435e6a82ce6716 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/requests/compat.py b/venv/lib/python3.8/site-packages/pip/_vendor/requests/compat.py new file mode 120000 index 0000000..a60a5ac --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/requests/compat.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2d/05/ae/091e2a5e4eb0efea90a295f2cf458d1d47400f8d24d262a768011fd7e8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/requests/cookies.py b/venv/lib/python3.8/site-packages/pip/_vendor/requests/cookies.py new file mode 120000 index 0000000..4bc1145 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/requests/cookies.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/63/e6/ca/5fa4ef5b716762513a02ed125ed55559c68d745bee030431c3e1b48932 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/requests/exceptions.py b/venv/lib/python3.8/site-packages/pip/_vendor/requests/exceptions.py new file mode 120000 index 0000000..093d696 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/requests/exceptions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/77/d7/c9/270f1814107d5731bdaa1bf12ee3b1e9b7b773f0f06dc93e75550401cb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/requests/help.py b/venv/lib/python3.8/site-packages/pip/_vendor/requests/help.py new file mode 120000 index 0000000..f64d285 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/requests/help.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/48/93/d5/7285dea3b29f2b803124de5e1554028ebd229bceed5369fbb9b2ec92c5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/requests/hooks.py b/venv/lib/python3.8/site-packages/pip/_vendor/requests/hooks.py new file mode 120000 index 0000000..7637c81 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/requests/hooks.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/41/17/86/cb2d1b45caf9ae4c02b8e6cd6a46d8b1cec492229e0701b8a877a4af64 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/requests/models.py b/venv/lib/python3.8/site-packages/pip/_vendor/requests/models.py new file mode 120000 index 0000000..b4be197 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/requests/models.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/52/49/1a/56e535b5cf81298078d5d76cdf9b1a8aca13a5a609d980421591047e13 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/requests/packages.py b/venv/lib/python3.8/site-packages/pip/_vendor/requests/packages.py new file mode 120000 index 0000000..9c55fd0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/requests/packages.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9e/32/66/5627d8e1a49cb6e5b73cfe441510b18c4c0c4433ba27f7de1b674a5ac2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/requests/sessions.py b/venv/lib/python3.8/site-packages/pip/_vendor/requests/sessions.py new file mode 120000 index 0000000..094a148 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/requests/sessions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/06/c9/d1/fb36082e0a05cc9eb2ab84fc86dfe2d0fc303c6540c56c56695e5d7078 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/requests/status_codes.py b/venv/lib/python3.8/site-packages/pip/_vendor/requests/status_codes.py new file mode 120000 index 0000000..bfa8069 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/requests/status_codes.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/81/3e/fd/3dbb3f7108c1829f9fbeb520835767d8340edf66c38f84c89e39cc3d27 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/requests/structures.py b/venv/lib/python3.8/site-packages/pip/_vendor/requests/structures.py new file mode 120000 index 0000000..06e583e --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/requests/structures.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9a/c0/2d/afd9aad49c4777e251ca220b7dd165a5b270bef16e3f7adf5104ff4311 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/requests/utils.py b/venv/lib/python3.8/site-packages/pip/_vendor/requests/utils.py new file mode 120000 index 0000000..8637044 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/requests/utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fc/af/40/82437a79f3def9afb3819bab5f376ce4f042d02cc39328c0136a024054 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib.pyi b/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib.pyi new file mode 100644 index 0000000..b4ef4e1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib.pyi @@ -0,0 +1 @@ +from resolvelib import * \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/LICENSE b/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/LICENSE new file mode 120000 index 0000000..c46c1f6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f3/88/fd/38cad13112c1dc0f669bbe80e7f84541edbafb72f3030d2ca7642c3c9d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/__init__.py b/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/__init__.py new file mode 120000 index 0000000..14753cc --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ba/85/b4/7605820f00295f9f6645f7e83c84a46461a4fd467522dfcf638a3f3da1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/__init__.pyi b/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/__init__.pyi new file mode 100644 index 0000000..4a84f8f --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/__init__.pyi @@ -0,0 +1,15 @@ +__version__: str + +from .providers import ( + AbstractResolver as AbstractResolver, + AbstractProvider as AbstractProvider, +) +from .reporters import BaseReporter as BaseReporter +from .resolvers import ( + InconsistentCandidate as InconsistentCandidate, + RequirementsConflicted as RequirementsConflicted, + Resolver as Resolver, + ResolutionError as ResolutionError, + ResolutionImpossible as ResolutionImpossible, + ResolutionTooDeep as ResolutionTooDeep, +) diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..f5e465b Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/__pycache__/providers.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/__pycache__/providers.cpython-38.pyc new file mode 100644 index 0000000..005fd86 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/__pycache__/providers.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/__pycache__/reporters.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/__pycache__/reporters.cpython-38.pyc new file mode 100644 index 0000000..dcd1504 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/__pycache__/reporters.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/__pycache__/resolvers.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/__pycache__/resolvers.cpython-38.pyc new file mode 100644 index 0000000..72ac40e Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/__pycache__/resolvers.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/__pycache__/structs.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/__pycache__/structs.cpython-38.pyc new file mode 100644 index 0000000..542f83f Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/__pycache__/structs.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/compat/__init__.py b/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/compat/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/compat/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/compat/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/compat/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..eec07b7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/compat/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/compat/__pycache__/collections_abc.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/compat/__pycache__/collections_abc.cpython-38.pyc new file mode 100644 index 0000000..5c07b0a Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/compat/__pycache__/collections_abc.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/compat/collections_abc.py b/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/compat/collections_abc.py new file mode 120000 index 0000000..0e94f6a --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/compat/collections_abc.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bb/2f/31/519f8d0c4c3dd7ab6e8145e6f0783008688c3b47fe45c767a647d77ceb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/providers.py b/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/providers.py new file mode 120000 index 0000000..8e6d398 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/providers.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6d/fc/c5/0d977b52a924012ee550cfc77986c0f87ce329f0e595efe99ffefdbe2a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/providers.pyi b/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/providers.pyi new file mode 100644 index 0000000..86ada59 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/providers.pyi @@ -0,0 +1,44 @@ +from typing import ( + Any, + Collection, + Generic, + Iterable, + Iterator, + Mapping, + Optional, + Protocol, + Union, +) + +from .reporters import BaseReporter +from .resolvers import RequirementInformation +from .structs import KT, RT, CT, Matches + +class Preference(Protocol): + def __lt__(self, __other: Any) -> bool: ... + +class AbstractProvider(Generic[RT, CT, KT]): + def identify(self, requirement_or_candidate: Union[RT, CT]) -> KT: ... + def get_preference( + self, + identifier: KT, + resolutions: Mapping[KT, CT], + candidates: Mapping[KT, Iterator[CT]], + information: Mapping[KT, Iterator[RequirementInformation[RT, CT]]], + ) -> Preference: ... + def find_matches( + self, + identifier: KT, + requirements: Mapping[KT, Iterator[RT]], + incompatibilities: Mapping[KT, Iterator[CT]], + ) -> Matches: ... + def is_satisfied_by(self, requirement: RT, candidate: CT) -> bool: ... + def get_dependencies(self, candidate: CT) -> Iterable[RT]: ... + +class AbstractResolver(Generic[RT, CT, KT]): + base_exception = Exception + provider: AbstractProvider[RT, CT, KT] + reporter: BaseReporter + def __init__( + self, provider: AbstractProvider[RT, CT, KT], reporter: BaseReporter + ): ... diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/py.typed b/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/py.typed new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/py.typed @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/reporters.py b/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/reporters.py new file mode 120000 index 0000000..60f0794 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/reporters.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/85/0b/ef/5eeb8404ec8458ef0a0df2ec58a5635f9e5414c014c0ed1864c369cc0c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/reporters.pyi b/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/reporters.pyi new file mode 100644 index 0000000..55e38ab --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/reporters.pyi @@ -0,0 +1,10 @@ +from typing import Any + +class BaseReporter: + def starting(self) -> Any: ... + def starting_round(self, index: int) -> Any: ... + def ending_round(self, index: int, state: Any) -> Any: ... + def ending(self, state: Any) -> Any: ... + def adding_requirement(self, requirement: Any, parent: Any) -> Any: ... + def backtracking(self, candidate: Any) -> Any: ... + def pinning(self, candidate: Any) -> Any: ... diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/resolvers.py b/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/resolvers.py new file mode 120000 index 0000000..432dc8e --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/resolvers.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c1/3f/37/3c78815910a494bfa72c9d7ef2c936077c81234e91b1ed47d7572b3ac2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/resolvers.pyi b/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/resolvers.pyi new file mode 100644 index 0000000..e61b0bc --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/resolvers.pyi @@ -0,0 +1,73 @@ +from typing import ( + Collection, + Generic, + Iterable, + Iterator, + List, + Mapping, + Optional, +) + +from .providers import AbstractProvider, AbstractResolver +from .structs import ( + CT, + KT, + RT, + DirectedGraph, + IterableView, +) + +# This should be a NamedTuple, but Python 3.6 has a bug that prevents it. +# https://stackoverflow.com/a/50531189/1376863 +class RequirementInformation(tuple, Generic[RT, CT]): + requirement: RT + parent: Optional[CT] + +class Criterion(Generic[RT, CT, KT]): + candidates: IterableView[CT] + information: Collection[RequirementInformation[RT, CT]] + incompatibilities: List[CT] + @classmethod + def from_requirement( + cls, + provider: AbstractProvider[RT, CT, KT], + requirement: RT, + parent: Optional[CT], + ) -> Criterion[RT, CT, KT]: ... + def iter_requirement(self) -> Iterator[RT]: ... + def iter_parent(self) -> Iterator[Optional[CT]]: ... + def merged_with( + self, + provider: AbstractProvider[RT, CT, KT], + requirement: RT, + parent: Optional[CT], + ) -> Criterion[RT, CT, KT]: ... + def excluded_of(self, candidates: List[CT]) -> Criterion[RT, CT, KT]: ... + +class ResolverException(Exception): ... + +class RequirementsConflicted(ResolverException, Generic[RT, CT, KT]): + criterion: Criterion[RT, CT, KT] + +class ResolutionError(ResolverException): ... + +class InconsistentCandidate(ResolverException, Generic[RT, CT, KT]): + candidate: CT + criterion: Criterion[RT, CT, KT] + +class ResolutionImpossible(ResolutionError, Generic[RT, CT]): + causes: List[RequirementInformation[RT, CT]] + +class ResolutionTooDeep(ResolutionError): + round_count: int + +class Result(Generic[RT, CT, KT]): + mapping: Mapping[KT, CT] + graph: DirectedGraph[Optional[KT]] + criteria: Mapping[KT, Criterion[RT, CT, KT]] + +class Resolver(AbstractResolver, Generic[RT, CT, KT]): + base_exception = ResolverException + def resolve( + self, requirements: Iterable[RT], max_rounds: int = 100 + ) -> Result[RT, CT, KT]: ... diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/structs.py b/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/structs.py new file mode 120000 index 0000000..ff251f8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/structs.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/21/52/18/a1feac03f378644884d42d548734d7e3de5bac2367c82760aba098ab6f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/structs.pyi b/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/structs.pyi new file mode 100644 index 0000000..14cd464 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/resolvelib/structs.pyi @@ -0,0 +1,35 @@ +from abc import ABCMeta +from typing import ( + Callable, + Container, + Generic, + Iterable, + Iterator, + Tuple, + TypeVar, + Union, +) + +KT = TypeVar("KT") +RT = TypeVar("RT") +CT = TypeVar("CT") +_T = TypeVar("_T") +Matches = Union[Iterable[CT], Callable[[], Iterator[CT]]] + +class IterableView(Container[CT], Iterable[CT], metaclass=ABCMeta): + pass + +class DirectedGraph(Generic[KT]): + def __iter__(self) -> Iterator[KT]: ... + def __len__(self) -> int: ... + def __contains__(self, key: KT) -> bool: ... + def copy(self) -> "DirectedGraph[KT]": ... + def add(self, key: KT) -> None: ... + def remove(self, key: KT) -> None: ... + def connected(self, f: KT, t: KT) -> bool: ... + def connect(self, f: KT, t: KT) -> None: ... + def iter_edges(self) -> Iterable[Tuple[KT, KT]]: ... + def iter_children(self, key: KT) -> Iterable[KT]: ... + def iter_parents(self, key: KT) -> Iterable[KT]: ... + +def build_iter_view(matches: Matches) -> IterableView[CT]: ... diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/six.LICENSE b/venv/lib/python3.8/site-packages/pip/_vendor/six.LICENSE new file mode 120000 index 0000000..694d8dc --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/six.LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8b/b8/50/c565aa389fdc16f3a46965ad23d82adff60f2393fc2762b63185e8e6c9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/six.py b/venv/lib/python3.8/site-packages/pip/_vendor/six.py new file mode 120000 index 0000000..bd0274c --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/six.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4c/e3/9f/422ee71467ccac8bed76beb05f8c321c7f0ceda9279ae2dfa3670106b3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/six/__init__.pyi b/venv/lib/python3.8/site-packages/pip/_vendor/six/__init__.pyi new file mode 100644 index 0000000..e5c0e24 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/six/__init__.pyi @@ -0,0 +1 @@ +from six import * \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/six/moves/__init__.pyi b/venv/lib/python3.8/site-packages/pip/_vendor/six/moves/__init__.pyi new file mode 100644 index 0000000..7a82f79 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/six/moves/__init__.pyi @@ -0,0 +1 @@ +from six.moves import * \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/six/moves/configparser.pyi b/venv/lib/python3.8/site-packages/pip/_vendor/six/moves/configparser.pyi new file mode 100644 index 0000000..f77b3f4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/six/moves/configparser.pyi @@ -0,0 +1 @@ +from six.moves.configparser import * \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/tenacity.pyi b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity.pyi new file mode 100644 index 0000000..baf1de9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity.pyi @@ -0,0 +1 @@ +from tenacity import * \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/LICENSE b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/LICENSE new file mode 120000 index 0000000..6c84148 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/58/d1/e1/7ffe5109a7ae296caafcadfdbe6a7d176f0bc4ab01e12a689b0499d8bd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/__init__.py b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/__init__.py new file mode 120000 index 0000000..0494f0a --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/31/5b/39/9fc6a7c20feb1225f6fd022d13172221d80b0f04a7ba48850f28c2849c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..bb4bddf Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/__pycache__/_asyncio.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/__pycache__/_asyncio.cpython-38.pyc new file mode 100644 index 0000000..64d0661 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/__pycache__/_asyncio.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/__pycache__/_utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/__pycache__/_utils.cpython-38.pyc new file mode 100644 index 0000000..785cddc Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/__pycache__/_utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/__pycache__/after.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/__pycache__/after.cpython-38.pyc new file mode 100644 index 0000000..62c6be5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/__pycache__/after.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/__pycache__/before.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/__pycache__/before.cpython-38.pyc new file mode 100644 index 0000000..4976bff Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/__pycache__/before.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/__pycache__/before_sleep.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/__pycache__/before_sleep.cpython-38.pyc new file mode 100644 index 0000000..b0f8cc3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/__pycache__/before_sleep.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/__pycache__/compat.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/__pycache__/compat.cpython-38.pyc new file mode 100644 index 0000000..0abe6a5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/__pycache__/compat.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/__pycache__/nap.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/__pycache__/nap.cpython-38.pyc new file mode 100644 index 0000000..c31f307 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/__pycache__/nap.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/__pycache__/retry.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/__pycache__/retry.cpython-38.pyc new file mode 100644 index 0000000..aec7638 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/__pycache__/retry.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/__pycache__/stop.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/__pycache__/stop.cpython-38.pyc new file mode 100644 index 0000000..a3c2a52 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/__pycache__/stop.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/__pycache__/tornadoweb.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/__pycache__/tornadoweb.cpython-38.pyc new file mode 100644 index 0000000..f480eb1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/__pycache__/tornadoweb.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/__pycache__/wait.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/__pycache__/wait.cpython-38.pyc new file mode 100644 index 0000000..d5ecba8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/__pycache__/wait.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/_asyncio.py b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/_asyncio.py new file mode 120000 index 0000000..b4a7c09 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/_asyncio.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e8/2e/12/7eff4839461fd7ed2fb88a04e8e19b989ac9cb01f4f98b25af199bc4ac \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/_utils.py b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/_utils.py new file mode 120000 index 0000000..b1c78e1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/_utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5b/59/ee/8c7ba6d5ff62e114293928eab10a3dfe642d694b4dce75c09901ec2f6f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/after.py b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/after.py new file mode 120000 index 0000000..ddb4d25 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/after.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/28/d2/22/d964fcdebe1ea80dd069730ad735d0ce46cb8151e3e6e45a9d8e8769b3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/before.py b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/before.py new file mode 120000 index 0000000..4c7d148 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/before.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/07/da/40/5e7ebf27550acf04cbf6716d4693a1360f2ce6f1928b86ea9f1e3e95a0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/before_sleep.py b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/before_sleep.py new file mode 120000 index 0000000..581ce2a --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/before_sleep.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/95/91/0c/1cd685466742730b3732887810e67dcdea38311c6c91d894b9dbcdbaf6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/compat.py b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/compat.py new file mode 120000 index 0000000..d0b399c --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/compat.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/74/7a/27/2642651f00f6726a8bad81d85344ddce6d9b9f5fbbe90652b7a3827a6c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/nap.py b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/nap.py new file mode 120000 index 0000000..33bbfe2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/nap.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ed/55/6e/74e4e6bafffe0bf5c996f8c67201db57afc0d87973ca6697bbcbe3d5df \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/py.typed b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/py.typed new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/py.typed @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/retry.py b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/retry.py new file mode 120000 index 0000000..1981e1a --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/retry.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c6/c9/0b/19ad7912c3613cf3a621470a4bb0aa8da440b56c4614d3cd4638f3f545 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/stop.py b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/stop.py new file mode 120000 index 0000000..f215868 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/stop.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e1/c8/d2/7bf60f49ac33ea223e4010cdd3115f13fce52af8e1170c76d599720f61 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/tornadoweb.py b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/tornadoweb.py new file mode 120000 index 0000000..5f424f2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/tornadoweb.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ab/75/d9/5b603d464cb50615106cd1c5eb584cd445d0e7b740ef0c4f9e548ec77b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/wait.py b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/wait.py new file mode 120000 index 0000000..a94e921 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/tenacity/wait.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/14/0a/08/7c851235fe4e589613ee7863142d2e3958a31cc05de7a0094722cddb7d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/tomli.pyi b/venv/lib/python3.8/site-packages/pip/_vendor/tomli.pyi new file mode 100644 index 0000000..b894db6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/tomli.pyi @@ -0,0 +1 @@ +from tomli import * \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/tomli/LICENSE b/venv/lib/python3.8/site-packages/pip/_vendor/tomli/LICENSE new file mode 120000 index 0000000..ce1ba02 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/tomli/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b8/08/16/b0d530b8accb4c2211783790984a6e3b61922c2b5ee92f3372ab2742fe \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/tomli/__init__.py b/venv/lib/python3.8/site-packages/pip/_vendor/tomli/__init__.py new file mode 120000 index 0000000..069f53f --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/tomli/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cf/51/25/b749cb02a5396340ce9fda7fffc4272d66af9443a947242291d6202aba \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/tomli/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/tomli/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..b3124c8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/tomli/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/tomli/__pycache__/_parser.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/tomli/__pycache__/_parser.cpython-38.pyc new file mode 100644 index 0000000..c4f6c33 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/tomli/__pycache__/_parser.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/tomli/__pycache__/_re.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/tomli/__pycache__/_re.cpython-38.pyc new file mode 100644 index 0000000..0779fe4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/tomli/__pycache__/_re.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/tomli/_parser.py b/venv/lib/python3.8/site-packages/pip/_vendor/tomli/_parser.py new file mode 120000 index 0000000..0572400 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/tomli/_parser.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e7/40/43/e28f586f314018063264ba990bc17cd4343b8965b2267ac737004a6ba0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/tomli/_re.py b/venv/lib/python3.8/site-packages/pip/_vendor/tomli/_re.py new file mode 120000 index 0000000..995d120 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/tomli/_re.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e4/63/df/8172ad7a0ef0445085f83ce59003c8da29476e430adbe242e3d17e0094 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/tomli/py.typed b/venv/lib/python3.8/site-packages/pip/_vendor/tomli/py.typed new file mode 120000 index 0000000..1d96da2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/tomli/py.typed @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f0/f8/f2/675695a10a5156fb7bd66bafbaae6a13e8d315990af862c792175e6e67 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3.pyi b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3.pyi new file mode 100644 index 0000000..7e8a2a7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3.pyi @@ -0,0 +1 @@ +from urllib3 import * \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/LICENSE.txt b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/LICENSE.txt new file mode 120000 index 0000000..26c7b79 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/LICENSE.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c3/7b/f1/86e27cf9dbe9619e55edfe3cea7b30091ceb3da63c7dacbe0e6d77907b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/__init__.py b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/__init__.py new file mode 120000 index 0000000..bd57c48 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8f/7c/b3/1c86e65bb092f8829027df8f3d07ff60a3bc10e01ecbfacc5b4511eeeb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..4204704 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/__pycache__/_collections.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/__pycache__/_collections.cpython-38.pyc new file mode 100644 index 0000000..95af768 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/__pycache__/_collections.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/__pycache__/_version.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/__pycache__/_version.cpython-38.pyc new file mode 100644 index 0000000..0281caa Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/__pycache__/_version.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/__pycache__/connection.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/__pycache__/connection.cpython-38.pyc new file mode 100644 index 0000000..56b9602 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/__pycache__/connection.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/__pycache__/connectionpool.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/__pycache__/connectionpool.cpython-38.pyc new file mode 100644 index 0000000..2c3066f Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/__pycache__/connectionpool.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/__pycache__/exceptions.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/__pycache__/exceptions.cpython-38.pyc new file mode 100644 index 0000000..4cb7739 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/__pycache__/exceptions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/__pycache__/fields.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/__pycache__/fields.cpython-38.pyc new file mode 100644 index 0000000..538271b Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/__pycache__/fields.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/__pycache__/filepost.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/__pycache__/filepost.cpython-38.pyc new file mode 100644 index 0000000..075f18f Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/__pycache__/filepost.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/__pycache__/poolmanager.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/__pycache__/poolmanager.cpython-38.pyc new file mode 100644 index 0000000..fdf374f Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/__pycache__/poolmanager.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/__pycache__/request.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/__pycache__/request.cpython-38.pyc new file mode 100644 index 0000000..6b51400 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/__pycache__/request.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/__pycache__/response.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/__pycache__/response.cpython-38.pyc new file mode 100644 index 0000000..4025ada Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/__pycache__/response.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/_collections.py b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/_collections.py new file mode 120000 index 0000000..12e3970 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/_collections.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/46/9d/66/57206073f52501ca7a3376add6c909057479278dcd6b0453bd6da0fd76 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/_version.py b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/_version.py new file mode 120000 index 0000000..11e5f18 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/_version.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cc/d4/32/9de63f32837688c3d61c66e7f2f108c6d9a520f4d9f7655446639223b4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/connection.py b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/connection.py new file mode 120000 index 0000000..17effc4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/connection.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bd/9d/b4/d570fcaf7c8d5887a8f1f9f195f3347075a415e67d51c20bac1d960ab6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/connectionpool.py b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/connectionpool.py new file mode 120000 index 0000000..6aeebcc --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/connectionpool.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/62/0f/98/d7ba29734dd588fa7719507813923a76209c61ce7ed8fbf36ba4dab414 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/__init__.py b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..49861b8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/__pycache__/_appengine_environ.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/__pycache__/_appengine_environ.cpython-38.pyc new file mode 100644 index 0000000..18a8f2c Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/__pycache__/_appengine_environ.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/__pycache__/appengine.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/__pycache__/appengine.cpython-38.pyc new file mode 100644 index 0000000..f5f9864 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/__pycache__/appengine.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/__pycache__/ntlmpool.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/__pycache__/ntlmpool.cpython-38.pyc new file mode 100644 index 0000000..5f20648 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/__pycache__/ntlmpool.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/__pycache__/pyopenssl.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/__pycache__/pyopenssl.cpython-38.pyc new file mode 100644 index 0000000..dd22986 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/__pycache__/pyopenssl.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/__pycache__/securetransport.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/__pycache__/securetransport.cpython-38.pyc new file mode 100644 index 0000000..e6670e8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/__pycache__/securetransport.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/__pycache__/socks.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/__pycache__/socks.cpython-38.pyc new file mode 100644 index 0000000..04dd609 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/__pycache__/socks.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/_appengine_environ.py b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/_appengine_environ.py new file mode 120000 index 0000000..be2ab5e --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/_appengine_environ.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6c/36/f2/384856d8228b25c42a00a032ac41cdf9a925b321c52aaeaf17c645b269 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..a53c689 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/bindings.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/bindings.cpython-38.pyc new file mode 100644 index 0000000..549ba31 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/bindings.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/low_level.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/low_level.cpython-38.pyc new file mode 100644 index 0000000..bad4ca8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/low_level.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/_securetransport/bindings.py b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/_securetransport/bindings.py new file mode 120000 index 0000000..593aafe --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/_securetransport/bindings.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/79/1c/b5/323fb0a60eec47af8e4af9d25788d46e3313e3ae1d2cdfc25b16c8455c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/_securetransport/low_level.py b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/_securetransport/low_level.py new file mode 120000 index 0000000..be93cb0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/_securetransport/low_level.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/96/02/1d/b12c9ca9f0745e6e41889cd719e20a4fbc9b0903053c902091cc0f6b5b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/appengine.py b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/appengine.py new file mode 120000 index 0000000..550ebef --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/appengine.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/96/6f/3a/5e368e23b6a36e89ec37424b0347249204855a183158a2d6fd89ade2c2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/ntlmpool.py b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/ntlmpool.py new file mode 120000 index 0000000..7c44179 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/ntlmpool.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e8/8f/79/875ffbd5fcf19a831236d634801f259f20a856d3ff0e9a851a3d787dd5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py new file mode 120000 index 0000000..0adb0ed --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/95/82/31/185593a2ca9b7cb9e465738183b8a063bd6246f33735439a0f4b2d510f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/securetransport.py b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/securetransport.py new file mode 120000 index 0000000..289765a --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/securetransport.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4c/de/6a/f5d299d12779fef5bd6da473100108b5d27ee159475a6014ae570935fa \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/socks.py b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/socks.py new file mode 120000 index 0000000..77d6b05 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/socks.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0d/c4/63/336974ad0308ca162b37aafeb6756463a6530f11c994cf3fbac0241820 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/exceptions.py b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/exceptions.py new file mode 120000 index 0000000..bbd51eb --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/exceptions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d0/c9/e7/a372874cd7d745f63beb7f0db9f38f9146fa9973a6f8baa3fb8c76c3c0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/fields.py b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/fields.py new file mode 120000 index 0000000..96a2acd --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/fields.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/92/f2/c3/0a0fc9987d652e3514118fc52d2f14858ee106f0cfb951136d8f2676b3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/filepost.py b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/filepost.py new file mode 120000 index 0000000..f1e79dd --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/filepost.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e5/bf/ea/aa04475652fbb8bb5d018073061f861e653901f255b7fd8dd174b73de6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/packages/__init__.py b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/packages/__init__.py new file mode 120000 index 0000000..bf5cea3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/packages/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/87/80/4b/843e2d2da071d5a75a0ed2977eea6c82a634c162d76ff7f5ff256557a0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/packages/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/packages/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..369d1f4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/packages/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/packages/__pycache__/six.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/packages/__pycache__/six.cpython-38.pyc new file mode 100644 index 0000000..1a89dff Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/packages/__pycache__/six.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/packages/backports/__init__.py b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/packages/backports/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/packages/backports/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..ed6f7b5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/makefile.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/makefile.cpython-38.pyc new file mode 100644 index 0000000..53e33ed Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/makefile.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/packages/backports/makefile.py b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/packages/backports/makefile.py new file mode 120000 index 0000000..49b8b81 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/packages/backports/makefile.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9d/bc/ed/de2d1a80f54fd3b8eaaa08e16988cc9ae022fd6e44d04cb0662bd53bc1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/packages/six.py b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/packages/six.py new file mode 120000 index 0000000..5213e95 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/packages/six.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2f/9c/65/c062a72df0e1da3fbc6d81d9e4b7d3fd89164b8b72268b4b5ebad620ca \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/__init__.py b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/__init__.py new file mode 120000 index 0000000..e68e333 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/65/53/30/0a41f1fa9cbc111b31c4cdc897e322444664b55fbc88b06609f4511c8e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..e678639 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/__pycache__/_implementation.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/__pycache__/_implementation.cpython-38.pyc new file mode 100644 index 0000000..f048df4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/__pycache__/_implementation.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/_implementation.py b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/_implementation.py new file mode 120000 index 0000000..400e071 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/_implementation.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e9/d6/7e/ab4ef883b5e1b09dbb3050a091cb7c895359077b0c66f2a17fe294572d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/poolmanager.py b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/poolmanager.py new file mode 120000 index 0000000..a579f36 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/poolmanager.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c2/1c/e5/5fa51312038330e0b2d190cc50e351042cf9c3220cf19f68a57018f8b9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/request.py b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/request.py new file mode 120000 index 0000000..9cbe2d3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/request.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/64/54/88/a97d02e968b38b179c0a1677fe8932bbb044bf4959bb5553d2cea1e123 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/response.py b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/response.py new file mode 120000 index 0000000..ac0e668 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/response.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/84/68/46/061ed3904921fc8420e42d56ff1b8f36b8082afe415173f213eab42ee1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/__init__.py b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/__init__.py new file mode 120000 index 0000000..2cf006a --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/24/49/92/9a6aaa2f26b0f0fe75814226661f06c20f62d7349ef83a2a022b67da77 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..bbd46ed Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/__pycache__/connection.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/__pycache__/connection.cpython-38.pyc new file mode 100644 index 0000000..6ac52e1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/__pycache__/connection.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/__pycache__/proxy.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/__pycache__/proxy.cpython-38.pyc new file mode 100644 index 0000000..9144793 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/__pycache__/proxy.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/__pycache__/queue.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/__pycache__/queue.cpython-38.pyc new file mode 100644 index 0000000..8e2e30d Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/__pycache__/queue.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/__pycache__/request.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/__pycache__/request.cpython-38.pyc new file mode 100644 index 0000000..22d6588 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/__pycache__/request.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/__pycache__/response.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/__pycache__/response.cpython-38.pyc new file mode 100644 index 0000000..2aa6320 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/__pycache__/response.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/__pycache__/retry.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/__pycache__/retry.cpython-38.pyc new file mode 100644 index 0000000..6bc67e9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/__pycache__/retry.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/__pycache__/ssl_.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/__pycache__/ssl_.cpython-38.pyc new file mode 100644 index 0000000..19e7d9d Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/__pycache__/ssl_.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/__pycache__/ssltransport.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/__pycache__/ssltransport.cpython-38.pyc new file mode 100644 index 0000000..549f299 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/__pycache__/ssltransport.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/__pycache__/timeout.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/__pycache__/timeout.cpython-38.pyc new file mode 100644 index 0000000..181b422 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/__pycache__/timeout.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/__pycache__/url.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/__pycache__/url.cpython-38.pyc new file mode 100644 index 0000000..8c776d7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/__pycache__/url.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/__pycache__/wait.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/__pycache__/wait.cpython-38.pyc new file mode 100644 index 0000000..aaea3f7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/__pycache__/wait.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/connection.py b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/connection.py new file mode 120000 index 0000000..8e1f6f9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/connection.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2b/29/23/3485f351913378a10ea65e71bcab3a22c1125cff68f5e4eb8c4d16fd8b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/proxy.py b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/proxy.py new file mode 120000 index 0000000..566b556 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/proxy.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/14/68/a9/0049ef66d7b295d5cd8dc7b80c407b633c14f9ae657a9f32e52d2a1d08 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/queue.py b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/queue.py new file mode 120000 index 0000000..ef11ffb --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/queue.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9d/18/17/f3f797fbf564bf1a17d3de905a8cfc3ecd101d4004c482c263fecf9dc3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/request.py b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/request.py new file mode 120000 index 0000000..93e7c9a --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/request.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/36/7c/da/10a4353dabb0e4c14c57a1e68043072137f402e6bd7d0bb38b6b99cc67 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/response.py b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/response.py new file mode 120000 index 0000000..d449adf --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/response.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/18/9a/60/dc4822f6a6895d1c01879c2ff8c36e4566a7e4122ee34a117a8c563f6f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/retry.py b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/retry.py new file mode 120000 index 0000000..47feab2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/retry.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fa/02/10/478d5e205f42b1d163da03d2437e82683a2066eb5f8e75130bd92cde3d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/ssl_.py b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/ssl_.py new file mode 120000 index 0000000..56909ab --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/ssl_.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5c/a7/ad/5afbcff05eb5639bedf1e83f22a62a27470cd26b23753454e9e53bcde2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/ssltransport.py b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/ssltransport.py new file mode 120000 index 0000000..f5aafa3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/ssltransport.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/17/f5/27/70e5c671cf8c81e5854c0d47e100adfd144d41745b17aa278dedd2c876 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/timeout.py b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/timeout.py new file mode 120000 index 0000000..8793df6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/timeout.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/41/26/c1/50d381f7287a0270e7eb54ab2d0d21839a33d08f7eb97106f75009b888 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/url.py b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/url.py new file mode 120000 index 0000000..a932f81 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/url.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/41/51/33/71b1e2a5b5f2096c07e91e0ae1347e37c4f82cce795843303544c198b1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/wait.py b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/wait.py new file mode 120000 index 0000000..8464f01 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/urllib3/util/wait.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/dc/c5/0a/452014243076b60728eea454b245b4cd7180598bd1444e10d7feb194bb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/vendor.txt b/venv/lib/python3.8/site-packages/pip/_vendor/vendor.txt new file mode 120000 index 0000000..c7526fc --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/vendor.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c7/93/80/30fb9544c19557c93307dd5de7bbe6b1d1faffb2d489126d7c8f7f4574 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/webencodings.pyi b/venv/lib/python3.8/site-packages/pip/_vendor/webencodings.pyi new file mode 100644 index 0000000..a11db4d --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/webencodings.pyi @@ -0,0 +1 @@ +from webencodings import * \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/webencodings/LICENSE b/venv/lib/python3.8/site-packages/pip/_vendor/webencodings/LICENSE new file mode 120000 index 0000000..c6e9d04 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/webencodings/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f2/3b/ae/6ada76095610a77137fb92aec7342723900211c5826d54b4c57907ca56 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/webencodings/__init__.py b/venv/lib/python3.8/site-packages/pip/_vendor/webencodings/__init__.py new file mode 120000 index 0000000..73889df --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/webencodings/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a8/e0/49/22e3f2ff8072607e96fdb360245faa610d83a14f9d2ac0eee724560978 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/webencodings/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/webencodings/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..4a0b78b Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/webencodings/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/webencodings/__pycache__/labels.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/webencodings/__pycache__/labels.cpython-38.pyc new file mode 100644 index 0000000..d54ff54 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/webencodings/__pycache__/labels.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/webencodings/__pycache__/mklabels.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/webencodings/__pycache__/mklabels.cpython-38.pyc new file mode 100644 index 0000000..1cf6c3a Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/webencodings/__pycache__/mklabels.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/webencodings/__pycache__/tests.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/webencodings/__pycache__/tests.cpython-38.pyc new file mode 100644 index 0000000..3b3ab75 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/webencodings/__pycache__/tests.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/webencodings/__pycache__/x_user_defined.cpython-38.pyc b/venv/lib/python3.8/site-packages/pip/_vendor/webencodings/__pycache__/x_user_defined.cpython-38.pyc new file mode 100644 index 0000000..74da3f8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pip/_vendor/webencodings/__pycache__/x_user_defined.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/webencodings/labels.py b/venv/lib/python3.8/site-packages/pip/_vendor/webencodings/labels.py new file mode 120000 index 0000000..c4abafd --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/webencodings/labels.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e0/03/bf/2b14dd76a1adacbf67b3b9003e36f409c37ac6c088c5b2b7ec763daf71 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/webencodings/mklabels.py b/venv/lib/python3.8/site-packages/pip/_vendor/webencodings/mklabels.py new file mode 120000 index 0000000..4e69765 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/webencodings/mklabels.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/19/82/1e/cb09e968b9cfd064a273c2c55a0774515bcefe5d4d73a62817ef3b47fe \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/webencodings/tests.py b/venv/lib/python3.8/site-packages/pip/_vendor/webencodings/tests.py new file mode 120000 index 0000000..6f115bf --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/webencodings/tests.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3a/d1/8b/ca384d6357ef916d46bcb27f155f59a2a0bd027ca3afbab79314dbccdb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/_vendor/webencodings/x_user_defined.py b/venv/lib/python3.8/site-packages/pip/_vendor/webencodings/x_user_defined.py new file mode 120000 index 0000000..304aee0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/_vendor/webencodings/x_user_defined.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c8/ea/96/49d9a9cad19f52087f67a258803361a1cf81007cb279e4f5e45af8dad3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pip/py.typed b/venv/lib/python3.8/site-packages/pip/py.typed new file mode 120000 index 0000000..fb27026 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pip/py.typed @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/10/15/6f/bcf4539ff788a73e5ee50ced48276b317ed0c1ded53fddd14a82256762 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pkg_resources/__init__.py b/venv/lib/python3.8/site-packages/pkg_resources/__init__.py new file mode 120000 index 0000000..74ca537 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pkg_resources/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3f/73/cd/377fe6f0926b60ca7e8be4aafb7ae12b9bee562aaa8e7d545ca1df7bb4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pkg_resources/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pkg_resources/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..a2c83cd Binary files /dev/null and b/venv/lib/python3.8/site-packages/pkg_resources/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pkg_resources/_vendor/__init__.py b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pkg_resources/_vendor/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..7a56de5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pkg_resources/_vendor/__pycache__/appdirs.cpython-38.pyc b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/__pycache__/appdirs.cpython-38.pyc new file mode 100644 index 0000000..d72ebb9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/__pycache__/appdirs.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pkg_resources/_vendor/__pycache__/pyparsing.cpython-38.pyc b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/__pycache__/pyparsing.cpython-38.pyc new file mode 100644 index 0000000..bbea642 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/__pycache__/pyparsing.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pkg_resources/_vendor/appdirs.py b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/appdirs.py new file mode 120000 index 0000000..9925f20 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/appdirs.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/32/27/af/504bafde5fe6408487e52174b210e4fc13611c7cd88803eb4f72133782 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__about__.py b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__about__.py new file mode 120000 index 0000000..9438363 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__about__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3c/d3/2c/6999f851c087cae6e044e1f56e5e8296e76e3e3239905ad2a7f660925a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__init__.py b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__init__.py new file mode 120000 index 0000000..101d38d --- /dev/null +++ b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e9/e9/db/a795e045f8c18ec23df9b9f4d078c77f94c7db53c330e2a4256f31c3ec \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/__about__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/__about__.cpython-38.pyc new file mode 100644 index 0000000..f95602e Binary files /dev/null and b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/__about__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..1dedbb0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/_compat.cpython-38.pyc b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/_compat.cpython-38.pyc new file mode 100644 index 0000000..4b994dc Binary files /dev/null and b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/_compat.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/_structures.cpython-38.pyc b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/_structures.cpython-38.pyc new file mode 100644 index 0000000..07bb799 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/_structures.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/_typing.cpython-38.pyc b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/_typing.cpython-38.pyc new file mode 100644 index 0000000..b6f276b Binary files /dev/null and b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/_typing.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/markers.cpython-38.pyc b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/markers.cpython-38.pyc new file mode 100644 index 0000000..f625ea8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/markers.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/requirements.cpython-38.pyc b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/requirements.cpython-38.pyc new file mode 100644 index 0000000..c606fe1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/requirements.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/specifiers.cpython-38.pyc b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/specifiers.cpython-38.pyc new file mode 100644 index 0000000..0753981 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/specifiers.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/tags.cpython-38.pyc b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/tags.cpython-38.pyc new file mode 100644 index 0000000..39e68b5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/tags.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/utils.cpython-38.pyc new file mode 100644 index 0000000..d24e170 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/version.cpython-38.pyc b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/version.cpython-38.pyc new file mode 100644 index 0000000..bc15506 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/version.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/_compat.py b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/_compat.py new file mode 120000 index 0000000..02bf6e2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/_compat.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/31/77/6c/1a9484fd6f99ac7a02f3b6a7748e0b576140c14ec72cbf9e1defc28e15 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/_structures.py b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/_structures.py new file mode 120000 index 0000000..0c9b63e --- /dev/null +++ b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/_structures.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a3/39/02/5fc43c7f6a84d4489cdd8890e1bb8355f833da261ebd8f5eed1db2de26 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/_typing.py b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/_typing.py new file mode 120000 index 0000000..4efa579 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/_typing.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c7/9f/44/850e7b4cc4fe9134722d9576e4766f6061b06ee713a3a88a87f3b4b4cc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/markers.py b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/markers.py new file mode 120000 index 0000000..5cc234e --- /dev/null +++ b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/markers.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/61/29/ed/4243272b2c35fc51baa1134d9c6c4b2fa6c0c5c1973adb8513e6134b79 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/requirements.py b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/requirements.py new file mode 120000 index 0000000..00f3822 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/requirements.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/47/c2/b8/1f8c57fe20f82efa46c35537a2eb8f6c637ec33b05803edbae100cef56 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/specifiers.py b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/specifiers.py new file mode 120000 index 0000000..ece824d --- /dev/null +++ b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/specifiers.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b9/8a/7d/975dc5d0b7249d2e9de0deb4cad88180598884a89d78eabd027b314dca \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/tags.py b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/tags.py new file mode 120000 index 0000000..beacd8e --- /dev/null +++ b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/tags.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/34/a3/12/dfb668fe75ab67182c0facdb5ec5e073d79d9fd9b5eb470188b98725d1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/utils.py b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/utils.py new file mode 120000 index 0000000..a95e7b5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/45/28/65/be78ced82b58483f2eae2df67eb30c14c4e607ede286cab5fa08732c4c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/version.py b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/version.py new file mode 120000 index 0000000..11b83ff --- /dev/null +++ b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/version.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0a/76/e6/f8e3bd0ffa9df194c5c7315c8d26af7b14981599b279aa0fbccb2380f7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pkg_resources/_vendor/pyparsing.py b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/pyparsing.py new file mode 120000 index 0000000..24511a7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pkg_resources/_vendor/pyparsing.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b6/6a/e9/fa5bbea8ed62ef967320de40d769ca4510f50a6e15a64fb92d1f6b8a6b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pkg_resources/extern/__init__.py b/venv/lib/python3.8/site-packages/pkg_resources/extern/__init__.py new file mode 120000 index 0000000..9c11b1e --- /dev/null +++ b/venv/lib/python3.8/site-packages/pkg_resources/extern/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/dc/f8/b1/693f53cf3778368c95e8256119ded2ffd67e539caf31601fb592af0ba9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pkg_resources/extern/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pkg_resources/extern/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..fa630ec Binary files /dev/null and b/venv/lib/python3.8/site-packages/pkg_resources/extern/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pkg_resources/tests/data/my-test-package-source/__pycache__/setup.cpython-38.pyc b/venv/lib/python3.8/site-packages/pkg_resources/tests/data/my-test-package-source/__pycache__/setup.cpython-38.pyc new file mode 100644 index 0000000..0da319c Binary files /dev/null and b/venv/lib/python3.8/site-packages/pkg_resources/tests/data/my-test-package-source/__pycache__/setup.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pkg_resources/tests/data/my-test-package-source/setup.py b/venv/lib/python3.8/site-packages/pkg_resources/tests/data/my-test-package-source/setup.py new file mode 120000 index 0000000..57337b6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pkg_resources/tests/data/my-test-package-source/setup.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/32/b7/b3/9779eac646248c26292319a3861838011f21822e1065d1189a4f88ed1f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pkginfo-1.8.3.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/pkginfo-1.8.3.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/pkginfo-1.8.3.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/pkginfo-1.8.3.dist-info/LICENSE.txt b/venv/lib/python3.8/site-packages/pkginfo-1.8.3.dist-info/LICENSE.txt new file mode 120000 index 0000000..ad70374 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pkginfo-1.8.3.dist-info/LICENSE.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/08/ea/83/077299fd21f6a14a1c9ba90da7d66162b6506d07c4471c4096ad8f1cd8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pkginfo-1.8.3.dist-info/METADATA b/venv/lib/python3.8/site-packages/pkginfo-1.8.3.dist-info/METADATA new file mode 120000 index 0000000..0b9c4b0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pkginfo-1.8.3.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c0/ff/a8/251071255597b0e544e45dbd077fe162a9fb046ae6d503f8f48d721fe0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pkginfo-1.8.3.dist-info/RECORD b/venv/lib/python3.8/site-packages/pkginfo-1.8.3.dist-info/RECORD new file mode 100644 index 0000000..b4a251d --- /dev/null +++ b/venv/lib/python3.8/site-packages/pkginfo-1.8.3.dist-info/RECORD @@ -0,0 +1,50 @@ +../../../bin/pkginfo,sha256=kQKpTAKA0rmhVN04mfN5kN3ndk30Dnmx2XQaMDbqVc8,222 +pkginfo-1.8.3.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +pkginfo-1.8.3.dist-info/LICENSE.txt,sha256=COqDB3KZ_SH2oUocm6kNp9ZhYrZQbQfERxxAlq2PHNg,1084 +pkginfo-1.8.3.dist-info/METADATA,sha256=wP-oJRBxJVWXsOVE5F29B3_hYqn7BGrm1QP49I1yH-A,9876 +pkginfo-1.8.3.dist-info/RECORD,, +pkginfo-1.8.3.dist-info/WHEEL,sha256=WzZ8cwjh8l0jtULNjYq1Hpr-WCqCRgPr--TX4P5I1Wo,110 +pkginfo-1.8.3.dist-info/entry_points.txt,sha256=65vc6VRBZnQO8jR0ojzNHY8djentDdDtuOmWMqh1MVI,54 +pkginfo-1.8.3.dist-info/top_level.txt,sha256=35W-dHC-lX-FbFRkgsH2scbseARoxs4S6eITYUDBWF8,8 +pkginfo/__init__.py,sha256=7Zym9LqmFsmqsyRlIr9Aym87lXnRGsqaJ-L-ppUdI30,266 +pkginfo/__pycache__/__init__.cpython-38.pyc,, +pkginfo/__pycache__/_compat.cpython-38.pyc,, +pkginfo/__pycache__/bdist.cpython-38.pyc,, +pkginfo/__pycache__/commandline.cpython-38.pyc,, +pkginfo/__pycache__/develop.cpython-38.pyc,, +pkginfo/__pycache__/distribution.cpython-38.pyc,, +pkginfo/__pycache__/index.cpython-38.pyc,, +pkginfo/__pycache__/installed.cpython-38.pyc,, +pkginfo/__pycache__/sdist.cpython-38.pyc,, +pkginfo/__pycache__/utils.cpython-38.pyc,, +pkginfo/__pycache__/wheel.cpython-38.pyc,, +pkginfo/_compat.py,sha256=mfdcZFIFadHv5urY3mHWqu3fI3nRq68IExD9isNA4FI,885 +pkginfo/bdist.py,sha256=zBM1mlZJRr0L7nQa9ki6yrjB7ntXwH5ThEOZvlrr1bE,1198 +pkginfo/commandline.py,sha256=wkBwSNO1HGMC-O0-XQ-aPaaVrZZ9IeNy-y26_05wPV8,7506 +pkginfo/develop.py,sha256=od8ejHV3jCILIMm3SWA8ThoGynCK4jroXPupP-_FEH0,1577 +pkginfo/distribution.py,sha256=xdNcgMWrKBTw1uS7zZkDgGyjAFMLPqum3eS-ltVDl3Q,4402 +pkginfo/index.py,sha256=TrlyjbIIv2vgadKeAUMmo-mgI4D6ozoFOYGZm-sFsTc,518 +pkginfo/installed.py,sha256=nXvH3MPfVSXLUVQ1fmcCpSMr77srh2mh5Q_1-kxKOHk,2535 +pkginfo/sdist.py,sha256=6193eHiJeSBEgzdcNStdzRrz0VoMFHehS5jPgaD9cJs,2347 +pkginfo/tests/__init__.py,sha256=SeDamdKl4xodNfGrNoVXWI46FfUaIPkHGjdhoVMmGtU,1389 +pkginfo/tests/__pycache__/__init__.cpython-38.pyc,, +pkginfo/tests/__pycache__/test_bdist.cpython-38.pyc,, +pkginfo/tests/__pycache__/test_commandline.cpython-38.pyc,, +pkginfo/tests/__pycache__/test_develop.cpython-38.pyc,, +pkginfo/tests/__pycache__/test_distribution.cpython-38.pyc,, +pkginfo/tests/__pycache__/test_index.cpython-38.pyc,, +pkginfo/tests/__pycache__/test_installed.cpython-38.pyc,, +pkginfo/tests/__pycache__/test_sdist.cpython-38.pyc,, +pkginfo/tests/__pycache__/test_utils.cpython-38.pyc,, +pkginfo/tests/__pycache__/test_wheel.cpython-38.pyc,, +pkginfo/tests/test_bdist.py,sha256=rp6-1HikyL9n9Kd593uzcroPaxWoIRoFdlve0yuKV2A,2279 +pkginfo/tests/test_commandline.py,sha256=XUkX46jg_R0QAallCDC0snk6he9Rjj0jo8vaMhBF64c,12132 +pkginfo/tests/test_develop.py,sha256=9h6nIs6Ppqcah10m1MU3Je8XTwacbD05m_v7jmwDikw,831 +pkginfo/tests/test_distribution.py,sha256=7oNngI2uj5VvEm8NjEm8Q1VFpNxHw90qYYnPnO2Fu9c,18519 +pkginfo/tests/test_index.py,sha256=FKnpRdUApaNp9Z5hKfHKScnzUvgN8VrEKtQdLOJPXIY,2636 +pkginfo/tests/test_installed.py,sha256=dh0UEKBfel9aiT2WzIOMPfAt1CqRyP-Nq0IihGLUDzc,5795 +pkginfo/tests/test_sdist.py,sha256=rhAvSYfROwmXbAaQUuk9AERrpUwths9C2dcksxnvQZQ,5481 +pkginfo/tests/test_utils.py,sha256=hzcDNW-Ral6KM-RJOCwC80vvrzPR8PUiHjBjl8fjV5s,6835 +pkginfo/tests/test_wheel.py,sha256=UXsPnxFH9mwnVq0_dpinsbFMzf1X42iqZSs6LG3lHrw,4443 +pkginfo/utils.py,sha256=kM-HrDHkXSEfeNjJp0EsjK5x3vYc_jGaUrGkPfU9MyQ,1786 +pkginfo/wheel.py,sha256=Lm7a6ufPk4P6-lSmhPu8xFADyPZCQCsASI-afUJcPKU,1624 diff --git a/venv/lib/python3.8/site-packages/pkginfo-1.8.3.dist-info/WHEEL b/venv/lib/python3.8/site-packages/pkginfo-1.8.3.dist-info/WHEEL new file mode 120000 index 0000000..cd83a08 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pkginfo-1.8.3.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5b/36/7c/7308e1f25d23b542cd8d8ab51e9afe582a824603ebfbe4d7e0fe48d56a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pkginfo-1.8.3.dist-info/entry_points.txt b/venv/lib/python3.8/site-packages/pkginfo-1.8.3.dist-info/entry_points.txt new file mode 120000 index 0000000..a70bcf1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pkginfo-1.8.3.dist-info/entry_points.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/eb/9b/dc/e9544166740ef23474a23ccd1d8f1d8de9ed0dd0edb8e99632a8753152 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pkginfo-1.8.3.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/pkginfo-1.8.3.dist-info/top_level.txt new file mode 120000 index 0000000..bc7c3b8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pkginfo-1.8.3.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/df/95/be/7470be957f856c546482c1f6b1c6ec780468c6ce12e9e2136140c1585f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pkginfo/__init__.py b/venv/lib/python3.8/site-packages/pkginfo/__init__.py new file mode 120000 index 0000000..ffec044 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pkginfo/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ed/9c/a6/f4baa616c9aab3246522bf40ca6f3b9579d11aca9a27e2fea6951d237d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pkginfo/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pkginfo/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..e975a1b Binary files /dev/null and b/venv/lib/python3.8/site-packages/pkginfo/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pkginfo/__pycache__/_compat.cpython-38.pyc b/venv/lib/python3.8/site-packages/pkginfo/__pycache__/_compat.cpython-38.pyc new file mode 100644 index 0000000..f631769 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pkginfo/__pycache__/_compat.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pkginfo/__pycache__/bdist.cpython-38.pyc b/venv/lib/python3.8/site-packages/pkginfo/__pycache__/bdist.cpython-38.pyc new file mode 100644 index 0000000..dbd76f9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pkginfo/__pycache__/bdist.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pkginfo/__pycache__/commandline.cpython-38.pyc b/venv/lib/python3.8/site-packages/pkginfo/__pycache__/commandline.cpython-38.pyc new file mode 100644 index 0000000..4642c95 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pkginfo/__pycache__/commandline.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pkginfo/__pycache__/develop.cpython-38.pyc b/venv/lib/python3.8/site-packages/pkginfo/__pycache__/develop.cpython-38.pyc new file mode 100644 index 0000000..9b69459 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pkginfo/__pycache__/develop.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pkginfo/__pycache__/distribution.cpython-38.pyc b/venv/lib/python3.8/site-packages/pkginfo/__pycache__/distribution.cpython-38.pyc new file mode 100644 index 0000000..55e6595 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pkginfo/__pycache__/distribution.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pkginfo/__pycache__/index.cpython-38.pyc b/venv/lib/python3.8/site-packages/pkginfo/__pycache__/index.cpython-38.pyc new file mode 100644 index 0000000..b2d0a9c Binary files /dev/null and b/venv/lib/python3.8/site-packages/pkginfo/__pycache__/index.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pkginfo/__pycache__/installed.cpython-38.pyc b/venv/lib/python3.8/site-packages/pkginfo/__pycache__/installed.cpython-38.pyc new file mode 100644 index 0000000..65d6165 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pkginfo/__pycache__/installed.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pkginfo/__pycache__/sdist.cpython-38.pyc b/venv/lib/python3.8/site-packages/pkginfo/__pycache__/sdist.cpython-38.pyc new file mode 100644 index 0000000..66f31e2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pkginfo/__pycache__/sdist.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pkginfo/__pycache__/utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/pkginfo/__pycache__/utils.cpython-38.pyc new file mode 100644 index 0000000..c1c44d1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pkginfo/__pycache__/utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pkginfo/__pycache__/wheel.cpython-38.pyc b/venv/lib/python3.8/site-packages/pkginfo/__pycache__/wheel.cpython-38.pyc new file mode 100644 index 0000000..182a20a Binary files /dev/null and b/venv/lib/python3.8/site-packages/pkginfo/__pycache__/wheel.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pkginfo/_compat.py b/venv/lib/python3.8/site-packages/pkginfo/_compat.py new file mode 120000 index 0000000..35cc0dc --- /dev/null +++ b/venv/lib/python3.8/site-packages/pkginfo/_compat.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/99/f7/5c/64520569d1efe6ead8de61d6aaeddf2379d1abaf081310fd8ac340e052 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pkginfo/bdist.py b/venv/lib/python3.8/site-packages/pkginfo/bdist.py new file mode 120000 index 0000000..f92443c --- /dev/null +++ b/venv/lib/python3.8/site-packages/pkginfo/bdist.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cc/13/35/9a564946bd0bee741af648bacab8c1ee7b57c07e53844399be5aebd5b1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pkginfo/commandline.py b/venv/lib/python3.8/site-packages/pkginfo/commandline.py new file mode 120000 index 0000000..dac68ef --- /dev/null +++ b/venv/lib/python3.8/site-packages/pkginfo/commandline.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c2/40/70/48d3b51c6302f8ed3e5d0f9a3da695ad967d21e372fb2dbaff4e703d5f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pkginfo/develop.py b/venv/lib/python3.8/site-packages/pkginfo/develop.py new file mode 120000 index 0000000..be90690 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pkginfo/develop.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a1/df/1e/8c75778c220b20c9b749603c4e1a06ca708ae23ae85cfba93fefc5107d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pkginfo/distribution.py b/venv/lib/python3.8/site-packages/pkginfo/distribution.py new file mode 120000 index 0000000..1399970 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pkginfo/distribution.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c5/d3/5c/80c5ab2814f0d6e4bbcd9903806ca300530b3eaba6dde4be96d5439774 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pkginfo/index.py b/venv/lib/python3.8/site-packages/pkginfo/index.py new file mode 120000 index 0000000..8908320 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pkginfo/index.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4e/b9/72/8db208bf6be069d29e014326a3e9a02380faa33a053981999beb05b137 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pkginfo/installed.py b/venv/lib/python3.8/site-packages/pkginfo/installed.py new file mode 120000 index 0000000..42618c3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pkginfo/installed.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9d/7b/c7/dcc3df5525cb5154357e6702a5232befbb2b8769a1e50ff5fa4c4a3879 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pkginfo/sdist.py b/venv/lib/python3.8/site-packages/pkginfo/sdist.py new file mode 120000 index 0000000..bc510cf --- /dev/null +++ b/venv/lib/python3.8/site-packages/pkginfo/sdist.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/eb/5f/77/78788979204483375c352b5dcd1af3d15a0c1477a14b98cf81a0fd709b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pkginfo/tests/__init__.py b/venv/lib/python3.8/site-packages/pkginfo/tests/__init__.py new file mode 120000 index 0000000..acf2e75 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pkginfo/tests/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/49/e0/da/99d2a5e31a1d35f1ab368557588e3a15f51a20f9071a3761a153261ad5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pkginfo/tests/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pkginfo/tests/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..e5490dc Binary files /dev/null and b/venv/lib/python3.8/site-packages/pkginfo/tests/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pkginfo/tests/__pycache__/test_bdist.cpython-38.pyc b/venv/lib/python3.8/site-packages/pkginfo/tests/__pycache__/test_bdist.cpython-38.pyc new file mode 100644 index 0000000..d48405a Binary files /dev/null and b/venv/lib/python3.8/site-packages/pkginfo/tests/__pycache__/test_bdist.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pkginfo/tests/__pycache__/test_commandline.cpython-38.pyc b/venv/lib/python3.8/site-packages/pkginfo/tests/__pycache__/test_commandline.cpython-38.pyc new file mode 100644 index 0000000..72cecd2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pkginfo/tests/__pycache__/test_commandline.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pkginfo/tests/__pycache__/test_develop.cpython-38.pyc b/venv/lib/python3.8/site-packages/pkginfo/tests/__pycache__/test_develop.cpython-38.pyc new file mode 100644 index 0000000..ce38741 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pkginfo/tests/__pycache__/test_develop.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pkginfo/tests/__pycache__/test_distribution.cpython-38.pyc b/venv/lib/python3.8/site-packages/pkginfo/tests/__pycache__/test_distribution.cpython-38.pyc new file mode 100644 index 0000000..a8d66b9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pkginfo/tests/__pycache__/test_distribution.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pkginfo/tests/__pycache__/test_index.cpython-38.pyc b/venv/lib/python3.8/site-packages/pkginfo/tests/__pycache__/test_index.cpython-38.pyc new file mode 100644 index 0000000..4d1e939 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pkginfo/tests/__pycache__/test_index.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pkginfo/tests/__pycache__/test_installed.cpython-38.pyc b/venv/lib/python3.8/site-packages/pkginfo/tests/__pycache__/test_installed.cpython-38.pyc new file mode 100644 index 0000000..33d90ce Binary files /dev/null and b/venv/lib/python3.8/site-packages/pkginfo/tests/__pycache__/test_installed.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pkginfo/tests/__pycache__/test_sdist.cpython-38.pyc b/venv/lib/python3.8/site-packages/pkginfo/tests/__pycache__/test_sdist.cpython-38.pyc new file mode 100644 index 0000000..b7992fc Binary files /dev/null and b/venv/lib/python3.8/site-packages/pkginfo/tests/__pycache__/test_sdist.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pkginfo/tests/__pycache__/test_utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/pkginfo/tests/__pycache__/test_utils.cpython-38.pyc new file mode 100644 index 0000000..1acedb2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pkginfo/tests/__pycache__/test_utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pkginfo/tests/__pycache__/test_wheel.cpython-38.pyc b/venv/lib/python3.8/site-packages/pkginfo/tests/__pycache__/test_wheel.cpython-38.pyc new file mode 100644 index 0000000..b52133d Binary files /dev/null and b/venv/lib/python3.8/site-packages/pkginfo/tests/__pycache__/test_wheel.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pkginfo/tests/test_bdist.py b/venv/lib/python3.8/site-packages/pkginfo/tests/test_bdist.py new file mode 120000 index 0000000..667375e --- /dev/null +++ b/venv/lib/python3.8/site-packages/pkginfo/tests/test_bdist.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ae/9e/be/d478a4c8bf67f4a779f77bb372ba0f6b15a8211a05765bded32b8a5760 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pkginfo/tests/test_commandline.py b/venv/lib/python3.8/site-packages/pkginfo/tests/test_commandline.py new file mode 120000 index 0000000..a87b272 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pkginfo/tests/test_commandline.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5d/49/17/e3a8e0fd1d1001a9650830b4b2793a85ef518e3d23a3cbda321045eb87 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pkginfo/tests/test_develop.py b/venv/lib/python3.8/site-packages/pkginfo/tests/test_develop.py new file mode 120000 index 0000000..86f65ec --- /dev/null +++ b/venv/lib/python3.8/site-packages/pkginfo/tests/test_develop.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f6/1e/a7/22ce8fa6a71a875d26d4c53725ef174f069c6c3d399bfbfb8e6c038a4c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pkginfo/tests/test_distribution.py b/venv/lib/python3.8/site-packages/pkginfo/tests/test_distribution.py new file mode 120000 index 0000000..1eda6d8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pkginfo/tests/test_distribution.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ee/83/67/808dae8f956f126f0d8c49bc435545a4dc47c3dd2a6189cf9ced85bbd7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pkginfo/tests/test_index.py b/venv/lib/python3.8/site-packages/pkginfo/tests/test_index.py new file mode 120000 index 0000000..c8aff1c --- /dev/null +++ b/venv/lib/python3.8/site-packages/pkginfo/tests/test_index.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/14/a9/e9/45d500a5a369f59e6129f1ca49c9f352f80df15ac42ad41d2ce24f5c86 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pkginfo/tests/test_installed.py b/venv/lib/python3.8/site-packages/pkginfo/tests/test_installed.py new file mode 120000 index 0000000..7b94481 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pkginfo/tests/test_installed.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/76/1d/14/10a05f7a5f5a893d96cc838c3df02dd42a91c8ff8dab42228462d40f37 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pkginfo/tests/test_sdist.py b/venv/lib/python3.8/site-packages/pkginfo/tests/test_sdist.py new file mode 120000 index 0000000..dbd9032 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pkginfo/tests/test_sdist.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ae/10/2f/4987d13b09976c069052e93d00446ba54c2d86cf42d9d724b319ef4194 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pkginfo/tests/test_utils.py b/venv/lib/python3.8/site-packages/pkginfo/tests/test_utils.py new file mode 120000 index 0000000..1f5c4ec --- /dev/null +++ b/venv/lib/python3.8/site-packages/pkginfo/tests/test_utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/87/37/03/356f916a5e8a33e449382c02f34befaf33d1f0f5221e306397c7e3579b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pkginfo/tests/test_wheel.py b/venv/lib/python3.8/site-packages/pkginfo/tests/test_wheel.py new file mode 120000 index 0000000..29e0ce9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pkginfo/tests/test_wheel.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/51/7b/0f/9f1147f66c2756ad3f7698a7b1b14ccdfd57e368aa652b3a2c6de51ebc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pkginfo/utils.py b/venv/lib/python3.8/site-packages/pkginfo/utils.py new file mode 120000 index 0000000..a96b86a --- /dev/null +++ b/venv/lib/python3.8/site-packages/pkginfo/utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/90/cf/87/ac31e45d211f78d8c9a7412c8cae71def61cfe319a52b1a43df53d3324 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pkginfo/wheel.py b/venv/lib/python3.8/site-packages/pkginfo/wheel.py new file mode 120000 index 0000000..8ad0b6b --- /dev/null +++ b/venv/lib/python3.8/site-packages/pkginfo/wheel.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2e/6e/da/eae7cf9383fafa54a684fbbcc45003c8f642402b00488f9a7d425c3ca5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/platformdirs-2.5.2.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/platformdirs-2.5.2.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/platformdirs-2.5.2.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/platformdirs-2.5.2.dist-info/METADATA b/venv/lib/python3.8/site-packages/platformdirs-2.5.2.dist-info/METADATA new file mode 120000 index 0000000..5e74094 --- /dev/null +++ b/venv/lib/python3.8/site-packages/platformdirs-2.5.2.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b2/0d/ed/e898aac3760bf013833315ace33d16ceaadcb9d06a6c5a52476f169ec6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/platformdirs-2.5.2.dist-info/RECORD b/venv/lib/python3.8/site-packages/platformdirs-2.5.2.dist-info/RECORD new file mode 100644 index 0000000..47b0e53 --- /dev/null +++ b/venv/lib/python3.8/site-packages/platformdirs-2.5.2.dist-info/RECORD @@ -0,0 +1,23 @@ +platformdirs-2.5.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +platformdirs-2.5.2.dist-info/METADATA,sha256=sg3t6Jiqw3YL8BODMxWs4z0WzqrcudBqbFpSR28WnsY,9394 +platformdirs-2.5.2.dist-info/RECORD,, +platformdirs-2.5.2.dist-info/WHEEL,sha256=sb4ZHsmozXdkdXRvpMHZmhxsxQvL8DERDUEGA9tAfc8,83 +platformdirs-2.5.2.dist-info/entry_points.txt,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +platformdirs-2.5.2.dist-info/license_files/LICENSE.txt,sha256=1l7lsqNqOR6Nau_OuArlAGMEml2xS8gk7g8eusmXDlA,1096 +platformdirs/__init__.py,sha256=dSnbrJunkEvMf9qODHnKBa_-13B0k5skznLx2iNp2Mg,12759 +platformdirs/__main__.py,sha256=VsC0t5m-6f0YVr96PVks93G3EDF8MSNY4KpUMvPahDA,1164 +platformdirs/__pycache__/__init__.cpython-38.pyc,, +platformdirs/__pycache__/__main__.cpython-38.pyc,, +platformdirs/__pycache__/android.cpython-38.pyc,, +platformdirs/__pycache__/api.cpython-38.pyc,, +platformdirs/__pycache__/macos.cpython-38.pyc,, +platformdirs/__pycache__/unix.cpython-38.pyc,, +platformdirs/__pycache__/version.cpython-38.pyc,, +platformdirs/__pycache__/windows.cpython-38.pyc,, +platformdirs/android.py,sha256=GKizhyS7ESRiU67u8UnBJLm46goau9937EchXWbPBlk,4068 +platformdirs/api.py,sha256=MXKHXOL3eh_-trSok-JUTjAR_zjmmKF3rjREVABjP8s,4910 +platformdirs/macos.py,sha256=-3UXQewbT0yMhMdkzRXfXGAntmLIH7Qt4a9Hlf8I5_Y,2655 +platformdirs/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +platformdirs/unix.py,sha256=b4aVYTz0qZ50HntwOXo8r6tp82jAa3qTjxw-WlnC2yc,6910 +platformdirs/version.py,sha256=tsBKKPDX3LLh39yHXeTYauGRbRd-AmOJr9SwKldlFIU,78 +platformdirs/windows.py,sha256=ISruopR5UGBePC0BxCxXevkZYfjJsIZc49YWU5iYfQ4,6439 diff --git a/venv/lib/python3.8/site-packages/platformdirs-2.5.2.dist-info/WHEEL b/venv/lib/python3.8/site-packages/platformdirs-2.5.2.dist-info/WHEEL new file mode 120000 index 0000000..5d1acd7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/platformdirs-2.5.2.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b1/be/19/1ec9a8cd776475746fa4c1d99a1c6cc50bcbf031110d410603db407dcf \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/platformdirs-2.5.2.dist-info/entry_points.txt b/venv/lib/python3.8/site-packages/platformdirs-2.5.2.dist-info/entry_points.txt new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/platformdirs-2.5.2.dist-info/entry_points.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/platformdirs-2.5.2.dist-info/license_files/LICENSE.txt b/venv/lib/python3.8/site-packages/platformdirs-2.5.2.dist-info/license_files/LICENSE.txt new file mode 120000 index 0000000..404aaf8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/platformdirs-2.5.2.dist-info/license_files/LICENSE.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d6/5e/e5/b2a36a391e8d6aefceb80ae50063049a5db14bc824ee0f1ebac9970e50 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/platformdirs/__init__.py b/venv/lib/python3.8/site-packages/platformdirs/__init__.py new file mode 120000 index 0000000..0c551ed --- /dev/null +++ b/venv/lib/python3.8/site-packages/platformdirs/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/75/29/db/ac9ba7904bcc7fda8e0c79ca05affed77074939b24ce72f1da2369d8c8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/platformdirs/__main__.py b/venv/lib/python3.8/site-packages/platformdirs/__main__.py new file mode 120000 index 0000000..d70d751 --- /dev/null +++ b/venv/lib/python3.8/site-packages/platformdirs/__main__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/56/c0/b4/b799bee9fd1856bf7a3d592cf771b710317c312358e0aa5432f3da8430 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/platformdirs/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/platformdirs/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..574c313 Binary files /dev/null and b/venv/lib/python3.8/site-packages/platformdirs/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/platformdirs/__pycache__/__main__.cpython-38.pyc b/venv/lib/python3.8/site-packages/platformdirs/__pycache__/__main__.cpython-38.pyc new file mode 100644 index 0000000..b8719e8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/platformdirs/__pycache__/__main__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/platformdirs/__pycache__/android.cpython-38.pyc b/venv/lib/python3.8/site-packages/platformdirs/__pycache__/android.cpython-38.pyc new file mode 100644 index 0000000..c0cc50f Binary files /dev/null and b/venv/lib/python3.8/site-packages/platformdirs/__pycache__/android.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/platformdirs/__pycache__/api.cpython-38.pyc b/venv/lib/python3.8/site-packages/platformdirs/__pycache__/api.cpython-38.pyc new file mode 100644 index 0000000..caf6142 Binary files /dev/null and b/venv/lib/python3.8/site-packages/platformdirs/__pycache__/api.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/platformdirs/__pycache__/macos.cpython-38.pyc b/venv/lib/python3.8/site-packages/platformdirs/__pycache__/macos.cpython-38.pyc new file mode 100644 index 0000000..db38db8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/platformdirs/__pycache__/macos.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/platformdirs/__pycache__/unix.cpython-38.pyc b/venv/lib/python3.8/site-packages/platformdirs/__pycache__/unix.cpython-38.pyc new file mode 100644 index 0000000..c46acde Binary files /dev/null and b/venv/lib/python3.8/site-packages/platformdirs/__pycache__/unix.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/platformdirs/__pycache__/version.cpython-38.pyc b/venv/lib/python3.8/site-packages/platformdirs/__pycache__/version.cpython-38.pyc new file mode 100644 index 0000000..5d22043 Binary files /dev/null and b/venv/lib/python3.8/site-packages/platformdirs/__pycache__/version.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/platformdirs/__pycache__/windows.cpython-38.pyc b/venv/lib/python3.8/site-packages/platformdirs/__pycache__/windows.cpython-38.pyc new file mode 100644 index 0000000..b2f5a18 Binary files /dev/null and b/venv/lib/python3.8/site-packages/platformdirs/__pycache__/windows.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/platformdirs/android.py b/venv/lib/python3.8/site-packages/platformdirs/android.py new file mode 120000 index 0000000..0940fd8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/platformdirs/android.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/18/a8/b3/8724bb11246253aeeef149c124b9b8ea0a1abbdf77ec47215d66cf0659 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/platformdirs/api.py b/venv/lib/python3.8/site-packages/platformdirs/api.py new file mode 120000 index 0000000..8dead94 --- /dev/null +++ b/venv/lib/python3.8/site-packages/platformdirs/api.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/31/72/87/5ce2f77a1ffeb6b4a893e2544e3011ff38e698a177ae34445400633fcb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/platformdirs/macos.py b/venv/lib/python3.8/site-packages/platformdirs/macos.py new file mode 120000 index 0000000..fd1a652 --- /dev/null +++ b/venv/lib/python3.8/site-packages/platformdirs/macos.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fb/75/17/41ec1b4f4c8c84c764cd15df5c6027b662c81fb42de1af4795ff08e7f6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/platformdirs/py.typed b/venv/lib/python3.8/site-packages/platformdirs/py.typed new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/platformdirs/py.typed @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/platformdirs/unix.py b/venv/lib/python3.8/site-packages/platformdirs/unix.py new file mode 120000 index 0000000..c04f526 --- /dev/null +++ b/venv/lib/python3.8/site-packages/platformdirs/unix.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6f/86/95/613cf4a99e741e7b70397a3cafab69f368c06b7a938f1c3e5a59c2db27 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/platformdirs/version.py b/venv/lib/python3.8/site-packages/platformdirs/version.py new file mode 120000 index 0000000..0e90696 --- /dev/null +++ b/venv/lib/python3.8/site-packages/platformdirs/version.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b6/c0/4a/28f0d7dcb2e1dfdc875de4d86ae1916d177e026389afd4b02a57651485 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/platformdirs/windows.py b/venv/lib/python3.8/site-packages/platformdirs/windows.py new file mode 120000 index 0000000..c33ef8b --- /dev/null +++ b/venv/lib/python3.8/site-packages/platformdirs/windows.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/21/2a/ee/a2947950605e3c2d01c42c577af91961f8c9b0865ce3d6165398987d0e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pluggy-1.0.0.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/pluggy-1.0.0.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/pluggy-1.0.0.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/pluggy-1.0.0.dist-info/LICENSE b/venv/lib/python3.8/site-packages/pluggy-1.0.0.dist-info/LICENSE new file mode 120000 index 0000000..0f4648a --- /dev/null +++ b/venv/lib/python3.8/site-packages/pluggy-1.0.0.dist-info/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d6/b6/5e/6c213a5d0b577911d34d6e5949b9f59d76c238c5071a2f3fc16cfb2606 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pluggy-1.0.0.dist-info/METADATA b/venv/lib/python3.8/site-packages/pluggy-1.0.0.dist-info/METADATA new file mode 120000 index 0000000..777261f --- /dev/null +++ b/venv/lib/python3.8/site-packages/pluggy-1.0.0.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/43/90/fb/b88db556b10e3dbe970f470ce2f635664a6dc9bda2388638dcc1dfc172 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pluggy-1.0.0.dist-info/RECORD b/venv/lib/python3.8/site-packages/pluggy-1.0.0.dist-info/RECORD new file mode 100644 index 0000000..bb00d94 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pluggy-1.0.0.dist-info/RECORD @@ -0,0 +1,22 @@ +pluggy-1.0.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +pluggy-1.0.0.dist-info/LICENSE,sha256=1rZebCE6XQtXeRHTTW5ZSbn1nXbCOMUHGi8_wWz7JgY,1110 +pluggy-1.0.0.dist-info/METADATA,sha256=Q5D7uI21VrEOPb6XD0cM4vY1Zkptyb2iOIY43MHfwXI,4345 +pluggy-1.0.0.dist-info/RECORD,, +pluggy-1.0.0.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +pluggy-1.0.0.dist-info/WHEEL,sha256=WzZ8cwjh8l0jtULNjYq1Hpr-WCqCRgPr--TX4P5I1Wo,110 +pluggy-1.0.0.dist-info/direct_url.json,sha256=JHs_xLoYnfLHJe27ePCxa1-7ntwm4yGuXugCdrxqZR0,252 +pluggy-1.0.0.dist-info/top_level.txt,sha256=xKSCRhai-v9MckvMuWqNz16c1tbsmOggoMSwTgcpYHE,7 +pluggy/__init__.py,sha256=4_jjNtDnnx6BewYDJ4qFZkcX4l4Jn0B3HqOtdsAQvUE,489 +pluggy/__pycache__/__init__.cpython-38.pyc,, +pluggy/__pycache__/_callers.cpython-38.pyc,, +pluggy/__pycache__/_hooks.cpython-38.pyc,, +pluggy/__pycache__/_manager.cpython-38.pyc,, +pluggy/__pycache__/_result.cpython-38.pyc,, +pluggy/__pycache__/_tracing.cpython-38.pyc,, +pluggy/__pycache__/_version.cpython-38.pyc,, +pluggy/_callers.py,sha256=lq2KNXazhKr-KF_GJPw4vsY2EHwQ5ON2dSiZUCtaeQw,2097 +pluggy/_hooks.py,sha256=OQPnqv7J7ufLZVQSICHpNw4AYWdXDwTVfeYCL_ZEwRM,11496 +pluggy/_manager.py,sha256=mKQniNqj_LPtt35r6dELbRPrqEdZ_iPL6VdFyx7987o,14752 +pluggy/_result.py,sha256=sLTL034QA3Sfke8ptadUkvoWW5iQ1PvzyoC_7F2eQfg,1535 +pluggy/_tracing.py,sha256=xSv4V1pU_ik8pVCpobTH8gnjB3DQ4iing3tv-bDuHtA,1541 +pluggy/_version.py,sha256=YDhpFAXgv37cmY1pZn8kQNcYAOwj883BhWAtoaziSG4,142 diff --git a/venv/lib/python3.8/site-packages/pluggy-1.0.0.dist-info/REQUESTED b/venv/lib/python3.8/site-packages/pluggy-1.0.0.dist-info/REQUESTED new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.8/site-packages/pluggy-1.0.0.dist-info/WHEEL b/venv/lib/python3.8/site-packages/pluggy-1.0.0.dist-info/WHEEL new file mode 120000 index 0000000..cd83a08 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pluggy-1.0.0.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5b/36/7c/7308e1f25d23b542cd8d8ab51e9afe582a824603ebfbe4d7e0fe48d56a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pluggy-1.0.0.dist-info/direct_url.json b/venv/lib/python3.8/site-packages/pluggy-1.0.0.dist-info/direct_url.json new file mode 100644 index 0000000..cb5ae2f --- /dev/null +++ b/venv/lib/python3.8/site-packages/pluggy-1.0.0.dist-info/direct_url.json @@ -0,0 +1 @@ +{"archive_info": {"hash": "sha256=74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3"}, "url": "https://files.pythonhosted.org/packages/9e/01/f38e2ff29715251cf25532b9082a1589ab7e4f571ced434f98d0139336dc/pluggy-1.0.0-py2.py3-none-any.whl"} \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pluggy-1.0.0.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/pluggy-1.0.0.dist-info/top_level.txt new file mode 120000 index 0000000..618c7ff --- /dev/null +++ b/venv/lib/python3.8/site-packages/pluggy-1.0.0.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c4/a4/82/4616a2faff4c724bccb96a8dcf5e9cd6d6ec98e820a0c4b04e07296071 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pluggy/__init__.py b/venv/lib/python3.8/site-packages/pluggy/__init__.py new file mode 120000 index 0000000..22fd20d --- /dev/null +++ b/venv/lib/python3.8/site-packages/pluggy/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/f8/e3/36d0e79f1e817b0603278a85664717e25e099f40771ea3ad76c010bd41 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pluggy/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pluggy/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..9dff556 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pluggy/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pluggy/__pycache__/_callers.cpython-38.pyc b/venv/lib/python3.8/site-packages/pluggy/__pycache__/_callers.cpython-38.pyc new file mode 100644 index 0000000..46563b3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pluggy/__pycache__/_callers.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pluggy/__pycache__/_hooks.cpython-38.pyc b/venv/lib/python3.8/site-packages/pluggy/__pycache__/_hooks.cpython-38.pyc new file mode 100644 index 0000000..4ee5b13 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pluggy/__pycache__/_hooks.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pluggy/__pycache__/_manager.cpython-38.pyc b/venv/lib/python3.8/site-packages/pluggy/__pycache__/_manager.cpython-38.pyc new file mode 100644 index 0000000..1664a84 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pluggy/__pycache__/_manager.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pluggy/__pycache__/_result.cpython-38.pyc b/venv/lib/python3.8/site-packages/pluggy/__pycache__/_result.cpython-38.pyc new file mode 100644 index 0000000..ef957d8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pluggy/__pycache__/_result.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pluggy/__pycache__/_tracing.cpython-38.pyc b/venv/lib/python3.8/site-packages/pluggy/__pycache__/_tracing.cpython-38.pyc new file mode 100644 index 0000000..5349fe0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pluggy/__pycache__/_tracing.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pluggy/__pycache__/_version.cpython-38.pyc b/venv/lib/python3.8/site-packages/pluggy/__pycache__/_version.cpython-38.pyc new file mode 100644 index 0000000..078e266 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pluggy/__pycache__/_version.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pluggy/_callers.py b/venv/lib/python3.8/site-packages/pluggy/_callers.py new file mode 120000 index 0000000..03f7403 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pluggy/_callers.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/96/ad/8a/3576b384aafe285fc624fc38bec636107c10e4e376752899502b5a790c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pluggy/_hooks.py b/venv/lib/python3.8/site-packages/pluggy/_hooks.py new file mode 120000 index 0000000..e81a53d --- /dev/null +++ b/venv/lib/python3.8/site-packages/pluggy/_hooks.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/39/03/e7/aafec9eee7cb6554122021e9370e006167570f04d57de6022ff644c113 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pluggy/_manager.py b/venv/lib/python3.8/site-packages/pluggy/_manager.py new file mode 120000 index 0000000..98514c5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pluggy/_manager.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/98/a4/27/88daa3fcb3edb77e6be9d10b6d13eba84759fe23cbe95745cb1efdf3ba \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pluggy/_result.py b/venv/lib/python3.8/site-packages/pluggy/_result.py new file mode 120000 index 0000000..2913504 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pluggy/_result.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b0/b4/cb/d37e1003749f91ef29b5a75492fa165b9890d4fbf3ca80bfec5d9e41f8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pluggy/_tracing.py b/venv/lib/python3.8/site-packages/pluggy/_tracing.py new file mode 120000 index 0000000..792c2c7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pluggy/_tracing.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c5/2b/f8/575a54fe293ca550a9a1b4c7f209e30770d0e228a7837b6ff9b0ee1ed0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pluggy/_version.py b/venv/lib/python3.8/site-packages/pluggy/_version.py new file mode 120000 index 0000000..e4645ad --- /dev/null +++ b/venv/lib/python3.8/site-packages/pluggy/_version.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/60/38/69/1405e0bf7edc998d69667f2440d71800ec23f3cdc185602da1ace2486e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry-1.1.11.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/poetry-1.1.11.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry-1.1.11.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/poetry-1.1.11.dist-info/LICENSE b/venv/lib/python3.8/site-packages/poetry-1.1.11.dist-info/LICENSE new file mode 120000 index 0000000..1cb34fe --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry-1.1.11.dist-info/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f2/f9/b4/60ba719da6626add264d3782f275a4ff7aab677beda08b330911e23adb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry-1.1.11.dist-info/METADATA b/venv/lib/python3.8/site-packages/poetry-1.1.11.dist-info/METADATA new file mode 120000 index 0000000..2f3077b --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry-1.1.11.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/54/14/82/182f1c55a5bea6ec0726fb2c8097712f18abd1c05b578465216f47795d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry-1.1.11.dist-info/RECORD b/venv/lib/python3.8/site-packages/poetry-1.1.11.dist-info/RECORD new file mode 100644 index 0000000..cb4dcc2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry-1.1.11.dist-info/RECORD @@ -0,0 +1,286 @@ +../../../bin/poetry,sha256=e_Oezb-9_qoggXncWhv_Q0FK1VPqXmmtFY1_FG4-YFI,217 +poetry-1.1.11.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +poetry-1.1.11.dist-info/LICENSE,sha256=8vm0YLpxnaZiat0mTTeC8nWk_3qrZ3vtoIszCRHiOts,1062 +poetry-1.1.11.dist-info/METADATA,sha256=VBSCGC8cVaW-puwHJvssgJdxLxir0cBbV4RlIW9HeV0,11557 +poetry-1.1.11.dist-info/RECORD,, +poetry-1.1.11.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +poetry-1.1.11.dist-info/WHEEL,sha256=Fs47bPI6GdEUUVU2cC1ZH87S4TSequgq1XeoqimcqIE,87 +poetry-1.1.11.dist-info/entry_points.txt,sha256=ZRawIR6GoYwuGZuiUCTfcDcTtiJb4BK-2UP2XXY80tw,46 +poetry/__init__.py,sha256=8lTc827CONZ9w_ab38JWhRQP2264wr3BOs8uWhceSrY,77 +poetry/__main__.py,sha256=7FXEyziU_-Dv4nnpBtKCQzg0q1zjGNFVc5oC4EEp-wg,92 +poetry/__pycache__/__init__.cpython-38.pyc,, +poetry/__pycache__/__main__.cpython-38.pyc,, +poetry/__pycache__/__version__.cpython-38.pyc,, +poetry/__pycache__/exceptions.cpython-38.pyc,, +poetry/__pycache__/factory.cpython-38.pyc,, +poetry/__pycache__/locations.cpython-38.pyc,, +poetry/__pycache__/poetry.cpython-38.pyc,, +poetry/__version__.py,sha256=onvMxIPKVCA4yl5UqyZ5erfVCfX2V2Tl84vB4lkYg0M,23 +poetry/_vendor/.gitignore,sha256=JAo-DTfS6GthQGP1NH6wLU-ZymwlTea4KHH_jZVTKn0,14 +poetry/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +poetry/config/__pycache__/__init__.cpython-38.pyc,, +poetry/config/__pycache__/config.cpython-38.pyc,, +poetry/config/__pycache__/config_source.cpython-38.pyc,, +poetry/config/__pycache__/dict_config_source.cpython-38.pyc,, +poetry/config/__pycache__/file_config_source.cpython-38.pyc,, +poetry/config/config.py,sha256=Q3SuS9V8LtDindyeNni3CRRHaNBGWXptq3pIQeGacgA,4251 +poetry/config/config_source.py,sha256=wVh1Rx0-chyzkngm5IrMtYdK-O6ZaE14UKmWpskkwaE,253 +poetry/config/dict_config_source.py,sha256=4Wt_bFvJ8dVTGn0Vhv3LLZgrtklzb2zRTd2l7Lek1Uo,1021 +poetry/config/file_config_source.py,sha256=5r7KzRu8nfiE8ZRDuvi0Qqy0EoZngUHduzyxLFKd6nU,2154 +poetry/console/__init__.py,sha256=tw2PCN85vTcSTSv7f7lgRly66NwbpLYPNceAtKNAKJo,82 +poetry/console/__pycache__/__init__.cpython-38.pyc,, +poetry/console/__pycache__/application.cpython-38.pyc,, +poetry/console/application.py,sha256=k1RDNKH1qG-tTTJVf9y1e_glviJtWUa8ecYZ5CozcLk,3575 +poetry/console/args/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +poetry/console/args/__pycache__/__init__.cpython-38.pyc,, +poetry/console/args/__pycache__/run_args_parser.cpython-38.pyc,, +poetry/console/args/run_args_parser.py,sha256=I5-ss-kwUvG5BIPpzR25Ogl6yDKPmBEKa7oazx8h6NY,1246 +poetry/console/commands/__init__.py,sha256=nQh8GKekmDAuxmYczITs5ekGVj7IFePfs6rSimRFfZ8,580 +poetry/console/commands/__pycache__/__init__.cpython-38.pyc,, +poetry/console/commands/__pycache__/about.cpython-38.pyc,, +poetry/console/commands/__pycache__/add.cpython-38.pyc,, +poetry/console/commands/__pycache__/build.cpython-38.pyc,, +poetry/console/commands/__pycache__/check.cpython-38.pyc,, +poetry/console/commands/__pycache__/command.cpython-38.pyc,, +poetry/console/commands/__pycache__/config.cpython-38.pyc,, +poetry/console/commands/__pycache__/env_command.cpython-38.pyc,, +poetry/console/commands/__pycache__/export.cpython-38.pyc,, +poetry/console/commands/__pycache__/init.cpython-38.pyc,, +poetry/console/commands/__pycache__/install.cpython-38.pyc,, +poetry/console/commands/__pycache__/installer_command.cpython-38.pyc,, +poetry/console/commands/__pycache__/lock.cpython-38.pyc,, +poetry/console/commands/__pycache__/new.cpython-38.pyc,, +poetry/console/commands/__pycache__/publish.cpython-38.pyc,, +poetry/console/commands/__pycache__/remove.cpython-38.pyc,, +poetry/console/commands/__pycache__/run.cpython-38.pyc,, +poetry/console/commands/__pycache__/search.cpython-38.pyc,, +poetry/console/commands/__pycache__/shell.cpython-38.pyc,, +poetry/console/commands/__pycache__/show.cpython-38.pyc,, +poetry/console/commands/__pycache__/update.cpython-38.pyc,, +poetry/console/commands/__pycache__/version.cpython-38.pyc,, +poetry/console/commands/about.py,sha256=lYUwetLFnN3LEraiLHNXvPc4TGM6oDT6x-tPGpdAWX4,444 +poetry/console/commands/add.py,sha256=HH2eyGAwxJni4QfhF6Mu_Q4N_3vJePDcINJVHeZGJMc,7440 +poetry/console/commands/build.py,sha256=B2t13mCcr6Prfm0xOkx3p7QfbgqiQDU54bViDnlSO2E,917 +poetry/console/commands/cache/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +poetry/console/commands/cache/__pycache__/__init__.cpython-38.pyc,, +poetry/console/commands/cache/__pycache__/cache.cpython-38.pyc,, +poetry/console/commands/cache/__pycache__/clear.cpython-38.pyc,, +poetry/console/commands/cache/__pycache__/list.cpython-38.pyc,, +poetry/console/commands/cache/cache.py,sha256=TrM1fL1-fhX7fWWy1HGL6A_xMpeceRGGnZpzxSnLNtk,365 +poetry/console/commands/cache/clear.py,sha256=6u1DkeDDyBfafQIH8g95M25qmyfKsT4dajcGsCm0jmo,2517 +poetry/console/commands/cache/list.py,sha256=tIE6HCg7sX2RrS6mAWuVkAMPUUAmaQ13VbEbdbZR_AY,538 +poetry/console/commands/check.py,sha256=UjRC9-o1jwy9jes1ANsVzRFJ6Mp_F8-Fgx6W6jW7Xnw,915 +poetry/console/commands/command.py,sha256=VoRyF-J3e03eVyyQ81rMRIhlVMIKZD7h-p_Y9u7ZL1E,253 +poetry/console/commands/config.py,sha256=4DzXVpE-ABN6m9q06csdPSK4h2F8nT7qGGHwx88lYYs,12030 +poetry/console/commands/debug/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +poetry/console/commands/debug/__pycache__/__init__.cpython-38.pyc,, +poetry/console/commands/debug/__pycache__/debug.cpython-38.pyc,, +poetry/console/commands/debug/__pycache__/info.cpython-38.pyc,, +poetry/console/commands/debug/__pycache__/resolve.cpython-38.pyc,, +poetry/console/commands/debug/debug.py,sha256=1sfdb101MIJFLGV3UMd_9_7-bZSKFu0lwo5e4tqt5Jk,281 +poetry/console/commands/debug/info.py,sha256=YeWKWP5Jj2Kk9oXv97190zQas-tLlRdK_KE4JLxLKdI,815 +poetry/console/commands/debug/resolve.py,sha256=D_3zS-8wvRvXoURznKxW5sW00nLNZ1IWjZcbvzfslWw,4231 +poetry/console/commands/env/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +poetry/console/commands/env/__pycache__/__init__.cpython-38.pyc,, +poetry/console/commands/env/__pycache__/env.cpython-38.pyc,, +poetry/console/commands/env/__pycache__/info.cpython-38.pyc,, +poetry/console/commands/env/__pycache__/list.cpython-38.pyc,, +poetry/console/commands/env/__pycache__/remove.cpython-38.pyc,, +poetry/console/commands/env/__pycache__/use.cpython-38.pyc,, +poetry/console/commands/env/env.py,sha256=gEw7j0CRxWL99Gsb9n4nHKifnxr9cXNY7bMVZLD9NuU,460 +poetry/console/commands/env/info.py,sha256=CIDh8IjOdYfqxEXB6EprlCF10O6JJf_76q5ZRrdsCNQ,1807 +poetry/console/commands/env/list.py,sha256=VL7myQvlqVCZOXBAc9qwICW-f0NnRIINy3TZywogjVI,736 +poetry/console/commands/env/remove.py,sha256=VBARHzzMiHgQ4hwtHvmnBm4gfghEjxYJe9z9Ojjl9tY,550 +poetry/console/commands/env/use.py,sha256=JaGfcO5s_d48MO_wZd83rvKfEIvlc1q2u4fekTA8xEM,624 +poetry/console/commands/env_command.py,sha256=OZHMrpQog5kjaZ6l-DpubT-MyPn09hHAElA8tAMoioE,263 +poetry/console/commands/export.py,sha256=0ZdYfDSyusuEJTGeddNgiojG8gSqXzxa-uwNShfWLkY,2334 +poetry/console/commands/init.py,sha256=sEmUVCboCEBZlkA_RVMkcurGptvIHpv0LycrIXi1O-Q,19209 +poetry/console/commands/install.py,sha256=tm1F00pYmhuqH7cPx_FH0BwK3CLq2gBT7BPvWJEc_uo,3884 +poetry/console/commands/installer_command.py,sha256=AAUskGSt4GMwlGW5wDjFesZD4d86vR9qxp60O2DIVKo,770 +poetry/console/commands/lock.py,sha256=QE5UTcMPIlNYUErCqTaF1zI-CFH-osKpk38l8dU9IPk,848 +poetry/console/commands/new.py,sha256=ewnk4NpjQxcePyiFsyFii6IL3FxzEgXSg-fAWAG9Ewo,2518 +poetry/console/commands/publish.py,sha256=1ISJ1cDyFp2N8IVyb8_XaoYYJsyxxOYeKOWAA2XBtfY,2558 +poetry/console/commands/remove.py,sha256=3l4V0T5bJHOJmi16Mgsrq2EqtUcnXLjqzhnXlEGJd94,2663 +poetry/console/commands/run.py,sha256=O4v3_T4-NoiywyEYmnPW_l6PpBH0I1n3r5UeSY-uZic,1633 +poetry/console/commands/search.py,sha256=HnfvevkapeYSg3xRzWbxvBfkTBVcNsmx6oD4s5g2x2A,719 +poetry/console/commands/self/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +poetry/console/commands/self/__pycache__/__init__.cpython-38.pyc,, +poetry/console/commands/self/__pycache__/self.cpython-38.pyc,, +poetry/console/commands/self/__pycache__/update.cpython-38.pyc,, +poetry/console/commands/self/self.py,sha256=SX8lG_CVEtYHXrqsjPvXoUdjEaqlHU4lxugriIdSfCk,281 +poetry/console/commands/self/update.py,sha256=PSORjZT9eeRLgoRnCHBYQQJigoQ3Rx56ObgM3X9BY4E,13787 +poetry/console/commands/shell.py,sha256=52YIOphTpn5Pb2w2eQ4gHdK3i76-lnQZpVarP0apIAQ,1211 +poetry/console/commands/show.py,sha256=5kavRKqQcAhFRIQh7C2wPbgeGCT7KoymF1EEL5rdCdA,14590 +poetry/console/commands/update.py,sha256=cfvc3dnUxNdsSglZ7OmWijjjsEKbm2FX7Jr7cNqG1YQ,1374 +poetry/console/commands/version.py,sha256=RF7IQG6xsHBhcEpzehoqbKsbC5yESIFXccr5y6jfMeo,3330 +poetry/console/config/__init__.py,sha256=zi92JncBxTBYO7_PzLmF62ogBdnirYzp9VZiB26KHjI,50 +poetry/console/config/__pycache__/__init__.cpython-38.pyc,, +poetry/console/config/__pycache__/application_config.cpython-38.pyc,, +poetry/console/config/application_config.py,sha256=hB_s5WjKgjDRapol7H8JUu0S3iCDH_sPVtGftAg3ZWs,8758 +poetry/console/logging/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +poetry/console/logging/__pycache__/__init__.cpython-38.pyc,, +poetry/console/logging/__pycache__/io_formatter.cpython-38.pyc,, +poetry/console/logging/__pycache__/io_handler.cpython-38.pyc,, +poetry/console/logging/formatters/__init__.py,sha256=9cQff5CFaUZg5QJSiZvELIIc8mwLGaNMFadO9uWM78M,267 +poetry/console/logging/formatters/__pycache__/__init__.cpython-38.pyc,, +poetry/console/logging/formatters/__pycache__/builder_formatter.cpython-38.pyc,, +poetry/console/logging/formatters/__pycache__/formatter.cpython-38.pyc,, +poetry/console/logging/formatters/builder_formatter.py,sha256=o1a8VPOQEA-yJS-TW7MtSWubuWyb0ENDFtdS0MefI8w,729 +poetry/console/logging/formatters/formatter.py,sha256=-KeLRZt9UxB7lf4zGUuLKsa2hzGcJHcTMKQ-qmOz4ss,144 +poetry/console/logging/io_formatter.py,sha256=bSJTxVNRkWvG4zAxfPgvqRHEMYxkJYMh67zNBdhfXCY,651 +poetry/console/logging/io_handler.py,sha256=heXA7MO9BAe9A6e4mUwVVZ6rrbfbxp_31Scyo8G6Ulk,525 +poetry/exceptions.py,sha256=rCk9gCrieM44DZA8fz_0pdoR6AUF-QXs5-7rBuMKicg,99 +poetry/factory.py,sha256=0BLjPReWqCWmTLuMDQQfYZUc4K5buh4u0rjsUtImO5M,5328 +poetry/inspection/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +poetry/inspection/__pycache__/__init__.cpython-38.pyc,, +poetry/inspection/__pycache__/info.cpython-38.pyc,, +poetry/inspection/info.py,sha256=uce7dlP5AwLO1cVJWxe_NSNTcpKFGR44K2b_EliXrwg,21519 +poetry/installation/__init__.py,sha256=cz2IPFtRkTjHrSe4lAGtMPIa5SjXwdG3mHs0VKB-Bts,33 +poetry/installation/__pycache__/__init__.cpython-38.pyc,, +poetry/installation/__pycache__/authenticator.cpython-38.pyc,, +poetry/installation/__pycache__/base_installer.cpython-38.pyc,, +poetry/installation/__pycache__/chef.cpython-38.pyc,, +poetry/installation/__pycache__/chooser.cpython-38.pyc,, +poetry/installation/__pycache__/executor.cpython-38.pyc,, +poetry/installation/__pycache__/installer.cpython-38.pyc,, +poetry/installation/__pycache__/noop_installer.cpython-38.pyc,, +poetry/installation/__pycache__/pip_installer.cpython-38.pyc,, +poetry/installation/authenticator.py,sha256=vCQL7k3keC7rkXLhRVDtLwQ15KcSesKWyt5cWGtlrc4,5417 +poetry/installation/base_installer.py,sha256=p2_5hlKmvO4XFox13wrs282x8K_8YVMd08c7fdFnrJY,226 +poetry/installation/chef.py,sha256=PueAlEqeQz-g29syL-WQBaRe7zbNO4V8WpyrIU6bxkk,3305 +poetry/installation/chooser.py,sha256=wn4EX55oFRoI8JivzwXUX_xtDkOSAtoU6L4g40kk6lk,6490 +poetry/installation/executor.py,sha256=O9K8OBUgpnC0RX0OiyP-mFpfz3a-yjVs43Qbjfeq97Q,24302 +poetry/installation/installer.py,sha256=Sr2fBoQ53S9L_cyYSjlT23XMcpAhVXsLZQgDzGPV8bg,18380 +poetry/installation/noop_installer.py,sha256=rijBBnn4uEKiL_Nhca9J7FH_NzVGqOzrnzMJqZ2f-Yg,621 +poetry/installation/operations/__init__.py,sha256=99Dt6v69ML3LFVDXdWWVJIQUBm3AX0QJDN_i0Ohg-Xc,89 +poetry/installation/operations/__pycache__/__init__.cpython-38.pyc,, +poetry/installation/operations/__pycache__/install.cpython-38.pyc,, +poetry/installation/operations/__pycache__/operation.cpython-38.pyc,, +poetry/installation/operations/__pycache__/uninstall.cpython-38.pyc,, +poetry/installation/operations/__pycache__/update.cpython-38.pyc,, +poetry/installation/operations/install.py,sha256=eroeQiCEfrY5v3dUTnvUgSzZ0if1vN3vy7G45hyxFqM,648 +poetry/installation/operations/operation.py,sha256=yAQw274nw6DuxUMyBDTn4lWTeqcS79hbfH5Gk93oCTk,1220 +poetry/installation/operations/uninstall.py,sha256=KNXnHmycjoi530G5V6NoiFzStqjYQVIcQggf1-z-jnY,670 +poetry/installation/operations/update.py,sha256=d-BStUZwN1rwWZ2OQZ3hjIe5981ODLGkcwg2RGwlPmI,1145 +poetry/installation/pip_installer.py,sha256=P46PhhScdS2zv2058M70m47txUAgXYe5TneVnZ3oqdw,8557 +poetry/io/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +poetry/io/__pycache__/__init__.cpython-38.pyc,, +poetry/io/__pycache__/null_io.cpython-38.pyc,, +poetry/io/null_io.py,sha256=ylC4pxRMlX8pUof6SDcL_cC6TScCQvEKKiQep0pqBk4,267 +poetry/json/__init__.py,sha256=MRzSGY3w5ZjwAXdw9QrOPi9_JFLQSO3jRJvfGzuSVqw,956 +poetry/json/__pycache__/__init__.cpython-38.pyc,, +poetry/json/schemas/poetry-schema.json,sha256=LqDcjZn8V0lN4shkT7EmhSnxQsio-yTy0XdP-8hyeBE,18867 +poetry/layouts/__init__.py,sha256=ZPF9tWVZapm1joi4Y5Qaf6KnIdfEewlbXdvwTbmyAw8,326 +poetry/layouts/__pycache__/__init__.cpython-38.pyc,, +poetry/layouts/__pycache__/layout.cpython-38.pyc,, +poetry/layouts/__pycache__/src.cpython-38.pyc,, +poetry/layouts/__pycache__/standard.cpython-38.pyc,, +poetry/layouts/layout.py,sha256=Z-evmXw0pdzb62FSzmTPT9lZ9LF4dkhh8w09cgc5pjs,4317 +poetry/layouts/src.py,sha256=q1nVOlfZqkbm-XuTedd81Jpgc5vbV2dHHjNmws_ljBk,434 +poetry/layouts/standard.py,sha256=GfpscNjrTqNFwxboQxvkqdKeIqRI7FnSMXjQ0QEvH70,419 +poetry/locations.py,sha256=d0DT_lhAcDBHwv75UO187ew0zZ-FCdbTkF769gWPlX8,506 +poetry/masonry/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +poetry/masonry/__pycache__/__init__.cpython-38.pyc,, +poetry/masonry/__pycache__/api.cpython-38.pyc,, +poetry/masonry/api.py,sha256=56maY8WwOvF-Yeso0IaeNj96ZirEvZw1EaH_O4RcUOw,461 +poetry/masonry/builders/__init__.py,sha256=fHecNhd7sxofK1S-9-3G5hyftDHb4367Jt8BFBiyBV4,38 +poetry/masonry/builders/__pycache__/__init__.cpython-38.pyc,, +poetry/masonry/builders/__pycache__/editable.cpython-38.pyc,, +poetry/masonry/builders/editable.py,sha256=0-I-lUhDwJLr395iVeKroFAMI1GpZK9BHlzX-pJj_aI,8480 +poetry/mixology/__init__.py,sha256=YMNTar0EK5lOAmt0klRXKAArurSeMGOae4r75JMpdSE,219 +poetry/mixology/__pycache__/__init__.cpython-38.pyc,, +poetry/mixology/__pycache__/assignment.cpython-38.pyc,, +poetry/mixology/__pycache__/failure.cpython-38.pyc,, +poetry/mixology/__pycache__/incompatibility.cpython-38.pyc,, +poetry/mixology/__pycache__/incompatibility_cause.cpython-38.pyc,, +poetry/mixology/__pycache__/partial_solution.cpython-38.pyc,, +poetry/mixology/__pycache__/result.cpython-38.pyc,, +poetry/mixology/__pycache__/set_relation.cpython-38.pyc,, +poetry/mixology/__pycache__/term.cpython-38.pyc,, +poetry/mixology/__pycache__/version_solver.cpython-38.pyc,, +poetry/mixology/assignment.py,sha256=Rt6XLXJJuOc1GB3tg8hK57nlHDCZTbKZujZlgMpyezw,1264 +poetry/mixology/failure.py,sha256=WtWoTwx_RzFtugRS_N476S3S9yDDiVA3LSAIDkELOPM,11010 +poetry/mixology/incompatibility.py,sha256=ZiG4AHhtL2K1dWEFAP50PP3m2cDVwne6tH7mm3x_srE,16139 +poetry/mixology/incompatibility_cause.py,sha256=qRGdebj9aoHhC83n1ExfTP0wFd0gdI5NtGuq_gdpTeY,1890 +poetry/mixology/partial_solution.py,sha256=e47dYzkE94ESIrI_vBuZyQc7XuzkDe5SD_ayYLIu4S0,7468 +poetry/mixology/result.py,sha256=7ZDHvcM3fQ5kHptSxtAZHJUoGjZcpLcRZsja1Dm2wfI,357 +poetry/mixology/set_relation.py,sha256=ScmwWAfA08k3QQvIalPI3KVpDQB-r9aKAr1WgNdpLCE,174 +poetry/mixology/solutions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +poetry/mixology/solutions/__pycache__/__init__.cpython-38.pyc,, +poetry/mixology/solutions/providers/__init__.py,sha256=3oJ3DuGobSsRe1kAaYR3kGw2TXGk4m7QwoY3XymDOsY,84 +poetry/mixology/solutions/providers/__pycache__/__init__.cpython-38.pyc,, +poetry/mixology/solutions/providers/__pycache__/python_requirement_solution_provider.cpython-38.pyc,, +poetry/mixology/solutions/providers/python_requirement_solution_provider.py,sha256=8lbcEO1xM4RHAPWpibALFMSxedvgGUKH872R5tLAJK4,949 +poetry/mixology/solutions/solutions/__init__.py,sha256=mZHErnlnL9SmCcvCxvBBkVBm0F0ZZsjjIk_ozl4_61A,67 +poetry/mixology/solutions/solutions/__pycache__/__init__.cpython-38.pyc,, +poetry/mixology/solutions/solutions/__pycache__/python_requirement_solution.cpython-38.pyc,, +poetry/mixology/solutions/solutions/python_requirement_solution.py,sha256=hNTzTSl3b77_qsuMP7X_ThGpYURVUqXOjXpJrtWGv4w,1970 +poetry/mixology/term.py,sha256=WoyfelNPdCX0fnC5ZOhxtZXZug7W-CuvqhZejB0Dh1c,6113 +poetry/mixology/version_solver.py,sha256=pO3lL1-LZEKr1RtKFg402s7t1mYnpvbScTXYAOY12Q4,18870 +poetry/packages/__init__.py,sha256=XZHLqZMrASsLPc3agB5ZTtnlbKPPL3pF3XkQCsHZh28,127 +poetry/packages/__pycache__/__init__.cpython-38.pyc,, +poetry/packages/__pycache__/dependency_package.cpython-38.pyc,, +poetry/packages/__pycache__/locker.cpython-38.pyc,, +poetry/packages/__pycache__/package_collection.cpython-38.pyc,, +poetry/packages/dependency_package.py,sha256=n9Bd4h67-Jlaup-EQ03mW0s4fKxnpLs-AOya5BGi9Yw,1523 +poetry/packages/locker.py,sha256=hLqykoYGHBkXlkVHXa3OJLZXNkmA4amvwjRcxBJGznQ,22543 +poetry/packages/package_collection.py,sha256=sBF3GMXukafkbg41flJa6b7nL2E1Fl-X0rZczobRuqs,594 +poetry/poetry.py,sha256=SJef62hBZpUU7oFHywGnsAyDiYf2uI1P6VQX623yt2M,1355 +poetry/publishing/__init__.py,sha256=w9ksyAIjbwLtPu58LufJoMsF1-PeEJgUTG8BEOJt-44,33 +poetry/publishing/__pycache__/__init__.cpython-38.pyc,, +poetry/publishing/__pycache__/publisher.cpython-38.pyc,, +poetry/publishing/__pycache__/uploader.cpython-38.pyc,, +poetry/publishing/publisher.py,sha256=r40jxtmkJIyKxh5rm_23x9uF6cPWdwXh8LYYcT_zztk,3261 +poetry/publishing/uploader.py,sha256=HHIiAUTPd5PFS7C5uZRRUZM8IPCOJz8zOm84d_Gamp4,10768 +poetry/puzzle/__init__.py,sha256=-z1bKrVZ7Hyw97PNWvxWLMQjl49mt4F6oreYxCG2ZTU,27 +poetry/puzzle/__pycache__/__init__.cpython-38.pyc,, +poetry/puzzle/__pycache__/exceptions.cpython-38.pyc,, +poetry/puzzle/__pycache__/provider.cpython-38.pyc,, +poetry/puzzle/__pycache__/solver.cpython-38.pyc,, +poetry/puzzle/exceptions.py,sha256=FSFjuxsrMjOBuAKYSJNdLIIHFjls8Jw8Ye3DxEFeY1E,399 +poetry/puzzle/provider.py,sha256=gdp5QsFiG61LvoJ3O8pRqs23668yYv4jmVDR03M5gs4,28778 +poetry/puzzle/solver.py,sha256=SVwgBN4tyleyxwTfQYGwQfStlIieNFezQOENXhyKTUY,16054 +poetry/repositories/__init__.py,sha256=BYTIqqV6GonGbvmm42eFowD1ZCDE278xhqHsq8zwT9o,58 +poetry/repositories/__pycache__/__init__.cpython-38.pyc,, +poetry/repositories/__pycache__/base_repository.cpython-38.pyc,, +poetry/repositories/__pycache__/exceptions.cpython-38.pyc,, +poetry/repositories/__pycache__/installed_repository.cpython-38.pyc,, +poetry/repositories/__pycache__/legacy_repository.cpython-38.pyc,, +poetry/repositories/__pycache__/pool.cpython-38.pyc,, +poetry/repositories/__pycache__/pypi_repository.cpython-38.pyc,, +poetry/repositories/__pycache__/remote_repository.cpython-38.pyc,, +poetry/repositories/__pycache__/repository.cpython-38.pyc,, +poetry/repositories/base_repository.py,sha256=n80zYmViZNjOEQTRVEQSBAk2UtmB_8AgvM-XaXJJdg4,456 +poetry/repositories/exceptions.py,sha256=YGoF-i4NmP6QcA6SQConCvFcWpr4zdBagx6vOBWIrSY,90 +poetry/repositories/installed_repository.py,sha256=oHwDaOhx4QAoFcOREblRmZq2Ei7CJ6rHkkDR8pvAH6o,6204 +poetry/repositories/legacy_repository.py,sha256=uaCtYbDZ-8rpY87oX2hMEs4SqZI3GL0WQzlQTzv431w,12753 +poetry/repositories/pool.py,sha256=4LlrnyN_qfNlfIE0XWANg6ygzTdy2TtWwC0JteDNl90,5893 +poetry/repositories/pypi_repository.py,sha256=FK_34kzW-1Xb3gHzpIq1pIPrwnDjY9iSxzgfQZoV-EU,16303 +poetry/repositories/remote_repository.py,sha256=EvheAojI2dgpTM3SdMpKID0PyKq04Trd3tGhwulsuh4,369 +poetry/repositories/repository.py,sha256=8h6gAsdbaAVl_i8-dV26OE68fayxwfvHkEQbWsdW4Vg,3351 +poetry/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +poetry/utils/__pycache__/__init__.cpython-38.pyc,, +poetry/utils/__pycache__/_compat.cpython-38.pyc,, +poetry/utils/__pycache__/appdirs.cpython-38.pyc,, +poetry/utils/__pycache__/env.cpython-38.pyc,, +poetry/utils/__pycache__/exporter.cpython-38.pyc,, +poetry/utils/__pycache__/extras.cpython-38.pyc,, +poetry/utils/__pycache__/helpers.cpython-38.pyc,, +poetry/utils/__pycache__/password_manager.cpython-38.pyc,, +poetry/utils/__pycache__/patterns.cpython-38.pyc,, +poetry/utils/__pycache__/setup_reader.cpython-38.pyc,, +poetry/utils/__pycache__/shell.cpython-38.pyc,, +poetry/utils/_compat.py,sha256=MJ7fRNhBqZxVG_xhGmqL_w26u2UUOoXANOnB1CVzwiQ,8804 +poetry/utils/appdirs.py,sha256=2tVKyBItgyXBFCqz_zuQ4Fp3qS284oJFdUCSZespbN0,8776 +poetry/utils/env.py,sha256=w3OruHysuYmM1dUR_v1WkSmUvb_XYgcXyJSpONVvVsk,54118 +poetry/utils/exporter.py,sha256=cicYIkoKIGocO9bx-tZQgIC0R9qbFSOsROM0uKOgZ74,5785 +poetry/utils/extras.py,sha256=LJZaERe1Pn54KpcXvej6Awn3zwzO-zqOA5hZUxir1dM,2369 +poetry/utils/helpers.py,sha256=_2tgaQ4X-TrnzhrXfzrzTIcKKOAETgRluUDWaMyWaDM,3303 +poetry/utils/password_manager.py,sha256=OujZa4ZvJvPQBHpRjLWbYZvlCfKal9MMuqllc0Or13E,5693 +poetry/utils/patterns.py,sha256=yLba30f0asDKxDkVjUtZK0fDM2f_yVedIf75_SDsftw,229 +poetry/utils/setup_reader.py,sha256=Xt7Xd4By69lpfkbmj-gEyhuWM57a4HA5NK4I41auFqY,12387 +poetry/utils/shell.py,sha256=XMG_UsC8n3iFwze2WMiD7TIQKZUmHSVJ57VOkeemgs8,2927 +poetry/version/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +poetry/version/__pycache__/__init__.cpython-38.pyc,, +poetry/version/__pycache__/version_selector.cpython-38.pyc,, +poetry/version/version_selector.py,sha256=7HfBG2TH18NfEcIiXxj68TnR-YCdIixjrBBd7dYlm9Q,2382 diff --git a/venv/lib/python3.8/site-packages/poetry-1.1.11.dist-info/REQUESTED b/venv/lib/python3.8/site-packages/poetry-1.1.11.dist-info/REQUESTED new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.8/site-packages/poetry-1.1.11.dist-info/WHEEL b/venv/lib/python3.8/site-packages/poetry-1.1.11.dist-info/WHEEL new file mode 120000 index 0000000..0c25c90 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry-1.1.11.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/16/ce/3b/6cf23a19d114515536702d591fced2e1349eaae82ad577a8aa299ca881 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry-1.1.11.dist-info/entry_points.txt b/venv/lib/python3.8/site-packages/poetry-1.1.11.dist-info/entry_points.txt new file mode 120000 index 0000000..b12b668 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry-1.1.11.dist-info/entry_points.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/65/16/b0/211e86a18c2e199ba25024df703713b6225be012bed943f65d763cd2dc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/__init__.py b/venv/lib/python3.8/site-packages/poetry/__init__.py new file mode 120000 index 0000000..5b7ac27 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f2/54/dc/f36ec238d67dc3f69bdfc25685140fdb6eb8c2bdc13acf2e5a171e4ab6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/__main__.py b/venv/lib/python3.8/site-packages/poetry/__main__.py new file mode 120000 index 0000000..4c20bf8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/__main__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ec/55/c4/cb3894ffe0efe279e906d282433834ab5ce318d155739a02e04129fb08 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..45efca4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/__pycache__/__main__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/__pycache__/__main__.cpython-38.pyc new file mode 100644 index 0000000..b8ea6ed Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/__pycache__/__main__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/__pycache__/__version__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/__pycache__/__version__.cpython-38.pyc new file mode 100644 index 0000000..34242d4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/__pycache__/__version__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/__pycache__/exceptions.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/__pycache__/exceptions.cpython-38.pyc new file mode 100644 index 0000000..6949d34 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/__pycache__/exceptions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/__pycache__/factory.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/__pycache__/factory.cpython-38.pyc new file mode 100644 index 0000000..efeaf62 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/__pycache__/factory.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/__pycache__/locations.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/__pycache__/locations.cpython-38.pyc new file mode 100644 index 0000000..be79c8b Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/__pycache__/locations.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/__pycache__/poetry.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/__pycache__/poetry.cpython-38.pyc new file mode 100644 index 0000000..48f54f4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/__pycache__/poetry.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/__version__.py b/venv/lib/python3.8/site-packages/poetry/__version__.py new file mode 120000 index 0000000..51a0bcc --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/__version__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7c/70/f7/0832992e907fbde90849d1c1e789905336a27a5a003d911112691b8914 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/_vendor/.gitignore b/venv/lib/python3.8/site-packages/poetry/_vendor/.gitignore new file mode 120000 index 0000000..172f24b --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/_vendor/.gitignore @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/24/0a/3e/0d37d2e86b614063f5347eb02d4f99ca6c254de6b82871ff8d95532a7d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/config/__init__.py b/venv/lib/python3.8/site-packages/poetry/config/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/config/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/config/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/config/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..5589cfe Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/config/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/config/__pycache__/config.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/config/__pycache__/config.cpython-38.pyc new file mode 100644 index 0000000..d1e34aa Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/config/__pycache__/config.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/config/__pycache__/config_source.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/config/__pycache__/config_source.cpython-38.pyc new file mode 100644 index 0000000..8e043fb Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/config/__pycache__/config_source.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/config/__pycache__/dict_config_source.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/config/__pycache__/dict_config_source.cpython-38.pyc new file mode 100644 index 0000000..61f616a Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/config/__pycache__/dict_config_source.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/config/__pycache__/file_config_source.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/config/__pycache__/file_config_source.cpython-38.pyc new file mode 100644 index 0000000..1fcf8e3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/config/__pycache__/file_config_source.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/config/config.py b/venv/lib/python3.8/site-packages/poetry/config/config.py new file mode 120000 index 0000000..b0a5cbf --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/config/config.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/43/74/ae/4bd57c2ed0e29ddc9e3678b709144768d046597a6dab7a4841e19a7200 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/config/config_source.py b/venv/lib/python3.8/site-packages/poetry/config/config_source.py new file mode 120000 index 0000000..4844555 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/config/config_source.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c1/58/75/471d3e721cb3927826e48accb5874af8ee99684d7850a996a6c924c1a1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/config/dict_config_source.py b/venv/lib/python3.8/site-packages/poetry/config/dict_config_source.py new file mode 120000 index 0000000..bcd7b03 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/config/dict_config_source.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e1/6b/7f/6c5bc9f1d5531a7d1586fdcb2d982bb649736f6cd14ddda5ecb7a4d54a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/config/file_config_source.py b/venv/lib/python3.8/site-packages/poetry/config/file_config_source.py new file mode 120000 index 0000000..bfd9a7f --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/config/file_config_source.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e6/be/ca/cd1bbc9df884f19443baf8b442acb41286678141ddbb3cb12c529dea75 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/console/__init__.py b/venv/lib/python3.8/site-packages/poetry/console/__init__.py new file mode 120000 index 0000000..b911908 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b7/0d/8f/08df39bd37124d2bfb7fb960465cbae8dc1ba4b60f35c780b4a340289a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/console/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..0cac4a1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/__pycache__/application.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/__pycache__/application.cpython-38.pyc new file mode 100644 index 0000000..f7936fe Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/__pycache__/application.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/application.py b/venv/lib/python3.8/site-packages/poetry/console/application.py new file mode 120000 index 0000000..7a28fb0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/application.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/93/54/43/34a1f5a86fad4d32557fdcb57bf825be226d5946bc79c619e42a3370b9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/console/args/__init__.py b/venv/lib/python3.8/site-packages/poetry/console/args/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/args/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/console/args/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/args/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..2744676 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/args/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/args/__pycache__/run_args_parser.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/args/__pycache__/run_args_parser.cpython-38.pyc new file mode 100644 index 0000000..4aa97cb Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/args/__pycache__/run_args_parser.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/args/run_args_parser.py b/venv/lib/python3.8/site-packages/poetry/console/args/run_args_parser.py new file mode 120000 index 0000000..5a0f287 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/args/run_args_parser.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/23/9f/ac/b3e93052f1b90483e9cd1db93a097ac8328f98110a6bba1acf1f21e8d6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/__init__.py b/venv/lib/python3.8/site-packages/poetry/console/commands/__init__.py new file mode 120000 index 0000000..bf0d3cb --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/commands/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9d/08/7c/18a7a498302ec6661ccc84ece5e906563ec815e3dfb3aad28a64457d9f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..8ccd0d9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/about.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/about.cpython-38.pyc new file mode 100644 index 0000000..092d2d0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/about.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/add.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/add.cpython-38.pyc new file mode 100644 index 0000000..47c0344 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/add.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/build.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/build.cpython-38.pyc new file mode 100644 index 0000000..facf9c5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/build.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/check.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/check.cpython-38.pyc new file mode 100644 index 0000000..417ae5a Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/check.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/command.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/command.cpython-38.pyc new file mode 100644 index 0000000..271ce82 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/command.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/config.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/config.cpython-38.pyc new file mode 100644 index 0000000..9056a31 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/config.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/env_command.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/env_command.cpython-38.pyc new file mode 100644 index 0000000..df47ba6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/env_command.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/export.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/export.cpython-38.pyc new file mode 100644 index 0000000..eb1d253 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/export.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/init.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/init.cpython-38.pyc new file mode 100644 index 0000000..df71a6b Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/init.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/install.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/install.cpython-38.pyc new file mode 100644 index 0000000..d1b082d Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/install.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/installer_command.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/installer_command.cpython-38.pyc new file mode 100644 index 0000000..9cc2fcc Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/installer_command.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/lock.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/lock.cpython-38.pyc new file mode 100644 index 0000000..b52f1af Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/lock.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/new.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/new.cpython-38.pyc new file mode 100644 index 0000000..033f69d Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/new.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/publish.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/publish.cpython-38.pyc new file mode 100644 index 0000000..984f06c Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/publish.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/remove.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/remove.cpython-38.pyc new file mode 100644 index 0000000..764deb4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/remove.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/run.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/run.cpython-38.pyc new file mode 100644 index 0000000..033f1ca Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/run.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/search.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/search.cpython-38.pyc new file mode 100644 index 0000000..57ca07c Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/search.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/shell.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/shell.cpython-38.pyc new file mode 100644 index 0000000..72491ef Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/shell.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/show.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/show.cpython-38.pyc new file mode 100644 index 0000000..ee497ef Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/show.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/update.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/update.cpython-38.pyc new file mode 100644 index 0000000..810458f Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/update.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/version.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/version.cpython-38.pyc new file mode 100644 index 0000000..b9daad9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/commands/__pycache__/version.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/about.py b/venv/lib/python3.8/site-packages/poetry/console/commands/about.py new file mode 120000 index 0000000..7fdf230 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/commands/about.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/95/85/30/7ad2c59cddcb12b6a22c7357bcf7384c633aa034fac7eb4f1a9740597e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/add.py b/venv/lib/python3.8/site-packages/poetry/console/commands/add.py new file mode 120000 index 0000000..36ac230 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/commands/add.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1c/7d/9e/c86030c499e2e107e117a32efd0e0dff7bc978f0dc20d2551de64624c7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/build.py b/venv/lib/python3.8/site-packages/poetry/console/commands/build.py new file mode 120000 index 0000000..b11afa9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/commands/build.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/07/6b/75/de609cafa3eb7e6d313a4c77a7b41f6e0aa2403539e1b5620e79523b61 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/cache/__init__.py b/venv/lib/python3.8/site-packages/poetry/console/commands/cache/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/commands/cache/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/cache/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/commands/cache/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..6026782 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/commands/cache/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/cache/__pycache__/cache.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/commands/cache/__pycache__/cache.cpython-38.pyc new file mode 100644 index 0000000..bd5496b Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/commands/cache/__pycache__/cache.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/cache/__pycache__/clear.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/commands/cache/__pycache__/clear.cpython-38.pyc new file mode 100644 index 0000000..a26fd8b Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/commands/cache/__pycache__/clear.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/cache/__pycache__/list.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/commands/cache/__pycache__/list.cpython-38.pyc new file mode 100644 index 0000000..14e9668 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/commands/cache/__pycache__/list.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/cache/cache.py b/venv/lib/python3.8/site-packages/poetry/console/commands/cache/cache.py new file mode 120000 index 0000000..66d3ee7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/commands/cache/cache.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4e/b3/35/7cbd7e7e15fb7d65b2d4718be80ff132979c7911869d9a73c529cb36d9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/cache/clear.py b/venv/lib/python3.8/site-packages/poetry/console/commands/cache/clear.py new file mode 120000 index 0000000..c8ebb43 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/commands/cache/clear.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ea/ed/43/91e0c3c817da7d0207f20f79336e6a9b27cab13e1d6a3706b029b48e6a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/cache/list.py b/venv/lib/python3.8/site-packages/poetry/console/commands/cache/list.py new file mode 120000 index 0000000..0859459 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/commands/cache/list.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b4/81/3a/1c283bb17d91ad2ea6016b9590030f514026690d7755b11b75b651fc06 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/check.py b/venv/lib/python3.8/site-packages/poetry/console/commands/check.py new file mode 120000 index 0000000..5646cd3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/commands/check.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/52/34/42/f7ea358f0cbd8deb3500db15cd1149e8ca7f17cf85831e96ea35bb5e7c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/command.py b/venv/lib/python3.8/site-packages/poetry/console/commands/command.py new file mode 120000 index 0000000..7832eca --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/commands/command.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/56/84/72/17e2777b4dde572c90f35acc44886554c20a643ee1fa9fd8f6eed92f51 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/config.py b/venv/lib/python3.8/site-packages/poetry/console/commands/config.py new file mode 120000 index 0000000..e2a74db --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/commands/config.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e0/3c/d7/56913e00137a9bdab4e9cb1d3d22b887617c9d3eea1861f0c7cf25618b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/debug/__init__.py b/venv/lib/python3.8/site-packages/poetry/console/commands/debug/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/commands/debug/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/debug/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/commands/debug/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..7d5f44e Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/commands/debug/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/debug/__pycache__/debug.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/commands/debug/__pycache__/debug.cpython-38.pyc new file mode 100644 index 0000000..24df325 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/commands/debug/__pycache__/debug.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/debug/__pycache__/info.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/commands/debug/__pycache__/info.cpython-38.pyc new file mode 100644 index 0000000..a4910dd Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/commands/debug/__pycache__/info.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/debug/__pycache__/resolve.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/commands/debug/__pycache__/resolve.cpython-38.pyc new file mode 100644 index 0000000..4b6e6c4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/commands/debug/__pycache__/resolve.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/debug/debug.py b/venv/lib/python3.8/site-packages/poetry/console/commands/debug/debug.py new file mode 120000 index 0000000..29de621 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/commands/debug/debug.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d6/c7/dd/6f5d353082452c657750c77ff7fefe6d948a16ed25c28e5ee2daade499 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/debug/info.py b/venv/lib/python3.8/site-packages/poetry/console/commands/debug/info.py new file mode 120000 index 0000000..f58d06f --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/commands/debug/info.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/61/e5/8a/58fe498f62a4f685eff7bd7dd3341ab3eb4b95174afca13824bc4b29d2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/debug/resolve.py b/venv/lib/python3.8/site-packages/poetry/console/commands/debug/resolve.py new file mode 120000 index 0000000..cae5592 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/commands/debug/resolve.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0f/fd/f3/4bef30bd1bd7a144739cac56e6c5b4d272cd6752168d971bbf37ec956c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/env/__init__.py b/venv/lib/python3.8/site-packages/poetry/console/commands/env/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/commands/env/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/env/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/commands/env/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..151165a Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/commands/env/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/env/__pycache__/env.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/commands/env/__pycache__/env.cpython-38.pyc new file mode 100644 index 0000000..d95cd99 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/commands/env/__pycache__/env.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/env/__pycache__/info.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/commands/env/__pycache__/info.cpython-38.pyc new file mode 100644 index 0000000..63e6a96 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/commands/env/__pycache__/info.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/env/__pycache__/list.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/commands/env/__pycache__/list.cpython-38.pyc new file mode 100644 index 0000000..0a61a5a Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/commands/env/__pycache__/list.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/env/__pycache__/remove.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/commands/env/__pycache__/remove.cpython-38.pyc new file mode 100644 index 0000000..347144f Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/commands/env/__pycache__/remove.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/env/__pycache__/use.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/commands/env/__pycache__/use.cpython-38.pyc new file mode 100644 index 0000000..80c3f99 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/commands/env/__pycache__/use.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/env/env.py b/venv/lib/python3.8/site-packages/poetry/console/commands/env/env.py new file mode 120000 index 0000000..6d2d6e6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/commands/env/env.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/80/4c/3b/8f4091c562fdf46b1bf67e271ca89f9f1afd717358edb31564b0fd36e5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/env/info.py b/venv/lib/python3.8/site-packages/poetry/console/commands/env/info.py new file mode 120000 index 0000000..5443741 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/commands/env/info.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/08/80/e1/f088ce7587eac445c1e84a6b942175d0ee8925fffbeaae5946b76c08d4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/env/list.py b/venv/lib/python3.8/site-packages/poetry/console/commands/env/list.py new file mode 120000 index 0000000..35e0d7c --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/commands/env/list.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/54/be/e6/c90be5a9509939704073dab02025be7f436744820dcb74d9cb0a208d52 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/env/remove.py b/venv/lib/python3.8/site-packages/poetry/console/commands/env/remove.py new file mode 120000 index 0000000..78f927a --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/commands/env/remove.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/54/10/11/1f3ccc887810e21c2d1ef9a7066e207e08448f16097bdcfd3a38e5f6d6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/env/use.py b/venv/lib/python3.8/site-packages/poetry/console/commands/env/use.py new file mode 120000 index 0000000..b8fc8cc --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/commands/env/use.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/25/a1/9f/70ee6cfdde3c30eff065df37aef29f108be5735ab6bb87de91303cc443 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/env_command.py b/venv/lib/python3.8/site-packages/poetry/console/commands/env_command.py new file mode 120000 index 0000000..591d60e --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/commands/env_command.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/39/91/cc/ae9428839923699ea5f83a6e6d3f8cc8f9f4f611c012503cb403288a81 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/export.py b/venv/lib/python3.8/site-packages/poetry/console/commands/export.py new file mode 120000 index 0000000..2fb3398 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/commands/export.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d1/97/58/7c34b2bacb8425319e75d3608a88c6f204aa5f3c5afaec0d4a17d62e46 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/init.py b/venv/lib/python3.8/site-packages/poetry/console/commands/init.py new file mode 100644 index 0000000..314df45 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/commands/init.py @@ -0,0 +1,546 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +import os +import re +import sys + +from typing import Dict +from typing import List +from typing import Tuple +from typing import Union + +from cleo import option +from tomlkit import inline_table + +from poetry.core.pyproject import PyProjectException +from poetry.core.pyproject.toml import PyProjectTOML +from poetry.utils._compat import OrderedDict +from poetry.utils._compat import Path +from poetry.utils._compat import urlparse + +from .command import Command +from .env_command import EnvCommand + + +class InitCommand(Command): + name = "init" + description = ( + "Creates a basic pyproject.toml file in the current directory." + ) + + options = [ + option("name", None, "Name of the package.", flag=False), + option("description", None, "Description of the package.", flag=False), + option("author", None, "Author name of the package.", flag=False), + option("python", None, "Compatible Python versions.", flag=False), + option( + "dependency", + None, + "Package to require, with an optional version constraint, " + "e.g. requests:^2.10.0 or requests=2.11.1.", + flag=False, + multiple=True, + ), + option( + "dev-dependency", + None, + "Package to require for development, with an optional version constraint, " + "e.g. requests:^2.10.0 or requests=2.11.1.", + flag=False, + multiple=True, + ), + option("license", "l", "License of the package.", flag=False), + ] + + help = """\ +The init command creates a basic pyproject.toml file in the current directory. +""" + + def __init__(self): + super(InitCommand, self).__init__() + + self._pool = None + + def handle(self): + from poetry.core.vcs.git import GitConfig + from poetry.layouts import layout + from poetry.utils._compat import Path + from poetry.utils.env import SystemEnv + + pyproject = PyProjectTOML(Path.cwd() / "pyproject.toml") + + if pyproject.file.exists(): + if pyproject.is_poetry_project(): + self.line( + "A pyproject.toml file with a poetry section already exists." + ) + return 1 + + if pyproject.data.get("build-system"): + self.line( + "A pyproject.toml file with a defined build-system already exists." + ) + return 1 + + vcs_config = GitConfig() + + self.line("") + self.line( + "This command will guide you through creating your pyproject.toml config." + ) + self.line("") + + name = self.option("name") + if not name: + name = Path.cwd().name.lower() + + question = self.create_question( + "Package name [{}]: ".format(name), default=name + ) + name = self.ask(question) + + version = "0.1.0" + question = self.create_question( + "Version [{}]: ".format(version), default=version + ) + version = self.ask(question) + + description = self.option("description") or "" + question = self.create_question( + "Description [{}]: ".format(description), + default=description, + ) + description = self.ask(question) + + author = self.option("author") + if not author and vcs_config and vcs_config.get("user.name"): + author = vcs_config["user.name"] + author_email = vcs_config.get("user.email") + if author_email: + author += " <{}>".format(author_email) + + question = self.create_question( + "Author [{}, n to skip]: ".format(author), default=author + ) + question.set_validator(lambda v: self._validate_author(v, author)) + author = self.ask(question) + + if not author: + authors = [] + else: + authors = [author] + + license = self.option("license") or "" + + question = self.create_question( + "License [{}]: ".format(license), default=license + ) + question.set_validator(self._validate_license) + license = self.ask(question) + + python = self.option("python") + if not python: + current_env = SystemEnv(Path(sys.executable)) + default_python = "^{}".format( + ".".join(str(v) for v in current_env.version_info[:2]) + ) + question = self.create_question( + "Compatible Python versions [{}]: ".format( + default_python + ), + default=default_python, + ) + python = self.ask(question) + + self.line("") + + requirements = {} + if self.option("dependency"): + requirements = self._format_requirements( + self._determine_requirements(self.option("dependency")) + ) + + question = "Would you like to define your main dependencies interactively?" + help_message = ( + "You can specify a package in the following forms:\n" + " - A single name (requests)\n" + " - A name and a constraint (requests@^2.23.0)\n" + " - A git url (git+https://github.com/python-poetry/poetry.git)\n" + " - A git url with a revision (git+https://github.com/python-poetry/poetry.git#develop)\n" + " - A file path (../my-package/my-package.whl)\n" + " - A directory (../my-package/)\n" + " - A url (https://example.com/packages/my-package-0.1.0.tar.gz)\n" + ) + help_displayed = False + if self.confirm(question, True): + self.line(help_message) + help_displayed = True + requirements.update( + self._format_requirements(self._determine_requirements([])) + ) + self.line("") + + dev_requirements = {} + if self.option("dev-dependency"): + dev_requirements = self._format_requirements( + self._determine_requirements(self.option("dev-dependency")) + ) + + question = ( + "Would you like to define your development dependencies interactively?" + ) + if self.confirm(question, True): + if not help_displayed: + self.line(help_message) + + dev_requirements.update( + self._format_requirements(self._determine_requirements([])) + ) + self.line("") + + layout_ = layout("standard")( + name, + version, + description=description, + author=authors[0] if authors else None, + license=license, + python=python, + dependencies=requirements, + dev_dependencies=dev_requirements, + ) + + content = layout_.generate_poetry_content(original=pyproject) + if self.io.is_interactive(): + self.line("Generated file") + self.line("") + self.line(content) + self.line("") + + if not self.confirm("Do you confirm generation?", True): + self.line("Command aborted") + + return 1 + + with (Path.cwd() / "pyproject.toml").open("w", encoding="utf-8") as f: + f.write(content) + + def _determine_requirements( + self, requires, allow_prereleases=False, source=None + ): # type: (List[str], bool) -> List[Dict[str, str]] + if not requires: + requires = [] + + package = self.ask( + "Search for package to add (or leave blank to continue):" + ) + while package is not None: + constraint = self._parse_requirements([package])[0] + if ( + "git" in constraint + or "url" in constraint + or "path" in constraint + or "version" in constraint + ): + self.line("Adding {}".format(package)) + requires.append(constraint) + package = self.ask("\nAdd a package:") + continue + + matches = self._get_pool().search(constraint["name"]) + + if not matches: + self.line("Unable to find package") + package = False + else: + choices = [] + matches_names = [p.name for p in matches] + exact_match = constraint["name"] in matches_names + if exact_match: + choices.append( + matches[matches_names.index(constraint["name"])].pretty_name + ) + + for found_package in matches: + if len(choices) >= 10: + break + + if found_package.name.lower() == constraint["name"].lower(): + continue + + choices.append(found_package.pretty_name) + + self.line( + "Found {} packages matching {}".format( + len(matches), package + ) + ) + + package = self.choice( + "\nEnter package # to add, or the complete package name if it is not listed", + choices, + attempts=3, + ) + + # package selected by user, set constraint name to package name + if package is not False: + constraint["name"] = package + + # no constraint yet, determine the best version automatically + if package is not False and "version" not in constraint: + question = self.create_question( + "Enter the version constraint to require " + "(or leave blank to use the latest version):" + ) + question.attempts = 3 + question.validator = lambda x: (x or "").strip() or False + + package_constraint = self.ask(question) + + if package_constraint is None: + _, package_constraint = self._find_best_version_for_package( + package + ) + + self.line( + "Using version {} for {}".format( + package_constraint, package + ) + ) + + constraint["version"] = package_constraint + + if package is not False: + requires.append(constraint) + + package = self.ask("\nAdd a package:") + + return requires + + requires = self._parse_requirements(requires) + result = [] + for requirement in requires: + if "git" in requirement or "url" in requirement or "path" in requirement: + result.append(requirement) + continue + elif "version" not in requirement: + # determine the best version automatically + name, version = self._find_best_version_for_package( + requirement["name"], + allow_prereleases=allow_prereleases, + source=source, + ) + requirement["version"] = version + requirement["name"] = name + + self.line( + "Using version {} for {}".format(version, name) + ) + else: + # check that the specified version/constraint exists + # before we proceed + name, _ = self._find_best_version_for_package( + requirement["name"], + requirement["version"], + allow_prereleases=allow_prereleases, + source=source, + ) + + requirement["name"] = name + + result.append(requirement) + + return result + + def _find_best_version_for_package( + self, name, required_version=None, allow_prereleases=False, source=None + ): # type: (...) -> Tuple[str, str] + from poetry.version.version_selector import VersionSelector + + selector = VersionSelector(self._get_pool()) + package = selector.find_best_candidate( + name, required_version, allow_prereleases=allow_prereleases, source=source + ) + + if not package: + # TODO: find similar + raise ValueError( + "Could not find a matching version of package {}".format(name) + ) + + return package.pretty_name, selector.find_recommended_require_version(package) + + def _parse_requirements( + self, requirements + ): # type: (List[str]) -> List[Dict[str, str]] + from poetry.puzzle.provider import Provider + + result = [] + + try: + cwd = self.poetry.file.parent + except (PyProjectException, RuntimeError): + cwd = Path.cwd() + + for requirement in requirements: + requirement = requirement.strip() + extras = [] + extras_m = re.search(r"\[([\w\d,-_ ]+)\]$", requirement) + if extras_m: + extras = [e.strip() for e in extras_m.group(1).split(",")] + requirement, _ = requirement.split("[") + + url_parsed = urlparse.urlparse(requirement) + if url_parsed.scheme and url_parsed.netloc: + # Url + if url_parsed.scheme in ["git+https", "git+ssh"]: + from poetry.core.vcs.git import Git + from poetry.core.vcs.git import ParsedUrl + + parsed = ParsedUrl.parse(requirement) + url = Git.normalize_url(requirement) + + pair = OrderedDict([("name", parsed.name), ("git", url.url)]) + if parsed.rev: + pair["rev"] = url.revision + + if extras: + pair["extras"] = extras + + package = Provider.get_package_from_vcs( + "git", url.url, rev=pair.get("rev") + ) + pair["name"] = package.name + result.append(pair) + + continue + elif url_parsed.scheme in ["http", "https"]: + package = Provider.get_package_from_url(requirement) + + pair = OrderedDict( + [("name", package.name), ("url", package.source_url)] + ) + if extras: + pair["extras"] = extras + + result.append(pair) + continue + elif (os.path.sep in requirement or "/" in requirement) and cwd.joinpath( + requirement + ).exists(): + path = cwd.joinpath(requirement) + if path.is_file(): + package = Provider.get_package_from_file(path.resolve()) + else: + package = Provider.get_package_from_directory(path) + + result.append( + OrderedDict( + [ + ("name", package.name), + ("path", path.relative_to(cwd).as_posix()), + ] + + ([("extras", extras)] if extras else []) + ) + ) + + continue + + pair = re.sub( + "^([^@=: ]+)(?:@|==|(?~!])=|:| )(.*)$", "\\1 \\2", requirement + ) + pair = pair.strip() + + require = OrderedDict() + if " " in pair: + name, version = pair.split(" ", 2) + extras_m = re.search(r"\[([\w\d,-_]+)\]$", name) + if extras_m: + extras = [e.strip() for e in extras_m.group(1).split(",")] + name, _ = name.split("[") + + require["name"] = name + if version != "latest": + require["version"] = version + else: + m = re.match( + r"^([^><=!: ]+)((?:>=|<=|>|<|!=|~=|~|\^).*)$", requirement.strip() + ) + if m: + name, constraint = m.group(1), m.group(2) + extras_m = re.search(r"\[([\w\d,-_]+)\]$", name) + if extras_m: + extras = [e.strip() for e in extras_m.group(1).split(",")] + name, _ = name.split("[") + + require["name"] = name + require["version"] = constraint + else: + extras_m = re.search(r"\[([\w\d,-_]+)\]$", pair) + if extras_m: + extras = [e.strip() for e in extras_m.group(1).split(",")] + pair, _ = pair.split("[") + + require["name"] = pair + + if extras: + require["extras"] = extras + + result.append(require) + + return result + + def _format_requirements( + self, requirements + ): # type: (List[Dict[str, str]]) -> Dict[str, Union[str, Dict[str, str]]] + requires = {} + for requirement in requirements: + name = requirement.pop("name") + if "version" in requirement and len(requirement) == 1: + constraint = requirement["version"] + else: + constraint = inline_table() + constraint.trivia.trail = "\n" + constraint.update(requirement) + + requires[name] = constraint + + return requires + + def _validate_author(self, author, default): + from poetry.core.packages.package import AUTHOR_REGEX + + author = author or default + + if author in ["n", "no"]: + return + + m = AUTHOR_REGEX.match(author) + if not m: + raise ValueError( + "Invalid author string. Must be in the format: " + "John Smith " + ) + + return author + + def _validate_license(self, license): + from poetry.core.spdx import license_by_id + + if license: + license_by_id(license) + + return license + + def _get_pool(self): + from poetry.repositories import Pool + from poetry.repositories.pypi_repository import PyPiRepository + + if isinstance(self, EnvCommand): + return self.poetry.pool + + if self._pool is None: + self._pool = Pool() + self._pool.add_repository(PyPiRepository(config=self.poetry.config)) + + return self._pool diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/install.py b/venv/lib/python3.8/site-packages/poetry/console/commands/install.py new file mode 120000 index 0000000..7575b75 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/commands/install.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b6/6d/45/d34a589a1baa1fb70fc7f147d01c0adc22eada0053ec13ef58911cfeea \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/installer_command.py b/venv/lib/python3.8/site-packages/poetry/console/commands/installer_command.py new file mode 120000 index 0000000..48dc2a5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/commands/installer_command.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/00/05/2c/9064ade063309465b9c038c57ac643e1df3abd1f6ac69eb43b60c854aa \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/lock.py b/venv/lib/python3.8/site-packages/poetry/console/commands/lock.py new file mode 120000 index 0000000..c450018 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/commands/lock.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/40/4e/54/4dc30f225358504ac2a93685d7323e0851fea2c2a9937f25f1d53d20f9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/new.py b/venv/lib/python3.8/site-packages/poetry/console/commands/new.py new file mode 120000 index 0000000..0a3de71 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/commands/new.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7b/09/e4/e0da6343171e3f2885b321628ba20bdc5c731205d283e7c05801bd130a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/publish.py b/venv/lib/python3.8/site-packages/poetry/console/commands/publish.py new file mode 120000 index 0000000..8d9798e --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/commands/publish.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d4/84/89/d5c0f2169d8df085726fcfd76a861826ccb1c4e61e28e5800365c1b5f6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/remove.py b/venv/lib/python3.8/site-packages/poetry/console/commands/remove.py new file mode 120000 index 0000000..f6b02c4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/commands/remove.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/de/5e/15/d13e5b2473899a2d7a320b2bab612ab547275cb8eace19d794418977de \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/run.py b/venv/lib/python3.8/site-packages/poetry/console/commands/run.py new file mode 120000 index 0000000..9ebd62a --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/commands/run.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3b/8b/f7/fd3e3e3688b2c321189a73d6fe5e8fa411f42359f7af951e498fae6627 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/search.py b/venv/lib/python3.8/site-packages/poetry/console/commands/search.py new file mode 120000 index 0000000..0e6b8cd --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/commands/search.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1e/77/ef/7af91aa5e612837c51cd66f1bc17e44c155c36c9b1ea80f8b39836c760 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/self/__init__.py b/venv/lib/python3.8/site-packages/poetry/console/commands/self/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/commands/self/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/self/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/commands/self/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..61f3769 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/commands/self/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/self/__pycache__/self.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/commands/self/__pycache__/self.cpython-38.pyc new file mode 100644 index 0000000..a3a6b9b Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/commands/self/__pycache__/self.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/self/__pycache__/update.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/commands/self/__pycache__/update.cpython-38.pyc new file mode 100644 index 0000000..e748765 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/commands/self/__pycache__/update.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/self/self.py b/venv/lib/python3.8/site-packages/poetry/console/commands/self/self.py new file mode 120000 index 0000000..081cb60 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/commands/self/self.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/49/7f/25/1bf09512d6075ebaac8cfbd7a1476311aaa51d4e25c6e82b8887527c29 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/self/update.py b/venv/lib/python3.8/site-packages/poetry/console/commands/self/update.py new file mode 100644 index 0000000..2cf768d --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/commands/self/update.py @@ -0,0 +1,472 @@ +from __future__ import unicode_literals + +import hashlib +import os +import re +import shutil +import site +import stat +import subprocess +import sys +import tarfile + +from functools import cmp_to_key +from gzip import GzipFile + +from cleo import argument +from cleo import option + +from poetry.core.packages import Dependency +from poetry.utils._compat import PY2 +from poetry.utils._compat import Path + +from ..command import Command + + +try: + from urllib.error import HTTPError + from urllib.request import urlopen +except ImportError: + from urllib2 import HTTPError + from urllib2 import urlopen + + +BIN = """# -*- coding: utf-8 -*- +import glob +import sys +import os + +lib = os.path.normpath(os.path.join(os.path.realpath(__file__), "../..", "lib")) +vendors = os.path.join(lib, "poetry", "_vendor") +current_vendors = os.path.join( + vendors, "py{}".format(".".join(str(v) for v in sys.version_info[:2])) +) +sys.path.insert(0, lib) +sys.path.insert(0, current_vendors) + +if __name__ == "__main__": + from poetry.console import main + main() +""" + +BAT = '@echo off\r\n{python_executable} "{poetry_bin}" %*\r\n' + + +class SelfUpdateCommand(Command): + + name = "update" + description = "Updates Poetry to the latest version." + + arguments = [argument("version", "The version to update to.", optional=True)] + options = [option("preview", None, "Install prereleases.")] + + REPOSITORY_URL = "https://github.com/python-poetry/poetry" + BASE_URL = REPOSITORY_URL + "/releases/download" + + _data_dir = None + _bin_dir = None + _pool = None + + @property + def home(self): + from poetry.utils._compat import Path + + return Path(os.environ.get("POETRY_HOME", "~/.poetry")).expanduser() + + @property + def bin(self): + return self.home / "bin" + + @property + def lib(self): + return self.home / "lib" + + @property + def lib_backup(self): + return self.home / "lib-backup" + + @property + def data_dir(self): # type: () -> Path + if self._data_dir is not None: + return self._data_dir + + from poetry.locations import data_dir + + self._data_dir = data_dir() + + return self._data_dir + + @property + def bin_dir(self): # type: () -> Path + if self._data_dir is not None: + return self._data_dir + + from poetry.utils._compat import WINDOWS + + if os.getenv("POETRY_HOME"): + return Path(os.getenv("POETRY_HOME"), "bin").expanduser() + + user_base = site.getuserbase() + + if WINDOWS: + bin_dir = os.path.join(user_base, "Scripts") + else: + bin_dir = os.path.join(user_base, "bin") + + self._bin_dir = Path(bin_dir) + + return self._bin_dir + + @property + def pool(self): + if self._pool is not None: + return self._pool + + from poetry.repositories.pool import Pool + from poetry.repositories.pypi_repository import PyPiRepository + + pool = Pool() + pool.add_repository(PyPiRepository(config=self.poetry.config, fallback=False)) + + self._pool = pool + + return self._pool + + def handle(self): + from poetry.__version__ import __version__ + from poetry.core.semver import Version + from poetry.utils.env import EnvManager + + new_update_method = False + try: + self._check_recommended_installation() + except RuntimeError as e: + env = EnvManager.get_system_env(naive=True) + try: + env.path.relative_to(self.data_dir) + except ValueError: + raise e + + new_update_method = True + + version = self.argument("version") + if not version: + version = ">=" + __version__ + + repo = self.pool.repositories[0] + packages = repo.find_packages( + Dependency("poetry", version, allows_prereleases=self.option("preview")) + ) + if not packages: + self.line("No release found for the specified version") + return + + packages.sort( + key=cmp_to_key( + lambda x, y: 0 + if x.version == y.version + else int(x.version < y.version or -1) + ) + ) + + release = None + for package in packages: + if package.is_prerelease(): + if self.option("preview"): + release = package + + break + + continue + + release = package + + break + + if release is None: + self.line("No new release found") + return + + if release.version == Version.parse(__version__): + self.line("You are using the latest version") + return + + if new_update_method: + return self.update_with_new_method(release.version) + + self.update(release) + + def update(self, release): + version = release.version + self.line("Updating to {}".format(version)) + + if self.lib_backup.exists(): + shutil.rmtree(str(self.lib_backup)) + + # Backup the current installation + if self.lib.exists(): + shutil.copytree(str(self.lib), str(self.lib_backup)) + shutil.rmtree(str(self.lib)) + + try: + self._update(version) + except Exception: + if not self.lib_backup.exists(): + raise + + shutil.copytree(str(self.lib_backup), str(self.lib)) + shutil.rmtree(str(self.lib_backup)) + + raise + finally: + if self.lib_backup.exists(): + shutil.rmtree(str(self.lib_backup)) + + self.make_bin() + + self.line("") + self.line("") + self.line( + "Poetry ({}) is installed now. Great!".format( + version + ) + ) + + def update_with_new_method(self, version): + self.line("Updating Poetry to {}".format(version)) + self.line("") + + self._update_with_new_method(version) + self._make_bin() + + self.line("") + self.line( + "Poetry ({}) is installed now. Great!".format(version) + ) + + def _update(self, version): + from poetry.utils.helpers import temporary_directory + + release_name = self._get_release_name(version) + + checksum = "{}.sha256sum".format(release_name) + + base_url = self.BASE_URL + + try: + r = urlopen(base_url + "/{}/{}".format(version, checksum)) + except HTTPError as e: + if e.code == 404: + raise RuntimeError("Could not find {} file".format(checksum)) + + raise + + checksum = r.read().decode().strip() + + # We get the payload from the remote host + name = "{}.tar.gz".format(release_name) + try: + r = urlopen(base_url + "/{}/{}".format(version, name)) + except HTTPError as e: + if e.code == 404: + raise RuntimeError("Could not find {} file".format(name)) + + raise + + meta = r.info() + size = int(meta["Content-Length"]) + current = 0 + block_size = 8192 + + bar = self.progress_bar(max=size) + bar.set_format(" - Downloading {} %percent%%".format(name)) + bar.start() + + sha = hashlib.sha256() + with temporary_directory(prefix="poetry-updater-") as dir_: + tar = os.path.join(dir_, name) + with open(tar, "wb") as f: + while True: + buffer = r.read(block_size) + if not buffer: + break + + current += len(buffer) + f.write(buffer) + sha.update(buffer) + + bar.set_progress(current) + + bar.finish() + + # Checking hashes + if checksum != sha.hexdigest(): + raise RuntimeError( + "Hashes for {} do not match: {} != {}".format( + name, checksum, sha.hexdigest() + ) + ) + + gz = GzipFile(tar, mode="rb") + try: + with tarfile.TarFile(tar, fileobj=gz, format=tarfile.PAX_FORMAT) as f: + f.extractall(str(self.lib)) + finally: + gz.close() + + def _update_with_new_method(self, version): + from poetry.config.config import Config + from poetry.core.packages.dependency import Dependency + from poetry.core.packages.project_package import ProjectPackage + from poetry.installation.installer import Installer + from poetry.packages.locker import NullLocker + from poetry.repositories.installed_repository import InstalledRepository + from poetry.utils.env import EnvManager + + env = EnvManager.get_system_env(naive=True) + installed = InstalledRepository.load(env) + + root = ProjectPackage("poetry-updater", "0.0.0") + root.python_versions = ".".join(str(c) for c in env.version_info[:3]) + root.add_dependency(Dependency("poetry", version.text)) + + installer = Installer( + self.io, + env, + root, + NullLocker(self.data_dir.joinpath("poetry.lock"), {}), + self.pool, + Config(), + installed=installed, + ) + installer.update(True) + installer.run() + + def _make_bin(self): + from poetry.utils._compat import WINDOWS + + self.line("") + self.line("Updating the poetry script") + + self.bin_dir.mkdir(parents=True, exist_ok=True) + + script = "poetry" + target_script = "venv/bin/poetry" + if WINDOWS: + script = "poetry.exe" + target_script = "venv/Scripts/poetry.exe" + + if self.bin_dir.joinpath(script).exists(): + self.bin_dir.joinpath(script).unlink() + + if not PY2 and not WINDOWS: + try: + self.bin_dir.joinpath(script).symlink_to( + self.data_dir.joinpath(target_script) + ) + except OSError: + # This can happen if the user + # does not have the correct permission on Windows + shutil.copy( + self.data_dir.joinpath(target_script), self.bin_dir.joinpath(script) + ) + else: + shutil.copy( + str(self.data_dir.joinpath(target_script)), + str(self.bin_dir.joinpath(script)), + ) + + def process(self, *args): + return subprocess.check_output(list(args), stderr=subprocess.STDOUT) + + def _check_recommended_installation(self): + from poetry.utils._compat import Path + + current = Path(__file__) + try: + current.relative_to(self.home) + except ValueError: + raise RuntimeError( + "Poetry was not installed with the recommended installer. " + "Cannot update automatically." + ) + + def _get_release_name(self, version): + platform = sys.platform + if platform == "linux2": + platform = "linux" + + return "poetry-{}-{}".format(version, platform) + + def _bin_path(self, base_path, bin): + from poetry.utils._compat import WINDOWS + + if WINDOWS: + return (base_path / "Scripts" / bin).with_suffix(".exe") + + return base_path / "bin" / bin + + def make_bin(self): + from poetry.utils._compat import WINDOWS + + self.bin.mkdir(0o755, parents=True, exist_ok=True) + + python_executable = self._which_python() + + if WINDOWS: + with self.bin.joinpath("poetry.bat").open("w", newline="") as f: + f.write( + BAT.format( + python_executable=python_executable, + poetry_bin=str(self.bin / "poetry").replace( + os.environ["USERPROFILE"], "%USERPROFILE%" + ), + ) + ) + + bin_content = BIN + if not WINDOWS: + bin_content = "#!/usr/bin/env {}\n".format(python_executable) + bin_content + + self.bin.joinpath("poetry").write_text(bin_content, encoding="utf-8") + + if not WINDOWS: + # Making the file executable + st = os.stat(str(self.bin.joinpath("poetry"))) + os.chmod(str(self.bin.joinpath("poetry")), st.st_mode | stat.S_IEXEC) + + def _which_python(self): + """ + Decides which python executable we'll embed in the launcher script. + """ + from poetry.utils._compat import WINDOWS + + allowed_executables = ["python", "python3"] + if WINDOWS: + allowed_executables += ["py.exe -3", "py.exe -2"] + + # \d in regex ensures we can convert to int later + version_matcher = re.compile(r"^Python (?P\d+)\.(?P\d+)\..+$") + fallback = None + for executable in allowed_executables: + try: + raw_version = subprocess.check_output( + executable + " --version", stderr=subprocess.STDOUT, shell=True + ).decode("utf-8") + except subprocess.CalledProcessError: + continue + + match = version_matcher.match(raw_version.strip()) + if match and tuple(map(int, match.groups())) >= (3, 0): + # favor the first py3 executable we can find. + return executable + + if fallback is None: + # keep this one as the fallback; it was the first valid executable we found. + fallback = executable + + if fallback is None: + # Avoid breaking existing scripts + fallback = "python" + + return fallback diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/shell.py b/venv/lib/python3.8/site-packages/poetry/console/commands/shell.py new file mode 120000 index 0000000..28cb23d --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/commands/shell.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e7/66/08/3a9853a67e4f6f6c36790e201dd2b78bbebe967419a556ab3f46a92004 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/show.py b/venv/lib/python3.8/site-packages/poetry/console/commands/show.py new file mode 120000 index 0000000..ec4f9ae --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/commands/show.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e6/46/af/44aa90700845448421ec2db03db81e1824fb2a8ca61751042f9add09d0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/update.py b/venv/lib/python3.8/site-packages/poetry/console/commands/update.py new file mode 120000 index 0000000..3dc436a --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/commands/update.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/71/fb/dc/ddd9d4c4d76c4a0959ece9968a38e3b0429b9b6157ec9afb70da86d584 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/console/commands/version.py b/venv/lib/python3.8/site-packages/poetry/console/commands/version.py new file mode 120000 index 0000000..b208b3f --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/commands/version.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/44/5e/c8/406eb1b07061704a737a1a2a6cab1b0b9c8448815771caf9cba8df31ea \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/console/config/__init__.py b/venv/lib/python3.8/site-packages/poetry/console/config/__init__.py new file mode 120000 index 0000000..7c998d8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/config/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ce/2f/76/267701c530583bbfcfccb985eb6a2005d9e2ad8ce9f55662076e8a1e32 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/console/config/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/config/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..d565b11 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/config/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/config/__pycache__/application_config.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/config/__pycache__/application_config.cpython-38.pyc new file mode 100644 index 0000000..98a59b9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/config/__pycache__/application_config.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/config/application_config.py b/venv/lib/python3.8/site-packages/poetry/console/config/application_config.py new file mode 120000 index 0000000..fcda9c4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/config/application_config.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/84/1f/ec/e568ca8230d16a9a25ec7f0952ed12de20831ffb0f56d19fb40837656b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/console/logging/__init__.py b/venv/lib/python3.8/site-packages/poetry/console/logging/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/logging/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/console/logging/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/logging/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..1ebe5da Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/logging/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/logging/__pycache__/io_formatter.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/logging/__pycache__/io_formatter.cpython-38.pyc new file mode 100644 index 0000000..5a5753e Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/logging/__pycache__/io_formatter.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/logging/__pycache__/io_handler.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/logging/__pycache__/io_handler.cpython-38.pyc new file mode 100644 index 0000000..2e26421 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/logging/__pycache__/io_handler.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/logging/formatters/__init__.py b/venv/lib/python3.8/site-packages/poetry/console/logging/formatters/__init__.py new file mode 120000 index 0000000..19a17e1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/logging/formatters/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f5/c4/1f/7f9085694660e50252899bc42c821cf26c0b19a34c15a74ef6e58cefc3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/console/logging/formatters/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/logging/formatters/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..29ab9ba Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/logging/formatters/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/logging/formatters/__pycache__/builder_formatter.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/logging/formatters/__pycache__/builder_formatter.cpython-38.pyc new file mode 100644 index 0000000..c218aba Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/logging/formatters/__pycache__/builder_formatter.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/logging/formatters/__pycache__/formatter.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/console/logging/formatters/__pycache__/formatter.cpython-38.pyc new file mode 100644 index 0000000..d106e57 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/console/logging/formatters/__pycache__/formatter.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/console/logging/formatters/builder_formatter.py b/venv/lib/python3.8/site-packages/poetry/console/logging/formatters/builder_formatter.py new file mode 120000 index 0000000..4494a65 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/logging/formatters/builder_formatter.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a3/56/bc/54f390100fb2252f935bb32d496b9bb96c9bd0434316d752d0c79f23cc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/console/logging/formatters/formatter.py b/venv/lib/python3.8/site-packages/poetry/console/logging/formatters/formatter.py new file mode 120000 index 0000000..8e39b37 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/logging/formatters/formatter.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f8/a7/8b/459b7d53107b95fe33194b8b2ac6b687319c24771330a43eaa63b3e2cb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/console/logging/io_formatter.py b/venv/lib/python3.8/site-packages/poetry/console/logging/io_formatter.py new file mode 120000 index 0000000..8bcdaa7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/logging/io_formatter.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6d/22/53/c55351916bc6e330317cf82fa911c4318c64258321ebbccd05d85f5c26 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/console/logging/io_handler.py b/venv/lib/python3.8/site-packages/poetry/console/logging/io_handler.py new file mode 120000 index 0000000..5fb5d44 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/console/logging/io_handler.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/85/e5/c0/ecc3bd0407bd03a7b8994c15559eabadb7dbc69ff7d52732a3c1ba5259 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/__init__.py b/venv/lib/python3.8/site-packages/poetry/core/__init__.py new file mode 120000 index 0000000..b090fa6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7f/b7/f4/f3755ac81e8aedd8c7b45967456e809dcb15720c814bc2eee3ccc2514c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..9b696b4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/__pycache__/factory.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/__pycache__/factory.cpython-38.pyc new file mode 100644 index 0000000..6950735 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/__pycache__/factory.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/__pycache__/poetry.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/__pycache__/poetry.cpython-38.pyc new file mode 100644 index 0000000..a5e4467 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/__pycache__/poetry.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/__pycache__/_pyrsistent_version.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/__pycache__/_pyrsistent_version.cpython-38.pyc new file mode 100644 index 0000000..613ae68 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/__pycache__/_pyrsistent_version.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/__pycache__/pyparsing.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/__pycache__/pyparsing.cpython-38.pyc new file mode 100644 index 0000000..2203741 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/__pycache__/pyparsing.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/__pycache__/six.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/__pycache__/six.cpython-38.pyc new file mode 100644 index 0000000..2eb8ab1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/__pycache__/six.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/_pyrsistent_version.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/_pyrsistent_version.py new file mode 120000 index 0000000..a0daff0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/_pyrsistent_version.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5d/fa/39/d0f9f29f0e49dffba91fa6090a56b338d0ee816486b4c7d828ccee8f13 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/__init__.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/__init__.py new file mode 120000 index 0000000..81f6bd3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/eb/4f/61/397bfbcefb7b3b3c098c319b4549cd2d769996b07cf25f78cf6d9ed869 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..68134a0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/__pycache__/_compat.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/__pycache__/_compat.cpython-38.pyc new file mode 100644 index 0000000..1a43624 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/__pycache__/_compat.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/__pycache__/_config.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/__pycache__/_config.cpython-38.pyc new file mode 100644 index 0000000..c802129 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/__pycache__/_config.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/__pycache__/_funcs.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/__pycache__/_funcs.cpython-38.pyc new file mode 100644 index 0000000..0e3ed3f Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/__pycache__/_funcs.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/__pycache__/_make.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/__pycache__/_make.cpython-38.pyc new file mode 100644 index 0000000..aae3fda Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/__pycache__/_make.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/__pycache__/_next_gen.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/__pycache__/_next_gen.cpython-38.pyc new file mode 100644 index 0000000..11a31a1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/__pycache__/_next_gen.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/__pycache__/_version_info.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/__pycache__/_version_info.cpython-38.pyc new file mode 100644 index 0000000..91adfb0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/__pycache__/_version_info.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/__pycache__/converters.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/__pycache__/converters.cpython-38.pyc new file mode 100644 index 0000000..52b4446 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/__pycache__/converters.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/__pycache__/exceptions.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/__pycache__/exceptions.cpython-38.pyc new file mode 100644 index 0000000..fcd531d Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/__pycache__/exceptions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/__pycache__/filters.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/__pycache__/filters.cpython-38.pyc new file mode 100644 index 0000000..88af45d Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/__pycache__/filters.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/__pycache__/setters.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/__pycache__/setters.cpython-38.pyc new file mode 100644 index 0000000..3aac947 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/__pycache__/setters.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/__pycache__/validators.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/__pycache__/validators.cpython-38.pyc new file mode 100644 index 0000000..f3308fe Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/__pycache__/validators.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/_compat.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/_compat.py new file mode 120000 index 0000000..b75f583 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/_compat.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/49/68/92/f32ac264b05ad2eb2e02406c040c967315de740a23e51e7d5d9ab95e47 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/_config.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/_config.py new file mode 120000 index 0000000..6356f79 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/_config.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c1/da/9e/8b666b335bdbd1ac7bad10b41d85b0500ef5ca07c91c15f4a76093aa81 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/_funcs.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/_funcs.py new file mode 120000 index 0000000..e22bf1c --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/_funcs.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bc/57/49/e24b97c60b9ad68dbfd8e2953ff31b9a1e7c18dc55bd9c89d6dda66e65 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/_make.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/_make.py new file mode 120000 index 0000000..1c772af --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/_make.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/26/06/d2/7b2d66a475391da07d2999eeced65f776d25df4ddfce11d110283bc651 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/_next_gen.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/_next_gen.py new file mode 120000 index 0000000..9db2d6a --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/_next_gen.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/16/e2/10/158ba6ba1c7f0a67f45d58a1dd8fa93d6d9226cd34b1f4a226fa16b06b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/_version_info.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/_version_info.py new file mode 120000 index 0000000..13137c6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/_version_info.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/82/f0/b5/b19c0e4de14c7ebb6178a91cc9ec1df10658dad7e8209d3a740fef42a5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/converters.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/converters.py new file mode 120000 index 0000000..98f6ffb --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/converters.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/89/34/a8/94b3331e7f7703247a4b7ce3fa05328e1d140cc8884ebfd491592c0e38 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/exceptions.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/exceptions.py new file mode 120000 index 0000000..92daa67 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/exceptions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/31/79/db/a0375b6337cb7cf2d4fae7bf8d71efa2b36bcbbd20f5d78219e34a65f2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/filters.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/filters.py new file mode 120000 index 0000000..3f13cc4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/filters.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2e/2a/99/f2b2fdf6329777f48dd19046600792d6373924f50622b8bc2c58951a55 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/py.typed b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/py.typed new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/py.typed @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/setters.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/setters.py new file mode 120000 index 0000000..def651f --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/setters.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4f/51/10/8614b33f403d039e73706ba7a29037fdb896e0870adb760d94033ce4d8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/validators.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/validators.py new file mode 120000 index 0000000..d3700c9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attr/validators.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/94/4e/05/d0f613f19cbbb15eb2e4f82ab8913c43d34510de48a7554964cfdb322f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/attrs.LICENSE b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attrs.LICENSE new file mode 120000 index 0000000..c64f894 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/attrs.LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/82/2d/76/3ef09487bc0022be490aa3ee7ee8fd719479ee00b985b6da428cb0158e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/COPYING b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/COPYING new file mode 120000 index 0000000..3779a30 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/COPYING @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/66/01/0c/33da1256c30c4359f6edd8c30fbccbf41a4bf66cb0c576e5c726978142 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/LICENSE b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/LICENSE new file mode 120000 index 0000000..7b9e6c3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/21/0c/8f/c7afbd782d2bd46af6f9ca5b4b110978b34c93e37c7b080cfbf399de24 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/__init__.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/__init__.py new file mode 120000 index 0000000..5956d79 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ab/65/71/04024ff26280fb0b74119460239d25e2fd5639d318c7ab5ab392b3980d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/__main__.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/__main__.py new file mode 120000 index 0000000..ed82d29 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/__main__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/36/42/eb/3024bbb1383645f44e7f4d9f5f1fadde462455f50f74cdcf25e5add28e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..f37263c Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/__pycache__/__main__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/__pycache__/__main__.cpython-38.pyc new file mode 100644 index 0000000..dc61b7c Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/__pycache__/__main__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/__pycache__/_format.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/__pycache__/_format.cpython-38.pyc new file mode 100644 index 0000000..d732bb0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/__pycache__/_format.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/__pycache__/_legacy_validators.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/__pycache__/_legacy_validators.cpython-38.pyc new file mode 100644 index 0000000..ff87113 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/__pycache__/_legacy_validators.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/__pycache__/_reflect.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/__pycache__/_reflect.cpython-38.pyc new file mode 100644 index 0000000..3f1227a Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/__pycache__/_reflect.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/__pycache__/_types.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/__pycache__/_types.cpython-38.pyc new file mode 100644 index 0000000..a479fa9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/__pycache__/_types.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/__pycache__/_utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/__pycache__/_utils.cpython-38.pyc new file mode 100644 index 0000000..c742543 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/__pycache__/_utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/__pycache__/_validators.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/__pycache__/_validators.cpython-38.pyc new file mode 100644 index 0000000..a6b1b34 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/__pycache__/_validators.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/__pycache__/cli.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/__pycache__/cli.cpython-38.pyc new file mode 100644 index 0000000..3d23ef1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/__pycache__/cli.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/__pycache__/compat.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/__pycache__/compat.cpython-38.pyc new file mode 100644 index 0000000..f4a962f Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/__pycache__/compat.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/__pycache__/exceptions.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/__pycache__/exceptions.cpython-38.pyc new file mode 100644 index 0000000..1063439 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/__pycache__/exceptions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/__pycache__/validators.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/__pycache__/validators.cpython-38.pyc new file mode 100644 index 0000000..cbefde7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/__pycache__/validators.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/_format.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/_format.py new file mode 120000 index 0000000..623e475 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/_format.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5b/9a/62/e880070baff716e239029f524bc18108788998d07249548b52c9a60b49 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/_legacy_validators.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/_legacy_validators.py new file mode 120000 index 0000000..f9d8b6b --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/_legacy_validators.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5a/7f/04/676007db79a8ba1f2dac680123cafa2723f7ba65d23981aefb8142c561 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/_reflect.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/_reflect.py new file mode 120000 index 0000000..d5cf245 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/_reflect.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a6/a6/dd/4a250860c655853365aca17f82a42c67c4e54bb74648749db659b5f469 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/_types.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/_types.py new file mode 120000 index 0000000..2a658d8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/_types.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5f/b2/aa/a896a5215b364b5c65552d72e9296b4866538d23172fefc5e419a1796d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/_utils.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/_utils.py new file mode 120000 index 0000000..6ebfc89 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/_utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b9/46/16/94c2ed588f7d8069b43127ece3cb2714a33cff1ea322a357ec9d40ef3d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/_validators.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/_validators.py new file mode 120000 index 0000000..4a643a1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/_validators.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cc/6a/c9/10b8983582a7121c2c0b4b5791aef9484231a1cdd3dd15f8614e6749cf \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/benchmarks/__init__.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/benchmarks/__init__.py new file mode 120000 index 0000000..3a3ab4d --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/benchmarks/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/93/5f/a5/fde3953587e3a754621a72bcb164071fcb494bc83da52c33d0c0dfc572 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/benchmarks/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/benchmarks/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..6331755 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/benchmarks/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/benchmarks/__pycache__/issue232.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/benchmarks/__pycache__/issue232.cpython-38.pyc new file mode 100644 index 0000000..fd0c1be Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/benchmarks/__pycache__/issue232.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/benchmarks/__pycache__/json_schema_test_suite.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/benchmarks/__pycache__/json_schema_test_suite.cpython-38.pyc new file mode 100644 index 0000000..a045309 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/benchmarks/__pycache__/json_schema_test_suite.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/benchmarks/issue232.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/benchmarks/issue232.py new file mode 120000 index 0000000..ed6800d --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/benchmarks/issue232.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/15/52/3a/c3182e26a9f49575beb7abe56cd85cf045ff00378bc4274fd894444dde \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/benchmarks/json_schema_test_suite.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/benchmarks/json_schema_test_suite.py new file mode 120000 index 0000000..3234e8e --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/benchmarks/json_schema_test_suite.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1b/d0/b1/0b3128a8c185612f320616355a8d75cb9d3baef41d80018d51c6a0d67c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/cli.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/cli.py new file mode 120000 index 0000000..62b2499 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/cli.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8f/fa/e3/621e3b544fe894f2b3eeff6aeebaa6290d053a04b0638e1b6718fe5861 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/compat.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/compat.py new file mode 120000 index 0000000..8a590a4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/compat.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/79/6d/cf/79acf92c93dd1a5caecabb93608f3d49da5e2958d952f4fabc9375447d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/exceptions.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/exceptions.py new file mode 120000 index 0000000..f165790 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/exceptions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/91/e2/9d/ffb523f37406cef56b416b8e199c73e89b9fe17c7afb57ab3ba3875a77 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/schemas/draft3.json b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/schemas/draft3.json new file mode 120000 index 0000000..cb846f7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/schemas/draft3.json @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/71/44/4b/aa5c393a04220934addb5edfe82c725068dc57cb07f2126be7a9f71a3f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/schemas/draft4.json b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/schemas/draft4.json new file mode 120000 index 0000000..7f636a7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/schemas/draft4.json @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/74/89/66/69d1da73b6556b55b2d6c6da275acbf62951ab8f5ab04263a556a2ffe8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/schemas/draft6.json b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/schemas/draft6.json new file mode 120000 index 0000000..bd0ec15 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/schemas/draft6.json @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9f/9a/9a/bbce90c2dbb37f671478123f56b330750eb0cb83d1305362160ad7cf96 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/schemas/draft7.json b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/schemas/draft7.json new file mode 120000 index 0000000..69fb48a --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/schemas/draft7.json @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ea/80/42/a8201634aa950816232a76d5c36bc995ceed09f2c4d83f92ceebf7473d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/validators.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/validators.py new file mode 120000 index 0000000..df1a07a --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/jsonschema/validators.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2d/85/db/25071da3c61c99a4e9ab89456f5056815ffb533e18a0b60010e37a28c0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark-parser.LICENSE b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark-parser.LICENSE new file mode 120000 index 0000000..2376cf3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark-parser.LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6e/83/ad/8e0de51690a53eac02dd2b6188dfd7949053be56fba5b651140d27ee57 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__init__.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__init__.py new file mode 120000 index 0000000..2bc6591 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/11/77/a9/90544aed165c2e794d908d5f1cb95359b6b8470ff2b4f0bc6b16950263 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..e2fabca Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pycache__/common.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pycache__/common.cpython-38.pyc new file mode 100644 index 0000000..a1311e8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pycache__/common.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pycache__/exceptions.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pycache__/exceptions.cpython-38.pyc new file mode 100644 index 0000000..b4f7e3d Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pycache__/exceptions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pycache__/grammar.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pycache__/grammar.cpython-38.pyc new file mode 100644 index 0000000..81a95f4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pycache__/grammar.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pycache__/indenter.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pycache__/indenter.cpython-38.pyc new file mode 100644 index 0000000..ad3c282 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pycache__/indenter.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pycache__/lark.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pycache__/lark.cpython-38.pyc new file mode 100644 index 0000000..294b387 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pycache__/lark.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pycache__/lexer.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pycache__/lexer.cpython-38.pyc new file mode 100644 index 0000000..daa6be1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pycache__/lexer.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pycache__/load_grammar.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pycache__/load_grammar.cpython-38.pyc new file mode 100644 index 0000000..0963277 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pycache__/load_grammar.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pycache__/parse_tree_builder.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pycache__/parse_tree_builder.cpython-38.pyc new file mode 100644 index 0000000..40fd14d Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pycache__/parse_tree_builder.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pycache__/parser_frontends.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pycache__/parser_frontends.cpython-38.pyc new file mode 100644 index 0000000..9caa5fa Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pycache__/parser_frontends.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pycache__/reconstruct.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pycache__/reconstruct.cpython-38.pyc new file mode 100644 index 0000000..d5e5d31 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pycache__/reconstruct.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pycache__/reconstruct2.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pycache__/reconstruct2.cpython-38.pyc new file mode 100644 index 0000000..8cfa5ed Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pycache__/reconstruct2.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pycache__/tree.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pycache__/tree.cpython-38.pyc new file mode 100644 index 0000000..29c07ea Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pycache__/tree.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pycache__/utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pycache__/utils.cpython-38.pyc new file mode 100644 index 0000000..87dc93a Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pycache__/utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pycache__/visitors.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pycache__/visitors.cpython-38.pyc new file mode 100644 index 0000000..b64da5d Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pycache__/visitors.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pyinstaller/__init__.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pyinstaller/__init__.py new file mode 120000 index 0000000..eae546b --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pyinstaller/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/93/77/53/16e33e78f36f6e7b3f417f8723a825bdd7f59914eb3ba0a1852c5479c1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pyinstaller/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pyinstaller/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..e047b12 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pyinstaller/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pyinstaller/__pycache__/hook-lark.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pyinstaller/__pycache__/hook-lark.cpython-38.pyc new file mode 100644 index 0000000..ba2d9e2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pyinstaller/__pycache__/hook-lark.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pyinstaller/hook-lark.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pyinstaller/hook-lark.py new file mode 120000 index 0000000..fcfd569 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/__pyinstaller/hook-lark.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/46/12/47/4c09c078d8ecf6ca93a4042f03160f84028903634b283e2887e22f0ee7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/common.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/common.py new file mode 120000 index 0000000..bf9cb53 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/common.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/93/f9/61/9dd5d31843fad2dd325d5be33c2bb47d27778265014d0a8500b1a4aad0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/exceptions.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/exceptions.py new file mode 120000 index 0000000..bc2b5ce --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/exceptions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/05/02/9c/d0b1159f66633b77046183ef1d174097290c9d42390acbb13d88890d80 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/grammar.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/grammar.py new file mode 120000 index 0000000..fc39ec4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/grammar.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1b/24/cb/f9e97d77e50776b39d64500b7f902901cba5fcf2d3f80b49c723f71d62 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/grammars/common.lark b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/grammars/common.lark new file mode 120000 index 0000000..631c992 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/grammars/common.lark @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/67/f2/a5/6aa1200ceb58493ee11d514f0fdf3b2aef32e4295337184848dbf4a350 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/indenter.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/indenter.py new file mode 120000 index 0000000..400fb69 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/indenter.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/aa/a2/e6/07b9c1deb7a16d30de9583fd9dce54c100e6c661ed47025de9918971af \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/lark.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/lark.py new file mode 120000 index 0000000..7f5efc4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/lark.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/94/79/79/471ec7c07b54865490f75a9435d370c01c5dbd093c9f7b8aa0ec9c445f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/lexer.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/lexer.py new file mode 120000 index 0000000..3c7b6a9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/lexer.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cc/bd/80/a713de44f572f6bb34bc9d2d368c5824b758ee17debe13042374869b2a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/load_grammar.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/load_grammar.py new file mode 120000 index 0000000..7920bb1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/load_grammar.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/47/70/f1/783b3084c9fd4dd339d0c8c51fb061d24646a2cea4a0c0fbd990936e3b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parse_tree_builder.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parse_tree_builder.py new file mode 120000 index 0000000..fb18be7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parse_tree_builder.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f6/e7/28/b4fdb92692de30b07b0e5fbf96211d7626ebff74d28a2bbda8910ca90a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parser_frontends.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parser_frontends.py new file mode 120000 index 0000000..384a88b --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parser_frontends.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0b/81/41/addcd93ec658abcb28e3d267334871fb94ac6554cda26b35190d6bb4b0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/__init__.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..3ff5042 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/__pycache__/cyk.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/__pycache__/cyk.cpython-38.pyc new file mode 100644 index 0000000..0050ba7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/__pycache__/cyk.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/__pycache__/earley.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/__pycache__/earley.cpython-38.pyc new file mode 100644 index 0000000..fb777a4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/__pycache__/earley.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/__pycache__/earley_common.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/__pycache__/earley_common.cpython-38.pyc new file mode 100644 index 0000000..4a9b957 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/__pycache__/earley_common.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/__pycache__/earley_forest.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/__pycache__/earley_forest.cpython-38.pyc new file mode 100644 index 0000000..4e72f2e Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/__pycache__/earley_forest.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/__pycache__/grammar_analysis.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/__pycache__/grammar_analysis.cpython-38.pyc new file mode 100644 index 0000000..ea4c224 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/__pycache__/grammar_analysis.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/__pycache__/lalr_analysis.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/__pycache__/lalr_analysis.cpython-38.pyc new file mode 100644 index 0000000..0a2df3c Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/__pycache__/lalr_analysis.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/__pycache__/lalr_parser.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/__pycache__/lalr_parser.cpython-38.pyc new file mode 100644 index 0000000..5826d49 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/__pycache__/lalr_parser.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/__pycache__/lalr_puppet.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/__pycache__/lalr_puppet.cpython-38.pyc new file mode 100644 index 0000000..36a3749 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/__pycache__/lalr_puppet.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/__pycache__/xearley.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/__pycache__/xearley.cpython-38.pyc new file mode 100644 index 0000000..7557154 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/__pycache__/xearley.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/cyk.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/cyk.py new file mode 120000 index 0000000..5f99ba5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/cyk.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d2/5d/20/374e209193be88678b953b7639128afe83386cd5ad866d5497da1148f2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/earley.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/earley.py new file mode 120000 index 0000000..bcb014f --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/earley.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/db/c8/27/62ddd61be4487a8637dc9f941dfe29c74cab36184c8eca491c78022948 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/earley_common.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/earley_common.py new file mode 120000 index 0000000..f724e3b --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/earley_common.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/19/95/b4/79c323071b97ca9595e50046631f61416d54102a34467d3d73b54737d7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/earley_forest.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/earley_forest.py new file mode 120000 index 0000000..333df86 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/earley_forest.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8f/d6/74/783ee5c7dc6070d67f88eab5cd5dae217fdec6556b8d97a3bd1061e541 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/grammar_analysis.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/grammar_analysis.py new file mode 120000 index 0000000..78adb0f --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/grammar_analysis.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9f/87/f5/a1d7ab0dab7e0e84565690652f51f428ec562043beb217cd0f7b704976 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/lalr_analysis.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/lalr_analysis.py new file mode 120000 index 0000000..c8cb54b --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/lalr_analysis.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4a/14/3a/89ce1457812cf8a9de240f7cab609c401278c6fc9c9599c3c0de4e1d6f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/lalr_parser.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/lalr_parser.py new file mode 120000 index 0000000..8231a1a --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/lalr_parser.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8b/94/13/029b3453915aeae4bf537388f18f9769295ef2b30c33c3de3cb4815f08 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/lalr_puppet.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/lalr_puppet.py new file mode 120000 index 0000000..3ed1309 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/lalr_puppet.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3a/ec/27/f9b3faa43894ea3a65d5fae8249d689d81647d815c6addd94ab2808de7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/xearley.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/xearley.py new file mode 120000 index 0000000..e0b8eb2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/parsers/xearley.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d6/bc/e0/10ec06b68e9fce6f0f3718947f9fbbe891731959519dca284f07c247f0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/reconstruct.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/reconstruct.py new file mode 120000 index 0000000..9684f74 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/reconstruct.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/30/a9/01/1487fd6956d631936f2cd1b1a075f989a9f9ef12f084ebdb28f202f7a3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/reconstruct2.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/reconstruct2.py new file mode 120000 index 0000000..3be30f3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/reconstruct2.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/be/d7/98/9d6a3a9e0bc840c7931898d009a4cadf06eedaaebb45fb9cd3eae604ba \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/tools/__init__.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/tools/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/tools/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/tools/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/tools/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..7d20fff Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/tools/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/tools/__pycache__/nearley.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/tools/__pycache__/nearley.cpython-38.pyc new file mode 100644 index 0000000..1da6e05 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/tools/__pycache__/nearley.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/tools/__pycache__/serialize.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/tools/__pycache__/serialize.cpython-38.pyc new file mode 100644 index 0000000..c25194f Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/tools/__pycache__/serialize.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/tools/__pycache__/standalone.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/tools/__pycache__/standalone.cpython-38.pyc new file mode 100644 index 0000000..8cd40df Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/tools/__pycache__/standalone.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/tools/nearley.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/tools/nearley.py new file mode 120000 index 0000000..62027dc --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/tools/nearley.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/87/20/d1/c1eda003c3ac49a6444a1e740bdb7b158ec6df29c2fe5e1561a3d9269d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/tools/serialize.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/tools/serialize.py new file mode 120000 index 0000000..017bd36 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/tools/serialize.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a8/fb/87/99ceabfb01cc0db70c42ad6766c52bd4242c9628d5f2d6a73d0d516028 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/tools/standalone.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/tools/standalone.py new file mode 120000 index 0000000..8902100 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/tools/standalone.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/65/48/8d/471b31233790ed5e9b7ae31b6dd67b0ea2913b2a4ed71bf1232cc97e9a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/tree.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/tree.py new file mode 120000 index 0000000..6743c82 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/tree.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e5/d5/f2/13ca6d31cabbfeb9434cdb0d3bf67293ab4eac12ac8b6f5965cc6bf3dd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/utils.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/utils.py new file mode 120000 index 0000000..a24813c --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/42/dd/6e/aadb00f275c9ecb06b7c60674ece49b0fc92983dbc30d3f54dfc78d4ae \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/visitors.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/visitors.py new file mode 120000 index 0000000..f1e4e40 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/lark/visitors.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b6/d9/0f/a1210c6afcc80b0f7c9cac44db8fa44752af80bd69bc17f75ce709553a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/LICENSE b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/LICENSE new file mode 120000 index 0000000..4899bca --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8e/f8/1e/4c883c5ccb2a08026cc74ba3193279dd5149b36839d976c0a896637d87 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/LICENSE.APACHE b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/LICENSE.APACHE new file mode 120000 index 0000000..c7fabc5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/LICENSE.APACHE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/eb/3d/7b/5485466acbd81f2b496f595ab637d2792e268206b27d99e793bdb67549 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/LICENSE.BSD b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/LICENSE.BSD new file mode 120000 index 0000000..9cd6e65 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/LICENSE.BSD @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/67/da/f1/5b478dbd91bcd83bff907efff68471d42d2138226b89f039d658d53435 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/__about__.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/__about__.py new file mode 120000 index 0000000..d6a5b91 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/__about__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/87/d4/0e/025817939d425545df0f67630cef17ef3d832a39c8c6411c9821da9537 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/__init__.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/__init__.py new file mode 120000 index 0000000..b6513b8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/51/c0/29/90c3f25867081a06161a2e652f9bb33d8a5e97268e3d15e181d5210a2c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/__pycache__/__about__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/__pycache__/__about__.cpython-38.pyc new file mode 100644 index 0000000..e066398 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/__pycache__/__about__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..c78183c Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/__pycache__/_compat.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/__pycache__/_compat.cpython-38.pyc new file mode 100644 index 0000000..96b8013 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/__pycache__/_compat.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/__pycache__/_structures.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/__pycache__/_structures.cpython-38.pyc new file mode 100644 index 0000000..af4aa2d Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/__pycache__/_structures.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/__pycache__/_typing.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/__pycache__/_typing.cpython-38.pyc new file mode 100644 index 0000000..1d45f4a Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/__pycache__/_typing.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/__pycache__/markers.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/__pycache__/markers.cpython-38.pyc new file mode 100644 index 0000000..5ae499c Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/__pycache__/markers.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/__pycache__/requirements.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/__pycache__/requirements.cpython-38.pyc new file mode 100644 index 0000000..c155e07 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/__pycache__/requirements.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/__pycache__/specifiers.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/__pycache__/specifiers.cpython-38.pyc new file mode 100644 index 0000000..6ecb484 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/__pycache__/specifiers.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/__pycache__/tags.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/__pycache__/tags.cpython-38.pyc new file mode 100644 index 0000000..54a03b2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/__pycache__/tags.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/__pycache__/utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/__pycache__/utils.cpython-38.pyc new file mode 100644 index 0000000..ff861e5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/__pycache__/utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/__pycache__/version.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/__pycache__/version.cpython-38.pyc new file mode 100644 index 0000000..3eb658b Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/__pycache__/version.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/_compat.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/_compat.py new file mode 120000 index 0000000..31040eb --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/_compat.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c2/d4/d4/6d50193f0c13cb8ffc6908c279d0a9415732f824ef099bf5462dc8be16 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/_structures.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/_structures.py new file mode 120000 index 0000000..4795f40 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/_structures.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d0/35/1f/312e26624bf37fff3d1757f949149b62d73176291cdd3bf38029f17a8d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/_typing.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/_typing.py new file mode 120000 index 0000000..aba3f63 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/_typing.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/99/52/86/356ff1d04cebfb19f0e09075d4fed7c161125d6147409fb3675cf0cc4d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/markers.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/markers.py new file mode 120000 index 0000000..d1bed00 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/markers.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/50/9f/6c/ec434316edf587d8fae77d3c4711bab21b584e9524673e4c4db18df71c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/py.typed b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/py.typed new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/py.typed @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/requirements.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/requirements.py new file mode 120000 index 0000000..f6227dc --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/requirements.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/98/26/b8/072ba4d1fe0125dd02819a4de687a914f5bfe401f15d65404dd5810eec \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/specifiers.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/specifiers.py new file mode 120000 index 0000000..c25c8f1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/specifiers.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/04/26/ef/f447a060a062c01e6a38b90054aeac0150ab1dd1887957f3cc6ce79f87 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/tags.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/tags.py new file mode 120000 index 0000000..f9850dd --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/tags.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/68/e2/05/188e3a14bbe42690f0cbce7c7c576b1dbc9d3d1bb571a2d3908f144cea \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/utils.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/utils.py new file mode 120000 index 0000000..e8ba31c --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/41/2b/29/2ce686014a959d1f1cd5d1e920720e430247c9d7213fb1e79f33021d26 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/version.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/version.py new file mode 120000 index 0000000..f126a3c --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/packaging/version.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/42/60/e5/81c797274b0f34273639ee3275aea54a1208b4aec2d6765599df92ab98 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyparsing.LICENSE b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyparsing.LICENSE new file mode 120000 index 0000000..77071a6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyparsing.LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d3/cd/4f/abbe12a5ed57770ac691ec0d292a9ad3bf242c887b51623ec158dd8fc2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyparsing.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyparsing.py new file mode 120000 index 0000000..54e15f2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyparsing.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b8/a8/70/dc2f028c3726177a09361e80fe561853d7f361abf4a136a5be4197f151 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/LICENSE.mit b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/LICENSE.mit new file mode 120000 index 0000000..d460c3c --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/LICENSE.mit @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9b/a4/2f/e76a64cc755348acdd36805f328cec7db8350cb157d2180efdcec9318b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__init__.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__init__.py new file mode 120000 index 0000000..6c6d2ba --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2d/ea/ae/f56d85931d7f18e5c7dc9673bc8f520967ff395f5be8f24174418ccf87 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..113c5f2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/_checked_types.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/_checked_types.cpython-38.pyc new file mode 100644 index 0000000..6343fdc Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/_checked_types.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/_compat.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/_compat.cpython-38.pyc new file mode 100644 index 0000000..0539792 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/_compat.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/_field_common.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/_field_common.cpython-38.pyc new file mode 100644 index 0000000..062b3c9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/_field_common.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/_helpers.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/_helpers.cpython-38.pyc new file mode 100644 index 0000000..1737d7c Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/_helpers.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/_immutable.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/_immutable.cpython-38.pyc new file mode 100644 index 0000000..e07f911 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/_immutable.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/_pbag.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/_pbag.cpython-38.pyc new file mode 100644 index 0000000..c983b83 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/_pbag.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/_pclass.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/_pclass.cpython-38.pyc new file mode 100644 index 0000000..aded553 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/_pclass.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/_pdeque.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/_pdeque.cpython-38.pyc new file mode 100644 index 0000000..791da6d Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/_pdeque.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/_plist.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/_plist.cpython-38.pyc new file mode 100644 index 0000000..578a13d Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/_plist.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/_pmap.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/_pmap.cpython-38.pyc new file mode 100644 index 0000000..dfa96c6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/_pmap.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/_precord.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/_precord.cpython-38.pyc new file mode 100644 index 0000000..eac98e7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/_precord.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/_pset.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/_pset.cpython-38.pyc new file mode 100644 index 0000000..90ce8ae Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/_pset.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/_pvector.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/_pvector.cpython-38.pyc new file mode 100644 index 0000000..ec44359 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/_pvector.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/_toolz.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/_toolz.cpython-38.pyc new file mode 100644 index 0000000..8c479b9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/_toolz.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/_transformations.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/_transformations.cpython-38.pyc new file mode 100644 index 0000000..70d5605 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/_transformations.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/typing.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/typing.cpython-38.pyc new file mode 100644 index 0000000..b621f81 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/__pycache__/typing.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/_checked_types.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/_checked_types.py new file mode 120000 index 0000000..8b1e0f8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/_checked_types.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e6/48/c0/ef3d636f64321800320d78867db3d2364b98823da4e9b51033ec8a0539 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/_compat.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/_compat.py new file mode 120000 index 0000000..4e838c2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/_compat.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f7/79/45/26b590351bb8fa07f708682d9d8964bc4d3322c394e442f9a1e81b2cac \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/_field_common.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/_field_common.py new file mode 120000 index 0000000..8ee4629 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/_field_common.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ec/c4/4e/44842dbb8ad697c833f10eddc850efe0d75492064937e70d9ee60cf041 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/_helpers.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/_helpers.py new file mode 120000 index 0000000..763b449 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/_helpers.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/70/5d/17/f4d2731a4f82fc96aa9e7acae1b55fe4ed0fe023182086f1cc9697dd88 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/_immutable.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/_immutable.py new file mode 120000 index 0000000..3062b3c --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/_immutable.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c7/e8/cd/c4565a4b5b611fc057744d44e780ad0c78e61b4a599f91530e1e5c1367 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/_pbag.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/_pbag.py new file mode 120000 index 0000000..418443a --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/_pbag.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/33/85/67/472ce5852a9636bcda895e5ba65442c79097802c0a35f9f2b9f33323f5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/_pclass.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/_pclass.py new file mode 120000 index 0000000..9a0215f --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/_pclass.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5d/2c/8e/d7d43640ed377b98a887aaae8ea784b27c812f4a5af9fc0b9e87c93a89 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/_pdeque.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/_pdeque.py new file mode 120000 index 0000000..b9f9d7c --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/_pdeque.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c7/3d/d9/d85866bd6da44fbe05bd380b1e0cf6c52cdebfe43f2e974ac336328380 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/_plist.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/_plist.py new file mode 120000 index 0000000..d306040 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/_plist.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a1/7f/cd/32cc96d4a7f4fd3e1d258cd44fb759162d03ca6911891c801c2c1ba3b2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/_pmap.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/_pmap.py new file mode 120000 index 0000000..b03376b --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/_pmap.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1d/32/93/b57507ee5aa0a2834c27976bea5be0d95baefe53936dedb085421d7f06 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/_precord.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/_precord.py new file mode 120000 index 0000000..d8d98a7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/_precord.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f8/d0/9e/0bf748b828a9470b72145bd13ce47306be020cdd5a61d7175997a4b9c4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/_pset.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/_pset.py new file mode 120000 index 0000000..a6a1259 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/_pset.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7e/ce/85/c3785ed0694644b86f9a9d34717548ac07b7f7461a669592c3efe24888 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/_pvector.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/_pvector.py new file mode 120000 index 0000000..e5c8036 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/_pvector.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/81/b9/db/a85beb934929da7fc717f94d11165e6d37c1b2ec486c7c3ebd8ff120ee \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/_toolz.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/_toolz.py new file mode 120000 index 0000000..4005eac --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/_toolz.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/db/b7/df/91e9faf713240e2e86ff3a992d6e008aab5d2c271e2ec2234404694a1b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/_transformations.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/_transformations.py new file mode 120000 index 0000000..3a38397 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/_transformations.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d8/00/f3/6e550571e143e858679e3dcc128473b20c6fc3add059e4beaa8c4b3020 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/py.typed b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/py.typed new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/py.typed @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/typing.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/typing.py new file mode 120000 index 0000000..95f61b4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/pyrsistent/typing.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/88/e5/7f/9ab7b6d65c7c4efeb9304b17bf324202d56a602b7194f94b71e5f6e7f8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/six.LICENSE b/venv/lib/python3.8/site-packages/poetry/core/_vendor/six.LICENSE new file mode 120000 index 0000000..cc10ecd --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/six.LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f5/50/70/a5964a45a2200a43ed1543a2f80dff9d3b9364bedc1511198bf3256e5d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/six.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/six.py new file mode 120000 index 0000000..38f5638 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/six.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3c/1f/cb/e29db15d41fcd6a0184885a9ee24117fe454f39f32cccf1b51fa726016 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/LICENSE b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/LICENSE new file mode 120000 index 0000000..326175b --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7e/d7/26/815881ce2360bbe9024b9fd1541ceefbe9b84d67bf47392181f4b6ca24 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/__init__.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/__init__.py new file mode 120000 index 0000000..a08d71c --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/08/ad/d4/020e17fbbc3b0b01a2b5c142e8bcaf1c100aa9d966028812c574a267fd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..cd4cfab Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/__pycache__/_compat.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/__pycache__/_compat.cpython-38.pyc new file mode 100644 index 0000000..ea8bc08 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/__pycache__/_compat.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/__pycache__/_utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/__pycache__/_utils.cpython-38.pyc new file mode 100644 index 0000000..e95bbb3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/__pycache__/_utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/__pycache__/api.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/__pycache__/api.cpython-38.pyc new file mode 100644 index 0000000..5557502 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/__pycache__/api.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/__pycache__/container.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/__pycache__/container.cpython-38.pyc new file mode 100644 index 0000000..10710a4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/__pycache__/container.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/__pycache__/exceptions.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/__pycache__/exceptions.cpython-38.pyc new file mode 100644 index 0000000..a456baf Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/__pycache__/exceptions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/__pycache__/items.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/__pycache__/items.cpython-38.pyc new file mode 100644 index 0000000..663d717 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/__pycache__/items.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/__pycache__/parser.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/__pycache__/parser.cpython-38.pyc new file mode 100644 index 0000000..b9a68ba Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/__pycache__/parser.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/__pycache__/source.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/__pycache__/source.cpython-38.pyc new file mode 100644 index 0000000..1267d17 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/__pycache__/source.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/__pycache__/toml_char.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/__pycache__/toml_char.cpython-38.pyc new file mode 100644 index 0000000..1f2dd08 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/__pycache__/toml_char.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/__pycache__/toml_document.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/__pycache__/toml_document.cpython-38.pyc new file mode 100644 index 0000000..3bc06b6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/__pycache__/toml_document.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/__pycache__/toml_file.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/__pycache__/toml_file.cpython-38.pyc new file mode 100644 index 0000000..52a6b5f Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/__pycache__/toml_file.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/_compat.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/_compat.py new file mode 120000 index 0000000..bb8a3fc --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/_compat.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e0/75/98/be9cafcd5260558842c1b0464da33863bf7b1fbc04c6ad678e81651503 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/_utils.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/_utils.py new file mode 120000 index 0000000..e493933 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/_utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/15/10/8e/85611c08613b759114d18e68930a9626f58dccbd0eacb70ca85800e59e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/api.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/api.py new file mode 120000 index 0000000..2365847 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/api.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3c/67/92/c18b0ffb5593ff972c09bb41120b8c23e3d192f2ff675748efe3028432 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/container.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/container.py new file mode 120000 index 0000000..b96786f --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/container.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/03/3e/a5/cedcde9e7a7bc812aca070dbe849fe17d01a2d33b62bb8b2171ae5ba09 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/exceptions.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/exceptions.py new file mode 120000 index 0000000..cc22553 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/exceptions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e7/f7/27/b09623fbdecce73194ac01d97fd94a7950cff70e243771e2f4b8a28dc9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/items.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/items.py new file mode 120000 index 0000000..eb03eb6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/items.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/43/3a/0b/1ee7abf05cfa9bd949dba9ad79be600281a84d91eca375b8070c72c046 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/parser.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/parser.py new file mode 120000 index 0000000..a0e110f --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/parser.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/91/d9/5a/b639458555d29521c69f6e86669fd9f1c58fd54da9ad8ed8f7ad5a49d4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/source.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/source.py new file mode 120000 index 0000000..2c9bc6b --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/source.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9b/21/f9/953357c3b1d7e7705b48983edb68b95a1fb9d73cf65f69e011f96d43af \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/toml_char.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/toml_char.py new file mode 120000 index 0000000..19e4842 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/toml_char.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/32/f4/fd/389e995ee817713faacdf2e5951b9d14b9d5cb4ed4c9101cf363583c44 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/toml_document.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/toml_document.py new file mode 120000 index 0000000..3e849c1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/toml_document.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7d/80/fa/473a0c419f4e7f9ca485873385caf0f8967c5fb38e43a9bfc433141b71 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/toml_file.py b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/toml_file.py new file mode 120000 index 0000000..04ba7e5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/tomlkit/toml_file.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/79/bc/68/ee386c728ee7cfb657025f15650ebcc64f510275adccda4bb321fa8179 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/_vendor/vendor.txt b/venv/lib/python3.8/site-packages/poetry/core/_vendor/vendor.txt new file mode 120000 index 0000000..e605b58 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/_vendor/vendor.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d8/2b/e9/d3eb610b7183216fcdd05529530a5db22656d502acbe4eac56a2840420 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/exceptions/__init__.py b/venv/lib/python3.8/site-packages/poetry/core/exceptions/__init__.py new file mode 120000 index 0000000..8603598 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/exceptions/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4b/61/6f/a2ba8bb631c83cdfc378cafd600219b1876a1d87c630ca72fc35363c90 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/exceptions/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/exceptions/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..c5b25a1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/exceptions/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/exceptions/__pycache__/base.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/exceptions/__pycache__/base.cpython-38.pyc new file mode 100644 index 0000000..4058391 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/exceptions/__pycache__/base.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/exceptions/base.py b/venv/lib/python3.8/site-packages/poetry/core/exceptions/base.py new file mode 120000 index 0000000..e7082d7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/exceptions/base.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/69/ef/a3/6f50da7f7cefa0db070c7080fd1866527117b19d213d41bd557df9a11d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/factory.py b/venv/lib/python3.8/site-packages/poetry/core/factory.py new file mode 120000 index 0000000..b296df8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/factory.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/51/01/06/1ca97172121ed8f44c688010c356bfac33a63d4683a072e094af7bb8e4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/json/__init__.py b/venv/lib/python3.8/site-packages/poetry/core/json/__init__.py new file mode 120000 index 0000000..79657b3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/json/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cf/51/87/081859125ac61d66adfb1d357b2ec91e5949ae249cbddb8b7be2fea115 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/json/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/json/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..8246336 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/json/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/json/schemas/poetry-schema.json b/venv/lib/python3.8/site-packages/poetry/core/json/schemas/poetry-schema.json new file mode 120000 index 0000000..d7c577b --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/json/schemas/poetry-schema.json @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/68/f0/51/107f58f067d943c62e1923a71f57124aabfa4156bcfea348d2db438460 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/masonry/__init__.py b/venv/lib/python3.8/site-packages/poetry/core/masonry/__init__.py new file mode 120000 index 0000000..a98b737 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/masonry/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2c/01/5e/0dc808506426b1f51c286ea153e1fd17e20ffa8fbc785c857b3ee15787 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/masonry/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/masonry/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..c3102eb Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/masonry/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/masonry/__pycache__/api.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/masonry/__pycache__/api.cpython-38.pyc new file mode 100644 index 0000000..28b6342 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/masonry/__pycache__/api.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/masonry/__pycache__/builder.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/masonry/__pycache__/builder.cpython-38.pyc new file mode 100644 index 0000000..ea15b05 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/masonry/__pycache__/builder.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/masonry/__pycache__/metadata.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/masonry/__pycache__/metadata.cpython-38.pyc new file mode 100644 index 0000000..055322e Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/masonry/__pycache__/metadata.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/masonry/api.py b/venv/lib/python3.8/site-packages/poetry/core/masonry/api.py new file mode 120000 index 0000000..64261ed --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/masonry/api.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a4/7d/be/66f0f97a048cceed4f59c902db647aa2a2bee6eb1dfe8fa35bf4fae7f9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/masonry/builder.py b/venv/lib/python3.8/site-packages/poetry/core/masonry/builder.py new file mode 120000 index 0000000..242a81b --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/masonry/builder.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/09/3a/eb/3ae18c70dce59fa777882f195670342c57db71cff038ce85438e47e69f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/masonry/builders/__init__.py b/venv/lib/python3.8/site-packages/poetry/core/masonry/builders/__init__.py new file mode 120000 index 0000000..9c0eb4c --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/masonry/builders/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f1/f4/43/b388b5016f28e0295721e32f1d2f1b1faacba093bed1963fdd7b537963 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/masonry/builders/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/masonry/builders/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..4dafe3e Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/masonry/builders/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/masonry/builders/__pycache__/builder.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/masonry/builders/__pycache__/builder.cpython-38.pyc new file mode 100644 index 0000000..d050569 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/masonry/builders/__pycache__/builder.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/masonry/builders/__pycache__/sdist.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/masonry/builders/__pycache__/sdist.cpython-38.pyc new file mode 100644 index 0000000..18cf6cb Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/masonry/builders/__pycache__/sdist.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/masonry/builders/__pycache__/wheel.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/masonry/builders/__pycache__/wheel.cpython-38.pyc new file mode 100644 index 0000000..31f475d Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/masonry/builders/__pycache__/wheel.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/masonry/builders/builder.py b/venv/lib/python3.8/site-packages/poetry/core/masonry/builders/builder.py new file mode 120000 index 0000000..762fb9a --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/masonry/builders/builder.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0f/1d/f4/a27e9c21fea7a36a42ff7553cf02ec1aa371c1922b8fb8c553c1cae7b0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/masonry/builders/sdist.py b/venv/lib/python3.8/site-packages/poetry/core/masonry/builders/sdist.py new file mode 120000 index 0000000..cfaba74 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/masonry/builders/sdist.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/19/1a/23/08d625ceb9abda7d4115f64d9c4cb01099c6e47d3e79a0c6c81e357911 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/masonry/builders/wheel.py b/venv/lib/python3.8/site-packages/poetry/core/masonry/builders/wheel.py new file mode 120000 index 0000000..bade5fa --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/masonry/builders/wheel.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/26/f6/18/2dc3248fe91c4e42d1cc4c9f38532ecccdb01569728e41d442e702440a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/masonry/metadata.py b/venv/lib/python3.8/site-packages/poetry/core/masonry/metadata.py new file mode 120000 index 0000000..bf3ff83 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/masonry/metadata.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/97/66/52/72298b66463f053b198928ba433860c8a0d7f211b60ae9102da58fd606 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/masonry/utils/__init__.py b/venv/lib/python3.8/site-packages/poetry/core/masonry/utils/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/masonry/utils/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/masonry/utils/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/masonry/utils/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..2cbd17d Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/masonry/utils/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/masonry/utils/__pycache__/helpers.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/masonry/utils/__pycache__/helpers.cpython-38.pyc new file mode 100644 index 0000000..687049d Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/masonry/utils/__pycache__/helpers.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/masonry/utils/__pycache__/include.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/masonry/utils/__pycache__/include.cpython-38.pyc new file mode 100644 index 0000000..cf849d5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/masonry/utils/__pycache__/include.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/masonry/utils/__pycache__/module.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/masonry/utils/__pycache__/module.cpython-38.pyc new file mode 100644 index 0000000..b05be4c Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/masonry/utils/__pycache__/module.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/masonry/utils/__pycache__/package_include.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/masonry/utils/__pycache__/package_include.cpython-38.pyc new file mode 100644 index 0000000..6e6ece7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/masonry/utils/__pycache__/package_include.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/masonry/utils/helpers.py b/venv/lib/python3.8/site-packages/poetry/core/masonry/utils/helpers.py new file mode 120000 index 0000000..da8723f --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/masonry/utils/helpers.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/39/18/f2/68e7191412e3ade4f3a5fe0823443d5ea9eb28e4bc510848a9c6bb15f9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/masonry/utils/include.py b/venv/lib/python3.8/site-packages/poetry/core/masonry/utils/include.py new file mode 120000 index 0000000..e7896d8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/masonry/utils/include.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/14/6a/45/959613aab7d0674a9eb24e47bacc8b7eaa8cef7583b8cdb8b75e967ae6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/masonry/utils/module.py b/venv/lib/python3.8/site-packages/poetry/core/masonry/utils/module.py new file mode 120000 index 0000000..1868c10 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/masonry/utils/module.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/52/d5/67/944ddc6491435833c217fdbdca7152531f1f52e300402d9c353e208b10 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/masonry/utils/package_include.py b/venv/lib/python3.8/site-packages/poetry/core/masonry/utils/package_include.py new file mode 120000 index 0000000..a579c70 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/masonry/utils/package_include.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6a/0f/a5/f88aef90a2284e1ddeb7824cadf63ae6caac406542d7938b1d5105b672 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/packages/__init__.py b/venv/lib/python3.8/site-packages/poetry/core/packages/__init__.py new file mode 120000 index 0000000..ddbbda2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/packages/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cb/37/49/c8cfb96cce1c584bd87c7b6324940c085083082897bd1d81f3b9700b85 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/packages/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/packages/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..76e8109 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/packages/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/packages/__pycache__/dependency.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/packages/__pycache__/dependency.cpython-38.pyc new file mode 100644 index 0000000..3787b52 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/packages/__pycache__/dependency.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/packages/__pycache__/directory_dependency.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/packages/__pycache__/directory_dependency.cpython-38.pyc new file mode 100644 index 0000000..54a189d Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/packages/__pycache__/directory_dependency.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/packages/__pycache__/file_dependency.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/packages/__pycache__/file_dependency.cpython-38.pyc new file mode 100644 index 0000000..708094b Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/packages/__pycache__/file_dependency.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/packages/__pycache__/package.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/packages/__pycache__/package.cpython-38.pyc new file mode 100644 index 0000000..9363578 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/packages/__pycache__/package.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/packages/__pycache__/project_package.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/packages/__pycache__/project_package.cpython-38.pyc new file mode 100644 index 0000000..e16fbbd Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/packages/__pycache__/project_package.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/packages/__pycache__/specification.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/packages/__pycache__/specification.cpython-38.pyc new file mode 100644 index 0000000..b7af3b1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/packages/__pycache__/specification.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/packages/__pycache__/url_dependency.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/packages/__pycache__/url_dependency.cpython-38.pyc new file mode 100644 index 0000000..79b4a3a Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/packages/__pycache__/url_dependency.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/packages/__pycache__/vcs_dependency.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/packages/__pycache__/vcs_dependency.cpython-38.pyc new file mode 100644 index 0000000..0f5e9f5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/packages/__pycache__/vcs_dependency.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/packages/constraints/__init__.py b/venv/lib/python3.8/site-packages/poetry/core/packages/constraints/__init__.py new file mode 120000 index 0000000..9caa109 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/packages/constraints/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/20/c1/ee/735b02320ed4df901c26720ae47660a6f5540b253b05c40cdbe923108b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/packages/constraints/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/packages/constraints/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..ab48cac Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/packages/constraints/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/packages/constraints/__pycache__/any_constraint.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/packages/constraints/__pycache__/any_constraint.cpython-38.pyc new file mode 100644 index 0000000..3689573 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/packages/constraints/__pycache__/any_constraint.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/packages/constraints/__pycache__/base_constraint.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/packages/constraints/__pycache__/base_constraint.cpython-38.pyc new file mode 100644 index 0000000..7f64bcb Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/packages/constraints/__pycache__/base_constraint.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/packages/constraints/__pycache__/constraint.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/packages/constraints/__pycache__/constraint.cpython-38.pyc new file mode 100644 index 0000000..554bc59 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/packages/constraints/__pycache__/constraint.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/packages/constraints/__pycache__/empty_constraint.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/packages/constraints/__pycache__/empty_constraint.cpython-38.pyc new file mode 100644 index 0000000..83d3be9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/packages/constraints/__pycache__/empty_constraint.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/packages/constraints/__pycache__/multi_constraint.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/packages/constraints/__pycache__/multi_constraint.cpython-38.pyc new file mode 100644 index 0000000..7fb932d Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/packages/constraints/__pycache__/multi_constraint.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/packages/constraints/__pycache__/union_constraint.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/packages/constraints/__pycache__/union_constraint.cpython-38.pyc new file mode 100644 index 0000000..bd14d1e Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/packages/constraints/__pycache__/union_constraint.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/packages/constraints/any_constraint.py b/venv/lib/python3.8/site-packages/poetry/core/packages/constraints/any_constraint.py new file mode 120000 index 0000000..443adf2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/packages/constraints/any_constraint.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7d/a7/6d/80d1548a36a9033d91129c2f03360d80a40e85c0b99c7c52d3b64498fc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/packages/constraints/base_constraint.py b/venv/lib/python3.8/site-packages/poetry/core/packages/constraints/base_constraint.py new file mode 120000 index 0000000..d9752b6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/packages/constraints/base_constraint.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ed/d5/8d/278fce7d4d2fcee333c9030f161cda53d67e4183b8c08307cd4f28e5fa \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/packages/constraints/constraint.py b/venv/lib/python3.8/site-packages/poetry/core/packages/constraints/constraint.py new file mode 120000 index 0000000..1605ae8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/packages/constraints/constraint.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/10/15/1f/39fce55ae79d59374bc65ec62a8ec8d72846b81b1c6f2c038e5cfa02d1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/packages/constraints/empty_constraint.py b/venv/lib/python3.8/site-packages/poetry/core/packages/constraints/empty_constraint.py new file mode 120000 index 0000000..bf27e17 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/packages/constraints/empty_constraint.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/98/0a/c3/4a24f31722e9cecf93d6cd5039f15206ddfb4b02f09c6f873f026958a3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/packages/constraints/multi_constraint.py b/venv/lib/python3.8/site-packages/poetry/core/packages/constraints/multi_constraint.py new file mode 120000 index 0000000..4370cdf --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/packages/constraints/multi_constraint.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2e/50/55/4e58743c8d224eb0428058e5b605723fbf105301fe1f22224081299441 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/packages/constraints/union_constraint.py b/venv/lib/python3.8/site-packages/poetry/core/packages/constraints/union_constraint.py new file mode 120000 index 0000000..34ea6bc --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/packages/constraints/union_constraint.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a5/a1/10/06eab95524f667caa51362a09c577fd5f6d45980e5390034745c0a322f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/packages/dependency.py b/venv/lib/python3.8/site-packages/poetry/core/packages/dependency.py new file mode 120000 index 0000000..cef48b2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/packages/dependency.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2d/cb/11/ef437b090f76b5475a6527a0743585f5faaa05f1e77af6f0c535310b0d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/packages/directory_dependency.py b/venv/lib/python3.8/site-packages/poetry/core/packages/directory_dependency.py new file mode 120000 index 0000000..f0b5585 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/packages/directory_dependency.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/55/6c/c2/09012229662fd0330c7f15c033456575862796e7cac164490a966255e2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/packages/file_dependency.py b/venv/lib/python3.8/site-packages/poetry/core/packages/file_dependency.py new file mode 120000 index 0000000..47b63c6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/packages/file_dependency.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ea/5e/72/c731b41b1084071111bf132dd8d3a3d0bb877a444ed64f13a3eaa13d2c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/packages/package.py b/venv/lib/python3.8/site-packages/poetry/core/packages/package.py new file mode 120000 index 0000000..6d1a742 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/packages/package.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7f/06/1b/6a050858a370e237a43132326e2aac537afeaff0963a993f99f7b91208 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/packages/project_package.py b/venv/lib/python3.8/site-packages/poetry/core/packages/project_package.py new file mode 120000 index 0000000..f24e6a5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/packages/project_package.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a5/42/91/88a3b7fd9f7226fc36c91e6dabcb124812fb7ee80e9628cdcafebdeac0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/packages/specification.py b/venv/lib/python3.8/site-packages/poetry/core/packages/specification.py new file mode 120000 index 0000000..f198d5d --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/packages/specification.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f3/c8/d9/1f377645cbb76e873071fee60b3d23efac83c822e9b7867e11df7ae58f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/packages/url_dependency.py b/venv/lib/python3.8/site-packages/poetry/core/packages/url_dependency.py new file mode 120000 index 0000000..ec58145 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/packages/url_dependency.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7f/7b/75/664915f3b96adee4b53709a38163f6c1f180c2c2c4077ae69d0eff96f6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/packages/utils/__init__.py b/venv/lib/python3.8/site-packages/poetry/core/packages/utils/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/packages/utils/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/packages/utils/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/packages/utils/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..8ac10cc Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/packages/utils/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/packages/utils/__pycache__/link.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/packages/utils/__pycache__/link.cpython-38.pyc new file mode 100644 index 0000000..1defedc Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/packages/utils/__pycache__/link.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/packages/utils/__pycache__/utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/packages/utils/__pycache__/utils.cpython-38.pyc new file mode 100644 index 0000000..bee4ab0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/packages/utils/__pycache__/utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/packages/utils/link.py b/venv/lib/python3.8/site-packages/poetry/core/packages/utils/link.py new file mode 120000 index 0000000..fa47aaa --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/packages/utils/link.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8c/6c/69/04d6365af0a909d4759ee6ca4b94a5bf31117742c2f73c3f83258a216a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/packages/utils/utils.py b/venv/lib/python3.8/site-packages/poetry/core/packages/utils/utils.py new file mode 120000 index 0000000..794a2b9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/packages/utils/utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0c/1f/be/81c5f1985c122a8a1b09de03082e9c77a993fa809dc5855c6cc1a9137a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/packages/vcs_dependency.py b/venv/lib/python3.8/site-packages/poetry/core/packages/vcs_dependency.py new file mode 120000 index 0000000..58a8eb5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/packages/vcs_dependency.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/eb/fe/0a/3c3227cd5dea0a024a88efeffd9b81ef58466919804f1d395baf8efa6e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/poetry.py b/venv/lib/python3.8/site-packages/poetry/core/poetry.py new file mode 120000 index 0000000..cc02536 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/poetry.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b9/50/07/84f0fefd3cb7be3c2131dd2413ff1c70524175a05712a85693a2ff50e0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/pyproject/__init__.py b/venv/lib/python3.8/site-packages/poetry/core/pyproject/__init__.py new file mode 120000 index 0000000..ffc36f2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/pyproject/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ff/7b/db/e78e88de5f0e5e61507eda5aadde4e886c41bbe0ebc0ed5ed1f6065af7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/pyproject/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/pyproject/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..0b075c6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/pyproject/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/pyproject/__pycache__/exceptions.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/pyproject/__pycache__/exceptions.cpython-38.pyc new file mode 100644 index 0000000..780c578 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/pyproject/__pycache__/exceptions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/pyproject/__pycache__/tables.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/pyproject/__pycache__/tables.cpython-38.pyc new file mode 100644 index 0000000..b8d871a Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/pyproject/__pycache__/tables.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/pyproject/__pycache__/toml.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/pyproject/__pycache__/toml.cpython-38.pyc new file mode 100644 index 0000000..c814c06 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/pyproject/__pycache__/toml.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/pyproject/exceptions.py b/venv/lib/python3.8/site-packages/poetry/core/pyproject/exceptions.py new file mode 120000 index 0000000..1a57dc0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/pyproject/exceptions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9e/48/38/c6f60827bedacc0441f5955c7a40fcfa1ac3439b28fdaa1773deb1f24b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/pyproject/tables.py b/venv/lib/python3.8/site-packages/poetry/core/pyproject/tables.py new file mode 120000 index 0000000..f7bef94 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/pyproject/tables.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/26/14/dc/6a1106633ac76b905b8dae4d3c0f02a35c9b1cc143fd435fb252341042 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/pyproject/toml.py b/venv/lib/python3.8/site-packages/poetry/core/pyproject/toml.py new file mode 120000 index 0000000..1d0d24d --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/pyproject/toml.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b8/3c/25/da29a843bef53d2645fcb22fa7cb6ae50c3b7d5408fea6d1078ceefdf5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/semver/__init__.py b/venv/lib/python3.8/site-packages/poetry/core/semver/__init__.py new file mode 120000 index 0000000..0a4fc6b --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/semver/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fd/f3/6b/07480dd4d6d52f78fb71907277c5892109cf170af284bd48e8d6efcbaa \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/semver/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/semver/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..ba51907 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/semver/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/semver/__pycache__/empty_constraint.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/semver/__pycache__/empty_constraint.cpython-38.pyc new file mode 100644 index 0000000..a2aec2c Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/semver/__pycache__/empty_constraint.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/semver/__pycache__/exceptions.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/semver/__pycache__/exceptions.cpython-38.pyc new file mode 100644 index 0000000..226761b Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/semver/__pycache__/exceptions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/semver/__pycache__/patterns.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/semver/__pycache__/patterns.cpython-38.pyc new file mode 100644 index 0000000..3fdb30b Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/semver/__pycache__/patterns.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/semver/__pycache__/version.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/semver/__pycache__/version.cpython-38.pyc new file mode 100644 index 0000000..81ba5b1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/semver/__pycache__/version.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/semver/__pycache__/version_constraint.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/semver/__pycache__/version_constraint.cpython-38.pyc new file mode 100644 index 0000000..56968fe Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/semver/__pycache__/version_constraint.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/semver/__pycache__/version_range.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/semver/__pycache__/version_range.cpython-38.pyc new file mode 100644 index 0000000..a7d203b Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/semver/__pycache__/version_range.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/semver/__pycache__/version_union.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/semver/__pycache__/version_union.cpython-38.pyc new file mode 100644 index 0000000..7a4cec1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/semver/__pycache__/version_union.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/semver/empty_constraint.py b/venv/lib/python3.8/site-packages/poetry/core/semver/empty_constraint.py new file mode 120000 index 0000000..609673c --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/semver/empty_constraint.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f2/8f/f2/380890f2c1f2cfd2d5e1e62ab9cea13813a7ad9f18bce8d700da316268 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/semver/exceptions.py b/venv/lib/python3.8/site-packages/poetry/core/semver/exceptions.py new file mode 120000 index 0000000..0e5bd79 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/semver/exceptions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/68/17/c8/05a0054921dbd36ef2a8b37445ad958aee3df3c9bd3fdd81f2321872de \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/semver/patterns.py b/venv/lib/python3.8/site-packages/poetry/core/semver/patterns.py new file mode 120000 index 0000000..90a92ec --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/semver/patterns.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/dd/99/9b/2dcc10e47f2f56e2b94c9fa9ebc7612a8f739027d2e58ad37b28143018 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/semver/version.py b/venv/lib/python3.8/site-packages/poetry/core/semver/version.py new file mode 120000 index 0000000..a39c134 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/semver/version.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d9/cd/66/d1aa638ca98212c9f519729f04048fb56454d9422af04f51bf475b9e42 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/semver/version_constraint.py b/venv/lib/python3.8/site-packages/poetry/core/semver/version_constraint.py new file mode 120000 index 0000000..10feba5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/semver/version_constraint.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b0/ea/23/8e93b04086b09945ebc0137943c1d94e8feedb1b3e345e78ea4b9fd225 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/semver/version_range.py b/venv/lib/python3.8/site-packages/poetry/core/semver/version_range.py new file mode 120000 index 0000000..3402a24 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/semver/version_range.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1a/39/4a/8175a3e7440a9972c0f01a1488387118230fe262c0f3ea748d8049bea2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/semver/version_union.py b/venv/lib/python3.8/site-packages/poetry/core/semver/version_union.py new file mode 120000 index 0000000..8b582eb --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/semver/version_union.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8d/17/78/1c64c431364026d02e7f626d9fa4defde093af25b0f565774f623ef887 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/spdx/__init__.py b/venv/lib/python3.8/site-packages/poetry/core/spdx/__init__.py new file mode 120000 index 0000000..7eaae1e --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/spdx/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f7/22/ba/9730463cdf181438bbc0a15e24749e57a69992809b419bb8c8d152dd6b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/spdx/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/spdx/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..e511c0d Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/spdx/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/spdx/__pycache__/license.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/spdx/__pycache__/license.cpython-38.pyc new file mode 100644 index 0000000..06d631c Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/spdx/__pycache__/license.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/spdx/__pycache__/updater.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/spdx/__pycache__/updater.cpython-38.pyc new file mode 100644 index 0000000..694ef58 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/spdx/__pycache__/updater.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/spdx/data/licenses.json b/venv/lib/python3.8/site-packages/poetry/core/spdx/data/licenses.json new file mode 120000 index 0000000..6cd105f --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/spdx/data/licenses.json @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/93/27/35/0488899cfcd39058e12845986d04f6bceb422da66ebfd1c9a41d507900 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/spdx/license.py b/venv/lib/python3.8/site-packages/poetry/core/spdx/license.py new file mode 120000 index 0000000..3d08393 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/spdx/license.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ef/9c/c2/f54e821b56e0179a96f70381c31e05da99c128a23f914bc0eb5b3d91df \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/spdx/updater.py b/venv/lib/python3.8/site-packages/poetry/core/spdx/updater.py new file mode 120000 index 0000000..bac5fb3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/spdx/updater.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a5/59/c7/21bc506d29e89823b8ccfa01f15735c723136bc29109083e0cb6a8f687 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/toml/__init__.py b/venv/lib/python3.8/site-packages/poetry/core/toml/__init__.py new file mode 120000 index 0000000..45b20d0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/toml/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f3/de/85/7dca1e096a43e00e6ff1ca900dda1ca91c8c5c3a1d6798e466a9173a00 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/toml/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/toml/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..e936a4a Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/toml/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/toml/__pycache__/exceptions.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/toml/__pycache__/exceptions.cpython-38.pyc new file mode 100644 index 0000000..07491f4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/toml/__pycache__/exceptions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/toml/__pycache__/file.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/toml/__pycache__/file.cpython-38.pyc new file mode 100644 index 0000000..a0b5a76 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/toml/__pycache__/file.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/toml/exceptions.py b/venv/lib/python3.8/site-packages/poetry/core/toml/exceptions.py new file mode 120000 index 0000000..f014473 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/toml/exceptions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a2/75/ec/c362e4b3f220826df0a4a4f63e65040c37c7837ad2f6292477bef5646f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/toml/file.py b/venv/lib/python3.8/site-packages/poetry/core/toml/file.py new file mode 120000 index 0000000..7c65353 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/toml/file.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0b/5b/79/f05591ada94f97c2771516dc972202cf7939acc8a8b0bd0248f6f0cbf3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/utils/__init__.py b/venv/lib/python3.8/site-packages/poetry/core/utils/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/utils/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/utils/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/utils/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..bf56bd6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/utils/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/utils/__pycache__/_compat.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/utils/__pycache__/_compat.cpython-38.pyc new file mode 100644 index 0000000..2d199ed Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/utils/__pycache__/_compat.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/utils/__pycache__/helpers.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/utils/__pycache__/helpers.cpython-38.pyc new file mode 100644 index 0000000..6d51217 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/utils/__pycache__/helpers.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/utils/__pycache__/patterns.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/utils/__pycache__/patterns.cpython-38.pyc new file mode 100644 index 0000000..66952a2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/utils/__pycache__/patterns.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/utils/__pycache__/toml_file.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/utils/__pycache__/toml_file.cpython-38.pyc new file mode 100644 index 0000000..1220cc0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/utils/__pycache__/toml_file.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/utils/_compat.py b/venv/lib/python3.8/site-packages/poetry/core/utils/_compat.py new file mode 120000 index 0000000..78fa98f --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/utils/_compat.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1d/98/d6/ee7ba9f8d6173faf033b05aff4000d9558c20d53fabed140dd86332d30 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/utils/helpers.py b/venv/lib/python3.8/site-packages/poetry/core/utils/helpers.py new file mode 120000 index 0000000..20f87b8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/utils/helpers.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ea/b3/14/5c6f2d450d451c7e5c935bf995edbcdd9ece752ba6fdb3ea26047bae76 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/utils/patterns.py b/venv/lib/python3.8/site-packages/poetry/core/utils/patterns.py new file mode 120000 index 0000000..f894bd6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/utils/patterns.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/53/c6/86/51376e645b47f189d99ad34f30be52a561b119596c4f1f33f79e791385 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/utils/toml_file.py b/venv/lib/python3.8/site-packages/poetry/core/utils/toml_file.py new file mode 120000 index 0000000..46cd421 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/utils/toml_file.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/32/33/41/4ea62cbfff391af3b01b9f8bac0a1d0ec38974d1c0d0c2af0a6367b065 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/vcs/__init__.py b/venv/lib/python3.8/site-packages/poetry/core/vcs/__init__.py new file mode 120000 index 0000000..b1ede94 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/vcs/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/af/1f/38/735029d7b029edf989c647cafaaa7642dae6de9ff9df66b2a8733727ad \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/vcs/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/vcs/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..f96d51a Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/vcs/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/vcs/__pycache__/git.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/vcs/__pycache__/git.cpython-38.pyc new file mode 100644 index 0000000..2d1c3e2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/vcs/__pycache__/git.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/vcs/git.py b/venv/lib/python3.8/site-packages/poetry/core/vcs/git.py new file mode 120000 index 0000000..74b3a01 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/vcs/git.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b0/6d/12/a5d236630260cb64bc99b8c78f37000903692adc27975785dda441388a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/version/__init__.py b/venv/lib/python3.8/site-packages/poetry/core/version/__init__.py new file mode 120000 index 0000000..88fb8d9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/version/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/93/4a/40/42b876ad6ce8e0748ebce2b3437bd05114476a3231fb89fc307abd64d9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/version/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/version/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..6f2bf33 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/version/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/version/__pycache__/base.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/version/__pycache__/base.cpython-38.pyc new file mode 100644 index 0000000..c7aa9d4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/version/__pycache__/base.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/version/__pycache__/exceptions.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/version/__pycache__/exceptions.cpython-38.pyc new file mode 100644 index 0000000..2e0e239 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/version/__pycache__/exceptions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/version/__pycache__/helpers.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/version/__pycache__/helpers.cpython-38.pyc new file mode 100644 index 0000000..df77265 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/version/__pycache__/helpers.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/version/__pycache__/legacy_version.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/version/__pycache__/legacy_version.cpython-38.pyc new file mode 100644 index 0000000..4f3c454 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/version/__pycache__/legacy_version.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/version/__pycache__/markers.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/version/__pycache__/markers.cpython-38.pyc new file mode 100644 index 0000000..b411be7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/version/__pycache__/markers.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/version/__pycache__/requirements.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/version/__pycache__/requirements.cpython-38.pyc new file mode 100644 index 0000000..7f322ca Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/version/__pycache__/requirements.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/version/__pycache__/utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/version/__pycache__/utils.cpython-38.pyc new file mode 100644 index 0000000..38f4d5e Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/version/__pycache__/utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/version/__pycache__/version.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/version/__pycache__/version.cpython-38.pyc new file mode 100644 index 0000000..864a1bd Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/version/__pycache__/version.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/version/base.py b/venv/lib/python3.8/site-packages/poetry/core/version/base.py new file mode 120000 index 0000000..a790743 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/version/base.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/59/8b/79/231ca1c42dc6e2b81db1da35dd1d56032eaf16dbb1d61728cf93790bf0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/version/exceptions.py b/venv/lib/python3.8/site-packages/poetry/core/version/exceptions.py new file mode 120000 index 0000000..89f61ab --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/version/exceptions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6a/b0/6e/fd77580f7e0da4967b3f08e3d2123231702c78ae39d1c99b7ec67f960a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/version/grammars/__init__.py b/venv/lib/python3.8/site-packages/poetry/core/version/grammars/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/version/grammars/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/version/grammars/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/core/version/grammars/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..8819d78 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/core/version/grammars/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/core/version/grammars/markers.lark b/venv/lib/python3.8/site-packages/poetry/core/version/grammars/markers.lark new file mode 120000 index 0000000..3777674 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/version/grammars/markers.lark @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ac/78/15/026444885ed00dd20b33b2c8c0536010d103aff9dc4809cd8a060795ad \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/version/grammars/pep508.lark b/venv/lib/python3.8/site-packages/poetry/core/version/grammars/pep508.lark new file mode 120000 index 0000000..4734ed4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/version/grammars/pep508.lark @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/46/02/54/c74565ed642a6b68939e8a045319a09a901fa5e227dc9855b9b887d7c9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/version/helpers.py b/venv/lib/python3.8/site-packages/poetry/core/version/helpers.py new file mode 120000 index 0000000..2e81520 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/version/helpers.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/12/bc/62/b72acfb7bda809493cc239d7ec370374ec1987a70aa02afefb9db07065 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/version/legacy_version.py b/venv/lib/python3.8/site-packages/poetry/core/version/legacy_version.py new file mode 120000 index 0000000..1ebcd46 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/version/legacy_version.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1a/68/75/b830f823c155a46b7b6a60e84460bc0cb0f1a1636537715bb377e08fe9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/version/markers.py b/venv/lib/python3.8/site-packages/poetry/core/version/markers.py new file mode 120000 index 0000000..97f5e46 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/version/markers.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7b/4c/4a/353a971b67b905535e09ad0bac4e2803fc734c46e671b5d88a3992d433 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/version/requirements.py b/venv/lib/python3.8/site-packages/poetry/core/version/requirements.py new file mode 120000 index 0000000..2e53327 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/version/requirements.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d2/11/dd/e3884139b17b0a08a7b9a047150bd735a59c2e947b2451d690b1dd9f43 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/version/utils.py b/venv/lib/python3.8/site-packages/poetry/core/version/utils.py new file mode 120000 index 0000000..0c5f414 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/version/utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2a/97/21/458667142867d392f64f1b9064595e3714e6091351a2c2a36a7992c5f1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/core/version/version.py b/venv/lib/python3.8/site-packages/poetry/core/version/version.py new file mode 120000 index 0000000..6b9e9ce --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/core/version/version.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b8/6e/72/3c3e86a20bbfe3619e30bfa0a933198ae8c4b1af94f381e26cd1d36ba2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/exceptions.py b/venv/lib/python3.8/site-packages/poetry/exceptions.py new file mode 120000 index 0000000..d6de939 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/exceptions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ac/29/3d/802ae278ce380d903c7f3ff4a5da11e80505f905ece7eeeb06e30a89c8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/factory.py b/venv/lib/python3.8/site-packages/poetry/factory.py new file mode 100755 index 0000000..d570da4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/factory.py @@ -0,0 +1,162 @@ +from __future__ import absolute_import +from __future__ import unicode_literals + +from typing import Dict +from typing import Optional + +from clikit.api.io.io import IO + +from poetry.core.factory import Factory as BaseFactory +from poetry.core.toml.file import TOMLFile + +from .config.config import Config +from .config.file_config_source import FileConfigSource +from .io.null_io import NullIO +from .locations import CONFIG_DIR +from .packages.locker import Locker +from .poetry import Poetry +from .repositories.pypi_repository import PyPiRepository +from .utils._compat import Path + + +class Factory(BaseFactory): + """ + Factory class to create various elements needed by Poetry. + """ + + def create_poetry( + self, cwd=None, io=None + ): # type: (Optional[Path], Optional[IO]) -> Poetry + if io is None: + io = NullIO() + + base_poetry = super(Factory, self).create_poetry(cwd) + + locker = Locker( + base_poetry.file.parent / "poetry.lock", base_poetry.local_config + ) + + # Loading global configuration + config = self.create_config(io) + + # Loading local configuration + local_config_file = TOMLFile(base_poetry.file.parent / "poetry.toml") + if local_config_file.exists(): + if io.is_debug(): + io.write_line( + "Loading configuration file {}".format(local_config_file.path) + ) + + config.merge(local_config_file.read()) + + # Load local sources + repositories = {} + existing_repositories = config.get("repositories", {}) + for source in base_poetry.pyproject.poetry_config.get("source", []): + name = source.get("name") + url = source.get("url") + if name and url: + if name not in existing_repositories: + repositories[name] = {"url": url} + + config.merge({"repositories": repositories}) + + poetry = Poetry( + base_poetry.file.path, + base_poetry.local_config, + base_poetry.package, + locker, + config, + ) + + # Configuring sources + sources = poetry.local_config.get("source", []) + for source in sources: + repository = self.create_legacy_repository(source, config) + is_default = source.get("default", False) + is_secondary = source.get("secondary", False) + if io.is_debug(): + message = "Adding repository {} ({})".format( + repository.name, repository.url + ) + if is_default: + message += " and setting it as the default one" + elif is_secondary: + message += " and setting it as secondary" + + io.write_line(message) + + poetry.pool.add_repository(repository, is_default, secondary=is_secondary) + + # Put PyPI last to prefer private repositories + # unless we have no default source AND no primary sources + # (default = false, secondary = false) + if poetry.pool.has_default(): + if io.is_debug(): + io.write_line("Deactivating the PyPI repository") + else: + default = not poetry.pool.has_primary_repositories() + poetry.pool.add_repository(PyPiRepository(config=poetry.config), default, not default) + + return poetry + + @classmethod + def create_config(cls, io=None): # type: (Optional[IO]) -> Config + if io is None: + io = NullIO() + + config = Config() + # Load global config + config_file = TOMLFile(Path(CONFIG_DIR) / "config.toml") + if config_file.exists(): + if io.is_debug(): + io.write_line( + "Loading configuration file {}".format( + config_file.path + ) + ) + + config.merge(config_file.read()) + + config.set_config_source(FileConfigSource(config_file)) + + # Load global auth config + auth_config_file = TOMLFile(Path(CONFIG_DIR) / "auth.toml") + if auth_config_file.exists(): + if io.is_debug(): + io.write_line( + "Loading configuration file {}".format( + auth_config_file.path + ) + ) + + config.merge(auth_config_file.read()) + + config.set_auth_config_source(FileConfigSource(auth_config_file)) + + return config + + def create_legacy_repository( + self, source, auth_config + ): # type: (Dict[str, str], Config) -> LegacyRepository + from .repositories.legacy_repository import LegacyRepository + from .utils.helpers import get_cert + from .utils.helpers import get_client_cert + + if "url" in source: + # PyPI-like repository + if "name" not in source: + raise RuntimeError("Missing [name] in source.") + else: + raise RuntimeError("Unsupported source specified") + + name = source["name"] + url = source["url"] + + return LegacyRepository( + name, + url, + config=auth_config, + cert=get_cert(auth_config, name), + client_cert=get_client_cert(auth_config, name), + ) diff --git a/venv/lib/python3.8/site-packages/poetry/inspection/__init__.py b/venv/lib/python3.8/site-packages/poetry/inspection/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/inspection/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/inspection/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/inspection/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..ac22c22 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/inspection/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/inspection/__pycache__/info.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/inspection/__pycache__/info.cpython-38.pyc new file mode 100644 index 0000000..91d5f89 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/inspection/__pycache__/info.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/inspection/info.py b/venv/lib/python3.8/site-packages/poetry/inspection/info.py new file mode 120000 index 0000000..7bbc501 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/inspection/info.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b9/c7/bb/7653f90302ced5c5495b17bf352353729285191e382b66ff125897af08 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/installation/__init__.py b/venv/lib/python3.8/site-packages/poetry/installation/__init__.py new file mode 120000 index 0000000..9ea51ac --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/installation/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/73/3d/88/3c5b519138c7ad27b89401ad30f21ae528d7c1d1b7987b3454a07e06db \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/installation/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/installation/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..7385027 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/installation/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/installation/__pycache__/authenticator.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/installation/__pycache__/authenticator.cpython-38.pyc new file mode 100644 index 0000000..e1f2390 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/installation/__pycache__/authenticator.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/installation/__pycache__/base_installer.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/installation/__pycache__/base_installer.cpython-38.pyc new file mode 100644 index 0000000..b50c9e1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/installation/__pycache__/base_installer.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/installation/__pycache__/chef.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/installation/__pycache__/chef.cpython-38.pyc new file mode 100644 index 0000000..804fb5d Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/installation/__pycache__/chef.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/installation/__pycache__/chooser.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/installation/__pycache__/chooser.cpython-38.pyc new file mode 100644 index 0000000..7ba9102 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/installation/__pycache__/chooser.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/installation/__pycache__/executor.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/installation/__pycache__/executor.cpython-38.pyc new file mode 100644 index 0000000..f478440 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/installation/__pycache__/executor.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/installation/__pycache__/installer.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/installation/__pycache__/installer.cpython-38.pyc new file mode 100644 index 0000000..67ca2d2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/installation/__pycache__/installer.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/installation/__pycache__/noop_installer.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/installation/__pycache__/noop_installer.cpython-38.pyc new file mode 100644 index 0000000..8766658 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/installation/__pycache__/noop_installer.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/installation/__pycache__/pip_installer.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/installation/__pycache__/pip_installer.cpython-38.pyc new file mode 100644 index 0000000..86cf7d9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/installation/__pycache__/pip_installer.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/installation/authenticator.py b/venv/lib/python3.8/site-packages/poetry/installation/authenticator.py new file mode 120000 index 0000000..01af1e6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/installation/authenticator.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bc/24/0b/ee4de4782eeb9172e14550ed2f0435e4a7127ac296cade5c586b65adce \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/installation/base_installer.py b/venv/lib/python3.8/site-packages/poetry/installation/base_installer.py new file mode 120000 index 0000000..46af72f --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/installation/base_installer.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a7/6f/f9/8652a6bcee17168c75df0aecdbcdb1f0affc61531dd3c73b7dd167ac96 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/installation/chef.py b/venv/lib/python3.8/site-packages/poetry/installation/chef.py new file mode 120000 index 0000000..471d2e0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/installation/chef.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3e/e7/80/944a9e433fa0dbdb322fe59005a45eef36cd3b857c5a9cab214e9bc649 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/installation/chooser.py b/venv/lib/python3.8/site-packages/poetry/installation/chooser.py new file mode 120000 index 0000000..d34c0ef --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/installation/chooser.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c2/7e/04/5f9e68151a08f098afcf05d45ffc6d0e439202da14e8be20e34924ea59 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/installation/executor.py b/venv/lib/python3.8/site-packages/poetry/installation/executor.py new file mode 100644 index 0000000..b9e5385 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/installation/executor.py @@ -0,0 +1,703 @@ +# -*- coding: utf-8 -*- +from __future__ import division + +import itertools +import os +import threading + +from concurrent.futures import ThreadPoolExecutor +from concurrent.futures import wait +from subprocess import CalledProcessError + +from poetry.core.packages.file_dependency import FileDependency +from poetry.core.packages.utils.link import Link +from poetry.core.packages.utils.utils import url_to_path +from poetry.core.pyproject.toml import PyProjectTOML +from poetry.io.null_io import NullIO +from poetry.utils._compat import PY2 +from poetry.utils._compat import WINDOWS +from poetry.utils._compat import OrderedDict +from poetry.utils._compat import Path +from poetry.utils._compat import cpu_count +from poetry.utils._compat import decode +from poetry.utils.env import EnvCommandError +from poetry.utils.helpers import safe_rmtree + +from .authenticator import Authenticator +from .chef import Chef +from .chooser import Chooser +from .operations.install import Install +from .operations.operation import Operation +from .operations.uninstall import Uninstall +from .operations.update import Update + + +class Executor(object): + def __init__(self, env, pool, config, io, parallel=None): + self._env = env + self._io = io + self._dry_run = False + self._enabled = True + self._verbose = False + self._authenticator = Authenticator(config, self._io) + self._chef = Chef(config, self._env) + self._chooser = Chooser(pool, self._env) + + if parallel is None: + parallel = config.get("installer.parallel", True) + + if parallel and not (PY2 and WINDOWS): + # This should be directly handled by ThreadPoolExecutor + # however, on some systems the number of CPUs cannot be determined + # (it raises a NotImplementedError), so, in this case, we assume + # that the system only has one CPU. + try: + self._max_workers = cpu_count() + 4 + except NotImplementedError: + self._max_workers = 5 + else: + self._max_workers = 1 + + self._executor = ThreadPoolExecutor(max_workers=self._max_workers) + self._total_operations = 0 + self._executed_operations = 0 + self._executed = {"install": 0, "update": 0, "uninstall": 0} + self._skipped = {"install": 0, "update": 0, "uninstall": 0} + self._sections = OrderedDict() + self._lock = threading.Lock() + self._shutdown = False + + @property + def installations_count(self): # type: () -> int + return self._executed["install"] + + @property + def updates_count(self): # type: () -> int + return self._executed["update"] + + @property + def removals_count(self): # type: () -> int + return self._executed["uninstall"] + + def supports_fancy_output(self): # type: () -> bool + return self._io.supports_ansi() and not self._dry_run + + def disable(self): + self._enabled = False + + return self + + def dry_run(self, dry_run=True): + self._dry_run = dry_run + + return self + + def verbose(self, verbose=True): + self._verbose = verbose + + return self + + def execute(self, operations): # type: (Operation) -> int + self._total_operations = len(operations) + for job_type in self._executed: + self._executed[job_type] = 0 + self._skipped[job_type] = 0 + + if operations and (self._enabled or self._dry_run): + self._display_summary(operations) + + # We group operations by priority + groups = itertools.groupby(operations, key=lambda o: -o.priority) + self._sections = OrderedDict() + for _, group in groups: + tasks = [] + serial_operations = [] + for operation in group: + if self._shutdown: + break + + # Some operations are unsafe, we mus execute them serially in a group + # https://github.com/python-poetry/poetry/issues/3086 + # https://github.com/python-poetry/poetry/issues/2658 + # + # We need to explicitly check source type here, see: + # https://github.com/python-poetry/poetry-core/pull/98 + is_parallel_unsafe = operation.job_type == "uninstall" or ( + operation.package.develop + and operation.package.source_type in {"directory", "git"} + ) + if not operation.skipped and is_parallel_unsafe: + serial_operations.append(operation) + continue + + tasks.append(self._executor.submit(self._execute_operation, operation)) + + try: + wait(tasks) + + for operation in serial_operations: + wait([self._executor.submit(self._execute_operation, operation)]) + + except KeyboardInterrupt: + self._shutdown = True + + if self._shutdown: + # Cancelling further tasks from being executed + [task.cancel() for task in tasks] + self._executor.shutdown(wait=True) + + break + + return 1 if self._shutdown else 0 + + def _write(self, operation, line): + if not self.supports_fancy_output() or not self._should_write_operation( + operation + ): + return + + if self._io.is_debug(): + with self._lock: + section = self._sections[id(operation)] + section.write_line(line) + + return + + with self._lock: + section = self._sections[id(operation)] + section.output.clear() + section.write(line) + + def _execute_operation(self, operation): + try: + if self.supports_fancy_output(): + if id(operation) not in self._sections: + if self._should_write_operation(operation): + with self._lock: + self._sections[id(operation)] = self._io.section() + self._sections[id(operation)].write_line( + " • {message}: Pending...".format( + message=self.get_operation_message(operation), + ), + ) + else: + if self._should_write_operation(operation): + if not operation.skipped: + self._io.write_line( + " • {message}".format( + message=self.get_operation_message(operation), + ), + ) + else: + self._io.write_line( + " • {message}: " + "Skipped " + "for the following reason: " + "{reason}".format( + message=self.get_operation_message(operation), + reason=operation.skip_reason, + ) + ) + + try: + result = self._do_execute_operation(operation) + except EnvCommandError as e: + if e.e.returncode == -2: + result = -2 + else: + raise + + # If we have a result of -2 it means a KeyboardInterrupt + # in the any python subprocess, so we raise a KeyboardInterrupt + # error to be picked up by the error handler. + if result == -2: + raise KeyboardInterrupt + except Exception as e: + try: + from clikit.ui.components.exception_trace import ExceptionTrace + + if not self.supports_fancy_output(): + io = self._io + else: + message = " {message}: Failed".format( + message=self.get_operation_message(operation, error=True), + ) + self._write(operation, message) + io = self._sections.get(id(operation), self._io) + + with self._lock: + trace = ExceptionTrace(e) + trace.render(io) + io.write_line("") + finally: + with self._lock: + self._shutdown = True + except KeyboardInterrupt: + try: + message = " {message}: Cancelled".format( + message=self.get_operation_message(operation, warning=True), + ) + if not self.supports_fancy_output(): + self._io.write_line(message) + else: + self._write(operation, message) + finally: + with self._lock: + self._shutdown = True + + def _do_execute_operation(self, operation): + method = operation.job_type + + operation_message = self.get_operation_message(operation) + if operation.skipped: + if self.supports_fancy_output(): + self._write( + operation, + " • {message}: " + "Skipped " + "for the following reason: " + "{reason}".format( + message=operation_message, reason=operation.skip_reason, + ), + ) + + self._skipped[operation.job_type] += 1 + + return 0 + + if not self._enabled or self._dry_run: + self._io.write_line( + " • {message}".format( + message=operation_message, + ) + ) + + return 0 + + result = getattr(self, "_execute_{}".format(method))(operation) + + if result != 0: + return result + + message = " • {message}".format( + message=self.get_operation_message(operation, done=True), + ) + self._write(operation, message) + + self._increment_operations_count(operation, True) + + return result + + def _increment_operations_count(self, operation, executed): + with self._lock: + if executed: + self._executed_operations += 1 + self._executed[operation.job_type] += 1 + else: + self._skipped[operation.job_type] += 1 + + def run_pip(self, *args, **kwargs): # type: (...) -> int + try: + self._env.run_pip(*args, **kwargs) + except EnvCommandError as e: + output = decode(e.e.output) + if ( + "KeyboardInterrupt" in output + or "ERROR: Operation cancelled by user" in output + ): + return -2 + + raise + + return 0 + + def get_operation_message(self, operation, done=False, error=False, warning=False): + base_tag = "fg=default" + operation_color = "c2" + source_operation_color = "c2" + package_color = "c1" + + if error: + operation_color = "error" + elif warning: + operation_color = "warning" + elif done: + operation_color = "success" + + if operation.skipped: + base_tag = "fg=default;options=dark" + operation_color += "_dark" + source_operation_color += "_dark" + package_color += "_dark" + + if operation.job_type == "install": + return "<{}>Installing <{}>{} (<{}>{})".format( + base_tag, + package_color, + operation.package.name, + package_color, + operation_color, + operation.package.full_pretty_version, + ) + + if operation.job_type == "uninstall": + return "<{}>Removing <{}>{} (<{}>{})".format( + base_tag, + package_color, + operation.package.name, + package_color, + operation_color, + operation.package.full_pretty_version, + ) + + if operation.job_type == "update": + return "<{}>Updating <{}>{} (<{}>{} -> <{}>{})".format( + base_tag, + package_color, + operation.initial_package.name, + package_color, + source_operation_color, + operation.initial_package.full_pretty_version, + source_operation_color, + operation_color, + operation.target_package.full_pretty_version, + ) + + return "" + + def _display_summary(self, operations): + installs = 0 + updates = 0 + uninstalls = 0 + skipped = 0 + for op in operations: + if op.skipped: + skipped += 1 + continue + + if op.job_type == "install": + installs += 1 + elif op.job_type == "update": + updates += 1 + elif op.job_type == "uninstall": + uninstalls += 1 + + if not installs and not updates and not uninstalls and not self._verbose: + self._io.write_line("") + self._io.write_line("No dependencies to install or update") + + return + + self._io.write_line("") + self._io.write_line( + "Package operations: " + "{} install{}, " + "{} update{}, " + "{} removal{}" + "{}".format( + installs, + "" if installs == 1 else "s", + updates, + "" if updates == 1 else "s", + uninstalls, + "" if uninstalls == 1 else "s", + ", {} skipped".format(skipped) + if skipped and self._verbose + else "", + ) + ) + self._io.write_line("") + + def _execute_install(self, operation): # type: (Install) -> None + return self._install(operation) + + def _execute_update(self, operation): # type: (Update) -> None + return self._update(operation) + + def _execute_uninstall(self, operation): # type: (Uninstall) -> None + message = " • {message}: Removing...".format( + message=self.get_operation_message(operation), + ) + self._write(operation, message) + + return self._remove(operation) + + def _install(self, operation): + package = operation.package + if package.source_type == "directory": + return self._install_directory(operation) + + if package.source_type == "git": + return self._install_git(operation) + + if package.source_type == "file": + archive = self._prepare_file(operation) + elif package.source_type == "url": + # archive = self._download_link(operation, Link(package.source_url)) + return self._pip_install(operation, package.source_url) + else: + # archive = self._download(operation) + url = str(self._chooser.choose_for(package)) + return self._pip_install(operation, url) + + operation_message = self.get_operation_message(operation) + message = " • {message}: Installing...".format( + message=operation_message, + ) + self._write(operation, message) + + args = ["install", "--no-deps", str(archive)] + if operation.job_type == "update": + args.insert(2, "-U") + + return self.run_pip(*args) + + def _pip_install(self, operation, spec): + operation_message = self.get_operation_message(operation) + message = " • {message}: Installing...".format( + message=operation_message, + ) + self._write(operation, message) + + args = ["install", "--no-deps", spec] + + return self.run_pip(*args) + + def _update(self, operation): + return self._install(operation) + + def _remove(self, operation): + package = operation.package + + # If we have a VCS package, remove its source directory + if package.source_type == "git": + src_dir = self._env.path / "src" / package.name + if src_dir.exists(): + safe_rmtree(str(src_dir)) + + try: + return self.run_pip("uninstall", package.name, "-y") + except CalledProcessError as e: + if "not installed" in str(e): + return 0 + + raise + + def _prepare_file(self, operation): + package = operation.package + + message = " • {message}: Preparing...".format( + message=self.get_operation_message(operation), + ) + self._write(operation, message) + + archive = Path(package.source_url) + if not Path(package.source_url).is_absolute() and package.root_dir: + archive = package.root_dir / archive + + archive = self._chef.prepare(archive) + + return archive + + def _install_directory(self, operation): + from poetry.factory import Factory + + package = operation.package + operation_message = self.get_operation_message(operation) + + message = " • {message}: Building...".format( + message=operation_message, + ) + self._write(operation, message) + + if package.root_dir: + req = os.path.join(str(package.root_dir), package.source_url) + else: + req = os.path.realpath(package.source_url) + + args = ["install", "--no-deps", "-U"] + + pyproject = PyProjectTOML(os.path.join(req, "pyproject.toml")) + + if pyproject.is_poetry_project(): + # Even if there is a build system specified + # some versions of pip (< 19.0.0) don't understand it + # so we need to check the version of pip to know + # if we can rely on the build system + legacy_pip = self._env.pip_version < self._env.pip_version.__class__( + 19, 0, 0 + ) + package_poetry = Factory().create_poetry(pyproject.file.path.parent) + + if package.develop and not package_poetry.package.build_script: + from poetry.masonry.builders.editable import EditableBuilder + + # This is a Poetry package in editable mode + # we can use the EditableBuilder without going through pip + # to install it, unless it has a build script. + builder = EditableBuilder(package_poetry, self._env, NullIO()) + builder.build() + + return 0 + elif legacy_pip or package_poetry.package.build_script: + from poetry.core.masonry.builders.sdist import SdistBuilder + + # We need to rely on creating a temporary setup.py + # file since the version of pip does not support + # build-systems + # We also need it for non-PEP-517 packages + builder = SdistBuilder(package_poetry) + + with builder.setup_py(): + if package.develop: + args.append("-e") + + args.append(req) + + return self.run_pip(*args) + + if package.develop: + args.append("-e") + + args.append(req) + + return self.run_pip(*args) + + def _install_git(self, operation): + from poetry.core.vcs import Git + + package = operation.package + operation_message = self.get_operation_message(operation) + + message = " • {message}: Cloning...".format( + message=operation_message, + ) + self._write(operation, message) + + src_dir = self._env.path / "src" / package.name + if src_dir.exists(): + safe_rmtree(str(src_dir)) + + src_dir.parent.mkdir(exist_ok=True) + + git = Git() + git.clone(package.source_url, src_dir) + + reference = package.source_resolved_reference + if not reference: + reference = package.source_reference + + git.checkout(reference, src_dir) + + # Now we just need to install from the source directory + package._source_url = str(src_dir) + + return self._install_directory(operation) + + def _download(self, operation): # type: (Operation) -> Path + link = self._chooser.choose_for(operation.package) + + return self._download_link(operation, link) + + def _download_link(self, operation, link): + package = operation.package + + archive = self._chef.get_cached_archive_for_link(link) + if archive is link: + # No cached distributions was found, so we download and prepare it + try: + archive = self._download_archive(operation, link) + except BaseException: + cache_directory = self._chef.get_cache_directory_for_link(link) + cached_file = cache_directory.joinpath(link.filename) + # We can't use unlink(missing_ok=True) because it's not available + # in pathlib2 for Python 2.7 + if cached_file.exists(): + cached_file.unlink() + + raise + + # TODO: Check readability of the created archive + + if not link.is_wheel: + archive = self._chef.prepare(archive) + + if package.files: + hashes = {f["hash"] for f in package.files} + hash_types = {h.split(":")[0] for h in hashes} + archive_hashes = set() + archive_path = ( + url_to_path(archive.url) if isinstance(archive, Link) else archive + ) + for hash_type in hash_types: + archive_hashes.add( + "{}:{}".format( + hash_type, + FileDependency(package.name, archive_path).hash(hash_type), + ) + ) + + if archive_hashes.isdisjoint(hashes): + raise RuntimeError( + "Invalid hashes ({}) for {} using archive {}. Expected one of {}.".format( + ", ".join(sorted(archive_hashes)), + package, + archive_path.name, + ", ".join(sorted(hashes)), + ) + ) + + return archive + + def _download_archive(self, operation, link): # type: (Operation, Link) -> Path + response = self._authenticator.request( + "get", link.url, stream=True, io=self._sections.get(id(operation), self._io) + ) + wheel_size = response.headers.get("content-length") + operation_message = self.get_operation_message(operation) + message = " • {message}: Downloading...".format( + message=operation_message, + ) + progress = None + if self.supports_fancy_output(): + if wheel_size is None: + self._write(operation, message) + else: + from clikit.ui.components.progress_bar import ProgressBar + + progress = ProgressBar( + self._sections[id(operation)].output, max=int(wheel_size) + ) + progress.set_format(message + " %percent%%") + + if progress: + with self._lock: + progress.start() + + done = 0 + archive = self._chef.get_cache_directory_for_link(link) / link.filename + archive.parent.mkdir(parents=True, exist_ok=True) + with archive.open("wb") as f: + for chunk in response.iter_content(chunk_size=4096): + if not chunk: + break + + done += len(chunk) + + if progress: + with self._lock: + progress.set_progress(done) + + f.write(chunk) + + if progress: + with self._lock: + progress.finish() + + return archive + + def _should_write_operation(self, operation): # type: (Operation) -> bool + if not operation.skipped: + return True + + return self._dry_run or self._verbose diff --git a/venv/lib/python3.8/site-packages/poetry/installation/installer.py b/venv/lib/python3.8/site-packages/poetry/installation/installer.py new file mode 120000 index 0000000..8f46c10 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/installation/installer.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4a/bd/9f/068439dd2f4bfdcc984a3953db75cc729021557b0b650803cc63d5f1b8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/installation/noop_installer.py b/venv/lib/python3.8/site-packages/poetry/installation/noop_installer.py new file mode 120000 index 0000000..682ce4d --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/installation/noop_installer.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ae/28/c1/0679f8b842a22ff36171af49ec51ff373546a8eceb9f3309a99d9ff988 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/installation/operations/__init__.py b/venv/lib/python3.8/site-packages/poetry/installation/operations/__init__.py new file mode 120000 index 0000000..1815957 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/installation/operations/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f7/d0/ed/eafebd30bdcb1550d7756595248414066dc05f44090cdfe2d0e860f977 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/installation/operations/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/installation/operations/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..11aee2d Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/installation/operations/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/installation/operations/__pycache__/install.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/installation/operations/__pycache__/install.cpython-38.pyc new file mode 100644 index 0000000..9e48d17 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/installation/operations/__pycache__/install.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/installation/operations/__pycache__/operation.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/installation/operations/__pycache__/operation.cpython-38.pyc new file mode 100644 index 0000000..443105f Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/installation/operations/__pycache__/operation.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/installation/operations/__pycache__/uninstall.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/installation/operations/__pycache__/uninstall.cpython-38.pyc new file mode 100644 index 0000000..1f705c2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/installation/operations/__pycache__/uninstall.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/installation/operations/__pycache__/update.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/installation/operations/__pycache__/update.cpython-38.pyc new file mode 100644 index 0000000..5b92809 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/installation/operations/__pycache__/update.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/installation/operations/install.py b/venv/lib/python3.8/site-packages/poetry/installation/operations/install.py new file mode 120000 index 0000000..21dbff6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/installation/operations/install.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7a/ba/1e/4220847eb639bf77544e7bd4812cd9d227f5bcddefcbb1b8e61cb116a3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/installation/operations/operation.py b/venv/lib/python3.8/site-packages/poetry/installation/operations/operation.py new file mode 120000 index 0000000..aca4a32 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/installation/operations/operation.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c8/04/30/dbbe27c3a0eec543320434e7e255937aa712efd85b7c7e4693dde80939 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/installation/operations/uninstall.py b/venv/lib/python3.8/site-packages/poetry/installation/operations/uninstall.py new file mode 120000 index 0000000..98fbcb1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/installation/operations/uninstall.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/28/d5/e7/1e6c9c8e88b9df41b957a368885cd2b6a8d841521c42081fd7ecfe8e76 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/installation/operations/update.py b/venv/lib/python3.8/site-packages/poetry/installation/operations/update.py new file mode 120000 index 0000000..8b95588 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/installation/operations/update.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/77/e0/52/b54670375af0599d8e419de18c87b9f7cd4e0cb1a4730836446c253e62 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/installation/pip_installer.py b/venv/lib/python3.8/site-packages/poetry/installation/pip_installer.py new file mode 120000 index 0000000..f5cbf0d --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/installation/pip_installer.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3f/8e/8f/86149c752db3bf6d39f0cef49b8eedc540205d87b94e77959d9de8a9dc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/io/__init__.py b/venv/lib/python3.8/site-packages/poetry/io/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/io/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/io/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/io/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..bcaccbb Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/io/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/io/__pycache__/null_io.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/io/__pycache__/null_io.cpython-38.pyc new file mode 100644 index 0000000..6544368 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/io/__pycache__/null_io.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/io/null_io.py b/venv/lib/python3.8/site-packages/poetry/io/null_io.py new file mode 120000 index 0000000..46af622 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/io/null_io.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ca/50/b8/a7144c957f295287fa48370bfdc0ba4d270242f10a2a241ea74a6a064e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/json/__init__.py b/venv/lib/python3.8/site-packages/poetry/json/__init__.py new file mode 120000 index 0000000..b3d9683 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/json/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/31/1c/d2/198df0e598f0017770f50ace3e2f7f2452d048ede3449bdf1b3b9256ac \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/json/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/json/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..7e181c8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/json/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/json/schemas/poetry-schema.json b/venv/lib/python3.8/site-packages/poetry/json/schemas/poetry-schema.json new file mode 120000 index 0000000..70fef52 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/json/schemas/poetry-schema.json @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2e/a0/dc/8d99fc57494de2c8644fb1268529f142c8a8fb24f2d1774ffbc8727811 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/layouts/__init__.py b/venv/lib/python3.8/site-packages/poetry/layouts/__init__.py new file mode 120000 index 0000000..71137e5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/layouts/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/64/f1/7d/b565596a99b58e88b863941a7fa2a721d7c47b095b5ddbf04db9b2030f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/layouts/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/layouts/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..8af11b8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/layouts/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/layouts/__pycache__/layout.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/layouts/__pycache__/layout.cpython-38.pyc new file mode 100644 index 0000000..6568be3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/layouts/__pycache__/layout.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/layouts/__pycache__/src.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/layouts/__pycache__/src.cpython-38.pyc new file mode 100644 index 0000000..b8848cc Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/layouts/__pycache__/src.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/layouts/__pycache__/standard.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/layouts/__pycache__/standard.cpython-38.pyc new file mode 100644 index 0000000..c04c28c Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/layouts/__pycache__/standard.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/layouts/layout.py b/venv/lib/python3.8/site-packages/poetry/layouts/layout.py new file mode 120000 index 0000000..42194dd --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/layouts/layout.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/67/e7/af/997c34a5dcdbeb6152ce64cf4fd959f4b178764861f30d3d720739a63b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/layouts/src.py b/venv/lib/python3.8/site-packages/poetry/layouts/src.py new file mode 120000 index 0000000..dd68de9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/layouts/src.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ab/59/d5/3a57d9aa46e6f97b9379d77cd49a60739bdb5767471e3366c2cfe58c19 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/layouts/standard.py b/venv/lib/python3.8/site-packages/poetry/layouts/standard.py new file mode 120000 index 0000000..343635f --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/layouts/standard.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/19/fa/6c/70d8eb4ea345c316e8431be4a9d29e22a448ec59d23178d0d1012f1fbd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/locations.py b/venv/lib/python3.8/site-packages/poetry/locations.py new file mode 120000 index 0000000..48cfbb9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/locations.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/77/40/d3/fe5840703047c2fef950ed7cedec34cd9f8509d6d3905efaf6058f957f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/masonry/__init__.py b/venv/lib/python3.8/site-packages/poetry/masonry/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/masonry/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/masonry/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/masonry/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..cd14c99 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/masonry/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/masonry/__pycache__/api.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/masonry/__pycache__/api.cpython-38.pyc new file mode 100644 index 0000000..8a6fcb6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/masonry/__pycache__/api.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/masonry/api.py b/venv/lib/python3.8/site-packages/poetry/masonry/api.py new file mode 120000 index 0000000..5f4588b --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/masonry/api.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e7/a9/9a/63c5b03af17e61eb28d0869e363f7a662ac4bd9c3511a1ff3b845c50ec \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/masonry/builders/__init__.py b/venv/lib/python3.8/site-packages/poetry/masonry/builders/__init__.py new file mode 120000 index 0000000..4fab8ee --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/masonry/builders/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7c/77/9c/36177bb31a1f2b54bef7edc6e61c9fb431dbe37ebb26df011418b2055e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/masonry/builders/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/masonry/builders/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..7bf06e8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/masonry/builders/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/masonry/builders/__pycache__/editable.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/masonry/builders/__pycache__/editable.cpython-38.pyc new file mode 100644 index 0000000..c028e6b Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/masonry/builders/__pycache__/editable.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/masonry/builders/editable.py b/venv/lib/python3.8/site-packages/poetry/masonry/builders/editable.py new file mode 120000 index 0000000..1213f99 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/masonry/builders/editable.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d3/e2/3e/954843c092ebdfde6255e2aba0500c2351a964af411e5cd7fa9263fda2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/mixology/__init__.py b/venv/lib/python3.8/site-packages/poetry/mixology/__init__.py new file mode 120000 index 0000000..11e4570 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/mixology/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/60/c3/53/6abd042b994e026b7492545728002bbab49e30639a7b8afbe493297521 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/mixology/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/mixology/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..cc946ed Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/mixology/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/mixology/__pycache__/assignment.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/mixology/__pycache__/assignment.cpython-38.pyc new file mode 100644 index 0000000..cf52568 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/mixology/__pycache__/assignment.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/mixology/__pycache__/failure.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/mixology/__pycache__/failure.cpython-38.pyc new file mode 100644 index 0000000..cdc3606 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/mixology/__pycache__/failure.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/mixology/__pycache__/incompatibility.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/mixology/__pycache__/incompatibility.cpython-38.pyc new file mode 100644 index 0000000..55ffa75 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/mixology/__pycache__/incompatibility.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/mixology/__pycache__/incompatibility_cause.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/mixology/__pycache__/incompatibility_cause.cpython-38.pyc new file mode 100644 index 0000000..451952b Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/mixology/__pycache__/incompatibility_cause.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/mixology/__pycache__/partial_solution.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/mixology/__pycache__/partial_solution.cpython-38.pyc new file mode 100644 index 0000000..b634bb9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/mixology/__pycache__/partial_solution.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/mixology/__pycache__/result.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/mixology/__pycache__/result.cpython-38.pyc new file mode 100644 index 0000000..8cdf4f9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/mixology/__pycache__/result.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/mixology/__pycache__/set_relation.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/mixology/__pycache__/set_relation.cpython-38.pyc new file mode 100644 index 0000000..b9e6bda Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/mixology/__pycache__/set_relation.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/mixology/__pycache__/term.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/mixology/__pycache__/term.cpython-38.pyc new file mode 100644 index 0000000..288897e Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/mixology/__pycache__/term.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/mixology/__pycache__/version_solver.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/mixology/__pycache__/version_solver.cpython-38.pyc new file mode 100644 index 0000000..f8fe853 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/mixology/__pycache__/version_solver.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/mixology/assignment.py b/venv/lib/python3.8/site-packages/poetry/mixology/assignment.py new file mode 120000 index 0000000..a2e6905 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/mixology/assignment.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/46/de/97/2d7249b8e735181ded83c84ae7b9e51c30994db299ba366580ca727b3c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/mixology/failure.py b/venv/lib/python3.8/site-packages/poetry/mixology/failure.py new file mode 120000 index 0000000..a5fc65b --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/mixology/failure.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5a/d5/a8/4f0c7f47316dba0452fcde3be92dd2f720c38950372d20080e410b38f3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/mixology/incompatibility.py b/venv/lib/python3.8/site-packages/poetry/mixology/incompatibility.py new file mode 120000 index 0000000..afd8a49 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/mixology/incompatibility.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5d/3f/df/8a6b9f114f24e83ab81dc36d2716c78018c3db8bcbca149f97f09505c9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/mixology/incompatibility_cause.py b/venv/lib/python3.8/site-packages/poetry/mixology/incompatibility_cause.py new file mode 120000 index 0000000..8ccd054 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/mixology/incompatibility_cause.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a9/11/9d/79b8fd6a81e10bcde7d44c5f4cfd3015dd20748e4db46baafe07694de6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/mixology/partial_solution.py b/venv/lib/python3.8/site-packages/poetry/mixology/partial_solution.py new file mode 120000 index 0000000..2175ccc --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/mixology/partial_solution.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7b/8e/dd/633904f7811222b23fbc1b99c9073b5eece40dee520ff6b260b22ee12d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/mixology/result.py b/venv/lib/python3.8/site-packages/poetry/mixology/result.py new file mode 120000 index 0000000..4f1cca9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/mixology/result.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ed/90/c7/bdc3377d0e641e9b52c6d0191c95281a365ca4b71166c8dad439b6c1f2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/mixology/set_relation.py b/venv/lib/python3.8/site-packages/poetry/mixology/set_relation.py new file mode 120000 index 0000000..c38f1ed --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/mixology/set_relation.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/49/c9/b0/5807c0d3c937410bc86a53c8dca5690d007eafd68a02bd5680d7692c21 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/mixology/solutions/__init__.py b/venv/lib/python3.8/site-packages/poetry/mixology/solutions/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/mixology/solutions/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/mixology/solutions/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/mixology/solutions/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..8ff9a4d Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/mixology/solutions/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/mixology/solutions/providers/__init__.py b/venv/lib/python3.8/site-packages/poetry/mixology/solutions/providers/__init__.py new file mode 120000 index 0000000..491b94e --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/mixology/solutions/providers/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/de/82/77/0ee1a86d2b117b5900698477906c364d71a4e26ed0c286375f29833ac6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/mixology/solutions/providers/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/mixology/solutions/providers/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..fa7e404 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/mixology/solutions/providers/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/mixology/solutions/providers/__pycache__/python_requirement_solution_provider.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/mixology/solutions/providers/__pycache__/python_requirement_solution_provider.cpython-38.pyc new file mode 100644 index 0000000..b0a5098 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/mixology/solutions/providers/__pycache__/python_requirement_solution_provider.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/mixology/solutions/providers/python_requirement_solution_provider.py b/venv/lib/python3.8/site-packages/poetry/mixology/solutions/providers/python_requirement_solution_provider.py new file mode 120000 index 0000000..e8a4b37 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/mixology/solutions/providers/python_requirement_solution_provider.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f2/56/dc/10ed7133844700f5a989b00b14c4b179dbe0194287f3bd91e6d2c024ae \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/mixology/solutions/solutions/__init__.py b/venv/lib/python3.8/site-packages/poetry/mixology/solutions/solutions/__init__.py new file mode 120000 index 0000000..0e82407 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/mixology/solutions/solutions/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/99/91/c4/ae79672fd4a609cbc2c6f041915066d05d1966c8e3224fe8ce5e3feb50 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/mixology/solutions/solutions/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/mixology/solutions/solutions/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..dc1cd2c Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/mixology/solutions/solutions/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/mixology/solutions/solutions/__pycache__/python_requirement_solution.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/mixology/solutions/solutions/__pycache__/python_requirement_solution.cpython-38.pyc new file mode 100644 index 0000000..fafa143 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/mixology/solutions/solutions/__pycache__/python_requirement_solution.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/mixology/solutions/solutions/python_requirement_solution.py b/venv/lib/python3.8/site-packages/poetry/mixology/solutions/solutions/python_requirement_solution.py new file mode 120000 index 0000000..4191246 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/mixology/solutions/solutions/python_requirement_solution.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/84/d4/f3/4d29776fbeffaacb8c3fb5ff4e11a961445552a5ce8d7a49aed586bf8c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/mixology/term.py b/venv/lib/python3.8/site-packages/poetry/mixology/term.py new file mode 120000 index 0000000..47c884e --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/mixology/term.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5a/8c/9f/7a534f7425f47e70b964e871b595d9ba0ed6f82bafaa165e8c1d038757 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/mixology/version_solver.py b/venv/lib/python3.8/site-packages/poetry/mixology/version_solver.py new file mode 120000 index 0000000..3f706e0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/mixology/version_solver.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a4/ed/e5/2f5f8b6442abd51b4a160e34daceedd66627a6f6d27135d800e635d90e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/packages/__init__.py b/venv/lib/python3.8/site-packages/poetry/packages/__init__.py new file mode 120000 index 0000000..a9ddccd --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/packages/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5d/91/cb/a9932b012b0b3dcdda801e594ed9e56ca3cf2f7a45dd79100ac1d9876f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/packages/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/packages/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..2b88294 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/packages/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/packages/__pycache__/dependency_package.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/packages/__pycache__/dependency_package.cpython-38.pyc new file mode 100644 index 0000000..075d56c Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/packages/__pycache__/dependency_package.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/packages/__pycache__/locker.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/packages/__pycache__/locker.cpython-38.pyc new file mode 100644 index 0000000..fd8d59e Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/packages/__pycache__/locker.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/packages/__pycache__/package_collection.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/packages/__pycache__/package_collection.cpython-38.pyc new file mode 100644 index 0000000..c9c080b Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/packages/__pycache__/package_collection.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/packages/dependency_package.py b/venv/lib/python3.8/site-packages/poetry/packages/dependency_package.py new file mode 120000 index 0000000..210380e --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/packages/dependency_package.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9f/d0/5d/e21ebbf8995aba9f84434de65b4b387cac67a4bb3e00ec9ae411a2f58c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/packages/locker.py b/venv/lib/python3.8/site-packages/poetry/packages/locker.py new file mode 120000 index 0000000..206de62 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/packages/locker.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/02/87/ff/0dab2d01aef2406360eab760b5538399caf84d7a68ff2414773b825c27 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/packages/package_collection.py b/venv/lib/python3.8/site-packages/poetry/packages/package_collection.py new file mode 120000 index 0000000..08ef2a6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/packages/package_collection.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b0/11/77/18c5ee91a7e46e0e357e525ae9bee72f6135165f97d2b65cce86d1baab \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/poetry.py b/venv/lib/python3.8/site-packages/poetry/poetry.py new file mode 120000 index 0000000..ddacefc --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/poetry.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/48/97/9f/eb6841669514ee8147cb01a7b00c838987f6b88d4fe95417eb6df2b763 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/publishing/__init__.py b/venv/lib/python3.8/site-packages/poetry/publishing/__init__.py new file mode 120000 index 0000000..abf875b --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/publishing/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c3/d9/2c/c802236f02ed3eee7c2ee7c9a0cb05d7e3de1098144c6f0110e26dfb8e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/publishing/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/publishing/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..e5ca9f0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/publishing/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/publishing/__pycache__/publisher.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/publishing/__pycache__/publisher.cpython-38.pyc new file mode 100644 index 0000000..ab97b76 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/publishing/__pycache__/publisher.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/publishing/__pycache__/uploader.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/publishing/__pycache__/uploader.cpython-38.pyc new file mode 100644 index 0000000..250b990 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/publishing/__pycache__/uploader.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/publishing/publisher.py b/venv/lib/python3.8/site-packages/poetry/publishing/publisher.py new file mode 120000 index 0000000..ec99c06 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/publishing/publisher.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/af/8d/23/c6d9a4248c8ac61e6b9bfdb7c7db85e9c3d67705e1f0b618713ff3ced9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/publishing/uploader.py b/venv/lib/python3.8/site-packages/poetry/publishing/uploader.py new file mode 120000 index 0000000..b2279a5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/publishing/uploader.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1c/72/22/0144cf7793c54bb0b9b9945151933c20f08e273f333a6f3877f19a9a9e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/puzzle/__init__.py b/venv/lib/python3.8/site-packages/poetry/puzzle/__init__.py new file mode 120000 index 0000000..34fd27a --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/puzzle/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fb/3d/5b/2ab559ec7cb0f7b3cd5afc562cc423978f66b7817aa2b798c421b66535 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/puzzle/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/puzzle/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..0c90421 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/puzzle/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/puzzle/__pycache__/exceptions.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/puzzle/__pycache__/exceptions.cpython-38.pyc new file mode 100644 index 0000000..3b92c91 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/puzzle/__pycache__/exceptions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/puzzle/__pycache__/provider.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/puzzle/__pycache__/provider.cpython-38.pyc new file mode 100644 index 0000000..456179d Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/puzzle/__pycache__/provider.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/puzzle/__pycache__/solver.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/puzzle/__pycache__/solver.cpython-38.pyc new file mode 100644 index 0000000..f07c651 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/puzzle/__pycache__/solver.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/puzzle/exceptions.py b/venv/lib/python3.8/site-packages/poetry/puzzle/exceptions.py new file mode 120000 index 0000000..6540f29 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/puzzle/exceptions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/15/21/63/bb1b2b323381b8029848935d2c820716396cf09c3c61edc3c4415e6351 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/puzzle/provider.py b/venv/lib/python3.8/site-packages/poetry/puzzle/provider.py new file mode 120000 index 0000000..108e3d4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/puzzle/provider.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/81/da/79/42c1621bad4bbe82773bca51aacdb7ebaf3262fe239950d1d3733982ce \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/puzzle/solver.py b/venv/lib/python3.8/site-packages/poetry/puzzle/solver.py new file mode 120000 index 0000000..2eea585 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/puzzle/solver.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/49/5c/20/04de2dca57b2c704df4181b041f4ad94889e3457b340e10d5e1c8a4d46 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/repositories/__init__.py b/venv/lib/python3.8/site-packages/poetry/repositories/__init__.py new file mode 120000 index 0000000..fabd819 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/repositories/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/05/84/c8/aaa57a1a89c66ef9a6e36785a300f56420c4dbbf3186a1ecabccf04fda \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/repositories/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/repositories/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..390f884 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/repositories/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/repositories/__pycache__/base_repository.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/repositories/__pycache__/base_repository.cpython-38.pyc new file mode 100644 index 0000000..c6d40d7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/repositories/__pycache__/base_repository.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/repositories/__pycache__/exceptions.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/repositories/__pycache__/exceptions.cpython-38.pyc new file mode 100644 index 0000000..915d5d2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/repositories/__pycache__/exceptions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/repositories/__pycache__/installed_repository.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/repositories/__pycache__/installed_repository.cpython-38.pyc new file mode 100644 index 0000000..00aaa92 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/repositories/__pycache__/installed_repository.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/repositories/__pycache__/legacy_repository.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/repositories/__pycache__/legacy_repository.cpython-38.pyc new file mode 100644 index 0000000..a509b75 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/repositories/__pycache__/legacy_repository.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/repositories/__pycache__/pool.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/repositories/__pycache__/pool.cpython-38.pyc new file mode 100644 index 0000000..7e552b4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/repositories/__pycache__/pool.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/repositories/__pycache__/pypi_repository.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/repositories/__pycache__/pypi_repository.cpython-38.pyc new file mode 100644 index 0000000..cf9e7e1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/repositories/__pycache__/pypi_repository.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/repositories/__pycache__/remote_repository.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/repositories/__pycache__/remote_repository.cpython-38.pyc new file mode 100644 index 0000000..32a6e77 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/repositories/__pycache__/remote_repository.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/repositories/__pycache__/repository.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/repositories/__pycache__/repository.cpython-38.pyc new file mode 100644 index 0000000..e5831f3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/repositories/__pycache__/repository.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/repositories/base_repository.py b/venv/lib/python3.8/site-packages/poetry/repositories/base_repository.py new file mode 120000 index 0000000..996adf4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/repositories/base_repository.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9f/cd/33/62656264d8ce1104d154441204093652d981ffc020bccf97697249760e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/repositories/exceptions.py b/venv/lib/python3.8/site-packages/poetry/repositories/exceptions.py new file mode 120000 index 0000000..aa18c32 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/repositories/exceptions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/60/6a/05/fa2e0d98fe90700e92402a270af15c5a9af8cdd05a831eaf381588ad26 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/repositories/installed_repository.py b/venv/lib/python3.8/site-packages/poetry/repositories/installed_repository.py new file mode 120000 index 0000000..2c08999 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/repositories/installed_repository.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a0/7c/03/68e871e1002815c39111b951999ab6122ec227aac79240d1f29bc01faa \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/repositories/legacy_repository.py b/venv/lib/python3.8/site-packages/poetry/repositories/legacy_repository.py new file mode 120000 index 0000000..d562fa2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/repositories/legacy_repository.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b9/a0/ad/61b0d9fbcae963cee85f684c12ce12a9923718bd164339504f3bf8df5c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/repositories/pool.py b/venv/lib/python3.8/site-packages/poetry/repositories/pool.py new file mode 120000 index 0000000..ceae61e --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/repositories/pool.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e0/b9/6b/9f237fa9f3657c81345d600d83aca0cd3772d93b56c02d09b5e0cd97dd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/repositories/pypi_repository.py b/venv/lib/python3.8/site-packages/poetry/repositories/pypi_repository.py new file mode 100755 index 0000000..6e76998 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/repositories/pypi_repository.py @@ -0,0 +1,473 @@ +import logging +import os + +from collections import defaultdict +from typing import Dict +from typing import List +from typing import Union + +import requests + +from cachecontrol import CacheControl +from cachecontrol.caches.file_cache import FileCache +from cachecontrol.controller import logger as cache_control_logger +from cachy import CacheManager +from html5lib.html5parser import parse + +from poetry.core.packages import Dependency +from poetry.core.packages import Package +from poetry.core.packages import dependency_from_pep_508 +from poetry.core.packages.utils.link import Link +from poetry.core.semver import VersionConstraint +from poetry.core.semver import VersionRange +from poetry.core.semver import parse_constraint +from poetry.core.semver.exceptions import ParseVersionError +from poetry.core.version.markers import parse_marker +from poetry.locations import REPOSITORY_CACHE_DIR +from poetry.utils._compat import Path +from poetry.utils._compat import to_str +from poetry.utils.helpers import download_file +from poetry.utils.helpers import temporary_directory +from poetry.utils.patterns import wheel_file_re + +from pip._internal.network.session import PipSession +from pip._internal.network.download import Downloader as PipDownloader +from pip._internal.models.link import Link as PipLink + +from ..inspection.info import PackageInfo +from .exceptions import PackageNotFound +from .remote_repository import RemoteRepository + + +try: + import urllib.parse as urlparse +except ImportError: + import urlparse + + +cache_control_logger.setLevel(logging.ERROR) + +logger = logging.getLogger(__name__) + + +class PyPiRepository(RemoteRepository): + + CACHE_VERSION = parse_constraint("1.0.0") + + def __init__(self, config=None, url="https://pypi.org/", disable_cache=False, fallback=True): + super(PyPiRepository, self).__init__(url.rstrip("/") + "/simple/") + + self._config = config + self._base_url = url + self._disable_cache = disable_cache + self._fallback = fallback + + release_cache_dir = REPOSITORY_CACHE_DIR / "pypi" + if self._config: + release_cache_dir = Path(self._config.get("cache-dir")) / "pypi" + self._cache = CacheManager( + { + "default": "releases", + "serializer": "json", + "stores": { + "releases": {"driver": "file", "path": str(release_cache_dir)}, + "packages": {"driver": "dict"}, + }, + } + ) + + self._cache_control_cache = FileCache(str(release_cache_dir / "_http")) + self._name = "PyPI" + + home_dir = os.getenv('HOME') + pypi = os.getenv('REPLIT_POETRY_PYPI_REPOSITORY') or 'https://pypi.org/pypi/' + self._pip_session = PipSession( + cache='%s/.cache/pip/http' % home_dir, + retries=None, + trusted_hosts=[], + index_urls=['%ssimple/' % pypi] + ) + + @property + def session(self): + return CacheControl(requests.session(), cache=self._cache_control_cache) + + def find_packages(self, dependency): # type: (Dependency) -> List[Package] + """ + Find packages on the remote server. + """ + constraint = dependency.constraint + if constraint is None: + constraint = "*" + + if not isinstance(constraint, VersionConstraint): + constraint = parse_constraint(constraint) + + allow_prereleases = dependency.allows_prereleases() + if isinstance(constraint, VersionRange): + if ( + constraint.max is not None + and constraint.max.is_prerelease() + or constraint.min is not None + and constraint.min.is_prerelease() + ): + allow_prereleases = True + + try: + info = self.get_package_info(dependency.name) + except PackageNotFound: + self._log( + "No packages found for {} {}".format(dependency.name, str(constraint)), + level="debug", + ) + return [] + + packages = [] + ignored_pre_release_packages = [] + + for version, release in info["releases"].items(): + if not release: + # Bad release + self._log( + "No release information found for {}-{}, skipping".format( + dependency.name, version + ), + level="debug", + ) + continue + + try: + package = Package(info["info"]["name"], version) + except ParseVersionError: + self._log( + 'Unable to parse version "{}" for the {} package, skipping'.format( + version, dependency.name + ), + level="debug", + ) + continue + + if package.is_prerelease() and not allow_prereleases: + if constraint.is_any(): + # we need this when all versions of the package are pre-releases + ignored_pre_release_packages.append(package) + continue + + if not constraint or (constraint and constraint.allows(package.version)): + packages.append(package) + + self._log( + "{} packages found for {} {}".format( + len(packages), dependency.name, str(constraint) + ), + level="debug", + ) + + return packages or ignored_pre_release_packages + + def package( + self, + name, # type: str + version, # type: str + extras=None, # type: (Union[list, None]) + ): # type: (...) -> Package + return self.get_release_info(name, version).to_package(name=name, extras=extras) + + def search(self, query): + results = [] + + search = {"q": query} + + response = requests.session().get(self._base_url + "search", params=search) + content = parse(response.content, namespaceHTMLElements=False) + for result in content.findall(".//*[@class='package-snippet']"): + name = result.find("h3/*[@class='package-snippet__name']").text + version = result.find("h3/*[@class='package-snippet__version']").text + + if not name or not version: + continue + + description = result.find("p[@class='package-snippet__description']").text + if not description: + description = "" + + try: + result = Package(name, version, description) + result.description = to_str(description.strip()) + results.append(result) + except ParseVersionError: + self._log( + 'Unable to parse version "{}" for the {} package, skipping'.format( + version, name + ), + level="debug", + ) + + return results + + def get_package_info(self, name): # type: (str) -> dict + """ + Return the package information given its name. + + The information is returned from the cache if it exists + or retrieved from the remote server. + """ + if self._disable_cache: + return self._get_package_info(name) + + return self._cache.store("packages").remember_forever( + name, lambda: self._get_package_info(name) + ) + + def _get_package_info(self, name): # type: (str) -> dict + data = self._get("pypi/{}/json".format(name)) + if data is None: + raise PackageNotFound("Package [{}] not found.".format(name)) + + return data + + def get_release_info(self, name, version): # type: (str, str) -> PackageInfo + """ + Return the release information given a package name and a version. + + The information is returned from the cache if it exists + or retrieved from the remote server. + """ + if self._disable_cache: + return PackageInfo.load(self._get_release_info(name, version)) + + cached = self._cache.remember_forever( + "{}:{}".format(name, version), lambda: self._get_release_info(name, version) + ) + + cache_version = cached.get("_cache_version", "0.0.0") + if parse_constraint(cache_version) != self.CACHE_VERSION: + # The cache must be updated + self._log( + "The cache for {} {} is outdated. Refreshing.".format(name, version), + level="debug", + ) + cached = self._get_release_info(name, version) + + self._cache.forever("{}:{}".format(name, version), cached) + + return PackageInfo.load(cached) + + def find_links_for_package(self, package): + json_data = self._get("pypi/{}/{}/json".format(package.name, package.version)) + if json_data is None: + return [] + + links = [] + for url in json_data["urls"]: + h = "sha256={}".format(url["digests"]["sha256"]) + links.append(Link(url["url"] + "#" + h)) + + return links + + def _get_release_info(self, name, version): # type: (str, str) -> dict + self._log("Getting info for {} ({}) from PyPI".format(name, version), "debug") + + json_data = self._get("pypi/{}/{}/json".format(name, version)) + if json_data is None: + raise PackageNotFound("Package [{}] not found.".format(name)) + + info = json_data["info"] + + data = PackageInfo( + name=info["name"], + version=info["version"], + summary=info["summary"], + platform=info["platform"], + requires_dist=info["requires_dist"], + requires_python=info["requires_python"], + files=info.get("files", []), + cache_version=str(self.CACHE_VERSION), + ) + + try: + releases = json_data["releases"] + if releases is not None: + version_info = releases[version] + else: + version_info = [] + except KeyError: + version_info = [] + + for file_info in version_info: + data.files.append( + { + "file": file_info["filename"], + "hash": "sha256:" + file_info["digests"]["sha256"], + } + ) + + if self._fallback and data.requires_dist is None: + self._log("No dependencies found, downloading archives", level="debug") + # No dependencies set (along with other information) + # This might be due to actually no dependencies + # or badly set metadata when uploading + # So, we need to make sure there is actually no + # dependencies by introspecting packages + urls = defaultdict(list) + for url in json_data["urls"]: + # Only get sdist and wheels if they exist + dist_type = url["packagetype"] + if dist_type not in ["sdist", "bdist_wheel"]: + continue + + urls[dist_type].append(url["url"]) + + if not urls: + return data.asdict() + + info = self._get_info_from_urls(urls) + + data.requires_dist = info.requires_dist + + if not data.requires_python: + data.requires_python = info.requires_python + + return data.asdict() + + def _get(self, endpoint): # type: (str) -> Union[dict, None] + try: + json_response = self.session.get(self._base_url + endpoint) + except requests.exceptions.TooManyRedirects: + # Cache control redirect loop. + # We try to remove the cache and try again + self._cache_control_cache.delete(self._base_url + endpoint) + json_response = self.session.get(self._base_url + endpoint) + + if json_response.status_code == 404: + return None + + json_data = json_response.json() + + return json_data + + def _get_info_from_urls(self, urls): # type: (Dict[str, List[str]]) -> PackageInfo + # Checking wheels first as they are more likely to hold + # the necessary information + if "bdist_wheel" in urls: + # Check fo a universal wheel + wheels = urls["bdist_wheel"] + + universal_wheel = None + universal_python2_wheel = None + universal_python3_wheel = None + platform_specific_wheels = [] + for wheel in wheels: + link = Link(wheel) + m = wheel_file_re.match(link.filename) + if not m: + continue + + pyver = m.group("pyver") + abi = m.group("abi") + plat = m.group("plat") + if abi == "none" and plat == "any": + # Universal wheel + if pyver == "py2.py3": + # Any Python + universal_wheel = wheel + elif pyver == "py2": + universal_python2_wheel = wheel + else: + universal_python3_wheel = wheel + else: + platform_specific_wheels.append(wheel) + + if universal_wheel is not None: + return self._get_info_from_wheel(universal_wheel) + + info = None + if universal_python2_wheel and universal_python3_wheel: + info = self._get_info_from_wheel(universal_python2_wheel) + + py3_info = self._get_info_from_wheel(universal_python3_wheel) + if py3_info.requires_dist: + if not info.requires_dist: + info.requires_dist = py3_info.requires_dist + + return info + + py2_requires_dist = set( + dependency_from_pep_508(r).to_pep_508() + for r in info.requires_dist + ) + py3_requires_dist = set( + dependency_from_pep_508(r).to_pep_508() + for r in py3_info.requires_dist + ) + base_requires_dist = py2_requires_dist & py3_requires_dist + py2_only_requires_dist = py2_requires_dist - py3_requires_dist + py3_only_requires_dist = py3_requires_dist - py2_requires_dist + + # Normalizing requires_dist + requires_dist = list(base_requires_dist) + for requirement in py2_only_requires_dist: + dep = dependency_from_pep_508(requirement) + dep.marker = dep.marker.intersect( + parse_marker("python_version == '2.7'") + ) + requires_dist.append(dep.to_pep_508()) + + for requirement in py3_only_requires_dist: + dep = dependency_from_pep_508(requirement) + dep.marker = dep.marker.intersect( + parse_marker("python_version >= '3'") + ) + requires_dist.append(dep.to_pep_508()) + + info.requires_dist = sorted(list(set(requires_dist))) + + if info: + return info + + # Prefer non platform specific wheels + if universal_python3_wheel: + return self._get_info_from_wheel(universal_python3_wheel) + + if universal_python2_wheel: + return self._get_info_from_wheel(universal_python2_wheel) + + if platform_specific_wheels: + # Pick the first wheel available and hope for the best + return self._get_info_from_wheel(platform_specific_wheels[0]) + + return self._get_info_from_sdist(urls["sdist"][0]) + + def _get_info_from_wheel(self, url): # type: (str) -> PackageInfo + self._log( + "Downloading wheel: {}".format(urlparse.urlparse(url).path.rsplit("/")[-1]), + level="debug", + ) + + with temporary_directory() as temp_dir: + filepath = self._pip_download(url, temp_dir) + + return PackageInfo.from_wheel(Path(filepath)) + + def _get_info_from_sdist(self, url): # type: (str) -> PackageInfo + self._log( + "Downloading sdist: {}".format(urlparse.urlparse(url).path.rsplit("/")[-1]), + level="debug", + ) + + with temporary_directory() as temp_dir: + filepath = self._pip_download(url, temp_dir) + + return PackageInfo.from_sdist(Path(filepath)) + + def _pip_download(self, url, dest_dir): + downloader = PipDownloader(self._pip_session, "off") + link = PipLink(url) + filepath, _ = downloader(link, dest_dir) + return filepath + + def _download(self, url, dest): # type: (str, str) -> None + return download_file(url, dest, session=self.session) + + def _log(self, msg, level="info"): + getattr(logger, level)("{}: {}".format(self._name, msg)) diff --git a/venv/lib/python3.8/site-packages/poetry/repositories/remote_repository.py b/venv/lib/python3.8/site-packages/poetry/repositories/remote_repository.py new file mode 120000 index 0000000..1835c26 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/repositories/remote_repository.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/12/f8/5e/0288c8d9d8294ccdd274ca4a203d0fc8aab4e13addded1a1c2e96cba1e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/repositories/repository.py b/venv/lib/python3.8/site-packages/poetry/repositories/repository.py new file mode 120000 index 0000000..3df9751 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/repositories/repository.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f2/1e/a0/02c75b680565fe2f3e755dba384ebc7dacb1c1fbc790441b5ac756e158 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/utils/__init__.py b/venv/lib/python3.8/site-packages/poetry/utils/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/utils/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/utils/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/utils/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..e54a672 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/utils/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/utils/__pycache__/_compat.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/utils/__pycache__/_compat.cpython-38.pyc new file mode 100644 index 0000000..13a8f67 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/utils/__pycache__/_compat.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/utils/__pycache__/appdirs.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/utils/__pycache__/appdirs.cpython-38.pyc new file mode 100644 index 0000000..28242e4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/utils/__pycache__/appdirs.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/utils/__pycache__/env.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/utils/__pycache__/env.cpython-38.pyc new file mode 100644 index 0000000..61bd45b Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/utils/__pycache__/env.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/utils/__pycache__/exporter.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/utils/__pycache__/exporter.cpython-38.pyc new file mode 100644 index 0000000..b3ba9d7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/utils/__pycache__/exporter.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/utils/__pycache__/extras.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/utils/__pycache__/extras.cpython-38.pyc new file mode 100644 index 0000000..a6cbc62 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/utils/__pycache__/extras.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/utils/__pycache__/helpers.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/utils/__pycache__/helpers.cpython-38.pyc new file mode 100644 index 0000000..412c5ac Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/utils/__pycache__/helpers.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/utils/__pycache__/password_manager.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/utils/__pycache__/password_manager.cpython-38.pyc new file mode 100644 index 0000000..a3b1729 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/utils/__pycache__/password_manager.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/utils/__pycache__/patterns.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/utils/__pycache__/patterns.cpython-38.pyc new file mode 100644 index 0000000..51f3512 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/utils/__pycache__/patterns.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/utils/__pycache__/setup_reader.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/utils/__pycache__/setup_reader.cpython-38.pyc new file mode 100644 index 0000000..1feb094 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/utils/__pycache__/setup_reader.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/utils/__pycache__/shell.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/utils/__pycache__/shell.cpython-38.pyc new file mode 100644 index 0000000..9230895 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/utils/__pycache__/shell.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/utils/_compat.py b/venv/lib/python3.8/site-packages/poetry/utils/_compat.py new file mode 120000 index 0000000..ff027e8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/utils/_compat.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/30/9e/df/44d841a99c551bfc611a6a8bff0dbabb65143a85c034e9c1d42573c224 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/utils/appdirs.py b/venv/lib/python3.8/site-packages/poetry/utils/appdirs.py new file mode 120000 index 0000000..8670fef --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/utils/appdirs.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/da/d5/4a/c8122d8325c1142ab3ff3b90e05a77a92dbce2824575409265eb296cdd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/utils/env.py b/venv/lib/python3.8/site-packages/poetry/utils/env.py new file mode 120000 index 0000000..7578a3c --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/utils/env.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3c/3c/b5/1a1b91bde7b0d349657835148f7e5c315de4404540e51b2e035d344498 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/utils/exporter.py b/venv/lib/python3.8/site-packages/poetry/utils/exporter.py new file mode 120000 index 0000000..7c76b35 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/utils/exporter.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/72/27/18/224a0a206a1c3bd6f1fad6508080b447da9b1523ac44e334b8a3a067be \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/utils/extras.py b/venv/lib/python3.8/site-packages/poetry/utils/extras.py new file mode 120000 index 0000000..4a91527 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/utils/extras.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2c/96/5a/1117b53e7e782a9717bde8fa0309f7cf0ccefb3a8e0398595318abd5d3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/utils/helpers.py b/venv/lib/python3.8/site-packages/poetry/utils/helpers.py new file mode 120000 index 0000000..0e4b14f --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/utils/helpers.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ff/6b/60/690e17f93ae7ce1ad77f3af34c870a28e0044e0465b940d668cc966833 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/utils/password_manager.py b/venv/lib/python3.8/site-packages/poetry/utils/password_manager.py new file mode 120000 index 0000000..77e0586 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/utils/password_manager.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3a/e8/d9/6b866f26f3d0047a518cb59b619be509f29a97d30cbaa9657343abd771 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/utils/patterns.py b/venv/lib/python3.8/site-packages/poetry/utils/patterns.py new file mode 120000 index 0000000..60c94aa --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/utils/patterns.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c8/b6/da/df47f46ac0cac439158d4b592b47c33367ffc9579d21fef9fd20ec7edc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/utils/setup_reader.py b/venv/lib/python3.8/site-packages/poetry/utils/setup_reader.py new file mode 120000 index 0000000..98d46ca --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/utils/setup_reader.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5e/de/d7/778072ebd9697e46e68fe804ca1b96339edae0703934ae08e356ae16a6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/utils/shell.py b/venv/lib/python3.8/site-packages/poetry/utils/shell.py new file mode 120000 index 0000000..5dfd942 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/utils/shell.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5c/c1/bf/52c0bc9f7885c337b658c883ed32102995261d2549e7b54e91e7a682cf \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/version/__init__.py b/venv/lib/python3.8/site-packages/poetry/version/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/version/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry/version/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/version/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..34a72f1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/version/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/version/__pycache__/version_selector.cpython-38.pyc b/venv/lib/python3.8/site-packages/poetry/version/__pycache__/version_selector.cpython-38.pyc new file mode 100644 index 0000000..de6b1de Binary files /dev/null and b/venv/lib/python3.8/site-packages/poetry/version/__pycache__/version_selector.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/poetry/version/version_selector.py b/venv/lib/python3.8/site-packages/poetry/version/version_selector.py new file mode 120000 index 0000000..1858149 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry/version/version_selector.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ec/77/c1/1b64c7d7c35f11c2225f18faf139d1f9809d222c63ac105dedd6259bd4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry_core-1.0.8.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/poetry_core-1.0.8.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry_core-1.0.8.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/poetry_core-1.0.8.dist-info/LICENSE b/venv/lib/python3.8/site-packages/poetry_core-1.0.8.dist-info/LICENSE new file mode 120000 index 0000000..6cd86a8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry_core-1.0.8.dist-info/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/51/4c/8c/daa16f66467980972cb4c1f5bce83b8eb7561e313b5e73074daeb84a9e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry_core-1.0.8.dist-info/METADATA b/venv/lib/python3.8/site-packages/poetry_core-1.0.8.dist-info/METADATA new file mode 120000 index 0000000..b8fffef --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry_core-1.0.8.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/29/e5/01/aa94e4ad647e7e8b5f9272e7ce95cbcee560593c878b94736bba8e1d32 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/poetry_core-1.0.8.dist-info/RECORD b/venv/lib/python3.8/site-packages/poetry_core-1.0.8.dist-info/RECORD new file mode 100644 index 0000000..de18c21 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry_core-1.0.8.dist-info/RECORD @@ -0,0 +1,379 @@ +poetry/__init__.py,sha256=1nPeTdGETWWRo9fxmQBzerlDN27PVQV-fT1F-DTeG_8,81 +poetry/__pycache__/__init__.cpython-38.pyc,, +poetry/core/__init__.py,sha256=f7f083VayB6K7djHtFlnRW6AncsVcgyBS8Lu48zCUUw,320 +poetry/core/__pycache__/__init__.cpython-38.pyc,, +poetry/core/__pycache__/factory.cpython-38.pyc,, +poetry/core/__pycache__/poetry.cpython-38.pyc,, +poetry/core/_vendor/__pycache__/_pyrsistent_version.cpython-38.pyc,, +poetry/core/_vendor/__pycache__/pyparsing.cpython-38.pyc,, +poetry/core/_vendor/__pycache__/six.cpython-38.pyc,, +poetry/core/_vendor/_pyrsistent_version.py,sha256=Xfo50Pnynw5J3_upH6YJClazONDugWSGtMfYKMzujxM,24 +poetry/core/_vendor/attr/__init__.py,sha256=609hOXv7zvt7OzwJjDGbRUnNLXaZlrB88l94z22e2Gk,1644 +poetry/core/_vendor/attr/__pycache__/__init__.cpython-38.pyc,, +poetry/core/_vendor/attr/__pycache__/_compat.cpython-38.pyc,, +poetry/core/_vendor/attr/__pycache__/_config.cpython-38.pyc,, +poetry/core/_vendor/attr/__pycache__/_funcs.cpython-38.pyc,, +poetry/core/_vendor/attr/__pycache__/_make.cpython-38.pyc,, +poetry/core/_vendor/attr/__pycache__/_next_gen.cpython-38.pyc,, +poetry/core/_vendor/attr/__pycache__/_version_info.cpython-38.pyc,, +poetry/core/_vendor/attr/__pycache__/converters.cpython-38.pyc,, +poetry/core/_vendor/attr/__pycache__/exceptions.cpython-38.pyc,, +poetry/core/_vendor/attr/__pycache__/filters.cpython-38.pyc,, +poetry/core/_vendor/attr/__pycache__/setters.cpython-38.pyc,, +poetry/core/_vendor/attr/__pycache__/validators.cpython-38.pyc,, +poetry/core/_vendor/attr/_compat.py,sha256=SWiS8yrCZLBa0usuAkBsBAyWcxXedAoj5R59XZq5Xkc,7539 +poetry/core/_vendor/attr/_config.py,sha256=wdqei2ZrM1vb0ax7rRC0HYWwUA71ygfJHBX0p2CTqoE,537 +poetry/core/_vendor/attr/_funcs.py,sha256=vFdJ4kuXxgua1o2_2OKVP_Mbmh58GNxVvZyJ1t2mbmU,13471 +poetry/core/_vendor/attr/_make.py,sha256=JgbSey1mpHU5HaB9KZnuztZfd20l303fzhHRECg7xlE,91078 +poetry/core/_vendor/attr/_next_gen.py,sha256=FuIQFYumuhx_Cmf0XVih3Y-pPW2SJs00sfSiJvoWsGs,4298 +poetry/core/_vendor/attr/_version_info.py,sha256=gvC1sZwOTeFMfrtheKkcyewd8QZY2tfoIJ06dA_vQqU,2247 +poetry/core/_vendor/attr/converters.py,sha256=iTSolLMzHn93AyR6S3zj-gUyjh0UDMiITr_UkVksDjg,2299 +poetry/core/_vendor/attr/exceptions.py,sha256=MXnboDdbYzfLfPLU-ue_jXHvorNry70g9deCGeNKZfI,2042 +poetry/core/_vendor/attr/filters.py,sha256=LiqZ8rL99jKXd_SN0ZBGYAeS1jc5JPUGIri8LFiVGlU,1150 +poetry/core/_vendor/attr/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +poetry/core/_vendor/attr/setters.py,sha256=T1EQhhSzP0A9A55zcGunopA3_biW4IcK23YNlAM85Ng,1511 +poetry/core/_vendor/attr/validators.py,sha256=lE4F0PYT8Zy7sV6y5PgquJE8Q9NFEN5Ip1VJZM_bMi8,11876 +poetry/core/_vendor/attrs.LICENSE,sha256=gi12PvCUh7wAIr5JCqPufuj9cZR57gC5hbbaQoywFY4,1103 +poetry/core/_vendor/jsonschema/COPYING,sha256=ZgEMM9oSVsMMQ1n27djDD7zL9BpL9mywxXblxyaXgUI,1076 +poetry/core/_vendor/jsonschema/LICENSE,sha256=IQyPx6-9eC0r1Gr2-cpbSxEJeLNMk-N8ewgM-_OZ3iQ,1076 +poetry/core/_vendor/jsonschema/__init__.py,sha256=q2VxBAJP8mKA-wt0EZRgI50l4v1WOdMYx6tas5KzmA0,824 +poetry/core/_vendor/jsonschema/__main__.py,sha256=NkLrMCS7sTg2RfROf02fXx-t3kYkVfUPdM3PJeWt0o4,41 +poetry/core/_vendor/jsonschema/__pycache__/__init__.cpython-38.pyc,, +poetry/core/_vendor/jsonschema/__pycache__/__main__.cpython-38.pyc,, +poetry/core/_vendor/jsonschema/__pycache__/_format.cpython-38.pyc,, +poetry/core/_vendor/jsonschema/__pycache__/_legacy_validators.cpython-38.pyc,, +poetry/core/_vendor/jsonschema/__pycache__/_reflect.cpython-38.pyc,, +poetry/core/_vendor/jsonschema/__pycache__/_types.cpython-38.pyc,, +poetry/core/_vendor/jsonschema/__pycache__/_utils.cpython-38.pyc,, +poetry/core/_vendor/jsonschema/__pycache__/_validators.cpython-38.pyc,, +poetry/core/_vendor/jsonschema/__pycache__/cli.cpython-38.pyc,, +poetry/core/_vendor/jsonschema/__pycache__/compat.cpython-38.pyc,, +poetry/core/_vendor/jsonschema/__pycache__/exceptions.cpython-38.pyc,, +poetry/core/_vendor/jsonschema/__pycache__/validators.cpython-38.pyc,, +poetry/core/_vendor/jsonschema/_format.py,sha256=W5pi6IAHC6_3FuI5Ap9SS8GBCHiJmNBySVSLUsmmC0k,12116 +poetry/core/_vendor/jsonschema/_legacy_validators.py,sha256=Wn8EZ2AH23mouh8trGgBI8r6JyP3umXSOYGu-4FCxWE,4725 +poetry/core/_vendor/jsonschema/_reflect.py,sha256=pqbdSiUIYMZVhTNlrKF_gqQsZ8TlS7dGSHSdtlm19Gk,5178 +poetry/core/_vendor/jsonschema/_types.py,sha256=X7KqqJalIVs2S1xlVS1y6SlrSGZTjSMXL-_F5BmheW0,4678 +poetry/core/_vendor/jsonschema/_utils.py,sha256=uUYWlMLtWI99gGm0MSfs48snFKM8_x6jIqNX7J1A7z0,5422 +poetry/core/_vendor/jsonschema/_validators.py,sha256=zGrJELiYNYKnEhwsC0tXka75SEIxoc3T3RX4YU5nSc8,12076 +poetry/core/_vendor/jsonschema/benchmarks/__init__.py,sha256=k1-l_eOVNYfjp1RiGnK8sWQHH8tJS8g9pSwz0MDfxXI,75 +poetry/core/_vendor/jsonschema/benchmarks/__pycache__/__init__.cpython-38.pyc,, +poetry/core/_vendor/jsonschema/benchmarks/__pycache__/issue232.cpython-38.pyc,, +poetry/core/_vendor/jsonschema/benchmarks/__pycache__/json_schema_test_suite.cpython-38.pyc,, +poetry/core/_vendor/jsonschema/benchmarks/issue232.py,sha256=FVI6wxguJqn0lXW-t6vlbNhc8EX_ADeLxCdP2JRETd4,567 +poetry/core/_vendor/jsonschema/benchmarks/json_schema_test_suite.py,sha256=G9CxCzEoqMGFYS8yBhY1Wo11y507rvQdgAGNUcag1nw,357 +poetry/core/_vendor/jsonschema/cli.py,sha256=j_rjYh47VE_olPKz7v9q7rqmKQ0FOgSwY44bZxj-WGE,2400 +poetry/core/_vendor/jsonschema/compat.py,sha256=eW3Peaz5LJPdGlyuyruTYI89SdpeKVjZUvT6vJN1RH0,1408 +poetry/core/_vendor/jsonschema/exceptions.py,sha256=keKd_7Uj83QGzvVrQWuOGZxz6Juf4Xx6-1erO6OHWnc,10824 +poetry/core/_vendor/jsonschema/schemas/draft3.json,sha256=cURLqlw5OgQiCTSt217f6CxyUGjcV8sH8hJr56n3Gj8,4763 +poetry/core/_vendor/jsonschema/schemas/draft4.json,sha256=dIlmadHac7ZVa1Wy1sbaJ1rL9ilRq49asEJjpVai_-g,5621 +poetry/core/_vendor/jsonschema/schemas/draft6.json,sha256=n5qau86Qwtuzf2cUeBI_VrMwdQ6wy4PRMFNiFgrXz5Y,4590 +poetry/core/_vendor/jsonschema/schemas/draft7.json,sha256=6oBCqCAWNKqVCBYjKnbVw2vJlc7tCfLE2D-Szuv3Rz0,4985 +poetry/core/_vendor/jsonschema/validators.py,sha256=LYXbJQcdo8YcmaTpq4lFb1BWgV_7Uz4YoLYAEON6KMA,30370 +poetry/core/_vendor/lark-parser.LICENSE,sha256=boOtjg3lFpClPqwC3SthiN_XlJBTvlb7pbZRFA0n7lc,1075 +poetry/core/_vendor/lark/__init__.py,sha256=EXepkFRK7RZcLnlNkI1fHLlTWba4Rw_ytPC8axaVAmM,388 +poetry/core/_vendor/lark/__pycache__/__init__.cpython-38.pyc,, +poetry/core/_vendor/lark/__pycache__/common.cpython-38.pyc,, +poetry/core/_vendor/lark/__pycache__/exceptions.cpython-38.pyc,, +poetry/core/_vendor/lark/__pycache__/grammar.cpython-38.pyc,, +poetry/core/_vendor/lark/__pycache__/indenter.cpython-38.pyc,, +poetry/core/_vendor/lark/__pycache__/lark.cpython-38.pyc,, +poetry/core/_vendor/lark/__pycache__/lexer.cpython-38.pyc,, +poetry/core/_vendor/lark/__pycache__/load_grammar.cpython-38.pyc,, +poetry/core/_vendor/lark/__pycache__/parse_tree_builder.cpython-38.pyc,, +poetry/core/_vendor/lark/__pycache__/parser_frontends.cpython-38.pyc,, +poetry/core/_vendor/lark/__pycache__/reconstruct.cpython-38.pyc,, +poetry/core/_vendor/lark/__pycache__/reconstruct2.cpython-38.pyc,, +poetry/core/_vendor/lark/__pycache__/tree.cpython-38.pyc,, +poetry/core/_vendor/lark/__pycache__/utils.cpython-38.pyc,, +poetry/core/_vendor/lark/__pycache__/visitors.cpython-38.pyc,, +poetry/core/_vendor/lark/__pyinstaller/__init__.py,sha256=k3dTFuM-ePNvbns_QX-HI6glvdf1mRTrO6ChhSxUecE,186 +poetry/core/_vendor/lark/__pyinstaller/__pycache__/__init__.cpython-38.pyc,, +poetry/core/_vendor/lark/__pyinstaller/__pycache__/hook-lark.cpython-38.pyc,, +poetry/core/_vendor/lark/__pyinstaller/hook-lark.py,sha256=RhJHTAnAeNjs9sqTpAQvAxYPhAKJA2NLKD4oh-IvDuc,613 +poetry/core/_vendor/lark/common.py,sha256=k_lhndXTGEP60t0yXVvjPCu0fSd3gmUBTQqFALGkqtA,772 +poetry/core/_vendor/lark/exceptions.py,sha256=BQKc0LEVn2ZjO3cEYYPvHRdAlykMnUI5CsuxPYiJDYA,4399 +poetry/core/_vendor/lark/grammar.py,sha256=GyTL-el9d-UHdrOdZFALf5ApAcul_PLT-AtJxyP3HWI,3026 +poetry/core/_vendor/lark/grammars/common.lark,sha256=Z_KlaqEgDOtYST7hHVFPD987Ku8y5ClTNxhISNv0o1A,783 +poetry/core/_vendor/lark/indenter.py,sha256=qqLmB7nB3rehbTDelYP9nc5UwQDmxmHtRwJd6ZGJca8,1945 +poetry/core/_vendor/lark/lark.py,sha256=lHl5Rx7HwHtUhlSQ91qUNdNwwBxdvQk8n3uKoOycRF8,16276 +poetry/core/_vendor/lark/lexer.py,sha256=zL2ApxPeRPVy9rs0vJ0tNoxYJLdY7hfevhMEI3SGmyo,14138 +poetry/core/_vendor/lark/load_grammar.py,sha256=R3DxeDswhMn9TdM50MjFH7Bh0kZGos6koMD72ZCTbjs,36293 +poetry/core/_vendor/lark/parse_tree_builder.py,sha256=9ucotP25JpLeMLB7Dl-_liEddibr_3TSiiu9qJEMqQo,11056 +poetry/core/_vendor/lark/parser_frontends.py,sha256=C4FBrdzZPsZYq8so49JnM0hx-5SsZVTNoms1GQ1rtLA,8658 +poetry/core/_vendor/lark/parsers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +poetry/core/_vendor/lark/parsers/__pycache__/__init__.cpython-38.pyc,, +poetry/core/_vendor/lark/parsers/__pycache__/cyk.cpython-38.pyc,, +poetry/core/_vendor/lark/parsers/__pycache__/earley.cpython-38.pyc,, +poetry/core/_vendor/lark/parsers/__pycache__/earley_common.cpython-38.pyc,, +poetry/core/_vendor/lark/parsers/__pycache__/earley_forest.cpython-38.pyc,, +poetry/core/_vendor/lark/parsers/__pycache__/grammar_analysis.cpython-38.pyc,, +poetry/core/_vendor/lark/parsers/__pycache__/lalr_analysis.cpython-38.pyc,, +poetry/core/_vendor/lark/parsers/__pycache__/lalr_parser.cpython-38.pyc,, +poetry/core/_vendor/lark/parsers/__pycache__/lalr_puppet.cpython-38.pyc,, +poetry/core/_vendor/lark/parsers/__pycache__/xearley.cpython-38.pyc,, +poetry/core/_vendor/lark/parsers/cyk.py,sha256=0l0gN04gkZO-iGeLlTt2ORKK_oM4bNWthm1Ul9oRSPI,12636 +poetry/core/_vendor/lark/parsers/earley.py,sha256=28gnYt3WG-RIeoY33J-UHf4px0yrNhhMjspJHHgCKUg,15181 +poetry/core/_vendor/lark/parsers/earley_common.py,sha256=GZW0ecMjBxuXypWV5QBGYx9hQW1UECo0Rn09c7VHN9c,3346 +poetry/core/_vendor/lark/parsers/earley_forest.py,sha256=j9Z0eD7lx9xgcNZ_iOq1zV2uIX_exlVrjZejvRBh5UE,18020 +poetry/core/_vendor/lark/parsers/grammar_analysis.py,sha256=n4f1oderDat-DoRWVpBlL1H0KOxWIEO-shfND3twSXY,6653 +poetry/core/_vendor/lark/parsers/lalr_analysis.py,sha256=ShQ6ic4UV4Es-KneJA98q2CcQBJ4xvyclZnDwN5OHW8,10185 +poetry/core/_vendor/lark/parsers/lalr_parser.py,sha256=i5QTAps0U5Fa6uS_U3OI8Y-XaSle8rMMM8PePLSBXwg,4065 +poetry/core/_vendor/lark/parsers/lalr_puppet.py,sha256=Ouwn-bP6pDiU6jpl1froJJ1onYFkfYFcat3ZSrKAjec,2563 +poetry/core/_vendor/lark/parsers/xearley.py,sha256=1rzgEOwGto6fzm8PNxiUf5-76JFzGVlRncooTwfCR_A,7031 +poetry/core/_vendor/lark/reconstruct.py,sha256=MKkBFIf9aVbWMZNvLNGxoHX5ian57xLwhOvbKPIC96M,5819 +poetry/core/_vendor/lark/reconstruct2.py,sha256=vteYnWo6ngvIQMeTGJjQCaTK3wbu2q67Rfuc0-rmBLo,5728 +poetry/core/_vendor/lark/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +poetry/core/_vendor/lark/tools/__pycache__/__init__.cpython-38.pyc,, +poetry/core/_vendor/lark/tools/__pycache__/nearley.cpython-38.pyc,, +poetry/core/_vendor/lark/tools/__pycache__/serialize.cpython-38.pyc,, +poetry/core/_vendor/lark/tools/__pycache__/standalone.cpython-38.pyc,, +poetry/core/_vendor/lark/tools/nearley.py,sha256=hyDRwe2gA8OsSaZESh50C9t7FY7G3ynC_l4VYaPZJp0,5793 +poetry/core/_vendor/lark/tools/serialize.py,sha256=qPuHmc6r-wHMDbcMQq1nZsUr1CQslijV8tanPQ1RYCg,1621 +poetry/core/_vendor/lark/tools/standalone.py,sha256=ZUiNRxsxIzeQ7V6beuMbbdZ7DqKROypO1xvxIyzJfpo,3340 +poetry/core/_vendor/lark/tree.py,sha256=5dXyE8ptMcq7_rlDTNsNO_Zyk6tOrBKsi29ZZcxr890,5192 +poetry/core/_vendor/lark/utils.py,sha256=Qt1uqtsA8nXJ7LBrfGBnTs5JsPySmD28MNP1Tfx41K4,8426 +poetry/core/_vendor/lark/visitors.py,sha256=ttkPoSEMavzICw98nKxE24-kR1KvgL1pvBf3XOcJVTo,12263 +poetry/core/_vendor/packaging/LICENSE,sha256=jvgeTIg8XMsqCAJsx0ujGTJ53VFJs2g52XbAqJZjfYc,200 +poetry/core/_vendor/packaging/LICENSE.APACHE,sha256=6z17VIVGasvYHytJb1latjfSeS4mggayfZnnk722dUk,10351 +poetry/core/_vendor/packaging/LICENSE.BSD,sha256=Z9rxW0eNvZG82Dv_kH7_9oRx1C0hOCJrifA51ljVNDU,1367 +poetry/core/_vendor/packaging/__about__.py,sha256=h9QOAlgXk51CVUXfD2djDO8X7z2DKjnIxkEcmCHalTc,753 +poetry/core/_vendor/packaging/__init__.py,sha256=UcApkMPyWGcIGgYWGi5lL5uzPYpelyaOPRXhgdUhCiw,588 +poetry/core/_vendor/packaging/__pycache__/__about__.cpython-38.pyc,, +poetry/core/_vendor/packaging/__pycache__/__init__.cpython-38.pyc,, +poetry/core/_vendor/packaging/__pycache__/_compat.cpython-38.pyc,, +poetry/core/_vendor/packaging/__pycache__/_structures.cpython-38.pyc,, +poetry/core/_vendor/packaging/__pycache__/_typing.cpython-38.pyc,, +poetry/core/_vendor/packaging/__pycache__/markers.cpython-38.pyc,, +poetry/core/_vendor/packaging/__pycache__/requirements.cpython-38.pyc,, +poetry/core/_vendor/packaging/__pycache__/specifiers.cpython-38.pyc,, +poetry/core/_vendor/packaging/__pycache__/tags.cpython-38.pyc,, +poetry/core/_vendor/packaging/__pycache__/utils.cpython-38.pyc,, +poetry/core/_vendor/packaging/__pycache__/version.cpython-38.pyc,, +poetry/core/_vendor/packaging/_compat.py,sha256=wtTUbVAZPwwTy4_8aQjCedCpQVcy-CTvCZv1Ri3IvhY,1166 +poetry/core/_vendor/packaging/_structures.py,sha256=0DUfMS4mYkvzf_89F1f5SRSbYtcxdikc3TvzgCnxeo0,2108 +poetry/core/_vendor/packaging/_typing.py,sha256=mVKGNW_x0Ezr-xnw4JB11P7XwWESXWFHQJ-zZ1zwzE0,1860 +poetry/core/_vendor/packaging/markers.py,sha256=UJ9s7ENDFu31h9j65308RxG6shtYTpUkZz5MTbGN9xw,9796 +poetry/core/_vendor/packaging/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +poetry/core/_vendor/packaging/requirements.py,sha256=mCa4Byuk0f4BJd0CgZpN5oepFPW_5AHxXWVATdWBDuw,5258 +poetry/core/_vendor/packaging/specifiers.py,sha256=BCbv9EegYKBiwB5qOLkAVK6sAVCrHdGIeVfzzGznn4c,33072 +poetry/core/_vendor/packaging/tags.py,sha256=aOIFGI46FLvkJpDwy858fFdrHbydPRu1caLTkI8UTOo,30427 +poetry/core/_vendor/packaging/utils.py,sha256=QSspLOaGAUqVnR8c1dHpIHIOQwJHydchP7HnnzMCHSY,4523 +poetry/core/_vendor/packaging/version.py,sha256=QmDlgceXJ0sPNCc2Oe4yda6lShIItK7C1nZVmd-Sq5g,16530 +poetry/core/_vendor/pyparsing.LICENSE,sha256=081Pq74Spe1XdwrGkewNKSqa078kLIh7UWI-wVjdj8I,1041 +poetry/core/_vendor/pyparsing.py,sha256=uKhw3C8CjDcmF3oJNh6A_lYYU9fzYav0oTalvkGX8VE,280472 +poetry/core/_vendor/pyrsistent/LICENSE.mit,sha256=m6Qv52pkzHVTSKzdNoBfMozsfbg1DLFX0hgO_c7JMYs,1081 +poetry/core/_vendor/pyrsistent/__init__.py,sha256=Lequ9W2Fkx1_GOXH3JZzvI9SCWf_OV9b6PJBdEGMz4c,1526 +poetry/core/_vendor/pyrsistent/__pycache__/__init__.cpython-38.pyc,, +poetry/core/_vendor/pyrsistent/__pycache__/_checked_types.cpython-38.pyc,, +poetry/core/_vendor/pyrsistent/__pycache__/_compat.cpython-38.pyc,, +poetry/core/_vendor/pyrsistent/__pycache__/_field_common.cpython-38.pyc,, +poetry/core/_vendor/pyrsistent/__pycache__/_helpers.cpython-38.pyc,, +poetry/core/_vendor/pyrsistent/__pycache__/_immutable.cpython-38.pyc,, +poetry/core/_vendor/pyrsistent/__pycache__/_pbag.cpython-38.pyc,, +poetry/core/_vendor/pyrsistent/__pycache__/_pclass.cpython-38.pyc,, +poetry/core/_vendor/pyrsistent/__pycache__/_pdeque.cpython-38.pyc,, +poetry/core/_vendor/pyrsistent/__pycache__/_plist.cpython-38.pyc,, +poetry/core/_vendor/pyrsistent/__pycache__/_pmap.cpython-38.pyc,, +poetry/core/_vendor/pyrsistent/__pycache__/_precord.cpython-38.pyc,, +poetry/core/_vendor/pyrsistent/__pycache__/_pset.cpython-38.pyc,, +poetry/core/_vendor/pyrsistent/__pycache__/_pvector.cpython-38.pyc,, +poetry/core/_vendor/pyrsistent/__pycache__/_toolz.cpython-38.pyc,, +poetry/core/_vendor/pyrsistent/__pycache__/_transformations.cpython-38.pyc,, +poetry/core/_vendor/pyrsistent/__pycache__/typing.cpython-38.pyc,, +poetry/core/_vendor/pyrsistent/_checked_types.py,sha256=5kjA7z1jb2QyGAAyDXiGfbPSNkuYgj2k6bUQM-yKBTk,18902 +poetry/core/_vendor/pyrsistent/_compat.py,sha256=93lFJrWQNRu4-gf3CGgtnYlkvE0zIsOU5EL5oegbLKw,552 +poetry/core/_vendor/pyrsistent/_field_common.py,sha256=7MRORIQtu4rWl8gz8Q7dyFDv4NdUkgZJN-cNnuYM8EE,11884 +poetry/core/_vendor/pyrsistent/_helpers.py,sha256=cF0X9NJzGk-C_JaqnnrK4bVf5O0P4CMYIIbxzJaX3Yg,2552 +poetry/core/_vendor/pyrsistent/_immutable.py,sha256=x-jNxFZaS1thH8BXdE1E54CtDHjmG0pZn5FTDh5cE2c,3663 +poetry/core/_vendor/pyrsistent/_pbag.py,sha256=M4VnRyzlhSqWNrzaiV5bplRCx5CXgCwKNfnyufMzI_U,7021 +poetry/core/_vendor/pyrsistent/_pclass.py,sha256=XSyO19Q2QO03e5ioh6qujqeEsnyBL0pa-fwLnofJOok,9986 +poetry/core/_vendor/pyrsistent/_pdeque.py,sha256=xz3Z2FhmvW2kT74FvTgLHgz2xSzev-Q_LpdKwzYyg4A,12560 +poetry/core/_vendor/pyrsistent/_plist.py,sha256=oX_NMsyW1Kf0_T4dJYzUT7dZFi0DymkRiRyAHCwbo7I,8595 +poetry/core/_vendor/pyrsistent/_pmap.py,sha256=HTKTtXUH7lqgooNMJ5dr6lvg2Vuu_lOTbe2whUIdfwY,15103 +poetry/core/_vendor/pyrsistent/_precord.py,sha256=-NCeC_dIuCipRwtyFFvRPORzBr4CDN1aYdcXWZekucQ,7188 +poetry/core/_vendor/pyrsistent/_pset.py,sha256=fs6Fw3he0GlGRLhvmp00cXVIrAe390YaZpWSw-_iSIg,5947 +poetry/core/_vendor/pyrsistent/_pvector.py,sha256=gbnbqFvrk0kp2n_HF_lNERZebTfBsuxIbHw-vY_xIO4,23428 +poetry/core/_vendor/pyrsistent/_toolz.py,sha256=27ffken69xMkDi6G_zqZLW4AiqtdLCceLsIjRARpShs,3509 +poetry/core/_vendor/pyrsistent/_transformations.py,sha256=2ADzblUFceFD6Fhnnj3MEoRzsgxvw63QWeS-qoxLMCA,4053 +poetry/core/_vendor/pyrsistent/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +poetry/core/_vendor/pyrsistent/typing.py,sha256=iOV_mre21lx8Tv65MEsXvzJCAtVqYCtxlPlLceX25_g,1847 +poetry/core/_vendor/six.LICENSE,sha256=9VBwpZZKRaIgCkPtFUOi-A3_nTuTZL7cFREZi_Mlbl0,1084 +poetry/core/_vendor/six.py,sha256=PB_L4p2xXUH81qAYSIWp7iQRf-RU858yzM8bUfpyYBY,35141 +poetry/core/_vendor/tomlkit/LICENSE,sha256=ftcmgViBziNgu-kCS5_RVBzu--m4TWe_RzkhgfS2yiQ,1082 +poetry/core/_vendor/tomlkit/__init__.py,sha256=CK3UAg4X-7w7CwGitcFC6LyvHBAKqdlmAogSxXSiZ_0,567 +poetry/core/_vendor/tomlkit/__pycache__/__init__.cpython-38.pyc,, +poetry/core/_vendor/tomlkit/__pycache__/_compat.cpython-38.pyc,, +poetry/core/_vendor/tomlkit/__pycache__/_utils.cpython-38.pyc,, +poetry/core/_vendor/tomlkit/__pycache__/api.cpython-38.pyc,, +poetry/core/_vendor/tomlkit/__pycache__/container.cpython-38.pyc,, +poetry/core/_vendor/tomlkit/__pycache__/exceptions.cpython-38.pyc,, +poetry/core/_vendor/tomlkit/__pycache__/items.cpython-38.pyc,, +poetry/core/_vendor/tomlkit/__pycache__/parser.cpython-38.pyc,, +poetry/core/_vendor/tomlkit/__pycache__/source.cpython-38.pyc,, +poetry/core/_vendor/tomlkit/__pycache__/toml_char.cpython-38.pyc,, +poetry/core/_vendor/tomlkit/__pycache__/toml_document.cpython-38.pyc,, +poetry/core/_vendor/tomlkit/__pycache__/toml_file.cpython-38.pyc,, +poetry/core/_vendor/tomlkit/_compat.py,sha256=4HWYvpyvzVJgVYhCwbBGTaM4Y797H7wExq1njoFlFQM,5612 +poetry/core/_vendor/tomlkit/_utils.py,sha256=FRCOhWEcCGE7dZEU0Y5okwqWJvWNzL0OrLcMqFgA5Z4,3780 +poetry/core/_vendor/tomlkit/api.py,sha256=PGeSwYsP-1WT_5csCbtBEguMI-PRkvL_Z1dI7-MChDI,3264 +poetry/core/_vendor/tomlkit/container.py,sha256=Az6lztzennp7yBKsoHDb6En-F9AaLTO2K7iyFxrlugk,25814 +poetry/core/_vendor/tomlkit/exceptions.py,sha256=5_cnsJYj-97M5zGUrAHZf9lKeVDP9w4kN3Hi9Liijck,5940 +poetry/core/_vendor/tomlkit/items.py,sha256=QzoLHuer8Fz6m9lJ26mteb5gAoGoTZHso3W4BwxywEY,35192 +poetry/core/_vendor/tomlkit/parser.py,sha256=kdlatjlFhVXSlSHGn26GZp_Z8cWP1U2prY7Y961aSdQ,43374 +poetry/core/_vendor/tomlkit/source.py,sha256=myH5lTNXw7HX53BbSJg-22i5Wh-51zz2X2ngEfltQ68,5638 +poetry/core/_vendor/tomlkit/toml_char.py,sha256=MvT9OJ6ZXugXcT-qzfLllRudFLnVy07UyRAc82NYPEQ,1767 +poetry/core/_vendor/tomlkit/toml_document.py,sha256=fYD6RzoMQZ9Of5ykhYczhcrw-JZ8X7OOQ6m_xDMUG3E,110 +poetry/core/_vendor/tomlkit/toml_file.py,sha256=ebxo7jhsco7nz7ZXAl8VZQ68xk9RAnWtzNpLsyH6gXk,597 +poetry/core/_vendor/vendor.txt,sha256=2Cvp0-thC3GDIW_N0FUpUwpdsiZW1QKsvk6sVqKEBCA,744 +poetry/core/exceptions/__init__.py,sha256=S2FvorqLtjHIPN_DeMr9YAIZsYdqHYfGMMpy_DU2PJA,128 +poetry/core/exceptions/__pycache__/__init__.cpython-38.pyc,, +poetry/core/exceptions/__pycache__/base.cpython-38.pyc,, +poetry/core/exceptions/base.py,sha256=ae-jb1Daf3zvoNsHDHCA_RhmUnEXsZ0hPUG9VX35oR0,49 +poetry/core/factory.py,sha256=UQEGHKlxchIe2PRMaIAQw1a_rDOmPUaDoHLglK97uOQ,13748 +poetry/core/json/__init__.py,sha256=z1GHCBhZElrGHWat-x01ey7JHllJriScvduLe-L-oRU,1007 +poetry/core/json/__pycache__/__init__.cpython-38.pyc,, +poetry/core/json/schemas/poetry-schema.json,sha256=aPBREH9Y8GfZQ8YuGSOnH1cSSqv6QVa8_qNI0ttDhGA,21567 +poetry/core/masonry/__init__.py,sha256=LAFeDcgIUGQmsfUcKG6hU-H9F-IP-o-8eFyFez7hV4c,295 +poetry/core/masonry/__pycache__/__init__.cpython-38.pyc,, +poetry/core/masonry/__pycache__/api.cpython-38.pyc,, +poetry/core/masonry/__pycache__/builder.cpython-38.pyc,, +poetry/core/masonry/__pycache__/metadata.cpython-38.pyc,, +poetry/core/masonry/api.py,sha256=pH2-ZvD5egSMzu1PWckC22R6oqK-5usd_o-jW_T65_k,3052 +poetry/core/masonry/builder.py,sha256=CTrrOuGMcNzln6d3iC8ZVnA0LFfbcc_wOM6FQ45H5p8,946 +poetry/core/masonry/builders/__init__.py,sha256=8fRDs4i1AW8o4ClXIeMvHS8bH6rLoJO-0ZY_3XtTeWM,66 +poetry/core/masonry/builders/__pycache__/__init__.cpython-38.pyc,, +poetry/core/masonry/builders/__pycache__/builder.cpython-38.pyc,, +poetry/core/masonry/builders/__pycache__/sdist.cpython-38.pyc,, +poetry/core/masonry/builders/__pycache__/wheel.cpython-38.pyc,, +poetry/core/masonry/builders/builder.py,sha256=Dx30on6cIf6no2pC_3VTzwLsGqNxwZIrj7jFU8HK57A,12477 +poetry/core/masonry/builders/sdist.py,sha256=GRojCNYlzrmr2n1BFfZNnEywEJnG5H0-eaDGyB41eRE,14835 +poetry/core/masonry/builders/wheel.py,sha256=JvYYLcMkj-kcTkLRzEyfOFMuzM2wFWlyjkHUQucCRAo,13748 +poetry/core/masonry/metadata.py,sha256=l2ZScimLZkY_BTsZiSi6QzhgyKDX8hG2CukQLaWP1gY,2866 +poetry/core/masonry/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +poetry/core/masonry/utils/__pycache__/__init__.cpython-38.pyc,, +poetry/core/masonry/utils/__pycache__/helpers.cpython-38.pyc,, +poetry/core/masonry/utils/__pycache__/include.cpython-38.pyc,, +poetry/core/masonry/utils/__pycache__/module.cpython-38.pyc,, +poetry/core/masonry/utils/__pycache__/package_include.cpython-38.pyc,, +poetry/core/masonry/utils/helpers.py,sha256=ORjyaOcZFBLjreTzpf4II0Q9XqnrKOS8UQhIqca7Ffk,1151 +poetry/core/masonry/utils/include.py,sha256=FGpFlZYTqrfQZ0qesk5HusyLfqqM73WDuM24t16WeuY,1252 +poetry/core/masonry/utils/module.py,sha256=UtVnlE3cZJFDWDPCF_29ynFSUx8fUuMAQC2cNT4gixA,3734 +poetry/core/masonry/utils/package_include.py,sha256=ag-l-IrvkKIoTh3et4JMrfY65sqsQGVC15OLHVEFtnI,2959 +poetry/core/packages/__init__.py,sha256=yzdJyM-5bM4cWEvYfHtjJJQMCFCDCCiXvR2B87lwC4U,6843 +poetry/core/packages/__pycache__/__init__.cpython-38.pyc,, +poetry/core/packages/__pycache__/dependency.cpython-38.pyc,, +poetry/core/packages/__pycache__/directory_dependency.cpython-38.pyc,, +poetry/core/packages/__pycache__/file_dependency.cpython-38.pyc,, +poetry/core/packages/__pycache__/package.cpython-38.pyc,, +poetry/core/packages/__pycache__/project_package.cpython-38.pyc,, +poetry/core/packages/__pycache__/specification.cpython-38.pyc,, +poetry/core/packages/__pycache__/url_dependency.cpython-38.pyc,, +poetry/core/packages/__pycache__/vcs_dependency.cpython-38.pyc,, +poetry/core/packages/constraints/__init__.py,sha256=IMHuc1sCMg7U35AcJnIK5HZgpvVUCyU7BcQM2-kjEIs,2042 +poetry/core/packages/constraints/__pycache__/__init__.cpython-38.pyc,, +poetry/core/packages/constraints/__pycache__/any_constraint.cpython-38.pyc,, +poetry/core/packages/constraints/__pycache__/base_constraint.cpython-38.pyc,, +poetry/core/packages/constraints/__pycache__/constraint.cpython-38.pyc,, +poetry/core/packages/constraints/__pycache__/empty_constraint.cpython-38.pyc,, +poetry/core/packages/constraints/__pycache__/multi_constraint.cpython-38.pyc,, +poetry/core/packages/constraints/__pycache__/union_constraint.cpython-38.pyc,, +poetry/core/packages/constraints/any_constraint.py,sha256=fadtgNFUijapAz2REpwvAzYNgKQOhcC5nHxS07ZEmPw,1204 +poetry/core/packages/constraints/base_constraint.py,sha256=7dWNJ4_OfU0vzuMzyQMPFhzaU9Z-QYO4wIMHzU8o5fo,1177 +poetry/core/packages/constraints/constraint.py,sha256=EBUfOfzlWuedWTdLxl7GKo7I1yhGuBscbywDjlz6AtE,3945 +poetry/core/packages/constraints/empty_constraint.py,sha256=mArDSiTzFyLpzs-T1s1QOfFSBt37SwLwnG-HPwJpWKM,1015 +poetry/core/packages/constraints/multi_constraint.py,sha256=LlBVTlh0PI0iTrBCgFjltgVyP78QUwH-HyIiQIEplEE,3165 +poetry/core/packages/constraints/union_constraint.py,sha256=paEQBuq5VST2Z8qlE2KgnFd_1fbUWYDlOQA0dFwKMi8,3926 +poetry/core/packages/dependency.py,sha256=LcsR70N7CQ92tUdaZSegdDWF9fqqBfHnevbwxTUxCw0,14309 +poetry/core/packages/directory_dependency.py,sha256=VWzCCQEiKWYv0DMMfxXAM0VldYYnlufKwWRJCpZiVeI,4098 +poetry/core/packages/file_dependency.py,sha256=6l5yxzG0GxCEBxERvxMt2NOj0LuHekRO1k8To-qhPSw,3616 +poetry/core/packages/package.py,sha256=fwYbagUIWKNw4jekMTIybiqsU3r-r_CWOpk_mfe5Egg,13993 +poetry/core/packages/project_package.py,sha256=pUKRiKO3_Z9yJvw2yR5tq8sSSBL7fugOlijNyv696sA,2425 +poetry/core/packages/specification.py,sha256=88jZHzd2Rcu3bocwcf7mCz0j76yDyCLpt4Z-Ed965Y8,3902 +poetry/core/packages/url_dependency.py,sha256=f3t1ZkkV87lq3uS1NwmjgWP2wfGAwsLEB3rmnQ7_lvY,2373 +poetry/core/packages/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +poetry/core/packages/utils/__pycache__/__init__.cpython-38.pyc,, +poetry/core/packages/utils/__pycache__/link.cpython-38.pyc,, +poetry/core/packages/utils/__pycache__/utils.cpython-38.pyc,, +poetry/core/packages/utils/link.py,sha256=jGxpBNY2WvCpCdR1nubKS5SlvzERd0LC9zw_gyWKIWo,5865 +poetry/core/packages/utils/utils.py,sha256=DB--gcXxmFwSKoobCd4DCC6cd6mT-oCdxYVcbMGpE3o,11237 +poetry/core/packages/vcs_dependency.py,sha256=6_4KPDInzV3qCgJKiO_v_ZuB71hGaRmATx05W6-O-m4,4757 +poetry/core/poetry.py,sha256=uVAHhPD-_Ty3vjwhMd0kE_8ccFJBdaBXEqhWk6L_UOA,1245 +poetry/core/pyproject/__init__.py,sha256=_3vb546I3l8OXmFQftpard5OiGxBu-DrwO1e0fYGWvc,267 +poetry/core/pyproject/__pycache__/__init__.cpython-38.pyc,, +poetry/core/pyproject/__pycache__/exceptions.cpython-38.pyc,, +poetry/core/pyproject/__pycache__/tables.cpython-38.pyc,, +poetry/core/pyproject/__pycache__/toml.cpython-38.pyc,, +poetry/core/pyproject/exceptions.py,sha256=nkg4xvYIJ77azARB9ZVcekD8-hrDQ5so_aoXc96x8ks,118 +poetry/core/pyproject/tables.py,sha256=JhTcahEGYzrHa5Bbja5NPA8Co1ybHMFD_UNfslI0EEI,2420 +poetry/core/pyproject/toml.py,sha256=uDwl2imoQ771PSZF_LIvp8tq5Qw7fVQI_qbRB4zu_fU,3131 +poetry/core/semver/__init__.py,sha256=_fNrB0gN1NbVL3j7cZByd8WJIQnPFwryhL1I6Nbvy6o,4573 +poetry/core/semver/__pycache__/__init__.cpython-38.pyc,, +poetry/core/semver/__pycache__/empty_constraint.cpython-38.pyc,, +poetry/core/semver/__pycache__/exceptions.cpython-38.pyc,, +poetry/core/semver/__pycache__/patterns.cpython-38.pyc,, +poetry/core/semver/__pycache__/version.cpython-38.pyc,, +poetry/core/semver/__pycache__/version_constraint.cpython-38.pyc,, +poetry/core/semver/__pycache__/version_range.cpython-38.pyc,, +poetry/core/semver/__pycache__/version_union.cpython-38.pyc,, +poetry/core/semver/empty_constraint.py,sha256=8o_yOAiQ8sHyz9LV4eYquc6hOBOnrZ8YvOjXANoxYmg,1023 +poetry/core/semver/exceptions.py,sha256=aBfIBaAFSSHb027yqLN0Ra2Viu4988m9P92B8jIYct4,103 +poetry/core/semver/patterns.py,sha256=3ZmbLcwQ5H8vVuK5TJ-p68dhKo9zkCfS5YrTeygUMBg,784 +poetry/core/semver/version.py,sha256=2c1m0apjjKmCEsn1GXKfBASPtWRU2UIq8E9Rv0dbnkI,13406 +poetry/core/semver/version_constraint.py,sha256=sOojjpOwQIawmUXrwBN5Q8HZTo_u2xs-NF546kuf0iU,986 +poetry/core/semver/version_range.py,sha256=GjlKgXWj50QKmXLA8BoUiDhxGCMP4mLA8-p0jYBJvqI,14746 +poetry/core/semver/version_union.py,sha256=jRd4HGTEMTZAJtAuf2Jtn6Te_eCTryWw9WV3T2I--Ic,8809 +poetry/core/spdx/__init__.py,sha256=9yK6lzBGPN8YFDi7wKFeJHSeV6aZkoCbQZu4yNFS3Ws,1506 +poetry/core/spdx/__pycache__/__init__.cpython-38.pyc,, +poetry/core/spdx/__pycache__/license.cpython-38.pyc,, +poetry/core/spdx/__pycache__/updater.cpython-38.pyc,, +poetry/core/spdx/data/licenses.json,sha256=kyc1BIiJnPzTkFjhKEWYbQT2vOtCLaZuv9HJpB1QeQA,32009 +poetry/core/spdx/license.py,sha256=75zC9U6CG1bgF5qW9wOBwx4F2pnBKKI_kUvA61s9kd8,5739 +poetry/core/spdx/updater.py,sha256=pVnHIbxQbSnomCO4zPoB8Vc1xyMTa8KRCQg-DLao9oc,1282 +poetry/core/toml/__init__.py,sha256=896FfcoeCWpD4A5v8cqQDdocqRyMXDodZ5jkZqkXOgA,162 +poetry/core/toml/__pycache__/__init__.cpython-38.pyc,, +poetry/core/toml/__pycache__/exceptions.cpython-38.pyc,, +poetry/core/toml/__pycache__/file.cpython-38.pyc,, +poetry/core/toml/exceptions.py,sha256=onXsw2Lks_Iggm3wpKT2PmUEDDfHg3rS9ikkd771ZG8,170 +poetry/core/toml/file.py,sha256=C1t58FWRralPl8J3FRbclyICz3k5rMiosL0CSPbwy_M,1216 +poetry/core/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +poetry/core/utils/__pycache__/__init__.cpython-38.pyc,, +poetry/core/utils/__pycache__/_compat.cpython-38.pyc,, +poetry/core/utils/__pycache__/helpers.cpython-38.pyc,, +poetry/core/utils/__pycache__/patterns.cpython-38.pyc,, +poetry/core/utils/__pycache__/toml_file.cpython-38.pyc,, +poetry/core/utils/_compat.py,sha256=HZjW7nup-NYXP68DOwWv9AANlVjCDVP6vtFA3YYzLTA,2823 +poetry/core/utils/helpers.py,sha256=6rMUXG8tRQ1FHH5ck1v5le283Z7OdSum_bPqJgR7rnY,2680 +poetry/core/utils/patterns.py,sha256=U8aGUTduZFtH8YnZmtNPML5SpWGxGVlsTx8z9555E4U,225 +poetry/core/utils/toml_file.py,sha256=MjNBTqYsv_85GvOwG5-LrAodDsOJdNHA0MKvCmNnsGU,574 +poetry/core/vcs/__init__.py,sha256=rx84c1Ap17Ap7fmJxkfK-qp2Qtrm3p_532ayqHM3J60,702 +poetry/core/vcs/__pycache__/__init__.cpython-38.pyc,, +poetry/core/vcs/__pycache__/git.cpython-38.pyc,, +poetry/core/vcs/git.py,sha256=sG0SpdI2YwJgy2S8mbjHjzcACQNpKtwnl1eF3aRBOIo,11119 +poetry/core/version/__init__.py,sha256=k0pAQrh2rWzo4HSOvOKzQ3vQURRHajIx-4n8MHq9ZNk,989 +poetry/core/version/__pycache__/__init__.cpython-38.pyc,, +poetry/core/version/__pycache__/base.cpython-38.pyc,, +poetry/core/version/__pycache__/exceptions.cpython-38.pyc,, +poetry/core/version/__pycache__/helpers.cpython-38.pyc,, +poetry/core/version/__pycache__/legacy_version.cpython-38.pyc,, +poetry/core/version/__pycache__/markers.cpython-38.pyc,, +poetry/core/version/__pycache__/requirements.cpython-38.pyc,, +poetry/core/version/__pycache__/utils.cpython-38.pyc,, +poetry/core/version/__pycache__/version.cpython-38.pyc,, +poetry/core/version/base.py,sha256=WYt5IxyhxC3G4rgdsdo13R1WAy6vFtux1hcoz5N5C_A,1190 +poetry/core/version/exceptions.py,sha256=arBu_XdYD34NpJZ7Pwjj0hIyMXAseK450cmbfsZ_lgo,47 +poetry/core/version/grammars/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +poetry/core/version/grammars/__pycache__/__init__.cpython-38.pyc,, +poetry/core/version/grammars/markers.lark,sha256=rHgVAmREiF7QDdILM7LIwFNgENEDr_ncSAnNigYHla0,1030 +poetry/core/version/grammars/pep508.lark,sha256=RgJUx0Vl7WQqa2iTnooEUxmgmpAfpeIn3JhVubiH18k,1427 +poetry/core/version/helpers.py,sha256=ErxityrPt72oCUk8wjnX7DcDdOwZh6cKoCr--52wcGU,1694 +poetry/core/version/legacy_version.py,sha256=Gmh1uDD4I8FVpGt7amDoRGC8DLDxoWNlN3Fbs3fgj-k,2594 +poetry/core/version/markers.py,sha256=e0xKNTqXG2e5BVNeCa0LrE4oA_xzTEbmcbXYijmS1DM,23648 +poetry/core/version/requirements.py,sha256=0hHd44hBObF7CginuaBHFQvXNaWcLpR7JFHWkLHdn0M,3948 +poetry/core/version/utils.py,sha256=KpchRYZnFChn05L2TxuQZFleNxTmCRNRosKjanmSxfE,1699 +poetry/core/version/version.py,sha256=uG5yPD6Gogu_42GeML-gqTMZiujEsa-U84HibNHTa6I,8586 +poetry_core-1.0.8.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +poetry_core-1.0.8.dist-info/LICENSE,sha256=UUyM2qFvZkZ5gJcstMH1vOg7jrdWHjE7XnMHTa64Sp4,1082 +poetry_core-1.0.8.dist-info/METADATA,sha256=KeUBqpTkrWR-fotfknLnzpXLzuVgWTyHi5Rza7qOHTI,4107 +poetry_core-1.0.8.dist-info/RECORD,, +poetry_core-1.0.8.dist-info/WHEEL,sha256=Fs47bPI6GdEUUVU2cC1ZH87S4TSequgq1XeoqimcqIE,87 diff --git a/venv/lib/python3.8/site-packages/poetry_core-1.0.8.dist-info/WHEEL b/venv/lib/python3.8/site-packages/poetry_core-1.0.8.dist-info/WHEEL new file mode 120000 index 0000000..0c25c90 --- /dev/null +++ b/venv/lib/python3.8/site-packages/poetry_core-1.0.8.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/16/ce/3b/6cf23a19d114515536702d591fced2e1349eaae82ad577a8aa299ca881 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/ptyprocess-0.7.0.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/ptyprocess-0.7.0.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/ptyprocess-0.7.0.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/ptyprocess-0.7.0.dist-info/LICENSE b/venv/lib/python3.8/site-packages/ptyprocess-0.7.0.dist-info/LICENSE new file mode 120000 index 0000000..15b4694 --- /dev/null +++ b/venv/lib/python3.8/site-packages/ptyprocess-0.7.0.dist-info/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c8/22/d3/85b1a73329846241799becf18690b5d44764c1bed69300b536a405030a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/ptyprocess-0.7.0.dist-info/METADATA b/venv/lib/python3.8/site-packages/ptyprocess-0.7.0.dist-info/METADATA new file mode 120000 index 0000000..c02a75c --- /dev/null +++ b/venv/lib/python3.8/site-packages/ptyprocess-0.7.0.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c3/c2/b9/6b5d9a55da5958c34d08c18a0849f56609026cc46d5c95b8b77fcf3e0c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/ptyprocess-0.7.0.dist-info/RECORD b/venv/lib/python3.8/site-packages/ptyprocess-0.7.0.dist-info/RECORD new file mode 100644 index 0000000..1234183 --- /dev/null +++ b/venv/lib/python3.8/site-packages/ptyprocess-0.7.0.dist-info/RECORD @@ -0,0 +1,13 @@ +ptyprocess-0.7.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +ptyprocess-0.7.0.dist-info/LICENSE,sha256=yCLThbGnMymEYkF5m-zxhpC11Edkwb7WkwC1NqQFAwo,905 +ptyprocess-0.7.0.dist-info/METADATA,sha256=w8K5a12aVdpZWMNNCMGKCEn1ZgkCbMRtXJW4t3_PPgw,1312 +ptyprocess-0.7.0.dist-info/RECORD,, +ptyprocess-0.7.0.dist-info/WHEEL,sha256=NLqmsx-ZFZ6gDavYgh2oH0ZSN-KRmpcdEXIZDnYy9Pg,99 +ptyprocess/__init__.py,sha256=sn-W_1nNRTuIOi2aCEHVL06wCVJcR-LOZdgpXzwFuTU,138 +ptyprocess/__pycache__/__init__.cpython-38.pyc,, +ptyprocess/__pycache__/_fork_pty.cpython-38.pyc,, +ptyprocess/__pycache__/ptyprocess.cpython-38.pyc,, +ptyprocess/__pycache__/util.cpython-38.pyc,, +ptyprocess/_fork_pty.py,sha256=VVvMy8c4ZpjDMiIMSg8T1BQ1g3SBexDpey_cxi0n5aw,2362 +ptyprocess/ptyprocess.py,sha256=sk2sU2I22Yyl1gU3FjFmpWL3B43o0KqG3d3CI8r0Nq8,31686 +ptyprocess/util.py,sha256=rQAdDRZfoOiOn6vykWth0wI6FFKAp7aJtBSdt-KBWdU,2785 diff --git a/venv/lib/python3.8/site-packages/ptyprocess-0.7.0.dist-info/WHEEL b/venv/lib/python3.8/site-packages/ptyprocess-0.7.0.dist-info/WHEEL new file mode 120000 index 0000000..1fe6043 --- /dev/null +++ b/venv/lib/python3.8/site-packages/ptyprocess-0.7.0.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/34/ba/a6/b31f99159ea00dabd8821da81f465237e2919a971d1172190e7632f4f8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/ptyprocess/__init__.py b/venv/lib/python3.8/site-packages/ptyprocess/__init__.py new file mode 120000 index 0000000..41c17c2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/ptyprocess/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b2/7f/96/ff59cd453b883a2d9a0841d52f4eb009525c47e2ce65d8295f3c05b935 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/ptyprocess/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/ptyprocess/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..246c020 Binary files /dev/null and b/venv/lib/python3.8/site-packages/ptyprocess/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/ptyprocess/__pycache__/_fork_pty.cpython-38.pyc b/venv/lib/python3.8/site-packages/ptyprocess/__pycache__/_fork_pty.cpython-38.pyc new file mode 100644 index 0000000..88e9f96 Binary files /dev/null and b/venv/lib/python3.8/site-packages/ptyprocess/__pycache__/_fork_pty.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/ptyprocess/__pycache__/ptyprocess.cpython-38.pyc b/venv/lib/python3.8/site-packages/ptyprocess/__pycache__/ptyprocess.cpython-38.pyc new file mode 100644 index 0000000..c3473c7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/ptyprocess/__pycache__/ptyprocess.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/ptyprocess/__pycache__/util.cpython-38.pyc b/venv/lib/python3.8/site-packages/ptyprocess/__pycache__/util.cpython-38.pyc new file mode 100644 index 0000000..c914908 Binary files /dev/null and b/venv/lib/python3.8/site-packages/ptyprocess/__pycache__/util.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/ptyprocess/_fork_pty.py b/venv/lib/python3.8/site-packages/ptyprocess/_fork_pty.py new file mode 120000 index 0000000..85402d0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/ptyprocess/_fork_pty.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/55/5b/cc/cbc7386698c332220c4a0f13d414358374817b10e97b2fdcc62d27e5ac \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/ptyprocess/ptyprocess.py b/venv/lib/python3.8/site-packages/ptyprocess/ptyprocess.py new file mode 120000 index 0000000..1e65523 --- /dev/null +++ b/venv/lib/python3.8/site-packages/ptyprocess/ptyprocess.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b2/4d/ac/536236d98ca5d60537163166a562f7078de8d0aa86ddddc223caf436af \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/ptyprocess/util.py b/venv/lib/python3.8/site-packages/ptyprocess/util.py new file mode 120000 index 0000000..5cf040b --- /dev/null +++ b/venv/lib/python3.8/site-packages/ptyprocess/util.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ad/00/1d/0d165fa0e88e9fabf2916b61d3023a145280a7b689b4149db7e28159d5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pycparser-2.21.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/pycparser-2.21.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/pycparser-2.21.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/pycparser-2.21.dist-info/LICENSE b/venv/lib/python3.8/site-packages/pycparser-2.21.dist-info/LICENSE new file mode 120000 index 0000000..7340438 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pycparser-2.21.dist-info/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3e/7d/f2/5b8dfb658c9a91501930d4d943b05087a8347c7e2b4325616af535047b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pycparser-2.21.dist-info/METADATA b/venv/lib/python3.8/site-packages/pycparser-2.21.dist-info/METADATA new file mode 120000 index 0000000..2571f5f --- /dev/null +++ b/venv/lib/python3.8/site-packages/pycparser-2.21.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1a/f4/c4/400f722a3d27bcfe269277e81a932f8da2570908d000d7101eb46b0317 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pycparser-2.21.dist-info/RECORD b/venv/lib/python3.8/site-packages/pycparser-2.21.dist-info/RECORD new file mode 100644 index 0000000..9e04986 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pycparser-2.21.dist-info/RECORD @@ -0,0 +1,41 @@ +pycparser-2.21.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +pycparser-2.21.dist-info/LICENSE,sha256=Pn3yW437ZYyakVAZMNTZQ7BQh6g0fH4rQyVhavU1BHs,1536 +pycparser-2.21.dist-info/METADATA,sha256=GvTEQA9yKj0nvP4mknfoGpMvjaJXCQjQANcQHrRrAxc,1108 +pycparser-2.21.dist-info/RECORD,, +pycparser-2.21.dist-info/WHEEL,sha256=kGT74LWyRUZrL4VgLh6_g12IeVl_9u9ZVhadrgXZUEY,110 +pycparser-2.21.dist-info/top_level.txt,sha256=c-lPcS74L_8KoH7IE6PQF5ofyirRQNV4VhkbSFIPeWM,10 +pycparser/__init__.py,sha256=WUEp5D0fuHBH9Q8c1fYvR2eKWfj-CNghLf2MMlQLI1I,2815 +pycparser/__pycache__/__init__.cpython-38.pyc,, +pycparser/__pycache__/_ast_gen.cpython-38.pyc,, +pycparser/__pycache__/_build_tables.cpython-38.pyc,, +pycparser/__pycache__/ast_transforms.cpython-38.pyc,, +pycparser/__pycache__/c_ast.cpython-38.pyc,, +pycparser/__pycache__/c_generator.cpython-38.pyc,, +pycparser/__pycache__/c_lexer.cpython-38.pyc,, +pycparser/__pycache__/c_parser.cpython-38.pyc,, +pycparser/__pycache__/lextab.cpython-38.pyc,, +pycparser/__pycache__/plyparser.cpython-38.pyc,, +pycparser/__pycache__/yacctab.cpython-38.pyc,, +pycparser/_ast_gen.py,sha256=0JRVnDW-Jw-3IjVlo8je9rbAcp6Ko7toHAnB5zi7h0Q,10555 +pycparser/_build_tables.py,sha256=oZCd3Plhq-vkV-QuEsaahcf-jUI6-HgKsrAL9gvFzuU,1039 +pycparser/_c_ast.cfg,sha256=ld5ezE9yzIJFIVAUfw7ezJSlMi4nXKNCzfmqjOyQTNo,4255 +pycparser/ast_transforms.py,sha256=GTMYlUgWmXd5wJVyovXY1qzzAqjxzCpVVg0664dKGBs,5691 +pycparser/c_ast.py,sha256=HWeOrfYdCY0u5XaYhE1i60uVyE3yMWdcxzECUX-DqJw,31445 +pycparser/c_generator.py,sha256=yi6Mcqxv88J5ue8k5-mVGxh3iJ37iD4QyF-sWcGjC-8,17772 +pycparser/c_lexer.py,sha256=xCpjIb6vOUebBJpdifidb08y7XgAsO3T1gNGXJT93-w,17167 +pycparser/c_parser.py,sha256=_8y3i52bL6SUK21KmEEl0qzHxe-0eZRzjZGkWg8gQ4A,73680 +pycparser/lextab.py,sha256=fIxBAHYRC418oKF52M7xb8_KMj3K-tHx0TzZiKwxjPM,8504 +pycparser/ply/__init__.py,sha256=q4s86QwRsYRa20L9ueSxfh-hPihpftBjDOvYa2_SS2Y,102 +pycparser/ply/__pycache__/__init__.cpython-38.pyc,, +pycparser/ply/__pycache__/cpp.cpython-38.pyc,, +pycparser/ply/__pycache__/ctokens.cpython-38.pyc,, +pycparser/ply/__pycache__/lex.cpython-38.pyc,, +pycparser/ply/__pycache__/yacc.cpython-38.pyc,, +pycparser/ply/__pycache__/ygen.cpython-38.pyc,, +pycparser/ply/cpp.py,sha256=UtC3ylTWp5_1MKA-PLCuwKQR8zSOnlGuGGIdzj8xS98,33282 +pycparser/ply/ctokens.py,sha256=MKksnN40TehPhgVfxCJhjj_BjL943apreABKYz-bl0Y,3177 +pycparser/ply/lex.py,sha256=7Qol57x702HZwjA3ZLp-84CUEWq1EehW-N67Wzghi-M,42918 +pycparser/ply/yacc.py,sha256=eatSDkRLgRr6X3-hoDk_SQQv065R0BdL2K7fQ54CgVM,137323 +pycparser/ply/ygen.py,sha256=2JYNeYtrPz1JzLSLO3d4GsS8zJU8jY_I_CR1VI9gWrA,2251 +pycparser/plyparser.py,sha256=8tLOoEytcapvWrr1JfCf7Dog-wulBtS1YrDs8S7JfMo,4875 +pycparser/yacctab.py,sha256=j_fVNIyDWDRVk7eWMqQtlBw2AwUSV5JTrtT58l7zis0,205652 diff --git a/venv/lib/python3.8/site-packages/pycparser-2.21.dist-info/WHEEL b/venv/lib/python3.8/site-packages/pycparser-2.21.dist-info/WHEEL new file mode 120000 index 0000000..d940cd1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pycparser-2.21.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/90/64/fb/e0b5b245466b2f85602e1ebf835d8879597ff6ef5956169dae05d95046 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pycparser-2.21.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/pycparser-2.21.dist-info/top_level.txt new file mode 120000 index 0000000..ed8cd3e --- /dev/null +++ b/venv/lib/python3.8/site-packages/pycparser-2.21.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/73/e9/4f/712ef82fff0aa07ec813a3d0179a1fca2ad140d57856191b48520f7963 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pycparser/__init__.py b/venv/lib/python3.8/site-packages/pycparser/__init__.py new file mode 120000 index 0000000..4e08b6c --- /dev/null +++ b/venv/lib/python3.8/site-packages/pycparser/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/59/41/29/e43d1fb87047f50f1cd5f62f47678a59f8fe08d8212dfd8c32540b2352 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pycparser/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pycparser/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..a4f34c8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pycparser/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pycparser/__pycache__/_ast_gen.cpython-38.pyc b/venv/lib/python3.8/site-packages/pycparser/__pycache__/_ast_gen.cpython-38.pyc new file mode 100644 index 0000000..d5e544a Binary files /dev/null and b/venv/lib/python3.8/site-packages/pycparser/__pycache__/_ast_gen.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pycparser/__pycache__/_build_tables.cpython-38.pyc b/venv/lib/python3.8/site-packages/pycparser/__pycache__/_build_tables.cpython-38.pyc new file mode 100644 index 0000000..dc66b25 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pycparser/__pycache__/_build_tables.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pycparser/__pycache__/ast_transforms.cpython-38.pyc b/venv/lib/python3.8/site-packages/pycparser/__pycache__/ast_transforms.cpython-38.pyc new file mode 100644 index 0000000..a61264c Binary files /dev/null and b/venv/lib/python3.8/site-packages/pycparser/__pycache__/ast_transforms.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pycparser/__pycache__/c_ast.cpython-38.pyc b/venv/lib/python3.8/site-packages/pycparser/__pycache__/c_ast.cpython-38.pyc new file mode 100644 index 0000000..17944aa Binary files /dev/null and b/venv/lib/python3.8/site-packages/pycparser/__pycache__/c_ast.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pycparser/__pycache__/c_generator.cpython-38.pyc b/venv/lib/python3.8/site-packages/pycparser/__pycache__/c_generator.cpython-38.pyc new file mode 100644 index 0000000..cab18cd Binary files /dev/null and b/venv/lib/python3.8/site-packages/pycparser/__pycache__/c_generator.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pycparser/__pycache__/c_lexer.cpython-38.pyc b/venv/lib/python3.8/site-packages/pycparser/__pycache__/c_lexer.cpython-38.pyc new file mode 100644 index 0000000..9c4c729 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pycparser/__pycache__/c_lexer.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pycparser/__pycache__/c_parser.cpython-38.pyc b/venv/lib/python3.8/site-packages/pycparser/__pycache__/c_parser.cpython-38.pyc new file mode 100644 index 0000000..ba96bee Binary files /dev/null and b/venv/lib/python3.8/site-packages/pycparser/__pycache__/c_parser.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pycparser/__pycache__/lextab.cpython-38.pyc b/venv/lib/python3.8/site-packages/pycparser/__pycache__/lextab.cpython-38.pyc new file mode 100644 index 0000000..9aca2e7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pycparser/__pycache__/lextab.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pycparser/__pycache__/plyparser.cpython-38.pyc b/venv/lib/python3.8/site-packages/pycparser/__pycache__/plyparser.cpython-38.pyc new file mode 100644 index 0000000..360700f Binary files /dev/null and b/venv/lib/python3.8/site-packages/pycparser/__pycache__/plyparser.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pycparser/__pycache__/yacctab.cpython-38.pyc b/venv/lib/python3.8/site-packages/pycparser/__pycache__/yacctab.cpython-38.pyc new file mode 100644 index 0000000..f27a049 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pycparser/__pycache__/yacctab.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pycparser/_ast_gen.py b/venv/lib/python3.8/site-packages/pycparser/_ast_gen.py new file mode 120000 index 0000000..ad0d507 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pycparser/_ast_gen.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d0/94/55/9c35be270fb7223565a3c8def6b6c0729e8aa3bb681c09c1e738bb8744 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pycparser/_build_tables.py b/venv/lib/python3.8/site-packages/pycparser/_build_tables.py new file mode 120000 index 0000000..89077e4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pycparser/_build_tables.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a1/90/9d/dcf961abebe457e42e12c69a85c7fe8d423af8780ab2b00bf60bc5cee5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pycparser/_c_ast.cfg b/venv/lib/python3.8/site-packages/pycparser/_c_ast.cfg new file mode 120000 index 0000000..f3e00fa --- /dev/null +++ b/venv/lib/python3.8/site-packages/pycparser/_c_ast.cfg @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/95/de/5e/cc4f72cc82452150147f0edecc94a5322e275ca342cdf9aa8cec904cda \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pycparser/ast_transforms.py b/venv/lib/python3.8/site-packages/pycparser/ast_transforms.py new file mode 120000 index 0000000..ec259cf --- /dev/null +++ b/venv/lib/python3.8/site-packages/pycparser/ast_transforms.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/19/33/18/954816997779c09572a2f5d8d6acf302a8f1cc2a55560d3aeb874a181b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pycparser/c_ast.py b/venv/lib/python3.8/site-packages/pycparser/c_ast.py new file mode 120000 index 0000000..5cdcc9e --- /dev/null +++ b/venv/lib/python3.8/site-packages/pycparser/c_ast.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1d/67/8e/adf61d098d2ee57698844d62eb4b95c84df231675cc73102517f83a89c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pycparser/c_generator.py b/venv/lib/python3.8/site-packages/pycparser/c_generator.py new file mode 120000 index 0000000..b3fcfcf --- /dev/null +++ b/venv/lib/python3.8/site-packages/pycparser/c_generator.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ca/2e/8c/72ac6ff3c279b9ef24e7e9951b1877889dfb883e10c85fac59c1a30bef \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pycparser/c_lexer.py b/venv/lib/python3.8/site-packages/pycparser/c_lexer.py new file mode 120000 index 0000000..b94ae3a --- /dev/null +++ b/venv/lib/python3.8/site-packages/pycparser/c_lexer.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c4/2a/63/21beaf39479b049a5d89f89d6f4f32ed7800b0edd3d603465c94fddfec \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pycparser/c_parser.py b/venv/lib/python3.8/site-packages/pycparser/c_parser.py new file mode 120000 index 0000000..562cb2b --- /dev/null +++ b/venv/lib/python3.8/site-packages/pycparser/c_parser.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ff/cc/b7/8b9d9b2fa4942b6d4a984125d2acc7c5efb47994738d91a45a0f204380 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pycparser/lextab.py b/venv/lib/python3.8/site-packages/pycparser/lextab.py new file mode 120000 index 0000000..f178396 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pycparser/lextab.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7c/8c/41/0076110b8d7ca0a179d8cef16fcfca323dcafad1f1d13cd988ac318cf3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pycparser/ply/__init__.py b/venv/lib/python3.8/site-packages/pycparser/ply/__init__.py new file mode 120000 index 0000000..2d3fda6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pycparser/ply/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ab/8b/3c/e90c11b1845adb42fdb9e4b17e1fa13e28697ed0630cebd86b6fd24b66 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pycparser/ply/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pycparser/ply/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..c00f051 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pycparser/ply/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pycparser/ply/__pycache__/cpp.cpython-38.pyc b/venv/lib/python3.8/site-packages/pycparser/ply/__pycache__/cpp.cpython-38.pyc new file mode 100644 index 0000000..04391f0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pycparser/ply/__pycache__/cpp.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pycparser/ply/__pycache__/ctokens.cpython-38.pyc b/venv/lib/python3.8/site-packages/pycparser/ply/__pycache__/ctokens.cpython-38.pyc new file mode 100644 index 0000000..77193e4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pycparser/ply/__pycache__/ctokens.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pycparser/ply/__pycache__/lex.cpython-38.pyc b/venv/lib/python3.8/site-packages/pycparser/ply/__pycache__/lex.cpython-38.pyc new file mode 100644 index 0000000..cd835bf Binary files /dev/null and b/venv/lib/python3.8/site-packages/pycparser/ply/__pycache__/lex.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pycparser/ply/__pycache__/yacc.cpython-38.pyc b/venv/lib/python3.8/site-packages/pycparser/ply/__pycache__/yacc.cpython-38.pyc new file mode 100644 index 0000000..1365098 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pycparser/ply/__pycache__/yacc.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pycparser/ply/__pycache__/ygen.cpython-38.pyc b/venv/lib/python3.8/site-packages/pycparser/ply/__pycache__/ygen.cpython-38.pyc new file mode 100644 index 0000000..0d4e14d Binary files /dev/null and b/venv/lib/python3.8/site-packages/pycparser/ply/__pycache__/ygen.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pycparser/ply/cpp.py b/venv/lib/python3.8/site-packages/pycparser/ply/cpp.py new file mode 120000 index 0000000..b79bc1d --- /dev/null +++ b/venv/lib/python3.8/site-packages/pycparser/ply/cpp.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/52/d0/b7/ca54d6a79ff530a03e3cb0aec0a411f3348e9e51ae18621dce3f314bdf \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pycparser/ply/ctokens.py b/venv/lib/python3.8/site-packages/pycparser/ply/ctokens.py new file mode 120000 index 0000000..a7b4294 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pycparser/ply/ctokens.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/30/a9/2c/9cde344de84f86055fc422618e3fc18cbf78ddaa6b78004a633f9b9746 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pycparser/ply/lex.py b/venv/lib/python3.8/site-packages/pycparser/ply/lex.py new file mode 120000 index 0000000..c820509 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pycparser/ply/lex.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ed/0a/25/e7bc7bd361d9c2303764ba7ef38094116ab511e856f8debb5b38218be3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pycparser/ply/yacc.py b/venv/lib/python3.8/site-packages/pycparser/ply/yacc.py new file mode 120000 index 0000000..1506b73 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pycparser/ply/yacc.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/79/ab/52/0e444b811afa5f7fa1a0393f49042fd3ae51d0174bd8aedf439e028153 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pycparser/ply/ygen.py b/venv/lib/python3.8/site-packages/pycparser/ply/ygen.py new file mode 120000 index 0000000..0f55ea1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pycparser/ply/ygen.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d8/96/0d/798b6b3f3d49ccb48b3b77781ac4bccc953c8d8fc8fc2475548f605ab0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pycparser/plyparser.py b/venv/lib/python3.8/site-packages/pycparser/plyparser.py new file mode 120000 index 0000000..9bbf4d3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pycparser/plyparser.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f2/d2/ce/a04cad71aa6f5abaf525f09fec3a20fb0ba506d4b562b0ecf12ec97cca \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pycparser/yacctab.py b/venv/lib/python3.8/site-packages/pycparser/yacctab.py new file mode 120000 index 0000000..a2a7314 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pycparser/yacctab.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8f/f7/d5/348c8358345593b79632a42d941c36030512579253aed4f9f25ef38acd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pyflakes-2.5.0.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/pyflakes-2.5.0.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/pyflakes-2.5.0.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/pyflakes-2.5.0.dist-info/LICENSE b/venv/lib/python3.8/site-packages/pyflakes-2.5.0.dist-info/LICENSE new file mode 120000 index 0000000..81fd835 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pyflakes-2.5.0.dist-info/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/22/c4/75/69cc0aae531b372361366818af01c6fc2e314770584a7866c92b3a0463 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pyflakes-2.5.0.dist-info/METADATA b/venv/lib/python3.8/site-packages/pyflakes-2.5.0.dist-info/METADATA new file mode 120000 index 0000000..a02778d --- /dev/null +++ b/venv/lib/python3.8/site-packages/pyflakes-2.5.0.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9b/da/17/7dc1f6d8f43e69b1b12a6e3bc9c3297a12cd4527e190fb88b04222402c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pyflakes-2.5.0.dist-info/RECORD b/venv/lib/python3.8/site-packages/pyflakes-2.5.0.dist-info/RECORD new file mode 100644 index 0000000..7f96bfa --- /dev/null +++ b/venv/lib/python3.8/site-packages/pyflakes-2.5.0.dist-info/RECORD @@ -0,0 +1,54 @@ +../../../bin/pyflakes,sha256=5FyDNFxVLLSYrOL3t1r6tof4nf2NtRTrYQLJMOljHng,215 +pyflakes-2.5.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +pyflakes-2.5.0.dist-info/LICENSE,sha256=IsR1acwKrlMbNyNhNmgYrwHG_C4xR3BYSnhmySs6BGM,1093 +pyflakes-2.5.0.dist-info/METADATA,sha256=m9oXfcH22PQ-abGxKm47ycMpehLNRSfhkPuIsEIiQCw,3809 +pyflakes-2.5.0.dist-info/RECORD,, +pyflakes-2.5.0.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +pyflakes-2.5.0.dist-info/WHEEL,sha256=z9j0xAa_JmUKMpmz72K0ZGALSM_n-wQVmGbleXx2VHg,110 +pyflakes-2.5.0.dist-info/direct_url.json,sha256=5pkOAcEJ9O7SIqixcGnwYbUPZvHVKY4Fr7MKUq3-0v0,254 +pyflakes-2.5.0.dist-info/entry_points.txt,sha256=IXe-9eveUrAnGsDtgHcz2IyPKoCWI9b4bXHLXohHqTE,47 +pyflakes-2.5.0.dist-info/top_level.txt,sha256=wuK-mcws_v9MNkEyZaVwD2x9jdhkuRhdYZcqpBFliNM,9 +pyflakes/__init__.py,sha256=UrYf8t6hsIpDaboSlgD4Unb8HSA1LxEBwhZMIxJBY0c,22 +pyflakes/__main__.py,sha256=9hmtTqo4qAQwd71f2ekWMIgb53frxGVwEabFWGG_WiE,105 +pyflakes/__pycache__/__init__.cpython-38.pyc,, +pyflakes/__pycache__/__main__.cpython-38.pyc,, +pyflakes/__pycache__/api.cpython-38.pyc,, +pyflakes/__pycache__/checker.cpython-38.pyc,, +pyflakes/__pycache__/messages.cpython-38.pyc,, +pyflakes/__pycache__/reporter.cpython-38.pyc,, +pyflakes/api.py,sha256=wVPZDdyTL8qlZ-t4ePAxOtbsXx9tcQj2m4WVfxcoWxU,5625 +pyflakes/checker.py,sha256=qR1OJKdOeRvmHyYWIZvKO2Yds8X-qO4mCHG-AFN8uAM,79606 +pyflakes/messages.py,sha256=1Ezf9KHbpEDJ_GG1wxbkm9L3ET5fY2RF6BD_sownDbs,10445 +pyflakes/reporter.py,sha256=Fc8wWevJrddqCES7lYM4z9_DijCAaHhXrOvehnaEx1Y,3053 +pyflakes/scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +pyflakes/scripts/__pycache__/__init__.cpython-38.pyc,, +pyflakes/scripts/__pycache__/pyflakes.cpython-38.pyc,, +pyflakes/scripts/pyflakes.py,sha256=ibWvpkd1fbMDWSoOcOafYI-Mym7pTbxEpSD_oBHZUYU,248 +pyflakes/test/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +pyflakes/test/__pycache__/__init__.cpython-38.pyc,, +pyflakes/test/__pycache__/harness.cpython-38.pyc,, +pyflakes/test/__pycache__/test_api.cpython-38.pyc,, +pyflakes/test/__pycache__/test_builtin.cpython-38.pyc,, +pyflakes/test/__pycache__/test_checker.cpython-38.pyc,, +pyflakes/test/__pycache__/test_code_segment.cpython-38.pyc,, +pyflakes/test/__pycache__/test_dict.cpython-38.pyc,, +pyflakes/test/__pycache__/test_doctests.cpython-38.pyc,, +pyflakes/test/__pycache__/test_imports.cpython-38.pyc,, +pyflakes/test/__pycache__/test_is_literal.cpython-38.pyc,, +pyflakes/test/__pycache__/test_match.cpython-38.pyc,, +pyflakes/test/__pycache__/test_other.cpython-38.pyc,, +pyflakes/test/__pycache__/test_type_annotations.cpython-38.pyc,, +pyflakes/test/__pycache__/test_undefined_names.cpython-38.pyc,, +pyflakes/test/harness.py,sha256=4bE0pt_6Pc6UdqVmRp9TxCBN1sic-CuhGhDGo1qX11I,1004 +pyflakes/test/test_api.py,sha256=h4yAU2lxqNtPXKZqm9vuZuPGIMTx19QiRS_z9B_Rfjg,26904 +pyflakes/test/test_builtin.py,sha256=kxvjPYtF4sDNoV0Eb2f7KVGHMBkJqu21oIvGUb0Kd0A,582 +pyflakes/test/test_checker.py,sha256=3KhTU6GUO97EwSaHISNpBI9ZzbcGJvMMsqMq9JhXTWY,5920 +pyflakes/test/test_code_segment.py,sha256=T9xBYrTFck9IASM24OtiF15BjU_e0ZwwxpUgAslFT24,4496 +pyflakes/test/test_dict.py,sha256=Lnz0ygqXyPue1NZZFGrLud81zN3HlF4ENd8EVNo36GI,5271 +pyflakes/test/test_doctests.py,sha256=fc9B7RaA7RCSfQYo8IHoFHxa8NcZRO-HES-Q--x3tPg,12856 +pyflakes/test/test_imports.py,sha256=6Z3u3hweCbO964EWzgn6EtCPTcr-UrIl0o86o7Hc7AM,33703 +pyflakes/test/test_is_literal.py,sha256=pj9XCSORmzFZ6fORj12_HGthWP6RN5MPeoyj3krwVxs,4573 +pyflakes/test/test_match.py,sha256=ScyFclKMdh8H2Z_kX7hxw-EVfqDs8wQ74qjReC-HoJE,2097 +pyflakes/test/test_other.py,sha256=PnI4S0jwjQCOK5oGXwaeQut6omY59H2jPxcb-4IVRVc,51690 +pyflakes/test/test_type_annotations.py,sha256=CtY2lwWx5o6JTP4aGQ6jvft8Iv58IY_wo4Mv-wHeLMY,20301 +pyflakes/test/test_undefined_names.py,sha256=euUrKdwJLFyN40OSoeOka3Wc5bHwZvkfGpW0Lpev0lo,23565 diff --git a/venv/lib/python3.8/site-packages/pyflakes-2.5.0.dist-info/REQUESTED b/venv/lib/python3.8/site-packages/pyflakes-2.5.0.dist-info/REQUESTED new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.8/site-packages/pyflakes-2.5.0.dist-info/WHEEL b/venv/lib/python3.8/site-packages/pyflakes-2.5.0.dist-info/WHEEL new file mode 120000 index 0000000..ae483c4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pyflakes-2.5.0.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cf/d8/f4/c406bf26650a3299b3ef62b464600b48cfe7fb04159866e5797c765478 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pyflakes-2.5.0.dist-info/direct_url.json b/venv/lib/python3.8/site-packages/pyflakes-2.5.0.dist-info/direct_url.json new file mode 100644 index 0000000..3ca7774 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pyflakes-2.5.0.dist-info/direct_url.json @@ -0,0 +1 @@ +{"archive_info": {"hash": "sha256=4579f67d887f804e67edb544428f264b7b24f435b263c4614f384135cea553d2"}, "url": "https://files.pythonhosted.org/packages/dc/13/63178f59f74e53acc2165aee4b002619a3cfa7eeaeac989a9eb41edf364e/pyflakes-2.5.0-py2.py3-none-any.whl"} \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pyflakes-2.5.0.dist-info/entry_points.txt b/venv/lib/python3.8/site-packages/pyflakes-2.5.0.dist-info/entry_points.txt new file mode 120000 index 0000000..24fe63e --- /dev/null +++ b/venv/lib/python3.8/site-packages/pyflakes-2.5.0.dist-info/entry_points.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/21/77/be/f5ebde52b0271ac0ed807733d88c8f2a809623d6f86d71cb5e8847a931 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pyflakes-2.5.0.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/pyflakes-2.5.0.dist-info/top_level.txt new file mode 120000 index 0000000..de838a9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pyflakes-2.5.0.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c2/e2/be/99cc2cfeff4c36413265a5700f6c7d8dd864b9185d61972aa4116588d3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pyflakes/__init__.py b/venv/lib/python3.8/site-packages/pyflakes/__init__.py new file mode 120000 index 0000000..7ab1cd3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pyflakes/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/52/b6/1f/f2dea1b08a4369ba129600f85276fc1d20352f1101c2164c2312416347 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pyflakes/__main__.py b/venv/lib/python3.8/site-packages/pyflakes/__main__.py new file mode 120000 index 0000000..35862b6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pyflakes/__main__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f6/19/ad/4eaa38a8043077bd5fd9e91630881be777ebc4657011a6c55861bf5a21 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pyflakes/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pyflakes/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..8cb7da5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pyflakes/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pyflakes/__pycache__/__main__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pyflakes/__pycache__/__main__.cpython-38.pyc new file mode 100644 index 0000000..c443a73 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pyflakes/__pycache__/__main__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pyflakes/__pycache__/api.cpython-38.pyc b/venv/lib/python3.8/site-packages/pyflakes/__pycache__/api.cpython-38.pyc new file mode 100644 index 0000000..a472b66 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pyflakes/__pycache__/api.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pyflakes/__pycache__/checker.cpython-38.pyc b/venv/lib/python3.8/site-packages/pyflakes/__pycache__/checker.cpython-38.pyc new file mode 100644 index 0000000..d1662f3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pyflakes/__pycache__/checker.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pyflakes/__pycache__/messages.cpython-38.pyc b/venv/lib/python3.8/site-packages/pyflakes/__pycache__/messages.cpython-38.pyc new file mode 100644 index 0000000..34b2d33 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pyflakes/__pycache__/messages.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pyflakes/__pycache__/reporter.cpython-38.pyc b/venv/lib/python3.8/site-packages/pyflakes/__pycache__/reporter.cpython-38.pyc new file mode 100644 index 0000000..4c2865d Binary files /dev/null and b/venv/lib/python3.8/site-packages/pyflakes/__pycache__/reporter.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pyflakes/api.py b/venv/lib/python3.8/site-packages/pyflakes/api.py new file mode 120000 index 0000000..e3799c4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pyflakes/api.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c1/53/d9/0ddc932fcaa567eb7878f0313ad6ec5f1f6d7108f69b85957f17285b15 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pyflakes/checker.py b/venv/lib/python3.8/site-packages/pyflakes/checker.py new file mode 120000 index 0000000..c0dcfa0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pyflakes/checker.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a9/1d/4e/24a74e791be61f2616219bca3b661db3c5fea8ee260871be00537cb803 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pyflakes/messages.py b/venv/lib/python3.8/site-packages/pyflakes/messages.py new file mode 120000 index 0000000..8f06c71 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pyflakes/messages.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d4/4c/df/f4a1dba440c9fc61b5c316e49bd2f7113e5f636445e810ffb28c270dbb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pyflakes/reporter.py b/venv/lib/python3.8/site-packages/pyflakes/reporter.py new file mode 120000 index 0000000..4c6a71c --- /dev/null +++ b/venv/lib/python3.8/site-packages/pyflakes/reporter.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/15/cf/30/59ebc9add76a0844bb958338cfdfc38a3080687857acebde867684c756 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pyflakes/scripts/__init__.py b/venv/lib/python3.8/site-packages/pyflakes/scripts/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pyflakes/scripts/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pyflakes/scripts/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pyflakes/scripts/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..39069d0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pyflakes/scripts/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pyflakes/scripts/__pycache__/pyflakes.cpython-38.pyc b/venv/lib/python3.8/site-packages/pyflakes/scripts/__pycache__/pyflakes.cpython-38.pyc new file mode 100644 index 0000000..cd0f4f1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pyflakes/scripts/__pycache__/pyflakes.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pyflakes/scripts/pyflakes.py b/venv/lib/python3.8/site-packages/pyflakes/scripts/pyflakes.py new file mode 120000 index 0000000..7f44f28 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pyflakes/scripts/pyflakes.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/89/b5/af/a647757db303592a0e70e69f608f8cca6ee94dbc44a520ffa011d95185 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pyflakes/test/__init__.py b/venv/lib/python3.8/site-packages/pyflakes/test/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pyflakes/test/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pyflakes/test/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pyflakes/test/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..cffe7ba Binary files /dev/null and b/venv/lib/python3.8/site-packages/pyflakes/test/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pyflakes/test/__pycache__/harness.cpython-38.pyc b/venv/lib/python3.8/site-packages/pyflakes/test/__pycache__/harness.cpython-38.pyc new file mode 100644 index 0000000..ef2a55e Binary files /dev/null and b/venv/lib/python3.8/site-packages/pyflakes/test/__pycache__/harness.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pyflakes/test/__pycache__/test_api.cpython-38.pyc b/venv/lib/python3.8/site-packages/pyflakes/test/__pycache__/test_api.cpython-38.pyc new file mode 100644 index 0000000..f8d132d Binary files /dev/null and b/venv/lib/python3.8/site-packages/pyflakes/test/__pycache__/test_api.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pyflakes/test/__pycache__/test_builtin.cpython-38.pyc b/venv/lib/python3.8/site-packages/pyflakes/test/__pycache__/test_builtin.cpython-38.pyc new file mode 100644 index 0000000..966f5bc Binary files /dev/null and b/venv/lib/python3.8/site-packages/pyflakes/test/__pycache__/test_builtin.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pyflakes/test/__pycache__/test_checker.cpython-38.pyc b/venv/lib/python3.8/site-packages/pyflakes/test/__pycache__/test_checker.cpython-38.pyc new file mode 100644 index 0000000..d1815ae Binary files /dev/null and b/venv/lib/python3.8/site-packages/pyflakes/test/__pycache__/test_checker.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pyflakes/test/__pycache__/test_code_segment.cpython-38.pyc b/venv/lib/python3.8/site-packages/pyflakes/test/__pycache__/test_code_segment.cpython-38.pyc new file mode 100644 index 0000000..b78260b Binary files /dev/null and b/venv/lib/python3.8/site-packages/pyflakes/test/__pycache__/test_code_segment.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pyflakes/test/__pycache__/test_dict.cpython-38.pyc b/venv/lib/python3.8/site-packages/pyflakes/test/__pycache__/test_dict.cpython-38.pyc new file mode 100644 index 0000000..50ca46e Binary files /dev/null and b/venv/lib/python3.8/site-packages/pyflakes/test/__pycache__/test_dict.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pyflakes/test/__pycache__/test_doctests.cpython-38.pyc b/venv/lib/python3.8/site-packages/pyflakes/test/__pycache__/test_doctests.cpython-38.pyc new file mode 100644 index 0000000..313d8b8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pyflakes/test/__pycache__/test_doctests.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pyflakes/test/__pycache__/test_imports.cpython-38.pyc b/venv/lib/python3.8/site-packages/pyflakes/test/__pycache__/test_imports.cpython-38.pyc new file mode 100644 index 0000000..8dd69dd Binary files /dev/null and b/venv/lib/python3.8/site-packages/pyflakes/test/__pycache__/test_imports.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pyflakes/test/__pycache__/test_is_literal.cpython-38.pyc b/venv/lib/python3.8/site-packages/pyflakes/test/__pycache__/test_is_literal.cpython-38.pyc new file mode 100644 index 0000000..961252c Binary files /dev/null and b/venv/lib/python3.8/site-packages/pyflakes/test/__pycache__/test_is_literal.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pyflakes/test/__pycache__/test_match.cpython-38.pyc b/venv/lib/python3.8/site-packages/pyflakes/test/__pycache__/test_match.cpython-38.pyc new file mode 100644 index 0000000..5b83fdc Binary files /dev/null and b/venv/lib/python3.8/site-packages/pyflakes/test/__pycache__/test_match.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pyflakes/test/__pycache__/test_other.cpython-38.pyc b/venv/lib/python3.8/site-packages/pyflakes/test/__pycache__/test_other.cpython-38.pyc new file mode 100644 index 0000000..f81bc64 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pyflakes/test/__pycache__/test_other.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pyflakes/test/__pycache__/test_type_annotations.cpython-38.pyc b/venv/lib/python3.8/site-packages/pyflakes/test/__pycache__/test_type_annotations.cpython-38.pyc new file mode 100644 index 0000000..4b9910f Binary files /dev/null and b/venv/lib/python3.8/site-packages/pyflakes/test/__pycache__/test_type_annotations.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pyflakes/test/__pycache__/test_undefined_names.cpython-38.pyc b/venv/lib/python3.8/site-packages/pyflakes/test/__pycache__/test_undefined_names.cpython-38.pyc new file mode 100644 index 0000000..3383a73 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pyflakes/test/__pycache__/test_undefined_names.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pyflakes/test/harness.py b/venv/lib/python3.8/site-packages/pyflakes/test/harness.py new file mode 120000 index 0000000..688748c --- /dev/null +++ b/venv/lib/python3.8/site-packages/pyflakes/test/harness.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e1/b1/34/a6dffa3dce9476a566469f53c4204dd6c89cf82ba11a10c6a35a97d752 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pyflakes/test/test_api.py b/venv/lib/python3.8/site-packages/pyflakes/test/test_api.py new file mode 120000 index 0000000..b39f57c --- /dev/null +++ b/venv/lib/python3.8/site-packages/pyflakes/test/test_api.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/87/8c/80/536971a8db4f5ca66a9bdbee66e3c620c4f1d7d422452ff3f41fd17e38 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pyflakes/test/test_builtin.py b/venv/lib/python3.8/site-packages/pyflakes/test/test_builtin.py new file mode 120000 index 0000000..6d4bcb6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pyflakes/test/test_builtin.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/93/1b/e3/3d8b45e2c0cda15d046f67fb295187301909aaedb5a08bc651bd0a7740 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pyflakes/test/test_checker.py b/venv/lib/python3.8/site-packages/pyflakes/test/test_checker.py new file mode 120000 index 0000000..64fc34e --- /dev/null +++ b/venv/lib/python3.8/site-packages/pyflakes/test/test_checker.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/dc/a8/53/53a1943bdec4c12687212369048f59cdb70626f30cb2a32af498574d66 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pyflakes/test/test_code_segment.py b/venv/lib/python3.8/site-packages/pyflakes/test/test_code_segment.py new file mode 120000 index 0000000..d3003a0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pyflakes/test/test_code_segment.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4f/dc/41/62b4c5724f48012336e0eb62175e418d4fded19c30c6952002c9454f6e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pyflakes/test/test_dict.py b/venv/lib/python3.8/site-packages/pyflakes/test/test_dict.py new file mode 120000 index 0000000..ce7437a --- /dev/null +++ b/venv/lib/python3.8/site-packages/pyflakes/test/test_dict.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2e/7c/f4/ca0a97c8fb9ed4d659146acbb9df35ccddc7945e0435df0454da37e862 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pyflakes/test/test_doctests.py b/venv/lib/python3.8/site-packages/pyflakes/test/test_doctests.py new file mode 120000 index 0000000..22257c5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pyflakes/test/test_doctests.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7d/cf/41/ed1680ed10927d0628f081e8147c5af0d71944ef87112f90fbec77b4f8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pyflakes/test/test_imports.py b/venv/lib/python3.8/site-packages/pyflakes/test/test_imports.py new file mode 120000 index 0000000..20c02cf --- /dev/null +++ b/venv/lib/python3.8/site-packages/pyflakes/test/test_imports.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e9/9d/ee/de1c1e09b3bdeb8116ce09fa12d08f4dcafe52b225d28f3aa3b1dcec03 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pyflakes/test/test_is_literal.py b/venv/lib/python3.8/site-packages/pyflakes/test/test_is_literal.py new file mode 120000 index 0000000..2af8327 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pyflakes/test/test_is_literal.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a6/3f/57/0923919b3159e9f3918f5dbf1c6b6158fe9137930f7a8ca3de4af0571b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pyflakes/test/test_match.py b/venv/lib/python3.8/site-packages/pyflakes/test/test_match.py new file mode 120000 index 0000000..fb31ee6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pyflakes/test/test_match.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/49/cc/85/72528c761f07d99fe45fb871c3e1157ea0ecf3043be2a8d1782f87a091 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pyflakes/test/test_other.py b/venv/lib/python3.8/site-packages/pyflakes/test/test_other.py new file mode 120000 index 0000000..a300651 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pyflakes/test/test_other.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3e/72/38/4b48f08d008e2b9a065f069e42eb7aa26639f47da33f171bfb82154557 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pyflakes/test/test_type_annotations.py b/venv/lib/python3.8/site-packages/pyflakes/test/test_type_annotations.py new file mode 120000 index 0000000..561b51b --- /dev/null +++ b/venv/lib/python3.8/site-packages/pyflakes/test/test_type_annotations.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0a/d6/36/9705b1e68e894cfe1a190ea3bdfb7c22fe7c218ff0a3832ffb01de2cc6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pyflakes/test/test_undefined_names.py b/venv/lib/python3.8/site-packages/pyflakes/test/test_undefined_names.py new file mode 120000 index 0000000..e355513 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pyflakes/test/test_undefined_names.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7a/e5/2b/29dc092c5c8de34392a1e3a46b759ce5b1f066f91f1a95b42e97afd25a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylev-1.4.0.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/pylev-1.4.0.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylev-1.4.0.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/pylev-1.4.0.dist-info/LICENSE b/venv/lib/python3.8/site-packages/pylev-1.4.0.dist-info/LICENSE new file mode 120000 index 0000000..85c6a51 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylev-1.4.0.dist-info/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d2/20/84/527e4de9dd864c5ce0b29cd9cff88566c4161dbc02f7e8d4569988c4ee \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylev-1.4.0.dist-info/METADATA b/venv/lib/python3.8/site-packages/pylev-1.4.0.dist-info/METADATA new file mode 120000 index 0000000..39345a3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylev-1.4.0.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2b/33/f8/e29604388f73ada39f558de7eff7f1dfd5d69dbaaa1958ffbda399728e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylev-1.4.0.dist-info/RECORD b/venv/lib/python3.8/site-packages/pylev-1.4.0.dist-info/RECORD new file mode 100644 index 0000000..3aec45e --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylev-1.4.0.dist-info/RECORD @@ -0,0 +1,16 @@ +pylev-1.4.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +pylev-1.4.0.dist-info/LICENSE,sha256=0iCEUn5N6d2GTFzgspzZz_iFZsQWHbwC9-jUVpmIxO4,1481 +pylev-1.4.0.dist-info/METADATA,sha256=KzP44pYEOI9zraOfVY3n7_fx39XWnbqqGVj_vaOZco4,2315 +pylev-1.4.0.dist-info/RECORD,, +pylev-1.4.0.dist-info/WHEEL,sha256=Z-nyYpwrcSqxfdux5Mbn_DQ525iP7J2DG3JgGvOYyTQ,110 +pylev-1.4.0.dist-info/top_level.txt,sha256=hwP13Cseriu_xvKjI_10TDCuSIoB5oG2lG6m1tOxaFQ,6 +pylev/__init__.py,sha256=q9f3gIKa0-8N1PTusBzNBI5N6tO8c6ZG8PpahGHhJGM,895 +pylev/__pycache__/__init__.cpython-38.pyc,, +pylev/__pycache__/classic.cpython-38.pyc,, +pylev/__pycache__/damerau.cpython-38.pyc,, +pylev/__pycache__/recursive.cpython-38.pyc,, +pylev/__pycache__/wf.cpython-38.pyc,, +pylev/classic.py,sha256=siBSUKKQ4s9_El4Se-woweoPenOHrTVZqEH-xAol0kg,933 +pylev/damerau.py,sha256=x-YTWJ3WRvlYf83MMwGmVrtJ22HqcZ3fs-hKcKztctk,1838 +pylev/recursive.py,sha256=dZ0tfMv0IF_wxulGKW2PjC6wp9tQOsOmZvNgZgh-kIg,1300 +pylev/wf.py,sha256=FgdzcE0M7kcV-t2stXs14lvSinK7vUcm4Roe678MrvE,2355 diff --git a/venv/lib/python3.8/site-packages/pylev-1.4.0.dist-info/WHEEL b/venv/lib/python3.8/site-packages/pylev-1.4.0.dist-info/WHEEL new file mode 120000 index 0000000..f6d70d4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylev-1.4.0.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/67/e9/f2/629c2b712ab17ddbb1e4c6e7fc3439db988fec9d831b72601af398c934 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylev-1.4.0.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/pylev-1.4.0.dist-info/top_level.txt new file mode 120000 index 0000000..9b2b64b --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylev-1.4.0.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/87/03/f5/dc2b1eae2bbfc6f2a323fd744c30ae488a01e681b6946ea6d6d3b16854 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylev/__init__.py b/venv/lib/python3.8/site-packages/pylev/__init__.py new file mode 120000 index 0000000..00798ac --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylev/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ab/d7/f7/80829ad3ef0dd4f4eeb01ccd048e4dead3bc73a646f0fa5a8461e12463 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylev/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pylev/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..c818130 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pylev/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pylev/__pycache__/classic.cpython-38.pyc b/venv/lib/python3.8/site-packages/pylev/__pycache__/classic.cpython-38.pyc new file mode 100644 index 0000000..e025312 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pylev/__pycache__/classic.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pylev/__pycache__/damerau.cpython-38.pyc b/venv/lib/python3.8/site-packages/pylev/__pycache__/damerau.cpython-38.pyc new file mode 100644 index 0000000..fadf1bb Binary files /dev/null and b/venv/lib/python3.8/site-packages/pylev/__pycache__/damerau.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pylev/__pycache__/recursive.cpython-38.pyc b/venv/lib/python3.8/site-packages/pylev/__pycache__/recursive.cpython-38.pyc new file mode 100644 index 0000000..b817450 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pylev/__pycache__/recursive.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pylev/__pycache__/wf.cpython-38.pyc b/venv/lib/python3.8/site-packages/pylev/__pycache__/wf.cpython-38.pyc new file mode 100644 index 0000000..cfd4c0f Binary files /dev/null and b/venv/lib/python3.8/site-packages/pylev/__pycache__/wf.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pylev/classic.py b/venv/lib/python3.8/site-packages/pylev/classic.py new file mode 120000 index 0000000..575acdc --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylev/classic.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b2/20/52/50a290e2cf7f125e127bec28c1ea0f7a7387ad3559a841fec40a25d248 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylev/damerau.py b/venv/lib/python3.8/site-packages/pylev/damerau.py new file mode 120000 index 0000000..5c66474 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylev/damerau.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c7/e6/13/589dd646f9587fcdcc3301a656bb49db61ea719ddfb3e84a70aced72d9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylev/recursive.py b/venv/lib/python3.8/site-packages/pylev/recursive.py new file mode 120000 index 0000000..4a3afa1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylev/recursive.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/75/9d/2d/7ccbf4205ff0c6e946296d8f8c2eb0a7db503ac3a666f36066087e9088 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylev/wf.py b/venv/lib/python3.8/site-packages/pylev/wf.py new file mode 120000 index 0000000..fc19a7b --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylev/wf.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/16/07/73/704d0cee4715faddacb57b35e25bd28a72bbbd4726e11a1eebbf0caef1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylsp/__init__.py b/venv/lib/python3.8/site-packages/pylsp/__init__.py new file mode 120000 index 0000000..5abd911 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylsp/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/78/0d/ac/8aa38ca1a0f76f25133a5d87071729e50a5161198456756435ee2500f2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylsp/__main__.py b/venv/lib/python3.8/site-packages/pylsp/__main__.py new file mode 120000 index 0000000..03e5566 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylsp/__main__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c5/59/f1/8a97dbf638c571f713c0c058931b922ab79df98454297a0676be6a025c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylsp/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pylsp/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..b0e349d Binary files /dev/null and b/venv/lib/python3.8/site-packages/pylsp/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pylsp/__pycache__/__main__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pylsp/__pycache__/__main__.cpython-38.pyc new file mode 100644 index 0000000..42369fb Binary files /dev/null and b/venv/lib/python3.8/site-packages/pylsp/__pycache__/__main__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pylsp/__pycache__/_utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/pylsp/__pycache__/_utils.cpython-38.pyc new file mode 100644 index 0000000..b6c9c42 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pylsp/__pycache__/_utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pylsp/__pycache__/_version.cpython-38.pyc b/venv/lib/python3.8/site-packages/pylsp/__pycache__/_version.cpython-38.pyc new file mode 100644 index 0000000..103a40d Binary files /dev/null and b/venv/lib/python3.8/site-packages/pylsp/__pycache__/_version.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pylsp/__pycache__/hookspecs.cpython-38.pyc b/venv/lib/python3.8/site-packages/pylsp/__pycache__/hookspecs.cpython-38.pyc new file mode 100644 index 0000000..351013f Binary files /dev/null and b/venv/lib/python3.8/site-packages/pylsp/__pycache__/hookspecs.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pylsp/__pycache__/lsp.cpython-38.pyc b/venv/lib/python3.8/site-packages/pylsp/__pycache__/lsp.cpython-38.pyc new file mode 100644 index 0000000..c9e50a3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pylsp/__pycache__/lsp.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pylsp/__pycache__/python_lsp.cpython-38.pyc b/venv/lib/python3.8/site-packages/pylsp/__pycache__/python_lsp.cpython-38.pyc new file mode 100644 index 0000000..c459ff4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pylsp/__pycache__/python_lsp.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pylsp/__pycache__/text_edit.cpython-38.pyc b/venv/lib/python3.8/site-packages/pylsp/__pycache__/text_edit.cpython-38.pyc new file mode 100644 index 0000000..9710a8f Binary files /dev/null and b/venv/lib/python3.8/site-packages/pylsp/__pycache__/text_edit.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pylsp/__pycache__/uris.cpython-38.pyc b/venv/lib/python3.8/site-packages/pylsp/__pycache__/uris.cpython-38.pyc new file mode 100644 index 0000000..29ce070 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pylsp/__pycache__/uris.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pylsp/__pycache__/workspace.cpython-38.pyc b/venv/lib/python3.8/site-packages/pylsp/__pycache__/workspace.cpython-38.pyc new file mode 100644 index 0000000..23cbd84 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pylsp/__pycache__/workspace.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pylsp/_utils.py b/venv/lib/python3.8/site-packages/pylsp/_utils.py new file mode 120000 index 0000000..85c26d0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylsp/_utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/42/60/51/deebf5fc7bc6b74e10dae401929eb17328fab5aaa0d0f8fa2c929a9901 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylsp/_version.py b/venv/lib/python3.8/site-packages/pylsp/_version.py new file mode 120000 index 0000000..bcf742a --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylsp/_version.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/08/88/49/3fa3a6da731f2011dd679254d1424b8ec71e99e531e656ed6af8caf9b9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylsp/config/__init__.py b/venv/lib/python3.8/site-packages/pylsp/config/__init__.py new file mode 120000 index 0000000..2064d1e --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylsp/config/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6c/35/b1/4639842cf0951b2db8dffd2436b1bb3edb7266cbff799f494ca42b5351 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylsp/config/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pylsp/config/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..1a07cf4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pylsp/config/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pylsp/config/__pycache__/config.cpython-38.pyc b/venv/lib/python3.8/site-packages/pylsp/config/__pycache__/config.cpython-38.pyc new file mode 100644 index 0000000..bf3e548 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pylsp/config/__pycache__/config.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pylsp/config/__pycache__/flake8_conf.cpython-38.pyc b/venv/lib/python3.8/site-packages/pylsp/config/__pycache__/flake8_conf.cpython-38.pyc new file mode 100644 index 0000000..b02d9ef Binary files /dev/null and b/venv/lib/python3.8/site-packages/pylsp/config/__pycache__/flake8_conf.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pylsp/config/__pycache__/pycodestyle_conf.cpython-38.pyc b/venv/lib/python3.8/site-packages/pylsp/config/__pycache__/pycodestyle_conf.cpython-38.pyc new file mode 100644 index 0000000..3fb6202 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pylsp/config/__pycache__/pycodestyle_conf.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pylsp/config/__pycache__/source.cpython-38.pyc b/venv/lib/python3.8/site-packages/pylsp/config/__pycache__/source.cpython-38.pyc new file mode 100644 index 0000000..39da2e0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pylsp/config/__pycache__/source.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pylsp/config/config.py b/venv/lib/python3.8/site-packages/pylsp/config/config.py new file mode 120000 index 0000000..49ef8d3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylsp/config/config.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/51/e7/55/6ddb23502dd55080d96d91bf27deb697261cd385b667642f911023be3d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylsp/config/flake8_conf.py b/venv/lib/python3.8/site-packages/pylsp/config/flake8_conf.py new file mode 120000 index 0000000..8d9942a --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylsp/config/flake8_conf.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/01/94/1a/42b9b6fe317e431f28e88454b9879f3f5f23194f806103a6fb4a9fa5ee \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylsp/config/pycodestyle_conf.py b/venv/lib/python3.8/site-packages/pylsp/config/pycodestyle_conf.py new file mode 120000 index 0000000..9d27090 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylsp/config/pycodestyle_conf.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2a/d5/93/985bf1048c1dc7d67721a3170dae1d3ae89ff99f80a68f1e9646f05d0e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylsp/config/source.py b/venv/lib/python3.8/site-packages/pylsp/config/source.py new file mode 120000 index 0000000..5bb7f8b --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylsp/config/source.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/34/a7/93/1bbf75615e3d2c336c300327b58e84caa9b2d9c0dccf6923d89505ec54 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylsp/hookspecs.py b/venv/lib/python3.8/site-packages/pylsp/hookspecs.py new file mode 120000 index 0000000..c2f3e7f --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylsp/hookspecs.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b9/aa/94/1df195a52da130f8ed8c7273a512073947df07e8d3135125a84c70062c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylsp/lsp.py b/venv/lib/python3.8/site-packages/pylsp/lsp.py new file mode 120000 index 0000000..307c644 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylsp/lsp.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/40/61/61/ba58fd67dd07970b82a69c11d34785573eda13fd757234294bd5e21815 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylsp/plugins/__init__.py b/venv/lib/python3.8/site-packages/pylsp/plugins/__init__.py new file mode 120000 index 0000000..2064d1e --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylsp/plugins/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6c/35/b1/4639842cf0951b2db8dffd2436b1bb3edb7266cbff799f494ca42b5351 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..557025b Binary files /dev/null and b/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/_resolvers.cpython-38.pyc b/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/_resolvers.cpython-38.pyc new file mode 100644 index 0000000..d5460b5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/_resolvers.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/autopep8_format.cpython-38.pyc b/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/autopep8_format.cpython-38.pyc new file mode 100644 index 0000000..1b1a632 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/autopep8_format.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/definition.cpython-38.pyc b/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/definition.cpython-38.pyc new file mode 100644 index 0000000..42aa293 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/definition.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/flake8_lint.cpython-38.pyc b/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/flake8_lint.cpython-38.pyc new file mode 100644 index 0000000..35b983b Binary files /dev/null and b/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/flake8_lint.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/folding.cpython-38.pyc b/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/folding.cpython-38.pyc new file mode 100644 index 0000000..5d38bc0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/folding.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/highlight.cpython-38.pyc b/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/highlight.cpython-38.pyc new file mode 100644 index 0000000..6050791 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/highlight.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/hover.cpython-38.pyc b/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/hover.cpython-38.pyc new file mode 100644 index 0000000..ce83517 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/hover.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/jedi_completion.cpython-38.pyc b/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/jedi_completion.cpython-38.pyc new file mode 100644 index 0000000..c7c5838 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/jedi_completion.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/jedi_rename.cpython-38.pyc b/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/jedi_rename.cpython-38.pyc new file mode 100644 index 0000000..d5f779d Binary files /dev/null and b/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/jedi_rename.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/mccabe_lint.cpython-38.pyc b/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/mccabe_lint.cpython-38.pyc new file mode 100644 index 0000000..9796395 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/mccabe_lint.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/preload_imports.cpython-38.pyc b/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/preload_imports.cpython-38.pyc new file mode 100644 index 0000000..b2b9ba2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/preload_imports.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/pycodestyle_lint.cpython-38.pyc b/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/pycodestyle_lint.cpython-38.pyc new file mode 100644 index 0000000..91bda42 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/pycodestyle_lint.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/pydocstyle_lint.cpython-38.pyc b/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/pydocstyle_lint.cpython-38.pyc new file mode 100644 index 0000000..03def87 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/pydocstyle_lint.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/pyflakes_lint.cpython-38.pyc b/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/pyflakes_lint.cpython-38.pyc new file mode 100644 index 0000000..4642cba Binary files /dev/null and b/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/pyflakes_lint.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/pylint_lint.cpython-38.pyc b/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/pylint_lint.cpython-38.pyc new file mode 100644 index 0000000..63bb892 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/pylint_lint.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/references.cpython-38.pyc b/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/references.cpython-38.pyc new file mode 100644 index 0000000..ed35f99 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/references.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/rope_completion.cpython-38.pyc b/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/rope_completion.cpython-38.pyc new file mode 100644 index 0000000..32956d1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/rope_completion.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/rope_rename.cpython-38.pyc b/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/rope_rename.cpython-38.pyc new file mode 100644 index 0000000..33e2a2a Binary files /dev/null and b/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/rope_rename.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/signature.cpython-38.pyc b/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/signature.cpython-38.pyc new file mode 100644 index 0000000..54238d6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/signature.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/symbols.cpython-38.pyc b/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/symbols.cpython-38.pyc new file mode 100644 index 0000000..56a840b Binary files /dev/null and b/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/symbols.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/yapf_format.cpython-38.pyc b/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/yapf_format.cpython-38.pyc new file mode 100644 index 0000000..00dee0d Binary files /dev/null and b/venv/lib/python3.8/site-packages/pylsp/plugins/__pycache__/yapf_format.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pylsp/plugins/_resolvers.py b/venv/lib/python3.8/site-packages/pylsp/plugins/_resolvers.py new file mode 120000 index 0000000..e59852e --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylsp/plugins/_resolvers.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f8/5c/eb/3a398f5235de4c858c7b3e9135781b3d8b2575209d20794430e8b4037a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylsp/plugins/autopep8_format.py b/venv/lib/python3.8/site-packages/pylsp/plugins/autopep8_format.py new file mode 120000 index 0000000..b610e2c --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylsp/plugins/autopep8_format.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/97/1b/67/0f987a516e5d895bd68700fce59c1b3ecc8a96ab01004dc33de9ad3d6c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylsp/plugins/definition.py b/venv/lib/python3.8/site-packages/pylsp/plugins/definition.py new file mode 120000 index 0000000..71b4efb --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylsp/plugins/definition.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bf/a6/49/ab3e437e365547f4ddab7769710f4c1939a82d0fc98eaf1ca81bd829a1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylsp/plugins/flake8_lint.py b/venv/lib/python3.8/site-packages/pylsp/plugins/flake8_lint.py new file mode 120000 index 0000000..f1e5416 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylsp/plugins/flake8_lint.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fb/c8/a0/06e9fc0ed92af926a65b16b231b7997541065b28b8d8b0c1d9c679bb18 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylsp/plugins/folding.py b/venv/lib/python3.8/site-packages/pylsp/plugins/folding.py new file mode 120000 index 0000000..fde2ddb --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylsp/plugins/folding.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d5/a8/e7/28492369374efa0d4f2cedd1238c625b4c6f575a1a8b206eb00997ef51 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylsp/plugins/highlight.py b/venv/lib/python3.8/site-packages/pylsp/plugins/highlight.py new file mode 120000 index 0000000..e503729 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylsp/plugins/highlight.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fb/48/76/5e5916893e2aef1812c2742c408f358754dd31a1f1ff8ff8f417a7be4b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylsp/plugins/hover.py b/venv/lib/python3.8/site-packages/pylsp/plugins/hover.py new file mode 120000 index 0000000..984f1c3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylsp/plugins/hover.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/03/12/12/7d34bbfa8b5c90301bc720111eaffbaeeafaee7da52f692fe30f0af7d8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylsp/plugins/jedi_completion.py b/venv/lib/python3.8/site-packages/pylsp/plugins/jedi_completion.py new file mode 120000 index 0000000..4a2f0e2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylsp/plugins/jedi_completion.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/52/b6/59/ae65501333a0deb7a17ce584237711de3764efe62b359c2fcbeac1e986 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylsp/plugins/jedi_rename.py b/venv/lib/python3.8/site-packages/pylsp/plugins/jedi_rename.py new file mode 120000 index 0000000..15e4b16 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylsp/plugins/jedi_rename.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/28/a1/20/d5216f80d89ac3fd9b27c346702be94e69bb827048e6d40c55b541ca8c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylsp/plugins/mccabe_lint.py b/venv/lib/python3.8/site-packages/pylsp/plugins/mccabe_lint.py new file mode 120000 index 0000000..d41dff8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylsp/plugins/mccabe_lint.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c0/df/b2/f6e347e0b7ea13023ecefff122613e6a636a03539574bddab1c6fe9ab3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylsp/plugins/preload_imports.py b/venv/lib/python3.8/site-packages/pylsp/plugins/preload_imports.py new file mode 120000 index 0000000..3466af0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylsp/plugins/preload_imports.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/41/eb/7c/5557a22da234d1fcbdf40f52e7d5b44dbd2d8978e3627037497648ae76 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylsp/plugins/pycodestyle_lint.py b/venv/lib/python3.8/site-packages/pylsp/plugins/pycodestyle_lint.py new file mode 120000 index 0000000..c88e28e --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylsp/plugins/pycodestyle_lint.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5c/75/94/fd64af13e93ffff6c5ef796e9c6a06eedfcec470349bbc434af37a890b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylsp/plugins/pydocstyle_lint.py b/venv/lib/python3.8/site-packages/pylsp/plugins/pydocstyle_lint.py new file mode 120000 index 0000000..66b9d84 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylsp/plugins/pydocstyle_lint.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8b/24/ee/28209881468c209cd5cb385af5d03c2e1a5011c05158f07760ab4e5a2b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylsp/plugins/pyflakes_lint.py b/venv/lib/python3.8/site-packages/pylsp/plugins/pyflakes_lint.py new file mode 120000 index 0000000..8c7dde6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylsp/plugins/pyflakes_lint.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d8/d4/4b/57dfe589ea5bdd97934adde4a7a5ec606f02da8fc97acccd24e5b966bf \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylsp/plugins/pylint_lint.py b/venv/lib/python3.8/site-packages/pylsp/plugins/pylint_lint.py new file mode 120000 index 0000000..6d05368 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylsp/plugins/pylint_lint.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0b/82/92/99dc6e70b56de77ac7eb3ec6cc74d18f0c2cd101646df326eedc6ad652 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylsp/plugins/references.py b/venv/lib/python3.8/site-packages/pylsp/plugins/references.py new file mode 120000 index 0000000..2898351 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylsp/plugins/references.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4e/54/b7/157678575b94367a28ad7fc8546003821c724e8f38d86d52ecf6036621 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylsp/plugins/rope_completion.py b/venv/lib/python3.8/site-packages/pylsp/plugins/rope_completion.py new file mode 120000 index 0000000..1dfddbc --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylsp/plugins/rope_completion.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cf/fd/fd/251f77a8605ce1889a18aaa3bf01eb2a811b48ba66628713abfd83d22a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylsp/plugins/rope_rename.py b/venv/lib/python3.8/site-packages/pylsp/plugins/rope_rename.py new file mode 120000 index 0000000..35c5d22 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylsp/plugins/rope_rename.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a2/11/46/5c774e6165977145ad20678e7b148bea166179a39166c7e0201cb6d8b6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylsp/plugins/signature.py b/venv/lib/python3.8/site-packages/pylsp/plugins/signature.py new file mode 120000 index 0000000..a391e2a --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylsp/plugins/signature.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/59/4b/51/98ca73fbe9950da9375b8bd701a00377eff7ecf82dc90539e124a6aeb0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylsp/plugins/symbols.py b/venv/lib/python3.8/site-packages/pylsp/plugins/symbols.py new file mode 120000 index 0000000..26adc26 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylsp/plugins/symbols.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f5/58/8a/2c85ccdafa76b4106c9911fb65036651c6fd5ac02aca6a103d2492ccc1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylsp/plugins/yapf_format.py b/venv/lib/python3.8/site-packages/pylsp/plugins/yapf_format.py new file mode 120000 index 0000000..a4fe915 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylsp/plugins/yapf_format.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/62/d8/ea/d2b37fbcbb168c3bc18eb97b21a20cb6c62d879366a89efd5098fd3fc7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylsp/python_lsp.py b/venv/lib/python3.8/site-packages/pylsp/python_lsp.py new file mode 120000 index 0000000..5e75c9c --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylsp/python_lsp.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6e/b0/9b/4eb9a371d6d0db2b37df430b4c3ae4e2545c7433348bb22d68e40d794a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylsp/text_edit.py b/venv/lib/python3.8/site-packages/pylsp/text_edit.py new file mode 120000 index 0000000..4fd05a9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylsp/text_edit.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d6/68/bb/1fa336ce0c2673de724a6a7b4a30f2f50fa47874db978632a24dc8e724 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylsp/uris.py b/venv/lib/python3.8/site-packages/pylsp/uris.py new file mode 120000 index 0000000..2362c97 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylsp/uris.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bc/09/bb/b3d6290afb7f1390a402cacec3f6476fb6fba012a4b8d8fa1bb6a871c2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylsp/workspace.py b/venv/lib/python3.8/site-packages/pylsp/workspace.py new file mode 120000 index 0000000..29dfe8b --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylsp/workspace.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0e/87/b4/d57d3c862b26177943d5215a086acfb209dff8005371b4126cdcf33b85 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylsp_jsonrpc/__init__.py b/venv/lib/python3.8/site-packages/pylsp_jsonrpc/__init__.py new file mode 120000 index 0000000..456e3ab --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylsp_jsonrpc/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9d/a3/cf/4329f2e4f46e8adc1268bdf83f0e3d75ac3e652d881e76e01a06137be5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylsp_jsonrpc/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pylsp_jsonrpc/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..b6f548c Binary files /dev/null and b/venv/lib/python3.8/site-packages/pylsp_jsonrpc/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pylsp_jsonrpc/__pycache__/_version.cpython-38.pyc b/venv/lib/python3.8/site-packages/pylsp_jsonrpc/__pycache__/_version.cpython-38.pyc new file mode 100644 index 0000000..6fd5ab3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pylsp_jsonrpc/__pycache__/_version.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pylsp_jsonrpc/__pycache__/dispatchers.cpython-38.pyc b/venv/lib/python3.8/site-packages/pylsp_jsonrpc/__pycache__/dispatchers.cpython-38.pyc new file mode 100644 index 0000000..73fd5b0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pylsp_jsonrpc/__pycache__/dispatchers.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pylsp_jsonrpc/__pycache__/endpoint.cpython-38.pyc b/venv/lib/python3.8/site-packages/pylsp_jsonrpc/__pycache__/endpoint.cpython-38.pyc new file mode 100644 index 0000000..10a067d Binary files /dev/null and b/venv/lib/python3.8/site-packages/pylsp_jsonrpc/__pycache__/endpoint.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pylsp_jsonrpc/__pycache__/exceptions.cpython-38.pyc b/venv/lib/python3.8/site-packages/pylsp_jsonrpc/__pycache__/exceptions.cpython-38.pyc new file mode 100644 index 0000000..677a07a Binary files /dev/null and b/venv/lib/python3.8/site-packages/pylsp_jsonrpc/__pycache__/exceptions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pylsp_jsonrpc/__pycache__/streams.cpython-38.pyc b/venv/lib/python3.8/site-packages/pylsp_jsonrpc/__pycache__/streams.cpython-38.pyc new file mode 100644 index 0000000..cee5c54 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pylsp_jsonrpc/__pycache__/streams.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pylsp_jsonrpc/_version.py b/venv/lib/python3.8/site-packages/pylsp_jsonrpc/_version.py new file mode 120000 index 0000000..2df30b9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylsp_jsonrpc/_version.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/67/d4/78/8a9db706860fc29b9b448ba0bdf5d6d8eb499ea97bd25742f9342cc99a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylsp_jsonrpc/dispatchers.py b/venv/lib/python3.8/site-packages/pylsp_jsonrpc/dispatchers.py new file mode 120000 index 0000000..af6b648 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylsp_jsonrpc/dispatchers.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c1/8d/3c/10192ff7322474e78a3c473172e769314a2190ea53ea31096d6bb1ff53 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylsp_jsonrpc/endpoint.py b/venv/lib/python3.8/site-packages/pylsp_jsonrpc/endpoint.py new file mode 120000 index 0000000..734abec --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylsp_jsonrpc/endpoint.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9d/33/82/bf2167edf87551b3859d0ecfd1083a3655c8de9569eb45a955fc58f32f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylsp_jsonrpc/exceptions.py b/venv/lib/python3.8/site-packages/pylsp_jsonrpc/exceptions.py new file mode 120000 index 0000000..8e53783 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylsp_jsonrpc/exceptions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/91/a1/d1/f1141784f23cb15728537e22dad0f061ab2caf86c337cf2ad97bd18af4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pylsp_jsonrpc/streams.py b/venv/lib/python3.8/site-packages/pylsp_jsonrpc/streams.py new file mode 120000 index 0000000..b99ca10 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pylsp_jsonrpc/streams.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5d/26/4a/48142015b077c9bdb599b1aa869a3896f57b4d00f560158bcbbd5d26de \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pyparsing-3.0.9.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/pyparsing-3.0.9.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/pyparsing-3.0.9.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/pyparsing-3.0.9.dist-info/LICENSE b/venv/lib/python3.8/site-packages/pyparsing-3.0.9.dist-info/LICENSE new file mode 120000 index 0000000..2171c97 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pyparsing-3.0.9.dist-info/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/10/d5/12/0a16805804ffda8b688c220bfb4e8f39741b57320604d455a309e01972 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pyparsing-3.0.9.dist-info/METADATA b/venv/lib/python3.8/site-packages/pyparsing-3.0.9.dist-info/METADATA new file mode 120000 index 0000000..1b39d98 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pyparsing-3.0.9.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/87/f7/e9/9bdaf0be066c13cbf960d178200a3e22968558239f5049b930c0722223 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pyparsing-3.0.9.dist-info/RECORD b/venv/lib/python3.8/site-packages/pyparsing-3.0.9.dist-info/RECORD new file mode 100644 index 0000000..272f485 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pyparsing-3.0.9.dist-info/RECORD @@ -0,0 +1,28 @@ +pyparsing-3.0.9.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +pyparsing-3.0.9.dist-info/LICENSE,sha256=ENUSChaAWAT_2otojCIL-06POXQbVzIGBNRVowngGXI,1023 +pyparsing-3.0.9.dist-info/METADATA,sha256=h_fpm9rwvgZsE8v5YNF4IAo-IpaFWCOfUEm5MMByIiM,4207 +pyparsing-3.0.9.dist-info/RECORD,, +pyparsing-3.0.9.dist-info/WHEEL,sha256=jPMR_Dzkc4X4icQtmz81lnNY_kAsfog7ry7qoRvYLXw,81 +pyparsing/__init__.py,sha256=52QH3lgPbJhba0estckoGPHRH8JvQSSCGoWiEn2m0bU,9159 +pyparsing/__pycache__/__init__.cpython-38.pyc,, +pyparsing/__pycache__/actions.cpython-38.pyc,, +pyparsing/__pycache__/common.cpython-38.pyc,, +pyparsing/__pycache__/core.cpython-38.pyc,, +pyparsing/__pycache__/exceptions.cpython-38.pyc,, +pyparsing/__pycache__/helpers.cpython-38.pyc,, +pyparsing/__pycache__/results.cpython-38.pyc,, +pyparsing/__pycache__/testing.cpython-38.pyc,, +pyparsing/__pycache__/unicode.cpython-38.pyc,, +pyparsing/__pycache__/util.cpython-38.pyc,, +pyparsing/actions.py,sha256=wU9i32e0y1ymxKE3OUwSHO-SFIrt1h_wv6Ws0GQjpNU,6426 +pyparsing/common.py,sha256=lFL97ooIeR75CmW5hjURZqwDCTgruqltcTCZ-ulLO2Q,12936 +pyparsing/core.py,sha256=u8GptQE_H6wMkl8OZhxeK1aAPIDXXNgwdShORBwBVS4,213310 +pyparsing/diagram/__init__.py,sha256=f_EfxahqrdkRVahmTwLJXkZ9EEDKNd-O7lBbpJYlE1g,23668 +pyparsing/diagram/__pycache__/__init__.cpython-38.pyc,, +pyparsing/exceptions.py,sha256=3LbSafD32NYb1Tzt85GHNkhEAU1eZkTtNSk24cPMemo,9023 +pyparsing/helpers.py,sha256=QpUOjW0-psvueMwWb9bQpU2noqKCv98_wnw1VSzSdVo,39129 +pyparsing/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +pyparsing/results.py,sha256=HgNvWVXBdQP-Q6PtJfoCEeOJk2nwEvG-2KVKC5sGA30,25341 +pyparsing/testing.py,sha256=7tu4Abp4uSeJV0N_yEPRmmNUhpd18ZQP3CrX41DM814,13402 +pyparsing/unicode.py,sha256=fwuhMj30SQ165Cv7HJpu-rSxGbRm93kN9L4Ei7VGc1Y,10787 +pyparsing/util.py,sha256=kq772O5YSeXOSdP-M31EWpbH_ayj7BMHImBYo9xPD5M,6805 diff --git a/venv/lib/python3.8/site-packages/pyparsing-3.0.9.dist-info/WHEEL b/venv/lib/python3.8/site-packages/pyparsing-3.0.9.dist-info/WHEEL new file mode 120000 index 0000000..cfb76ae --- /dev/null +++ b/venv/lib/python3.8/site-packages/pyparsing-3.0.9.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8c/f3/11/fc3ce47385f889c42d9b3f35967358fe402c7e883baf2eeaa11bd82d7c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pyparsing/__init__.py b/venv/lib/python3.8/site-packages/pyparsing/__init__.py new file mode 120000 index 0000000..1498973 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pyparsing/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e7/64/07/de580f6c985b6b47acb5c92818f1d11fc26f4124821a85a2127da6d1b5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pyparsing/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pyparsing/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..b87a558 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pyparsing/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pyparsing/__pycache__/actions.cpython-38.pyc b/venv/lib/python3.8/site-packages/pyparsing/__pycache__/actions.cpython-38.pyc new file mode 100644 index 0000000..42f053f Binary files /dev/null and b/venv/lib/python3.8/site-packages/pyparsing/__pycache__/actions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pyparsing/__pycache__/common.cpython-38.pyc b/venv/lib/python3.8/site-packages/pyparsing/__pycache__/common.cpython-38.pyc new file mode 100644 index 0000000..bda10f2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pyparsing/__pycache__/common.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pyparsing/__pycache__/core.cpython-38.pyc b/venv/lib/python3.8/site-packages/pyparsing/__pycache__/core.cpython-38.pyc new file mode 100644 index 0000000..0eff76a Binary files /dev/null and b/venv/lib/python3.8/site-packages/pyparsing/__pycache__/core.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pyparsing/__pycache__/exceptions.cpython-38.pyc b/venv/lib/python3.8/site-packages/pyparsing/__pycache__/exceptions.cpython-38.pyc new file mode 100644 index 0000000..8cbde5d Binary files /dev/null and b/venv/lib/python3.8/site-packages/pyparsing/__pycache__/exceptions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pyparsing/__pycache__/helpers.cpython-38.pyc b/venv/lib/python3.8/site-packages/pyparsing/__pycache__/helpers.cpython-38.pyc new file mode 100644 index 0000000..991f5e7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pyparsing/__pycache__/helpers.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pyparsing/__pycache__/results.cpython-38.pyc b/venv/lib/python3.8/site-packages/pyparsing/__pycache__/results.cpython-38.pyc new file mode 100644 index 0000000..0ba6c57 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pyparsing/__pycache__/results.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pyparsing/__pycache__/testing.cpython-38.pyc b/venv/lib/python3.8/site-packages/pyparsing/__pycache__/testing.cpython-38.pyc new file mode 100644 index 0000000..30ccfdb Binary files /dev/null and b/venv/lib/python3.8/site-packages/pyparsing/__pycache__/testing.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pyparsing/__pycache__/unicode.cpython-38.pyc b/venv/lib/python3.8/site-packages/pyparsing/__pycache__/unicode.cpython-38.pyc new file mode 100644 index 0000000..c72d4dd Binary files /dev/null and b/venv/lib/python3.8/site-packages/pyparsing/__pycache__/unicode.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pyparsing/__pycache__/util.cpython-38.pyc b/venv/lib/python3.8/site-packages/pyparsing/__pycache__/util.cpython-38.pyc new file mode 100644 index 0000000..158b54a Binary files /dev/null and b/venv/lib/python3.8/site-packages/pyparsing/__pycache__/util.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pyparsing/actions.py b/venv/lib/python3.8/site-packages/pyparsing/actions.py new file mode 120000 index 0000000..0bb61d8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pyparsing/actions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c1/4f/62/df67b4cb5ca6c4a137394c121cef92148aedd61ff0bfa5acd06423a4d5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pyparsing/common.py b/venv/lib/python3.8/site-packages/pyparsing/common.py new file mode 120000 index 0000000..414f9fd --- /dev/null +++ b/venv/lib/python3.8/site-packages/pyparsing/common.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/94/52/fd/ee8a08791ef90a65b986351166ac0309382bbaa96d713099fae94b3b64 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pyparsing/core.py b/venv/lib/python3.8/site-packages/pyparsing/core.py new file mode 120000 index 0000000..0318c7c --- /dev/null +++ b/venv/lib/python3.8/site-packages/pyparsing/core.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bb/c1/a9/b5013f1fac0c925f0e661c5e2b56803c80d75cd83075284e441c01552e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pyparsing/diagram/__init__.py b/venv/lib/python3.8/site-packages/pyparsing/diagram/__init__.py new file mode 120000 index 0000000..101d291 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pyparsing/diagram/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7f/f1/1f/c5a86aadd91155a8664f02c95e467d1040ca35df8eee505ba496251358 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pyparsing/diagram/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pyparsing/diagram/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..4797887 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pyparsing/diagram/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pyparsing/exceptions.py b/venv/lib/python3.8/site-packages/pyparsing/exceptions.py new file mode 120000 index 0000000..4c61581 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pyparsing/exceptions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/dc/b6/d2/69f0f7d8d61bd53cedf39187364844014d5e6644ed352936e1c3cc7a6a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pyparsing/helpers.py b/venv/lib/python3.8/site-packages/pyparsing/helpers.py new file mode 120000 index 0000000..2158d12 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pyparsing/helpers.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/42/95/0e/8d6d3ea6cbee78cc166fd6d0a54da7a2a282bfdf3fc27c35552cd2755a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pyparsing/py.typed b/venv/lib/python3.8/site-packages/pyparsing/py.typed new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pyparsing/py.typed @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pyparsing/results.py b/venv/lib/python3.8/site-packages/pyparsing/results.py new file mode 120000 index 0000000..b9f2d9d --- /dev/null +++ b/venv/lib/python3.8/site-packages/pyparsing/results.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1e/03/6f/5955c17503fe43a3ed25fa0211e3899369f012f1bed8a54a0b9b06037d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pyparsing/testing.py b/venv/lib/python3.8/site-packages/pyparsing/testing.py new file mode 120000 index 0000000..9c2cdf4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pyparsing/testing.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ee/db/b8/01ba78b9278957437fc843d19a6354869775f1940fdc2ad7e350ccf35e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pyparsing/unicode.py b/venv/lib/python3.8/site-packages/pyparsing/unicode.py new file mode 120000 index 0000000..b0ca2a0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pyparsing/unicode.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7f/0b/a1/323df4490d7ae42bfb1c9a6efab4b119b466f7790df4be048bb5467356 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pyparsing/util.py b/venv/lib/python3.8/site-packages/pyparsing/util.py new file mode 120000 index 0000000..3313222 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pyparsing/util.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/92/ae/fb/d8ee5849e5ce49d3fe337d445a96c7fdaca3ec1307226058a3dc4f0f93 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/python_lsp_jsonrpc-1.0.0.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/python_lsp_jsonrpc-1.0.0.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/python_lsp_jsonrpc-1.0.0.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/python_lsp_jsonrpc-1.0.0.dist-info/LICENSE b/venv/lib/python3.8/site-packages/python_lsp_jsonrpc-1.0.0.dist-info/LICENSE new file mode 120000 index 0000000..8c9dfe0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/python_lsp_jsonrpc-1.0.0.dist-info/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ae/c0/2b/478e57f395ae45802b2aa70fcf99bba3eabf4cd700c065cd62a7d92a1b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/python_lsp_jsonrpc-1.0.0.dist-info/METADATA b/venv/lib/python3.8/site-packages/python_lsp_jsonrpc-1.0.0.dist-info/METADATA new file mode 120000 index 0000000..e16d42d --- /dev/null +++ b/venv/lib/python3.8/site-packages/python_lsp_jsonrpc-1.0.0.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e4/91/12/82d55ac395cb01b6b81214bf6a0ff6464aa4461f438b79a3b57f077c5b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/python_lsp_jsonrpc-1.0.0.dist-info/RECORD b/venv/lib/python3.8/site-packages/python_lsp_jsonrpc-1.0.0.dist-info/RECORD new file mode 100644 index 0000000..96f9413 --- /dev/null +++ b/venv/lib/python3.8/site-packages/python_lsp_jsonrpc-1.0.0.dist-info/RECORD @@ -0,0 +1,20 @@ +pylsp_jsonrpc/__init__.py,sha256=naPPQyny5PRuitwSaL34Pw49daw-ZS2IHnbgGgYTe-U,165 +pylsp_jsonrpc/__pycache__/__init__.cpython-38.pyc,, +pylsp_jsonrpc/__pycache__/_version.cpython-38.pyc,, +pylsp_jsonrpc/__pycache__/dispatchers.cpython-38.pyc,, +pylsp_jsonrpc/__pycache__/endpoint.cpython-38.pyc,, +pylsp_jsonrpc/__pycache__/exceptions.cpython-38.pyc,, +pylsp_jsonrpc/__pycache__/streams.cpython-38.pyc,, +pylsp_jsonrpc/_version.py,sha256=Z9R4ip23BoYPwpubRIugvfXW2OtJnql70ldC-TQsyZo,178 +pylsp_jsonrpc/dispatchers.py,sha256=wY08EBkv9zIkdOeKPEcxcudpMUohkOpT6jEJbWux_1M,1046 +pylsp_jsonrpc/endpoint.py,sha256=nTOCvyFn7fh1UbOFnQ7P0Qg6NlXI3pVp60WpVfxY8y8,9594 +pylsp_jsonrpc/exceptions.py,sha256=kaHR8RQXhPI8sVcoU34i2tDwYassr4bDN88q2XvRivQ,2805 +pylsp_jsonrpc/streams.py,sha256=XSZKSBQgFbB3yb21mbGqhpo4lvV7TQD1YBWLy71dJt4,3308 +python_lsp_jsonrpc-1.0.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +python_lsp_jsonrpc-1.0.0.dist-info/LICENSE,sha256=rsArR45X85WuRYArKqcPz5m7o-q_TNcAwGXNYqfZKhs,1147 +python_lsp_jsonrpc-1.0.0.dist-info/METADATA,sha256=5JESgtVaw5XLAba4EhS_ag_2RkqkRh9Di3mjtX8HfFs,1432 +python_lsp_jsonrpc-1.0.0.dist-info/RECORD,, +python_lsp_jsonrpc-1.0.0.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +python_lsp_jsonrpc-1.0.0.dist-info/WHEEL,sha256=OqRkF0eY5GHssMorFjlbTIq072vpHpF60fIQA6lS9xA,92 +python_lsp_jsonrpc-1.0.0.dist-info/direct_url.json,sha256=maDX9oE06u77DSKII8W1vxdqp-Q0qmXC_Te3nXzNIgg,260 +python_lsp_jsonrpc-1.0.0.dist-info/top_level.txt,sha256=qCQXWJYpx2kL0L5zkfLMXPb9a9Px6o3fJcyTS_TCB3M,14 diff --git a/venv/lib/python3.8/site-packages/python_lsp_jsonrpc-1.0.0.dist-info/REQUESTED b/venv/lib/python3.8/site-packages/python_lsp_jsonrpc-1.0.0.dist-info/REQUESTED new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.8/site-packages/python_lsp_jsonrpc-1.0.0.dist-info/WHEEL b/venv/lib/python3.8/site-packages/python_lsp_jsonrpc-1.0.0.dist-info/WHEEL new file mode 120000 index 0000000..5c55a1c --- /dev/null +++ b/venv/lib/python3.8/site-packages/python_lsp_jsonrpc-1.0.0.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3a/a4/64/174798e461ecb0ca2b16395b4c8ab4ef6be91e917ad1f21003a952f710 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/python_lsp_jsonrpc-1.0.0.dist-info/direct_url.json b/venv/lib/python3.8/site-packages/python_lsp_jsonrpc-1.0.0.dist-info/direct_url.json new file mode 100644 index 0000000..0df5368 --- /dev/null +++ b/venv/lib/python3.8/site-packages/python_lsp_jsonrpc-1.0.0.dist-info/direct_url.json @@ -0,0 +1 @@ +{"archive_info": {"hash": "sha256=079b143be64b0a378bdb21dff5e28a8c1393fe7e8a654ef068322d754e545fc7"}, "url": "https://files.pythonhosted.org/packages/06/ee/754bfd5f6bfe7162c10d3ecb0aeef6f882f91d3231596c83f761a75efd0b/python_lsp_jsonrpc-1.0.0-py3-none-any.whl"} \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/python_lsp_jsonrpc-1.0.0.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/python_lsp_jsonrpc-1.0.0.dist-info/top_level.txt new file mode 120000 index 0000000..25d66d8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/python_lsp_jsonrpc-1.0.0.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a8/24/17/589629c7690bd0be7391f2cc5cf6fd6bd3f1ea8ddf25cc934bf4c20773 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pytoolconfig-1.2.2.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/pytoolconfig-1.2.2.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/pytoolconfig-1.2.2.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/pytoolconfig-1.2.2.dist-info/METADATA b/venv/lib/python3.8/site-packages/pytoolconfig-1.2.2.dist-info/METADATA new file mode 120000 index 0000000..789cba8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pytoolconfig-1.2.2.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3a/83/2b/6a9d7a0c64f72f4b80404d508c9c0df28893493f675071b9f9e8c3b54a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pytoolconfig-1.2.2.dist-info/RECORD b/venv/lib/python3.8/site-packages/pytoolconfig-1.2.2.dist-info/RECORD new file mode 100644 index 0000000..34e6025 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pytoolconfig-1.2.2.dist-info/RECORD @@ -0,0 +1,36 @@ +pytoolconfig-1.2.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +pytoolconfig-1.2.2.dist-info/METADATA,sha256=OoMrap16DGT3L0uAQE1QjJwN8oiTST9nUHG5-ejDtUo,1511 +pytoolconfig-1.2.2.dist-info/RECORD,, +pytoolconfig-1.2.2.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +pytoolconfig-1.2.2.dist-info/WHEEL,sha256=yYKnSAC2jORi-lkKULzVaPCdYdfjHjBJxbFSO4r-OgA,87 +pytoolconfig-1.2.2.dist-info/direct_url.json,sha256=KSIyRV9CWr1Kfa47RzQeXoCS58cFnUtmWFknyV72_ac,254 +pytoolconfig-1.2.2.dist-info/license_files/LICENSE,sha256=46mU2C5kSwOnkqkw9XQAJlhBL2JAf1_uCD8lVcXyMRg,7652 +pytoolconfig/__init__.py,sha256=kpw8BLkBWN7iTcp7mCmv8zWRbNVm5Pk7eqjoJ9ctKWo,294 +pytoolconfig/__pycache__/__init__.cpython-38.pyc,, +pytoolconfig/__pycache__/_version.cpython-38.pyc,, +pytoolconfig/__pycache__/documentation.cpython-38.pyc,, +pytoolconfig/__pycache__/fields.cpython-38.pyc,, +pytoolconfig/__pycache__/pytoolconfig.cpython-38.pyc,, +pytoolconfig/__pycache__/types.cpython-38.pyc,, +pytoolconfig/__pycache__/universal_config.cpython-38.pyc,, +pytoolconfig/__pycache__/utils.cpython-38.pyc,, +pytoolconfig/_version.py,sha256=hWk_OdToXliMB80JlXoWJ0SoSNsaotnENTct-Cce1HY,400 +pytoolconfig/documentation.py,sha256=WrS5HhpyUuTnNuOGGC8snxxfVacEXiW7VAE-oAdN3UY,5332 +pytoolconfig/fields.py,sha256=8IGL_bW6Gc_ybEpENvc4rNldcAJmQYIyIn0UKNtacWU,2743 +pytoolconfig/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +pytoolconfig/pytoolconfig.py,sha256=U31V0wJ8FGh3qBYTOLGXDrnb3xkIPZtFDvI27hnjo14,4520 +pytoolconfig/sources/__init__.py,sha256=wD7zAXE7qDhN5drSXCqhJ7P5c-ARR4DYIAAjbildJX0,258 +pytoolconfig/sources/__pycache__/__init__.cpython-38.pyc,, +pytoolconfig/sources/__pycache__/ini.cpython-38.pyc,, +pytoolconfig/sources/__pycache__/pyproject.cpython-38.pyc,, +pytoolconfig/sources/__pycache__/pytool.cpython-38.pyc,, +pytoolconfig/sources/__pycache__/setup_cfg.cpython-38.pyc,, +pytoolconfig/sources/__pycache__/source.cpython-38.pyc,, +pytoolconfig/sources/ini.py,sha256=ZNfpu4oEJby-ygT-YyLaZ0OOARSJVYWKE3SVNIz6aP8,2376 +pytoolconfig/sources/pyproject.py,sha256=UdF52uzktPwZrupHb6xXrAdBbz5Ezn8OraA5B8zXLs4,3888 +pytoolconfig/sources/pytool.py,sha256=DgjY_cW20in50UDd15CcQgg136G35ouP9fYZ_SfH3sA,1082 +pytoolconfig/sources/setup_cfg.py,sha256=yiEm4ssWhUAdU2m3w4XNQ-YuznBnmhHkC4V5NqJ04xQ,641 +pytoolconfig/sources/source.py,sha256=0_BLW_KU03fe1Rjy1ROrE0G-zu5gWcthqg5tL09rgZM,881 +pytoolconfig/types.py,sha256=7WE-R478u1EaGKcXdZ0w3M5b4qtzTkZzG1W9cU1XKjI,1465 +pytoolconfig/universal_config.py,sha256=fg7kB-DZgQTaJxiXrL5D92_lLYaa51GTOyLNGckRPxU,1284 +pytoolconfig/utils.py,sha256=w3azSj6o2lfF-Yz8ZgB3OsC6NonkTrYtgYZeYUFQ2wM,3505 diff --git a/venv/lib/python3.8/site-packages/pytoolconfig-1.2.2.dist-info/REQUESTED b/venv/lib/python3.8/site-packages/pytoolconfig-1.2.2.dist-info/REQUESTED new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.8/site-packages/pytoolconfig-1.2.2.dist-info/WHEEL b/venv/lib/python3.8/site-packages/pytoolconfig-1.2.2.dist-info/WHEEL new file mode 120000 index 0000000..a99c719 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pytoolconfig-1.2.2.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c9/82/a7/4800b68ce462fa590a50bcd568f09d61d7e31e3049c5b1523b8afe3a00 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pytoolconfig-1.2.2.dist-info/direct_url.json b/venv/lib/python3.8/site-packages/pytoolconfig-1.2.2.dist-info/direct_url.json new file mode 100644 index 0000000..18b2ab0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pytoolconfig-1.2.2.dist-info/direct_url.json @@ -0,0 +1 @@ +{"archive_info": {"hash": "sha256=825d97b052e58b609c2684b04efeb543075588d33a4916a6dc2ae39676458c7d"}, "url": "https://files.pythonhosted.org/packages/26/15/e21a7c063c29c0b782be090df589b25fdc62ea3b5e5687a94a217851944e/pytoolconfig-1.2.2-py3-none-any.whl"} \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pytoolconfig-1.2.2.dist-info/license_files/LICENSE b/venv/lib/python3.8/site-packages/pytoolconfig-1.2.2.dist-info/license_files/LICENSE new file mode 120000 index 0000000..daa07cb --- /dev/null +++ b/venv/lib/python3.8/site-packages/pytoolconfig-1.2.2.dist-info/license_files/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/a9/94/d82e644b03a792a930f574002658412f62407f5fee083f2555c5f23118 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pytoolconfig/__init__.py b/venv/lib/python3.8/site-packages/pytoolconfig/__init__.py new file mode 120000 index 0000000..829bfd4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pytoolconfig/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/92/9c/3c/04b90158dee24dca7b9829aff335916cd566e4f93b7aa8e827d72d296a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pytoolconfig/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pytoolconfig/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..fea97c5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pytoolconfig/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pytoolconfig/__pycache__/_version.cpython-38.pyc b/venv/lib/python3.8/site-packages/pytoolconfig/__pycache__/_version.cpython-38.pyc new file mode 100644 index 0000000..ba67480 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pytoolconfig/__pycache__/_version.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pytoolconfig/__pycache__/documentation.cpython-38.pyc b/venv/lib/python3.8/site-packages/pytoolconfig/__pycache__/documentation.cpython-38.pyc new file mode 100644 index 0000000..f2d7fde Binary files /dev/null and b/venv/lib/python3.8/site-packages/pytoolconfig/__pycache__/documentation.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pytoolconfig/__pycache__/fields.cpython-38.pyc b/venv/lib/python3.8/site-packages/pytoolconfig/__pycache__/fields.cpython-38.pyc new file mode 100644 index 0000000..3210dba Binary files /dev/null and b/venv/lib/python3.8/site-packages/pytoolconfig/__pycache__/fields.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pytoolconfig/__pycache__/pytoolconfig.cpython-38.pyc b/venv/lib/python3.8/site-packages/pytoolconfig/__pycache__/pytoolconfig.cpython-38.pyc new file mode 100644 index 0000000..0e1496b Binary files /dev/null and b/venv/lib/python3.8/site-packages/pytoolconfig/__pycache__/pytoolconfig.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pytoolconfig/__pycache__/types.cpython-38.pyc b/venv/lib/python3.8/site-packages/pytoolconfig/__pycache__/types.cpython-38.pyc new file mode 100644 index 0000000..22160b3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pytoolconfig/__pycache__/types.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pytoolconfig/__pycache__/universal_config.cpython-38.pyc b/venv/lib/python3.8/site-packages/pytoolconfig/__pycache__/universal_config.cpython-38.pyc new file mode 100644 index 0000000..671cd32 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pytoolconfig/__pycache__/universal_config.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pytoolconfig/__pycache__/utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/pytoolconfig/__pycache__/utils.cpython-38.pyc new file mode 100644 index 0000000..efa2a3c Binary files /dev/null and b/venv/lib/python3.8/site-packages/pytoolconfig/__pycache__/utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pytoolconfig/_version.py b/venv/lib/python3.8/site-packages/pytoolconfig/_version.py new file mode 120000 index 0000000..e03feaa --- /dev/null +++ b/venv/lib/python3.8/site-packages/pytoolconfig/_version.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/85/69/3f/39d4e85e588c07cd09957a162744a848db1aa2d9c435372df8271ed476 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pytoolconfig/documentation.py b/venv/lib/python3.8/site-packages/pytoolconfig/documentation.py new file mode 120000 index 0000000..1c19c0e --- /dev/null +++ b/venv/lib/python3.8/site-packages/pytoolconfig/documentation.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5a/b4/b9/1e1a7252e4e736e386182f2c9f1c5f55a7045e25bb54013ea0074ddd46 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pytoolconfig/fields.py b/venv/lib/python3.8/site-packages/pytoolconfig/fields.py new file mode 120000 index 0000000..ca5f137 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pytoolconfig/fields.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f0/81/8b/fdb5ba19cff26c4a4436f738acd95d700266418232227d1428db5a7165 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pytoolconfig/py.typed b/venv/lib/python3.8/site-packages/pytoolconfig/py.typed new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pytoolconfig/py.typed @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pytoolconfig/pytoolconfig.py b/venv/lib/python3.8/site-packages/pytoolconfig/pytoolconfig.py new file mode 120000 index 0000000..b12ed9c --- /dev/null +++ b/venv/lib/python3.8/site-packages/pytoolconfig/pytoolconfig.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/53/7d/55/d3027c146877a8161338b1970eb9dbdf19083d9b450ef236ee19e3a35e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pytoolconfig/sources/__init__.py b/venv/lib/python3.8/site-packages/pytoolconfig/sources/__init__.py new file mode 120000 index 0000000..162ad69 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pytoolconfig/sources/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c0/3e/f3/01713ba8384de5dad25c2aa127b3f973e0114780d82000236e295d257d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pytoolconfig/sources/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/pytoolconfig/sources/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..9a30b4b Binary files /dev/null and b/venv/lib/python3.8/site-packages/pytoolconfig/sources/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pytoolconfig/sources/__pycache__/ini.cpython-38.pyc b/venv/lib/python3.8/site-packages/pytoolconfig/sources/__pycache__/ini.cpython-38.pyc new file mode 100644 index 0000000..ffbba76 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pytoolconfig/sources/__pycache__/ini.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pytoolconfig/sources/__pycache__/pyproject.cpython-38.pyc b/venv/lib/python3.8/site-packages/pytoolconfig/sources/__pycache__/pyproject.cpython-38.pyc new file mode 100644 index 0000000..e2c6e8e Binary files /dev/null and b/venv/lib/python3.8/site-packages/pytoolconfig/sources/__pycache__/pyproject.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pytoolconfig/sources/__pycache__/pytool.cpython-38.pyc b/venv/lib/python3.8/site-packages/pytoolconfig/sources/__pycache__/pytool.cpython-38.pyc new file mode 100644 index 0000000..d39e74b Binary files /dev/null and b/venv/lib/python3.8/site-packages/pytoolconfig/sources/__pycache__/pytool.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pytoolconfig/sources/__pycache__/setup_cfg.cpython-38.pyc b/venv/lib/python3.8/site-packages/pytoolconfig/sources/__pycache__/setup_cfg.cpython-38.pyc new file mode 100644 index 0000000..4cf7307 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pytoolconfig/sources/__pycache__/setup_cfg.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pytoolconfig/sources/__pycache__/source.cpython-38.pyc b/venv/lib/python3.8/site-packages/pytoolconfig/sources/__pycache__/source.cpython-38.pyc new file mode 100644 index 0000000..d2a34e1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/pytoolconfig/sources/__pycache__/source.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/pytoolconfig/sources/ini.py b/venv/lib/python3.8/site-packages/pytoolconfig/sources/ini.py new file mode 120000 index 0000000..dee1a66 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pytoolconfig/sources/ini.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/64/d7/e9/bb8a0425bcbeca04fe6322da67438e01148955858a137495348cfa68ff \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pytoolconfig/sources/pyproject.py b/venv/lib/python3.8/site-packages/pytoolconfig/sources/pyproject.py new file mode 120000 index 0000000..fe19b2f --- /dev/null +++ b/venv/lib/python3.8/site-packages/pytoolconfig/sources/pyproject.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/51/d1/79/daece4b4fc19aeea476fac57ac07416f3e44ce7f0eada03907ccd72ece \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pytoolconfig/sources/pytool.py b/venv/lib/python3.8/site-packages/pytoolconfig/sources/pytool.py new file mode 120000 index 0000000..cad2836 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pytoolconfig/sources/pytool.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0e/08/d8/fdc5b6d229f9d140ddd7909c420835dfa1b7e68b8ff5f619fd27c7dec0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pytoolconfig/sources/setup_cfg.py b/venv/lib/python3.8/site-packages/pytoolconfig/sources/setup_cfg.py new file mode 120000 index 0000000..bc0222a --- /dev/null +++ b/venv/lib/python3.8/site-packages/pytoolconfig/sources/setup_cfg.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ca/21/26/e2cb1685401d5369b7c385cd43e62ece70679a11e40b857936a274e314 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pytoolconfig/sources/source.py b/venv/lib/python3.8/site-packages/pytoolconfig/sources/source.py new file mode 120000 index 0000000..fd2d376 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pytoolconfig/sources/source.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d3/f0/4b/5bf294d377ded518f2d513ab1341beceee6059cb61aa0e6d2f4f6b8193 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pytoolconfig/types.py b/venv/lib/python3.8/site-packages/pytoolconfig/types.py new file mode 120000 index 0000000..7f28b15 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pytoolconfig/types.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ed/61/3e/478efcbb511a18a717759d30dcce5be2ab734e46731b55bd714d572a32 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pytoolconfig/universal_config.py b/venv/lib/python3.8/site-packages/pytoolconfig/universal_config.py new file mode 120000 index 0000000..8d52f11 --- /dev/null +++ b/venv/lib/python3.8/site-packages/pytoolconfig/universal_config.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7e/0e/e4/07e0d98104da271897acbe43f76fe52d869ae751933b22cd19c9113f15 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/pytoolconfig/utils.py b/venv/lib/python3.8/site-packages/pytoolconfig/utils.py new file mode 120000 index 0000000..f059b9a --- /dev/null +++ b/venv/lib/python3.8/site-packages/pytoolconfig/utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c3/76/b3/4a3ea8da57c5f98cfc6600773ac0ba3689e44eb62d81865e614150db03 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/replit-3.2.4.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/replit-3.2.4.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/replit-3.2.4.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/replit-3.2.4.dist-info/LICENSE b/venv/lib/python3.8/site-packages/replit-3.2.4.dist-info/LICENSE new file mode 120000 index 0000000..af880f9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/replit-3.2.4.dist-info/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1f/cb/86/09e20959651c55b06844359d6070a10e5a07ab7907422d9a06b0433a75 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/replit-3.2.4.dist-info/METADATA b/venv/lib/python3.8/site-packages/replit-3.2.4.dist-info/METADATA new file mode 120000 index 0000000..6f8a55b --- /dev/null +++ b/venv/lib/python3.8/site-packages/replit-3.2.4.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e0/69/e3/dad600fa3e8f15b478dd53a6d801e6c50380e234b3c6d67cfbd2178c9d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/replit-3.2.4.dist-info/RECORD b/venv/lib/python3.8/site-packages/replit-3.2.4.dist-info/RECORD new file mode 100644 index 0000000..979c1e8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/replit-3.2.4.dist-info/RECORD @@ -0,0 +1,38 @@ +../../../bin/replit,sha256=LR44uMMhXHKlMdXXeLN6EMyD0eYUJ9UB_EZEZr88KzE,216 +replit-3.2.4.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +replit-3.2.4.dist-info/LICENSE,sha256=H8uGCeIJWWUcVbBoRDWdYHChDloHq3kHQi2aBrBDOnU,720 +replit-3.2.4.dist-info/METADATA,sha256=4Gnj2tYA-j6PFbR43VOm2AHmxQOA4jSzxtZ8-9IXjJ0,1478 +replit-3.2.4.dist-info/RECORD,, +replit-3.2.4.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +replit-3.2.4.dist-info/WHEEL,sha256=V7iVckP-GYreevsTDnv1eAinQt_aArwnAxmnP0gygBY,83 +replit-3.2.4.dist-info/direct_url.json,sha256=stPXj9eC72EDiFH-EbchmzjZ_gqa56JhSaqCu_jKTeE,248 +replit-3.2.4.dist-info/entry_points.txt,sha256=Y2foGrSwpx0XWqo9SyW1tW_TBEO82wge33eNgmvU5ug,46 +replit/__init__.py,sha256=ubK10bYuhmv-Axgx86SimsFhKprS8SfdJOyR5XKZvP8,410 +replit/__main__.py,sha256=kj9GzZ7yh-iNe9NHAD7Jd-i1rMxBjlDu2P_gayJa3Ps,2868 +replit/__pycache__/__init__.cpython-38.pyc,, +replit/__pycache__/__main__.cpython-38.pyc,, +replit/__pycache__/info.cpython-38.pyc,, +replit/audio/Makefile,sha256=dDRL0vghov828Qv--w-5nXGtaUe1BwT1xNRk7Kd_qKU,171 +replit/audio/__init__.py,sha256=zVzPlKqQ8sBKrDhfF1efUzGO_9WmxDl5k-K7afSPUuY,13226 +replit/audio/__pycache__/__init__.cpython-38.pyc,, +replit/audio/__pycache__/test.cpython-38.pyc,, +replit/audio/__pycache__/types.cpython-38.pyc,, +replit/audio/test.py,sha256=St3380YE4rz1r9vkUgzlowSP9xzKUvjlIifgxloFrD0,1848 +replit/audio/types.py,sha256=_ylQFK7AC4VRjyq3TDBsNTBymTVq0EJ4FEpsAs7CatE,3687 +replit/database/__init__.py,sha256=G5XZ_e5NB-qtEoJfpTTARTZ3Ws50x2r8crNXhGbXqW0,426 +replit/database/__pycache__/__init__.cpython-38.pyc,, +replit/database/__pycache__/database.cpython-38.pyc,, +replit/database/__pycache__/default_db.cpython-38.pyc,, +replit/database/__pycache__/server.cpython-38.pyc,, +replit/database/database.py,sha256=AafBH45tORA52IaTAzauF8ExceUpBmF41lHc2ZfYKGM,18090 +replit/database/default_db.py,sha256=PjY6iqoTLHJUv-bGKZzKP7WJqNCnLPKc48PRayVtxDw,314 +replit/database/server.py,sha256=R92gn1lWACbkotyAgR_qyXgEsPOKNWwDZwq7jQde9to,2238 +replit/info.py,sha256=n_UqeVieZIVgaiGMMIKUsyHVkGjvZz4yZ1cUURRBAoQ,2466 +replit/web/__init__.py,sha256=3SyQxNK-pC_Sn5TadwcTi9vui8bPqIAg2H0FgVJCmQ8,352 +replit/web/__pycache__/__init__.cpython-38.pyc,, +replit/web/__pycache__/app.cpython-38.pyc,, +replit/web/__pycache__/user.cpython-38.pyc,, +replit/web/__pycache__/utils.cpython-38.pyc,, +replit/web/app.py,sha256=muks2UzEvnBvQ_1kv-1Zqevjsbl7-tfpbWt2_jtJ5Kw,2589 +replit/web/user.py,sha256=JKxS-0C_lpy-55DcfDrbYA5ybvaofVxrYKgAVgKHN18,3329 +replit/web/utils.py,sha256=x5g3yrVFPn3EV1GU4yIV9wFRfsb1wykRvlwQobLc1tg,8552 diff --git a/venv/lib/python3.8/site-packages/replit-3.2.4.dist-info/REQUESTED b/venv/lib/python3.8/site-packages/replit-3.2.4.dist-info/REQUESTED new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.8/site-packages/replit-3.2.4.dist-info/WHEEL b/venv/lib/python3.8/site-packages/replit-3.2.4.dist-info/WHEEL new file mode 120000 index 0000000..fdd8335 --- /dev/null +++ b/venv/lib/python3.8/site-packages/replit-3.2.4.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/57/b8/95/7243fe198ade7afb130e7bf57808a742dfda02bc270319a73f48328016 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/replit-3.2.4.dist-info/direct_url.json b/venv/lib/python3.8/site-packages/replit-3.2.4.dist-info/direct_url.json new file mode 100644 index 0000000..a2a7beb --- /dev/null +++ b/venv/lib/python3.8/site-packages/replit-3.2.4.dist-info/direct_url.json @@ -0,0 +1 @@ +{"archive_info": {"hash": "sha256=4fa5895e1e090ba23c179641bc88ab0486d1bea696515aa3147fce55733e29e1"}, "url": "https://files.pythonhosted.org/packages/bc/c7/6937037f3152a26917c80eadd4729a63175afe89241e43451d8588bdb130/replit-3.2.4-py3-none-any.whl"} \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/replit-3.2.4.dist-info/entry_points.txt b/venv/lib/python3.8/site-packages/replit-3.2.4.dist-info/entry_points.txt new file mode 120000 index 0000000..9ab9fd6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/replit-3.2.4.dist-info/entry_points.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/63/67/e8/1ab4b0a71d175aaa3d4b25b5b56fd30443bcdb081edf778d826bd4e6e8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/replit/__init__.py b/venv/lib/python3.8/site-packages/replit/__init__.py new file mode 120000 index 0000000..a9fd48c --- /dev/null +++ b/venv/lib/python3.8/site-packages/replit/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b9/b2/b5/d1b62e866bfe031831f3a4a29ac1612a9ad2f127dd24ec91e57299bcff \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/replit/__main__.py b/venv/lib/python3.8/site-packages/replit/__main__.py new file mode 120000 index 0000000..97a7ebe --- /dev/null +++ b/venv/lib/python3.8/site-packages/replit/__main__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/92/3f/46/cd9ef287e88d7bd347003ec977e8b5accc418e50eed8ffe06b225adcfb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/replit/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/replit/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..5397ca0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/replit/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/replit/__pycache__/__main__.cpython-38.pyc b/venv/lib/python3.8/site-packages/replit/__pycache__/__main__.cpython-38.pyc new file mode 100644 index 0000000..5d769db Binary files /dev/null and b/venv/lib/python3.8/site-packages/replit/__pycache__/__main__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/replit/__pycache__/info.cpython-38.pyc b/venv/lib/python3.8/site-packages/replit/__pycache__/info.cpython-38.pyc new file mode 100644 index 0000000..169b32e Binary files /dev/null and b/venv/lib/python3.8/site-packages/replit/__pycache__/info.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/replit/audio/Makefile b/venv/lib/python3.8/site-packages/replit/audio/Makefile new file mode 120000 index 0000000..859c00e --- /dev/null +++ b/venv/lib/python3.8/site-packages/replit/audio/Makefile @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/74/34/4b/d2f821a2ff36f10bfefb0fb99d71ad6947b50704f5c4d464eca77fa8a5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/replit/audio/__init__.py b/venv/lib/python3.8/site-packages/replit/audio/__init__.py new file mode 120000 index 0000000..891a47b --- /dev/null +++ b/venv/lib/python3.8/site-packages/replit/audio/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cd/5c/cf/94aa90f2c04aac385f17579f53318effd5a6c4397993e2bb69f48f52e6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/replit/audio/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/replit/audio/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..4c3af71 Binary files /dev/null and b/venv/lib/python3.8/site-packages/replit/audio/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/replit/audio/__pycache__/test.cpython-38.pyc b/venv/lib/python3.8/site-packages/replit/audio/__pycache__/test.cpython-38.pyc new file mode 100644 index 0000000..b0315db Binary files /dev/null and b/venv/lib/python3.8/site-packages/replit/audio/__pycache__/test.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/replit/audio/__pycache__/types.cpython-38.pyc b/venv/lib/python3.8/site-packages/replit/audio/__pycache__/types.cpython-38.pyc new file mode 100644 index 0000000..ec2e6ac Binary files /dev/null and b/venv/lib/python3.8/site-packages/replit/audio/__pycache__/types.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/replit/audio/test.py b/venv/lib/python3.8/site-packages/replit/audio/test.py new file mode 120000 index 0000000..de4b567 --- /dev/null +++ b/venv/lib/python3.8/site-packages/replit/audio/test.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4a/dd/f7/f34604e2bcf5afdbe4520ce5a3048ff71cca52f8e52227e0c65a05ac3d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/replit/audio/types.py b/venv/lib/python3.8/site-packages/replit/audio/types.py new file mode 120000 index 0000000..6a27baf --- /dev/null +++ b/venv/lib/python3.8/site-packages/replit/audio/types.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ff/29/50/14aec00b85518f2ab74c306c35307299356ad04278144a6c02cec26ad1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/replit/database/__init__.py b/venv/lib/python3.8/site-packages/replit/database/__init__.py new file mode 120000 index 0000000..d89901a --- /dev/null +++ b/venv/lib/python3.8/site-packages/replit/database/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1b/95/d9/fdee4d07eaad12825fa534c04536775ace74c76afc72b3578466d7a96d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/replit/database/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/replit/database/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..5566e80 Binary files /dev/null and b/venv/lib/python3.8/site-packages/replit/database/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/replit/database/__pycache__/database.cpython-38.pyc b/venv/lib/python3.8/site-packages/replit/database/__pycache__/database.cpython-38.pyc new file mode 100644 index 0000000..ff20696 Binary files /dev/null and b/venv/lib/python3.8/site-packages/replit/database/__pycache__/database.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/replit/database/__pycache__/default_db.cpython-38.pyc b/venv/lib/python3.8/site-packages/replit/database/__pycache__/default_db.cpython-38.pyc new file mode 100644 index 0000000..c80f6dd Binary files /dev/null and b/venv/lib/python3.8/site-packages/replit/database/__pycache__/default_db.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/replit/database/__pycache__/server.cpython-38.pyc b/venv/lib/python3.8/site-packages/replit/database/__pycache__/server.cpython-38.pyc new file mode 100644 index 0000000..3821979 Binary files /dev/null and b/venv/lib/python3.8/site-packages/replit/database/__pycache__/server.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/replit/database/database.py b/venv/lib/python3.8/site-packages/replit/database/database.py new file mode 120000 index 0000000..97a5a68 --- /dev/null +++ b/venv/lib/python3.8/site-packages/replit/database/database.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/01/a7/c1/1f8e6d391039d886930336ae17c13171e529066178d651dcd997d82863 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/replit/database/default_db.py b/venv/lib/python3.8/site-packages/replit/database/default_db.py new file mode 120000 index 0000000..ad2f382 --- /dev/null +++ b/venv/lib/python3.8/site-packages/replit/database/default_db.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3e/36/3a/8aaa132c7254bfe6c6299cca3fb589a8d0a72cf29ce3c3d16b256dc43c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/replit/database/server.py b/venv/lib/python3.8/site-packages/replit/database/server.py new file mode 120000 index 0000000..efcd51c --- /dev/null +++ b/venv/lib/python3.8/site-packages/replit/database/server.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/47/dd/a0/9f59560026e4a2dc80811feac97804b0f38a356c03670abb8d075ef6da \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/replit/info.py b/venv/lib/python3.8/site-packages/replit/info.py new file mode 120000 index 0000000..e2eda95 --- /dev/null +++ b/venv/lib/python3.8/site-packages/replit/info.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9f/f5/2a/79589e6485606a218c308294b321d59068ef673e326757145114410284 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/replit/web/__init__.py b/venv/lib/python3.8/site-packages/replit/web/__init__.py new file mode 120000 index 0000000..c6296bb --- /dev/null +++ b/venv/lib/python3.8/site-packages/replit/web/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/dd/2c/90/c4d2bea42fd29f94da7707138bdbee8bc6cfa88020d87d05815242990f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/replit/web/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/replit/web/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..4fbabf1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/replit/web/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/replit/web/__pycache__/app.cpython-38.pyc b/venv/lib/python3.8/site-packages/replit/web/__pycache__/app.cpython-38.pyc new file mode 100644 index 0000000..43ccec6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/replit/web/__pycache__/app.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/replit/web/__pycache__/user.cpython-38.pyc b/venv/lib/python3.8/site-packages/replit/web/__pycache__/user.cpython-38.pyc new file mode 100644 index 0000000..6b9ddfd Binary files /dev/null and b/venv/lib/python3.8/site-packages/replit/web/__pycache__/user.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/replit/web/__pycache__/utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/replit/web/__pycache__/utils.cpython-38.pyc new file mode 100644 index 0000000..e52efed Binary files /dev/null and b/venv/lib/python3.8/site-packages/replit/web/__pycache__/utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/replit/web/app.py b/venv/lib/python3.8/site-packages/replit/web/app.py new file mode 120000 index 0000000..d2dee6a --- /dev/null +++ b/venv/lib/python3.8/site-packages/replit/web/app.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9a/e9/2c/d94cc4be706f43fd64bfed59a9ebe3b1b97bfad7e96d6b76fe3b49e4ac \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/replit/web/user.py b/venv/lib/python3.8/site-packages/replit/web/user.py new file mode 120000 index 0000000..ffa1aa0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/replit/web/user.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/24/ac/52/fb40bf969cbee790dc7c3adb600e726ef6a87d5c6b60a800560287375f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/replit/web/utils.py b/venv/lib/python3.8/site-packages/replit/web/utils.py new file mode 120000 index 0000000..a594160 --- /dev/null +++ b/venv/lib/python3.8/site-packages/replit/web/utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c7/98/37/cab5453e7dc4575194e32215f701517ec6f5c32911be5c10a1b2dcd6d8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/replit_python_lsp_server-1.15.9.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/replit_python_lsp_server-1.15.9.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/replit_python_lsp_server-1.15.9.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/replit_python_lsp_server-1.15.9.dist-info/LICENSE b/venv/lib/python3.8/site-packages/replit_python_lsp_server-1.15.9.dist-info/LICENSE new file mode 120000 index 0000000..8c9dfe0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/replit_python_lsp_server-1.15.9.dist-info/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ae/c0/2b/478e57f395ae45802b2aa70fcf99bba3eabf4cd700c065cd62a7d92a1b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/replit_python_lsp_server-1.15.9.dist-info/METADATA b/venv/lib/python3.8/site-packages/replit_python_lsp_server-1.15.9.dist-info/METADATA new file mode 100644 index 0000000..fb8b75c --- /dev/null +++ b/venv/lib/python3.8/site-packages/replit_python_lsp_server-1.15.9.dist-info/METADATA @@ -0,0 +1,230 @@ +Metadata-Version: 2.1 +Name: replit-python-lsp-server +Version: 1.15.9 +Summary: Python Language Server for the Language Server Protocol +Author: Python Language Server Contributors +License: MIT +Project-URL: Homepage, https://github.com/replit/python-lsp-server +Requires-Python: >=3.7 +Description-Content-Type: text/markdown +License-File: LICENSE +Requires-Dist: jedi (<0.19.0,>=0.17.2) +Requires-Dist: python-lsp-jsonrpc (>=1.0.0) +Requires-Dist: pluggy (>=1.0.0) +Requires-Dist: ujson (>=3.0.0) +Requires-Dist: setuptools (>=39.0.0) +Requires-Dist: toml (>=0.10.2) +Provides-Extra: all +Requires-Dist: autopep8 (<1.7.0,>=1.6.0) ; extra == 'all' +Requires-Dist: flake8 (<5.1.0,>=5.0.0) ; extra == 'all' +Requires-Dist: mccabe (<0.8.0,>=0.7.0) ; extra == 'all' +Requires-Dist: pycodestyle (<2.10.0,>=2.9.0) ; extra == 'all' +Requires-Dist: pydocstyle (>=2.0.0) ; extra == 'all' +Requires-Dist: pyflakes (<2.6.0,>=2.5.0) ; extra == 'all' +Requires-Dist: pylint (>=2.5.0) ; extra == 'all' +Requires-Dist: rope (>=0.10.5) ; extra == 'all' +Requires-Dist: yapf ; extra == 'all' +Requires-Dist: whatthepatch ; extra == 'all' +Provides-Extra: autopep8 +Requires-Dist: autopep8 (<1.7.0,>=1.6.0) ; extra == 'autopep8' +Provides-Extra: flake8 +Requires-Dist: flake8 (<5.1.0,>=5.0.0) ; extra == 'flake8' +Provides-Extra: mccabe +Requires-Dist: mccabe (<0.8.0,>=0.7.0) ; extra == 'mccabe' +Provides-Extra: pycodestyle +Requires-Dist: pycodestyle (<2.10.0,>=2.9.0) ; extra == 'pycodestyle' +Provides-Extra: pydocstyle +Requires-Dist: pydocstyle (>=2.0.0) ; extra == 'pydocstyle' +Provides-Extra: pyflakes +Requires-Dist: pyflakes (<2.6.0,>=2.5.0) ; extra == 'pyflakes' +Provides-Extra: pylint +Requires-Dist: pylint (>=2.5.0) ; extra == 'pylint' +Provides-Extra: rope +Requires-Dist: rope (>0.10.5) ; extra == 'rope' +Provides-Extra: test +Requires-Dist: pylint (>=2.5.0) ; extra == 'test' +Requires-Dist: pytest ; extra == 'test' +Requires-Dist: pytest-cov ; extra == 'test' +Requires-Dist: coverage ; extra == 'test' +Requires-Dist: numpy (<1.23) ; extra == 'test' +Requires-Dist: pandas ; extra == 'test' +Requires-Dist: matplotlib ; extra == 'test' +Requires-Dist: pyqt5 ; extra == 'test' +Requires-Dist: flaky ; extra == 'test' +Provides-Extra: websockets +Requires-Dist: websockets (>=10.3) ; extra == 'websockets' +Provides-Extra: yapf +Requires-Dist: yapf ; extra == 'yapf' +Requires-Dist: whatthepatch (<2.0.0,>=1.0.2) ; extra == 'yapf' + +# Python LSP Server + +This is a fork of https://github.com/python-lsp/python-lsp-server. + +See [RELEASE.md] for how to make a new release. + +A Python 3.7+ implementation of the [Language Server Protocol](https://github.com/Microsoft/language-server-protocol). +(Note: versions <1.4 should still work with Python 3.6) + +## Installation + +The base language server requires [Jedi](https://github.com/davidhalter/jedi) to provide Completions, Definitions, Hover, References, Signature Help, and Symbols: + +``` +pip install python-lsp-server +``` +This will expose the command `pylsp` on your PATH. Confirm that installation succeeded by running `pylsp --help`. + +If the respective dependencies are found, the following optional providers will be enabled: +- [Rope](https://github.com/python-rope/rope) for Completions and renaming +- [Pyflakes](https://github.com/PyCQA/pyflakes) linter to detect various errors +- [McCabe](https://github.com/PyCQA/mccabe) linter for complexity checking +- [pycodestyle](https://github.com/PyCQA/pycodestyle) linter for style checking +- [pydocstyle](https://github.com/PyCQA/pydocstyle) linter for docstring style checking (disabled by default) +- [autopep8](https://github.com/hhatto/autopep8) for code formatting +- [YAPF](https://github.com/google/yapf) for code formatting (preferred over autopep8) +- [flake8](https://github.com/pycqa/flake8) for error checking (disabled by default) +- [pylint](https://github.com/PyCQA/pylint) for code linting (disabled by default) + +Optional providers can be installed using the `extras` syntax. To install [YAPF](https://github.com/google/yapf) formatting for example: + +``` +pip install "python-lsp-server[yapf]" +``` + +All optional providers can be installed using: + +``` +pip install "python-lsp-server[all]" +``` + +If you get an error similar to `'install_requires' must be a string or list of strings` then please upgrade setuptools before trying again. + +``` +pip install -U setuptools +``` + +### Windows and Linux installation + +If you use Anaconda/Miniconda, you can install `python-lsp-server` using this conda command + +``` +conda install -c conda-forge python-lsp-server +``` + +Python-lsp-server is available in the repos of every major Linux distribution, and it is usually called `python-lsp-server`. + +For example, here is how to install it in Debian and Debian-based distributions (E.g. Ubuntu, Pop!_OS, Linux Mint) + +``` +sudo apt-get install python-lsp-server +``` + +or Fedora Linux + +``` +sudo dnf install python-lsp-server +``` + +Only on Alpine Linux the package is named differently. You can install it there by typing this command in your terminal: + +``` +apk add py3-lsp-server +``` + +### 3rd Party Plugins + +Installing these plugins will add extra functionality to the language server: + +- [pylsp-mypy](https://github.com/Richardk2n/pylsp-mypy): [MyPy](http://mypy-lang.org/) type checking for Python >=3.7. +- [pyls-isort](https://github.com/paradoxxxzero/pyls-isort): code formatting using [isort](https://github.com/PyCQA/isort) (automatic import sorting). +- [python-lsp-black](https://github.com/python-lsp/python-lsp-black): code formatting using [Black](https://github.com/psf/black). +- [pyls-memestra](https://github.com/QuantStack/pyls-memestra): detecting the use of deprecated APIs. +- [pylsp-rope](https://github.com/python-rope/pylsp-rope): Extended refactoring capabilities using [Rope](https://github.com/python-rope/rope). + +Please see the above repositories for examples on how to write plugins for the Python LSP Server. + +[cookiecutter-pylsp-plugin](https://github.com/python-lsp/cookiecutter-pylsp-plugin) is a [cookiecutter](https://cookiecutter.readthedocs.io/) template for setting up a basic plugin project for python-lsp-server. It documents all the essentials you need to know to kick start your own plugin project. + +Please file an issue if you require assistance writing a plugin. + +## Configuration + +Like all language servers, configuration can be passed from the client that talks to this server (i.e. your editor/IDE or other tool that has the same purpose). The details of how this is done depend on the editor or plugin that you are using to communicate with `python-lsp-server`. The configuration options available at that level are documented in [`CONFIGURATION.md`](https://github.com/python-lsp/python-lsp-server/blob/develop/CONFIGURATION.md). + +`python-lsp-server` depends on other tools, like flake8 and pycodestyle. These tools can be configured via settings passed from the client (as above), or alternatively from other configuration sources. The following sources are available: + +- `pycodestyle`: discovered in `~/.config/pycodestyle`, `setup.cfg`, `tox.ini` and `pycodestyle.cfg`. +- `flake8`: discovered in `~/.config/flake8`, `.flake8`, `setup.cfg` and `tox.ini` + +The default configuration sources are `pycodestyle` and `pyflakes`. If you would like to use `flake8`, you will need to: + +1. Disable `pycodestyle`, `mccabe`, and `pyflakes`, by setting their corresponding `enabled` configurations, e.g. `pylsp.plugins.pycodestyle.enabled`, to `false`. This will prevent duplicate linting messages as flake8 includes these tools. +1. Set `pylsp.plugins.flake8.enabled` to `true`. +1. Change the `pylsp.configurationSources` setting (in the value passed in from your client) to `['flake8']` in order to use the flake8 configuration instead. + +The configuration options available in these config files (`setup.cfg` etc) are documented in the relevant tools: + +- [flake8 configuration](https://flake8.pycqa.org/en/latest/user/configuration.html) +- [pycodestyle configuration](https://pycodestyle.pycqa.org/en/latest/intro.html#configuration) + +Overall configuration is computed first from user configuration (in home directory), overridden by configuration passed in by the language client, and then overridden by configuration discovered in the workspace. + +As an example, to change the list of errors that pycodestyle will ignore, assuming you are using the `pycodestyle` configuration source (the default), you can: + +1. Add the following to your ~/.config/pycodestyle: + + ``` + [pycodestyle] + ignore = E226,E302,E41 + ``` + +2. Set the `pylsp.plugins.pycodestyle.ignore` config value from your editor +3. Same as 1, but add to `setup.cfg` file in the root of the project. + + +Python LSP Server can communicate over WebSockets when configured as follows: + +``` +pylsp --ws --port [port] +``` + +The following libraries are required for Web Sockets support: +- [websockets](https://websockets.readthedocs.io/en/stable/) for Python LSP Server Web sockets using websockets library. refer [Websockets installation](https://websockets.readthedocs.io/en/stable/intro/index.html#installation) for more details + +You can install this dependency with command below: + +``` +pip install 'python-lsp-server[websockets]' +``` + +## LSP Server Features + +* Auto Completion +* Code Linting +* Signature Help +* Go to definition +* Hover +* Find References +* Document Symbols +* Document Formatting +* Code folding +* Multiple workspaces + +## Development + +To run the test suite: + +```sh +pip install ".[test]" && pytest +``` + +After adding configuration options to `schema.json`, refresh the `CONFIGURATION.md` file with + +``` +python scripts/jsonschema2md.py pylsp/config/schema.json CONFIGURATION.md +``` + +## License + +This project is made available under the MIT License. diff --git a/venv/lib/python3.8/site-packages/replit_python_lsp_server-1.15.9.dist-info/RECORD b/venv/lib/python3.8/site-packages/replit_python_lsp_server-1.15.9.dist-info/RECORD new file mode 100644 index 0000000..9c4bd40 --- /dev/null +++ b/venv/lib/python3.8/site-packages/replit_python_lsp_server-1.15.9.dist-info/RECORD @@ -0,0 +1,84 @@ +../../../bin/pylsp,sha256=S3zhbJPAK-1HL99Q_bnvvsgm-L3kCp3oSK2RxDAESlE,217 +pylsp/__init__.py,sha256=eA2siqOMoaD3byUTOl2HBxcp5QpRYRmEVnVkNe4lAPI,760 +pylsp/__main__.py,sha256=xVnxipfb9jjFcfcTwMBYkxuSKred-YRUKXoGdr5qAlw,3874 +pylsp/__pycache__/__init__.cpython-38.pyc,, +pylsp/__pycache__/__main__.cpython-38.pyc,, +pylsp/__pycache__/_utils.cpython-38.pyc,, +pylsp/__pycache__/_version.cpython-38.pyc,, +pylsp/__pycache__/hookspecs.cpython-38.pyc,, +pylsp/__pycache__/lsp.cpython-38.pyc,, +pylsp/__pycache__/python_lsp.cpython-38.pyc,, +pylsp/__pycache__/text_edit.cpython-38.pyc,, +pylsp/__pycache__/uris.cpython-38.pyc,, +pylsp/__pycache__/workspace.cpython-38.pyc,, +pylsp/_utils.py,sha256=QmBR3uv1_HvGt04Q2uQBkp6xcyj6taqg0Pj6LJKamQE,7426 +pylsp/_version.py,sha256=CIhJP6Om2nMfIBHdZ5JU0UJLjscemeUx5lbtavjK-bk,23 +pylsp/config/__init__.py,sha256=bDWxRjmELPCVGy243_0kNrG7PttyZsv_eZ9JTKQrU1E,105 +pylsp/config/__pycache__/__init__.cpython-38.pyc,, +pylsp/config/__pycache__/config.cpython-38.pyc,, +pylsp/config/__pycache__/flake8_conf.cpython-38.pyc,, +pylsp/config/__pycache__/pycodestyle_conf.cpython-38.pyc,, +pylsp/config/__pycache__/source.cpython-38.pyc,, +pylsp/config/config.py,sha256=UedVbdsjUC3VUIDZbZG_J962lyYc04W2Z2QvkRAjvj0,6391 +pylsp/config/flake8_conf.py,sha256=AZQaQrm2_jF-Qx8o6IRUuYefP18jGU-AYQOm-0qfpe4,2187 +pylsp/config/pycodestyle_conf.py,sha256=KtWTmFvxBIwdx9Z3IaMXDa4dOuif-Z-Apo8elkbwXQ4,1268 +pylsp/config/source.py,sha256=NKeTG791YV49LDNsMAMntY6Eyqmy2cDcz2kj2JUF7FQ,2729 +pylsp/hookspecs.py,sha256=uaqUHfGVpS2hMPjtjHJzpRIHOUffB-jTE1ElqExwBiw,2308 +pylsp/lsp.py,sha256=QGFhulj9Z90HlwuCppwR00eFVz7aE_11cjQpS9XiGBU,1421 +pylsp/plugins/__init__.py,sha256=bDWxRjmELPCVGy243_0kNrG7PttyZsv_eZ9JTKQrU1E,105 +pylsp/plugins/__pycache__/__init__.cpython-38.pyc,, +pylsp/plugins/__pycache__/_resolvers.cpython-38.pyc,, +pylsp/plugins/__pycache__/autopep8_format.cpython-38.pyc,, +pylsp/plugins/__pycache__/definition.cpython-38.pyc,, +pylsp/plugins/__pycache__/flake8_lint.cpython-38.pyc,, +pylsp/plugins/__pycache__/folding.cpython-38.pyc,, +pylsp/plugins/__pycache__/highlight.cpython-38.pyc,, +pylsp/plugins/__pycache__/hover.cpython-38.pyc,, +pylsp/plugins/__pycache__/jedi_completion.cpython-38.pyc,, +pylsp/plugins/__pycache__/jedi_rename.cpython-38.pyc,, +pylsp/plugins/__pycache__/mccabe_lint.cpython-38.pyc,, +pylsp/plugins/__pycache__/preload_imports.cpython-38.pyc,, +pylsp/plugins/__pycache__/pycodestyle_lint.cpython-38.pyc,, +pylsp/plugins/__pycache__/pydocstyle_lint.cpython-38.pyc,, +pylsp/plugins/__pycache__/pyflakes_lint.cpython-38.pyc,, +pylsp/plugins/__pycache__/pylint_lint.cpython-38.pyc,, +pylsp/plugins/__pycache__/references.cpython-38.pyc,, +pylsp/plugins/__pycache__/rope_completion.cpython-38.pyc,, +pylsp/plugins/__pycache__/rope_rename.cpython-38.pyc,, +pylsp/plugins/__pycache__/signature.cpython-38.pyc,, +pylsp/plugins/__pycache__/symbols.cpython-38.pyc,, +pylsp/plugins/__pycache__/yapf_format.cpython-38.pyc,, +pylsp/plugins/_resolvers.py,sha256=-FzrOjmPUjXeTIWMez6RNXgbPYsldSCdIHlEMOi0A3o,4415 +pylsp/plugins/autopep8_format.py,sha256=lxtnD5h6UW5diVvWhwD85ZwbPsyKlqsBAE3DPemtPWw,3127 +pylsp/plugins/definition.py,sha256=v6ZJqz5DfjZVR_Tdq3dpcQ9MGTmoLQ_Jjq8cqBvYKaE,1243 +pylsp/plugins/flake8_lint.py,sha256=-8igBun8Dtkq-SamWxayMbeZdUEGWyi42LDB2cZ5uxg,6905 +pylsp/plugins/folding.py,sha256=1ajnKEkjaTdO-g1PLO3RI4xiW0xvV1oaiyBusAmX71E,7050 +pylsp/plugins/highlight.py,sha256=-0h2XlkWiT4q7xgSwnQsQI81h1TdMaHx_4_49Benvks,995 +pylsp/plugins/hover.py,sha256=AxISfTS7-otckDAbxyARHq_7rur67n2lL2kv4w8K99g,1440 +pylsp/plugins/jedi_completion.py,sha256=UrZZrmVQEzOg3rehfOWEI3cR3jdk7-YrNZwvy-rB6YY,8715 +pylsp/plugins/jedi_rename.py,sha256=KKEg1SFvgNiaw_2bJ8NGcCvpTmm7gnBI5tQMVbVByow,1792 +pylsp/plugins/mccabe_lint.py,sha256=wN-y9uNH4LfqEwI-zv_xImE-amNqA1OVdL3ascb-mrM,1366 +pylsp/plugins/preload_imports.py,sha256=Qet8VVeiLaI00fy99A9S59W0Tb0tiXjjYnA3SXZIrnY,1395 +pylsp/plugins/pycodestyle_lint.py,sha256=XHWU_WSvE-k___bF73lunGoG7t_OxHA0m7xDSvN6iQs,3366 +pylsp/plugins/pydocstyle_lint.py,sha256=iyTuKCCYgUaMIJzVyzha9dA8LhpQEcBRWPB3YKtOWis,3750 +pylsp/plugins/pyflakes_lint.py,sha256=2NRLV9_liepb3ZeTSt3kp6XsYG8C2o_JeszNJOW5Zr8,2675 +pylsp/plugins/pylint_lint.py,sha256=C4KSmdxucLVt53rH6z7GzHTRjwws0QFkbfMm7txq1lI,11805 +pylsp/plugins/references.py,sha256=TlS3FXZ4V1uUNnoorX_IVGADghxyTo842G1S7PYDZiE,961 +pylsp/plugins/rope_completion.py,sha256=z_39JR93qGBc4YiaGKqjvwHrKoEbSLpmYocTq_2D0io,5145 +pylsp/plugins/rope_rename.py,sha256=ohFGXHdOYWWXcUWtIGeOexSL6hZheaORZsfgIBy22LY,1899 +pylsp/plugins/signature.py,sha256=WUtRmMpz--mVDak3W4vXAaADd-_37PgtyQU54SSmrrA,1929 +pylsp/plugins/symbols.py,sha256=9ViKLIXM2vp2tBBsmRH7ZQNmUcb9WsAqymoQPSSSzME,8415 +pylsp/plugins/yapf_format.py,sha256=Ytjq0rN_vLsWjDvBjrl7IaIMtsYth5NmqJ79UJj9P8c,6489 +pylsp/python_lsp.py,sha256=brCbTrmjcdbQ2ys330MLTDrk4lRcdDM0i7ItaOQNeUo,22970 +pylsp/text_edit.py,sha256=1mi7H6M2zgwmc95ySmp7SjDy9Q-keHTbl4Yyok3I5yQ,2753 +pylsp/uris.py,sha256=vAm7s9YpCvt_E5CkAsrOw_ZHb7b7oBKkuNj6G7aoccI,3725 +pylsp/workspace.py,sha256=Doe01X08hismF3lD1SFaCGrPsgnf-ABTcbQSbNzzO4U,10865 +replit_python_lsp_server-1.15.9.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +replit_python_lsp_server-1.15.9.dist-info/LICENSE,sha256=rsArR45X85WuRYArKqcPz5m7o-q_TNcAwGXNYqfZKhs,1147 +replit_python_lsp_server-1.15.9.dist-info/METADATA,sha256=K0Ow1_Ufm9iaxDzWXiU83MjXO342bOHarlRx2bUx0O4,9684 +replit_python_lsp_server-1.15.9.dist-info/RECORD,, +replit_python_lsp_server-1.15.9.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +replit_python_lsp_server-1.15.9.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92 +replit_python_lsp_server-1.15.9.dist-info/direct_url.json,sha256=tS0S6Wi5MC8t6UsQbJ9RyJVnuu1eKVWX3l87sJXlSS4,267 +replit_python_lsp_server-1.15.9.dist-info/entry_points.txt,sha256=jVdvAYZ1iEtUzSl_g6k_eW_oRt7eyi3kEpiyPm2yWfk,852 +replit_python_lsp_server-1.15.9.dist-info/top_level.txt,sha256=LamqoHzmagL8tkMqWx8FqE2ByHDcRKZwh7OJEyvru14,6 diff --git a/venv/lib/python3.8/site-packages/replit_python_lsp_server-1.15.9.dist-info/REQUESTED b/venv/lib/python3.8/site-packages/replit_python_lsp_server-1.15.9.dist-info/REQUESTED new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.8/site-packages/replit_python_lsp_server-1.15.9.dist-info/WHEEL b/venv/lib/python3.8/site-packages/replit_python_lsp_server-1.15.9.dist-info/WHEEL new file mode 120000 index 0000000..7e89bc1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/replit_python_lsp_server-1.15.9.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1b/5e/87/e00dc87a84269cead8578b9e6462928e18a95f1f3373c9eef451a5bcc0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/replit_python_lsp_server-1.15.9.dist-info/direct_url.json b/venv/lib/python3.8/site-packages/replit_python_lsp_server-1.15.9.dist-info/direct_url.json new file mode 100644 index 0000000..99e0cbd --- /dev/null +++ b/venv/lib/python3.8/site-packages/replit_python_lsp_server-1.15.9.dist-info/direct_url.json @@ -0,0 +1 @@ +{"archive_info": {"hash": "sha256=205faf150008be7d3da2ac16fc178c833d22835e24841cb82b666443a6b28bef"}, "url": "https://files.pythonhosted.org/packages/09/42/44ff903505cefa2b2d06fcc164ddff74510eece259e30da6a0c2c68976c8/replit_python_lsp_server-1.15.9-py3-none-any.whl"} \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/replit_python_lsp_server-1.15.9.dist-info/entry_points.txt b/venv/lib/python3.8/site-packages/replit_python_lsp_server-1.15.9.dist-info/entry_points.txt new file mode 120000 index 0000000..3d8eecd --- /dev/null +++ b/venv/lib/python3.8/site-packages/replit_python_lsp_server-1.15.9.dist-info/entry_points.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8d/57/6f/018675884b54cd297f83a93f796fe846dedeca2de41298b23e6db259f9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/replit_python_lsp_server-1.15.9.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/replit_python_lsp_server-1.15.9.dist-info/top_level.txt new file mode 120000 index 0000000..5e33af1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/replit_python_lsp_server-1.15.9.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2d/a9/aa/a07ce66a02fcb6432a5b1f05a84d81c870dc44a67087b389132bebbb5e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests-2.28.1.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/requests-2.28.1.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests-2.28.1.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/requests-2.28.1.dist-info/LICENSE b/venv/lib/python3.8/site-packages/requests-2.28.1.dist-info/LICENSE new file mode 120000 index 0000000..1f20d45 --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests-2.28.1.dist-info/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/09/e8/a9/bcec8067104652c168685ab0931e7868f9c8284b66f5ae6edae5f1130b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests-2.28.1.dist-info/METADATA b/venv/lib/python3.8/site-packages/requests-2.28.1.dist-info/METADATA new file mode 120000 index 0000000..8650ef6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests-2.28.1.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7a/83/58/489b8f59baa5ed38a5f5d28f6fef8a454da8b8647883b531b591681cd5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests-2.28.1.dist-info/RECORD b/venv/lib/python3.8/site-packages/requests-2.28.1.dist-info/RECORD new file mode 100644 index 0000000..345fbc7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests-2.28.1.dist-info/RECORD @@ -0,0 +1,42 @@ +requests-2.28.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +requests-2.28.1.dist-info/LICENSE,sha256=CeipvOyAZxBGUsFoaFqwkx54aPnIKEtm9a5u2uXxEws,10142 +requests-2.28.1.dist-info/METADATA,sha256=eoNYSJuPWbql7Til9dKPb--KRU2ouGR4g7UxtZFoHNU,4641 +requests-2.28.1.dist-info/RECORD,, +requests-2.28.1.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92 +requests-2.28.1.dist-info/top_level.txt,sha256=fMSVmHfb5rbGOo6xv-O_tUX6j-WyixssE-SnwcDRxNQ,9 +requests/__init__.py,sha256=S2K0jnVP6CSrT51SctFyiB0XfI8H9Nt7EqzERAD44gg,4972 +requests/__pycache__/__init__.cpython-38.pyc,, +requests/__pycache__/__version__.cpython-38.pyc,, +requests/__pycache__/_internal_utils.cpython-38.pyc,, +requests/__pycache__/adapters.cpython-38.pyc,, +requests/__pycache__/api.cpython-38.pyc,, +requests/__pycache__/auth.cpython-38.pyc,, +requests/__pycache__/certs.cpython-38.pyc,, +requests/__pycache__/compat.cpython-38.pyc,, +requests/__pycache__/cookies.cpython-38.pyc,, +requests/__pycache__/exceptions.cpython-38.pyc,, +requests/__pycache__/help.cpython-38.pyc,, +requests/__pycache__/hooks.cpython-38.pyc,, +requests/__pycache__/models.cpython-38.pyc,, +requests/__pycache__/packages.cpython-38.pyc,, +requests/__pycache__/sessions.cpython-38.pyc,, +requests/__pycache__/status_codes.cpython-38.pyc,, +requests/__pycache__/structures.cpython-38.pyc,, +requests/__pycache__/utils.cpython-38.pyc,, +requests/__version__.py,sha256=nJVa3ef2yRyeYMhy7yHnRyjjpnNTDykZsE4Sp9irBC4,440 +requests/_internal_utils.py,sha256=aSPlF4uDhtfKxEayZJJ7KkAxtormeTfpwKSBSwtmAUw,1397 +requests/adapters.py,sha256=sEnHGl4mJz4QHBT8jG6bU5aPinUtdoH3BIuAIzT-X74,21287 +requests/api.py,sha256=dyvkDd5itC9z2g0wHl_YfD1yf6YwpGWLO7__8e21nks,6377 +requests/auth.py,sha256=h-HLlVx9j8rKV5hfSAycP2ApOSglTz77R0tz7qCbbEE,10187 +requests/certs.py,sha256=Z9Sb410Anv6jUFTyss0jFFhU6xst8ctELqfy8Ev23gw,429 +requests/compat.py,sha256=yxntVOSEHGMrn7FNr_32EEam1ZNAdPRdSE13_yaHzTk,1451 +requests/cookies.py,sha256=kD3kNEcCj-mxbtf5fJsSaT86eGoEYpD3X0CSgpzl7BM,18560 +requests/exceptions.py,sha256=DhveFBclVjTRxhRduVpO-GbMYMID2gmjdLfNEqNpI_U,3811 +requests/help.py,sha256=gPX5d_H7Xd88aDABejhqGgl9B1VFRTt5BmiYvL3PzIQ,3875 +requests/hooks.py,sha256=CiuysiHA39V5UfcCBXFIx83IrDpuwfN9RcTUgv28ftQ,733 +requests/models.py,sha256=OiVxiOdlhzpbZoxut2OhKtpYlB7WW4iHQcfqSVmT4H4,35222 +requests/packages.py,sha256=DXgv-FJIczZITmv0vEBAhWj4W-5CGCIN_ksvgR17Dvs,957 +requests/sessions.py,sha256=KUqJcRRLovNefUs7ScOXSUVCcfSayTFWtbiJ7gOSlTI,30180 +requests/status_codes.py,sha256=FvHmT5uH-_uimtRz5hH9VCbt7VV-Nei2J9upbej6j8g,4235 +requests/structures.py,sha256=-IbmhVz06S-5aPSZuUthZ6-6D9XOjRuTXHOabY041XM,2912 +requests/utils.py,sha256=5_ws-bsKI9EHl7j27yi-6HFzPBKultPgd7HfPrUToWI,33228 diff --git a/venv/lib/python3.8/site-packages/requests-2.28.1.dist-info/WHEEL b/venv/lib/python3.8/site-packages/requests-2.28.1.dist-info/WHEEL new file mode 120000 index 0000000..7e89bc1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests-2.28.1.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1b/5e/87/e00dc87a84269cead8578b9e6462928e18a95f1f3373c9eef451a5bcc0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests-2.28.1.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/requests-2.28.1.dist-info/top_level.txt new file mode 120000 index 0000000..cdc37d8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests-2.28.1.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7c/c4/95/9877dbe6b6c63a8eb1bfe3bfb545fa8fe5b28b1b2c13e4a7c1c0d1c4d4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests/__init__.py b/venv/lib/python3.8/site-packages/requests/__init__.py new file mode 120000 index 0000000..c2ee1bd --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4b/62/b4/8e754fe824ab4f9d5272d172881d177c8f07f4db7b12acc44400f8e208 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..e35dd6a Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests/__pycache__/__version__.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests/__pycache__/__version__.cpython-38.pyc new file mode 100644 index 0000000..8f37568 Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests/__pycache__/__version__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests/__pycache__/_internal_utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests/__pycache__/_internal_utils.cpython-38.pyc new file mode 100644 index 0000000..6e7ee3e Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests/__pycache__/_internal_utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests/__pycache__/adapters.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests/__pycache__/adapters.cpython-38.pyc new file mode 100644 index 0000000..16fc798 Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests/__pycache__/adapters.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests/__pycache__/api.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests/__pycache__/api.cpython-38.pyc new file mode 100644 index 0000000..0a612e6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests/__pycache__/api.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests/__pycache__/auth.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests/__pycache__/auth.cpython-38.pyc new file mode 100644 index 0000000..af70bf1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests/__pycache__/auth.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests/__pycache__/certs.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests/__pycache__/certs.cpython-38.pyc new file mode 100644 index 0000000..e9e1659 Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests/__pycache__/certs.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests/__pycache__/compat.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests/__pycache__/compat.cpython-38.pyc new file mode 100644 index 0000000..1558cc8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests/__pycache__/compat.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests/__pycache__/cookies.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests/__pycache__/cookies.cpython-38.pyc new file mode 100644 index 0000000..70ebf82 Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests/__pycache__/cookies.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests/__pycache__/exceptions.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests/__pycache__/exceptions.cpython-38.pyc new file mode 100644 index 0000000..efa49bf Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests/__pycache__/exceptions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests/__pycache__/help.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests/__pycache__/help.cpython-38.pyc new file mode 100644 index 0000000..f24f3f1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests/__pycache__/help.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests/__pycache__/hooks.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests/__pycache__/hooks.cpython-38.pyc new file mode 100644 index 0000000..b9e77a9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests/__pycache__/hooks.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests/__pycache__/models.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests/__pycache__/models.cpython-38.pyc new file mode 100644 index 0000000..752dc60 Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests/__pycache__/models.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests/__pycache__/packages.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests/__pycache__/packages.cpython-38.pyc new file mode 100644 index 0000000..d870b84 Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests/__pycache__/packages.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests/__pycache__/sessions.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests/__pycache__/sessions.cpython-38.pyc new file mode 100644 index 0000000..c9040aa Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests/__pycache__/sessions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests/__pycache__/status_codes.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests/__pycache__/status_codes.cpython-38.pyc new file mode 100644 index 0000000..0c79522 Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests/__pycache__/status_codes.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests/__pycache__/structures.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests/__pycache__/structures.cpython-38.pyc new file mode 100644 index 0000000..ebd3190 Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests/__pycache__/structures.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests/__pycache__/utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests/__pycache__/utils.cpython-38.pyc new file mode 100644 index 0000000..f3bbc9e Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests/__pycache__/utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests/__version__.py b/venv/lib/python3.8/site-packages/requests/__version__.py new file mode 120000 index 0000000..410f26c --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests/__version__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9c/95/5a/dde7f6c91c9e60c872ef21e74728e3a673530f2919b04e12a7d8ab042e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests/_internal_utils.py b/venv/lib/python3.8/site-packages/requests/_internal_utils.py new file mode 120000 index 0000000..dd1f1cf --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests/_internal_utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/69/23/e5/178b8386d7cac446b264927b2a4031b68ae67937e9c0a4814b0b66014c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests/adapters.py b/venv/lib/python3.8/site-packages/requests/adapters.py new file mode 120000 index 0000000..e9fdb9a --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests/adapters.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b0/49/c7/1a5e26273e101c14fc8c6e9b53968f8a752d7681f7048b802334fe5fbe \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests/api.py b/venv/lib/python3.8/site-packages/requests/api.py new file mode 120000 index 0000000..c72a36b --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests/api.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/77/2b/e4/0dde62b42f73da0d301e5fd87c3d727fa630a4658b3bbffff1edb59e4b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests/auth.py b/venv/lib/python3.8/site-packages/requests/auth.py new file mode 120000 index 0000000..9bc1f2a --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests/auth.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/87/e1/cb/955c7d8fcaca57985f480c9c3f60293928254f3efb474b73eea09b6c41 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests/certs.py b/venv/lib/python3.8/site-packages/requests/certs.py new file mode 120000 index 0000000..862a782 --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests/certs.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/67/d4/9b/e35d009efea35054f2b2cd23145854eb1b2df1cb442ea7f2f04bf6de0c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests/compat.py b/venv/lib/python3.8/site-packages/requests/compat.py new file mode 120000 index 0000000..e9a03c2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests/compat.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cb/19/ed/54e4841c632b9fb14daffdf61046a6d5934074f45d484d77ff2687cd39 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests/cookies.py b/venv/lib/python3.8/site-packages/requests/cookies.py new file mode 120000 index 0000000..9afd0bc --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests/cookies.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/90/3d/e4/3447028fe9b16ed7f97c9b12693f3a786a046290f75f4092829ce5ec13 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests/exceptions.py b/venv/lib/python3.8/site-packages/requests/exceptions.py new file mode 120000 index 0000000..7617958 --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests/exceptions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0e/1b/de/1417255634d1c6145db95a4ef866cc60c203da09a374b7cd12a36923f5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests/help.py b/venv/lib/python3.8/site-packages/requests/help.py new file mode 120000 index 0000000..1e5611e --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests/help.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/80/f5/f9/77f1fb5ddf3c6830017a386a1a097d075545453b79066898bcbdcfcc84 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests/hooks.py b/venv/lib/python3.8/site-packages/requests/hooks.py new file mode 120000 index 0000000..72865ab --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests/hooks.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0a/2b/b2/b221c0dfd57951f702057148c7cdc8ac3a6ec1f37d45c4d482fdbc7ed4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests/models.py b/venv/lib/python3.8/site-packages/requests/models.py new file mode 120000 index 0000000..7166ae8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests/models.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3a/25/71/88e765873a5b668c6eb763a12ada58941ed65b888741c7ea495993e07e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests/packages.py b/venv/lib/python3.8/site-packages/requests/packages.py new file mode 120000 index 0000000..6636a04 --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests/packages.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0d/78/2f/f852487336484e6bf4bc40408568f85bee4218220dfe4b2f811d7b0efb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests/sessions.py b/venv/lib/python3.8/site-packages/requests/sessions.py new file mode 120000 index 0000000..2cd700a --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests/sessions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/29/4a/89/71144ba2f35e7d4b3b49c39749454271f49ac93156b5b889ee03929532 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests/status_codes.py b/venv/lib/python3.8/site-packages/requests/status_codes.py new file mode 120000 index 0000000..fb3e8ff --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests/status_codes.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/16/f1/e6/4f9b87fbfba29ad473e611fd5426eded557e35e8b627dba96de8fa8fc8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests/structures.py b/venv/lib/python3.8/site-packages/requests/structures.py new file mode 120000 index 0000000..33b4a1c --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests/structures.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f8/86/e6/855cf4e92fb968f499b94b6167afba0fd5ce8d1b935c739a6d8d38d573 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests/utils.py b/venv/lib/python3.8/site-packages/requests/utils.py new file mode 120000 index 0000000..59aaa78 --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests/utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e7/fc/2c/f9bb0a23d10797b8f6ef28bee871733c12ae96d3e077b1df3eb513a162 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt-0.9.1.dist-info/AUTHORS.rst b/venv/lib/python3.8/site-packages/requests_toolbelt-0.9.1.dist-info/AUTHORS.rst new file mode 120000 index 0000000..67606dd --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests_toolbelt-0.9.1.dist-info/AUTHORS.rst @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/50/84/15/4668bcc303e3857a0886c46b7a92d7d390bb374e22e9e339d831dffde6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt-0.9.1.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/requests_toolbelt-0.9.1.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests_toolbelt-0.9.1.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt-0.9.1.dist-info/LICENSE b/venv/lib/python3.8/site-packages/requests_toolbelt-0.9.1.dist-info/LICENSE new file mode 120000 index 0000000..c95336e --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests_toolbelt-0.9.1.dist-info/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3a/1a/3c/ffa7abc000cbd726a664f56c33c532a55480f9e056dfe941cf93b7c37f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt-0.9.1.dist-info/METADATA b/venv/lib/python3.8/site-packages/requests_toolbelt-0.9.1.dist-info/METADATA new file mode 120000 index 0000000..89bf66a --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests_toolbelt-0.9.1.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/22/3f/af/6d63dc306042cbaf8eaf9e2199a0a1e84f8c8643992f1de82b21564327 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt-0.9.1.dist-info/RECORD b/venv/lib/python3.8/site-packages/requests_toolbelt-0.9.1.dist-info/RECORD new file mode 100644 index 0000000..6b4f635 --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests_toolbelt-0.9.1.dist-info/RECORD @@ -0,0 +1,75 @@ +requests_toolbelt-0.9.1.dist-info/AUTHORS.rst,sha256=UIQVRmi8wwPjhXoIhsRrepLX05C7N04i6eM52DHf_eY,902 +requests_toolbelt-0.9.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +requests_toolbelt-0.9.1.dist-info/LICENSE,sha256=Oho8_6erwADL1yamZPVsM8UypVSA-eBW3-lBz5O3w38,595 +requests_toolbelt-0.9.1.dist-info/METADATA,sha256=Ij-vbWPcMGBCy6-Or54hmaCh6E-MhkOZLx3oKyFWQyc,13807 +requests_toolbelt-0.9.1.dist-info/RECORD,, +requests_toolbelt-0.9.1.dist-info/WHEEL,sha256=_wJFdOYk7i3xxT8ElOkUJvOdOvfNGbR9g-bf6UQT6sU,110 +requests_toolbelt-0.9.1.dist-info/top_level.txt,sha256=94d34hHwG8qjeDXYn9Co3jucG_N9CkO-V5kWQ6Cre8w,18 +requests_toolbelt/__init__.py,sha256=seklPG53_MZXW1ceVirG8wHQcEBhUPX2aLsdDcTOg14,1181 +requests_toolbelt/__pycache__/__init__.cpython-38.pyc,, +requests_toolbelt/__pycache__/_compat.cpython-38.pyc,, +requests_toolbelt/__pycache__/exceptions.cpython-38.pyc,, +requests_toolbelt/__pycache__/sessions.cpython-38.pyc,, +requests_toolbelt/__pycache__/streaming_iterator.cpython-38.pyc,, +requests_toolbelt/_compat.py,sha256=oAsGRwH1It25nrmod9jG25DHKmQMRaeUG8vgPRHNC64,9893 +requests_toolbelt/adapters/__init__.py,sha256=aHfAB7Gt5HDtrvNWaRObcmU3JTlfwRLLXXxZIOa9BWk,363 +requests_toolbelt/adapters/__pycache__/__init__.cpython-38.pyc,, +requests_toolbelt/adapters/__pycache__/appengine.cpython-38.pyc,, +requests_toolbelt/adapters/__pycache__/fingerprint.cpython-38.pyc,, +requests_toolbelt/adapters/__pycache__/host_header_ssl.cpython-38.pyc,, +requests_toolbelt/adapters/__pycache__/socket_options.cpython-38.pyc,, +requests_toolbelt/adapters/__pycache__/source.cpython-38.pyc,, +requests_toolbelt/adapters/__pycache__/ssl.cpython-38.pyc,, +requests_toolbelt/adapters/__pycache__/x509.cpython-38.pyc,, +requests_toolbelt/adapters/appengine.py,sha256=f7HAfWRsXoPa0AEQpUlS6HIsY9RUxlQWjoFq1bRjRsk,7540 +requests_toolbelt/adapters/fingerprint.py,sha256=NRL_75ZO-nIvOOG8KIqgzXLoLN6B6leRKfT78P3cQQE,1404 +requests_toolbelt/adapters/host_header_ssl.py,sha256=6UbWnM3DYG6PROLPjzuCo3PEw-BxLXTUMtl68sAOIlk,1396 +requests_toolbelt/adapters/socket_options.py,sha256=smrs73O0zLJKlbJc5R1QD14lAw7kvRG3_GhMw1RUDUs,4789 +requests_toolbelt/adapters/source.py,sha256=n0WBD4vOUZm2aZqKEFzmiQo8_uslXBkNqG2wti4lKDg,2608 +requests_toolbelt/adapters/ssl.py,sha256=QGjVCHwqSTzvP58EIYOb47CdLB9KPg5AmGDNQ7buwwA,2399 +requests_toolbelt/adapters/x509.py,sha256=9ypicNCvGIfLdCPzExm6ri-WzM4MxniAGBM4MBQIr0o,7324 +requests_toolbelt/auth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +requests_toolbelt/auth/__pycache__/__init__.cpython-38.pyc,, +requests_toolbelt/auth/__pycache__/_digest_auth_compat.cpython-38.pyc,, +requests_toolbelt/auth/__pycache__/guess.cpython-38.pyc,, +requests_toolbelt/auth/__pycache__/handler.cpython-38.pyc,, +requests_toolbelt/auth/__pycache__/http_proxy_digest.cpython-38.pyc,, +requests_toolbelt/auth/_digest_auth_compat.py,sha256=Japu0u8KwV3IFbRiEmzrxVR6MxINnpmbPYeEqyh_zbM,910 +requests_toolbelt/auth/guess.py,sha256=QSl22nPByDKiuACvR5uxpVbtGcMby8SwAHjwsPW9sD0,4944 +requests_toolbelt/auth/handler.py,sha256=0kC45uh-DGcUc4d1mCIZ8vLLONGUK9vrQ96Zovq1c_s,4408 +requests_toolbelt/auth/http_proxy_digest.py,sha256=LzZOs1Dllk2GvX1Dq9xTtdwFMppUcNC__2DVtWMY5fg,3705 +requests_toolbelt/cookies/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +requests_toolbelt/cookies/__pycache__/__init__.cpython-38.pyc,, +requests_toolbelt/cookies/__pycache__/forgetful.cpython-38.pyc,, +requests_toolbelt/cookies/forgetful.py,sha256=B3_AB6lyRHJG4WvvKobS5W_MTP31BQ5RrLs3uYVx7cs,213 +requests_toolbelt/downloadutils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +requests_toolbelt/downloadutils/__pycache__/__init__.cpython-38.pyc,, +requests_toolbelt/downloadutils/__pycache__/stream.cpython-38.pyc,, +requests_toolbelt/downloadutils/__pycache__/tee.cpython-38.pyc,, +requests_toolbelt/downloadutils/stream.py,sha256=ryVjUCEDtVff-QyY8N8tRF8WXIW_sMSyeQsLlBNxBvg,6069 +requests_toolbelt/downloadutils/tee.py,sha256=qV9Bwq83OZWDg-lW0YsP4Cdzsu0gc797GCSv6w7dPPw,4365 +requests_toolbelt/exceptions.py,sha256=1bm02fkuugxiPEGX70Eqt3Esr6rKAzMq8L37SFs0lFA,1135 +requests_toolbelt/multipart/__init__.py,sha256=DBN8VAhbphNGErpKSrYTIk8QYaofmnddPWtNmn2Ujdc,847 +requests_toolbelt/multipart/__pycache__/__init__.cpython-38.pyc,, +requests_toolbelt/multipart/__pycache__/decoder.cpython-38.pyc,, +requests_toolbelt/multipart/__pycache__/encoder.cpython-38.pyc,, +requests_toolbelt/multipart/decoder.py,sha256=aKIBsljH8zDOGLesGCARDaVgEgmZ9AOQeGbM6JT1fVM,4861 +requests_toolbelt/multipart/encoder.py,sha256=aLJPUvWsPOUvDG1V9BBeHih3SEUTL_4zNO8nsYwS3pA,20772 +requests_toolbelt/sessions.py,sha256=dRi6ty0DposGvZHFPp4TodnhgTr98IBT5R9i5wExdTM,2321 +requests_toolbelt/streaming_iterator.py,sha256=RoBpiFO996ixJ7XBdeTEDcvdt2gO8UifRZHLydRUlQ0,4044 +requests_toolbelt/threaded/__init__.py,sha256=ZUw0h0PkLXz9H0qsPKgSD0_kX8SpLH8yjb3RvIWkuOg,3213 +requests_toolbelt/threaded/__pycache__/__init__.cpython-38.pyc,, +requests_toolbelt/threaded/__pycache__/pool.cpython-38.pyc,, +requests_toolbelt/threaded/__pycache__/thread.cpython-38.pyc,, +requests_toolbelt/threaded/pool.py,sha256=8xSLI2_xElatT09jDVDua3693WXkm6vWFPQBHhLs48Y,6628 +requests_toolbelt/threaded/thread.py,sha256=16UmWaK_lZgDcKkBkS1j-6_K3zKIok314g7Fpllj2Jg,1465 +requests_toolbelt/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +requests_toolbelt/utils/__pycache__/__init__.cpython-38.pyc,, +requests_toolbelt/utils/__pycache__/deprecated.cpython-38.pyc,, +requests_toolbelt/utils/__pycache__/dump.cpython-38.pyc,, +requests_toolbelt/utils/__pycache__/formdata.cpython-38.pyc,, +requests_toolbelt/utils/__pycache__/user_agent.cpython-38.pyc,, +requests_toolbelt/utils/deprecated.py,sha256=KERWioUNTuwTCRFJOyW_zJKib20-iNETE879znAcnJU,2558 +requests_toolbelt/utils/dump.py,sha256=ML9r5O50x6WFa1AGr4_lW_LDUiX3-BOPvCjD3iSRX14,6490 +requests_toolbelt/utils/formdata.py,sha256=ppqpIdkW6V0CNyeFiKAytDU0H9g1yXLzZU0QTuWrjb0,3233 +requests_toolbelt/utils/user_agent.py,sha256=iyeEadoOTsWMANRh2XzhDnwnUyX8K6BT9yZAfVTiwh0,4524 diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt-0.9.1.dist-info/WHEEL b/venv/lib/python3.8/site-packages/requests_toolbelt-0.9.1.dist-info/WHEEL new file mode 120000 index 0000000..437bad6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests_toolbelt-0.9.1.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ff/02/45/74e624ee2df1c53f0494e91426f39d3af7cd19b47d83e6dfe94413eac5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt-0.9.1.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/requests_toolbelt-0.9.1.dist-info/top_level.txt new file mode 120000 index 0000000..66cffb8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests_toolbelt-0.9.1.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f7/87/77/e211f01bcaa37835d89fd0a8de3b9c1bf37d0a43be57991643a0ab7bcc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/__init__.py b/venv/lib/python3.8/site-packages/requests_toolbelt/__init__.py new file mode 120000 index 0000000..12a5992 --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests_toolbelt/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b1/e9/25/3c6e77fcc6575b571e562ac6f301d070406150f5f668bb1d0dc4ce835e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests_toolbelt/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..4676512 Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests_toolbelt/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/__pycache__/_compat.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests_toolbelt/__pycache__/_compat.cpython-38.pyc new file mode 100644 index 0000000..a44f1a8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests_toolbelt/__pycache__/_compat.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/__pycache__/exceptions.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests_toolbelt/__pycache__/exceptions.cpython-38.pyc new file mode 100644 index 0000000..e6000c8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests_toolbelt/__pycache__/exceptions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/__pycache__/sessions.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests_toolbelt/__pycache__/sessions.cpython-38.pyc new file mode 100644 index 0000000..adc8590 Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests_toolbelt/__pycache__/sessions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/__pycache__/streaming_iterator.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests_toolbelt/__pycache__/streaming_iterator.cpython-38.pyc new file mode 100644 index 0000000..5fd737e Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests_toolbelt/__pycache__/streaming_iterator.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/_compat.py b/venv/lib/python3.8/site-packages/requests_toolbelt/_compat.py new file mode 120000 index 0000000..6cdeff8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests_toolbelt/_compat.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a0/0b/06/4701f522ddb99eb9a877d8c6db90c72a640c45a7941bcbe03d11cd0bae \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/adapters/__init__.py b/venv/lib/python3.8/site-packages/requests_toolbelt/adapters/__init__.py new file mode 120000 index 0000000..9076935 --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests_toolbelt/adapters/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/68/77/c0/07b1ade470edaef35669139b72653725395fc112cb5d7c5920e6bd0569 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/adapters/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests_toolbelt/adapters/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..fbd365d Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests_toolbelt/adapters/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/adapters/__pycache__/appengine.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests_toolbelt/adapters/__pycache__/appengine.cpython-38.pyc new file mode 100644 index 0000000..273de43 Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests_toolbelt/adapters/__pycache__/appengine.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/adapters/__pycache__/fingerprint.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests_toolbelt/adapters/__pycache__/fingerprint.cpython-38.pyc new file mode 100644 index 0000000..198d546 Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests_toolbelt/adapters/__pycache__/fingerprint.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/adapters/__pycache__/host_header_ssl.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests_toolbelt/adapters/__pycache__/host_header_ssl.cpython-38.pyc new file mode 100644 index 0000000..e016f74 Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests_toolbelt/adapters/__pycache__/host_header_ssl.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/adapters/__pycache__/socket_options.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests_toolbelt/adapters/__pycache__/socket_options.cpython-38.pyc new file mode 100644 index 0000000..6aaaec7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests_toolbelt/adapters/__pycache__/socket_options.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/adapters/__pycache__/source.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests_toolbelt/adapters/__pycache__/source.cpython-38.pyc new file mode 100644 index 0000000..40e1341 Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests_toolbelt/adapters/__pycache__/source.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/adapters/__pycache__/ssl.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests_toolbelt/adapters/__pycache__/ssl.cpython-38.pyc new file mode 100644 index 0000000..2ee845e Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests_toolbelt/adapters/__pycache__/ssl.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/adapters/__pycache__/x509.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests_toolbelt/adapters/__pycache__/x509.cpython-38.pyc new file mode 100644 index 0000000..db1ba44 Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests_toolbelt/adapters/__pycache__/x509.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/adapters/appengine.py b/venv/lib/python3.8/site-packages/requests_toolbelt/adapters/appengine.py new file mode 120000 index 0000000..84dae9e --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests_toolbelt/adapters/appengine.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7f/b1/c0/7d646c5e83dad00110a54952e8722c63d454c654168e816ad5b46346c9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/adapters/fingerprint.py b/venv/lib/python3.8/site-packages/requests_toolbelt/adapters/fingerprint.py new file mode 120000 index 0000000..8d6656d --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests_toolbelt/adapters/fingerprint.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/35/12/ff/ef964efa722f38e1bc288aa0cd72e82cde81ea579129f4fbf0fddc4101 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/adapters/host_header_ssl.py b/venv/lib/python3.8/site-packages/requests_toolbelt/adapters/host_header_ssl.py new file mode 120000 index 0000000..d9f36e6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests_toolbelt/adapters/host_header_ssl.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e9/46/d6/9ccdc3606e8f44e2cf8f3b82a373c4c3e0712d74d432d97af2c00e2259 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/adapters/socket_options.py b/venv/lib/python3.8/site-packages/requests_toolbelt/adapters/socket_options.py new file mode 120000 index 0000000..b41b7fe --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests_toolbelt/adapters/socket_options.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b2/6a/ec/ef73b4ccb24a95b25ce51d500f5e25030ee4bd11b7fc684cc354540d4b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/adapters/source.py b/venv/lib/python3.8/site-packages/requests_toolbelt/adapters/source.py new file mode 120000 index 0000000..86fed69 --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests_toolbelt/adapters/source.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9f/45/81/0f8bce5199b6699a8a105ce6890a3cfeeb255c190da86db0b62e252838 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/adapters/ssl.py b/venv/lib/python3.8/site-packages/requests_toolbelt/adapters/ssl.py new file mode 120000 index 0000000..9553c43 --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests_toolbelt/adapters/ssl.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/40/68/d5/087c2a493cef3f9f0421839be3b09d2c1f4a3e0e409860cd43b6eec300 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/adapters/x509.py b/venv/lib/python3.8/site-packages/requests_toolbelt/adapters/x509.py new file mode 120000 index 0000000..eb0eb2f --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests_toolbelt/adapters/x509.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f7/2a/62/70d0af1887cb7423f31319baae2f96ccce0cc67880181338301408af4a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/auth/__init__.py b/venv/lib/python3.8/site-packages/requests_toolbelt/auth/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests_toolbelt/auth/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/auth/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests_toolbelt/auth/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..10ce120 Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests_toolbelt/auth/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/auth/__pycache__/_digest_auth_compat.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests_toolbelt/auth/__pycache__/_digest_auth_compat.cpython-38.pyc new file mode 100644 index 0000000..7566c56 Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests_toolbelt/auth/__pycache__/_digest_auth_compat.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/auth/__pycache__/guess.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests_toolbelt/auth/__pycache__/guess.cpython-38.pyc new file mode 100644 index 0000000..56e4c09 Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests_toolbelt/auth/__pycache__/guess.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/auth/__pycache__/handler.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests_toolbelt/auth/__pycache__/handler.cpython-38.pyc new file mode 100644 index 0000000..58eb6f7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests_toolbelt/auth/__pycache__/handler.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/auth/__pycache__/http_proxy_digest.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests_toolbelt/auth/__pycache__/http_proxy_digest.cpython-38.pyc new file mode 100644 index 0000000..40a2cc5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests_toolbelt/auth/__pycache__/http_proxy_digest.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/auth/_digest_auth_compat.py b/venv/lib/python3.8/site-packages/requests_toolbelt/auth/_digest_auth_compat.py new file mode 120000 index 0000000..f185929 --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests_toolbelt/auth/_digest_auth_compat.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/25/aa/6e/d2ef0ac15dc815b462126cebc5547a33120d9e999b3d8784ab287fcdb3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/auth/guess.py b/venv/lib/python3.8/site-packages/requests_toolbelt/auth/guess.py new file mode 120000 index 0000000..4872168 --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests_toolbelt/auth/guess.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/41/29/76/da73c1c832a2b800af479bb1a556ed19c31bcbc4b00078f0b0f5bdb03d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/auth/handler.py b/venv/lib/python3.8/site-packages/requests_toolbelt/auth/handler.py new file mode 120000 index 0000000..c81f61d --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests_toolbelt/auth/handler.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d2/40/b8/e6e87e0c6714738775982219f2f2cb38d1942bdbeb43de99a2fab573fb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/auth/http_proxy_digest.py b/venv/lib/python3.8/site-packages/requests_toolbelt/auth/http_proxy_digest.py new file mode 120000 index 0000000..17b53bb --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests_toolbelt/auth/http_proxy_digest.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2f/36/4e/b350e5964d86bd7d43abdc53b5dc05329a5470d0bfff60d5b56318e5f8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/cookies/__init__.py b/venv/lib/python3.8/site-packages/requests_toolbelt/cookies/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests_toolbelt/cookies/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/cookies/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests_toolbelt/cookies/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..6bef40d Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests_toolbelt/cookies/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/cookies/__pycache__/forgetful.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests_toolbelt/cookies/__pycache__/forgetful.cpython-38.pyc new file mode 100644 index 0000000..452ee1c Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests_toolbelt/cookies/__pycache__/forgetful.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/cookies/forgetful.py b/venv/lib/python3.8/site-packages/requests_toolbelt/cookies/forgetful.py new file mode 120000 index 0000000..9d6cb55 --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests_toolbelt/cookies/forgetful.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/07/7f/c0/07a972447246e16bef2a86d2e56fcc4cfdf5050e51acbb37b98571edcb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/downloadutils/__init__.py b/venv/lib/python3.8/site-packages/requests_toolbelt/downloadutils/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests_toolbelt/downloadutils/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/downloadutils/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests_toolbelt/downloadutils/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..cce7c47 Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests_toolbelt/downloadutils/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/downloadutils/__pycache__/stream.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests_toolbelt/downloadutils/__pycache__/stream.cpython-38.pyc new file mode 100644 index 0000000..36b78bb Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests_toolbelt/downloadutils/__pycache__/stream.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/downloadutils/__pycache__/tee.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests_toolbelt/downloadutils/__pycache__/tee.cpython-38.pyc new file mode 100644 index 0000000..069b230 Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests_toolbelt/downloadutils/__pycache__/tee.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/downloadutils/stream.py b/venv/lib/python3.8/site-packages/requests_toolbelt/downloadutils/stream.py new file mode 120000 index 0000000..734d2dc --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests_toolbelt/downloadutils/stream.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/af/25/63/502103b557dff90c98f0df2d445f165c85bfb0c4b2790b0b94137106f8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/downloadutils/tee.py b/venv/lib/python3.8/site-packages/requests_toolbelt/downloadutils/tee.py new file mode 120000 index 0000000..ff8fece --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests_toolbelt/downloadutils/tee.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a9/5f/41/c2af3739958383e956d18b0fe02773b2ed2073bf7b1824afeb0edd3cfc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/exceptions.py b/venv/lib/python3.8/site-packages/requests_toolbelt/exceptions.py new file mode 120000 index 0000000..75f3413 --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests_toolbelt/exceptions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d5/b9/b4/d9f92eba0c623c4197ef412ab7712cafaaca03332af0bdfb485b349450 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/multipart/__init__.py b/venv/lib/python3.8/site-packages/requests_toolbelt/multipart/__init__.py new file mode 120000 index 0000000..4763f36 --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests_toolbelt/multipart/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0c/13/7c/54085ba6134612ba4a4ab613224f1061aa1f9a775d3d6b4d9a7d948dd7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/multipart/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests_toolbelt/multipart/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..9b1c352 Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests_toolbelt/multipart/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/multipart/__pycache__/decoder.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests_toolbelt/multipart/__pycache__/decoder.cpython-38.pyc new file mode 100644 index 0000000..ed749f7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests_toolbelt/multipart/__pycache__/decoder.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/multipart/__pycache__/encoder.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests_toolbelt/multipart/__pycache__/encoder.cpython-38.pyc new file mode 100644 index 0000000..55a57c9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests_toolbelt/multipart/__pycache__/encoder.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/multipart/decoder.py b/venv/lib/python3.8/site-packages/requests_toolbelt/multipart/decoder.py new file mode 120000 index 0000000..8db079c --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests_toolbelt/multipart/decoder.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/68/a2/01/b258c7f330ce18b7ac1820110da560120999f403907866cce894f57d53 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/multipart/encoder.py b/venv/lib/python3.8/site-packages/requests_toolbelt/multipart/encoder.py new file mode 120000 index 0000000..700e66a --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests_toolbelt/multipart/encoder.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/68/b2/4f/52f5ac3ce52f0c6d55f4105e1e28774845132ffe3334ef27b18c12de90 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/sessions.py b/venv/lib/python3.8/site-packages/requests_toolbelt/sessions.py new file mode 120000 index 0000000..91a3c9a --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests_toolbelt/sessions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/75/18/ba/b72d03a68b06bd91c53e9e13a1d9e1813afdf08053e51f62e701317533 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/streaming_iterator.py b/venv/lib/python3.8/site-packages/requests_toolbelt/streaming_iterator.py new file mode 120000 index 0000000..c8389b8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests_toolbelt/streaming_iterator.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/46/80/69/8853bdf7a8b127b5c175e4c40dcbddb7680ef1489f4591cbc9d454950d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/threaded/__init__.py b/venv/lib/python3.8/site-packages/requests_toolbelt/threaded/__init__.py new file mode 120000 index 0000000..2bbbe46 --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests_toolbelt/threaded/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/65/4c/34/8743e42d7cfd1f4aac3ca8120f4fe45fc4a92c7f328dbdd1bc85a4b8e8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/threaded/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests_toolbelt/threaded/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..d077227 Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests_toolbelt/threaded/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/threaded/__pycache__/pool.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests_toolbelt/threaded/__pycache__/pool.cpython-38.pyc new file mode 100644 index 0000000..7dec055 Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests_toolbelt/threaded/__pycache__/pool.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/threaded/__pycache__/thread.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests_toolbelt/threaded/__pycache__/thread.cpython-38.pyc new file mode 100644 index 0000000..2f466b3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests_toolbelt/threaded/__pycache__/thread.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/threaded/pool.py b/venv/lib/python3.8/site-packages/requests_toolbelt/threaded/pool.py new file mode 120000 index 0000000..0687a8f --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests_toolbelt/threaded/pool.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f3/14/8b/236ff11256ad4f4f630d50ee6b7ebddd65e49babd614f4011e12ece3c6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/threaded/thread.py b/venv/lib/python3.8/site-packages/requests_toolbelt/threaded/thread.py new file mode 120000 index 0000000..43fb8df --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests_toolbelt/threaded/thread.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d7/a5/26/59a2bf95980370a901912d63fbafcadf3288a24df5e20ec5a65963d898 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/utils/__init__.py b/venv/lib/python3.8/site-packages/requests_toolbelt/utils/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests_toolbelt/utils/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/utils/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests_toolbelt/utils/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..c043fef Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests_toolbelt/utils/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/utils/__pycache__/deprecated.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests_toolbelt/utils/__pycache__/deprecated.cpython-38.pyc new file mode 100644 index 0000000..0881e30 Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests_toolbelt/utils/__pycache__/deprecated.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/utils/__pycache__/dump.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests_toolbelt/utils/__pycache__/dump.cpython-38.pyc new file mode 100644 index 0000000..effa5a0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests_toolbelt/utils/__pycache__/dump.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/utils/__pycache__/formdata.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests_toolbelt/utils/__pycache__/formdata.cpython-38.pyc new file mode 100644 index 0000000..987ceb1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests_toolbelt/utils/__pycache__/formdata.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/utils/__pycache__/user_agent.cpython-38.pyc b/venv/lib/python3.8/site-packages/requests_toolbelt/utils/__pycache__/user_agent.cpython-38.pyc new file mode 100644 index 0000000..f79137c Binary files /dev/null and b/venv/lib/python3.8/site-packages/requests_toolbelt/utils/__pycache__/user_agent.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/utils/deprecated.py b/venv/lib/python3.8/site-packages/requests_toolbelt/utils/deprecated.py new file mode 120000 index 0000000..8959a89 --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests_toolbelt/utils/deprecated.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/28/44/56/8a850d4eec130911493b25bfcc92a26f6d3e88d11313cefdce701c9c95 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/utils/dump.py b/venv/lib/python3.8/site-packages/requests_toolbelt/utils/dump.py new file mode 120000 index 0000000..bc9f78b --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests_toolbelt/utils/dump.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/30/bf/6b/e4ee74c7a5856b5006af8fe55bf2c35225f7f8138fbc28c3de24915f5e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/utils/formdata.py b/venv/lib/python3.8/site-packages/requests_toolbelt/utils/formdata.py new file mode 120000 index 0000000..95b28ab --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests_toolbelt/utils/formdata.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a6/9a/a9/21d916e95d0237278588a032b435341fd835c972f3654d104ee5ab8dbd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/requests_toolbelt/utils/user_agent.py b/venv/lib/python3.8/site-packages/requests_toolbelt/utils/user_agent.py new file mode 120000 index 0000000..3dea996 --- /dev/null +++ b/venv/lib/python3.8/site-packages/requests_toolbelt/utils/user_agent.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8b/27/84/69da0e4ec58c00d461d97ce10e7c275325fc2ba053f726407d54e2c21d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope-1.3.0.dist-info/COPYING b/venv/lib/python3.8/site-packages/rope-1.3.0.dist-info/COPYING new file mode 120000 index 0000000..daa07cb --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope-1.3.0.dist-info/COPYING @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/a9/94/d82e644b03a792a930f574002658412f62407f5fee083f2555c5f23118 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope-1.3.0.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/rope-1.3.0.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope-1.3.0.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/rope-1.3.0.dist-info/METADATA b/venv/lib/python3.8/site-packages/rope-1.3.0.dist-info/METADATA new file mode 120000 index 0000000..482caf3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope-1.3.0.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cb/7e/23/72f4afe1c86818a112209ec6353509523f914ae57c74287f8585e6097e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope-1.3.0.dist-info/RECORD b/venv/lib/python3.8/site-packages/rope-1.3.0.dist-info/RECORD new file mode 100644 index 0000000..117e34c --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope-1.3.0.dist-info/RECORD @@ -0,0 +1,200 @@ +rope-1.3.0.dist-info/COPYING,sha256=46mU2C5kSwOnkqkw9XQAJlhBL2JAf1_uCD8lVcXyMRg,7652 +rope-1.3.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +rope-1.3.0.dist-info/METADATA,sha256=y34jcvSv4choGKESIJ7GNTUJUj-RSuV8dCh_hYXmCX4,5487 +rope-1.3.0.dist-info/RECORD,, +rope-1.3.0.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +rope-1.3.0.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92 +rope-1.3.0.dist-info/direct_url.json,sha256=cSPJ7aO6VAuUDxLHMQTivIcDcHTDr-X2sF_wzD-oShc,246 +rope-1.3.0.dist-info/top_level.txt,sha256=9J29TEx1omxK0VahSxM3eA1sZ6iwoJLxY_CXl4eF1K0,5 +rope/__init__.py,sha256=UCz5Kagh9LjvuCPqHWJUSaJ8T8KRKK9KUavzhQWvDwM,1021 +rope/__pycache__/__init__.cpython-38.pyc,, +rope/base/__init__.py,sha256=Rc_CXzByEEs4fC-Ap3GCMtVt2ne6iRZLeKPyYcceSIs,161 +rope/base/__pycache__/__init__.cpython-38.pyc,, +rope/base/__pycache__/arguments.cpython-38.pyc,, +rope/base/__pycache__/ast.cpython-38.pyc,, +rope/base/__pycache__/astutils.cpython-38.pyc,, +rope/base/__pycache__/builtins.cpython-38.pyc,, +rope/base/__pycache__/change.cpython-38.pyc,, +rope/base/__pycache__/codeanalyze.cpython-38.pyc,, +rope/base/__pycache__/evaluate.cpython-38.pyc,, +rope/base/__pycache__/exceptions.cpython-38.pyc,, +rope/base/__pycache__/fscommands.cpython-38.pyc,, +rope/base/__pycache__/history.cpython-38.pyc,, +rope/base/__pycache__/libutils.cpython-38.pyc,, +rope/base/__pycache__/prefs.cpython-38.pyc,, +rope/base/__pycache__/project.cpython-38.pyc,, +rope/base/__pycache__/pycore.cpython-38.pyc,, +rope/base/__pycache__/pynames.cpython-38.pyc,, +rope/base/__pycache__/pynamesdef.cpython-38.pyc,, +rope/base/__pycache__/pyobjects.cpython-38.pyc,, +rope/base/__pycache__/pyobjectsdef.cpython-38.pyc,, +rope/base/__pycache__/pyscopes.cpython-38.pyc,, +rope/base/__pycache__/resourceobserver.cpython-38.pyc,, +rope/base/__pycache__/resources.cpython-38.pyc,, +rope/base/__pycache__/simplify.cpython-38.pyc,, +rope/base/__pycache__/stdmods.cpython-38.pyc,, +rope/base/__pycache__/taskhandle.cpython-38.pyc,, +rope/base/__pycache__/worder.cpython-38.pyc,, +rope/base/arguments.py,sha256=vWVKa0zqsO3qSbq_MKnICIhd_G60GGx-4IaoMHrqRTo,3282 +rope/base/ast.py,sha256=uL8Fp10CDzZa_5PAIezO5Ih98p2d7b4HO8UnVB49sYo,2264 +rope/base/astutils.py,sha256=qL3d947XmGON_ytlKv5xiqn0-98S_aL7D0sQNN-fP0A,1642 +rope/base/builtins.py,sha256=Ngt_6REhfsA_qqYZQ9034dHdLYcIuIl3A6_dlS8QMeA,26605 +rope/base/change.py,sha256=vjbfmW4TI8xHlueItq9QQMcrT-WjJgSVbkKGrZuAJko,13491 +rope/base/codeanalyze.py,sha256=AArH9OYIDL7EH9VQer7W1QqGBFRP70TIamKtX4exARY,11774 +rope/base/evaluate.py,sha256=3n6QZmU7aalEwPiL82hFS64a4Pn-8WTIUHQ8tJDy1Cw,13222 +rope/base/exceptions.py,sha256=oZlQ0_X1qYAVikvOUWY6Bm0MYdCbyRzOTTW6vsg8kKQ,1392 +rope/base/fscommands.py,sha256=om1ALHWgT-4kAHH02aFm34sgPJDZY3OWRF2rPKceaqg,8418 +rope/base/history.py,sha256=boMdjWMW6sAshmyyYewvxxuPseO5hQ0wXc8VT1ZlV6c,8429 +rope/base/libutils.py,sha256=5pUg-BslUe7SJYxjtXLXXo4J2KTTPOgweYBcHjUl1Vc,3880 +rope/base/oi/__init__.py,sha256=wR4if-DJ8qc-eGwKa2WF0Ynfl5Y9Cf6eSs3Yr7tC-po,1682 +rope/base/oi/__pycache__/__init__.cpython-38.pyc,, +rope/base/oi/__pycache__/doa.cpython-38.pyc,, +rope/base/oi/__pycache__/memorydb.cpython-38.pyc,, +rope/base/oi/__pycache__/objectdb.cpython-38.pyc,, +rope/base/oi/__pycache__/objectinfo.cpython-38.pyc,, +rope/base/oi/__pycache__/runmod.cpython-38.pyc,, +rope/base/oi/__pycache__/soa.cpython-38.pyc,, +rope/base/oi/__pycache__/soi.cpython-38.pyc,, +rope/base/oi/__pycache__/transform.cpython-38.pyc,, +rope/base/oi/doa.py,sha256=1swUzOPVmXvojQPkD84PFDvAfgo1X2AaIcnwmqh2Doo,7354 +rope/base/oi/memorydb.py,sha256=wv4GdnfvJDLgaEVYYmScA63CF4BP9XCgkjICA-2PD1o,3022 +rope/base/oi/objectdb.py,sha256=FyzS0esM9sJXrqZ4hrz_GwT6AXCu5dZj_suxTdvsXik,4547 +rope/base/oi/objectinfo.py,sha256=4Wby7-CWL6X8I_WPBZm7FCnyzJYoMNRezz8sLYy7ptc,8624 +rope/base/oi/runmod.py,sha256=8GARbJiMW5lXWCiZdiS2C7RSXleRswbX5HOK6bP9ah4,8496 +rope/base/oi/soa.py,sha256=ktX8hKtF0db0ehm_CwAPXX8AwqgeuT7x_Kvzd6JcpW4,5962 +rope/base/oi/soi.py,sha256=nwXNtB-l-GfXN4s36x_dbWTecoomFGb4wA6r36xOhPk,7964 +rope/base/oi/transform.py,sha256=hiSeD37w3D01GqnSehacLK-t0C0UbKvEcV-Jx93pmes,9828 +rope/base/oi/type_hinting/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +rope/base/oi/type_hinting/__pycache__/__init__.cpython-38.pyc,, +rope/base/oi/type_hinting/__pycache__/evaluate.cpython-38.pyc,, +rope/base/oi/type_hinting/__pycache__/factory.cpython-38.pyc,, +rope/base/oi/type_hinting/__pycache__/interfaces.cpython-38.pyc,, +rope/base/oi/type_hinting/__pycache__/utils.cpython-38.pyc,, +rope/base/oi/type_hinting/evaluate.py,sha256=HiuBe7Ty2O1AzitLdibw0xhj_I9440p-F7oVjv83sOE,8913 +rope/base/oi/type_hinting/factory.py,sha256=e-VGoNh3Nbt2eOGY8z7SqBDOVdkTozX7_DrpIIAL_Vc,2681 +rope/base/oi/type_hinting/interfaces.py,sha256=ahPDrk1VB_YuLlYgOgSm6Oa6ou9vn7AeQaMp0vPa-dc,715 +rope/base/oi/type_hinting/providers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +rope/base/oi/type_hinting/providers/__pycache__/__init__.cpython-38.pyc,, +rope/base/oi/type_hinting/providers/__pycache__/composite.cpython-38.pyc,, +rope/base/oi/type_hinting/providers/__pycache__/docstrings.cpython-38.pyc,, +rope/base/oi/type_hinting/providers/__pycache__/inheritance.cpython-38.pyc,, +rope/base/oi/type_hinting/providers/__pycache__/interfaces.cpython-38.pyc,, +rope/base/oi/type_hinting/providers/__pycache__/numpydocstrings.cpython-38.pyc,, +rope/base/oi/type_hinting/providers/__pycache__/pep0484_type_comments.cpython-38.pyc,, +rope/base/oi/type_hinting/providers/composite.py,sha256=vGVua-2x24yDjNQq3-A-9dufRmN-Ij6aJ-7heUnz2j4,1856 +rope/base/oi/type_hinting/providers/docstrings.py,sha256=xN7pzQxxVNkHOob9IuSUKHpNtfALJ_IqwFHBg0Ejhxk,6167 +rope/base/oi/type_hinting/providers/inheritance.py,sha256=Dvcwu5DuaGDyYBtJGCee3YvBkV7YiW3oITkQHl1ldz0,2116 +rope/base/oi/type_hinting/providers/interfaces.py,sha256=t2xDA61-rsuK8b9voGOO6_tvHK35j7bJuRp9DNZHbQc,1055 +rope/base/oi/type_hinting/providers/numpydocstrings.py,sha256=-orzFpUGmxMexQpVW2JCt0lA3Cx88SDKDSXkqUladzA,1378 +rope/base/oi/type_hinting/providers/pep0484_type_comments.py,sha256=JQfWk0ue_sRP7GvkcLgawSUp0LqBay-xOKLOCkvAPks,1524 +rope/base/oi/type_hinting/resolvers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +rope/base/oi/type_hinting/resolvers/__pycache__/__init__.cpython-38.pyc,, +rope/base/oi/type_hinting/resolvers/__pycache__/composite.cpython-38.pyc,, +rope/base/oi/type_hinting/resolvers/__pycache__/interfaces.cpython-38.pyc,, +rope/base/oi/type_hinting/resolvers/__pycache__/types.cpython-38.pyc,, +rope/base/oi/type_hinting/resolvers/composite.py,sha256=c5b5CvWS7299CpI0BWsa5LpKnBpo167B_penI1VeezI,778 +rope/base/oi/type_hinting/resolvers/interfaces.py,sha256=AJgPyJyqs9hsd8Wdlq32UVkoPa_Rz0uuBPZMD64G5OE,405 +rope/base/oi/type_hinting/resolvers/types.py,sha256=MD_bxrIcSJmKnEEfqbeLxZZq-CoxgDBuY2PEBrWNvX8,611 +rope/base/oi/type_hinting/utils.py,sha256=O4movqjpEPzf6112QxBLkA5sx9FTJXtMNxo4iImsaBI,5244 +rope/base/prefs.py,sha256=19giA3jmDmeIJZpZHMJIGSCabFcRAkzrVPQU8Umw48k,9859 +rope/base/project.py,sha256=gq05dVie_e3JCCbtcEzZHMbdTzPJfD4HN6NuKGgdziA,15684 +rope/base/pycore.py,sha256=gZXBTW6IJDTw7aUNA50VcmJQWnW3JOGfIrXA1PBB62U,12920 +rope/base/pynames.py,sha256=hZvg8ilTetazJdtXULSqZ5qXMRWWApkaElHek-1UxpA,6035 +rope/base/pynamesdef.py,sha256=iPNTJVn45zUh7kuBDP74rZoJfkFxHsuxjlg6EttdDFY,1770 +rope/base/pyobjects.py,sha256=5GJr-eNWzg-vAEXpuLX4yF4m9SjbNQ3vsdKY4ST4NpY,9284 +rope/base/pyobjectsdef.py,sha256=d7YYlP1Rm7hw2qypY9gWQdMo5oG8UfiKTgfhX7ciETY,22966 +rope/base/pyscopes.py,sha256=3j8wUR2lOYliAyFB9TlUDiakLEJEMge5_beGwa-qJ10,11508 +rope/base/resourceobserver.py,sha256=MR3Aa_ajTbPWkQTUttKfDoN_qOmRbV63hwGlyHg_-T0,10291 +rope/base/resources.py,sha256=v8Y7C-Bd8Ks2gR_ege3piNSDtF7WlTf3Jfu2k02xnrg,7986 +rope/base/simplify.py,sha256=QtcccSCslUw8JTV2jG4D1tAJQFN1HthYy4FD3NdqNmg,1905 +rope/base/stdmods.py,sha256=szs3X3bWm_lsVQX23hbJJsWBVJzJ6NZoCgcuj84Y_EI,1607 +rope/base/taskhandle.py,sha256=94rGJn-03Qt0eTuSno6PyMY2zBmU6eUjBG896AUgVsY,4918 +rope/base/utils/__init__.py,sha256=0TIPzNRlGwlOH0NMQVa_47OJ5g9jJuSBh8Ex-Kgen90,3949 +rope/base/utils/__pycache__/__init__.cpython-38.pyc,, +rope/base/utils/__pycache__/datastructures.cpython-38.pyc,, +rope/base/utils/__pycache__/pycompat.cpython-38.pyc,, +rope/base/utils/datastructures.py,sha256=BMvhXWn3g726kBIf3H-biKPM71WvfCj8UI9xaNcVA7A,1910 +rope/base/utils/pycompat.py,sha256=CqZp3rKRWiOLh0u_3Z83hCj6WzhKA3M5KU4BKtJdnbc,437 +rope/base/worder.py,sha256=7mvOcordicg8svhGMBhiQ054738zSYY6RkjKsQStCWc,22416 +rope/contrib/__init__.py,sha256=2td2_QPauCvImOVmz3a860j2yE-W3stg9BOh1Mb4dlE,169 +rope/contrib/__pycache__/__init__.cpython-38.pyc,, +rope/contrib/__pycache__/changestack.cpython-38.pyc,, +rope/contrib/__pycache__/codeassist.cpython-38.pyc,, +rope/contrib/__pycache__/finderrors.cpython-38.pyc,, +rope/contrib/__pycache__/findit.cpython-38.pyc,, +rope/contrib/__pycache__/fixmodnames.cpython-38.pyc,, +rope/contrib/__pycache__/fixsyntax.cpython-38.pyc,, +rope/contrib/__pycache__/generate.cpython-38.pyc,, +rope/contrib/autoimport/__init__.py,sha256=EhJLwUmkFo8oCMKIpb-IUrL9pPjtawvDkG9n9LbT6vk,197 +rope/contrib/autoimport/__pycache__/__init__.cpython-38.pyc,, +rope/contrib/autoimport/__pycache__/defs.cpython-38.pyc,, +rope/contrib/autoimport/__pycache__/models.cpython-38.pyc,, +rope/contrib/autoimport/__pycache__/parse.cpython-38.pyc,, +rope/contrib/autoimport/__pycache__/pickle.cpython-38.pyc,, +rope/contrib/autoimport/__pycache__/sqlite.cpython-38.pyc,, +rope/contrib/autoimport/__pycache__/utils.cpython-38.pyc,, +rope/contrib/autoimport/defs.py,sha256=f0b9WdzTzYCPkLAPOsgS87V8sRKRC2ofbBfWXumAaIo,2444 +rope/contrib/autoimport/models.py,sha256=xytrBL0Fqk5vWttdpkXDyPeQ3nQUCxRWRNeEV1gJ5wI,2670 +rope/contrib/autoimport/parse.py,sha256=5gpwdf0w0sXmfk9hfcrD7xlHQrcuYS2eWKcYZerF1rU,5260 +rope/contrib/autoimport/pickle.py,sha256=r-uuQ-GDbxJ-JsTb9x3uTRaZk99OYEeeGAYd_QfXNqM,8556 +rope/contrib/autoimport/sqlite.py,sha256=_I8hDM4MzoWwkhydNnB7eJ56kjq3dV95Ak72ndV0fxo,19470 +rope/contrib/autoimport/utils.py,sha256=3TOSa8cMUxTdPq6NwmsoeWj4IEBjdJc5M1f_gmM1h2o,4858 +rope/contrib/changestack.py,sha256=25qZ95peRF1_LfXYWA7WX5PB7V94G-iFjuA1EPxXDZU,1350 +rope/contrib/codeassist.py,sha256=TTNe56oDQv7kZfVaaR8mCBtk8q7Z_zJWbol0FtpEfJE,26565 +rope/contrib/finderrors.py,sha256=p1s58u0C6SjpiqXf-CY3nlRLKXfVSLmqJukeHqvDhnY,2932 +rope/contrib/findit.py,sha256=X3JiwLwa5lk3W_8Q8UHSBWiqzZ7siHiHznqg40D2v0M,4292 +rope/contrib/fixmodnames.py,sha256=zfYoi29v3Sd4aVAWVgpSDPwBG6fGilhGtsx7Dg-mLnE,2191 +rope/contrib/fixsyntax.py,sha256=5Z5csFbRPyeFFMINaOUbYbe8zjHS5FQw7JbYGOJ6KZM,6960 +rope/contrib/generate.py,sha256=CLg_3diPj0LhyJTyOcFPq47KFQA4S75InpfgONK1Zm8,14310 +rope/refactor/__init__.py,sha256=ek2SfEOdZhJO0NgHGNPkg3u5mtjDCivjP-0zse1vWB0,2127 +rope/refactor/__pycache__/__init__.cpython-38.pyc,, +rope/refactor/__pycache__/change_signature.cpython-38.pyc,, +rope/refactor/__pycache__/encapsulate_field.cpython-38.pyc,, +rope/refactor/__pycache__/extract.cpython-38.pyc,, +rope/refactor/__pycache__/functionutils.cpython-38.pyc,, +rope/refactor/__pycache__/inline.cpython-38.pyc,, +rope/refactor/__pycache__/introduce_factory.cpython-38.pyc,, +rope/refactor/__pycache__/introduce_parameter.cpython-38.pyc,, +rope/refactor/__pycache__/localtofield.cpython-38.pyc,, +rope/refactor/__pycache__/method_object.cpython-38.pyc,, +rope/refactor/__pycache__/move.cpython-38.pyc,, +rope/refactor/__pycache__/multiproject.cpython-38.pyc,, +rope/refactor/__pycache__/occurrences.cpython-38.pyc,, +rope/refactor/__pycache__/patchedast.cpython-38.pyc,, +rope/refactor/__pycache__/rename.cpython-38.pyc,, +rope/refactor/__pycache__/restructure.cpython-38.pyc,, +rope/refactor/__pycache__/similarfinder.cpython-38.pyc,, +rope/refactor/__pycache__/sourceutils.cpython-38.pyc,, +rope/refactor/__pycache__/suites.cpython-38.pyc,, +rope/refactor/__pycache__/topackage.cpython-38.pyc,, +rope/refactor/__pycache__/usefunction.cpython-38.pyc,, +rope/refactor/__pycache__/wildcards.cpython-38.pyc,, +rope/refactor/change_signature.py,sha256=GsgLMY-tkEhckoPLja9pvCuy5aZcsINvh76yYVXA9BY,13555 +rope/refactor/encapsulate_field.py,sha256=JYjvuyqoq6naX_mQ0lzw3qyH_gBbBynhDmbeMcR5Mf0,8653 +rope/refactor/extract.py,sha256=o6yBPznGlvEjkSe6PBUGImcQGZ-cdau_vV1gyhFBgF4,38587 +rope/refactor/functionutils.py,sha256=t2DgSbDkX84kDBPqG5BmOUxq2mH1BojIVP6N-vIWoHk,8526 +rope/refactor/importutils/__init__.py,sha256=r3JuqwkrX-fe-Ika4QjIokQbIXEND0LpDqKK2qnOpOA,13319 +rope/refactor/importutils/__pycache__/__init__.cpython-38.pyc,, +rope/refactor/importutils/__pycache__/actions.cpython-38.pyc,, +rope/refactor/importutils/__pycache__/importinfo.cpython-38.pyc,, +rope/refactor/importutils/__pycache__/module_imports.cpython-38.pyc,, +rope/refactor/importutils/actions.py,sha256=QX25U7bPPZvI0VGhoImdkqPmmAVdQ8EbJ8vTl09a5RU,14305 +rope/refactor/importutils/importinfo.py,sha256=WDCIevhalPJ2eMbsq6qK_7dyf0OYW-3XAlsRWtcokUg,5735 +rope/refactor/importutils/module_imports.py,sha256=3_9U7w95J64zcIoIXGQOJpjPxRqTHCJdDn4z3jikg-o,21858 +rope/refactor/inline.py,sha256=V7K9v9gIKZZx9S_PQCZOBXH_QKxybpzsGl4qL8ry3QQ,25001 +rope/refactor/introduce_factory.py,sha256=K7tf01TRjaTAqJrSpu0Gpj6-PocBUeybBX5bR64q00c,6027 +rope/refactor/introduce_parameter.py,sha256=CQ2zrrV0NzXjbHcC5feXHwhV97bg6vcRjIHK79iFcTg,3675 +rope/refactor/localtofield.py,sha256=FLs9LUNPFOiP_7TL5uzLeDUQryNt-yGENZCgbSpOF-U,2078 +rope/refactor/method_object.py,sha256=hjtD_TbJX7ErgPFGk66vXL8DIGaoHGPdUl7fM-itfWo,3870 +rope/refactor/move.py,sha256=MCb9WU8oAmSKOKLxdY4-Osn1UrqcLJTdsIfAISjIMsM,33286 +rope/refactor/multiproject.py,sha256=tLubA-8P1msOYJFgIVaLagINBTrr5thB6rINfRVBBLM,2544 +rope/refactor/occurrences.py,sha256=XMnEjh1h7PNUbQOMZc257n8Zalm9pP9UNEM0eBRivZA,13133 +rope/refactor/patchedast.py,sha256=ek41UjUysLpiS8gEBz-Av7oTwpHbD5cCMmgchvMFhR4,35989 +rope/refactor/rename.py,sha256=MrBY0f9zj-G7JHwvYFQhK49InniwVWgNhkvBZo9cd5s,9429 +rope/refactor/restructure.py,sha256=8BAXYyfj7rKlEprVIpIy8alHzpiP1uGqmG2uhWcj7Do,11490 +rope/refactor/similarfinder.py,sha256=b4P_u-c9nCC36XNqcypRDiBHe6Jqg9-kGNCKVN65TS8,12490 +rope/refactor/sourceutils.py,sha256=EyHDEvAitY6OHctHunxR055BR_9aD_1NIUIJP5g2voI,2969 +rope/refactor/suites.py,sha256=vtf8w4WM-mPfYOt502OdWXemQ-v86OW2-WcaZqdTCRk,5172 +rope/refactor/topackage.py,sha256=9A1jsahP-P9EsQD4A8j3fPcOkXiNR1HwcHeo1lCljhE,1226 +rope/refactor/usefunction.py,sha256=d6wI6o-9fM6DHQ1OiLXwW3ItcoWDRjeGqPQ28h8j_QE,6558 +rope/refactor/wildcards.py,sha256=2juHsJ6Sl0GMzvrSmvAvp0CB4vgZZAlnI7S7EHrCy44,5740 diff --git a/venv/lib/python3.8/site-packages/rope-1.3.0.dist-info/REQUESTED b/venv/lib/python3.8/site-packages/rope-1.3.0.dist-info/REQUESTED new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.8/site-packages/rope-1.3.0.dist-info/WHEEL b/venv/lib/python3.8/site-packages/rope-1.3.0.dist-info/WHEEL new file mode 120000 index 0000000..7e89bc1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope-1.3.0.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1b/5e/87/e00dc87a84269cead8578b9e6462928e18a95f1f3373c9eef451a5bcc0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope-1.3.0.dist-info/direct_url.json b/venv/lib/python3.8/site-packages/rope-1.3.0.dist-info/direct_url.json new file mode 100644 index 0000000..89755ef --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope-1.3.0.dist-info/direct_url.json @@ -0,0 +1 @@ +{"archive_info": {"hash": "sha256=f0c82bd7167c2926339c6f0d9ecf7c93d6866cbe380c78639fa1bc4ac037c097"}, "url": "https://files.pythonhosted.org/packages/08/81/205ef66c8a129a7b87cbdadf59f2dbc2bbad24c6073d9e393fb0e2aa7d78/rope-1.3.0-py3-none-any.whl"} \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope-1.3.0.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/rope-1.3.0.dist-info/top_level.txt new file mode 120000 index 0000000..a3119b9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope-1.3.0.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f4/9d/bd/4c4c75a26c4ad156a14b1337780d6c67a8b0a092f163f097978785d4ad \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/__init__.py b/venv/lib/python3.8/site-packages/rope/__init__.py new file mode 120000 index 0000000..22bc664 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/50/2c/f9/29a821f4b8efb823ea1d625449a27c4fc29128af4a51abf38505af0f03 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..e925cf1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/__init__.py b/venv/lib/python3.8/site-packages/rope/base/__init__.py new file mode 120000 index 0000000..97ad773 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/45/cf/c2/5f3072104b387c2f80a7718232d56dda77ba89164b78a3f261c71e488b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..8010e77 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/__pycache__/arguments.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/__pycache__/arguments.cpython-38.pyc new file mode 100644 index 0000000..b929a4a Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/__pycache__/arguments.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/__pycache__/ast.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/__pycache__/ast.cpython-38.pyc new file mode 100644 index 0000000..97a9f11 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/__pycache__/ast.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/__pycache__/astutils.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/__pycache__/astutils.cpython-38.pyc new file mode 100644 index 0000000..57e5399 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/__pycache__/astutils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/__pycache__/builtins.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/__pycache__/builtins.cpython-38.pyc new file mode 100644 index 0000000..d357a39 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/__pycache__/builtins.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/__pycache__/change.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/__pycache__/change.cpython-38.pyc new file mode 100644 index 0000000..be8342e Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/__pycache__/change.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/__pycache__/codeanalyze.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/__pycache__/codeanalyze.cpython-38.pyc new file mode 100644 index 0000000..8a974c2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/__pycache__/codeanalyze.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/__pycache__/evaluate.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/__pycache__/evaluate.cpython-38.pyc new file mode 100644 index 0000000..1756069 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/__pycache__/evaluate.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/__pycache__/exceptions.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/__pycache__/exceptions.cpython-38.pyc new file mode 100644 index 0000000..1265e50 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/__pycache__/exceptions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/__pycache__/fscommands.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/__pycache__/fscommands.cpython-38.pyc new file mode 100644 index 0000000..df5a624 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/__pycache__/fscommands.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/__pycache__/history.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/__pycache__/history.cpython-38.pyc new file mode 100644 index 0000000..a594db7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/__pycache__/history.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/__pycache__/libutils.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/__pycache__/libutils.cpython-38.pyc new file mode 100644 index 0000000..f8d3122 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/__pycache__/libutils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/__pycache__/prefs.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/__pycache__/prefs.cpython-38.pyc new file mode 100644 index 0000000..8be9e31 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/__pycache__/prefs.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/__pycache__/project.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/__pycache__/project.cpython-38.pyc new file mode 100644 index 0000000..e55234e Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/__pycache__/project.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/__pycache__/pycore.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/__pycache__/pycore.cpython-38.pyc new file mode 100644 index 0000000..daf7796 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/__pycache__/pycore.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/__pycache__/pynames.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/__pycache__/pynames.cpython-38.pyc new file mode 100644 index 0000000..94042af Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/__pycache__/pynames.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/__pycache__/pynamesdef.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/__pycache__/pynamesdef.cpython-38.pyc new file mode 100644 index 0000000..51e8af6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/__pycache__/pynamesdef.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/__pycache__/pyobjects.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/__pycache__/pyobjects.cpython-38.pyc new file mode 100644 index 0000000..d8be563 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/__pycache__/pyobjects.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/__pycache__/pyobjectsdef.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/__pycache__/pyobjectsdef.cpython-38.pyc new file mode 100644 index 0000000..9a4f4b9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/__pycache__/pyobjectsdef.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/__pycache__/pyscopes.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/__pycache__/pyscopes.cpython-38.pyc new file mode 100644 index 0000000..6a2774f Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/__pycache__/pyscopes.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/__pycache__/resourceobserver.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/__pycache__/resourceobserver.cpython-38.pyc new file mode 100644 index 0000000..af461b2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/__pycache__/resourceobserver.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/__pycache__/resources.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/__pycache__/resources.cpython-38.pyc new file mode 100644 index 0000000..df1cbfb Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/__pycache__/resources.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/__pycache__/simplify.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/__pycache__/simplify.cpython-38.pyc new file mode 100644 index 0000000..3d57aab Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/__pycache__/simplify.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/__pycache__/stdmods.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/__pycache__/stdmods.cpython-38.pyc new file mode 100644 index 0000000..d610734 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/__pycache__/stdmods.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/__pycache__/taskhandle.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/__pycache__/taskhandle.cpython-38.pyc new file mode 100644 index 0000000..f8e812e Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/__pycache__/taskhandle.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/__pycache__/worder.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/__pycache__/worder.cpython-38.pyc new file mode 100644 index 0000000..02c9aa4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/__pycache__/worder.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/arguments.py b/venv/lib/python3.8/site-packages/rope/base/arguments.py new file mode 120000 index 0000000..371d39c --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/arguments.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bd/65/4a/6b4ceab0edea49babf30a9c808885dfc6eb4186c7ee086a8307aea453a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/ast.py b/venv/lib/python3.8/site-packages/rope/base/ast.py new file mode 120000 index 0000000..0dd39f3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/ast.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b8/bf/05/a75d020f365aff93c021eccee4887df29d9dedbe073bc527541e3db18a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/astutils.py b/venv/lib/python3.8/site-packages/rope/base/astutils.py new file mode 120000 index 0000000..e8ff30e --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/astutils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a8/bd/dd/f78ed798638dff2b652afe718aa9f4fbdf12fda2fb0f4b1034df9f3f40 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/builtins.py b/venv/lib/python3.8/site-packages/rope/base/builtins.py new file mode 120000 index 0000000..5909386 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/builtins.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/36/0b/7f/e911217ec03faaa61943dd37e1d1dd2d8708b8897703afdd952f1031e0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/change.py b/venv/lib/python3.8/site-packages/rope/base/change.py new file mode 120000 index 0000000..d24c876 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/change.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/be/36/df/996e1323cc4796e788b6af5040c72b4fe5a32604956e4286ad9b80264a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/codeanalyze.py b/venv/lib/python3.8/site-packages/rope/base/codeanalyze.py new file mode 120000 index 0000000..b3dcdd8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/codeanalyze.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/00/0a/c7/f4e6080cbec41fd5507abed6d50a8604544fef44c86a62ad5f87b10116 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/evaluate.py b/venv/lib/python3.8/site-packages/rope/base/evaluate.py new file mode 120000 index 0000000..4d1c1b9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/evaluate.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/de/7e/90/66653b69a944c0f88bf368454bae1ae0f9fef164c850743cb490f2d42c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/exceptions.py b/venv/lib/python3.8/site-packages/rope/base/exceptions.py new file mode 120000 index 0000000..2f1258e --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/exceptions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a1/99/50/d3f5f5a980158a4bce51663a066d0c61d09bc91cce4d35babec83c90a4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/fscommands.py b/venv/lib/python3.8/site-packages/rope/base/fscommands.py new file mode 120000 index 0000000..b21a3bd --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/fscommands.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a2/6d/40/2c75a04fee240071f4d9a166df8b203c90d9637396445dab3ca71e6aa8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/history.py b/venv/lib/python3.8/site-packages/rope/base/history.py new file mode 120000 index 0000000..0ecf1c0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/history.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6e/83/1d/8d6316eac02c866cb261ec2fc71b8fb1e3b9850d305dcf154f566557a7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/libutils.py b/venv/lib/python3.8/site-packages/rope/base/libutils.py new file mode 120000 index 0000000..774d7f1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/libutils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e6/95/20/f81b2551eed2258c63b572d75e8e09d8a4d33ce83079805c1e3525d557 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/__init__.py b/venv/lib/python3.8/site-packages/rope/base/oi/__init__.py new file mode 120000 index 0000000..24a558b --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/oi/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c1/1e/22/7fe0c9f2a73e786c0a6b6585d189df97963d09fe9e4acdd8afbb42fa9a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/oi/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..a95e199 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/oi/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/__pycache__/doa.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/oi/__pycache__/doa.cpython-38.pyc new file mode 100644 index 0000000..85ece98 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/oi/__pycache__/doa.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/__pycache__/memorydb.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/oi/__pycache__/memorydb.cpython-38.pyc new file mode 100644 index 0000000..e3d3c50 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/oi/__pycache__/memorydb.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/__pycache__/objectdb.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/oi/__pycache__/objectdb.cpython-38.pyc new file mode 100644 index 0000000..cee4980 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/oi/__pycache__/objectdb.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/__pycache__/objectinfo.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/oi/__pycache__/objectinfo.cpython-38.pyc new file mode 100644 index 0000000..b7eb22c Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/oi/__pycache__/objectinfo.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/__pycache__/runmod.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/oi/__pycache__/runmod.cpython-38.pyc new file mode 100644 index 0000000..d2953a1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/oi/__pycache__/runmod.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/__pycache__/soa.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/oi/__pycache__/soa.cpython-38.pyc new file mode 100644 index 0000000..fad3486 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/oi/__pycache__/soa.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/__pycache__/soi.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/oi/__pycache__/soi.cpython-38.pyc new file mode 100644 index 0000000..fb15790 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/oi/__pycache__/soi.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/__pycache__/transform.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/oi/__pycache__/transform.cpython-38.pyc new file mode 100644 index 0000000..4c01c08 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/oi/__pycache__/transform.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/doa.py b/venv/lib/python3.8/site-packages/rope/base/oi/doa.py new file mode 120000 index 0000000..629d3cd --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/oi/doa.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d6/cc/14/cce3d5997be88d03e40fce0f143bc07e0a355f601a21c9f09aa8760e8a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/memorydb.py b/venv/lib/python3.8/site-packages/rope/base/oi/memorydb.py new file mode 120000 index 0000000..bc8f9a1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/oi/memorydb.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c2/fe/06/7677ef2432e068455862649c03adc217804ff570a092320203ed8f0f5a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/objectdb.py b/venv/lib/python3.8/site-packages/rope/base/oi/objectdb.py new file mode 120000 index 0000000..8fb5072 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/oi/objectdb.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/17/2c/d2/d1eb0cf6c257aea67886bcff1b04fa0170aee5d663fecbb14ddbec5e29 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/objectinfo.py b/venv/lib/python3.8/site-packages/rope/base/oi/objectinfo.py new file mode 120000 index 0000000..6580b94 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/oi/objectinfo.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e1/66/f2/efe0962fa5fc23f58f0599bb1429f2cc962830d45ecf3f2c2d8cbba6d7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/runmod.py b/venv/lib/python3.8/site-packages/rope/base/oi/runmod.py new file mode 120000 index 0000000..fbf2de2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/oi/runmod.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f0/60/11/6c988c5b99575828997624b60bb4525e5791b306d7e4738ae9b3fd6a1e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/soa.py b/venv/lib/python3.8/site-packages/rope/base/oi/soa.py new file mode 120000 index 0000000..704a0d4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/oi/soa.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/92/d5/fc/84ab45d1d6f47a19bf0b000f5d7f00c2a81eb93ef1fcabf377a25ca56e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/soi.py b/venv/lib/python3.8/site-packages/rope/base/oi/soi.py new file mode 120000 index 0000000..381b23a --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/oi/soi.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9f/05/cd/b41fa5f867d7378b37eb1fdd6d64de728a261466f8c00eabdfac4e84f9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/transform.py b/venv/lib/python3.8/site-packages/rope/base/oi/transform.py new file mode 120000 index 0000000..c79f8c3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/oi/transform.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/86/24/9e/0f7ef0dc3d351aa9d27a169c2cafadd02d146cabc4715f89c7dde999eb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/__init__.py b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..3be7691 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/__pycache__/evaluate.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/__pycache__/evaluate.cpython-38.pyc new file mode 100644 index 0000000..c6ec17c Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/__pycache__/evaluate.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/__pycache__/factory.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/__pycache__/factory.cpython-38.pyc new file mode 100644 index 0000000..562cdde Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/__pycache__/factory.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/__pycache__/interfaces.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/__pycache__/interfaces.cpython-38.pyc new file mode 100644 index 0000000..7cf8dcf Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/__pycache__/interfaces.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/__pycache__/utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/__pycache__/utils.cpython-38.pyc new file mode 100644 index 0000000..ecf7c15 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/__pycache__/utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/evaluate.py b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/evaluate.py new file mode 120000 index 0000000..de8aa56 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/evaluate.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1e/2b/81/7bb4f2d8ed40ce2b4b7626f0d31863fc8f78e34a7e17ba158eff37b0e1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/factory.py b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/factory.py new file mode 120000 index 0000000..c8c0969 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/factory.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7b/e5/46/a0d87735bb7678e198f33ed2a810ce55d913a335fbfc3ae920800bfd57 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/interfaces.py b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/interfaces.py new file mode 120000 index 0000000..a766b90 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/interfaces.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6a/13/c3/ae4d5507f62e2e56203a04a6e8e6baa2ef6f9fb01e41a329d2f3daf9d7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/providers/__init__.py b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/providers/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/providers/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/providers/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/providers/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..acfcd05 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/providers/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/providers/__pycache__/composite.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/providers/__pycache__/composite.cpython-38.pyc new file mode 100644 index 0000000..a6c1bee Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/providers/__pycache__/composite.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/providers/__pycache__/docstrings.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/providers/__pycache__/docstrings.cpython-38.pyc new file mode 100644 index 0000000..258d873 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/providers/__pycache__/docstrings.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/providers/__pycache__/inheritance.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/providers/__pycache__/inheritance.cpython-38.pyc new file mode 100644 index 0000000..10c41ea Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/providers/__pycache__/inheritance.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/providers/__pycache__/interfaces.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/providers/__pycache__/interfaces.cpython-38.pyc new file mode 100644 index 0000000..ec00cb6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/providers/__pycache__/interfaces.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/providers/__pycache__/numpydocstrings.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/providers/__pycache__/numpydocstrings.cpython-38.pyc new file mode 100644 index 0000000..9295548 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/providers/__pycache__/numpydocstrings.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/providers/__pycache__/pep0484_type_comments.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/providers/__pycache__/pep0484_type_comments.cpython-38.pyc new file mode 100644 index 0000000..3bb09e7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/providers/__pycache__/pep0484_type_comments.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/providers/composite.py b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/providers/composite.py new file mode 120000 index 0000000..6159e53 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/providers/composite.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bc/65/6e/6bedb1db8c838cd42adfe03ef5db9f46637e223e9a27eee17949f3da3e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/providers/docstrings.py b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/providers/docstrings.py new file mode 120000 index 0000000..29b3a99 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/providers/docstrings.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c4/de/e9/cd0c7154d9073a86fd22e494287a4db5f00b27f22ac051c18341238719 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/providers/inheritance.py b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/providers/inheritance.py new file mode 120000 index 0000000..d200eed --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/providers/inheritance.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0e/f7/30/bb90ee6860f2601b4918279edd8bc1915ed8896de82139101e5d65773d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/providers/interfaces.py b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/providers/interfaces.py new file mode 120000 index 0000000..45b8b34 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/providers/interfaces.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b7/6c/43/03ad7eaecb8af1bf6fa0638eebfb6f1cadf98fb6c9b91a7d0cd6476d07 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/providers/numpydocstrings.py b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/providers/numpydocstrings.py new file mode 120000 index 0000000..25f0395 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/providers/numpydocstrings.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fa/8a/f3/1695069b131ec50a555b6242b74940dc2c7cf120ca0d25e4a9495a7730 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/providers/pep0484_type_comments.py b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/providers/pep0484_type_comments.py new file mode 120000 index 0000000..4109531 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/providers/pep0484_type_comments.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/25/07/d6/934b9efec44fec6be470b81ac12529d0ba816b2fb138a2ce0a4bc03e4b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/resolvers/__init__.py b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/resolvers/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/resolvers/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/resolvers/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/resolvers/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..153d36e Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/resolvers/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/resolvers/__pycache__/composite.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/resolvers/__pycache__/composite.cpython-38.pyc new file mode 100644 index 0000000..3f76500 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/resolvers/__pycache__/composite.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/resolvers/__pycache__/interfaces.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/resolvers/__pycache__/interfaces.cpython-38.pyc new file mode 100644 index 0000000..5e3a2c9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/resolvers/__pycache__/interfaces.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/resolvers/__pycache__/types.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/resolvers/__pycache__/types.cpython-38.pyc new file mode 100644 index 0000000..e94474d Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/resolvers/__pycache__/types.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/resolvers/composite.py b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/resolvers/composite.py new file mode 120000 index 0000000..f98b627 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/resolvers/composite.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/73/96/f9/0af592ef6f7d0a9234056b1ae4ba4a9c1a68d7aec1fe97a723555e7b32 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/resolvers/interfaces.py b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/resolvers/interfaces.py new file mode 120000 index 0000000..cb5dfc0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/resolvers/interfaces.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/00/98/0f/c89caab3d86c77c59d96adf65159283dafd1cf4bae04f64c0fae06e4e1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/resolvers/types.py b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/resolvers/types.py new file mode 120000 index 0000000..8222e3d --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/resolvers/types.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/30/3f/db/c6b21c48998a9c411fa9b78bc5966af82a3180306e6363c406b58dbd7f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/utils.py b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/utils.py new file mode 120000 index 0000000..d97e4a4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/oi/type_hinting/utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3b/89/a8/bea8e910fcdfeb5d7643104b900e6cc7d153257b4c371a388889ac6812 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/prefs.py b/venv/lib/python3.8/site-packages/rope/base/prefs.py new file mode 120000 index 0000000..1ce9760 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/prefs.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d7/d8/22/0378e60e6788259a591cc24819209a6c5711024ceb54f414f149b0e3c9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/project.py b/venv/lib/python3.8/site-packages/rope/base/project.py new file mode 120000 index 0000000..4304717 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/project.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/82/ad/39/75589efdedc90826ed704cd91cc6dd4f33c97c3e0737a36e28681dce20 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/pycore.py b/venv/lib/python3.8/site-packages/rope/base/pycore.py new file mode 120000 index 0000000..eb50a5e --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/pycore.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/81/95/c1/4d6e882434f0eda50d039d157262505a75b724e19f22b5c0d4f041eb65 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/pynames.py b/venv/lib/python3.8/site-packages/rope/base/pynames.py new file mode 120000 index 0000000..aca3742 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/pynames.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/85/9b/e0/f229537ad6b325db5750b4aa679a9731159602991a1251de93ed54c690 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/pynamesdef.py b/venv/lib/python3.8/site-packages/rope/base/pynamesdef.py new file mode 120000 index 0000000..45cabde --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/pynamesdef.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/88/f3/53/2559f8e73521ee4b810cfef8ad9a097e41711ecbb18e583a12db5d0c56 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/pyobjects.py b/venv/lib/python3.8/site-packages/rope/base/pyobjects.py new file mode 120000 index 0000000..f5de47e --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/pyobjects.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e4/62/6b/f9e356ce0faf0045e9b8b5f8c85e26f528db350defb1d298e124f83696 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/pyobjectsdef.py b/venv/lib/python3.8/site-packages/rope/base/pyobjectsdef.py new file mode 120000 index 0000000..d74117b --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/pyobjectsdef.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/77/b6/18/94fd519bb870daaca963d81641d328e681bc51f88a4e07e15fb7221136 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/pyscopes.py b/venv/lib/python3.8/site-packages/rope/base/pyscopes.py new file mode 120000 index 0000000..1e3ce73 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/pyscopes.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/de/3f/30/511da5398962032141f539540e26a42c42443207b9fdb786c1afaa275d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/resourceobserver.py b/venv/lib/python3.8/site-packages/rope/base/resourceobserver.py new file mode 120000 index 0000000..8b1f2eb --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/resourceobserver.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/31/1d/c0/6bf6a34db3d69104d4b6d29f0e837fa8e9916d5eb78701a5c8783ff93d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/resources.py b/venv/lib/python3.8/site-packages/rope/base/resources.py new file mode 120000 index 0000000..e1c841e --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/resources.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bf/c6/3b/0be05df0ab36811fde81ede988d483b45ed69537f725fbb6934db19eb8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/simplify.py b/venv/lib/python3.8/site-packages/rope/base/simplify.py new file mode 120000 index 0000000..4ca208e --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/simplify.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/42/d7/1c/7120ac954c3c2535768c6e03d6d0094053751ed858cb8143dcd76a3668 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/stdmods.py b/venv/lib/python3.8/site-packages/rope/base/stdmods.py new file mode 120000 index 0000000..0078d4b --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/stdmods.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b3/3b/37/5f76d69bf96c5505f6de16c926c581549cc9e8d6680a072e8fce18fc42 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/taskhandle.py b/venv/lib/python3.8/site-packages/rope/base/taskhandle.py new file mode 120000 index 0000000..15d0c13 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/taskhandle.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f7/8a/c6/267fb4dd0b74793b929e8e8fc8c636cc1994e9e523046f3de8052056c6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/utils/__init__.py b/venv/lib/python3.8/site-packages/rope/base/utils/__init__.py new file mode 120000 index 0000000..5c21ce7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/utils/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d1/32/0f/ccd4651b094e1f434c4156bfe3b389e60f6326e48187c131f8a81e9fdd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/utils/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/utils/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..e38593b Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/utils/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/utils/__pycache__/datastructures.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/utils/__pycache__/datastructures.cpython-38.pyc new file mode 100644 index 0000000..6c35b4d Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/utils/__pycache__/datastructures.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/utils/__pycache__/pycompat.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/base/utils/__pycache__/pycompat.cpython-38.pyc new file mode 100644 index 0000000..0b826e6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/base/utils/__pycache__/pycompat.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/base/utils/datastructures.py b/venv/lib/python3.8/site-packages/rope/base/utils/datastructures.py new file mode 120000 index 0000000..205f53f --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/utils/datastructures.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/04/cb/e1/5d69f783bdba90121fdc7f9b88a3ccef55af7c28fc508f7168d71503b0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/utils/pycompat.py b/venv/lib/python3.8/site-packages/rope/base/utils/pycompat.py new file mode 120000 index 0000000..d1932f8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/utils/pycompat.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0a/a6/69/deb2915a238b874bbfdd9f378428fa5b384a037339294e012ad25d9db7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/base/worder.py b/venv/lib/python3.8/site-packages/rope/base/worder.py new file mode 120000 index 0000000..57faa54 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/base/worder.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ee/6b/ce/728add89c83cb2f846301862434e78ef7f3349863a4648cab104ad0967 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/contrib/__init__.py b/venv/lib/python3.8/site-packages/rope/contrib/__init__.py new file mode 120000 index 0000000..58eac4c --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/contrib/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/da/d7/76/fd03dab82bc898e566cf76bceb48f6c84f96decb60f413a1d4c6f87651 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/contrib/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/contrib/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..ed29bd0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/contrib/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/contrib/__pycache__/changestack.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/contrib/__pycache__/changestack.cpython-38.pyc new file mode 100644 index 0000000..e94af34 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/contrib/__pycache__/changestack.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/contrib/__pycache__/codeassist.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/contrib/__pycache__/codeassist.cpython-38.pyc new file mode 100644 index 0000000..76ccc69 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/contrib/__pycache__/codeassist.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/contrib/__pycache__/finderrors.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/contrib/__pycache__/finderrors.cpython-38.pyc new file mode 100644 index 0000000..9908c0e Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/contrib/__pycache__/finderrors.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/contrib/__pycache__/findit.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/contrib/__pycache__/findit.cpython-38.pyc new file mode 100644 index 0000000..1736d6d Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/contrib/__pycache__/findit.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/contrib/__pycache__/fixmodnames.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/contrib/__pycache__/fixmodnames.cpython-38.pyc new file mode 100644 index 0000000..ce500a8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/contrib/__pycache__/fixmodnames.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/contrib/__pycache__/fixsyntax.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/contrib/__pycache__/fixsyntax.cpython-38.pyc new file mode 100644 index 0000000..3fa8fc7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/contrib/__pycache__/fixsyntax.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/contrib/__pycache__/generate.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/contrib/__pycache__/generate.cpython-38.pyc new file mode 100644 index 0000000..01fedc2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/contrib/__pycache__/generate.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/contrib/autoimport/__init__.py b/venv/lib/python3.8/site-packages/rope/contrib/autoimport/__init__.py new file mode 120000 index 0000000..11d3149 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/contrib/autoimport/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/12/12/4b/c149a4168f2808c288a5bf8852b2fda4f8ed6b0bc3906f67f4b6d3eaf9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/contrib/autoimport/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/contrib/autoimport/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..23f6218 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/contrib/autoimport/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/contrib/autoimport/__pycache__/defs.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/contrib/autoimport/__pycache__/defs.cpython-38.pyc new file mode 100644 index 0000000..af2b8a4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/contrib/autoimport/__pycache__/defs.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/contrib/autoimport/__pycache__/models.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/contrib/autoimport/__pycache__/models.cpython-38.pyc new file mode 100644 index 0000000..c1735c1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/contrib/autoimport/__pycache__/models.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/contrib/autoimport/__pycache__/parse.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/contrib/autoimport/__pycache__/parse.cpython-38.pyc new file mode 100644 index 0000000..c241dfa Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/contrib/autoimport/__pycache__/parse.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/contrib/autoimport/__pycache__/pickle.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/contrib/autoimport/__pycache__/pickle.cpython-38.pyc new file mode 100644 index 0000000..ea9e169 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/contrib/autoimport/__pycache__/pickle.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/contrib/autoimport/__pycache__/sqlite.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/contrib/autoimport/__pycache__/sqlite.cpython-38.pyc new file mode 100644 index 0000000..3dc45be Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/contrib/autoimport/__pycache__/sqlite.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/contrib/autoimport/__pycache__/utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/contrib/autoimport/__pycache__/utils.cpython-38.pyc new file mode 100644 index 0000000..e694fd0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/contrib/autoimport/__pycache__/utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/contrib/autoimport/defs.py b/venv/lib/python3.8/site-packages/rope/contrib/autoimport/defs.py new file mode 120000 index 0000000..8437a07 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/contrib/autoimport/defs.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7f/46/fd/59dcd3cd808f90b00f3ac812f3b57cb112910b6a1f6c17d65ee980688a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/contrib/autoimport/models.py b/venv/lib/python3.8/site-packages/rope/contrib/autoimport/models.py new file mode 120000 index 0000000..200620e --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/contrib/autoimport/models.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c7/2b/6b/04bd05aa4e6f5adb5da645c3c8f790de74140b145644d784575809e702 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/contrib/autoimport/parse.py b/venv/lib/python3.8/site-packages/rope/contrib/autoimport/parse.py new file mode 120000 index 0000000..3b12646 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/contrib/autoimport/parse.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e6/0a/70/75fd30d2c5e67e4f617dcac3ef194742b72e612d9e58a71865eac5d6b5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/contrib/autoimport/pickle.py b/venv/lib/python3.8/site-packages/rope/contrib/autoimport/pickle.py new file mode 120000 index 0000000..23bb87f --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/contrib/autoimport/pickle.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/af/eb/ae/43e1836f127e26c4dbf71dee4d169993df4e60479e18061dfd07d736a3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/contrib/autoimport/sqlite.py b/venv/lib/python3.8/site-packages/rope/contrib/autoimport/sqlite.py new file mode 120000 index 0000000..cd7c6d2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/contrib/autoimport/sqlite.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fc/8f/21/0cce0cce85b0921c9d36707b789e7a923ab7755f79024ef69dd5747f1a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/contrib/autoimport/utils.py b/venv/lib/python3.8/site-packages/rope/contrib/autoimport/utils.py new file mode 120000 index 0000000..7f8a43a --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/contrib/autoimport/utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/dd/33/92/6bc70c5314dd3eae8dc26b287968f82040637497393357ff826335876a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/contrib/changestack.py b/venv/lib/python3.8/site-packages/rope/contrib/changestack.py new file mode 120000 index 0000000..b2b324c --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/contrib/changestack.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/db/9a/99/f79a5e445d7f2df5d8580ed65f93c1ed5f781be8858ee03510fc570d95 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/contrib/codeassist.py b/venv/lib/python3.8/site-packages/rope/contrib/codeassist.py new file mode 120000 index 0000000..44c61fe --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/contrib/codeassist.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4d/33/5e/e7aa0342fee465f55a691f26081b64f2aed9ff32566e897416da447c91 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/contrib/finderrors.py b/venv/lib/python3.8/site-packages/rope/contrib/finderrors.py new file mode 120000 index 0000000..c9955c2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/contrib/finderrors.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a7/5b/39/f2ed02e928e98aa5dff826379e544b2977d548b9aa26e91e1eabc38676 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/contrib/findit.py b/venv/lib/python3.8/site-packages/rope/contrib/findit.py new file mode 120000 index 0000000..9fc6e9c --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/contrib/findit.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5f/72/62/c0bc1ae659375bff10f141d20568aacd9eec887887ce7aa0e340f6bf43 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/contrib/fixmodnames.py b/venv/lib/python3.8/site-packages/rope/contrib/fixmodnames.py new file mode 120000 index 0000000..b6adb00 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/contrib/fixmodnames.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cd/f6/28/8b6f6fdd2778695016560a520cfc011ba7c68a5846b6cc7b0e0fa62e71 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/contrib/fixsyntax.py b/venv/lib/python3.8/site-packages/rope/contrib/fixsyntax.py new file mode 120000 index 0000000..b1edb6b --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/contrib/fixsyntax.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e5/9e/5c/b056d13f278514c20d68e51b61b7bcce31d2e45430ec96d818e27a2993 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/contrib/generate.py b/venv/lib/python3.8/site-packages/rope/contrib/generate.py new file mode 120000 index 0000000..ef2a0e3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/contrib/generate.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/08/b8/3f/ddd88f8f42e1c894f239c14fab8eca1500384bbe489e97e038d2b5666f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/refactor/__init__.py b/venv/lib/python3.8/site-packages/rope/refactor/__init__.py new file mode 120000 index 0000000..b33080a --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/refactor/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7a/4d/92/7c439d66124ed0d80718d3e4837bb99ad8c30a2be33fed33b1ed6f581d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..b9af3ba Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/change_signature.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/change_signature.cpython-38.pyc new file mode 100644 index 0000000..a104ba6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/change_signature.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/encapsulate_field.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/encapsulate_field.cpython-38.pyc new file mode 100644 index 0000000..4e11e13 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/encapsulate_field.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/extract.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/extract.cpython-38.pyc new file mode 100644 index 0000000..bab0edc Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/extract.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/functionutils.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/functionutils.cpython-38.pyc new file mode 100644 index 0000000..ae056b1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/functionutils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/inline.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/inline.cpython-38.pyc new file mode 100644 index 0000000..c36f2ae Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/inline.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/introduce_factory.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/introduce_factory.cpython-38.pyc new file mode 100644 index 0000000..a7a7a23 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/introduce_factory.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/introduce_parameter.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/introduce_parameter.cpython-38.pyc new file mode 100644 index 0000000..ca37916 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/introduce_parameter.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/localtofield.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/localtofield.cpython-38.pyc new file mode 100644 index 0000000..e3f23a5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/localtofield.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/method_object.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/method_object.cpython-38.pyc new file mode 100644 index 0000000..a441d59 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/method_object.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/move.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/move.cpython-38.pyc new file mode 100644 index 0000000..3bf60fe Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/move.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/multiproject.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/multiproject.cpython-38.pyc new file mode 100644 index 0000000..f02aba4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/multiproject.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/occurrences.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/occurrences.cpython-38.pyc new file mode 100644 index 0000000..d235aad Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/occurrences.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/patchedast.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/patchedast.cpython-38.pyc new file mode 100644 index 0000000..7f4fac5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/patchedast.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/rename.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/rename.cpython-38.pyc new file mode 100644 index 0000000..cbcabba Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/rename.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/restructure.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/restructure.cpython-38.pyc new file mode 100644 index 0000000..3c26778 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/restructure.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/similarfinder.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/similarfinder.cpython-38.pyc new file mode 100644 index 0000000..a48fdf5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/similarfinder.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/sourceutils.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/sourceutils.cpython-38.pyc new file mode 100644 index 0000000..1c0d4ac Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/sourceutils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/suites.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/suites.cpython-38.pyc new file mode 100644 index 0000000..808c8d8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/suites.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/topackage.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/topackage.cpython-38.pyc new file mode 100644 index 0000000..87f326d Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/topackage.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/usefunction.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/usefunction.cpython-38.pyc new file mode 100644 index 0000000..e1f72e2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/usefunction.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/wildcards.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/wildcards.cpython-38.pyc new file mode 100644 index 0000000..28408cf Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/refactor/__pycache__/wildcards.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/refactor/change_signature.py b/venv/lib/python3.8/site-packages/rope/refactor/change_signature.py new file mode 120000 index 0000000..31ba049 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/refactor/change_signature.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1a/c8/0b/318fad90485c9283cb8daf69bc2bb2e5a65cb0836f87beb26155c0f416 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/refactor/encapsulate_field.py b/venv/lib/python3.8/site-packages/rope/refactor/encapsulate_field.py new file mode 120000 index 0000000..4b58e18 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/refactor/encapsulate_field.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/25/88/ef/bb2aa8aba9da5ff990d25cf0deac87fe005b0729e10e66de31c47931fd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/refactor/extract.py b/venv/lib/python3.8/site-packages/rope/refactor/extract.py new file mode 120000 index 0000000..5aaefb6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/refactor/extract.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a3/ac/81/3f39c696f1239127ba3c1506226710199f9c75abbfbd5d60ca1141805e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/refactor/functionutils.py b/venv/lib/python3.8/site-packages/rope/refactor/functionutils.py new file mode 120000 index 0000000..8f70ff3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/refactor/functionutils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b7/60/e0/49b0e45fce240c13ea1b9066394c6ada61f50688c854fe8dfaf216a079 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/refactor/importutils/__init__.py b/venv/lib/python3.8/site-packages/rope/refactor/importutils/__init__.py new file mode 120000 index 0000000..aeb1b2f --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/refactor/importutils/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/af/72/6e/ab092b5fe7def8891ae108c8a2441b21710d0f42e90ea28adaa9cea4e0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/refactor/importutils/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/refactor/importutils/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..f60794a Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/refactor/importutils/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/refactor/importutils/__pycache__/actions.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/refactor/importutils/__pycache__/actions.cpython-38.pyc new file mode 100644 index 0000000..1101486 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/refactor/importutils/__pycache__/actions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/refactor/importutils/__pycache__/importinfo.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/refactor/importutils/__pycache__/importinfo.cpython-38.pyc new file mode 100644 index 0000000..0537926 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/refactor/importutils/__pycache__/importinfo.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/refactor/importutils/__pycache__/module_imports.cpython-38.pyc b/venv/lib/python3.8/site-packages/rope/refactor/importutils/__pycache__/module_imports.cpython-38.pyc new file mode 100644 index 0000000..bfbad42 Binary files /dev/null and b/venv/lib/python3.8/site-packages/rope/refactor/importutils/__pycache__/module_imports.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/rope/refactor/importutils/actions.py b/venv/lib/python3.8/site-packages/rope/refactor/importutils/actions.py new file mode 120000 index 0000000..fb85b46 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/refactor/importutils/actions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/41/7d/b9/53b6cf3d9bc8d151a1a0899d92a3e698055d43c11b27cbd3974f5ae515 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/refactor/importutils/importinfo.py b/venv/lib/python3.8/site-packages/rope/refactor/importutils/importinfo.py new file mode 120000 index 0000000..1ec52dc --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/refactor/importutils/importinfo.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/58/30/88/7af85a94f27678c6ecabaa8affb7727f43985bedd7025b115ad7289148 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/refactor/importutils/module_imports.py b/venv/lib/python3.8/site-packages/rope/refactor/importutils/module_imports.py new file mode 120000 index 0000000..ca8373d --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/refactor/importutils/module_imports.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/df/ff/54/ef0f7927ae33708a085c640e2698cfc51a931c225d0e7e33de38a483ea \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/refactor/inline.py b/venv/lib/python3.8/site-packages/rope/refactor/inline.py new file mode 120000 index 0000000..7dde276 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/refactor/inline.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/57/b2/bd/bfd808299671f52fcf40264e0571ff40ac726e9cec1a5e2a2fcaf2dd04 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/refactor/introduce_factory.py b/venv/lib/python3.8/site-packages/rope/refactor/introduce_factory.py new file mode 120000 index 0000000..74247d9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/refactor/introduce_factory.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2b/bb/5f/d354d18da4c0a89ad2a6ed06a63ebe3e870151ec9b057e5b47ae2ad347 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/refactor/introduce_parameter.py b/venv/lib/python3.8/site-packages/rope/refactor/introduce_parameter.py new file mode 120000 index 0000000..ee8dd7e --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/refactor/introduce_parameter.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/09/0d/b3/aeb5743735e36c7702e5f7971f0855f7b6e0eaf7118c81caefd8857138 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/refactor/localtofield.py b/venv/lib/python3.8/site-packages/rope/refactor/localtofield.py new file mode 120000 index 0000000..f21c406 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/refactor/localtofield.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/14/bb/3d/2d434f14e88fffb4cbe6eccb783510af236dfb21843590a06d2a4e17e5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/refactor/method_object.py b/venv/lib/python3.8/site-packages/rope/refactor/method_object.py new file mode 120000 index 0000000..23706d6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/refactor/method_object.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/86/3b/43/fd36c95fb12b80f14693aeaf5cbf032066a81c63dd525edf33e8ad7d6a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/refactor/move.py b/venv/lib/python3.8/site-packages/rope/refactor/move.py new file mode 120000 index 0000000..0b69ce5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/refactor/move.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/30/26/fd/594f2802648a38a2f1758e3e3ac9f552ba9c2c94ddb087c02128c832c3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/refactor/multiproject.py b/venv/lib/python3.8/site-packages/rope/refactor/multiproject.py new file mode 120000 index 0000000..349c840 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/refactor/multiproject.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b4/bb/9b/03ef0fd66b0e60916021568b6a020d053aebe6d841eab20d7d154104b3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/refactor/occurrences.py b/venv/lib/python3.8/site-packages/rope/refactor/occurrences.py new file mode 120000 index 0000000..2272611 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/refactor/occurrences.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5c/c9/c4/8e1d61ecf3546d038c65cdb9ee7f196a59bda4ff54344334781462bd90 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/refactor/patchedast.py b/venv/lib/python3.8/site-packages/rope/refactor/patchedast.py new file mode 120000 index 0000000..53dc250 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/refactor/patchedast.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7a/4e/35/523532b0ba624bc804073f80bfba13c291db0f970232681c86f305851e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/refactor/rename.py b/venv/lib/python3.8/site-packages/rope/refactor/rename.py new file mode 120000 index 0000000..42d42aa --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/refactor/rename.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/32/b0/58/d1ff738fe1bb247c2f6054212b8f489e78b055680d864bc1668f5c779b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/refactor/restructure.py b/venv/lib/python3.8/site-packages/rope/refactor/restructure.py new file mode 120000 index 0000000..306b6f5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/refactor/restructure.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f0/10/17/6327e3eeb2a5129ad5229232f1a947ce988fd6e1aa986dae856723ec3a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/refactor/similarfinder.py b/venv/lib/python3.8/site-packages/rope/refactor/similarfinder.py new file mode 120000 index 0000000..753cd23 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/refactor/similarfinder.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6f/83/ff/bbe73d9c20b7e9736a732a510e20477ba26a83dfa418d08a54deb94d2f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/refactor/sourceutils.py b/venv/lib/python3.8/site-packages/rope/refactor/sourceutils.py new file mode 120000 index 0000000..907a7bb --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/refactor/sourceutils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/13/21/c3/12f022b58e8e1dcb47ba7c51d39e4147ff5a0ffd4d2142093f9836be82 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/refactor/suites.py b/venv/lib/python3.8/site-packages/rope/refactor/suites.py new file mode 120000 index 0000000..900b36b --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/refactor/suites.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/be/d7/fc/c3858cfa63df60eb79d3639d5977a643ebfce8e5b6f9671a66a7530919 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/refactor/topackage.py b/venv/lib/python3.8/site-packages/rope/refactor/topackage.py new file mode 120000 index 0000000..24ddc5b --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/refactor/topackage.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f4/0d/63/b1a84ff8ff44b100f803c8f77cf70e91788d4751f07077a8d650a58e11 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/refactor/usefunction.py b/venv/lib/python3.8/site-packages/rope/refactor/usefunction.py new file mode 120000 index 0000000..92a84f3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/refactor/usefunction.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/77/ac/08/ea8fbd7cce831d0d4e88b5f05b722d728583463786a8f436f21f23fd01 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/rope/refactor/wildcards.py b/venv/lib/python3.8/site-packages/rope/refactor/wildcards.py new file mode 120000 index 0000000..f1deb19 --- /dev/null +++ b/venv/lib/python3.8/site-packages/rope/refactor/wildcards.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/da/3b/87/b09e9297418ccefad29af02fa74081e2f81964096723b4bb107ac2cb8e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/secretstorage/__init__.py b/venv/lib/python3.8/site-packages/secretstorage/__init__.py new file mode 120000 index 0000000..88f91ec --- /dev/null +++ b/venv/lib/python3.8/site-packages/secretstorage/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5b/5a/7e/1c1d50875d83bfa2bc9a5d168ff333374f7f74479ecc98d06401dff8ee \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/secretstorage/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/secretstorage/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..6ddbfa5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/secretstorage/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/secretstorage/__pycache__/collection.cpython-38.pyc b/venv/lib/python3.8/site-packages/secretstorage/__pycache__/collection.cpython-38.pyc new file mode 100644 index 0000000..deff860 Binary files /dev/null and b/venv/lib/python3.8/site-packages/secretstorage/__pycache__/collection.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/secretstorage/__pycache__/defines.cpython-38.pyc b/venv/lib/python3.8/site-packages/secretstorage/__pycache__/defines.cpython-38.pyc new file mode 100644 index 0000000..4410468 Binary files /dev/null and b/venv/lib/python3.8/site-packages/secretstorage/__pycache__/defines.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/secretstorage/__pycache__/dhcrypto.cpython-38.pyc b/venv/lib/python3.8/site-packages/secretstorage/__pycache__/dhcrypto.cpython-38.pyc new file mode 100644 index 0000000..e1525bb Binary files /dev/null and b/venv/lib/python3.8/site-packages/secretstorage/__pycache__/dhcrypto.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/secretstorage/__pycache__/exceptions.cpython-38.pyc b/venv/lib/python3.8/site-packages/secretstorage/__pycache__/exceptions.cpython-38.pyc new file mode 100644 index 0000000..8326457 Binary files /dev/null and b/venv/lib/python3.8/site-packages/secretstorage/__pycache__/exceptions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/secretstorage/__pycache__/item.cpython-38.pyc b/venv/lib/python3.8/site-packages/secretstorage/__pycache__/item.cpython-38.pyc new file mode 100644 index 0000000..6cff940 Binary files /dev/null and b/venv/lib/python3.8/site-packages/secretstorage/__pycache__/item.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/secretstorage/__pycache__/util.cpython-38.pyc b/venv/lib/python3.8/site-packages/secretstorage/__pycache__/util.cpython-38.pyc new file mode 100644 index 0000000..ae310c4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/secretstorage/__pycache__/util.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/secretstorage/collection.py b/venv/lib/python3.8/site-packages/secretstorage/collection.py new file mode 120000 index 0000000..cb7de65 --- /dev/null +++ b/venv/lib/python3.8/site-packages/secretstorage/collection.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/94/7c/12/3a414ee6c46ca60714068048f191b66aed9b71448ee97eb892c55d9ec4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/secretstorage/defines.py b/venv/lib/python3.8/site-packages/secretstorage/defines.py new file mode 120000 index 0000000..6dcf548 --- /dev/null +++ b/venv/lib/python3.8/site-packages/secretstorage/defines.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0f/35/2b/116cd2bc194df242b69d55e72c694266fec758dc9f375018a919a32861 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/secretstorage/dhcrypto.py b/venv/lib/python3.8/site-packages/secretstorage/dhcrypto.py new file mode 120000 index 0000000..c8d91e9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/secretstorage/dhcrypto.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/06/2b/83/a0dbcd99df22ed497810da2e4676ea144dd25264d44809fa455be7ed38 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/secretstorage/exceptions.py b/venv/lib/python3.8/site-packages/secretstorage/exceptions.py new file mode 120000 index 0000000..16559f7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/secretstorage/exceptions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d6/e5/19/5d3b9ae234597f83ca0c84f649559c48a3f694ff7bb3caf778966e762a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/secretstorage/item.py b/venv/lib/python3.8/site-packages/secretstorage/item.py new file mode 120000 index 0000000..2b43148 --- /dev/null +++ b/venv/lib/python3.8/site-packages/secretstorage/item.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/de/78/85/4a33b3c2b076855d63ae0efc457801b13ae9c38e3ce765696475d4a5e1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/secretstorage/py.typed b/venv/lib/python3.8/site-packages/secretstorage/py.typed new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/secretstorage/py.typed @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/secretstorage/util.py b/venv/lib/python3.8/site-packages/secretstorage/util.py new file mode 120000 index 0000000..55ce1e2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/secretstorage/util.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bc/7b/b4/d506a8a0c439b117510c55fda60eebaf37c9585f6f834a659b7660d0fa \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools-56.0.0.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/setuptools-56.0.0.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools-56.0.0.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/setuptools-56.0.0.dist-info/LICENSE b/venv/lib/python3.8/site-packages/setuptools-56.0.0.dist-info/LICENSE new file mode 100644 index 0000000..353924b --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools-56.0.0.dist-info/LICENSE @@ -0,0 +1,19 @@ +Copyright Jason R. Coombs + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. diff --git a/venv/lib/python3.8/site-packages/setuptools-56.0.0.dist-info/METADATA b/venv/lib/python3.8/site-packages/setuptools-56.0.0.dist-info/METADATA new file mode 100644 index 0000000..0212d70 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools-56.0.0.dist-info/METADATA @@ -0,0 +1,114 @@ +Metadata-Version: 2.1 +Name: setuptools +Version: 56.0.0 +Summary: Easily download, build, install, upgrade, and uninstall Python packages +Home-page: https://github.com/pypa/setuptools +Author: Python Packaging Authority +Author-email: distutils-sig@python.org +License: UNKNOWN +Project-URL: Documentation, https://setuptools.readthedocs.io/ +Keywords: CPAN PyPI distutils eggs package management +Platform: UNKNOWN +Classifier: Development Status :: 5 - Production/Stable +Classifier: Intended Audience :: Developers +Classifier: License :: OSI Approved :: MIT License +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3 :: Only +Classifier: Topic :: Software Development :: Libraries :: Python Modules +Classifier: Topic :: System :: Archiving :: Packaging +Classifier: Topic :: System :: Systems Administration +Classifier: Topic :: Utilities +Requires-Python: >=3.6 +Provides-Extra: certs +Requires-Dist: certifi (==2016.9.26) ; extra == 'certs' +Provides-Extra: docs +Requires-Dist: sphinx ; extra == 'docs' +Requires-Dist: jaraco.packaging (>=8.2) ; extra == 'docs' +Requires-Dist: rst.linker (>=1.9) ; extra == 'docs' +Requires-Dist: pygments-github-lexers (==0.0.5) ; extra == 'docs' +Requires-Dist: sphinx-inline-tabs ; extra == 'docs' +Provides-Extra: ssl +Requires-Dist: wincertstore (==0.2) ; (sys_platform == "win32") and extra == 'ssl' +Provides-Extra: testing +Requires-Dist: pytest (>=4.6) ; extra == 'testing' +Requires-Dist: pytest-checkdocs (>=2.4) ; extra == 'testing' +Requires-Dist: pytest-flake8 ; extra == 'testing' +Requires-Dist: pytest-cov ; extra == 'testing' +Requires-Dist: pytest-enabler (>=1.0.1) ; extra == 'testing' +Requires-Dist: mock ; extra == 'testing' +Requires-Dist: flake8-2020 ; extra == 'testing' +Requires-Dist: virtualenv (>=13.0.0) ; extra == 'testing' +Requires-Dist: pytest-virtualenv (>=1.2.7) ; extra == 'testing' +Requires-Dist: wheel ; extra == 'testing' +Requires-Dist: paver ; extra == 'testing' +Requires-Dist: pip (>=19.1) ; extra == 'testing' +Requires-Dist: jaraco.envs ; extra == 'testing' +Requires-Dist: pytest-xdist ; extra == 'testing' +Requires-Dist: sphinx ; extra == 'testing' +Requires-Dist: jaraco.path (>=3.2.0) ; extra == 'testing' +Requires-Dist: pytest-black (>=0.3.7) ; (platform_python_implementation != "PyPy" and python_version < "3.10") and extra == 'testing' +Requires-Dist: pytest-mypy ; (platform_python_implementation != "PyPy" and python_version < "3.10") and extra == 'testing' + +.. image:: https://img.shields.io/pypi/v/setuptools.svg + :target: `PyPI link`_ + +.. image:: https://img.shields.io/pypi/pyversions/setuptools.svg + :target: `PyPI link`_ + +.. _PyPI link: https://pypi.org/project/setuptools + +.. image:: https://github.com/pypa/setuptools/workflows/tests/badge.svg + :target: https://github.com/pypa/setuptools/actions?query=workflow%3A%22tests%22 + :alt: tests + +.. image:: https://img.shields.io/badge/code%20style-black-000000.svg + :target: https://github.com/psf/black + :alt: Code style: Black + +.. image:: https://img.shields.io/readthedocs/setuptools/latest.svg + :target: https://setuptools.readthedocs.io + +.. image:: https://img.shields.io/codecov/c/github/pypa/setuptools/master.svg?logo=codecov&logoColor=white + :target: https://codecov.io/gh/pypa/setuptools + +.. image:: https://tidelift.com/badges/github/pypa/setuptools?style=flat + :target: https://tidelift.com/subscription/pkg/pypi-setuptools?utm_source=pypi-setuptools&utm_medium=readme + +See the `Installation Instructions +`_ in the Python Packaging +User's Guide for instructions on installing, upgrading, and uninstalling +Setuptools. + +Questions and comments should be directed to the `distutils-sig +mailing list `_. +Bug reports and especially tested patches may be +submitted directly to the `bug tracker +`_. + + +Code of Conduct +=============== + +Everyone interacting in the setuptools project's codebases, issue trackers, +chat rooms, and mailing lists is expected to follow the +`PSF Code of Conduct `_. + + +For Enterprise +============== + +Available as part of the Tidelift Subscription. + +Setuptools and the maintainers of thousands of other packages are working with Tidelift to deliver one enterprise subscription that covers all of the open source you use. + +`Learn more `_. + + +Security Contact +================ + +To report a security vulnerability, please use the +`Tidelift security contact `_. +Tidelift will coordinate the fix and disclosure. + + diff --git a/venv/lib/python3.8/site-packages/setuptools-56.0.0.dist-info/RECORD b/venv/lib/python3.8/site-packages/setuptools-56.0.0.dist-info/RECORD new file mode 100644 index 0000000..e320e5d --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools-56.0.0.dist-info/RECORD @@ -0,0 +1,295 @@ +_distutils_hack/__init__.py,sha256=Mi-TvyOnuMzUIc_utoEp5m3M_DY6QLLSkXqg6e8whI8,3686 +_distutils_hack/__pycache__/__init__.cpython-38.pyc,, +_distutils_hack/__pycache__/override.cpython-38.pyc,, +_distutils_hack/override.py,sha256=Eu_s-NF6VIZ4Cqd0tbbA5wtWky2IZPNd8et6GLt1mzo,44 +distutils-precedence.pth,sha256=fqf_7z_ioRfuEsaO1lU2F_DX_S8FkCV8JcSElZo7c3M,152 +pkg_resources/__init__.py,sha256=P3PNN3_m8JJrYMp-i-Sq-3rhK5vuViqqjn1UXKHfe7Q,108202 +pkg_resources/__pycache__/__init__.cpython-38.pyc,, +pkg_resources/_vendor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +pkg_resources/_vendor/__pycache__/__init__.cpython-38.pyc,, +pkg_resources/_vendor/__pycache__/appdirs.cpython-38.pyc,, +pkg_resources/_vendor/__pycache__/pyparsing.cpython-38.pyc,, +pkg_resources/_vendor/appdirs.py,sha256=MievUEuv3l_mQISH5SF0shDk_BNhHHzYiAPrT3ITN4I,24701 +pkg_resources/_vendor/packaging/__about__.py,sha256=PNMsaZn4UcCHyubgROH1bl6CluduPjI5kFrSp_Zgklo,736 +pkg_resources/_vendor/packaging/__init__.py,sha256=6enbp5XgRfjBjsI9-bn00HjHf5TH21PDMOKkJW8xw-w,562 +pkg_resources/_vendor/packaging/__pycache__/__about__.cpython-38.pyc,, +pkg_resources/_vendor/packaging/__pycache__/__init__.cpython-38.pyc,, +pkg_resources/_vendor/packaging/__pycache__/_compat.cpython-38.pyc,, +pkg_resources/_vendor/packaging/__pycache__/_structures.cpython-38.pyc,, +pkg_resources/_vendor/packaging/__pycache__/_typing.cpython-38.pyc,, +pkg_resources/_vendor/packaging/__pycache__/markers.cpython-38.pyc,, +pkg_resources/_vendor/packaging/__pycache__/requirements.cpython-38.pyc,, +pkg_resources/_vendor/packaging/__pycache__/specifiers.cpython-38.pyc,, +pkg_resources/_vendor/packaging/__pycache__/tags.cpython-38.pyc,, +pkg_resources/_vendor/packaging/__pycache__/utils.cpython-38.pyc,, +pkg_resources/_vendor/packaging/__pycache__/version.cpython-38.pyc,, +pkg_resources/_vendor/packaging/_compat.py,sha256=MXdsGpSE_W-ZrHoC87andI4LV2FAwU7HLL-eHe_CjhU,1128 +pkg_resources/_vendor/packaging/_structures.py,sha256=ozkCX8Q8f2qE1Eic3YiQ4buDVfgz2iYevY9e7R2y3iY,2022 +pkg_resources/_vendor/packaging/_typing.py,sha256=x59EhQ57TMT-kTRyLZV25HZvYGGwbucTo6iKh_O0tMw,1812 +pkg_resources/_vendor/packaging/markers.py,sha256=YSntQkMnKyw1_FG6oRNNnGxLL6bAxcGXOtuFE-YTS3k,9518 +pkg_resources/_vendor/packaging/requirements.py,sha256=R8K4H4xX_iD4LvpGw1U3ouuPbGN-wzsFgD7brhAM71Y,4929 +pkg_resources/_vendor/packaging/specifiers.py,sha256=uYp9l13F0LcknS6d4N60ytiBgFmIhKideOq9AnsxTco,31944 +pkg_resources/_vendor/packaging/tags.py,sha256=NKMS37Zo_nWrZxgsD6zbXsXgc9edn9m160cBiLmHJdE,24067 +pkg_resources/_vendor/packaging/utils.py,sha256=RShlvnjO2CtYSD8uri32frMMFMTmB-3ihsq1-ghzLEw,1811 +pkg_resources/_vendor/packaging/version.py,sha256=Cnbm-OO9D_qd8ZTFxzFcjSavexSYFZmyeaoPvMsjgPc,15470 +pkg_resources/_vendor/pyparsing.py,sha256=tmrp-lu-qO1i75ZzIN5A12nKRRD1Cm4Vpk-5LR9rims,232055 +pkg_resources/extern/__init__.py,sha256=3PixaT9Tzzd4NoyV6CVhGd7S_9Z-U5yvMWAftZKvC6k,2362 +pkg_resources/extern/__pycache__/__init__.cpython-38.pyc,, +pkg_resources/tests/data/my-test-package-source/__pycache__/setup.cpython-38.pyc,, +pkg_resources/tests/data/my-test-package-source/setup.py,sha256=Mrezl3nqxkYkjCYpIxmjhhg4AR8hgi4QZdEYmk-I7R8,104 +setuptools-56.0.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +setuptools-56.0.0.dist-info/LICENSE,sha256=2z8CRrH5J48VhFuZ_sR4uLUG63ZIeZNyL4xuJUKF-vg,1050 +setuptools-56.0.0.dist-info/METADATA,sha256=_aCRpMCUGooEBJ9frK3qo-ZvRMWpdZWSWt_y07PjBfM,4759 +setuptools-56.0.0.dist-info/RECORD,, +setuptools-56.0.0.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +setuptools-56.0.0.dist-info/WHEEL,sha256=OqRkF0eY5GHssMorFjlbTIq072vpHpF60fIQA6lS9xA,92 +setuptools-56.0.0.dist-info/dependency_links.txt,sha256=HlkCFkoK5TbZ5EMLbLKYhLcY_E31kBWD8TqW2EgmatQ,239 +setuptools-56.0.0.dist-info/entry_points.txt,sha256=lkeJaK21vluS2y7MfmO_tbLYjh8vaZDgZswzU4JD9gg,2869 +setuptools-56.0.0.dist-info/top_level.txt,sha256=d9yL39v_W7qmKDDSH6sT4bE0j_Ls1M3P161OGgdsm4g,41 +setuptools/__init__.py,sha256=0c232LRyOLGdL-Ywmgk8uMubx7I21w-ixJWiT0jQK-c,7681 +setuptools/__pycache__/__init__.cpython-38.pyc,, +setuptools/__pycache__/_deprecation_warning.cpython-38.pyc,, +setuptools/__pycache__/_imp.cpython-38.pyc,, +setuptools/__pycache__/archive_util.cpython-38.pyc,, +setuptools/__pycache__/build_meta.cpython-38.pyc,, +setuptools/__pycache__/config.cpython-38.pyc,, +setuptools/__pycache__/dep_util.cpython-38.pyc,, +setuptools/__pycache__/depends.cpython-38.pyc,, +setuptools/__pycache__/dist.cpython-38.pyc,, +setuptools/__pycache__/errors.cpython-38.pyc,, +setuptools/__pycache__/extension.cpython-38.pyc,, +setuptools/__pycache__/glob.cpython-38.pyc,, +setuptools/__pycache__/installer.cpython-38.pyc,, +setuptools/__pycache__/launch.cpython-38.pyc,, +setuptools/__pycache__/lib2to3_ex.cpython-38.pyc,, +setuptools/__pycache__/monkey.cpython-38.pyc,, +setuptools/__pycache__/msvc.cpython-38.pyc,, +setuptools/__pycache__/namespaces.cpython-38.pyc,, +setuptools/__pycache__/package_index.cpython-38.pyc,, +setuptools/__pycache__/py34compat.cpython-38.pyc,, +setuptools/__pycache__/sandbox.cpython-38.pyc,, +setuptools/__pycache__/ssl_support.cpython-38.pyc,, +setuptools/__pycache__/unicode_utils.cpython-38.pyc,, +setuptools/__pycache__/version.cpython-38.pyc,, +setuptools/__pycache__/wheel.cpython-38.pyc,, +setuptools/__pycache__/windows_support.cpython-38.pyc,, +setuptools/_deprecation_warning.py,sha256=jU9-dtfv6cKmtQJOXN8nP1mm7gONw5kKEtiPtbwnZyI,218 +setuptools/_distutils/__init__.py,sha256=lpQAphR_7uhWC2fbSEps4Ja9W4YwezN_IX_LJEt3khU,250 +setuptools/_distutils/__pycache__/__init__.cpython-38.pyc,, +setuptools/_distutils/__pycache__/_msvccompiler.cpython-38.pyc,, +setuptools/_distutils/__pycache__/archive_util.cpython-38.pyc,, +setuptools/_distutils/__pycache__/bcppcompiler.cpython-38.pyc,, +setuptools/_distutils/__pycache__/ccompiler.cpython-38.pyc,, +setuptools/_distutils/__pycache__/cmd.cpython-38.pyc,, +setuptools/_distutils/__pycache__/config.cpython-38.pyc,, +setuptools/_distutils/__pycache__/core.cpython-38.pyc,, +setuptools/_distutils/__pycache__/cygwinccompiler.cpython-38.pyc,, +setuptools/_distutils/__pycache__/debug.cpython-38.pyc,, +setuptools/_distutils/__pycache__/dep_util.cpython-38.pyc,, +setuptools/_distutils/__pycache__/dir_util.cpython-38.pyc,, +setuptools/_distutils/__pycache__/dist.cpython-38.pyc,, +setuptools/_distutils/__pycache__/errors.cpython-38.pyc,, +setuptools/_distutils/__pycache__/extension.cpython-38.pyc,, +setuptools/_distutils/__pycache__/fancy_getopt.cpython-38.pyc,, +setuptools/_distutils/__pycache__/file_util.cpython-38.pyc,, +setuptools/_distutils/__pycache__/filelist.cpython-38.pyc,, +setuptools/_distutils/__pycache__/log.cpython-38.pyc,, +setuptools/_distutils/__pycache__/msvc9compiler.cpython-38.pyc,, +setuptools/_distutils/__pycache__/msvccompiler.cpython-38.pyc,, +setuptools/_distutils/__pycache__/py35compat.cpython-38.pyc,, +setuptools/_distutils/__pycache__/py38compat.cpython-38.pyc,, +setuptools/_distutils/__pycache__/spawn.cpython-38.pyc,, +setuptools/_distutils/__pycache__/sysconfig.cpython-38.pyc,, +setuptools/_distutils/__pycache__/text_file.cpython-38.pyc,, +setuptools/_distutils/__pycache__/unixccompiler.cpython-38.pyc,, +setuptools/_distutils/__pycache__/util.cpython-38.pyc,, +setuptools/_distutils/__pycache__/version.cpython-38.pyc,, +setuptools/_distutils/__pycache__/versionpredicate.cpython-38.pyc,, +setuptools/_distutils/_msvccompiler.py,sha256=JQcHez50UA3BQKK9fOKANI_GzNFx3_qnZdyHyHNAghA,20813 +setuptools/_distutils/archive_util.py,sha256=qW-uiGwYexTvK5e-iSel_31Dshx-CqTanNPK6snwf98,8572 +setuptools/_distutils/bcppcompiler.py,sha256=OJDVpCUmX6H8v_7lV1zifV1fcx92Cr2dhiUh6989UJI,14894 +setuptools/_distutils/ccompiler.py,sha256=4cqQgq06NbGo0vazGMT2aPZ6K2Z-HcuRn9Pfz_bQUPw,47437 +setuptools/_distutils/cmd.py,sha256=eco6LAGUtobLuPafuhmgKgkwRRL_WY8KJ4YeDCHpcls,18079 +setuptools/_distutils/command/__init__.py,sha256=2TA-rlNDlzeI-csbWHXFjGD8uOYqALMfyWOhT49nC6g,799 +setuptools/_distutils/command/__pycache__/__init__.cpython-38.pyc,, +setuptools/_distutils/command/__pycache__/bdist.cpython-38.pyc,, +setuptools/_distutils/command/__pycache__/bdist_dumb.cpython-38.pyc,, +setuptools/_distutils/command/__pycache__/bdist_msi.cpython-38.pyc,, +setuptools/_distutils/command/__pycache__/bdist_rpm.cpython-38.pyc,, +setuptools/_distutils/command/__pycache__/bdist_wininst.cpython-38.pyc,, +setuptools/_distutils/command/__pycache__/build.cpython-38.pyc,, +setuptools/_distutils/command/__pycache__/build_clib.cpython-38.pyc,, +setuptools/_distutils/command/__pycache__/build_ext.cpython-38.pyc,, +setuptools/_distutils/command/__pycache__/build_py.cpython-38.pyc,, +setuptools/_distutils/command/__pycache__/build_scripts.cpython-38.pyc,, +setuptools/_distutils/command/__pycache__/check.cpython-38.pyc,, +setuptools/_distutils/command/__pycache__/clean.cpython-38.pyc,, +setuptools/_distutils/command/__pycache__/config.cpython-38.pyc,, +setuptools/_distutils/command/__pycache__/install.cpython-38.pyc,, +setuptools/_distutils/command/__pycache__/install_data.cpython-38.pyc,, +setuptools/_distutils/command/__pycache__/install_egg_info.cpython-38.pyc,, +setuptools/_distutils/command/__pycache__/install_headers.cpython-38.pyc,, +setuptools/_distutils/command/__pycache__/install_lib.cpython-38.pyc,, +setuptools/_distutils/command/__pycache__/install_scripts.cpython-38.pyc,, +setuptools/_distutils/command/__pycache__/py37compat.cpython-38.pyc,, +setuptools/_distutils/command/__pycache__/register.cpython-38.pyc,, +setuptools/_distutils/command/__pycache__/sdist.cpython-38.pyc,, +setuptools/_distutils/command/__pycache__/upload.cpython-38.pyc,, +setuptools/_distutils/command/bdist.py,sha256=2z4eudRl_n7m3lG9leL0IYqes4bsm8c0fxfZuiafjMg,5562 +setuptools/_distutils/command/bdist_dumb.py,sha256=BTur9jcIppyP7Piavjfsk7YjElqvxeYO2npUyPPOekc,4913 +setuptools/_distutils/command/bdist_msi.py,sha256=EVFQYN_X-ExeeP8gmdV9JcINsuUGsLJUz9afMU0Rt8c,35579 +setuptools/_distutils/command/bdist_rpm.py,sha256=gjOw22GhDSbcq0bdq25cTb-n6HWWm0bShLQad_mkJ4k,21537 +setuptools/_distutils/command/bdist_wininst.py,sha256=iGlaI-VfElHOneeczKHWnSN5a10-7IMcJaXuR1mdS3c,16030 +setuptools/_distutils/command/build.py,sha256=11NyR2UAUzalrkTZ2ph0BAHFWFC2jtSsN7gIaF-NC08,5767 +setuptools/_distutils/command/build_clib.py,sha256=bgVTHh28eLQA2Gkw68amApd_j7qQBX4MTI-zTvAK_J4,8022 +setuptools/_distutils/command/build_ext.py,sha256=Y_SYbd8SHcpgNPfv3ifVniZljYs1cLAFleBSi2_O3CY,31685 +setuptools/_distutils/command/build_py.py,sha256=S_Nlw4hZE8PnIgqX5OFMdmt-GSmOhPQQ4f2jr1uBnoU,17190 +setuptools/_distutils/command/build_scripts.py,sha256=aKycJJPx3LfZ1cvZgSJaxnD2LnvRM5WJ-8xkpdgcLsI,6232 +setuptools/_distutils/command/check.py,sha256=5qDtI75ccZg3sAItQWeaIu8y3FR314O4rr9Smz4HsEo,5637 +setuptools/_distutils/command/clean.py,sha256=2TCt47ru4hZZM0RfVfUYj5bbpicpGLP4Qhw5jBtvp9k,2776 +setuptools/_distutils/command/config.py,sha256=2aTjww3PwjMB8-ZibCe4P7B-qG1hM1gn_rJXYyxRz6c,13117 +setuptools/_distutils/command/install.py,sha256=oOM2rD7l_SglARNVDmiZn8u6DAfidXRF_yE5QS328B4,27482 +setuptools/_distutils/command/install_data.py,sha256=YhGOAwh3gJPqF7em5XA0rmpR42z1bLh80ooElzDyUvk,2822 +setuptools/_distutils/command/install_egg_info.py,sha256=0kW0liVMeadkjX0ZcRfMptKFen07Gw6gyw1VHT5KIwc,2603 +setuptools/_distutils/command/install_headers.py,sha256=XQ6idkbIDfr1ljXCOznuVUMvOFpHBn6cK0Wz9gIM2b4,1298 +setuptools/_distutils/command/install_lib.py,sha256=9AofR-MO9lAtjwwuukCptepOaJEKMZW2VHiyR5hU7HA,8397 +setuptools/_distutils/command/install_scripts.py,sha256=_CLUeQwGJRcY2kik7azPMn5IdtDCrjWdUvZ1khlG6ck,2017 +setuptools/_distutils/command/py37compat.py,sha256=qzRhhvTihqx_PZZt2ZYECxh1X3Oj255VqatzelYFAKw,671 +setuptools/_distutils/command/register.py,sha256=2jaq9968rt2puRVDBx1HbNiXv27uOk8idE_4lPf_3VM,11712 +setuptools/_distutils/command/sdist.py,sha256=qotJjAOzyhJjq2-oDImjNFrOtaSneEFDJTB-sEk1wnU,19005 +setuptools/_distutils/command/upload.py,sha256=BLO1w7eSAqsCjCLXtf_CRVSjwF1WmyOByGVGNdcQ8oY,7597 +setuptools/_distutils/config.py,sha256=dtHgblx9JhfyrKx1-J7Jlxw_f7s8ZbPFQii2UWMTZpY,4827 +setuptools/_distutils/core.py,sha256=jbdOkpOK09xi-56vhhwvn3fYdhLb5DJO8q3K1fnQz0Q,8876 +setuptools/_distutils/cygwinccompiler.py,sha256=9U4JAusUzlAGJl0Y5nToPkQ3ldzseAtiye434mwJ0ow,16380 +setuptools/_distutils/debug.py,sha256=N6MrTAqK6l9SVk6tWweR108PM8Ol7qNlfyV-nHcLhsY,139 +setuptools/_distutils/dep_util.py,sha256=GuR9Iw_jzZRkyemJ5HX8rB_wRGxkIBcBm1qh54r7zhk,3491 +setuptools/_distutils/dir_util.py,sha256=UwhBOUTcV65GTwce4SPuTXR8Z8q3LYEcmttqcGb0bYo,7778 +setuptools/_distutils/dist.py,sha256=Biuf6ca8uiFfMScRFsYUKtb5neMPtxKxRtXn50_1f3U,50421 +setuptools/_distutils/errors.py,sha256=Yr6tKZGdzBoNi53vBtiq0UJ__X05CmxSdQJqOWaw6SY,3577 +setuptools/_distutils/extension.py,sha256=bTb3Q0CoevGKYv5dX1ls--Ln8tlB0-UEOsi9BwzlZ-s,10515 +setuptools/_distutils/fancy_getopt.py,sha256=OPxp2CxHi1Yp_d1D8JxW4Ueq9fC71tegQFaafh58GGU,17784 +setuptools/_distutils/file_util.py,sha256=0hUqfItN_x2DVihR0MHdA4KCMVCOO8VoByaFp_a6MDg,8148 +setuptools/_distutils/filelist.py,sha256=8bRxhzp2FsaoHT7TuKD4Qjcuh_B9Ow_xTt_htZJvN2Q,12832 +setuptools/_distutils/log.py,sha256=hWBmdUC2K927QcVv3REMW3HMPclxccPQngxLSuUXQl0,1969 +setuptools/_distutils/msvc9compiler.py,sha256=uv0TAfoWrxEBOQL-Z2uws5g4AXoTPahUEMuq6FLkCYY,30453 +setuptools/_distutils/msvccompiler.py,sha256=ZYsnUgIC4tZT2WkJbTkTUyVSCAc2nFM9DVKIuIfPBU0,23540 +setuptools/_distutils/py35compat.py,sha256=-sk1vBIsOgH-AobjIYbK_OEjdJF_54Ul_D1EiE9XM_c,455 +setuptools/_distutils/py38compat.py,sha256=II7ddBxOijC7uNN4z_46HYUjwYTJYMNiLJoGTormZm0,212 +setuptools/_distutils/spawn.py,sha256=XBmUqzhxXfay_JE18RkaalHf9kgi7NvXeBPW9BfTqmw,4408 +setuptools/_distutils/sysconfig.py,sha256=5z55MU7gXeceL_G9FK6ex-2OvdeIXJRZJafrtthJcfU,21349 +setuptools/_distutils/text_file.py,sha256=PsuAJeWdKJoLSV_6N6IpB5-0Pa84KzLUucJMFRazw3I,12483 +setuptools/_distutils/unixccompiler.py,sha256=E65edChYLoHY8wi4OxFu_wKt3hJe3GySF6v51G_ZzL0,14696 +setuptools/_distutils/util.py,sha256=Wlz9noChJjzem9mfgOu-KaN8soB4aNhRfe4VGltXd8w,20985 +setuptools/_distutils/version.py,sha256=8NogP6NPPQpp3EUMZcT9czEHia-ehqPo8spo_e7AgUU,12514 +setuptools/_distutils/versionpredicate.py,sha256=ZxpEA-TQv88mUWc6hetUO4qSqA2sa7ipjZ3QEK5evDk,5133 +setuptools/_imp.py,sha256=Qx0LJzEBaWk_6PfICamJtfBN2rh5K9sJq1wXvtZW-mc,2388 +setuptools/_vendor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +setuptools/_vendor/__pycache__/__init__.cpython-38.pyc,, +setuptools/_vendor/__pycache__/ordered_set.cpython-38.pyc,, +setuptools/_vendor/__pycache__/pyparsing.cpython-38.pyc,, +setuptools/_vendor/ordered_set.py,sha256=dbaCcs27dyN9gnMWGF5nA_BrVn6Q-NrjKYJpV9_fgBs,15130 +setuptools/_vendor/packaging/__about__.py,sha256=PNMsaZn4UcCHyubgROH1bl6CluduPjI5kFrSp_Zgklo,736 +setuptools/_vendor/packaging/__init__.py,sha256=6enbp5XgRfjBjsI9-bn00HjHf5TH21PDMOKkJW8xw-w,562 +setuptools/_vendor/packaging/__pycache__/__about__.cpython-38.pyc,, +setuptools/_vendor/packaging/__pycache__/__init__.cpython-38.pyc,, +setuptools/_vendor/packaging/__pycache__/_compat.cpython-38.pyc,, +setuptools/_vendor/packaging/__pycache__/_structures.cpython-38.pyc,, +setuptools/_vendor/packaging/__pycache__/_typing.cpython-38.pyc,, +setuptools/_vendor/packaging/__pycache__/markers.cpython-38.pyc,, +setuptools/_vendor/packaging/__pycache__/requirements.cpython-38.pyc,, +setuptools/_vendor/packaging/__pycache__/specifiers.cpython-38.pyc,, +setuptools/_vendor/packaging/__pycache__/tags.cpython-38.pyc,, +setuptools/_vendor/packaging/__pycache__/utils.cpython-38.pyc,, +setuptools/_vendor/packaging/__pycache__/version.cpython-38.pyc,, +setuptools/_vendor/packaging/_compat.py,sha256=MXdsGpSE_W-ZrHoC87andI4LV2FAwU7HLL-eHe_CjhU,1128 +setuptools/_vendor/packaging/_structures.py,sha256=ozkCX8Q8f2qE1Eic3YiQ4buDVfgz2iYevY9e7R2y3iY,2022 +setuptools/_vendor/packaging/_typing.py,sha256=x59EhQ57TMT-kTRyLZV25HZvYGGwbucTo6iKh_O0tMw,1812 +setuptools/_vendor/packaging/markers.py,sha256=BCCxZbt8xgysH8v5pqbLkdtQnRZHIGkJQqlNBGek4nQ,9509 +setuptools/_vendor/packaging/requirements.py,sha256=VHydZdk8m3qFxReomNwKr71cmpjantEV_xOhkEyyINI,4917 +setuptools/_vendor/packaging/specifiers.py,sha256=uYp9l13F0LcknS6d4N60ytiBgFmIhKideOq9AnsxTco,31944 +setuptools/_vendor/packaging/tags.py,sha256=NKMS37Zo_nWrZxgsD6zbXsXgc9edn9m160cBiLmHJdE,24067 +setuptools/_vendor/packaging/utils.py,sha256=RShlvnjO2CtYSD8uri32frMMFMTmB-3ihsq1-ghzLEw,1811 +setuptools/_vendor/packaging/version.py,sha256=Cnbm-OO9D_qd8ZTFxzFcjSavexSYFZmyeaoPvMsjgPc,15470 +setuptools/_vendor/pyparsing.py,sha256=tmrp-lu-qO1i75ZzIN5A12nKRRD1Cm4Vpk-5LR9rims,232055 +setuptools/archive_util.py,sha256=maJDbozRbDeSPw53VT0cb_IS3W0Ap73lJR8tX8RZDx0,7077 +setuptools/build_meta.py,sha256=x7FI1UPKCKxBBSopXocfGDnJa98rQO8atKXSwJtdid8,10280 +setuptools/cli-32.exe,sha256=dfEuovMNnA2HLa3jRfMPVi5tk4R7alCbpTvuxtCyw0Y,65536 +setuptools/cli-64.exe,sha256=KLABu5pyrnokJCv6skjXZ6GsXeyYHGcqOUT3oHI3Xpo,74752 +setuptools/cli.exe,sha256=dfEuovMNnA2HLa3jRfMPVi5tk4R7alCbpTvuxtCyw0Y,65536 +setuptools/command/__init__.py,sha256=fSjRqyhdTj_Ml_uey67g2bMtfv-MQrcoTMBUfBBURvo,551 +setuptools/command/__pycache__/__init__.cpython-38.pyc,, +setuptools/command/__pycache__/alias.cpython-38.pyc,, +setuptools/command/__pycache__/bdist_egg.cpython-38.pyc,, +setuptools/command/__pycache__/bdist_rpm.cpython-38.pyc,, +setuptools/command/__pycache__/build_clib.cpython-38.pyc,, +setuptools/command/__pycache__/build_ext.cpython-38.pyc,, +setuptools/command/__pycache__/build_py.cpython-38.pyc,, +setuptools/command/__pycache__/develop.cpython-38.pyc,, +setuptools/command/__pycache__/dist_info.cpython-38.pyc,, +setuptools/command/__pycache__/easy_install.cpython-38.pyc,, +setuptools/command/__pycache__/egg_info.cpython-38.pyc,, +setuptools/command/__pycache__/install.cpython-38.pyc,, +setuptools/command/__pycache__/install_egg_info.cpython-38.pyc,, +setuptools/command/__pycache__/install_lib.cpython-38.pyc,, +setuptools/command/__pycache__/install_scripts.cpython-38.pyc,, +setuptools/command/__pycache__/py36compat.cpython-38.pyc,, +setuptools/command/__pycache__/register.cpython-38.pyc,, +setuptools/command/__pycache__/rotate.cpython-38.pyc,, +setuptools/command/__pycache__/saveopts.cpython-38.pyc,, +setuptools/command/__pycache__/sdist.cpython-38.pyc,, +setuptools/command/__pycache__/setopt.cpython-38.pyc,, +setuptools/command/__pycache__/test.cpython-38.pyc,, +setuptools/command/__pycache__/upload.cpython-38.pyc,, +setuptools/command/__pycache__/upload_docs.cpython-38.pyc,, +setuptools/command/alias.py,sha256=1sLQxZcNh6dDQpDmm4G7UGGTol83nY1NTPmNBbm2siI,2381 +setuptools/command/bdist_egg.py,sha256=-upiB6fFtm8cQSQj1LRDVpG1-T143DsXCvV0fh03u7U,16604 +setuptools/command/bdist_rpm.py,sha256=_4Y7tVAzu1zEuDc8tpRdE_sy3zST3h3LPTtzioos5Ck,900 +setuptools/command/build_clib.py,sha256=fWHSFGkk10VCddBWCszvNhowbG9Z9CZXVjQ2uSInoOs,4415 +setuptools/command/build_ext.py,sha256=aI_qnK9m8lULZDS6XMv_p2j2pIehVbSarb4PJHDA7dw,13027 +setuptools/command/build_py.py,sha256=10DNYiaM707UGJ-eV6YNcIKRN1pbU7UwXGYUXACrXU8,9473 +setuptools/command/develop.py,sha256=B0p5dh7VrSMdEfhdUE_AJlWk2UxAesOOY14CAV5_DEA,8045 +setuptools/command/dist_info.py,sha256=5t6kOfrdgALT-P3ogss6PF9k-Leyesueycuk3dUyZnI,960 +setuptools/command/easy_install.py,sha256=13BpU0YW0UNJY-k1OSVCPj7EnCZ0ep5fZCS0uKuZ0mY,85308 +setuptools/command/egg_info.py,sha256=oTvMvsBHYwxiqN6V4BgUZfJEcTm_piA7-Ft9aTuHZV4,25079 +setuptools/command/install.py,sha256=8doMxeQEDoK4Eco0mO2WlXXzzp9QnsGJQ7Z7yWkZPG8,4705 +setuptools/command/install_egg_info.py,sha256=bMgeIeRiXzQ4DAGPV1328kcjwQjHjOWU4FngAWLV78Q,2203 +setuptools/command/install_lib.py,sha256=Uz42McsyHZAjrB6cw9E7Bz0xsaTbzxnM1PI9CBhiPtE,3875 +setuptools/command/install_scripts.py,sha256=o0jN_ex7yYYk8W5clymTFOXwkFMKzW9q_zd9Npcex7M,2593 +setuptools/command/launcher manifest.xml,sha256=xlLbjWrB01tKC0-hlVkOKkiSPbzMml2eOPtJ_ucCnbE,628 +setuptools/command/py36compat.py,sha256=7yLWzQj179Enx3pJ8V1cDDCzeLMFMd9XJXlK-iZTq5Y,4946 +setuptools/command/register.py,sha256=kk3DxXCb5lXTvqnhfwx2g6q7iwbUmgTyXUCaBooBOUk,468 +setuptools/command/rotate.py,sha256=SvsQPasezIojPjvMnfkqzh8P0U0tCj0daczF8uc3NQM,2128 +setuptools/command/saveopts.py,sha256=za7QCBcQimKKriWcoCcbhxPjUz30gSB74zuTL47xpP4,658 +setuptools/command/sdist.py,sha256=iKVS1zk2EKw_UPiKzWGck8ytka05cWmX28iMvMH4rbk,7818 +setuptools/command/setopt.py,sha256=LicqlXockLqBOHYPNv1J032HxoBKD4HOHB11qm_t-Bs,5051 +setuptools/command/test.py,sha256=Y4jwjdX_4DCimImq6fDWoHzBniXDNJVEcD6XxVZIYS0,9469 +setuptools/command/upload.py,sha256=XT3YFVfYPAmA5qhGg0euluU98ftxRUW-PzKcODMLxUs,462 +setuptools/command/upload_docs.py,sha256=ba5kOyedD_u62weinrxqqnvpuQvBIuamXehJG6tAvO0,7218 +setuptools/config.py,sha256=aviJCeFXvJ_WHwfY9oFaiGOEm4Fv7DF2i9LaAsaD05k,22020 +setuptools/dep_util.py,sha256=BDx1BkzNQntvAB4alypHbW5UVBzjqths000PrUL4Zqc,949 +setuptools/depends.py,sha256=iHfZdLdlCu2BllSF9bRg7NU0oqbPWMH8ljm4BuwQDY0,5474 +setuptools/dist.py,sha256=E-U3VVCY7JEKf9Fz_dDkT-EFbUmbJ-XFP_2F2Fz0ivE,40150 +setuptools/errors.py,sha256=MVOcv381HNSajDgEUWzOQ4J6B5BHCBMSjHfaWcEwA1o,524 +setuptools/extension.py,sha256=NMM46XjNdVelWemc0x8CyVKA5Ks6Zm3xTWSA2SS6xZM,1684 +setuptools/extern/__init__.py,sha256=uhAc-U12cORBK_H6jUZnG0FF-xaLvFR8j25NH0J0oo4,2389 +setuptools/extern/__pycache__/__init__.cpython-38.pyc,, +setuptools/glob.py,sha256=1oZjbfjAHSXbgdhSuR6YGU8jKob9L8NtEmBYqcPTLYk,4873 +setuptools/gui-32.exe,sha256=XBr0bHMA6Hpz2s9s9Bzjl-PwXfa9nH4ie0rFn4V2kWA,65536 +setuptools/gui-64.exe,sha256=aYKMhX1IJLn4ULHgWX0sE0yREUt6B3TEHf_jOw6yNyE,75264 +setuptools/gui.exe,sha256=XBr0bHMA6Hpz2s9s9Bzjl-PwXfa9nH4ie0rFn4V2kWA,65536 +setuptools/installer.py,sha256=jbhb7ZVkNV_bSUMgfnLcZw0IHr6REFnKF4o7_1Jqxm0,3567 +setuptools/launch.py,sha256=TyPT-Ic1T2EnYvGO26gfNRP4ysBlrhpbRjQxWsiO414,812 +setuptools/lib2to3_ex.py,sha256=YKA7CmdIJWwy0-yuZAxUgoNHbXFmT4p53iNadWdBQCk,2335 +setuptools/monkey.py,sha256=0e3HdVKXHL415O7np-AUqhEFXPPuDdJKbI47chQ_DE4,5217 +setuptools/msvc.py,sha256=HfXdtbmhmxAZXaYFT2NBZrXT8Sdx3fZlh8yIbllLGZ0,51126 +setuptools/namespaces.py,sha256=PMqGVPXPYQgjUTvEg9bGccRAkIODrQ6NmsDg_fwErwI,3093 +setuptools/package_index.py,sha256=xa71H7yK5PunUHF7ngZipaoxw2KWPd23qQNPoDudsPU,40718 +setuptools/py34compat.py,sha256=KYOd6ybRxjBW8NJmYD8t_UyyVmysppFXqHpFLdslGXU,245 +setuptools/sandbox.py,sha256=IirxmeCHbl1CHT7pEPgQ6tTx9wU854n-d2p80Su8t5c,14151 +setuptools/script (dev).tmpl,sha256=RUzQzCQUaXtwdLtYHWYbIQmOaES5Brqq1FvUA_tu-5I,218 +setuptools/script.tmpl,sha256=WGTt5piezO27c-Dbx6l5Q4T3Ff20A5z7872hv3aAhYY,138 +setuptools/ssl_support.py,sha256=CPU_41S-x2V6qOuENr2wQsOSxlHvJAoXOxuAPbrxjpM,8565 +setuptools/unicode_utils.py,sha256=aOOFo4JGwAsiBttGYDsqFS7YqWQeZ2j6DWiCuctR_00,941 +setuptools/version.py,sha256=og_cuZQb0QI6ukKZFfZWPlr1HgJBPPn2vO2m_bI9ZTE,144 +setuptools/wheel.py,sha256=0P8tSk105uF_Ub-30N2HU2X2v7MKDSdjpeQlRRW3SkI,8288 +setuptools/windows_support.py,sha256=5GrfqSP2-dLGJoZTq2g6dCKkyQxxa2n5IQiXlJCoYEE,714 diff --git a/venv/lib/python3.8/site-packages/setuptools-56.0.0.dist-info/REQUESTED b/venv/lib/python3.8/site-packages/setuptools-56.0.0.dist-info/REQUESTED new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.8/site-packages/setuptools-56.0.0.dist-info/WHEEL b/venv/lib/python3.8/site-packages/setuptools-56.0.0.dist-info/WHEEL new file mode 100644 index 0000000..385faab --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools-56.0.0.dist-info/WHEEL @@ -0,0 +1,5 @@ +Wheel-Version: 1.0 +Generator: bdist_wheel (0.36.2) +Root-Is-Purelib: true +Tag: py3-none-any + diff --git a/venv/lib/python3.8/site-packages/setuptools-56.0.0.dist-info/dependency_links.txt b/venv/lib/python3.8/site-packages/setuptools-56.0.0.dist-info/dependency_links.txt new file mode 100644 index 0000000..e87d021 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools-56.0.0.dist-info/dependency_links.txt @@ -0,0 +1,2 @@ +https://files.pythonhosted.org/packages/source/c/certifi/certifi-2016.9.26.tar.gz#md5=baa81e951a29958563689d868ef1064d +https://files.pythonhosted.org/packages/source/w/wincertstore/wincertstore-0.2.zip#md5=ae728f2f007185648d0c7a8679b361e2 diff --git a/venv/lib/python3.8/site-packages/setuptools-56.0.0.dist-info/entry_points.txt b/venv/lib/python3.8/site-packages/setuptools-56.0.0.dist-info/entry_points.txt new file mode 100644 index 0000000..d117e2c --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools-56.0.0.dist-info/entry_points.txt @@ -0,0 +1,60 @@ +[distutils.commands] +alias = setuptools.command.alias:alias +bdist_egg = setuptools.command.bdist_egg:bdist_egg +bdist_rpm = setuptools.command.bdist_rpm:bdist_rpm +build_clib = setuptools.command.build_clib:build_clib +build_ext = setuptools.command.build_ext:build_ext +build_py = setuptools.command.build_py:build_py +develop = setuptools.command.develop:develop +dist_info = setuptools.command.dist_info:dist_info +easy_install = setuptools.command.easy_install:easy_install +egg_info = setuptools.command.egg_info:egg_info +install = setuptools.command.install:install +install_egg_info = setuptools.command.install_egg_info:install_egg_info +install_lib = setuptools.command.install_lib:install_lib +install_scripts = setuptools.command.install_scripts:install_scripts +rotate = setuptools.command.rotate:rotate +saveopts = setuptools.command.saveopts:saveopts +sdist = setuptools.command.sdist:sdist +setopt = setuptools.command.setopt:setopt +test = setuptools.command.test:test +upload_docs = setuptools.command.upload_docs:upload_docs + +[distutils.setup_keywords] +convert_2to3_doctests = setuptools.dist:assert_string_list +dependency_links = setuptools.dist:assert_string_list +eager_resources = setuptools.dist:assert_string_list +entry_points = setuptools.dist:check_entry_points +exclude_package_data = setuptools.dist:check_package_data +extras_require = setuptools.dist:check_extras +include_package_data = setuptools.dist:assert_bool +install_requires = setuptools.dist:check_requirements +namespace_packages = setuptools.dist:check_nsp +package_data = setuptools.dist:check_package_data +packages = setuptools.dist:check_packages +python_requires = setuptools.dist:check_specifier +setup_requires = setuptools.dist:check_requirements +test_loader = setuptools.dist:check_importable +test_runner = setuptools.dist:check_importable +test_suite = setuptools.dist:check_test_suite +tests_require = setuptools.dist:check_requirements +use_2to3 = setuptools.dist:assert_bool +use_2to3_exclude_fixers = setuptools.dist:assert_string_list +use_2to3_fixers = setuptools.dist:assert_string_list +zip_safe = setuptools.dist:assert_bool + +[egg_info.writers] +PKG-INFO = setuptools.command.egg_info:write_pkg_info +dependency_links.txt = setuptools.command.egg_info:overwrite_arg +depends.txt = setuptools.command.egg_info:warn_depends_obsolete +eager_resources.txt = setuptools.command.egg_info:overwrite_arg +entry_points.txt = setuptools.command.egg_info:write_entries +namespace_packages.txt = setuptools.command.egg_info:overwrite_arg +requires.txt = setuptools.command.egg_info:write_requirements +top_level.txt = setuptools.command.egg_info:write_toplevel_names + +[setuptools.finalize_distribution_options] +2to3_doctests = setuptools.dist:Distribution._finalize_2to3_doctests +keywords = setuptools.dist:Distribution._finalize_setup_keywords +parent_finalize = setuptools.dist:_Distribution.finalize_options + diff --git a/venv/lib/python3.8/site-packages/setuptools-56.0.0.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/setuptools-56.0.0.dist-info/top_level.txt new file mode 100644 index 0000000..b5ac107 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools-56.0.0.dist-info/top_level.txt @@ -0,0 +1,3 @@ +_distutils_hack +pkg_resources +setuptools diff --git a/venv/lib/python3.8/site-packages/setuptools/__init__.py b/venv/lib/python3.8/site-packages/setuptools/__init__.py new file mode 120000 index 0000000..f4e6d72 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d1/cd/b7/d8b47238b19d2fe6309a093cb8cb9bc7b236d70fa2c495a24f48d02be7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..bfba464 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/__pycache__/_deprecation_warning.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/__pycache__/_deprecation_warning.cpython-38.pyc new file mode 100644 index 0000000..c9ff806 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/__pycache__/_deprecation_warning.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/__pycache__/_imp.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/__pycache__/_imp.cpython-38.pyc new file mode 100644 index 0000000..e43c74d Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/__pycache__/_imp.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/__pycache__/archive_util.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/__pycache__/archive_util.cpython-38.pyc new file mode 100644 index 0000000..48004bc Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/__pycache__/archive_util.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/__pycache__/build_meta.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/__pycache__/build_meta.cpython-38.pyc new file mode 100644 index 0000000..eb0c011 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/__pycache__/build_meta.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/__pycache__/config.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/__pycache__/config.cpython-38.pyc new file mode 100644 index 0000000..14880b5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/__pycache__/config.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/__pycache__/dep_util.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/__pycache__/dep_util.cpython-38.pyc new file mode 100644 index 0000000..4a7f715 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/__pycache__/dep_util.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/__pycache__/depends.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/__pycache__/depends.cpython-38.pyc new file mode 100644 index 0000000..2ce5c23 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/__pycache__/depends.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/__pycache__/dist.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/__pycache__/dist.cpython-38.pyc new file mode 100644 index 0000000..ca297d1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/__pycache__/dist.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/__pycache__/errors.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/__pycache__/errors.cpython-38.pyc new file mode 100644 index 0000000..e9482f3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/__pycache__/errors.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/__pycache__/extension.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/__pycache__/extension.cpython-38.pyc new file mode 100644 index 0000000..1fc99e0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/__pycache__/extension.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/__pycache__/glob.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/__pycache__/glob.cpython-38.pyc new file mode 100644 index 0000000..ab579c7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/__pycache__/glob.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/__pycache__/installer.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/__pycache__/installer.cpython-38.pyc new file mode 100644 index 0000000..43c4210 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/__pycache__/installer.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/__pycache__/launch.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/__pycache__/launch.cpython-38.pyc new file mode 100644 index 0000000..5c7f556 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/__pycache__/launch.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/__pycache__/lib2to3_ex.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/__pycache__/lib2to3_ex.cpython-38.pyc new file mode 100644 index 0000000..04b4eec Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/__pycache__/lib2to3_ex.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/__pycache__/monkey.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/__pycache__/monkey.cpython-38.pyc new file mode 100644 index 0000000..d4839f7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/__pycache__/monkey.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/__pycache__/msvc.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/__pycache__/msvc.cpython-38.pyc new file mode 100644 index 0000000..2fabfff Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/__pycache__/msvc.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/__pycache__/namespaces.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/__pycache__/namespaces.cpython-38.pyc new file mode 100644 index 0000000..994bd23 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/__pycache__/namespaces.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/__pycache__/package_index.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/__pycache__/package_index.cpython-38.pyc new file mode 100644 index 0000000..9bef13f Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/__pycache__/package_index.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/__pycache__/py34compat.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/__pycache__/py34compat.cpython-38.pyc new file mode 100644 index 0000000..c958be2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/__pycache__/py34compat.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/__pycache__/sandbox.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/__pycache__/sandbox.cpython-38.pyc new file mode 100644 index 0000000..776b230 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/__pycache__/sandbox.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/__pycache__/ssl_support.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/__pycache__/ssl_support.cpython-38.pyc new file mode 100644 index 0000000..d5bd9d1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/__pycache__/ssl_support.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/__pycache__/unicode_utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/__pycache__/unicode_utils.cpython-38.pyc new file mode 100644 index 0000000..fcc7978 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/__pycache__/unicode_utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/__pycache__/version.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/__pycache__/version.cpython-38.pyc new file mode 100644 index 0000000..d8756f7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/__pycache__/version.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/__pycache__/wheel.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/__pycache__/wheel.cpython-38.pyc new file mode 100644 index 0000000..fa5f5ba Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/__pycache__/wheel.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/__pycache__/windows_support.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/__pycache__/windows_support.cpython-38.pyc new file mode 100644 index 0000000..5852592 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/__pycache__/windows_support.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_deprecation_warning.py b/venv/lib/python3.8/site-packages/setuptools/_deprecation_warning.py new file mode 120000 index 0000000..772a75a --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_deprecation_warning.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8d/4f/7e/76d7efe9c2a6b5024e5cdf273f59a6ee038dc3990a12d88fb5bc276722 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/__init__.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/__init__.py new file mode 120000 index 0000000..6f93db9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/96/94/00/a6147feee8560b67db484a6ce096bd5b86307b337f217fcb244b779215 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..290f4c2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/_msvccompiler.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/_msvccompiler.cpython-38.pyc new file mode 100644 index 0000000..25a2689 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/_msvccompiler.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/archive_util.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/archive_util.cpython-38.pyc new file mode 100644 index 0000000..9c9b7c9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/archive_util.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/bcppcompiler.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/bcppcompiler.cpython-38.pyc new file mode 100644 index 0000000..dfda0e5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/bcppcompiler.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/ccompiler.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/ccompiler.cpython-38.pyc new file mode 100644 index 0000000..4dfb1bc Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/ccompiler.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/cmd.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/cmd.cpython-38.pyc new file mode 100644 index 0000000..881d381 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/cmd.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/config.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/config.cpython-38.pyc new file mode 100644 index 0000000..3166ea2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/config.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/core.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/core.cpython-38.pyc new file mode 100644 index 0000000..e2900a4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/core.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/cygwinccompiler.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/cygwinccompiler.cpython-38.pyc new file mode 100644 index 0000000..02f039f Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/cygwinccompiler.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/debug.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/debug.cpython-38.pyc new file mode 100644 index 0000000..b5cbb7f Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/debug.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/dep_util.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/dep_util.cpython-38.pyc new file mode 100644 index 0000000..7848346 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/dep_util.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/dir_util.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/dir_util.cpython-38.pyc new file mode 100644 index 0000000..6c57642 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/dir_util.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/dist.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/dist.cpython-38.pyc new file mode 100644 index 0000000..99f0205 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/dist.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/errors.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/errors.cpython-38.pyc new file mode 100644 index 0000000..5a8bfd0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/errors.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/extension.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/extension.cpython-38.pyc new file mode 100644 index 0000000..a4de729 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/extension.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/fancy_getopt.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/fancy_getopt.cpython-38.pyc new file mode 100644 index 0000000..3bd5594 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/fancy_getopt.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/file_util.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/file_util.cpython-38.pyc new file mode 100644 index 0000000..cf972e4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/file_util.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/filelist.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/filelist.cpython-38.pyc new file mode 100644 index 0000000..cb78b35 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/filelist.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/log.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/log.cpython-38.pyc new file mode 100644 index 0000000..23e0b41 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/log.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/msvc9compiler.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/msvc9compiler.cpython-38.pyc new file mode 100644 index 0000000..b794ac3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/msvc9compiler.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/msvccompiler.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/msvccompiler.cpython-38.pyc new file mode 100644 index 0000000..1c714e8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/msvccompiler.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/py35compat.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/py35compat.cpython-38.pyc new file mode 100644 index 0000000..1c039f8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/py35compat.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/py38compat.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/py38compat.cpython-38.pyc new file mode 100644 index 0000000..9d05848 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/py38compat.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/spawn.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/spawn.cpython-38.pyc new file mode 100644 index 0000000..2864116 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/spawn.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/sysconfig.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/sysconfig.cpython-38.pyc new file mode 100644 index 0000000..86c0a5a Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/sysconfig.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/text_file.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/text_file.cpython-38.pyc new file mode 100644 index 0000000..5dd3b92 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/text_file.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/unixccompiler.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/unixccompiler.cpython-38.pyc new file mode 100644 index 0000000..3d2344f Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/unixccompiler.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/util.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/util.cpython-38.pyc new file mode 100644 index 0000000..57ac7fa Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/util.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/version.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/version.cpython-38.pyc new file mode 100644 index 0000000..bb9ff8f Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/version.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/versionpredicate.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/versionpredicate.cpython-38.pyc new file mode 100644 index 0000000..e35cbb3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/__pycache__/versionpredicate.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/_msvccompiler.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/_msvccompiler.py new file mode 120000 index 0000000..a9b3873 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/_msvccompiler.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/25/07/07/7b3e74500dc140a2bd7ce280348fc6ccd171dffaa765dc87c873408210 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/archive_util.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/archive_util.py new file mode 120000 index 0000000..8daad6d --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/archive_util.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a9/6f/ae/886c187b14ef2b97be8927a5ff7d43b21c7e0aa4da9cd3caeac9f07fdf \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/bcppcompiler.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/bcppcompiler.py new file mode 120000 index 0000000..ec23072 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/bcppcompiler.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/38/90/d5/a425265fa1fcbffee5575ce27d5d5f731f760abd9d862521ebdf3d5092 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/ccompiler.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/ccompiler.py new file mode 120000 index 0000000..db461ac --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/ccompiler.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e1/ca/90/82ad3a35b1a8d2f6b318c4f668f67a2b667e1dcb919fd3dfcff6d050fc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/cmd.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/cmd.py new file mode 120000 index 0000000..cb8bef5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/cmd.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/79/ca/3a/2c0194b686cbb8f69fba19a02a09304512ff598f0a27861e0c21e9725b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__init__.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__init__.py new file mode 120000 index 0000000..1761891 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d9/30/3e/ae5343973788f9cb1b5875c58c60fcb8e62a00b31fc963a14f8f670ba8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..93906e9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/bdist.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/bdist.cpython-38.pyc new file mode 100644 index 0000000..1e5b7a7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/bdist.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/bdist_dumb.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/bdist_dumb.cpython-38.pyc new file mode 100644 index 0000000..c402a92 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/bdist_dumb.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/bdist_msi.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/bdist_msi.cpython-38.pyc new file mode 100644 index 0000000..0eb1a08 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/bdist_msi.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/bdist_rpm.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/bdist_rpm.cpython-38.pyc new file mode 100644 index 0000000..38330fc Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/bdist_rpm.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/bdist_wininst.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/bdist_wininst.cpython-38.pyc new file mode 100644 index 0000000..744a54f Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/bdist_wininst.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/build.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/build.cpython-38.pyc new file mode 100644 index 0000000..3e064fd Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/build.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/build_clib.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/build_clib.cpython-38.pyc new file mode 100644 index 0000000..11ca45f Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/build_clib.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/build_ext.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/build_ext.cpython-38.pyc new file mode 100644 index 0000000..f1b695f Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/build_ext.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/build_py.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/build_py.cpython-38.pyc new file mode 100644 index 0000000..1ee05ce Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/build_py.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/build_scripts.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/build_scripts.cpython-38.pyc new file mode 100644 index 0000000..9f33a51 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/build_scripts.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/check.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/check.cpython-38.pyc new file mode 100644 index 0000000..8365478 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/check.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/clean.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/clean.cpython-38.pyc new file mode 100644 index 0000000..c4333b2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/clean.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/config.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/config.cpython-38.pyc new file mode 100644 index 0000000..088119e Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/config.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/install.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/install.cpython-38.pyc new file mode 100644 index 0000000..34b8743 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/install.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/install_data.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/install_data.cpython-38.pyc new file mode 100644 index 0000000..a3c9b4a Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/install_data.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/install_egg_info.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/install_egg_info.cpython-38.pyc new file mode 100644 index 0000000..06e99a2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/install_egg_info.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/install_headers.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/install_headers.cpython-38.pyc new file mode 100644 index 0000000..3e9b993 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/install_headers.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/install_lib.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/install_lib.cpython-38.pyc new file mode 100644 index 0000000..13abf87 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/install_lib.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/install_scripts.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/install_scripts.cpython-38.pyc new file mode 100644 index 0000000..73e415f Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/install_scripts.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/py37compat.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/py37compat.cpython-38.pyc new file mode 100644 index 0000000..435676a Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/py37compat.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/register.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/register.cpython-38.pyc new file mode 100644 index 0000000..bc084fd Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/register.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/sdist.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/sdist.cpython-38.pyc new file mode 100644 index 0000000..a0cb811 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/sdist.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/upload.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/upload.cpython-38.pyc new file mode 100644 index 0000000..156b18b Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/__pycache__/upload.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/command/bdist.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/bdist.py new file mode 120000 index 0000000..917d5d8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/bdist.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/db/3e/1e/b9d465fe7ee6de51bd95e2f4218a9eb386ec9bc7347f17d9ba269f8cc8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/command/bdist_dumb.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/bdist_dumb.py new file mode 120000 index 0000000..ee8cf64 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/bdist_dumb.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/05/3b/ab/f63708a69c8fecf89abe37ec93b623125aafc5e60eda7a54c8f3ce7a47 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/command/bdist_msi.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/bdist_msi.py new file mode 120000 index 0000000..1218a6b --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/bdist_msi.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/11/51/50/60dfd7f84c5e78ff2099d57d25c20db2e506b0b254cfd69f314d11b7c7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/command/bdist_rpm.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/bdist_rpm.py new file mode 120000 index 0000000..1032212 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/bdist_rpm.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/82/33/b0/db61a10d26dcab46ddab6e5c4dbfa7e875969b46d284b41a77f9a42789 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/command/bdist_wininst.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/bdist_wininst.py new file mode 120000 index 0000000..733702c --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/bdist_wininst.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/88/69/5a/23e55f1251ce9de79ccca1d69d23796b5d3eec831c25a5ee47599d4b77 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/command/build.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/build.py new file mode 120000 index 0000000..2faa597 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/build.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d7/53/72/4765005336a5ae44d9da98740401c55850b68ed4ac37b808685f8d0b4f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/command/build_clib.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/build_clib.py new file mode 120000 index 0000000..9057cd1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/build_clib.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6e/05/53/1e1dbc78b400d86930ebc6a602977f8fba90057e0c4c8fb34ef00afc9e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py new file mode 120000 index 0000000..3fd0725 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/63/f4/98/6ddf121dca6034f7efde27d59e26658d8b3570b00595e0528b6fcedc26 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/command/build_py.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/build_py.py new file mode 120000 index 0000000..d4a0bdd --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/build_py.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4b/f3/65/c3885913c3e7220a97e4e14c766b7e19298e84f410e1fda3af5b819e85 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/command/build_scripts.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/build_scripts.py new file mode 120000 index 0000000..4a20f97 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/build_scripts.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/68/ac/9c/2493f1dcb7d9d5cbd981225ac670f62e7bd1339589fbcc64a5d81c2ec2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/command/check.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/check.py new file mode 120000 index 0000000..58e5a3c --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/check.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e6/a0/ed/23be5c719837b0022d41679a22ef32dc5477d783b8aebf529b3e07b04a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/command/clean.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/clean.py new file mode 120000 index 0000000..e42cc59 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/clean.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d9/30/ad/e3baeee2165933445f55f5188f96dba6272918b3f8421c398c1b6fa7d9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/command/config.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/config.py new file mode 120000 index 0000000..79599dc --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/config.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d9/a4/e3/c30dcfc23301f3e6626c27b83fb07ea86d61335827feb257632c51cfa7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/command/install.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/install.py new file mode 120000 index 0000000..e9f50ee --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/install.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a0/e3/36/ac3ee5fd28250113550e68999fcbba0c07e2757445ff2139412df6f01e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/command/install_data.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/install_data.py new file mode 120000 index 0000000..2a92a75 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/install_data.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/62/11/8e/0308778093ea17b7a6e57034ae6a51e36cf56cb87cd28a049730f252f9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/command/install_egg_info.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/install_egg_info.py new file mode 120000 index 0000000..3830946 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/install_egg_info.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d2/45/b4/96254c79a7648d7d197117cca6d2857a7d3b1b0ea0cb0d551d3e4a2307 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/command/install_headers.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/install_headers.py new file mode 120000 index 0000000..f8a628a --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/install_headers.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5d/0e/a2/7646c80dfaf59635c23b39ee55432f385a47067e9c2b45b3f6020cd9be \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/command/install_lib.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/install_lib.py new file mode 120000 index 0000000..5962a43 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/install_lib.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f4/0a/1f/47e30ef6502d8f0c2eba40a9b5ea4e68910a3195b65478b2479854ec70 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/command/install_scripts.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/install_scripts.py new file mode 120000 index 0000000..5627e9f --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/install_scripts.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fc/22/d4/790c06251718da48a4edaccf327e4876d0c2ae359d52f675921946e9c9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/command/py37compat.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/py37compat.py new file mode 120000 index 0000000..888cd10 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/py37compat.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ab/34/61/86f4e286ac7f3d966dd996040b18755f73a3db9e55a9ab737a560500ac \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/command/register.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/register.py new file mode 120000 index 0000000..c630086 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/register.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/da/36/aa/f7debcaedda9b91543071d476cd897bf6eee3a4f22744ff894f7ffdd53 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/command/sdist.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/sdist.py new file mode 120000 index 0000000..eb97dd3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/sdist.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/aa/8b/49/8c03b3ca1263ab6fa80c89a3345aceb5a4a778414325307eb04935c275 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/command/upload.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/upload.py new file mode 120000 index 0000000..8cf7034 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/command/upload.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/04/b3/b5/c3b79202ab028c22d7b5ffc24554a3c05d569b2381c8654635d710f286 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/config.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/config.py new file mode 120000 index 0000000..a0e6b32 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/config.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/76/d1/e0/6e5c7d2617f2acac75f89ec9971c3f7fbb3c65b3c54228b65163136696 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/core.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/core.py new file mode 120000 index 0000000..39ba54b --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/core.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8d/b7/4e/92938ad3dc62fb9eaf861c2f9f77d87612dbe4324ef2adcad5f9d0cf44 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/cygwinccompiler.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/cygwinccompiler.py new file mode 120000 index 0000000..13c4823 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/cygwinccompiler.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f5/4e/09/02eb14ce5006265d18e674e83e443795dcec780b62c9ee37e26c09d28c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/debug.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/debug.py new file mode 120000 index 0000000..34da3ef --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/debug.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/37/a3/2b/4c0a8aea5f52564ead5b0791d74f0f33c3a5eea3657f257e9c770b86c6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/dep_util.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/dep_util.py new file mode 120000 index 0000000..1a0f997 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/dep_util.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1a/e4/7d/230fe3cd9464c9e989e475fcac1ff0446c642017019b5aa1e78afbce19 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/dir_util.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/dir_util.py new file mode 120000 index 0000000..e311543 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/dir_util.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/53/08/41/3944dc57ae464f071ee123ee4d747c67cab72d811c9adb6a7066f46d8a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/dist.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/dist.py new file mode 120000 index 0000000..ebd92f0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/dist.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/06/2b/9f/e9c6bcba215f31271116c6142ad6f99de30fb712b146d5e7e74ff57f75 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/errors.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/errors.py new file mode 120000 index 0000000..f315c30 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/errors.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/62/be/ad/29919dcc1a0d8b9def06d8aad1427ffd7d390a6c5275026a3966b0e926 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/extension.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/extension.py new file mode 120000 index 0000000..baf1ab4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/extension.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6d/36/f7/4340a87af18a62fe5d5f596cfbe2e7f2d941d3e5043ac8bd070ce567eb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/fancy_getopt.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/fancy_getopt.py new file mode 120000 index 0000000..16c8a5e --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/fancy_getopt.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/38/fc/69/d82c478b5629fddd43f09c56e147aaf5f0bbd6d7a040569a7e1e7c1865 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/file_util.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/file_util.py new file mode 120000 index 0000000..891b983 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/file_util.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d2/15/2a/7c8b4dff1d83562851d0c1dd03828231508e3bc568072685a7f6ba3038 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/filelist.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/filelist.py new file mode 120000 index 0000000..dae5304 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/filelist.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f1/b4/71/873a7616c6a81d3ed3b8a0f842372e87f07d3b0ff14edfe1b5926f3764 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/log.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/log.py new file mode 120000 index 0000000..e5d0b52 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/log.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/85/60/66/7540b62bddbb41c56fdd110c5b71cc3dc97171c3d09e0c4b4ae517425d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/msvc9compiler.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/msvc9compiler.py new file mode 120000 index 0000000..891b138 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/msvc9compiler.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ba/fd/13/01fa16af11013902fe676bb0b39838017a133da85410cbaae852e40986 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/msvccompiler.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/msvccompiler.py new file mode 120000 index 0000000..a9acede --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/msvccompiler.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/65/8b/27/520202e2d653d969096d39135325520807369c533d0d5288b887cf054d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/py35compat.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/py35compat.py new file mode 120000 index 0000000..d22fb1e --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/py35compat.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fa/c9/35/bc122c3a01fe0286e32186cafce12374917fe78525fc3d44884f5733f7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/py38compat.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/py38compat.py new file mode 120000 index 0000000..f6e6a82 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/py38compat.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/20/8e/dd/741c4e8a30bbb8d378cffe3a1d8523c184c960c3622c9a064e8ae6666d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/spawn.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/spawn.py new file mode 120000 index 0000000..5ad1811 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/spawn.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5c/19/94/ab38715df6b2fc9135f1191a6a51dff64822ecdbd77813d6f417d3aa6c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/sysconfig.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/sysconfig.py new file mode 120000 index 0000000..6f216b9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/sysconfig.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e7/3e/79/314ee05de71e2ff1bd14ae9ec7ed8ebdd7885c945925a7ebb6d84971f5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/text_file.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/text_file.py new file mode 120000 index 0000000..d1386cd --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/text_file.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3e/cb/80/25e59d289a0b495ffa37a229079fb43daf382b32d4b9c24c1516b3c372 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/unixccompiler.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/unixccompiler.py new file mode 120000 index 0000000..8a6d153 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/unixccompiler.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/13/ae/5e/7428582e81d8f308b83b116eff02adde125edc6c9217abf9d46fd9ccbd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/util.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/util.py new file mode 120000 index 0000000..7f3565c --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/util.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5a/5c/fd/9e80a1263cde9bd99f80ebbe29a37cb2807868d8517dee151a5b5777cc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/version.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/version.py new file mode 120000 index 0000000..ee7522e --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/version.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f0/da/20/3fa34f3d0a69dc450c65c4fd73310789af9e86a3e8f2ca68fdeec08145 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_distutils/versionpredicate.py b/venv/lib/python3.8/site-packages/setuptools/_distutils/versionpredicate.py new file mode 120000 index 0000000..86f890f --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_distutils/versionpredicate.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/67/1a/44/03e4d0bfcf2651673a85eb543b8a92a80dac6bb8a98d9dd010ae5ebc39 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_imp.py b/venv/lib/python3.8/site-packages/setuptools/_imp.py new file mode 120000 index 0000000..34fd3d8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_imp.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/43/1d/0b/27310169693fe8f7c809a989b5f04ddab8792bdb09ab5c17bed656fa67 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_vendor/__init__.py b/venv/lib/python3.8/site-packages/setuptools/_vendor/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_vendor/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_vendor/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_vendor/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..a6e1964 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_vendor/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_vendor/__pycache__/ordered_set.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_vendor/__pycache__/ordered_set.cpython-38.pyc new file mode 100644 index 0000000..e2eea36 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_vendor/__pycache__/ordered_set.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_vendor/__pycache__/pyparsing.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_vendor/__pycache__/pyparsing.cpython-38.pyc new file mode 100644 index 0000000..17f3319 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_vendor/__pycache__/pyparsing.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_vendor/ordered_set.py b/venv/lib/python3.8/site-packages/setuptools/_vendor/ordered_set.py new file mode 120000 index 0000000..cc90173 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_vendor/ordered_set.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/75/b6/82/72cdbb77237d827316185e6703f06b567e90f8dae329826957dfdf801b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__about__.py b/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__about__.py new file mode 120000 index 0000000..9438363 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__about__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3c/d3/2c/6999f851c087cae6e044e1f56e5e8296e76e3e3239905ad2a7f660925a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__init__.py b/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__init__.py new file mode 120000 index 0000000..101d38d --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e9/e9/db/a795e045f8c18ec23df9b9f4d078c77f94c7db53c330e2a4256f31c3ec \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/__about__.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/__about__.cpython-38.pyc new file mode 100644 index 0000000..da22ca4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/__about__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..a053666 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/_compat.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/_compat.cpython-38.pyc new file mode 100644 index 0000000..134fcbd Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/_compat.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/_structures.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/_structures.cpython-38.pyc new file mode 100644 index 0000000..0892888 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/_structures.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/_typing.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/_typing.cpython-38.pyc new file mode 100644 index 0000000..a315b8a Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/_typing.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/markers.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/markers.cpython-38.pyc new file mode 100644 index 0000000..d9567da Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/markers.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/requirements.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/requirements.cpython-38.pyc new file mode 100644 index 0000000..3de32e9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/requirements.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/specifiers.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/specifiers.cpython-38.pyc new file mode 100644 index 0000000..2139015 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/specifiers.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/tags.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/tags.cpython-38.pyc new file mode 100644 index 0000000..f91b30d Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/tags.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/utils.cpython-38.pyc new file mode 100644 index 0000000..431abed Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/version.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/version.cpython-38.pyc new file mode 100644 index 0000000..cb9a505 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/version.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/_compat.py b/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/_compat.py new file mode 120000 index 0000000..02bf6e2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/_compat.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/31/77/6c/1a9484fd6f99ac7a02f3b6a7748e0b576140c14ec72cbf9e1defc28e15 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/_structures.py b/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/_structures.py new file mode 120000 index 0000000..0c9b63e --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/_structures.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a3/39/02/5fc43c7f6a84d4489cdd8890e1bb8355f833da261ebd8f5eed1db2de26 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/_typing.py b/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/_typing.py new file mode 120000 index 0000000..4efa579 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/_typing.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c7/9f/44/850e7b4cc4fe9134722d9576e4766f6061b06ee713a3a88a87f3b4b4cc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/markers.py b/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/markers.py new file mode 120000 index 0000000..3c20d26 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/markers.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/04/20/b1/65bb7cc60cac1fcbf9a6a6cb91db509d164720690942a94d0467a4e274 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/requirements.py b/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/requirements.py new file mode 120000 index 0000000..8b29e86 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/requirements.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/54/7c/9d/65d93c9b7a85c517a898dc0aafbd5c9a98da9ed115ff13a1904cb220d2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/specifiers.py b/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/specifiers.py new file mode 120000 index 0000000..ece824d --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/specifiers.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b9/8a/7d/975dc5d0b7249d2e9de0deb4cad88180598884a89d78eabd027b314dca \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/tags.py b/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/tags.py new file mode 120000 index 0000000..beacd8e --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/tags.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/34/a3/12/dfb668fe75ab67182c0facdb5ec5e073d79d9fd9b5eb470188b98725d1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/utils.py b/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/utils.py new file mode 120000 index 0000000..a95e7b5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/45/28/65/be78ced82b58483f2eae2df67eb30c14c4e607ede286cab5fa08732c4c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/version.py b/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/version.py new file mode 120000 index 0000000..11b83ff --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/version.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0a/76/e6/f8e3bd0ffa9df194c5c7315c8d26af7b14981599b279aa0fbccb2380f7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/_vendor/pyparsing.py b/venv/lib/python3.8/site-packages/setuptools/_vendor/pyparsing.py new file mode 120000 index 0000000..24511a7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/_vendor/pyparsing.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b6/6a/e9/fa5bbea8ed62ef967320de40d769ca4510f50a6e15a64fb92d1f6b8a6b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/archive_util.py b/venv/lib/python3.8/site-packages/setuptools/archive_util.py new file mode 120000 index 0000000..c101151 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/archive_util.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/99/a2/43/6e8cd16c37923f0e77553d1c6ff212dd6d00a7bde5251f2d5fc4590f1d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/build_meta.py b/venv/lib/python3.8/site-packages/setuptools/build_meta.py new file mode 120000 index 0000000..65cea16 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/build_meta.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c7/b1/48/d543ca08ac41052a295e871f1839c96bdf2b40ef1ab4a5d2c09b5d89df \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/cli-32.exe b/venv/lib/python3.8/site-packages/setuptools/cli-32.exe new file mode 120000 index 0000000..3931adc --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/cli-32.exe @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/75/f1/2e/a2f30d9c0d872dade345f30f562e6d93847b6a509ba53beec6d0b2c346 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/cli-64.exe b/venv/lib/python3.8/site-packages/setuptools/cli-64.exe new file mode 120000 index 0000000..1e857cf --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/cli-64.exe @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/28/b0/01/bb9a72ae7a24242bfab248d767a1ac5dec981c672a3944f7a072375e9a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/cli.exe b/venv/lib/python3.8/site-packages/setuptools/cli.exe new file mode 120000 index 0000000..3931adc --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/cli.exe @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/75/f1/2e/a2f30d9c0d872dade345f30f562e6d93847b6a509ba53beec6d0b2c346 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/command/__init__.py b/venv/lib/python3.8/site-packages/setuptools/command/__init__.py new file mode 120000 index 0000000..3ffb4f6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/command/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7d/28/d1/ab285d4e3fcc97fb9ecbaee0d9b32d7eff8c42b7284cc0547c105446fa \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..db50541 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/alias.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/alias.cpython-38.pyc new file mode 100644 index 0000000..c16edd4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/alias.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/bdist_egg.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/bdist_egg.cpython-38.pyc new file mode 100644 index 0000000..8426770 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/bdist_egg.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/bdist_rpm.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/bdist_rpm.cpython-38.pyc new file mode 100644 index 0000000..364665f Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/bdist_rpm.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/build_clib.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/build_clib.cpython-38.pyc new file mode 100644 index 0000000..14528c7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/build_clib.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/build_ext.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/build_ext.cpython-38.pyc new file mode 100644 index 0000000..d45582d Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/build_ext.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/build_py.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/build_py.cpython-38.pyc new file mode 100644 index 0000000..7b80fa5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/build_py.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/develop.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/develop.cpython-38.pyc new file mode 100644 index 0000000..13da37a Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/develop.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/dist_info.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/dist_info.cpython-38.pyc new file mode 100644 index 0000000..c77c083 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/dist_info.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/easy_install.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/easy_install.cpython-38.pyc new file mode 100644 index 0000000..cf95d95 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/easy_install.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/egg_info.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/egg_info.cpython-38.pyc new file mode 100644 index 0000000..c273a53 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/egg_info.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/install.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/install.cpython-38.pyc new file mode 100644 index 0000000..b5b9820 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/install.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/install_egg_info.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/install_egg_info.cpython-38.pyc new file mode 100644 index 0000000..82e33a9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/install_egg_info.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/install_lib.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/install_lib.cpython-38.pyc new file mode 100644 index 0000000..35517a7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/install_lib.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/install_scripts.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/install_scripts.cpython-38.pyc new file mode 100644 index 0000000..8a2c16b Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/install_scripts.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/py36compat.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/py36compat.cpython-38.pyc new file mode 100644 index 0000000..acf53b1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/py36compat.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/register.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/register.cpython-38.pyc new file mode 100644 index 0000000..b023b21 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/register.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/rotate.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/rotate.cpython-38.pyc new file mode 100644 index 0000000..0cd71fd Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/rotate.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/saveopts.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/saveopts.cpython-38.pyc new file mode 100644 index 0000000..d82f1e1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/saveopts.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/sdist.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/sdist.cpython-38.pyc new file mode 100644 index 0000000..5b2bea7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/sdist.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/setopt.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/setopt.cpython-38.pyc new file mode 100644 index 0000000..d4f3c71 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/setopt.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/test.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/test.cpython-38.pyc new file mode 100644 index 0000000..2dab5a7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/test.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/upload.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/upload.cpython-38.pyc new file mode 100644 index 0000000..58ff3ed Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/upload.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/upload_docs.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/upload_docs.cpython-38.pyc new file mode 100644 index 0000000..b75935e Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/upload_docs.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/command/alias.py b/venv/lib/python3.8/site-packages/setuptools/command/alias.py new file mode 120000 index 0000000..0ca3b16 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/command/alias.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d6/c2/d0/c5970d87a7434290e69b81bb506193a25f379d8d4d4cf98d05b9b6b222 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/command/bdist_egg.py b/venv/lib/python3.8/site-packages/setuptools/command/bdist_egg.py new file mode 120000 index 0000000..058b5ca --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/command/bdist_egg.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fa/ea/62/07a7c5b66f1c412423d4b4435691b5f93d78dc3b170af5747e1d37bbb5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/command/bdist_rpm.py b/venv/lib/python3.8/site-packages/setuptools/command/bdist_rpm.py new file mode 120000 index 0000000..278931f --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/command/bdist_rpm.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ff/86/3b/b55033bb5cc4b8373cb6945d13fb32df3493de1dcb3d3b738a8a2ce429 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/command/build_clib.py b/venv/lib/python3.8/site-packages/setuptools/command/build_clib.py new file mode 120000 index 0000000..cf49b5d --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/command/build_clib.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7d/61/d2/146924d7454275d0560accef361a306c6f59f42657563436b92227a0eb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/command/build_ext.py b/venv/lib/python3.8/site-packages/setuptools/command/build_ext.py new file mode 120000 index 0000000..75ff1e3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/command/build_ext.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/68/8f/ea/9caf66f2550b6434ba5ccbffa768f6a487a155b49aadbe0f2470c0eddc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/command/build_py.py b/venv/lib/python3.8/site-packages/setuptools/command/build_py.py new file mode 120000 index 0000000..8a02b95 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/command/build_py.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d7/40/cd/62268cef4ed4189f9e57a60d708291375a5b53b5305c66145c00ab5d4f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/command/develop.py b/venv/lib/python3.8/site-packages/setuptools/command/develop.py new file mode 120000 index 0000000..7be1a9f --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/command/develop.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/07/4a/79/761ed5ad231d11f85d504fc02655a4d94c407ac38e635e02015e7f0c40 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/command/dist_info.py b/venv/lib/python3.8/site-packages/setuptools/command/dist_info.py new file mode 120000 index 0000000..0654f2b --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/command/dist_info.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e6/de/a4/39fadd8002d3f8fde882cb3a3c5f64f8b7b27acb9ec9cba4ddd5326672 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/command/easy_install.py b/venv/lib/python3.8/site-packages/setuptools/command/easy_install.py new file mode 120000 index 0000000..e0574c4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/command/easy_install.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d7/70/69/534616d1434963e9353925423e3ec49c26747a9e5f6424b4b8ab99d266 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/command/egg_info.py b/venv/lib/python3.8/site-packages/setuptools/command/egg_info.py new file mode 120000 index 0000000..09733b2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/command/egg_info.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a1/3b/cc/bec047630c62a8de95e0181465f2447139bfa6203bf85b7d693b87655e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/command/install.py b/venv/lib/python3.8/site-packages/setuptools/command/install.py new file mode 120000 index 0000000..4cfd288 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/command/install.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f1/da/0c/c5e4040e82b811ca3498ed969575f3ce9f509ec18943b67bc969193c6f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/command/install_egg_info.py b/venv/lib/python3.8/site-packages/setuptools/command/install_egg_info.py new file mode 120000 index 0000000..d778b7a --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/command/install_egg_info.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6c/c8/1e/21e4625f34380c018f575df6f24723c108c78ce594e059e00162d5efc4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/command/install_lib.py b/venv/lib/python3.8/site-packages/setuptools/command/install_lib.py new file mode 120000 index 0000000..e932b01 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/command/install_lib.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/53/3e/36/31cb321d9023ac1e9cc3d13b073d31b1a4dbcf19ccd4f23d0818623ed1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/command/install_scripts.py b/venv/lib/python3.8/site-packages/setuptools/command/install_scripts.py new file mode 120000 index 0000000..f8d84ff --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/command/install_scripts.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a3/48/cd/fdec7bc98624f16e5c97299314e5f090530acd6f6aff377d36971ec7b3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/command/launcher manifest.xml b/venv/lib/python3.8/site-packages/setuptools/command/launcher manifest.xml new file mode 120000 index 0000000..1da449b --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/command/launcher manifest.xml @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c6/52/db/8d6ac1d35b4a0b4fa195590e2a48923dbccc9a5d9e38fb49fee7029db1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/command/py36compat.py b/venv/lib/python3.8/site-packages/setuptools/command/py36compat.py new file mode 120000 index 0000000..aa02a7e --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/command/py36compat.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ef/22/d6/cd08f5efd127c77a49f15d5c0c30b378b30531df5725794afa2653ab96 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/command/register.py b/venv/lib/python3.8/site-packages/setuptools/command/register.py new file mode 120000 index 0000000..8300e99 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/command/register.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/92/4d/c3/c5709be655d3bea9e17f0c7683aabb8b06d49a04f25d409a068a013949 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/command/rotate.py b/venv/lib/python3.8/site-packages/setuptools/command/rotate.py new file mode 120000 index 0000000..866cabf --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/command/rotate.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4a/fb/10/3dab1ecc8a233e3bcc9df92ace1f0fd14d2d0a3d1d69ccc5f2e7373503 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/command/saveopts.py b/venv/lib/python3.8/site-packages/setuptools/command/saveopts.py new file mode 120000 index 0000000..1b26065 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/command/saveopts.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cd/ae/d0/0817108a628aae259ca0271b8713e3533df481207be33b932f8ef1a4fe \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/command/sdist.py b/venv/lib/python3.8/site-packages/setuptools/command/sdist.py new file mode 120000 index 0000000..4fa9b18 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/command/sdist.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/88/a5/52/d7393610ac3f50f88acd619c93ccad91ad39716997dbc88cbcc1f8adb9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/command/setopt.py b/venv/lib/python3.8/site-packages/setuptools/command/setopt.py new file mode 120000 index 0000000..dbcb26b --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/command/setopt.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2e/27/2a/957a1c90ba8138760f36fd49d37d87c6804a0f81ce1c1d75aa6fedf81b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/command/test.py b/venv/lib/python3.8/site-packages/setuptools/command/test.py new file mode 120000 index 0000000..bc0a7a7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/command/test.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/63/88/f0/8dd5ffe030a29889aae9f0d6a07cc19e25c3349544703e97c55648612d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/command/upload.py b/venv/lib/python3.8/site-packages/setuptools/command/upload.py new file mode 120000 index 0000000..a4c8444 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/command/upload.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5d/3d/d8/1557d83c0980e6a8468347ae96e53df1fb714545be3f329c38330bc54b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/command/upload_docs.py b/venv/lib/python3.8/site-packages/setuptools/command/upload_docs.py new file mode 120000 index 0000000..2d8487a --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/command/upload_docs.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6d/ae/64/3b279d0ffbbadb07a29ebc6aaa7be9b90bc122e6a65de8491bab40bced \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/config.py b/venv/lib/python3.8/site-packages/setuptools/config.py new file mode 120000 index 0000000..c979b9a --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/config.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6a/f8/89/09e157bc9fd61f07d8f6815a8863849b816fec31768bd2da02c683d399 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/dep_util.py b/venv/lib/python3.8/site-packages/setuptools/dep_util.py new file mode 120000 index 0000000..db8c506 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/dep_util.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/04/3c/75/064ccd427b6f001e1a972a476d6e54541ce3aad86cd34d0fad42f866a7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/depends.py b/venv/lib/python3.8/site-packages/setuptools/depends.py new file mode 120000 index 0000000..4bbf586 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/depends.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/88/77/d9/74b7650aed81965485f5b460ecd534a2a6cf58c1fc9639b806ec100d8d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/dist.py b/venv/lib/python3.8/site-packages/setuptools/dist.py new file mode 120000 index 0000000..3cde657 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/dist.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/13/e5/37/555098ec910a7fd173fdd0e44fe1056d499b27e5c53ffd85d85cf48af1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/errors.py b/venv/lib/python3.8/site-packages/setuptools/errors.py new file mode 120000 index 0000000..ded3be4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/errors.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/31/53/9c/bf7f351cd49a8c3804516cce43827a0790470813128c77da59c130035a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/extension.py b/venv/lib/python3.8/site-packages/setuptools/extension.py new file mode 120000 index 0000000..628c16e --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/extension.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/34/c3/38/e978cd7557a559e99cd31f02c95280e4ab3a666df14d6480d924bac593 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/extern/__init__.py b/venv/lib/python3.8/site-packages/setuptools/extern/__init__.py new file mode 120000 index 0000000..1823f3a --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/extern/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ba/10/1c/f94d7670e4412bf1fa8d46671b4145fb168bbc547c8f6e4d1f4274a28e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/extern/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/setuptools/extern/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..ac66b03 Binary files /dev/null and b/venv/lib/python3.8/site-packages/setuptools/extern/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/setuptools/glob.py b/venv/lib/python3.8/site-packages/setuptools/glob.py new file mode 120000 index 0000000..ab4be2b --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/glob.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d6/86/63/6df8c01d25db81d852b91e98194f232a86fd2fc36d126058a9c3d32d89 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/gui-32.exe b/venv/lib/python3.8/site-packages/setuptools/gui-32.exe new file mode 120000 index 0000000..feee793 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/gui-32.exe @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5c/1a/f4/6c7300e87a73dacf6cf41ce397e3f05df6bd9c7e227b4ac59f85769160 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/gui-64.exe b/venv/lib/python3.8/site-packages/setuptools/gui-64.exe new file mode 120000 index 0000000..316f68f --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/gui-64.exe @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/69/82/8c/857d4824b9f850b1e0597d2c134c91114b7a0774c41dffe33b0eb23721 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/gui.exe b/venv/lib/python3.8/site-packages/setuptools/gui.exe new file mode 120000 index 0000000..feee793 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/gui.exe @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5c/1a/f4/6c7300e87a73dacf6cf41ce397e3f05df6bd9c7e227b4ac59f85769160 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/installer.py b/venv/lib/python3.8/site-packages/setuptools/installer.py new file mode 120000 index 0000000..5847510 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/installer.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8d/b8/5b/ed9564355fdb4943207e72dc670d081ebe911059ca178a3bff526ac66d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/launch.py b/venv/lib/python3.8/site-packages/setuptools/launch.py new file mode 120000 index 0000000..de82e07 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/launch.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4f/23/d3/f887354f612762f18edba81f3513f8cac065ae1a5b4634315ac88ee35e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/lib2to3_ex.py b/venv/lib/python3.8/site-packages/setuptools/lib2to3_ex.py new file mode 120000 index 0000000..7f6049b --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/lib2to3_ex.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/60/a0/3b/0a6748256c32d3ecae640c548283476d71664f8a79de235a7567414029 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/monkey.py b/venv/lib/python3.8/site-packages/setuptools/monkey.py new file mode 120000 index 0000000..09569cd --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/monkey.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d1/ed/c7/7552971cbe35e4eee7a7e014aa11055cf3ee0dd24a6c8e3b72143f0c4e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/msvc.py b/venv/lib/python3.8/site-packages/setuptools/msvc.py new file mode 120000 index 0000000..0d2bda7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/msvc.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1d/f5/dd/b5b9a19b10195da6054f634166b5d3f12771ddf66587cc886e594b199d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/namespaces.py b/venv/lib/python3.8/site-packages/setuptools/namespaces.py new file mode 120000 index 0000000..39fd25e --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/namespaces.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3c/ca/86/54f5cf610823513bc483d6c671c440908383ad0e8d9ac0e0fdfc04af02 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/package_index.py b/venv/lib/python3.8/site-packages/setuptools/package_index.py new file mode 120000 index 0000000..db44119 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/package_index.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c5/ae/f5/1fbc8ae4fba750717b9e0662a5aa31c362963dddb7a9034fa03b9db0f5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/py34compat.py b/venv/lib/python3.8/site-packages/setuptools/py34compat.py new file mode 120000 index 0000000..2c9b0cc --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/py34compat.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/29/83/9d/eb26d1c63056f0d266603f2dfd4cb2566caca69157a87a452ddb251975 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/sandbox.py b/venv/lib/python3.8/site-packages/setuptools/sandbox.py new file mode 120000 index 0000000..0f39b2e --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/sandbox.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/22/2a/f1/99e0876e5d421d3ee910f810ead4f1f7053ce789fe776a7cd12bbcb797 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/script (dev).tmpl b/venv/lib/python3.8/site-packages/setuptools/script (dev).tmpl new file mode 120000 index 0000000..fd04e3e --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/script (dev).tmpl @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/45/4c/d0/cc2414697b7074bb581d661b21098e6844b906baaad45bd403fb6efb92 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/script.tmpl b/venv/lib/python3.8/site-packages/setuptools/script.tmpl new file mode 120000 index 0000000..d04c67d --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/script.tmpl @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/58/64/ed/e6989eccedbb73e0dbc7a9794384f715fdb4039cfbf3bda1bf76808586 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/ssl_support.py b/venv/lib/python3.8/site-packages/setuptools/ssl_support.py new file mode 120000 index 0000000..4b8bccd --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/ssl_support.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/08/f5/3f/e354bec7657aa8eb8436bdb042c392c651ef240a173b1b803dbaf18e93 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/unicode_utils.py b/venv/lib/python3.8/site-packages/setuptools/unicode_utils.py new file mode 120000 index 0000000..7c7b545 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/unicode_utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/68/e3/85/a38246c00b2206db46603b2a152ed8a9641e6768fa0d6882b9cb51ff4d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/version.py b/venv/lib/python3.8/site-packages/setuptools/version.py new file mode 120000 index 0000000..4303ddd --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/version.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a2/0f/dc/b9941bd1023aba429915f6563e5af51e02413cf9f6bceda6fdb23d6531 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/wheel.py b/venv/lib/python3.8/site-packages/setuptools/wheel.py new file mode 120000 index 0000000..15e0830 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/wheel.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d0/ff/2d/4a4d74e6e17f51bfb7d0dd875365f6bfb30a0d2763a5e4254515b74a42 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/setuptools/windows_support.py b/venv/lib/python3.8/site-packages/setuptools/windows_support.py new file mode 120000 index 0000000..21c19d6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/setuptools/windows_support.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e4/6a/df/a923f6f9d2c6268653ab683a7422a4c90c716b69f92108979490a86041 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/shellingham-1.5.0.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/shellingham-1.5.0.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/shellingham-1.5.0.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/shellingham-1.5.0.dist-info/LICENSE b/venv/lib/python3.8/site-packages/shellingham-1.5.0.dist-info/LICENSE new file mode 120000 index 0000000..c46c1f6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/shellingham-1.5.0.dist-info/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f3/88/fd/38cad13112c1dc0f669bbe80e7f84541edbafb72f3030d2ca7642c3c9d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/shellingham-1.5.0.dist-info/METADATA b/venv/lib/python3.8/site-packages/shellingham-1.5.0.dist-info/METADATA new file mode 120000 index 0000000..e60ba8e --- /dev/null +++ b/venv/lib/python3.8/site-packages/shellingham-1.5.0.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/07/b8/63/4856ca09f3aae4976daf9186930f4506fe73a0147f4fd3e0b3a47cb969 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/shellingham-1.5.0.dist-info/RECORD b/venv/lib/python3.8/site-packages/shellingham-1.5.0.dist-info/RECORD new file mode 100644 index 0000000..d7101c6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/shellingham-1.5.0.dist-info/RECORD @@ -0,0 +1,21 @@ +shellingham-1.5.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +shellingham-1.5.0.dist-info/LICENSE,sha256=84j9OMrRMRLB3A9mm76A5_hFQe26-3LzAw0sp2QsPJ0,751 +shellingham-1.5.0.dist-info/METADATA,sha256=B7hjSFbKCfOq5Jdtr5GGkw9FBv5zoBR_T9Pgs6R8uWk,3294 +shellingham-1.5.0.dist-info/RECORD,, +shellingham-1.5.0.dist-info/WHEEL,sha256=z9j0xAa_JmUKMpmz72K0ZGALSM_n-wQVmGbleXx2VHg,110 +shellingham-1.5.0.dist-info/top_level.txt,sha256=uKMQL5AKxPi4O9_Rbd838QeEs4ImpGQKNbEDZYqgBgk,12 +shellingham-1.5.0.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1 +shellingham/__init__.py,sha256=YHwxD__CK6Ih2ZaonLTbHRg5lR4hNlUytVXRiClyDPM,636 +shellingham/__pycache__/__init__.cpython-38.pyc,, +shellingham/__pycache__/_core.cpython-38.pyc,, +shellingham/__pycache__/nt.cpython-38.pyc,, +shellingham/_core.py,sha256=v-CTr_7F7cJAtNnzpa1N_Hl8afkY5yiDA4joGmsUBu0,300 +shellingham/nt.py,sha256=m6J6SuwyqVVlxXT9Bc-9F_1x-T5u0gCFFrRAF2LIkeg,4516 +shellingham/posix/__init__.py,sha256=qOfrZoc90ErQNCTitIUdJsPS62K_0DxiRP825mWc4mM,2784 +shellingham/posix/__pycache__/__init__.cpython-38.pyc,, +shellingham/posix/__pycache__/_core.cpython-38.pyc,, +shellingham/posix/__pycache__/proc.cpython-38.pyc,, +shellingham/posix/__pycache__/ps.cpython-38.pyc,, +shellingham/posix/_core.py,sha256=_v18UaXbzr4muNhr3-mH1FdSdjZ_dOXQrtUyomIbKYQ,81 +shellingham/posix/proc.py,sha256=HscgoVrsM1UWzqol6lnc7sT6591w3ttzHO3lA3LL1Tc,2108 +shellingham/posix/ps.py,sha256=zxBI2RGSYeE9U1pHPfsvKZAnUmGoW8vd-DRkxzXVWSk,1573 diff --git a/venv/lib/python3.8/site-packages/shellingham-1.5.0.dist-info/WHEEL b/venv/lib/python3.8/site-packages/shellingham-1.5.0.dist-info/WHEEL new file mode 120000 index 0000000..ae483c4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/shellingham-1.5.0.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cf/d8/f4/c406bf26650a3299b3ef62b464600b48cfe7fb04159866e5797c765478 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/shellingham-1.5.0.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/shellingham-1.5.0.dist-info/top_level.txt new file mode 120000 index 0000000..c4af933 --- /dev/null +++ b/venv/lib/python3.8/site-packages/shellingham-1.5.0.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b8/a3/10/2f900ac4f8b83bdfd16ddf37f10784b38226a4640a35b103658aa00609 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/shellingham-1.5.0.dist-info/zip-safe b/venv/lib/python3.8/site-packages/shellingham-1.5.0.dist-info/zip-safe new file mode 120000 index 0000000..e11f061 --- /dev/null +++ b/venv/lib/python3.8/site-packages/shellingham-1.5.0.dist-info/zip-safe @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/01/ba/47/19c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/shellingham/__init__.py b/venv/lib/python3.8/site-packages/shellingham/__init__.py new file mode 120000 index 0000000..2188576 --- /dev/null +++ b/venv/lib/python3.8/site-packages/shellingham/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/60/7c/31/0fffc22ba221d996a89cb4db1d1839951e21365532b555d18829720cf3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/shellingham/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/shellingham/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..9483657 Binary files /dev/null and b/venv/lib/python3.8/site-packages/shellingham/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/shellingham/__pycache__/_core.cpython-38.pyc b/venv/lib/python3.8/site-packages/shellingham/__pycache__/_core.cpython-38.pyc new file mode 100644 index 0000000..c82f963 Binary files /dev/null and b/venv/lib/python3.8/site-packages/shellingham/__pycache__/_core.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/shellingham/__pycache__/nt.cpython-38.pyc b/venv/lib/python3.8/site-packages/shellingham/__pycache__/nt.cpython-38.pyc new file mode 100644 index 0000000..cd6054b Binary files /dev/null and b/venv/lib/python3.8/site-packages/shellingham/__pycache__/nt.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/shellingham/_core.py b/venv/lib/python3.8/site-packages/shellingham/_core.py new file mode 120000 index 0000000..ed047bb --- /dev/null +++ b/venv/lib/python3.8/site-packages/shellingham/_core.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bf/e0/93/affec5edc240b4d9f3a5ad4dfc797c69f918e728830388e81a6b1406ed \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/shellingham/nt.py b/venv/lib/python3.8/site-packages/shellingham/nt.py new file mode 120000 index 0000000..e371d20 --- /dev/null +++ b/venv/lib/python3.8/site-packages/shellingham/nt.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9b/a2/7a/4aec32a95565c574fd05cfbd17fd71f93e6ed2008516b4401762c891e8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/shellingham/posix/__init__.py b/venv/lib/python3.8/site-packages/shellingham/posix/__init__.py new file mode 120000 index 0000000..cb2a48d --- /dev/null +++ b/venv/lib/python3.8/site-packages/shellingham/posix/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a8/e7/eb/66873dd04ad03424e2b4851d26c3d2eb62bfd03c6244ff36e6659ce263 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/shellingham/posix/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/shellingham/posix/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..32b41d5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/shellingham/posix/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/shellingham/posix/__pycache__/_core.cpython-38.pyc b/venv/lib/python3.8/site-packages/shellingham/posix/__pycache__/_core.cpython-38.pyc new file mode 100644 index 0000000..e5fb9c0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/shellingham/posix/__pycache__/_core.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/shellingham/posix/__pycache__/proc.cpython-38.pyc b/venv/lib/python3.8/site-packages/shellingham/posix/__pycache__/proc.cpython-38.pyc new file mode 100644 index 0000000..ca42913 Binary files /dev/null and b/venv/lib/python3.8/site-packages/shellingham/posix/__pycache__/proc.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/shellingham/posix/__pycache__/ps.cpython-38.pyc b/venv/lib/python3.8/site-packages/shellingham/posix/__pycache__/ps.cpython-38.pyc new file mode 100644 index 0000000..a1f5f16 Binary files /dev/null and b/venv/lib/python3.8/site-packages/shellingham/posix/__pycache__/ps.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/shellingham/posix/_core.py b/venv/lib/python3.8/site-packages/shellingham/posix/_core.py new file mode 120000 index 0000000..5eccd4c --- /dev/null +++ b/venv/lib/python3.8/site-packages/shellingham/posix/_core.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fe/fd/7c/51a5dbcebe26b8d86bdfe987d4575276367f74e5d0aed532a2621b2984 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/shellingham/posix/proc.py b/venv/lib/python3.8/site-packages/shellingham/posix/proc.py new file mode 120000 index 0000000..a1122cd --- /dev/null +++ b/venv/lib/python3.8/site-packages/shellingham/posix/proc.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1e/c7/20/a15aec335516ceaa25ea59dceec4fae7dd70dedb731cede50372cbd537 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/shellingham/posix/ps.py b/venv/lib/python3.8/site-packages/shellingham/posix/ps.py new file mode 120000 index 0000000..92d3d53 --- /dev/null +++ b/venv/lib/python3.8/site-packages/shellingham/posix/ps.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cf/10/48/d9119261e13d535a473dfb2f2990275261a85bcbddf83464c735d55929 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/six-1.16.0.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/six-1.16.0.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/six-1.16.0.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/six-1.16.0.dist-info/LICENSE b/venv/lib/python3.8/site-packages/six-1.16.0.dist-info/LICENSE new file mode 120000 index 0000000..694d8dc --- /dev/null +++ b/venv/lib/python3.8/site-packages/six-1.16.0.dist-info/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8b/b8/50/c565aa389fdc16f3a46965ad23d82adff60f2393fc2762b63185e8e6c9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/six-1.16.0.dist-info/METADATA b/venv/lib/python3.8/site-packages/six-1.16.0.dist-info/METADATA new file mode 120000 index 0000000..86c3c36 --- /dev/null +++ b/venv/lib/python3.8/site-packages/six-1.16.0.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/55/07/06/2050801267d9725efb139ae23c2378bf64c8b1cfeab5a7278f12872682 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/six-1.16.0.dist-info/RECORD b/venv/lib/python3.8/site-packages/six-1.16.0.dist-info/RECORD new file mode 100644 index 0000000..4de46ba --- /dev/null +++ b/venv/lib/python3.8/site-packages/six-1.16.0.dist-info/RECORD @@ -0,0 +1,8 @@ +__pycache__/six.cpython-38.pyc,, +six-1.16.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +six-1.16.0.dist-info/LICENSE,sha256=i7hQxWWqOJ_cFvOkaWWtI9gq3_YPI5P8J2K2MYXo5sk,1066 +six-1.16.0.dist-info/METADATA,sha256=VQcGIFCAEmfZcl77E5riPCN4v2TIsc_qtacnjxKHJoI,1795 +six-1.16.0.dist-info/RECORD,, +six-1.16.0.dist-info/WHEEL,sha256=Z-nyYpwrcSqxfdux5Mbn_DQ525iP7J2DG3JgGvOYyTQ,110 +six-1.16.0.dist-info/top_level.txt,sha256=_iVH_iYEtEXnD8nYGQYpYFUvkUW9sEO1GYbkeKSAais,4 +six.py,sha256=TOOfQi7nFGfMrIvtdr6wX4wyHH8M7aknmuLfo2cBBrM,34549 diff --git a/venv/lib/python3.8/site-packages/six-1.16.0.dist-info/WHEEL b/venv/lib/python3.8/site-packages/six-1.16.0.dist-info/WHEEL new file mode 120000 index 0000000..f6d70d4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/six-1.16.0.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/67/e9/f2/629c2b712ab17ddbb1e4c6e7fc3439db988fec9d831b72601af398c934 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/six-1.16.0.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/six-1.16.0.dist-info/top_level.txt new file mode 120000 index 0000000..3dd7ec0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/six-1.16.0.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fe/25/47/fe2604b445e70fc9d819062960552f9145bdb043b51986e478a4806a2b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/six.py b/venv/lib/python3.8/site-packages/six.py new file mode 120000 index 0000000..bd0274c --- /dev/null +++ b/venv/lib/python3.8/site-packages/six.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4c/e3/9f/422ee71467ccac8bed76beb05f8c321c7f0ceda9279ae2dfa3670106b3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/toml-0.10.2.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/toml-0.10.2.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/toml-0.10.2.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/toml-0.10.2.dist-info/LICENSE b/venv/lib/python3.8/site-packages/toml-0.10.2.dist-info/LICENSE new file mode 120000 index 0000000..4323894 --- /dev/null +++ b/venv/lib/python3.8/site-packages/toml-0.10.2.dist-info/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2d/92/94/823df6c89357c8be4927fce79361d6561e5ee7532d5926e63939aaa536 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/toml-0.10.2.dist-info/METADATA b/venv/lib/python3.8/site-packages/toml-0.10.2.dist-info/METADATA new file mode 120000 index 0000000..880f092 --- /dev/null +++ b/venv/lib/python3.8/site-packages/toml-0.10.2.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9f/f6/24/b29bc48a177f4172c8659e74595485cf7ad9fe4ee340ff8e535594a566 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/toml-0.10.2.dist-info/RECORD b/venv/lib/python3.8/site-packages/toml-0.10.2.dist-info/RECORD new file mode 100644 index 0000000..d167d00 --- /dev/null +++ b/venv/lib/python3.8/site-packages/toml-0.10.2.dist-info/RECORD @@ -0,0 +1,18 @@ +toml-0.10.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +toml-0.10.2.dist-info/LICENSE,sha256=LZKUgj32yJNXyL5JJ_znk2HWVh5e51MtWSbmOTmqpTY,1252 +toml-0.10.2.dist-info/METADATA,sha256=n_YkspvEihd_QXLIZZ50WVSFz3rZ_k7jQP-OU1WUpWY,7142 +toml-0.10.2.dist-info/RECORD,, +toml-0.10.2.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +toml-0.10.2.dist-info/WHEEL,sha256=ADKeyaGyKF5DwBNE0sRE5pvW-bSkFMJfBuhzZ3rceP4,110 +toml-0.10.2.dist-info/direct_url.json,sha256=LZLtQFb_XeC8qM_s2tgej-Tr-Qmg0eio8owvEa0Qrts,251 +toml-0.10.2.dist-info/top_level.txt,sha256=2BO8ZRNnvJWgXyiQv66LBb_v87qBzcoUtEBefA75Ouk,5 +toml/__init__.py,sha256=Au3kqCwKD0cjbf4yJGOpUFwpsY0WHsC1ZRGvWgIKmpc,723 +toml/__pycache__/__init__.cpython-38.pyc,, +toml/__pycache__/decoder.cpython-38.pyc,, +toml/__pycache__/encoder.cpython-38.pyc,, +toml/__pycache__/ordered.cpython-38.pyc,, +toml/__pycache__/tz.cpython-38.pyc,, +toml/decoder.py,sha256=hSGTLf-2WBDZ_ddoCHWFy6N647XyMSh1o3rN2o4dEFg,38942 +toml/encoder.py,sha256=XjBc8ayvvlsLyd_qDA4tMWDNmMFRS4DpwtuDSWBq7zo,9940 +toml/ordered.py,sha256=mz03lZmV0bmc9lsYRIUOuj7Dsu5Ptwq-UtGVq5FdVZ4,354 +toml/tz.py,sha256=-5vg8wkg_atnVi2TnEveexIVE7T_FxBVr_-2WVfO1oA,701 diff --git a/venv/lib/python3.8/site-packages/toml-0.10.2.dist-info/REQUESTED b/venv/lib/python3.8/site-packages/toml-0.10.2.dist-info/REQUESTED new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.8/site-packages/toml-0.10.2.dist-info/WHEEL b/venv/lib/python3.8/site-packages/toml-0.10.2.dist-info/WHEEL new file mode 120000 index 0000000..089e0c6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/toml-0.10.2.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/00/32/9e/c9a1b2285e43c01344d2c444e69bd6f9b4a414c25f06e873677adc78fe \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/toml-0.10.2.dist-info/direct_url.json b/venv/lib/python3.8/site-packages/toml-0.10.2.dist-info/direct_url.json new file mode 100644 index 0000000..b2c0eaa --- /dev/null +++ b/venv/lib/python3.8/site-packages/toml-0.10.2.dist-info/direct_url.json @@ -0,0 +1 @@ +{"archive_info": {"hash": "sha256=806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"}, "url": "https://files.pythonhosted.org/packages/44/6f/7120676b6d73228c96e17f1f794d8ab046fc910d781c8d151120c3f1569e/toml-0.10.2-py2.py3-none-any.whl"} \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/toml-0.10.2.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/toml-0.10.2.dist-info/top_level.txt new file mode 120000 index 0000000..22f0468 --- /dev/null +++ b/venv/lib/python3.8/site-packages/toml-0.10.2.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d8/13/bc/651367bc95a05f2890bfae8b05bfeff3ba81cdca14b4405e7c0ef93ae9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/toml/__init__.py b/venv/lib/python3.8/site-packages/toml/__init__.py new file mode 120000 index 0000000..c977d04 --- /dev/null +++ b/venv/lib/python3.8/site-packages/toml/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/02/ed/e4/a82c0a0f47236dfe322463a9505c29b18d161ec0b56511af5a020a9a97 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/toml/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/toml/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..5e2ae90 Binary files /dev/null and b/venv/lib/python3.8/site-packages/toml/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/toml/__pycache__/decoder.cpython-38.pyc b/venv/lib/python3.8/site-packages/toml/__pycache__/decoder.cpython-38.pyc new file mode 100644 index 0000000..989722c Binary files /dev/null and b/venv/lib/python3.8/site-packages/toml/__pycache__/decoder.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/toml/__pycache__/encoder.cpython-38.pyc b/venv/lib/python3.8/site-packages/toml/__pycache__/encoder.cpython-38.pyc new file mode 100644 index 0000000..fbbd329 Binary files /dev/null and b/venv/lib/python3.8/site-packages/toml/__pycache__/encoder.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/toml/__pycache__/ordered.cpython-38.pyc b/venv/lib/python3.8/site-packages/toml/__pycache__/ordered.cpython-38.pyc new file mode 100644 index 0000000..ffb454e Binary files /dev/null and b/venv/lib/python3.8/site-packages/toml/__pycache__/ordered.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/toml/__pycache__/tz.cpython-38.pyc b/venv/lib/python3.8/site-packages/toml/__pycache__/tz.cpython-38.pyc new file mode 100644 index 0000000..34dc161 Binary files /dev/null and b/venv/lib/python3.8/site-packages/toml/__pycache__/tz.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/toml/decoder.py b/venv/lib/python3.8/site-packages/toml/decoder.py new file mode 120000 index 0000000..24ea346 --- /dev/null +++ b/venv/lib/python3.8/site-packages/toml/decoder.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/85/21/93/2dffb65810d9fdd768087585cba37ae3b5f2312875a37acdda8e1d1058 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/toml/encoder.py b/venv/lib/python3.8/site-packages/toml/encoder.py new file mode 120000 index 0000000..d38e18f --- /dev/null +++ b/venv/lib/python3.8/site-packages/toml/encoder.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5e/30/5c/f1acafbe5b0bc9dfea0c0e2d3160cd98c1514b80e9c2db8349606aef3a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/toml/ordered.py b/venv/lib/python3.8/site-packages/toml/ordered.py new file mode 120000 index 0000000..5edbf73 --- /dev/null +++ b/venv/lib/python3.8/site-packages/toml/ordered.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9b/3d/37/959995d1b99cf65b1844850eba3ec3b2ee4fb70abe52d195ab915d559e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/toml/tz.py b/venv/lib/python3.8/site-packages/toml/tz.py new file mode 120000 index 0000000..c583bef --- /dev/null +++ b/venv/lib/python3.8/site-packages/toml/tz.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fb/9b/e0/f30920fdab67562d939c4bde7b121513b4ff171055afffb65957ced680 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/tomli-2.0.1.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/tomli-2.0.1.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/tomli-2.0.1.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/tomli-2.0.1.dist-info/LICENSE b/venv/lib/python3.8/site-packages/tomli-2.0.1.dist-info/LICENSE new file mode 120000 index 0000000..ce1ba02 --- /dev/null +++ b/venv/lib/python3.8/site-packages/tomli-2.0.1.dist-info/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b8/08/16/b0d530b8accb4c2211783790984a6e3b61922c2b5ee92f3372ab2742fe \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/tomli-2.0.1.dist-info/METADATA b/venv/lib/python3.8/site-packages/tomli-2.0.1.dist-info/METADATA new file mode 120000 index 0000000..b943993 --- /dev/null +++ b/venv/lib/python3.8/site-packages/tomli-2.0.1.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cc/f0/dc/78a98fc0918b5ad67292b1e2c4bed65575a6246cd9d63c914f9942a0f2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/tomli-2.0.1.dist-info/RECORD b/venv/lib/python3.8/site-packages/tomli-2.0.1.dist-info/RECORD new file mode 100644 index 0000000..f25c1d9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/tomli-2.0.1.dist-info/RECORD @@ -0,0 +1,16 @@ +tomli-2.0.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +tomli-2.0.1.dist-info/LICENSE,sha256=uAgWsNUwuKzLTCIReDeQmEpuO2GSLCte6S8zcqsnQv4,1072 +tomli-2.0.1.dist-info/METADATA,sha256=zPDceKmPwJGLWtZykrHixL7WVXWmJGzZ1jyRT5lCoPI,8875 +tomli-2.0.1.dist-info/RECORD,, +tomli-2.0.1.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +tomli-2.0.1.dist-info/WHEEL,sha256=jPMR_Dzkc4X4icQtmz81lnNY_kAsfog7ry7qoRvYLXw,81 +tomli-2.0.1.dist-info/direct_url.json,sha256=MilPDq0zbmQDm2giBVv79q8zIgeO7wFH0hL-xi59ZMc,247 +tomli/__init__.py,sha256=JhUwV66DB1g4Hvt1UQCVMdfCu-IgAV8FXmvDU9onxd4,396 +tomli/__pycache__/__init__.cpython-38.pyc,, +tomli/__pycache__/_parser.cpython-38.pyc,, +tomli/__pycache__/_re.cpython-38.pyc,, +tomli/__pycache__/_types.cpython-38.pyc,, +tomli/_parser.py,sha256=g9-ENaALS-B8dokYpCuzUFalWlog7T-SIYMjLZSWrtM,22633 +tomli/_re.py,sha256=dbjg5ChZT23Ka9z9DHOXfdtSpPwUfdgMXnj8NOoly-w,2943 +tomli/_types.py,sha256=-GTG2VUqkpxwMqzmVO4F7ybKddIbAnuAHXfmWQcTi3Q,254 +tomli/py.typed,sha256=8PjyZ1aVoQpRVvt71muvuq5qE-jTFZkK-GLHkhdebmc,26 diff --git a/venv/lib/python3.8/site-packages/tomli-2.0.1.dist-info/REQUESTED b/venv/lib/python3.8/site-packages/tomli-2.0.1.dist-info/REQUESTED new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.8/site-packages/tomli-2.0.1.dist-info/WHEEL b/venv/lib/python3.8/site-packages/tomli-2.0.1.dist-info/WHEEL new file mode 120000 index 0000000..cfb76ae --- /dev/null +++ b/venv/lib/python3.8/site-packages/tomli-2.0.1.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8c/f3/11/fc3ce47385f889c42d9b3f35967358fe402c7e883baf2eeaa11bd82d7c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/tomli-2.0.1.dist-info/direct_url.json b/venv/lib/python3.8/site-packages/tomli-2.0.1.dist-info/direct_url.json new file mode 100644 index 0000000..25a7fa5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/tomli-2.0.1.dist-info/direct_url.json @@ -0,0 +1 @@ +{"archive_info": {"hash": "sha256=939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, "url": "https://files.pythonhosted.org/packages/97/75/10a9ebee3fd790d20926a90a2547f0bf78f371b2f13aa822c759680ca7b9/tomli-2.0.1-py3-none-any.whl"} \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/tomli/__init__.py b/venv/lib/python3.8/site-packages/tomli/__init__.py new file mode 120000 index 0000000..8479301 --- /dev/null +++ b/venv/lib/python3.8/site-packages/tomli/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/26/15/30/57ae830758381efb7551009531d7c2bbe220015f055e6bc353da27c5de \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/tomli/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/tomli/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..0af16bb Binary files /dev/null and b/venv/lib/python3.8/site-packages/tomli/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/tomli/__pycache__/_parser.cpython-38.pyc b/venv/lib/python3.8/site-packages/tomli/__pycache__/_parser.cpython-38.pyc new file mode 100644 index 0000000..26b640c Binary files /dev/null and b/venv/lib/python3.8/site-packages/tomli/__pycache__/_parser.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/tomli/__pycache__/_re.cpython-38.pyc b/venv/lib/python3.8/site-packages/tomli/__pycache__/_re.cpython-38.pyc new file mode 100644 index 0000000..bf1b411 Binary files /dev/null and b/venv/lib/python3.8/site-packages/tomli/__pycache__/_re.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/tomli/__pycache__/_types.cpython-38.pyc b/venv/lib/python3.8/site-packages/tomli/__pycache__/_types.cpython-38.pyc new file mode 100644 index 0000000..0b4fe8f Binary files /dev/null and b/venv/lib/python3.8/site-packages/tomli/__pycache__/_types.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/tomli/_parser.py b/venv/lib/python3.8/site-packages/tomli/_parser.py new file mode 120000 index 0000000..5fb6b34 --- /dev/null +++ b/venv/lib/python3.8/site-packages/tomli/_parser.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/83/df/84/35a00b4be07c768918a42bb35056a55a5a20ed3f922183232d9496aed3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/tomli/_re.py b/venv/lib/python3.8/site-packages/tomli/_re.py new file mode 120000 index 0000000..679fe19 --- /dev/null +++ b/venv/lib/python3.8/site-packages/tomli/_re.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/75/b8/e0/e428594f6dca6bdcfd0c73977ddb52a4fc147dd80c5e78fc34ea25cbec \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/tomli/_types.py b/venv/lib/python3.8/site-packages/tomli/_types.py new file mode 120000 index 0000000..d0ef150 --- /dev/null +++ b/venv/lib/python3.8/site-packages/tomli/_types.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f8/64/c6/d9552a929c7032ace654ee05ef26ca75d21b027b801d77e65907138b74 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/tomli/py.typed b/venv/lib/python3.8/site-packages/tomli/py.typed new file mode 120000 index 0000000..1d96da2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/tomli/py.typed @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f0/f8/f2/675695a10a5156fb7bd66bafbaae6a13e8d315990af862c792175e6e67 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/tomlkit-0.11.5.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/tomlkit-0.11.5.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/tomlkit-0.11.5.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/tomlkit-0.11.5.dist-info/LICENSE b/venv/lib/python3.8/site-packages/tomlkit-0.11.5.dist-info/LICENSE new file mode 120000 index 0000000..1cb34fe --- /dev/null +++ b/venv/lib/python3.8/site-packages/tomlkit-0.11.5.dist-info/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f2/f9/b4/60ba719da6626add264d3782f275a4ff7aab677beda08b330911e23adb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/tomlkit-0.11.5.dist-info/METADATA b/venv/lib/python3.8/site-packages/tomlkit-0.11.5.dist-info/METADATA new file mode 100644 index 0000000..067301d --- /dev/null +++ b/venv/lib/python3.8/site-packages/tomlkit-0.11.5.dist-info/METADATA @@ -0,0 +1,70 @@ +Metadata-Version: 2.1 +Name: tomlkit +Version: 0.11.5 +Summary: Style preserving TOML library +Home-page: https://github.com/sdispater/tomlkit +License: MIT +Author: Sébastien Eustace +Author-email: sebastien@eustace.io +Requires-Python: >=3.6,<4.0 +Classifier: License :: OSI Approved :: MIT License +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: 3.8 +Classifier: Programming Language :: Python :: 3.9 +Classifier: Programming Language :: Python :: 3.10 +Project-URL: Repository, https://github.com/sdispater/tomlkit +Description-Content-Type: text/markdown + +[github_release]: https://img.shields.io/github/release/sdispater/tomlkit.svg?logo=github&logoColor=white +[pypi_version]: https://img.shields.io/pypi/v/tomlkit.svg?logo=python&logoColor=white +[python_versions]: https://img.shields.io/pypi/pyversions/tomlkit.svg?logo=python&logoColor=white +[github_license]: https://img.shields.io/github/license/sdispater/tomlkit.svg?logo=github&logoColor=white +[github_action]: https://github.com/sdispater/tomlkit/actions/workflows/tests.yml/badge.svg + +[![GitHub Release][github_release]](https://github.com/sdispater/tomlkit/releases/) +[![PyPI Version][pypi_version]](https://pypi.org/project/tomlkit/) +[![Python Versions][python_versions]](https://pypi.org/project/tomlkit/) +[![License][github_license]](https://github.com/sdispater/tomlkit/blob/master/LICENSE) +
+[![Tests][github_action]](https://github.com/sdispater/tomlkit/actions/workflows/tests.yml) + +# TOML Kit - Style-preserving TOML library for Python + +TOML Kit is a **1.0.0-compliant** [TOML](https://toml.io/) library. + +It includes a parser that preserves all comments, indentations, whitespace and internal element ordering, +and makes them accessible and editable via an intuitive API. + +You can also create new TOML documents from scratch using the provided helpers. + +Part of the implementation has been adapted, improved and fixed from [Molten](https://github.com/LeopoldArkham/Molten). + +## Usage + +See the [documentation](https://github.com/sdispater/tomlkit/blob/master/docs/quickstart.rst) for more information. + +## Installation + +If you are using [Poetry](https://poetry.eustace.io), +add `tomlkit` to your `pyproject.toml` file by using: + +```bash +poetry add tomlkit +``` + +If not, you can use `pip`: + +```bash +pip install tomlkit +``` + +## Running tests + +Please clone the repo with submodules with the following command +`git clone --recurse-submodules https://github.com/sdispater/tomlkit.git`. +We need the submodule - `toml-test` for running the tests. + +You can run the tests with `poetry run pytest -q tests` + diff --git a/venv/lib/python3.8/site-packages/tomlkit-0.11.5.dist-info/RECORD b/venv/lib/python3.8/site-packages/tomlkit-0.11.5.dist-info/RECORD new file mode 100644 index 0000000..e1bc2cf --- /dev/null +++ b/venv/lib/python3.8/site-packages/tomlkit-0.11.5.dist-info/RECORD @@ -0,0 +1,30 @@ +tomlkit-0.11.5.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +tomlkit-0.11.5.dist-info/LICENSE,sha256=8vm0YLpxnaZiat0mTTeC8nWk_3qrZ3vtoIszCRHiOts,1062 +tomlkit-0.11.5.dist-info/METADATA,sha256=6SN4MDxAMWvJ9TdZo5zUL1FYe_ryX7J23uPGXA5lVMI,2708 +tomlkit-0.11.5.dist-info/RECORD,, +tomlkit-0.11.5.dist-info/WHEEL,sha256=gSF7fibx4crkLz_A-IKR6kcuq0jJ64KNCkG8_bcaEao,88 +tomlkit/__init__.py,sha256=jNpmxLQpC9nG5FJlzW_WhESXS9UJ2GopQAKyd3uVrfA,1148 +tomlkit/__pycache__/__init__.cpython-38.pyc,, +tomlkit/__pycache__/_compat.cpython-38.pyc,, +tomlkit/__pycache__/_utils.cpython-38.pyc,, +tomlkit/__pycache__/api.cpython-38.pyc,, +tomlkit/__pycache__/container.cpython-38.pyc,, +tomlkit/__pycache__/exceptions.cpython-38.pyc,, +tomlkit/__pycache__/items.cpython-38.pyc,, +tomlkit/__pycache__/parser.cpython-38.pyc,, +tomlkit/__pycache__/source.cpython-38.pyc,, +tomlkit/__pycache__/toml_char.cpython-38.pyc,, +tomlkit/__pycache__/toml_document.cpython-38.pyc,, +tomlkit/__pycache__/toml_file.cpython-38.pyc,, +tomlkit/_compat.py,sha256=zxc7yIvByrDS6ViP1JNQtlRIdwSCUHkMG1e1wmy8x1A,532 +tomlkit/_utils.py,sha256=auaSx3ZNPSNW04SrJu4ZC8Vfa0bzjKcZ9vpe_dEVywk,4009 +tomlkit/api.py,sha256=rW9KOxiH2lhtEowegbjUjZ4wYN828uL0Leod7Vo9pOE,7083 +tomlkit/container.py,sha256=TpEcPk9P_K5f1y3e_b4QIsPA9H0mbKzDlYRs4w2ZWVA,29687 +tomlkit/exceptions.py,sha256=brO5IAUEC2u4g4zycN4p1hlaftcmp6meJDu0kQF2W-s,5486 +tomlkit/items.py,sha256=vuGy2S761DiqEQNpk_Pw6SQDj5mMgveDuDEQJfsh44Q,51945 +tomlkit/parser.py,sha256=YgOQzrnolbC6pssXqY5KNcZJ0F5vYX_3j3fGzi-8TkQ,37660 +tomlkit/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +tomlkit/source.py,sha256=bXvlDDNRgRILZDzu4urqfNMpZW1aCWl0RNeVy3hTlKo,4882 +tomlkit/toml_char.py,sha256=w3sQZ0dolZ1qjZ2Rxj_svvlpRNNGB_fjfBcYD0gFnDs,1291 +tomlkit/toml_document.py,sha256=OCTkWXd3P58EZT4SD8_ddc1YpkMaqtlS5_stHTBmMOI,110 +tomlkit/toml_file.py,sha256=7ripqm_Bq6i0VCxjyMEjKwCF9sv2v7rzCPTCfW2h-YM,1419 diff --git a/venv/lib/python3.8/site-packages/tomlkit-0.11.5.dist-info/WHEEL b/venv/lib/python3.8/site-packages/tomlkit-0.11.5.dist-info/WHEEL new file mode 120000 index 0000000..bda784d --- /dev/null +++ b/venv/lib/python3.8/site-packages/tomlkit-0.11.5.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/81/21/7b/7e26f1e1cae42f3fc0f88291ea472eab48c9eb828d0a41bcfdb71a11aa \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/tomlkit/__init__.py b/venv/lib/python3.8/site-packages/tomlkit/__init__.py new file mode 120000 index 0000000..d90fd44 --- /dev/null +++ b/venv/lib/python3.8/site-packages/tomlkit/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8c/da/66/c4b4290bd9c6e45265cd6fd68444974bd509d86a294002b2777b95adf0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/tomlkit/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/tomlkit/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..eee8d53 Binary files /dev/null and b/venv/lib/python3.8/site-packages/tomlkit/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/tomlkit/__pycache__/_compat.cpython-38.pyc b/venv/lib/python3.8/site-packages/tomlkit/__pycache__/_compat.cpython-38.pyc new file mode 100644 index 0000000..224eff4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/tomlkit/__pycache__/_compat.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/tomlkit/__pycache__/_utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/tomlkit/__pycache__/_utils.cpython-38.pyc new file mode 100644 index 0000000..bab1477 Binary files /dev/null and b/venv/lib/python3.8/site-packages/tomlkit/__pycache__/_utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/tomlkit/__pycache__/api.cpython-38.pyc b/venv/lib/python3.8/site-packages/tomlkit/__pycache__/api.cpython-38.pyc new file mode 100644 index 0000000..b2a4d27 Binary files /dev/null and b/venv/lib/python3.8/site-packages/tomlkit/__pycache__/api.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/tomlkit/__pycache__/container.cpython-38.pyc b/venv/lib/python3.8/site-packages/tomlkit/__pycache__/container.cpython-38.pyc new file mode 100644 index 0000000..9bedc81 Binary files /dev/null and b/venv/lib/python3.8/site-packages/tomlkit/__pycache__/container.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/tomlkit/__pycache__/exceptions.cpython-38.pyc b/venv/lib/python3.8/site-packages/tomlkit/__pycache__/exceptions.cpython-38.pyc new file mode 100644 index 0000000..7342630 Binary files /dev/null and b/venv/lib/python3.8/site-packages/tomlkit/__pycache__/exceptions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/tomlkit/__pycache__/items.cpython-38.pyc b/venv/lib/python3.8/site-packages/tomlkit/__pycache__/items.cpython-38.pyc new file mode 100644 index 0000000..1e29e29 Binary files /dev/null and b/venv/lib/python3.8/site-packages/tomlkit/__pycache__/items.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/tomlkit/__pycache__/parser.cpython-38.pyc b/venv/lib/python3.8/site-packages/tomlkit/__pycache__/parser.cpython-38.pyc new file mode 100644 index 0000000..671fb7a Binary files /dev/null and b/venv/lib/python3.8/site-packages/tomlkit/__pycache__/parser.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/tomlkit/__pycache__/source.cpython-38.pyc b/venv/lib/python3.8/site-packages/tomlkit/__pycache__/source.cpython-38.pyc new file mode 100644 index 0000000..1c73293 Binary files /dev/null and b/venv/lib/python3.8/site-packages/tomlkit/__pycache__/source.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/tomlkit/__pycache__/toml_char.cpython-38.pyc b/venv/lib/python3.8/site-packages/tomlkit/__pycache__/toml_char.cpython-38.pyc new file mode 100644 index 0000000..6825651 Binary files /dev/null and b/venv/lib/python3.8/site-packages/tomlkit/__pycache__/toml_char.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/tomlkit/__pycache__/toml_document.cpython-38.pyc b/venv/lib/python3.8/site-packages/tomlkit/__pycache__/toml_document.cpython-38.pyc new file mode 100644 index 0000000..41342b4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/tomlkit/__pycache__/toml_document.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/tomlkit/__pycache__/toml_file.cpython-38.pyc b/venv/lib/python3.8/site-packages/tomlkit/__pycache__/toml_file.cpython-38.pyc new file mode 100644 index 0000000..c230205 Binary files /dev/null and b/venv/lib/python3.8/site-packages/tomlkit/__pycache__/toml_file.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/tomlkit/_compat.py b/venv/lib/python3.8/site-packages/tomlkit/_compat.py new file mode 120000 index 0000000..1d856df --- /dev/null +++ b/venv/lib/python3.8/site-packages/tomlkit/_compat.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cf/17/3b/c88bc1cab0d2e9588fd49350b6544877048250790c1b57b5c26cbcc750 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/tomlkit/_utils.py b/venv/lib/python3.8/site-packages/tomlkit/_utils.py new file mode 120000 index 0000000..7eced8c --- /dev/null +++ b/venv/lib/python3.8/site-packages/tomlkit/_utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6a/e6/92/c7764d3d2356d384ab26ee190bc55f6b46f38ca719f6fa5efdd115cb09 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/tomlkit/api.py b/venv/lib/python3.8/site-packages/tomlkit/api.py new file mode 120000 index 0000000..b80ec01 --- /dev/null +++ b/venv/lib/python3.8/site-packages/tomlkit/api.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ad/6f/4a/3b1887da586d128c1e81b8d48d9e3060df36f2e2f42dea1ded5a3da4e1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/tomlkit/container.py b/venv/lib/python3.8/site-packages/tomlkit/container.py new file mode 120000 index 0000000..ca77fdb --- /dev/null +++ b/venv/lib/python3.8/site-packages/tomlkit/container.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4e/91/1c/3e4f4ffcae5fd72ddefdbe1022c3c0f47d266cacc395846ce30d995950 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/tomlkit/exceptions.py b/venv/lib/python3.8/site-packages/tomlkit/exceptions.py new file mode 120000 index 0000000..5a4b330 --- /dev/null +++ b/venv/lib/python3.8/site-packages/tomlkit/exceptions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6e/b3/b9/2005040b6bb8838cf270de29d6195a7ed726a7a99e243bb49101765beb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/tomlkit/items.py b/venv/lib/python3.8/site-packages/tomlkit/items.py new file mode 120000 index 0000000..b933038 --- /dev/null +++ b/venv/lib/python3.8/site-packages/tomlkit/items.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/be/e1/b2/d92efad438aa11036993f3f0e924038f998c82f783b8311025fb21e384 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/tomlkit/parser.py b/venv/lib/python3.8/site-packages/tomlkit/parser.py new file mode 120000 index 0000000..0fdc10c --- /dev/null +++ b/venv/lib/python3.8/site-packages/tomlkit/parser.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/62/03/90/ceb9e895b0baa6cb17a98e4a35c649d05e6f617ff78f77c6ce2fbc4e44 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/tomlkit/py.typed b/venv/lib/python3.8/site-packages/tomlkit/py.typed new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/tomlkit/py.typed @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/tomlkit/source.py b/venv/lib/python3.8/site-packages/tomlkit/source.py new file mode 120000 index 0000000..212207b --- /dev/null +++ b/venv/lib/python3.8/site-packages/tomlkit/source.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6d/7b/e5/0c335181120b643ceee2eaea7cd329656d5a09697444d795cb785394aa \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/tomlkit/toml_char.py b/venv/lib/python3.8/site-packages/tomlkit/toml_char.py new file mode 120000 index 0000000..bad1330 --- /dev/null +++ b/venv/lib/python3.8/site-packages/tomlkit/toml_char.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c3/7b/10/674768959d6a8d9d91c63fecbef96944d34607f7e37c17180f48059c3b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/tomlkit/toml_document.py b/venv/lib/python3.8/site-packages/tomlkit/toml_document.py new file mode 120000 index 0000000..3145b55 --- /dev/null +++ b/venv/lib/python3.8/site-packages/tomlkit/toml_document.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/38/24/e4/5977773f9f04653e120fcfdd75cd58a6431aaad952e7fb2d1d306630e2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/tomlkit/toml_file.py b/venv/lib/python3.8/site-packages/tomlkit/toml_file.py new file mode 120000 index 0000000..9dc3ff9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/tomlkit/toml_file.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ee/b8/a9/aa6fc1aba8b4542c63c8c1232b0085f6cbf6bfbaf308f4c27d6da1f983 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/typing_extensions-3.10.0.2.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/typing_extensions-3.10.0.2.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/typing_extensions-3.10.0.2.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/typing_extensions-3.10.0.2.dist-info/LICENSE b/venv/lib/python3.8/site-packages/typing_extensions-3.10.0.2.dist-info/LICENSE new file mode 120000 index 0000000..640a910 --- /dev/null +++ b/venv/lib/python3.8/site-packages/typing_extensions-3.10.0.2.dist-info/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ff/17/ce/94e102024deb68773eb1cc74ca76da4e658f373531f0ac22d68a6bb1ad \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/typing_extensions-3.10.0.2.dist-info/METADATA b/venv/lib/python3.8/site-packages/typing_extensions-3.10.0.2.dist-info/METADATA new file mode 120000 index 0000000..ea5fe84 --- /dev/null +++ b/venv/lib/python3.8/site-packages/typing_extensions-3.10.0.2.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c4/4f/93/ef08d1ff8905809d94a2333a3966b228b7df350f8a00430267ddf3b9b3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/typing_extensions-3.10.0.2.dist-info/RECORD b/venv/lib/python3.8/site-packages/typing_extensions-3.10.0.2.dist-info/RECORD new file mode 100644 index 0000000..aaefc4f --- /dev/null +++ b/venv/lib/python3.8/site-packages/typing_extensions-3.10.0.2.dist-info/RECORD @@ -0,0 +1,10 @@ +__pycache__/typing_extensions.cpython-38.pyc,, +typing_extensions-3.10.0.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +typing_extensions-3.10.0.2.dist-info/LICENSE,sha256=_xfOlOECAk3raHc-scx0ynbaTmWPNzUx8Kwi1oprsa0,12755 +typing_extensions-3.10.0.2.dist-info/METADATA,sha256=xE-T7wjR_4kFgJ2UojM6OWayKLffNQ-KAEMCZ93zubM,2121 +typing_extensions-3.10.0.2.dist-info/RECORD,, +typing_extensions-3.10.0.2.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +typing_extensions-3.10.0.2.dist-info/WHEEL,sha256=ewwEueio1C2XeHTvT17n8dZUJgOvyCWCt0WVNLClP9o,92 +typing_extensions-3.10.0.2.dist-info/direct_url.json,sha256=c7dy8bnJFCrUmHNKQOxJWqewhQOywDpdY2VxiAQsM4k,262 +typing_extensions-3.10.0.2.dist-info/top_level.txt,sha256=hkDmk3VmrfXPOD--jS4aKTCu6kFZo-kVT1cIFfq1eU8,18 +typing_extensions.py,sha256=K6THvWMULj8menDO7coYHPjZNzT_tL7QwYD3iDs359o,109284 diff --git a/venv/lib/python3.8/site-packages/typing_extensions-3.10.0.2.dist-info/REQUESTED b/venv/lib/python3.8/site-packages/typing_extensions-3.10.0.2.dist-info/REQUESTED new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.8/site-packages/typing_extensions-3.10.0.2.dist-info/WHEEL b/venv/lib/python3.8/site-packages/typing_extensions-3.10.0.2.dist-info/WHEEL new file mode 120000 index 0000000..e14c71b --- /dev/null +++ b/venv/lib/python3.8/site-packages/typing_extensions-3.10.0.2.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7b/0c/04/b9e8a8d42d977874ef4f5ee7f1d6542603afc82582b7459534b0a53fda \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/typing_extensions-3.10.0.2.dist-info/direct_url.json b/venv/lib/python3.8/site-packages/typing_extensions-3.10.0.2.dist-info/direct_url.json new file mode 100644 index 0000000..94be08d --- /dev/null +++ b/venv/lib/python3.8/site-packages/typing_extensions-3.10.0.2.dist-info/direct_url.json @@ -0,0 +1 @@ +{"archive_info": {"hash": "sha256=f1d25edafde516b146ecd0613dabcc61409817af4766fbbcfb8d1ad4ec441a34"}, "url": "https://files.pythonhosted.org/packages/74/60/18783336cc7fcdd95dae91d73477830aa53f5d3181ae4fe20491d7fc3199/typing_extensions-3.10.0.2-py3-none-any.whl"} \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/typing_extensions-3.10.0.2.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/typing_extensions-3.10.0.2.dist-info/top_level.txt new file mode 120000 index 0000000..2cc5b2a --- /dev/null +++ b/venv/lib/python3.8/site-packages/typing_extensions-3.10.0.2.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/86/40/e6/937566adf5cf383fbe8d2e1a2930aeea4159a3e9154f570815fab5794f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/typing_extensions.py b/venv/lib/python3.8/site-packages/typing_extensions.py new file mode 120000 index 0000000..1436154 --- /dev/null +++ b/venv/lib/python3.8/site-packages/typing_extensions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2b/a4/c7/bd63142e3f267a70ceedca181cf8d93734ffb4bed0c180f7883b37e7da \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/ujson-5.5.0.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/ujson-5.5.0.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/ujson-5.5.0.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/ujson-5.5.0.dist-info/LICENSE.txt b/venv/lib/python3.8/site-packages/ujson-5.5.0.dist-info/LICENSE.txt new file mode 120000 index 0000000..75fdbeb --- /dev/null +++ b/venv/lib/python3.8/site-packages/ujson-5.5.0.dist-info/LICENSE.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6a/00/a8/f8b4050303368b694147bde1aed9c96bdff869c181dbbf3ccb784a1501 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/ujson-5.5.0.dist-info/METADATA b/venv/lib/python3.8/site-packages/ujson-5.5.0.dist-info/METADATA new file mode 120000 index 0000000..9e906cb --- /dev/null +++ b/venv/lib/python3.8/site-packages/ujson-5.5.0.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d7/85/b6/f2890a348a377aa64dca08e045567bbee7df75c64609a12438b02471fc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/ujson-5.5.0.dist-info/RECORD b/venv/lib/python3.8/site-packages/ujson-5.5.0.dist-info/RECORD new file mode 100644 index 0000000..639d839 --- /dev/null +++ b/venv/lib/python3.8/site-packages/ujson-5.5.0.dist-info/RECORD @@ -0,0 +1,9 @@ +ujson-5.5.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +ujson-5.5.0.dist-info/LICENSE.txt,sha256=agCo-LQFAwM2i2lBR73hrtnJa9_4acGB2788y3hKFQE,1959 +ujson-5.5.0.dist-info/METADATA,sha256=14W28okKNIo3eqZNygjgRVZ7vuffdcZGCaEkOLAkcfw,8987 +ujson-5.5.0.dist-info/RECORD,, +ujson-5.5.0.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +ujson-5.5.0.dist-info/WHEEL,sha256=-ijGDuALlPxm3HbhKntps0QzHsi-DPlXqgerYTTJkFE,148 +ujson-5.5.0.dist-info/direct_url.json,sha256=6Fk6Ev9DzgIPh4RXZjoZspy2-vIKo8dL_6VRjjtUWmY,287 +ujson-5.5.0.dist-info/top_level.txt,sha256=IBMYuVICHWi9xnmMN22UNMEFYf14TccC7o9uYPhycg0,6 +ujson.cpython-38-x86_64-linux-gnu.so,sha256=O-4XJz_QBAnoL7OfNEc2gbJjivhOW_w--q0WVBhi8Mg,89552 diff --git a/venv/lib/python3.8/site-packages/ujson-5.5.0.dist-info/REQUESTED b/venv/lib/python3.8/site-packages/ujson-5.5.0.dist-info/REQUESTED new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.8/site-packages/ujson-5.5.0.dist-info/WHEEL b/venv/lib/python3.8/site-packages/ujson-5.5.0.dist-info/WHEEL new file mode 120000 index 0000000..8b6429d --- /dev/null +++ b/venv/lib/python3.8/site-packages/ujson-5.5.0.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fa/28/c6/0ee00b94fc66dc76e12a7b69b344331ec8be0cf957aa07ab6134c99051 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/ujson-5.5.0.dist-info/direct_url.json b/venv/lib/python3.8/site-packages/ujson-5.5.0.dist-info/direct_url.json new file mode 100644 index 0000000..94c3986 --- /dev/null +++ b/venv/lib/python3.8/site-packages/ujson-5.5.0.dist-info/direct_url.json @@ -0,0 +1 @@ +{"archive_info": {"hash": "sha256=a7d12f2d2df195c8c4e49d2cdbad640353a856c62ca2c624d8b47aa33b65a2a2"}, "url": "https://files.pythonhosted.org/packages/0a/ac/db3e3b1938729234d2c02ae0111922e5c79af4ddc41bde39f7b4bd2f8aba/ujson-5.5.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"} \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/ujson-5.5.0.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/ujson-5.5.0.dist-info/top_level.txt new file mode 120000 index 0000000..40b7d62 --- /dev/null +++ b/venv/lib/python3.8/site-packages/ujson-5.5.0.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/20/13/18/b952021d68bdc6798c376d9434c10561fd784dc702ee8f6e60f872720d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/ujson.cpython-38-x86_64-linux-gnu.so b/venv/lib/python3.8/site-packages/ujson.cpython-38-x86_64-linux-gnu.so new file mode 120000 index 0000000..ac868c8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/ujson.cpython-38-x86_64-linux-gnu.so @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3b/ee/17/273fd00409e82fb39f34473681b2638af84e5bfc3efaad16541862f0c8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/urllib3-1.26.12.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/urllib3-1.26.12.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/urllib3-1.26.12.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/urllib3-1.26.12.dist-info/LICENSE.txt b/venv/lib/python3.8/site-packages/urllib3-1.26.12.dist-info/LICENSE.txt new file mode 120000 index 0000000..26c7b79 --- /dev/null +++ b/venv/lib/python3.8/site-packages/urllib3-1.26.12.dist-info/LICENSE.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c3/7b/f1/86e27cf9dbe9619e55edfe3cea7b30091ceb3da63c7dacbe0e6d77907b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/urllib3-1.26.12.dist-info/METADATA b/venv/lib/python3.8/site-packages/urllib3-1.26.12.dist-info/METADATA new file mode 120000 index 0000000..6080214 --- /dev/null +++ b/venv/lib/python3.8/site-packages/urllib3-1.26.12.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cf/c4/6d/3696fdc7588309567ce9e53fc4383da6649fe105c175d45354f521e1b3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/urllib3-1.26.12.dist-info/RECORD b/venv/lib/python3.8/site-packages/urllib3-1.26.12.dist-info/RECORD new file mode 100644 index 0000000..2e558c9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/urllib3-1.26.12.dist-info/RECORD @@ -0,0 +1,82 @@ +urllib3-1.26.12.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +urllib3-1.26.12.dist-info/LICENSE.txt,sha256=w3vxhuJ8-dvpYZ5V7f486nswCRzrPaY8fay-Dm13kHs,1115 +urllib3-1.26.12.dist-info/METADATA,sha256=z8RtNpb9x1iDCVZ86eU_xDg9pmSf4QXBddRTVPUh4bM,47076 +urllib3-1.26.12.dist-info/RECORD,, +urllib3-1.26.12.dist-info/WHEEL,sha256=z9j0xAa_JmUKMpmz72K0ZGALSM_n-wQVmGbleXx2VHg,110 +urllib3-1.26.12.dist-info/top_level.txt,sha256=EMiXL2sKrTcmrMxIHTqdc3ET54pQI2Y072LexFEemvo,8 +urllib3/__init__.py,sha256=iXLcYiJySn0GNbWOOZDDApgBL1JgP44EZ8i1760S8Mc,3333 +urllib3/__pycache__/__init__.cpython-38.pyc,, +urllib3/__pycache__/_collections.cpython-38.pyc,, +urllib3/__pycache__/_version.cpython-38.pyc,, +urllib3/__pycache__/connection.cpython-38.pyc,, +urllib3/__pycache__/connectionpool.cpython-38.pyc,, +urllib3/__pycache__/exceptions.cpython-38.pyc,, +urllib3/__pycache__/fields.cpython-38.pyc,, +urllib3/__pycache__/filepost.cpython-38.pyc,, +urllib3/__pycache__/poolmanager.cpython-38.pyc,, +urllib3/__pycache__/request.cpython-38.pyc,, +urllib3/__pycache__/response.cpython-38.pyc,, +urllib3/_collections.py,sha256=Rp1mVyBgc_UlAcp6M3at1skJBXR5J43NawRTvW2g_XY,10811 +urllib3/_version.py,sha256=GhuGBUT_MtRxHEHDb-LYs5yLPeYWlCwFBPjGZmVJbVg,64 +urllib3/connection.py,sha256=8976wL6sGeVMW0JnXvx5mD00yXu87uQjxtB9_VL8dx8,20070 +urllib3/connectionpool.py,sha256=vEzk1iJEw1qR2vHBo7m3Y98iDfna6rKkUz3AyK5lJKQ,39093 +urllib3/contrib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +urllib3/contrib/__pycache__/__init__.cpython-38.pyc,, +urllib3/contrib/__pycache__/_appengine_environ.cpython-38.pyc,, +urllib3/contrib/__pycache__/appengine.cpython-38.pyc,, +urllib3/contrib/__pycache__/ntlmpool.cpython-38.pyc,, +urllib3/contrib/__pycache__/pyopenssl.cpython-38.pyc,, +urllib3/contrib/__pycache__/securetransport.cpython-38.pyc,, +urllib3/contrib/__pycache__/socks.cpython-38.pyc,, +urllib3/contrib/_appengine_environ.py,sha256=bDbyOEhW2CKLJcQqAKAyrEHN-aklsyHFKq6vF8ZFsmk,957 +urllib3/contrib/_securetransport/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +urllib3/contrib/_securetransport/__pycache__/__init__.cpython-38.pyc,, +urllib3/contrib/_securetransport/__pycache__/bindings.cpython-38.pyc,, +urllib3/contrib/_securetransport/__pycache__/low_level.cpython-38.pyc,, +urllib3/contrib/_securetransport/bindings.py,sha256=4Xk64qIkPBt09A5q-RIFUuDhNc9mXilVapm7WnYnzRw,17632 +urllib3/contrib/_securetransport/low_level.py,sha256=B2JBB2_NRP02xK6DCa1Pa9IuxrPwxzDzZbixQkb7U9M,13922 +urllib3/contrib/appengine.py,sha256=jz515jZYBDFTnhR4zqfeaCo6JdDgAQqYbqzHK9sDkfw,11010 +urllib3/contrib/ntlmpool.py,sha256=ej9gGvfAb2Gt00lafFp45SIoRz-QwrQ4WChm6gQmAlM,4538 +urllib3/contrib/pyopenssl.py,sha256=YeK9CA7D4MfdaqorAWZ8oGHfKnhHzASSUXa2GIftxsI,17156 +urllib3/contrib/securetransport.py,sha256=QOhVbWrFQTKbmV-vtyG69amekkKVxXkdjk9oymaO0Ag,34416 +urllib3/contrib/socks.py,sha256=aRi9eWXo9ZEb95XUxef4Z21CFlnnjbEiAo9HOseoMt4,7097 +urllib3/exceptions.py,sha256=0Mnno3KHTNfXRfY7638NufOPkUb6mXOm-Lqj-4x2w8A,8217 +urllib3/fields.py,sha256=kvLDCg_JmH1lLjUUEY_FLS8UhY7hBvDPuVETbY8mdrM,8579 +urllib3/filepost.py,sha256=5b_qqgRHVlL7uLtdAYBzBh-GHmU5AfJVt_2N0XS3PeY,2440 +urllib3/packages/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +urllib3/packages/__pycache__/__init__.cpython-38.pyc,, +urllib3/packages/__pycache__/six.cpython-38.pyc,, +urllib3/packages/backports/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +urllib3/packages/backports/__pycache__/__init__.cpython-38.pyc,, +urllib3/packages/backports/__pycache__/makefile.cpython-38.pyc,, +urllib3/packages/backports/makefile.py,sha256=nbzt3i0agPVP07jqqgjhaYjMmuAi_W5E0EywZivVO8E,1417 +urllib3/packages/six.py,sha256=b9LM0wBXv7E7SrbCjAm4wwN-hrH-iNxv18LgWNMMKPo,34665 +urllib3/poolmanager.py,sha256=0KOOJECoeLYVjUHvv-0h4Oq3FFQQ2yb-Fnjkbj8gJO0,19786 +urllib3/request.py,sha256=ZFSIqX0C6WizixecChZ3_okyu7BEv0lZu1VT0s6h4SM,5985 +urllib3/response.py,sha256=B0MM0o8p1i8IQ7QShnRZJzU-8mHCn2Aw3mEhCoE3994,30229 +urllib3/util/__init__.py,sha256=JEmSmmqqLyaw8P51gUImZh8Gwg9i1zSe-DoqAitn2nc,1155 +urllib3/util/__pycache__/__init__.cpython-38.pyc,, +urllib3/util/__pycache__/connection.cpython-38.pyc,, +urllib3/util/__pycache__/proxy.cpython-38.pyc,, +urllib3/util/__pycache__/queue.cpython-38.pyc,, +urllib3/util/__pycache__/request.cpython-38.pyc,, +urllib3/util/__pycache__/response.cpython-38.pyc,, +urllib3/util/__pycache__/retry.cpython-38.pyc,, +urllib3/util/__pycache__/ssl_.cpython-38.pyc,, +urllib3/util/__pycache__/ssl_match_hostname.cpython-38.pyc,, +urllib3/util/__pycache__/ssltransport.cpython-38.pyc,, +urllib3/util/__pycache__/timeout.cpython-38.pyc,, +urllib3/util/__pycache__/url.cpython-38.pyc,, +urllib3/util/__pycache__/wait.cpython-38.pyc,, +urllib3/util/connection.py,sha256=5Lx2B1PW29KxBn2T0xkN1CBgRBa3gGVJBKoQoRogEVk,4901 +urllib3/util/proxy.py,sha256=zUvPPCJrp6dOF0N4GAVbOcl6o-4uXKSrGiTkkr5vUS4,1605 +urllib3/util/queue.py,sha256=nRgX8_eX-_VkvxoX096QWoz8Ps0QHUAExILCY_7PncM,498 +urllib3/util/request.py,sha256=fWiAaa8pwdLLIqoTLBxCC2e4ed80muzKU3e3HWWTzFQ,4225 +urllib3/util/response.py,sha256=GJpg3Egi9qaJXRwBh5wv-MNuRWan5BIu40oReoxWP28,3510 +urllib3/util/retry.py,sha256=iESg2PvViNdXBRY4MpL4h0kqwOOkHkxmLn1kkhFHPU8,22001 +urllib3/util/ssl_.py,sha256=c0sYiSC6272r6uPkxQpo5rYPP9QC1eR6oI7004gYqZo,17165 +urllib3/util/ssl_match_hostname.py,sha256=Ir4cZVEjmAk8gUAIHWSi7wtOO83UCYABY2xFD1Ql_WA,5758 +urllib3/util/ssltransport.py,sha256=NA-u5rMTrDFDFC8QzRKUEKMG0561hOD4qBTr3Z4pv6E,6895 +urllib3/util/timeout.py,sha256=QSbBUNOB9yh6AnDn61SrLQ0hg5oz0I9-uXEG91AJuIg,10003 +urllib3/util/url.py,sha256=m8crWKyNGjnxmqw0FZ4CpzHVIjv8DornwW22IJIOq-g,14270 +urllib3/util/wait.py,sha256=fOX0_faozG2P7iVojQoE1mbydweNyTcm-hXEfFrTtLI,5403 diff --git a/venv/lib/python3.8/site-packages/urllib3-1.26.12.dist-info/WHEEL b/venv/lib/python3.8/site-packages/urllib3-1.26.12.dist-info/WHEEL new file mode 120000 index 0000000..ae483c4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/urllib3-1.26.12.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cf/d8/f4/c406bf26650a3299b3ef62b464600b48cfe7fb04159866e5797c765478 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/urllib3-1.26.12.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/urllib3-1.26.12.dist-info/top_level.txt new file mode 120000 index 0000000..b1e9b26 --- /dev/null +++ b/venv/lib/python3.8/site-packages/urllib3-1.26.12.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/10/c8/97/2f6b0aad3726accc481d3a9d737113e78a50236634ef62dec4511e9afa \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/urllib3/__init__.py b/venv/lib/python3.8/site-packages/urllib3/__init__.py new file mode 120000 index 0000000..dca487d --- /dev/null +++ b/venv/lib/python3.8/site-packages/urllib3/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/89/72/dc/6222724a7d0635b58e3990c30298012f52603f8e0467c8b5efad12f0c7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/urllib3/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/urllib3/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..2754681 Binary files /dev/null and b/venv/lib/python3.8/site-packages/urllib3/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/urllib3/__pycache__/_collections.cpython-38.pyc b/venv/lib/python3.8/site-packages/urllib3/__pycache__/_collections.cpython-38.pyc new file mode 100644 index 0000000..228e18d Binary files /dev/null and b/venv/lib/python3.8/site-packages/urllib3/__pycache__/_collections.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/urllib3/__pycache__/_version.cpython-38.pyc b/venv/lib/python3.8/site-packages/urllib3/__pycache__/_version.cpython-38.pyc new file mode 100644 index 0000000..7588a13 Binary files /dev/null and b/venv/lib/python3.8/site-packages/urllib3/__pycache__/_version.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/urllib3/__pycache__/connection.cpython-38.pyc b/venv/lib/python3.8/site-packages/urllib3/__pycache__/connection.cpython-38.pyc new file mode 100644 index 0000000..96e8649 Binary files /dev/null and b/venv/lib/python3.8/site-packages/urllib3/__pycache__/connection.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/urllib3/__pycache__/connectionpool.cpython-38.pyc b/venv/lib/python3.8/site-packages/urllib3/__pycache__/connectionpool.cpython-38.pyc new file mode 100644 index 0000000..eda7e23 Binary files /dev/null and b/venv/lib/python3.8/site-packages/urllib3/__pycache__/connectionpool.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/urllib3/__pycache__/exceptions.cpython-38.pyc b/venv/lib/python3.8/site-packages/urllib3/__pycache__/exceptions.cpython-38.pyc new file mode 100644 index 0000000..cf01d14 Binary files /dev/null and b/venv/lib/python3.8/site-packages/urllib3/__pycache__/exceptions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/urllib3/__pycache__/fields.cpython-38.pyc b/venv/lib/python3.8/site-packages/urllib3/__pycache__/fields.cpython-38.pyc new file mode 100644 index 0000000..6810c93 Binary files /dev/null and b/venv/lib/python3.8/site-packages/urllib3/__pycache__/fields.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/urllib3/__pycache__/filepost.cpython-38.pyc b/venv/lib/python3.8/site-packages/urllib3/__pycache__/filepost.cpython-38.pyc new file mode 100644 index 0000000..8a40d1e Binary files /dev/null and b/venv/lib/python3.8/site-packages/urllib3/__pycache__/filepost.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/urllib3/__pycache__/poolmanager.cpython-38.pyc b/venv/lib/python3.8/site-packages/urllib3/__pycache__/poolmanager.cpython-38.pyc new file mode 100644 index 0000000..bd3a1c7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/urllib3/__pycache__/poolmanager.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/urllib3/__pycache__/request.cpython-38.pyc b/venv/lib/python3.8/site-packages/urllib3/__pycache__/request.cpython-38.pyc new file mode 100644 index 0000000..586e043 Binary files /dev/null and b/venv/lib/python3.8/site-packages/urllib3/__pycache__/request.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/urllib3/__pycache__/response.cpython-38.pyc b/venv/lib/python3.8/site-packages/urllib3/__pycache__/response.cpython-38.pyc new file mode 100644 index 0000000..f34da89 Binary files /dev/null and b/venv/lib/python3.8/site-packages/urllib3/__pycache__/response.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/urllib3/_collections.py b/venv/lib/python3.8/site-packages/urllib3/_collections.py new file mode 120000 index 0000000..12e3970 --- /dev/null +++ b/venv/lib/python3.8/site-packages/urllib3/_collections.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/46/9d/66/57206073f52501ca7a3376add6c909057479278dcd6b0453bd6da0fd76 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/urllib3/_version.py b/venv/lib/python3.8/site-packages/urllib3/_version.py new file mode 120000 index 0000000..7bcf01d --- /dev/null +++ b/venv/lib/python3.8/site-packages/urllib3/_version.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1a/1b/86/0544ff32d4711c41c36fe2d8b39c8b3de616942c0504f8c66665496d58 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/urllib3/connection.py b/venv/lib/python3.8/site-packages/urllib3/connection.py new file mode 120000 index 0000000..a6fc37d --- /dev/null +++ b/venv/lib/python3.8/site-packages/urllib3/connection.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f3/de/fa/c0beac19e54c5b42675efc79983d34c97bbceee423c6d07dfd52fc771f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/urllib3/connectionpool.py b/venv/lib/python3.8/site-packages/urllib3/connectionpool.py new file mode 120000 index 0000000..c921039 --- /dev/null +++ b/venv/lib/python3.8/site-packages/urllib3/connectionpool.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bc/4c/e4/d62244c35a91daf1c1a3b9b763df220df9daeab2a4533dc0c8ae6524a4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/urllib3/contrib/__init__.py b/venv/lib/python3.8/site-packages/urllib3/contrib/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/urllib3/contrib/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/urllib3/contrib/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/urllib3/contrib/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..26da2cc Binary files /dev/null and b/venv/lib/python3.8/site-packages/urllib3/contrib/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/urllib3/contrib/__pycache__/_appengine_environ.cpython-38.pyc b/venv/lib/python3.8/site-packages/urllib3/contrib/__pycache__/_appengine_environ.cpython-38.pyc new file mode 100644 index 0000000..426a592 Binary files /dev/null and b/venv/lib/python3.8/site-packages/urllib3/contrib/__pycache__/_appengine_environ.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/urllib3/contrib/__pycache__/appengine.cpython-38.pyc b/venv/lib/python3.8/site-packages/urllib3/contrib/__pycache__/appengine.cpython-38.pyc new file mode 100644 index 0000000..15d8777 Binary files /dev/null and b/venv/lib/python3.8/site-packages/urllib3/contrib/__pycache__/appengine.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/urllib3/contrib/__pycache__/ntlmpool.cpython-38.pyc b/venv/lib/python3.8/site-packages/urllib3/contrib/__pycache__/ntlmpool.cpython-38.pyc new file mode 100644 index 0000000..df8993a Binary files /dev/null and b/venv/lib/python3.8/site-packages/urllib3/contrib/__pycache__/ntlmpool.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/urllib3/contrib/__pycache__/pyopenssl.cpython-38.pyc b/venv/lib/python3.8/site-packages/urllib3/contrib/__pycache__/pyopenssl.cpython-38.pyc new file mode 100644 index 0000000..4c7899b Binary files /dev/null and b/venv/lib/python3.8/site-packages/urllib3/contrib/__pycache__/pyopenssl.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/urllib3/contrib/__pycache__/securetransport.cpython-38.pyc b/venv/lib/python3.8/site-packages/urllib3/contrib/__pycache__/securetransport.cpython-38.pyc new file mode 100644 index 0000000..5669aa4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/urllib3/contrib/__pycache__/securetransport.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/urllib3/contrib/__pycache__/socks.cpython-38.pyc b/venv/lib/python3.8/site-packages/urllib3/contrib/__pycache__/socks.cpython-38.pyc new file mode 100644 index 0000000..ac81eac Binary files /dev/null and b/venv/lib/python3.8/site-packages/urllib3/contrib/__pycache__/socks.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/urllib3/contrib/_appengine_environ.py b/venv/lib/python3.8/site-packages/urllib3/contrib/_appengine_environ.py new file mode 120000 index 0000000..be2ab5e --- /dev/null +++ b/venv/lib/python3.8/site-packages/urllib3/contrib/_appengine_environ.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6c/36/f2/384856d8228b25c42a00a032ac41cdf9a925b321c52aaeaf17c645b269 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/urllib3/contrib/_securetransport/__init__.py b/venv/lib/python3.8/site-packages/urllib3/contrib/_securetransport/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/urllib3/contrib/_securetransport/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/urllib3/contrib/_securetransport/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/urllib3/contrib/_securetransport/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..bb70a6a Binary files /dev/null and b/venv/lib/python3.8/site-packages/urllib3/contrib/_securetransport/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/urllib3/contrib/_securetransport/__pycache__/bindings.cpython-38.pyc b/venv/lib/python3.8/site-packages/urllib3/contrib/_securetransport/__pycache__/bindings.cpython-38.pyc new file mode 100644 index 0000000..2a17949 Binary files /dev/null and b/venv/lib/python3.8/site-packages/urllib3/contrib/_securetransport/__pycache__/bindings.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/urllib3/contrib/_securetransport/__pycache__/low_level.cpython-38.pyc b/venv/lib/python3.8/site-packages/urllib3/contrib/_securetransport/__pycache__/low_level.cpython-38.pyc new file mode 100644 index 0000000..51a361c Binary files /dev/null and b/venv/lib/python3.8/site-packages/urllib3/contrib/_securetransport/__pycache__/low_level.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/urllib3/contrib/_securetransport/bindings.py b/venv/lib/python3.8/site-packages/urllib3/contrib/_securetransport/bindings.py new file mode 120000 index 0000000..dc830a7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/urllib3/contrib/_securetransport/bindings.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e1/79/3a/e2a2243c1b74f40e6af9120552e0e135cf665e29556a99bb5a7627cd1c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/urllib3/contrib/_securetransport/low_level.py b/venv/lib/python3.8/site-packages/urllib3/contrib/_securetransport/low_level.py new file mode 120000 index 0000000..c31a159 --- /dev/null +++ b/venv/lib/python3.8/site-packages/urllib3/contrib/_securetransport/low_level.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/07/62/41/076fcd44fd36c4ae8309ad4f6bd22ec6b3f0c730f365b8b14246fb53d3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/urllib3/contrib/appengine.py b/venv/lib/python3.8/site-packages/urllib3/contrib/appengine.py new file mode 120000 index 0000000..fa6252e --- /dev/null +++ b/venv/lib/python3.8/site-packages/urllib3/contrib/appengine.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8f/3e/75/e636580431539e1478cea7de682a3a25d0e0010a986eacc72bdb0391fc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/urllib3/contrib/ntlmpool.py b/venv/lib/python3.8/site-packages/urllib3/contrib/ntlmpool.py new file mode 120000 index 0000000..69c6234 --- /dev/null +++ b/venv/lib/python3.8/site-packages/urllib3/contrib/ntlmpool.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7a/3f/60/1af7c06f61add3495a7c5a78e52228473f90c2b438582866ea04260253 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/urllib3/contrib/pyopenssl.py b/venv/lib/python3.8/site-packages/urllib3/contrib/pyopenssl.py new file mode 120000 index 0000000..8616080 --- /dev/null +++ b/venv/lib/python3.8/site-packages/urllib3/contrib/pyopenssl.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/61/e2/bd/080ec3e0c7dd6aaa2b01667ca061df2a7847cc04925176b61887edc6c2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/urllib3/contrib/securetransport.py b/venv/lib/python3.8/site-packages/urllib3/contrib/securetransport.py new file mode 120000 index 0000000..09a5bd4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/urllib3/contrib/securetransport.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/40/e8/55/6d6ac541329b995fafb721baf5a99e924295c5791d8e4f68ca668ed008 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/urllib3/contrib/socks.py b/venv/lib/python3.8/site-packages/urllib3/contrib/socks.py new file mode 120000 index 0000000..e74e945 --- /dev/null +++ b/venv/lib/python3.8/site-packages/urllib3/contrib/socks.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/69/18/bd/7965e8f5911bf795d4c5e7f8676d421659e78db122028f473ac7a832de \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/urllib3/exceptions.py b/venv/lib/python3.8/site-packages/urllib3/exceptions.py new file mode 120000 index 0000000..bbd51eb --- /dev/null +++ b/venv/lib/python3.8/site-packages/urllib3/exceptions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d0/c9/e7/a372874cd7d745f63beb7f0db9f38f9146fa9973a6f8baa3fb8c76c3c0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/urllib3/fields.py b/venv/lib/python3.8/site-packages/urllib3/fields.py new file mode 120000 index 0000000..96a2acd --- /dev/null +++ b/venv/lib/python3.8/site-packages/urllib3/fields.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/92/f2/c3/0a0fc9987d652e3514118fc52d2f14858ee106f0cfb951136d8f2676b3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/urllib3/filepost.py b/venv/lib/python3.8/site-packages/urllib3/filepost.py new file mode 120000 index 0000000..f1e79dd --- /dev/null +++ b/venv/lib/python3.8/site-packages/urllib3/filepost.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e5/bf/ea/aa04475652fbb8bb5d018073061f861e653901f255b7fd8dd174b73de6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/urllib3/packages/__init__.py b/venv/lib/python3.8/site-packages/urllib3/packages/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/urllib3/packages/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/urllib3/packages/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/urllib3/packages/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..a72461c Binary files /dev/null and b/venv/lib/python3.8/site-packages/urllib3/packages/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/urllib3/packages/__pycache__/six.cpython-38.pyc b/venv/lib/python3.8/site-packages/urllib3/packages/__pycache__/six.cpython-38.pyc new file mode 100644 index 0000000..648a400 Binary files /dev/null and b/venv/lib/python3.8/site-packages/urllib3/packages/__pycache__/six.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/urllib3/packages/backports/__init__.py b/venv/lib/python3.8/site-packages/urllib3/packages/backports/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/urllib3/packages/backports/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/urllib3/packages/backports/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/urllib3/packages/backports/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..07d0aba Binary files /dev/null and b/venv/lib/python3.8/site-packages/urllib3/packages/backports/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/urllib3/packages/backports/__pycache__/makefile.cpython-38.pyc b/venv/lib/python3.8/site-packages/urllib3/packages/backports/__pycache__/makefile.cpython-38.pyc new file mode 100644 index 0000000..4b5d3eb Binary files /dev/null and b/venv/lib/python3.8/site-packages/urllib3/packages/backports/__pycache__/makefile.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/urllib3/packages/backports/makefile.py b/venv/lib/python3.8/site-packages/urllib3/packages/backports/makefile.py new file mode 120000 index 0000000..49b8b81 --- /dev/null +++ b/venv/lib/python3.8/site-packages/urllib3/packages/backports/makefile.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9d/bc/ed/de2d1a80f54fd3b8eaaa08e16988cc9ae022fd6e44d04cb0662bd53bc1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/urllib3/packages/six.py b/venv/lib/python3.8/site-packages/urllib3/packages/six.py new file mode 120000 index 0000000..22d51b1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/urllib3/packages/six.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6f/d2/cc/d30057bfb13b4ab6c28c09b8c3037e86b1fe88dc6fd7c2e058d30c28fa \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/urllib3/poolmanager.py b/venv/lib/python3.8/site-packages/urllib3/poolmanager.py new file mode 120000 index 0000000..fa6845d --- /dev/null +++ b/venv/lib/python3.8/site-packages/urllib3/poolmanager.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d0/a3/8e/2440a878b6158d41efbfed21e0eab7145410db26fe1678e46e3f2024ed \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/urllib3/request.py b/venv/lib/python3.8/site-packages/urllib3/request.py new file mode 120000 index 0000000..9cbe2d3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/urllib3/request.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/64/54/88/a97d02e968b38b179c0a1677fe8932bbb044bf4959bb5553d2cea1e123 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/urllib3/response.py b/venv/lib/python3.8/site-packages/urllib3/response.py new file mode 120000 index 0000000..d9c2589 --- /dev/null +++ b/venv/lib/python3.8/site-packages/urllib3/response.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/07/43/0c/d28f29d62f0843b41286745927353ef261c29f6030de61210a8137f7de \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/urllib3/util/__init__.py b/venv/lib/python3.8/site-packages/urllib3/util/__init__.py new file mode 120000 index 0000000..2cf006a --- /dev/null +++ b/venv/lib/python3.8/site-packages/urllib3/util/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/24/49/92/9a6aaa2f26b0f0fe75814226661f06c20f62d7349ef83a2a022b67da77 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/urllib3/util/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/urllib3/util/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..221a561 Binary files /dev/null and b/venv/lib/python3.8/site-packages/urllib3/util/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/urllib3/util/__pycache__/connection.cpython-38.pyc b/venv/lib/python3.8/site-packages/urllib3/util/__pycache__/connection.cpython-38.pyc new file mode 100644 index 0000000..6863cd4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/urllib3/util/__pycache__/connection.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/urllib3/util/__pycache__/proxy.cpython-38.pyc b/venv/lib/python3.8/site-packages/urllib3/util/__pycache__/proxy.cpython-38.pyc new file mode 100644 index 0000000..88ac392 Binary files /dev/null and b/venv/lib/python3.8/site-packages/urllib3/util/__pycache__/proxy.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/urllib3/util/__pycache__/queue.cpython-38.pyc b/venv/lib/python3.8/site-packages/urllib3/util/__pycache__/queue.cpython-38.pyc new file mode 100644 index 0000000..83ca6fe Binary files /dev/null and b/venv/lib/python3.8/site-packages/urllib3/util/__pycache__/queue.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/urllib3/util/__pycache__/request.cpython-38.pyc b/venv/lib/python3.8/site-packages/urllib3/util/__pycache__/request.cpython-38.pyc new file mode 100644 index 0000000..30d0ecd Binary files /dev/null and b/venv/lib/python3.8/site-packages/urllib3/util/__pycache__/request.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/urllib3/util/__pycache__/response.cpython-38.pyc b/venv/lib/python3.8/site-packages/urllib3/util/__pycache__/response.cpython-38.pyc new file mode 100644 index 0000000..06b668e Binary files /dev/null and b/venv/lib/python3.8/site-packages/urllib3/util/__pycache__/response.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/urllib3/util/__pycache__/retry.cpython-38.pyc b/venv/lib/python3.8/site-packages/urllib3/util/__pycache__/retry.cpython-38.pyc new file mode 100644 index 0000000..4b50ad6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/urllib3/util/__pycache__/retry.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/urllib3/util/__pycache__/ssl_.cpython-38.pyc b/venv/lib/python3.8/site-packages/urllib3/util/__pycache__/ssl_.cpython-38.pyc new file mode 100644 index 0000000..0fdea30 Binary files /dev/null and b/venv/lib/python3.8/site-packages/urllib3/util/__pycache__/ssl_.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/urllib3/util/__pycache__/ssl_match_hostname.cpython-38.pyc b/venv/lib/python3.8/site-packages/urllib3/util/__pycache__/ssl_match_hostname.cpython-38.pyc new file mode 100644 index 0000000..c0e003b Binary files /dev/null and b/venv/lib/python3.8/site-packages/urllib3/util/__pycache__/ssl_match_hostname.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/urllib3/util/__pycache__/ssltransport.cpython-38.pyc b/venv/lib/python3.8/site-packages/urllib3/util/__pycache__/ssltransport.cpython-38.pyc new file mode 100644 index 0000000..fd35894 Binary files /dev/null and b/venv/lib/python3.8/site-packages/urllib3/util/__pycache__/ssltransport.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/urllib3/util/__pycache__/timeout.cpython-38.pyc b/venv/lib/python3.8/site-packages/urllib3/util/__pycache__/timeout.cpython-38.pyc new file mode 100644 index 0000000..3cc583a Binary files /dev/null and b/venv/lib/python3.8/site-packages/urllib3/util/__pycache__/timeout.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/urllib3/util/__pycache__/url.cpython-38.pyc b/venv/lib/python3.8/site-packages/urllib3/util/__pycache__/url.cpython-38.pyc new file mode 100644 index 0000000..2cfd02a Binary files /dev/null and b/venv/lib/python3.8/site-packages/urllib3/util/__pycache__/url.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/urllib3/util/__pycache__/wait.cpython-38.pyc b/venv/lib/python3.8/site-packages/urllib3/util/__pycache__/wait.cpython-38.pyc new file mode 100644 index 0000000..c0d02d5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/urllib3/util/__pycache__/wait.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/urllib3/util/connection.py b/venv/lib/python3.8/site-packages/urllib3/util/connection.py new file mode 120000 index 0000000..811cb16 --- /dev/null +++ b/venv/lib/python3.8/site-packages/urllib3/util/connection.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e4/bc/76/0753d6dbd2b1067d93d3190dd420604416b780654904aa10a11a201159 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/urllib3/util/proxy.py b/venv/lib/python3.8/site-packages/urllib3/util/proxy.py new file mode 120000 index 0000000..f94126d --- /dev/null +++ b/venv/lib/python3.8/site-packages/urllib3/util/proxy.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cd/4b/cf/3c226ba7a74e17437818055b39c97aa3ee2e5ca4ab1a24e492be6f512e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/urllib3/util/queue.py b/venv/lib/python3.8/site-packages/urllib3/util/queue.py new file mode 120000 index 0000000..ef11ffb --- /dev/null +++ b/venv/lib/python3.8/site-packages/urllib3/util/queue.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9d/18/17/f3f797fbf564bf1a17d3de905a8cfc3ecd101d4004c482c263fecf9dc3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/urllib3/util/request.py b/venv/lib/python3.8/site-packages/urllib3/util/request.py new file mode 120000 index 0000000..46d0ce6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/urllib3/util/request.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7d/68/80/69af29c1d2cb22aa132c1c420b67b879df349aecca5377b71d6593cc54 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/urllib3/util/response.py b/venv/lib/python3.8/site-packages/urllib3/util/response.py new file mode 120000 index 0000000..d449adf --- /dev/null +++ b/venv/lib/python3.8/site-packages/urllib3/util/response.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/18/9a/60/dc4822f6a6895d1c01879c2ff8c36e4566a7e4122ee34a117a8c563f6f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/urllib3/util/retry.py b/venv/lib/python3.8/site-packages/urllib3/util/retry.py new file mode 120000 index 0000000..13be88e --- /dev/null +++ b/venv/lib/python3.8/site-packages/urllib3/util/retry.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/88/44/a0/d8fbd588d7570516383292f887492ac0e3a41e4c662e7d649211473d4f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/urllib3/util/ssl_.py b/venv/lib/python3.8/site-packages/urllib3/util/ssl_.py new file mode 120000 index 0000000..9932be8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/urllib3/util/ssl_.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/73/4b/18/8920badbbdabeae3e4c50a68e6b60f3fd402d5e47aa08ef4d38818a99a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/urllib3/util/ssl_match_hostname.py b/venv/lib/python3.8/site-packages/urllib3/util/ssl_match_hostname.py new file mode 120000 index 0000000..8f128bb --- /dev/null +++ b/venv/lib/python3.8/site-packages/urllib3/util/ssl_match_hostname.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/22/be/1c/65512398093c8140081d64a2ef0b4e3bcdd4098001636c450f5425fd60 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/urllib3/util/ssltransport.py b/venv/lib/python3.8/site-packages/urllib3/util/ssltransport.py new file mode 120000 index 0000000..eb9bd2f --- /dev/null +++ b/venv/lib/python3.8/site-packages/urllib3/util/ssltransport.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/34/0f/ae/e6b313ac3143142f10cd129410a306d39eb584e0f8a814ebdd9e29bfa1 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/urllib3/util/timeout.py b/venv/lib/python3.8/site-packages/urllib3/util/timeout.py new file mode 120000 index 0000000..8793df6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/urllib3/util/timeout.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/41/26/c1/50d381f7287a0270e7eb54ab2d0d21839a33d08f7eb97106f75009b888 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/urllib3/util/url.py b/venv/lib/python3.8/site-packages/urllib3/util/url.py new file mode 120000 index 0000000..f6dd086 --- /dev/null +++ b/venv/lib/python3.8/site-packages/urllib3/util/url.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9b/c7/2b/58ac8d1a39f19aac34159e02a731d5223bfc0e8ae7c16db620920eabe8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/urllib3/util/wait.py b/venv/lib/python3.8/site-packages/urllib3/util/wait.py new file mode 120000 index 0000000..4de677e --- /dev/null +++ b/venv/lib/python3.8/site-packages/urllib3/util/wait.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7c/e5/f4/fdf6a8cc6d8fee25688d0a04d666f277078dc93726fa15c47c5ad3b4b2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv-20.16.5.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/virtualenv-20.16.5.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv-20.16.5.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/virtualenv-20.16.5.dist-info/LICENSE b/venv/lib/python3.8/site-packages/virtualenv-20.16.5.dist-info/LICENSE new file mode 120000 index 0000000..c095c76 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv-20.16.5.dist-info/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5c/15/91/9378c5b2aaab7b19cea70d8cdc75f76879e32454e4c0399f8b71d171e9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv-20.16.5.dist-info/METADATA b/venv/lib/python3.8/site-packages/virtualenv-20.16.5.dist-info/METADATA new file mode 120000 index 0000000..eecb985 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv-20.16.5.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c9/92/78/2ad87179cdc2890b812d1b743dfa753e416673fa83500c4ac1cffb1344 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv-20.16.5.dist-info/RECORD b/venv/lib/python3.8/site-packages/virtualenv-20.16.5.dist-info/RECORD new file mode 100644 index 0000000..dd93cc6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv-20.16.5.dist-info/RECORD @@ -0,0 +1,218 @@ +../../../bin/virtualenv,sha256=nar3DR127Br-EerYl7LbP5TSC9oW4pxXLFELmRebtrY,242 +virtualenv-20.16.5.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +virtualenv-20.16.5.dist-info/LICENSE,sha256=XBWRk3jFsqqrexnOpw2M3HX3aHnjJFTkwDmfi3HRcek,1074 +virtualenv-20.16.5.dist-info/METADATA,sha256=yZJ4Kthxec3CiQuBLRt0Pfp1PkFmc_qDUAxKwc_7E0Q,4142 +virtualenv-20.16.5.dist-info/RECORD,, +virtualenv-20.16.5.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92 +virtualenv-20.16.5.dist-info/entry_points.txt,sha256=m8Y1t8mK98ioDAHaORnsE07DWBymoB6VT7AFXEasAjM,1731 +virtualenv-20.16.5.dist-info/top_level.txt,sha256=JV-LVlC8YeIw1DgiYI0hEot7tgFy5IWdKVcSG7NyzaI,11 +virtualenv-20.16.5.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1 +virtualenv/__init__.py,sha256=6hn2jM8WZblNlIkea3tD_WEzHy4icbAldxiqvGqJsG8,147 +virtualenv/__main__.py,sha256=zsOAnTAdAfDA0Q2maGFWekPyb_iFd9ztZbL6bMfLvZ4,2529 +virtualenv/__pycache__/__init__.cpython-38.pyc,, +virtualenv/__pycache__/__main__.cpython-38.pyc,, +virtualenv/__pycache__/info.cpython-38.pyc,, +virtualenv/__pycache__/report.cpython-38.pyc,, +virtualenv/__pycache__/version.cpython-38.pyc,, +virtualenv/activation/__init__.py,sha256=GUVO7jEC_pLzdFhI3hXuWJQUcpj4kWsJ8CFuWkp4Yfk,428 +virtualenv/activation/__pycache__/__init__.cpython-38.pyc,, +virtualenv/activation/__pycache__/activator.cpython-38.pyc,, +virtualenv/activation/__pycache__/via_template.cpython-38.pyc,, +virtualenv/activation/activator.py,sha256=U9UzprWh_xz45zLSIHJYJSUeE_Y0Ca6CEXgQdbUOHK0,1377 +virtualenv/activation/bash/__init__.py,sha256=R0droTEb9beTN_1gpFqmE6Hi2GO5NRAiXf_DVMooJDk,278 +virtualenv/activation/bash/__pycache__/__init__.cpython-38.pyc,, +virtualenv/activation/bash/activate.sh,sha256=8NnbBA0VpoUEZzP09qO4Wp_3mfIq_j_7NXRGvJHBQq0,2179 +virtualenv/activation/batch/__init__.py,sha256=Op-Hm1OK7blQp5XKwPWLkOAWmKTdj7dDTuolIVMfmVE,679 +virtualenv/activation/batch/__pycache__/__init__.cpython-38.pyc,, +virtualenv/activation/batch/activate.bat,sha256=zc04kLkLhdBvrNYKM3Gf7zZzMH4KshIdfPvMpZl7BcI,1032 +virtualenv/activation/batch/deactivate.bat,sha256=sQ1bZtgX2vHvpAMvBxNWsX3znAUM4ra5UahZ5TOaJsI,511 +virtualenv/activation/batch/pydoc.bat,sha256=pVuxn8mn9P_Rd0349fiBEiwIuMvfJQSfgJ2dljUT2fA,24 +virtualenv/activation/cshell/__init__.py,sha256=-IF_8zZah_Sk0KF3kJT6uMVdJw0eB3JNZOpQE2Icb44,312 +virtualenv/activation/cshell/__pycache__/__init__.cpython-38.pyc,, +virtualenv/activation/cshell/activate.csh,sha256=wm_0n7o83RXSTUJsWc2PPV33Yh9Gad8AJQIuRvL6EYg,1471 +virtualenv/activation/fish/__init__.py,sha256=b2oUJ_4EvPsMwRrZBwtbdMNfWCugW1bgBMMYicSvUf4,217 +virtualenv/activation/fish/__pycache__/__init__.cpython-38.pyc,, +virtualenv/activation/fish/activate.fish,sha256=FkJpM8png8v9Sk3yGNJCcGzUKAAMF1Hz0dYrskut0z0,3056 +virtualenv/activation/nushell/__init__.py,sha256=bTgmWArwtjjXAzEaqMrj7yMLFNMGaqm1CkpEhAdcQfQ,950 +virtualenv/activation/nushell/__pycache__/__init__.cpython-38.pyc,, +virtualenv/activation/nushell/activate.nu,sha256=j2AUQoICNUhO1VxRMukUpciHhiw2zHomnBtE8MPgs1I,2583 +virtualenv/activation/nushell/deactivate.nu,sha256=KrUAqzyG6TTNMwJc7m6Ni0gbo-sLDU4C_AsGeBy4Hm4,682 +virtualenv/activation/powershell/__init__.py,sha256=LTRhEYt2PyJxJeG3qLz0RPkadR74KPWg6-9F-D3YlOc,228 +virtualenv/activation/powershell/__pycache__/__init__.cpython-38.pyc,, +virtualenv/activation/powershell/activate.ps1,sha256=fitBG2YyeKTfkRn62CjocDb_PLjrgvi2FmpuBkFCcBw,1810 +virtualenv/activation/python/__init__.py,sha256=LDCB8CmXNjUd4gAta9eAcV_y_Y_KWyq1bvdygcU2zWE,1199 +virtualenv/activation/python/__pycache__/__init__.cpython-38.pyc,, +virtualenv/activation/python/__pycache__/activate_this.cpython-38.pyc,, +virtualenv/activation/python/activate_this.py,sha256=wUt6QVm-Rk94u-ENPn2wzKx0addx2orAe6tKQNcqzbw,1184 +virtualenv/activation/via_template.py,sha256=Ntbij5VEv8ig2ARrvaZ5Jj5qfyOKjXCzHy364Om-EIk,2260 +virtualenv/app_data/__init__.py,sha256=ulnKcZXwOiGiLFnk6GwPvpV2sJYTDy1wwf1v5xDQCHg,1412 +virtualenv/app_data/__pycache__/__init__.cpython-38.pyc,, +virtualenv/app_data/__pycache__/base.cpython-38.pyc,, +virtualenv/app_data/__pycache__/na.cpython-38.pyc,, +virtualenv/app_data/__pycache__/read_only.cpython-38.pyc,, +virtualenv/app_data/__pycache__/via_disk_folder.cpython-38.pyc,, +virtualenv/app_data/__pycache__/via_tempdir.cpython-38.pyc,, +virtualenv/app_data/base.py,sha256=Dyq5U2_XcMJ4K7FlqjVbXvnHuJ4mlkd9yDxmDjOHVC0,2161 +virtualenv/app_data/na.py,sha256=PIgGeHMK5rK8E9STrpaXVj5dZLxxVxHYPmzDgV7jAvo,1457 +virtualenv/app_data/read_only.py,sha256=0Es_nju6qvmGWjNW0s_udPlC7FawajqCRaNHWn8vSi8,1031 +virtualenv/app_data/via_disk_folder.py,sha256=d38RNdh2ym9Enau-1hHvw6SY3FLvHHJP_86JNpYk_JY,5411 +virtualenv/app_data/via_tempdir.py,sha256=SPszpoEcDCfL41jKrN2GABt1tPMiZWK8Hy_fUQRu3uI,744 +virtualenv/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +virtualenv/config/__pycache__/__init__.cpython-38.pyc,, +virtualenv/config/__pycache__/convert.cpython-38.pyc,, +virtualenv/config/__pycache__/env_var.cpython-38.pyc,, +virtualenv/config/__pycache__/ini.cpython-38.pyc,, +virtualenv/config/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +virtualenv/config/cli/__pycache__/__init__.cpython-38.pyc,, +virtualenv/config/cli/__pycache__/parser.cpython-38.pyc,, +virtualenv/config/cli/parser.py,sha256=ofjXDw8GvOWGqxkH0d1ZBNnrIIMM7oAXcq2tAinrB5s,4457 +virtualenv/config/convert.py,sha256=bXxI7QXsb5ESrGMbopN6_TdUvJIieiBEou8Mk3qjJYw,2628 +virtualenv/config/env_var.py,sha256=WscrnTyQv-76WcsX1rju9x1wUEwwi3FHPbmWsZtb_z8,680 +virtualenv/config/ini.py,sha256=vzJ5iqE2rqtu2Gf06DQN3mQdAZMW03Cg0lt7p_RFJ48,2490 +virtualenv/create/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +virtualenv/create/__pycache__/__init__.cpython-38.pyc,, +virtualenv/create/__pycache__/creator.cpython-38.pyc,, +virtualenv/create/__pycache__/debug.cpython-38.pyc,, +virtualenv/create/__pycache__/describe.cpython-38.pyc,, +virtualenv/create/__pycache__/pyenv_cfg.cpython-38.pyc,, +virtualenv/create/creator.py,sha256=L1ko_bplzThIwsYqlmM7WBkcnhlNRMGvDGEZA5ebzLo,8412 +virtualenv/create/debug.py,sha256=eqqgLo7EhMMlKiIl7PhVEDoh1Sa8l9Vvm_pJCDQyZmw,3356 +virtualenv/create/describe.py,sha256=Dg1n_wh_72GrP0SxzmOuCRbQW0YnlincHBMKxXOaD9s,3358 +virtualenv/create/pyenv_cfg.py,sha256=3-dSAQ8sK86yqpAITWqXeKn2WbM9AyzBmR4HG9Tviqw,1600 +virtualenv/create/via_global_ref/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +virtualenv/create/via_global_ref/__pycache__/__init__.cpython-38.pyc,, +virtualenv/create/via_global_ref/__pycache__/_virtualenv.cpython-38.pyc,, +virtualenv/create/via_global_ref/__pycache__/api.cpython-38.pyc,, +virtualenv/create/via_global_ref/__pycache__/store.cpython-38.pyc,, +virtualenv/create/via_global_ref/__pycache__/venv.cpython-38.pyc,, +virtualenv/create/via_global_ref/_virtualenv.py,sha256=yRmTFYcbEbEt8ib4kKOOZuYxkeGtv7EaZuaGEVGzP8o,5640 +virtualenv/create/via_global_ref/api.py,sha256=8X59r2y3qdeeY6BScb3-Pe6Op1TVVrFWfv5ins4Gy_U,4128 +virtualenv/create/via_global_ref/builtin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +virtualenv/create/via_global_ref/builtin/__pycache__/__init__.cpython-38.pyc,, +virtualenv/create/via_global_ref/builtin/__pycache__/builtin_way.cpython-38.pyc,, +virtualenv/create/via_global_ref/builtin/__pycache__/ref.cpython-38.pyc,, +virtualenv/create/via_global_ref/builtin/__pycache__/via_global_self_do.cpython-38.pyc,, +virtualenv/create/via_global_ref/builtin/builtin_way.py,sha256=MIhEIVgieUmOyz35HXOlDNiuQ5y2yLlEjT7uBEBCV6w,493 +virtualenv/create/via_global_ref/builtin/cpython/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +virtualenv/create/via_global_ref/builtin/cpython/__pycache__/__init__.cpython-38.pyc,, +virtualenv/create/via_global_ref/builtin/cpython/__pycache__/common.cpython-38.pyc,, +virtualenv/create/via_global_ref/builtin/cpython/__pycache__/cpython2.cpython-38.pyc,, +virtualenv/create/via_global_ref/builtin/cpython/__pycache__/cpython3.cpython-38.pyc,, +virtualenv/create/via_global_ref/builtin/cpython/__pycache__/mac_os.cpython-38.pyc,, +virtualenv/create/via_global_ref/builtin/cpython/common.py,sha256=Rb-S7ZJIzIT-M0VFZnBv_j1RN0ZBD10WwayJwRFppqw,2323 +virtualenv/create/via_global_ref/builtin/cpython/cpython2.py,sha256=AFCv2vB6wSSYFq2woU9RjrNtk7_OLfelc5OH57rBLGo,3549 +virtualenv/create/via_global_ref/builtin/cpython/cpython3.py,sha256=ZKT0iHIh3_bS0w9_nZ0HsX5YeLn5sC2a76yj7cVHTyk,4612 +virtualenv/create/via_global_ref/builtin/cpython/mac_os.py,sha256=C3W-mZcrfTB2H93LzGC_lRE-M7zzc1EqBOgs7MsPNks,14433 +virtualenv/create/via_global_ref/builtin/pypy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +virtualenv/create/via_global_ref/builtin/pypy/__pycache__/__init__.cpython-38.pyc,, +virtualenv/create/via_global_ref/builtin/pypy/__pycache__/common.cpython-38.pyc,, +virtualenv/create/via_global_ref/builtin/pypy/__pycache__/pypy2.cpython-38.pyc,, +virtualenv/create/via_global_ref/builtin/pypy/__pycache__/pypy3.cpython-38.pyc,, +virtualenv/create/via_global_ref/builtin/pypy/common.py,sha256=DrhWKmlmHD4s3NvQiVrvQ5eDuHkmiBtM0LCled4Jb6Y,1747 +virtualenv/create/via_global_ref/builtin/pypy/pypy2.py,sha256=_-G9otSJwlkTt8bsepooke9cbUO9NcCThyUzu58McWM,3546 +virtualenv/create/via_global_ref/builtin/pypy/pypy3.py,sha256=2Iyxn9Q5QCKTL-SDKcwjzhZl1Hwd_XXB5LWVVnFxVsg,3106 +virtualenv/create/via_global_ref/builtin/python2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +virtualenv/create/via_global_ref/builtin/python2/__pycache__/__init__.cpython-38.pyc,, +virtualenv/create/via_global_ref/builtin/python2/__pycache__/python2.cpython-38.pyc,, +virtualenv/create/via_global_ref/builtin/python2/__pycache__/site.cpython-38.pyc,, +virtualenv/create/via_global_ref/builtin/python2/python2.py,sha256=DYEC3P-xFREo37x8p2H0FhhzgRfP0kk6WOgpFcY6EJc,4019 +virtualenv/create/via_global_ref/builtin/python2/site.py,sha256=4kiq0cs57rbrqtFBsl7MyyGB2G2zjWn-1CHuH8C7gPQ,6903 +virtualenv/create/via_global_ref/builtin/ref.py,sha256=Ft5UJX5lQQkECGSQLklMHfzYdAJufxCdUhqjLVNzpKU,5379 +virtualenv/create/via_global_ref/builtin/via_global_self_do.py,sha256=D07rpp1_BrvwJ28eGKZRHoXvvsUC4FfCx6op8kZ-Roc,4344 +virtualenv/create/via_global_ref/store.py,sha256=dgBBkTJGg5bdTtcFLIjze_RHZEOAOLrmgAMwRq3oPUE,614 +virtualenv/create/via_global_ref/venv.py,sha256=lh7AILmfV4b5uFJKeUbDNt8E1jkbZgvb4tulgw99TpI,3447 +virtualenv/discovery/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +virtualenv/discovery/__pycache__/__init__.cpython-38.pyc,, +virtualenv/discovery/__pycache__/builtin.cpython-38.pyc,, +virtualenv/discovery/__pycache__/cached_py_info.cpython-38.pyc,, +virtualenv/discovery/__pycache__/discover.cpython-38.pyc,, +virtualenv/discovery/__pycache__/py_info.cpython-38.pyc,, +virtualenv/discovery/__pycache__/py_spec.cpython-38.pyc,, +virtualenv/discovery/builtin.py,sha256=7W8a-Z6hFrLJoJbsFDOsKYtgKzrVs3f0MWLu_yrp3_8,6138 +virtualenv/discovery/cached_py_info.py,sha256=I3Y-fJki0EHUbeySdWqMj7iyp060EbS4Gy85DEoerXs,6350 +virtualenv/discovery/discover.py,sha256=abndo2cqcHuKli_46upFbX3EdI5hbFQgxeE_RcJN-U0,1151 +virtualenv/discovery/py_info.py,sha256=SpdnUTwMlPU4yPlSfOAuJFKXIkeKiF-8jjGbmGGFM6g,23898 +virtualenv/discovery/py_spec.py,sha256=ua6u59_1lPS29WUK2UOer74pJADwEzyXoJ6GHFspNk8,4514 +virtualenv/discovery/windows/__init__.py,sha256=Xb7-zapDH8BF9RPHRxMc87ZcV661jWOYl-UJGZV5Ltk,1251 +virtualenv/discovery/windows/__pycache__/__init__.cpython-38.pyc,, +virtualenv/discovery/windows/__pycache__/pep514.cpython-38.pyc,, +virtualenv/discovery/windows/pep514.py,sha256=EFmAj6_nQm1OAvLsCtwfy-upKm47oFXj6SA2r8kmM5Q,5059 +virtualenv/info.py,sha256=JU5yZ57YTzxBGnNlyn47chWyhJ4hESKdxiTI9yfNGkw,1796 +virtualenv/report.py,sha256=-8DUo7Aw1Ht08CjdC-cxhpQjv_fHzpTtVi9f6udlbzs,1321 +virtualenv/run/__init__.py,sha256=C5JIIfYRkeTzAf0h7umRrQr2PKfAY3ho9zMhztgTUco,5990 +virtualenv/run/__pycache__/__init__.cpython-38.pyc,, +virtualenv/run/__pycache__/session.cpython-38.pyc,, +virtualenv/run/plugin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +virtualenv/run/plugin/__pycache__/__init__.cpython-38.pyc,, +virtualenv/run/plugin/__pycache__/activators.cpython-38.pyc,, +virtualenv/run/plugin/__pycache__/base.cpython-38.pyc,, +virtualenv/run/plugin/__pycache__/creators.cpython-38.pyc,, +virtualenv/run/plugin/__pycache__/discovery.cpython-38.pyc,, +virtualenv/run/plugin/__pycache__/seeders.cpython-38.pyc,, +virtualenv/run/plugin/activators.py,sha256=MVwQ9s1VQviWcOvzjqfMDgKKDWFN_aYja2h_wmKfpcc,2169 +virtualenv/run/plugin/base.py,sha256=_s3_QPrvGCBiia1sL7hXAeXxifdURotkdy5CUC0IcKk,2267 +virtualenv/run/plugin/creators.py,sha256=B_2lWKOMij7WrSBh225pxbxvfpnIeapT_k2C0HeNbMo,3369 +virtualenv/run/plugin/discovery.py,sha256=tbHIx6w7z5gWmhfxI4iYFpVx7jeQ8EwtODnKJxCc1d8,1167 +virtualenv/run/plugin/seeders.py,sha256=glln6lIH_ww23Tr9bzd1RLsG1Ro8pBKciwSBjTlVK2g,1006 +virtualenv/run/session.py,sha256=gAErHgQq7BEmWc-IsqoB6A0i2BxpXESbXYvI-fWO1vU,2385 +virtualenv/seed/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +virtualenv/seed/__pycache__/__init__.cpython-38.pyc,, +virtualenv/seed/__pycache__/seeder.cpython-38.pyc,, +virtualenv/seed/embed/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +virtualenv/seed/embed/__pycache__/__init__.cpython-38.pyc,, +virtualenv/seed/embed/__pycache__/base_embed.cpython-38.pyc,, +virtualenv/seed/embed/__pycache__/pip_invoke.cpython-38.pyc,, +virtualenv/seed/embed/base_embed.py,sha256=2yY7gtfMmvClYFIZQPNo3WpUI9ulBFErFzJ6HYFgDR8,3816 +virtualenv/seed/embed/pip_invoke.py,sha256=Nv-jIPNUAiKC8cw9wjYoToWbC-aIJpCYayMvrdpmzcM,2095 +virtualenv/seed/embed/via_app_data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +virtualenv/seed/embed/via_app_data/__pycache__/__init__.cpython-38.pyc,, +virtualenv/seed/embed/via_app_data/__pycache__/via_app_data.cpython-38.pyc,, +virtualenv/seed/embed/via_app_data/pip_install/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +virtualenv/seed/embed/via_app_data/pip_install/__pycache__/__init__.cpython-38.pyc,, +virtualenv/seed/embed/via_app_data/pip_install/__pycache__/base.cpython-38.pyc,, +virtualenv/seed/embed/via_app_data/pip_install/__pycache__/copy.cpython-38.pyc,, +virtualenv/seed/embed/via_app_data/pip_install/__pycache__/symlink.cpython-38.pyc,, +virtualenv/seed/embed/via_app_data/pip_install/base.py,sha256=qzc_OyFkZD1SDBGbHw0PfWb_Vn4QmghzrOZpCJTamSk,8090 +virtualenv/seed/embed/via_app_data/pip_install/copy.py,sha256=zAAKNWYjXu-NtNYVfobfvBOgj9VTCJK6oM85s_TfWSM,1190 +virtualenv/seed/embed/via_app_data/pip_install/symlink.py,sha256=panHf6OzF0XZTGEhroYwUPiFJukWEjY849fNtWTMqMA,2034 +virtualenv/seed/embed/via_app_data/via_app_data.py,sha256=4ewNDbT2VH_3FhAspzOXauZnmCC1EYcVAEuYHl_Bx5I,5798 +virtualenv/seed/seeder.py,sha256=ZgQSokI4tVilukVy6roqmVOR_CDT-0USEVUKpPU_T5M,1132 +virtualenv/seed/wheels/__init__.py,sha256=Deutdgs8-S1yYLjJ78AbNfpZqZF3TsJiFbvyBYF4kVo,168 +virtualenv/seed/wheels/__pycache__/__init__.cpython-38.pyc,, +virtualenv/seed/wheels/__pycache__/acquire.cpython-38.pyc,, +virtualenv/seed/wheels/__pycache__/bundle.cpython-38.pyc,, +virtualenv/seed/wheels/__pycache__/periodic_update.cpython-38.pyc,, +virtualenv/seed/wheels/__pycache__/util.cpython-38.pyc,, +virtualenv/seed/wheels/acquire.py,sha256=_XFqPnhXZZZNJbUAXDJjtFvjBo0lm1tmKeNmKBewkKo,4375 +virtualenv/seed/wheels/bundle.py,sha256=OjBgipHArMiz4ihvXSYcQ5p7K_GNbGVgq1fFjo5bdQA,1880 +virtualenv/seed/wheels/embed/__init__.py,sha256=01bMvsFgXBXbZrDOFXkNq3Q8vmnPvxz8GRkEltE22pA,1898 +virtualenv/seed/wheels/embed/__pycache__/__init__.cpython-38.pyc,, +virtualenv/seed/wheels/embed/pip-20.3.4-py2.py3-none-any.whl,sha256=IXrlFhoOCMD7hzhYgG40eMl3XK_85RaLUOyIXjWMGZ0,1522101 +virtualenv/seed/wheels/embed/pip-21.3.1-py3-none-any.whl,sha256=3q8y3Nmrgh41nNgzB4a80HdgS1xXMMCwlu2kb5XCSi0,1723581 +virtualenv/seed/wheels/embed/pip-22.2.2-py3-none-any.whl,sha256=tho3S1vECm6YJCau3kDJtaCP8g5kD1tWl39Pkf7R45o,2044706 +virtualenv/seed/wheels/embed/setuptools-44.1.1-py2.py3-none-any.whl,sha256=J6cUwJJTE05gpvpoEw94xwN-VWLE8h-PMY8q6QDRUtU,583493 +virtualenv/seed/wheels/embed/setuptools-50.3.2-py3-none-any.whl,sha256=LCQqCFb7rX775WDfSnrdkyTzQM9I30NlHpYEkkRmeUo,785194 +virtualenv/seed/wheels/embed/setuptools-59.6.0-py3-none-any.whl,sha256=TOkvHh-PASM-6ZUsBPa4HR4Ck51uG0iEKBVJdKTQeD4,952597 +virtualenv/seed/wheels/embed/setuptools-65.3.0-py3-none-any.whl,sha256=LiTgvsAl8DWi5yzdGWERn1V9eK0zG7AP-C77KrjajoI,1232493 +virtualenv/seed/wheels/embed/wheel-0.37.1-py2.py3-none-any.whl,sha256=S9zX2EATgIYSbNCSVNxhlftPxvAcBQodcjbyYw2x0io,35301 +virtualenv/seed/wheels/periodic_update.py,sha256=ad9-hxUc7wyCyYVbVFqB9kvGVUUNvQ5vI4TAnTyrMuw,14819 +virtualenv/seed/wheels/util.py,sha256=ixjwODR81FYc4dOZu1LDRYo--ejzcq5XYM-EVDdDPjg,3844 +virtualenv/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +virtualenv/util/__pycache__/__init__.cpython-38.pyc,, +virtualenv/util/__pycache__/error.cpython-38.pyc,, +virtualenv/util/__pycache__/lock.cpython-38.pyc,, +virtualenv/util/__pycache__/zipapp.cpython-38.pyc,, +virtualenv/util/error.py,sha256=fqLMXou_tzEk_Bp_thd4lknIpxwde1r9BPvg4eZBUzM,272 +virtualenv/util/lock.py,sha256=nMW4J6K5GwiiW18o8I4dyg6zMpCMO9j9qNIlVrJBeEs,4662 +virtualenv/util/path/__init__.py,sha256=SJqnTNAQE41RveIMRQHKjlJ-uyNEzjbavJa5jNZl6MA,304 +virtualenv/util/path/__pycache__/__init__.cpython-38.pyc,, +virtualenv/util/path/__pycache__/_permission.cpython-38.pyc,, +virtualenv/util/path/__pycache__/_sync.cpython-38.pyc,, +virtualenv/util/path/__pycache__/_win.cpython-38.pyc,, +virtualenv/util/path/_permission.py,sha256=8fonBjbUY3n9_XJFf5IXTOeH6jsZCwwUNb4nOwEWX5s,629 +virtualenv/util/path/_sync.py,sha256=W4qi9-j5Jf5B2u_ADM_flijVDkkxXuja4hKlq5eHhMo,1924 +virtualenv/util/path/_win.py,sha256=HNJNgBbrnsYdnhN9fRxWERNwbGfsO-66VPQ8acrmpO8,766 +virtualenv/util/subprocess/__init__.py,sha256=_KtQsx0AJZjGttuODKCBe2X2troxYXo5KA0L58-kWwE,652 +virtualenv/util/subprocess/__pycache__/__init__.cpython-38.pyc,, +virtualenv/util/zipapp.py,sha256=oEqNNmf_lROPQZGI3wltUaKksBykldF1TdyFEyOUBVo,982 +virtualenv/version.py,sha256=VQNuuFuE-FzZhUdYTbAVAcxeJlNb-wEXVnTXwYX-Cnc,66 diff --git a/venv/lib/python3.8/site-packages/virtualenv-20.16.5.dist-info/WHEEL b/venv/lib/python3.8/site-packages/virtualenv-20.16.5.dist-info/WHEEL new file mode 120000 index 0000000..7e89bc1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv-20.16.5.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1b/5e/87/e00dc87a84269cead8578b9e6462928e18a95f1f3373c9eef451a5bcc0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv-20.16.5.dist-info/entry_points.txt b/venv/lib/python3.8/site-packages/virtualenv-20.16.5.dist-info/entry_points.txt new file mode 120000 index 0000000..426c211 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv-20.16.5.dist-info/entry_points.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9b/c6/35/b7c98af7c8a80c01da3919ec134ec3581ca6a01e954fb0055c46ac0233 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv-20.16.5.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/virtualenv-20.16.5.dist-info/top_level.txt new file mode 120000 index 0000000..4a93d99 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv-20.16.5.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/25/5f/8b/5650bc61e230d43822608d21128b7bb60172e4859d2957121bb372cda2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv-20.16.5.dist-info/zip-safe b/venv/lib/python3.8/site-packages/virtualenv-20.16.5.dist-info/zip-safe new file mode 120000 index 0000000..e11f061 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv-20.16.5.dist-info/zip-safe @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/01/ba/47/19c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/__init__.py b/venv/lib/python3.8/site-packages/virtualenv/__init__.py new file mode 120000 index 0000000..6df9fe5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ea/19/f6/8ccf1665b94d94891e6b7b43fd61331f2e2271b0257718aabc6a89b06f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/__main__.py b/venv/lib/python3.8/site-packages/virtualenv/__main__.py new file mode 120000 index 0000000..9bc48f8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/__main__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ce/c3/80/9d301d01f0c0d10da66861567a43f26ff88577dced65b2fa6cc7cbbd9e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..901dedf Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/__pycache__/__main__.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/__pycache__/__main__.cpython-38.pyc new file mode 100644 index 0000000..358ddaa Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/__pycache__/__main__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/__pycache__/info.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/__pycache__/info.cpython-38.pyc new file mode 100644 index 0000000..6d08354 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/__pycache__/info.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/__pycache__/report.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/__pycache__/report.cpython-38.pyc new file mode 100644 index 0000000..1894af8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/__pycache__/report.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/__pycache__/version.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/__pycache__/version.cpython-38.pyc new file mode 100644 index 0000000..7ca4768 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/__pycache__/version.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/activation/__init__.py b/venv/lib/python3.8/site-packages/virtualenv/activation/__init__.py new file mode 120000 index 0000000..6a9475d --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/activation/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/19/45/4e/ee3102fe92f3745848de15ee5894147298f8916b09f0216e5a4a7861f9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/activation/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/activation/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..c385481 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/activation/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/activation/__pycache__/activator.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/activation/__pycache__/activator.cpython-38.pyc new file mode 100644 index 0000000..1ce4b8f Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/activation/__pycache__/activator.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/activation/__pycache__/via_template.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/activation/__pycache__/via_template.cpython-38.pyc new file mode 100644 index 0000000..7008d69 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/activation/__pycache__/via_template.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/activation/activator.py b/venv/lib/python3.8/site-packages/virtualenv/activation/activator.py new file mode 120000 index 0000000..f7b2ada --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/activation/activator.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/53/d5/33/a6b5a1ff1cf8e732d220725825251e13f63409ae8211781075b50e1cad \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/activation/bash/__init__.py b/venv/lib/python3.8/site-packages/virtualenv/activation/bash/__init__.py new file mode 120000 index 0000000..5061318 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/activation/bash/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/47/47/6b/a1311bf5b79337fd60a45aa613a1e2d863b93510225dffc354ca282439 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/activation/bash/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/activation/bash/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..7e42fa2 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/activation/bash/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/activation/bash/activate.sh b/venv/lib/python3.8/site-packages/virtualenv/activation/bash/activate.sh new file mode 120000 index 0000000..8e6da43 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/activation/bash/activate.sh @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f0/d9/db/040d15a685046733f4f6a3b85a9ff799f22afe3ffb357446bc91c142ad \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/activation/batch/__init__.py b/venv/lib/python3.8/site-packages/virtualenv/activation/batch/__init__.py new file mode 120000 index 0000000..3131875 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/activation/batch/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3a/9f/87/9b538aedb950a795cac0f58b90e01698a4dd8fb7434eea2521531f9951 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/activation/batch/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/activation/batch/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..029d7ad Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/activation/batch/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/activation/batch/activate.bat b/venv/lib/python3.8/site-packages/virtualenv/activation/batch/activate.bat new file mode 120000 index 0000000..e36c275 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/activation/batch/activate.bat @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cd/cd/38/90b90b85d06facd60a33719fef3673307e0ab2121d7cfbcca5997b05c2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/activation/batch/deactivate.bat b/venv/lib/python3.8/site-packages/virtualenv/activation/batch/deactivate.bat new file mode 120000 index 0000000..e702210 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/activation/batch/deactivate.bat @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b1/0d/5b/66d817daf1efa4032f071356b17df39c050ce2b6b951a859e5339a26c2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/activation/batch/pydoc.bat b/venv/lib/python3.8/site-packages/virtualenv/activation/batch/pydoc.bat new file mode 120000 index 0000000..b2cfe72 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/activation/batch/pydoc.bat @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a5/5b/b1/9fc9a7f4ffd1774df8f5f881122c08b8cbdf25049f809d9d963513d9f0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/activation/cshell/__init__.py b/venv/lib/python3.8/site-packages/virtualenv/activation/cshell/__init__.py new file mode 120000 index 0000000..cf11f67 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/activation/cshell/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f8/81/7f/f3365a87f4a4d0a1779094fab8c55d270d1e07724d64ea5013621c6f8e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/activation/cshell/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/activation/cshell/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..dd05e65 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/activation/cshell/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/activation/cshell/activate.csh b/venv/lib/python3.8/site-packages/virtualenv/activation/cshell/activate.csh new file mode 120000 index 0000000..81854b2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/activation/cshell/activate.csh @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c2/6f/f4/9fba3cdd15d24d426c59cd8f3d5df7621f4669df0025022e46f2fa1188 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/activation/fish/__init__.py b/venv/lib/python3.8/site-packages/virtualenv/activation/fish/__init__.py new file mode 120000 index 0000000..5c5bc9c --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/activation/fish/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6f/6a/14/27fe04bcfb0cc11ad9070b5b74c35f582ba05b56e004c31889c4af51fe \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/activation/fish/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/activation/fish/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..4be1379 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/activation/fish/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/activation/fish/activate.fish b/venv/lib/python3.8/site-packages/virtualenv/activation/fish/activate.fish new file mode 120000 index 0000000..efae19e --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/activation/fish/activate.fish @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/16/42/69/33ca6783cbfd4a4df218d242706cd428000c1751f3d1d62bb24badd33d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/activation/nushell/__init__.py b/venv/lib/python3.8/site-packages/virtualenv/activation/nushell/__init__.py new file mode 120000 index 0000000..05ba09d --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/activation/nushell/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6d/38/26/580af0b638d703311aa8cae3ef230b14d3066aa9b50a4a4484075c41f4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/activation/nushell/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/activation/nushell/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..9674a1d Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/activation/nushell/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/activation/nushell/activate.nu b/venv/lib/python3.8/site-packages/virtualenv/activation/nushell/activate.nu new file mode 120000 index 0000000..ae3b418 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/activation/nushell/activate.nu @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8f/60/14/42820235484ed55c5132e914a5c887862c36cc7a269c1b44f0c3e0b352 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/activation/nushell/deactivate.nu b/venv/lib/python3.8/site-packages/virtualenv/activation/nushell/deactivate.nu new file mode 120000 index 0000000..2d33b00 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/activation/nushell/deactivate.nu @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2a/b5/00/ab3c86e934cd33025cee6e8d8b481ba3eb0b0d4e02fc0b06781cb81e6e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/activation/powershell/__init__.py b/venv/lib/python3.8/site-packages/virtualenv/activation/powershell/__init__.py new file mode 120000 index 0000000..91dc4b9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/activation/powershell/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2d/34/61/118b763f227125e1b7a8bcf444f91a751ef828f5a0ebef45f83dd894e7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/activation/powershell/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/activation/powershell/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..bcef077 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/activation/powershell/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/activation/powershell/activate.ps1 b/venv/lib/python3.8/site-packages/virtualenv/activation/powershell/activate.ps1 new file mode 120000 index 0000000..0a5e85e --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/activation/powershell/activate.ps1 @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7e/2b/41/1b663278a4df9119fad828e87036ff3cb8eb82f8b6166a6e064142701c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/activation/python/__init__.py b/venv/lib/python3.8/site-packages/virtualenv/activation/python/__init__.py new file mode 120000 index 0000000..80597f6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/activation/python/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2c/30/81/f0299736351de2002d6bd780715ff2fd8fca5b2ab56ef77281c536cd61 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/activation/python/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/activation/python/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..6a45d8e Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/activation/python/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/activation/python/__pycache__/activate_this.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/activation/python/__pycache__/activate_this.cpython-38.pyc new file mode 100644 index 0000000..a9a6491 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/activation/python/__pycache__/activate_this.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/activation/python/activate_this.py b/venv/lib/python3.8/site-packages/virtualenv/activation/python/activate_this.py new file mode 120000 index 0000000..9dbb45c --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/activation/python/activate_this.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c1/4b/7a/4159be464f78bbe10d3e7db0ccac7469d771da8ac07bab4a40d72acdbc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/activation/via_template.py b/venv/lib/python3.8/site-packages/virtualenv/activation/via_template.py new file mode 120000 index 0000000..8bedfff --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/activation/via_template.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/36/d6/e2/8f9544bfc8a0d8046bbda679263e6a7f238a8d70b31f2dfae0e9be1089 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/app_data/__init__.py b/venv/lib/python3.8/site-packages/virtualenv/app_data/__init__.py new file mode 120000 index 0000000..bc6d6a4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/app_data/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ba/59/ca/7195f03a21a22c59e4e86c0fbe9576b096130f2d70c1fd6fe710d00878 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/app_data/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/app_data/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..97110f1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/app_data/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/app_data/__pycache__/base.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/app_data/__pycache__/base.cpython-38.pyc new file mode 100644 index 0000000..c18db1e Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/app_data/__pycache__/base.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/app_data/__pycache__/na.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/app_data/__pycache__/na.cpython-38.pyc new file mode 100644 index 0000000..d10598d Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/app_data/__pycache__/na.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/app_data/__pycache__/read_only.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/app_data/__pycache__/read_only.cpython-38.pyc new file mode 100644 index 0000000..24e5b11 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/app_data/__pycache__/read_only.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/app_data/__pycache__/via_disk_folder.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/app_data/__pycache__/via_disk_folder.cpython-38.pyc new file mode 100644 index 0000000..a09dd7f Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/app_data/__pycache__/via_disk_folder.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/app_data/__pycache__/via_tempdir.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/app_data/__pycache__/via_tempdir.cpython-38.pyc new file mode 100644 index 0000000..8543c26 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/app_data/__pycache__/via_tempdir.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/app_data/base.py b/venv/lib/python3.8/site-packages/virtualenv/app_data/base.py new file mode 120000 index 0000000..d91697d --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/app_data/base.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0f/2a/b9/536fd770c2782bb165aa355b5ef9c7b89e2696477dc83c660e3387542d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/app_data/na.py b/venv/lib/python3.8/site-packages/virtualenv/app_data/na.py new file mode 120000 index 0000000..8709bfe --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/app_data/na.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3c/88/06/78730ae6b2bc13d493ae9697563e5d64bc715711d83e6cc3815ee302fa \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/app_data/read_only.py b/venv/lib/python3.8/site-packages/virtualenv/app_data/read_only.py new file mode 120000 index 0000000..330812c --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/app_data/read_only.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d0/4b/3f/9e3bbaaaf9865a3356d2cfee74f942ec56b06a3a8245a3475a7f2f4a2f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/app_data/via_disk_folder.py b/venv/lib/python3.8/site-packages/virtualenv/app_data/via_disk_folder.py new file mode 120000 index 0000000..b9fee0a --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/app_data/via_disk_folder.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/77/7f/11/35d876ca6f449dabbed611efc3a498dc52ef1c724fffce89369624fc96 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/app_data/via_tempdir.py b/venv/lib/python3.8/site-packages/virtualenv/app_data/via_tempdir.py new file mode 120000 index 0000000..ace70b3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/app_data/via_tempdir.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/48/fb/33/a6811c0c27cbe358caacdd86001b75b4f3226562bc1f2fdf51046edee2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/config/__init__.py b/venv/lib/python3.8/site-packages/virtualenv/config/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/config/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/config/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/config/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..fff6d5b Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/config/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/config/__pycache__/convert.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/config/__pycache__/convert.cpython-38.pyc new file mode 100644 index 0000000..8607ef5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/config/__pycache__/convert.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/config/__pycache__/env_var.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/config/__pycache__/env_var.cpython-38.pyc new file mode 100644 index 0000000..edc7560 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/config/__pycache__/env_var.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/config/__pycache__/ini.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/config/__pycache__/ini.cpython-38.pyc new file mode 100644 index 0000000..317ef8a Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/config/__pycache__/ini.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/config/cli/__init__.py b/venv/lib/python3.8/site-packages/virtualenv/config/cli/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/config/cli/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/config/cli/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/config/cli/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..d5380a6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/config/cli/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/config/cli/__pycache__/parser.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/config/cli/__pycache__/parser.cpython-38.pyc new file mode 100644 index 0000000..ff4409d Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/config/cli/__pycache__/parser.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/config/cli/parser.py b/venv/lib/python3.8/site-packages/virtualenv/config/cli/parser.py new file mode 120000 index 0000000..240be04 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/config/cli/parser.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a1/f8/d7/0f0f06bce586ab1907d1dd5904d9eb20830cee801772adad0229eb079b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/config/convert.py b/venv/lib/python3.8/site-packages/virtualenv/config/convert.py new file mode 120000 index 0000000..7f9de30 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/config/convert.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6d/7c/48/ed05ec6f9112ac631ba2937afd3754bc92227a2044a2ef0c937aa3258c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/config/env_var.py b/venv/lib/python3.8/site-packages/virtualenv/config/env_var.py new file mode 120000 index 0000000..9c51f69 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/config/env_var.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5a/c7/2b/9d3c90bfeefa59cb17d6b8eef71d70504c308b71473db996b19b5bff3f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/config/ini.py b/venv/lib/python3.8/site-packages/virtualenv/config/ini.py new file mode 120000 index 0000000..e1cdd1b --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/config/ini.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bf/32/79/8aa136aeab6ed867f4e8340dde641d019316d370a0d25b7ba7f445278f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/__init__.py b/venv/lib/python3.8/site-packages/virtualenv/create/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/create/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/create/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..8a050bf Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/create/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/__pycache__/creator.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/create/__pycache__/creator.cpython-38.pyc new file mode 100644 index 0000000..97a9ef3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/create/__pycache__/creator.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/__pycache__/debug.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/create/__pycache__/debug.cpython-38.pyc new file mode 100644 index 0000000..afdd56a Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/create/__pycache__/debug.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/__pycache__/describe.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/create/__pycache__/describe.cpython-38.pyc new file mode 100644 index 0000000..bf64aee Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/create/__pycache__/describe.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/__pycache__/pyenv_cfg.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/create/__pycache__/pyenv_cfg.cpython-38.pyc new file mode 100644 index 0000000..d81916e Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/create/__pycache__/pyenv_cfg.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/creator.py b/venv/lib/python3.8/site-packages/virtualenv/create/creator.py new file mode 120000 index 0000000..efd6d59 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/create/creator.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2f/59/28/fdba65cd3848c2c62a96633b58191c9e194d44c1af0c611903979bccba \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/debug.py b/venv/lib/python3.8/site-packages/virtualenv/create/debug.py new file mode 120000 index 0000000..5ebc75d --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/create/debug.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7a/aa/a0/2e8ec484c3252a2225ecf855103a21d526bc97d56f9bfa49083432666c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/describe.py b/venv/lib/python3.8/site-packages/virtualenv/create/describe.py new file mode 120000 index 0000000..db63807 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/create/describe.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0e/0d/67/ff087fef61ab3f44b1ce63ae0916d05b46279629dc1c130ac5739a0fdb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/pyenv_cfg.py b/venv/lib/python3.8/site-packages/virtualenv/create/pyenv_cfg.py new file mode 120000 index 0000000..52686e3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/create/pyenv_cfg.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/df/e7/52/010f2c2bceb2aa90084d6a9778a9f659b33d032cc1991e071bd4ef8aac \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/__init__.py b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..f0c7574 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/__pycache__/_virtualenv.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/__pycache__/_virtualenv.cpython-38.pyc new file mode 100644 index 0000000..b4adcbb Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/__pycache__/_virtualenv.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/__pycache__/api.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/__pycache__/api.cpython-38.pyc new file mode 100644 index 0000000..463de66 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/__pycache__/api.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/__pycache__/store.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/__pycache__/store.cpython-38.pyc new file mode 100644 index 0000000..5afc19f Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/__pycache__/store.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/__pycache__/venv.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/__pycache__/venv.cpython-38.pyc new file mode 100644 index 0000000..b17ca07 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/__pycache__/venv.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/_virtualenv.py b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/_virtualenv.py new file mode 120000 index 0000000..1516716 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/_virtualenv.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c9/19/93/15871b11b12df226f890a38e66e63191e1adbfb11a66e6861151b33fca \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/api.py b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/api.py new file mode 120000 index 0000000..2410caf --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/api.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f1/7e/7d/af6cb7a9d79e63a05271bdfe3dee8ea754d556b1567efe629ece06cbf5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/__init__.py b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..d874291 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/__pycache__/builtin_way.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/__pycache__/builtin_way.cpython-38.pyc new file mode 100644 index 0000000..075cdac Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/__pycache__/builtin_way.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/__pycache__/ref.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/__pycache__/ref.cpython-38.pyc new file mode 100644 index 0000000..6c04936 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/__pycache__/ref.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/__pycache__/via_global_self_do.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/__pycache__/via_global_self_do.cpython-38.pyc new file mode 100644 index 0000000..6d16e25 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/__pycache__/via_global_self_do.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/builtin_way.py b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/builtin_way.py new file mode 120000 index 0000000..571c918 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/builtin_way.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/30/88/44/21582279498ecb3df91d73a50cd8ae439cb6c8b9448d3eee04404257ac \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/cpython/__init__.py b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/cpython/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/cpython/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/cpython/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/cpython/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..1521c1a Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/cpython/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/cpython/__pycache__/common.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/cpython/__pycache__/common.cpython-38.pyc new file mode 100644 index 0000000..abcd710 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/cpython/__pycache__/common.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/cpython/__pycache__/cpython2.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/cpython/__pycache__/cpython2.cpython-38.pyc new file mode 100644 index 0000000..5698722 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/cpython/__pycache__/cpython2.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/cpython/__pycache__/cpython3.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/cpython/__pycache__/cpython3.cpython-38.pyc new file mode 100644 index 0000000..72b8bdb Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/cpython/__pycache__/cpython3.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/cpython/__pycache__/mac_os.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/cpython/__pycache__/mac_os.cpython-38.pyc new file mode 100644 index 0000000..f333837 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/cpython/__pycache__/mac_os.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/cpython/common.py b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/cpython/common.py new file mode 120000 index 0000000..34a3b8e --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/cpython/common.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/45/bf/92/ed9248cc84fe33454566706ffe3d513746410f5d16c1ac89c11169a6ac \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/cpython/cpython2.py b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/cpython/cpython2.py new file mode 120000 index 0000000..585725b --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/cpython/cpython2.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/00/50/af/daf07ac1249816adb0a14f518eb36d93bfce2df7a5739387e7bac12c6a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/cpython/cpython3.py b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/cpython/cpython3.py new file mode 120000 index 0000000..e947441 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/cpython/cpython3.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/64/a4/f4/887221dff6d2d30f7f9d9d07b17e5878b9f9b02d9aefaca3edc5474f29 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/cpython/mac_os.py b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/cpython/mac_os.py new file mode 120000 index 0000000..e0bdc6f --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/cpython/mac_os.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0b/75/be/99972b7d30761fddcbcc60bf95113e33bcf373512a04e82ceccb0f364b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/pypy/__init__.py b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/pypy/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/pypy/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/pypy/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/pypy/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..04d0477 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/pypy/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/pypy/__pycache__/common.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/pypy/__pycache__/common.cpython-38.pyc new file mode 100644 index 0000000..10e0929 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/pypy/__pycache__/common.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/pypy/__pycache__/pypy2.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/pypy/__pycache__/pypy2.cpython-38.pyc new file mode 100644 index 0000000..06c8d04 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/pypy/__pycache__/pypy2.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/pypy/__pycache__/pypy3.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/pypy/__pycache__/pypy3.cpython-38.pyc new file mode 100644 index 0000000..31fdc78 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/pypy/__pycache__/pypy3.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/pypy/common.py b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/pypy/common.py new file mode 120000 index 0000000..467ed19 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/pypy/common.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0e/b8/56/2a69661c3e2cdcdbd0895aef439783b87926881b4cd0b0a579de096fa6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/pypy/pypy2.py b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/pypy/pypy2.py new file mode 120000 index 0000000..408f01f --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/pypy/pypy2.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ff/e1/bd/a2d489c25913b7c6ec7a9a2891ef5c6d43bd35c093872533bb9f0c7163 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/pypy/pypy3.py b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/pypy/pypy3.py new file mode 120000 index 0000000..d4e19e8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/pypy/pypy3.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d8/8c/b1/9fd4394022932fe48329cc23ce1665d47c1dfd75c1e4b59556717156c8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/python2/__init__.py b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/python2/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/python2/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/python2/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/python2/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..6dc13dc Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/python2/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/python2/__pycache__/python2.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/python2/__pycache__/python2.cpython-38.pyc new file mode 100644 index 0000000..3c2d73a Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/python2/__pycache__/python2.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/python2/__pycache__/site.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/python2/__pycache__/site.cpython-38.pyc new file mode 100644 index 0000000..4af5da5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/python2/__pycache__/site.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/python2/python2.py b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/python2/python2.py new file mode 120000 index 0000000..3cafe7f --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/python2/python2.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0d/81/02/dcffb1151128dfbc7ca761f41618738117cfd2493a58e82915c63a1097 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/python2/site.py b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/python2/site.py new file mode 120000 index 0000000..4364895 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/python2/site.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e2/48/aa/d1cb39eeb6ebaad141b25ecccb2181d86db38d69fed421ee1fc0bb80f4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/ref.py b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/ref.py new file mode 120000 index 0000000..bd1aa76 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/ref.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/16/de/54/257e654109040864902e494c1dfcd874026e7f109d521aa32d5373a4a5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/via_global_self_do.py b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/via_global_self_do.py new file mode 120000 index 0000000..aea9a79 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/via_global_self_do.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0f/4e/eb/a69d7f06bbf0276f1e18a6511e85efbec502e057c2c7aa29f2467e4687 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/store.py b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/store.py new file mode 120000 index 0000000..27efd8d --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/store.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/76/00/41/9132468396dd4ed7052c88f37bf44764438038bae680033046ade83d41 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/venv.py b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/venv.py new file mode 120000 index 0000000..ecaa184 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/create/via_global_ref/venv.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/96/1e/c0/20b99f5786f9b8524a7946c336df04d6391b660bdbe2dba5830f7d4e92 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/discovery/__init__.py b/venv/lib/python3.8/site-packages/virtualenv/discovery/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/discovery/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/discovery/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/discovery/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..14c718b Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/discovery/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/discovery/__pycache__/builtin.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/discovery/__pycache__/builtin.cpython-38.pyc new file mode 100644 index 0000000..22f1749 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/discovery/__pycache__/builtin.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/discovery/__pycache__/cached_py_info.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/discovery/__pycache__/cached_py_info.cpython-38.pyc new file mode 100644 index 0000000..78518f3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/discovery/__pycache__/cached_py_info.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/discovery/__pycache__/discover.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/discovery/__pycache__/discover.cpython-38.pyc new file mode 100644 index 0000000..11a1231 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/discovery/__pycache__/discover.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/discovery/__pycache__/py_info.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/discovery/__pycache__/py_info.cpython-38.pyc new file mode 100644 index 0000000..64ba48a Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/discovery/__pycache__/py_info.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/discovery/__pycache__/py_spec.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/discovery/__pycache__/py_spec.cpython-38.pyc new file mode 100644 index 0000000..6816c57 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/discovery/__pycache__/py_spec.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/discovery/builtin.py b/venv/lib/python3.8/site-packages/virtualenv/discovery/builtin.py new file mode 120000 index 0000000..02d03ed --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/discovery/builtin.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ed/6f/1a/f99ea116b2c9a096ec1433ac298b602b3ad5b377f43162eeff2ae9dfff \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/discovery/cached_py_info.py b/venv/lib/python3.8/site-packages/virtualenv/discovery/cached_py_info.py new file mode 120000 index 0000000..9165532 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/discovery/cached_py_info.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/23/76/3e/7c9922d041d46dec92756a8c8fb8b2a74eb411b4b81b2f390c4a1ead7b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/discovery/discover.py b/venv/lib/python3.8/site-packages/virtualenv/discovery/discover.py new file mode 120000 index 0000000..f4ff659 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/discovery/discover.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/69/b9/dd/a3672a707b8a962ff8eaea456d7dc4748e616c5420c5e13f45c24df94d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/discovery/py_info.py b/venv/lib/python3.8/site-packages/virtualenv/discovery/py_info.py new file mode 120000 index 0000000..a98ff9d --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/discovery/py_info.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4a/97/67/513c0c94f538c8f9527ce02e24529722478a885fbc8e319b98618533a8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/discovery/py_spec.py b/venv/lib/python3.8/site-packages/virtualenv/discovery/py_spec.py new file mode 120000 index 0000000..c5f13f6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/discovery/py_spec.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b9/ae/ae/e7dff594f4b6f5650ad9439eafbe292400f0133c97a09e861c5b29364f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/discovery/windows/__init__.py b/venv/lib/python3.8/site-packages/virtualenv/discovery/windows/__init__.py new file mode 120000 index 0000000..befa5aa --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/discovery/windows/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5d/be/fe/cdaa431fc045f513c747131cf3b65c57aeb58d639897e5091995792ed9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/discovery/windows/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/discovery/windows/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..83a51bd Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/discovery/windows/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/discovery/windows/__pycache__/pep514.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/discovery/windows/__pycache__/pep514.cpython-38.pyc new file mode 100644 index 0000000..1a509fd Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/discovery/windows/__pycache__/pep514.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/discovery/windows/pep514.py b/venv/lib/python3.8/site-packages/virtualenv/discovery/windows/pep514.py new file mode 120000 index 0000000..fbee9fd --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/discovery/windows/pep514.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/10/59/80/8fafe7426d4e02f2ec0adc1fcbeba92a6e3ba055e3e92036afc9263394 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/info.py b/venv/lib/python3.8/site-packages/virtualenv/info.py new file mode 120000 index 0000000..0aea5b8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/info.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/25/4e/72/679ed84f3c411a7365ca7e3b7215b2849e2111229dc624c8f727cd1a4c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/report.py b/venv/lib/python3.8/site-packages/virtualenv/report.py new file mode 120000 index 0000000..5a7a1b0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/report.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fb/c0/d4/a3b030d47b74f028dd0be731869423bff7c7ce94ed562f5feae7656f3b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/run/__init__.py b/venv/lib/python3.8/site-packages/virtualenv/run/__init__.py new file mode 120000 index 0000000..540933c --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/run/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0b/92/48/21f61191e4f301fd21eee991ad0af63ca7c0637868f73321ced81351ca \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/run/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/run/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..ac79a99 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/run/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/run/__pycache__/session.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/run/__pycache__/session.cpython-38.pyc new file mode 100644 index 0000000..edd5d08 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/run/__pycache__/session.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/run/plugin/__init__.py b/venv/lib/python3.8/site-packages/virtualenv/run/plugin/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/run/plugin/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/run/plugin/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/run/plugin/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..4428f51 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/run/plugin/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/run/plugin/__pycache__/activators.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/run/plugin/__pycache__/activators.cpython-38.pyc new file mode 100644 index 0000000..2db2d8b Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/run/plugin/__pycache__/activators.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/run/plugin/__pycache__/base.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/run/plugin/__pycache__/base.cpython-38.pyc new file mode 100644 index 0000000..af07d80 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/run/plugin/__pycache__/base.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/run/plugin/__pycache__/creators.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/run/plugin/__pycache__/creators.cpython-38.pyc new file mode 100644 index 0000000..a7c0420 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/run/plugin/__pycache__/creators.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/run/plugin/__pycache__/discovery.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/run/plugin/__pycache__/discovery.cpython-38.pyc new file mode 100644 index 0000000..cda6ce0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/run/plugin/__pycache__/discovery.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/run/plugin/__pycache__/seeders.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/run/plugin/__pycache__/seeders.cpython-38.pyc new file mode 100644 index 0000000..6a4a71f Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/run/plugin/__pycache__/seeders.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/run/plugin/activators.py b/venv/lib/python3.8/site-packages/virtualenv/run/plugin/activators.py new file mode 120000 index 0000000..16f1e25 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/run/plugin/activators.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/31/5c/10/f6cd5542f89670ebf38ea7cc0e028a0d614dfda6236b687fc2629fa5c7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/run/plugin/base.py b/venv/lib/python3.8/site-packages/virtualenv/run/plugin/base.py new file mode 120000 index 0000000..5059338 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/run/plugin/base.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fe/cd/ff/40faef18206289ad6c2fb85701e5f189f754468b64772e42502d0870a9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/run/plugin/creators.py b/venv/lib/python3.8/site-packages/virtualenv/run/plugin/creators.py new file mode 120000 index 0000000..383ea96 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/run/plugin/creators.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/07/fd/a5/58a38c8a3ed6ad2061db6e69c5bc6f7e99c879aa53fe4d82d0778d6cca \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/run/plugin/discovery.py b/venv/lib/python3.8/site-packages/virtualenv/run/plugin/discovery.py new file mode 120000 index 0000000..af4a6db --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/run/plugin/discovery.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b5/b1/c8/c7ac3bcf98169a17f1238898169571ee3790f04c2d3839ca27109cd5df \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/run/plugin/seeders.py b/venv/lib/python3.8/site-packages/virtualenv/run/plugin/seeders.py new file mode 120000 index 0000000..7a2e1da --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/run/plugin/seeders.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/82/59/67/ea5207ff0c36dd3afd6f377544bb06d51a3ca4129c8b04818d39552b68 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/run/session.py b/venv/lib/python3.8/site-packages/virtualenv/run/session.py new file mode 120000 index 0000000..e5655c0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/run/session.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/80/01/2b/1e042aec112659cf88b2aa01e80d22d81c695c449b5d8bc8f9f58ed6f5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/seed/__init__.py b/venv/lib/python3.8/site-packages/virtualenv/seed/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/seed/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/seed/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/seed/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..c04c402 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/seed/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/seed/__pycache__/seeder.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/seed/__pycache__/seeder.cpython-38.pyc new file mode 100644 index 0000000..06adad3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/seed/__pycache__/seeder.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/seed/embed/__init__.py b/venv/lib/python3.8/site-packages/virtualenv/seed/embed/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/seed/embed/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/seed/embed/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/seed/embed/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..7ddc4d0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/seed/embed/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/seed/embed/__pycache__/base_embed.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/seed/embed/__pycache__/base_embed.cpython-38.pyc new file mode 100644 index 0000000..197e8a3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/seed/embed/__pycache__/base_embed.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/seed/embed/__pycache__/pip_invoke.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/seed/embed/__pycache__/pip_invoke.cpython-38.pyc new file mode 100644 index 0000000..3c2175b Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/seed/embed/__pycache__/pip_invoke.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/seed/embed/base_embed.py b/venv/lib/python3.8/site-packages/virtualenv/seed/embed/base_embed.py new file mode 120000 index 0000000..ffbb202 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/seed/embed/base_embed.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/db/26/3b/82d7cc9af0a560521940f368dd6a5423dba504512b17327a1d81600d1f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/seed/embed/pip_invoke.py b/venv/lib/python3.8/site-packages/virtualenv/seed/embed/pip_invoke.py new file mode 120000 index 0000000..1428f22 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/seed/embed/pip_invoke.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/36/ff/a3/20f354022282f1cc3dc236284e859b0be6882690986b232fadda66cdc3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/seed/embed/via_app_data/__init__.py b/venv/lib/python3.8/site-packages/virtualenv/seed/embed/via_app_data/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/seed/embed/via_app_data/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/seed/embed/via_app_data/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/seed/embed/via_app_data/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..7a9db9e Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/seed/embed/via_app_data/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/seed/embed/via_app_data/__pycache__/via_app_data.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/seed/embed/via_app_data/__pycache__/via_app_data.cpython-38.pyc new file mode 100644 index 0000000..ef144a7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/seed/embed/via_app_data/__pycache__/via_app_data.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/seed/embed/via_app_data/pip_install/__init__.py b/venv/lib/python3.8/site-packages/virtualenv/seed/embed/via_app_data/pip_install/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/seed/embed/via_app_data/pip_install/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/seed/embed/via_app_data/pip_install/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/seed/embed/via_app_data/pip_install/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..9846242 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/seed/embed/via_app_data/pip_install/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/seed/embed/via_app_data/pip_install/__pycache__/base.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/seed/embed/via_app_data/pip_install/__pycache__/base.cpython-38.pyc new file mode 100644 index 0000000..d32d863 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/seed/embed/via_app_data/pip_install/__pycache__/base.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/seed/embed/via_app_data/pip_install/__pycache__/copy.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/seed/embed/via_app_data/pip_install/__pycache__/copy.cpython-38.pyc new file mode 100644 index 0000000..7a76933 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/seed/embed/via_app_data/pip_install/__pycache__/copy.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/seed/embed/via_app_data/pip_install/__pycache__/symlink.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/seed/embed/via_app_data/pip_install/__pycache__/symlink.cpython-38.pyc new file mode 100644 index 0000000..af7a0d6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/seed/embed/via_app_data/pip_install/__pycache__/symlink.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/seed/embed/via_app_data/pip_install/base.py b/venv/lib/python3.8/site-packages/virtualenv/seed/embed/via_app_data/pip_install/base.py new file mode 120000 index 0000000..b494789 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/seed/embed/via_app_data/pip_install/base.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ab/37/3f/3b2164643d520c119b1f0d0f7d66ff567e109a0873ace6690894da9929 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/seed/embed/via_app_data/pip_install/copy.py b/venv/lib/python3.8/site-packages/virtualenv/seed/embed/via_app_data/pip_install/copy.py new file mode 120000 index 0000000..6e249ea --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/seed/embed/via_app_data/pip_install/copy.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cc/00/0a/3566235eef8db4d6157e86dfbc13a08fd5530892baa0cf39b3f4df5923 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/seed/embed/via_app_data/pip_install/symlink.py b/venv/lib/python3.8/site-packages/virtualenv/seed/embed/via_app_data/pip_install/symlink.py new file mode 120000 index 0000000..d6d3961 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/seed/embed/via_app_data/pip_install/symlink.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a5/a9/c7/7fa3b31745d94c6121ae863050f88526e91612363ce3d7cdb564cca8c0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/seed/embed/via_app_data/via_app_data.py b/venv/lib/python3.8/site-packages/virtualenv/seed/embed/via_app_data/via_app_data.py new file mode 120000 index 0000000..0c74e08 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/seed/embed/via_app_data/via_app_data.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e1/ec/0d/0db4f6547ff716102ca733976ae6679820b5118715004b981e5fc1c792 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/seed/seeder.py b/venv/lib/python3.8/site-packages/virtualenv/seed/seeder.py new file mode 120000 index 0000000..5b47421 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/seed/seeder.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/66/04/12/a24238b558a5ba4572eaba2a995391fc20d3fb451211550aa4f53f4f93 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/__init__.py b/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/__init__.py new file mode 120000 index 0000000..0e78693 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0d/eb/ad/760b3cf92d7260b8c9efc01b35fa59a991774ec26215bbf2058178915a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..3b8f7a9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/__pycache__/acquire.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/__pycache__/acquire.cpython-38.pyc new file mode 100644 index 0000000..e7459a3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/__pycache__/acquire.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/__pycache__/bundle.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/__pycache__/bundle.cpython-38.pyc new file mode 100644 index 0000000..f5cbcdf Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/__pycache__/bundle.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/__pycache__/periodic_update.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/__pycache__/periodic_update.cpython-38.pyc new file mode 100644 index 0000000..80ab770 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/__pycache__/periodic_update.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/__pycache__/util.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/__pycache__/util.cpython-38.pyc new file mode 100644 index 0000000..a7f8358 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/__pycache__/util.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/acquire.py b/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/acquire.py new file mode 120000 index 0000000..6536005 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/acquire.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fd/71/6a/3e785765964d25b5005c3263b45be3068d259b5b6629e3662817b090aa \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/bundle.py b/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/bundle.py new file mode 120000 index 0000000..42b9879 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/bundle.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3a/30/60/8a91c0acc8b3e2286f5d261c439a7b2bf18d6c6560ab57c58e8e5b7500 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/embed/__init__.py b/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/embed/__init__.py new file mode 120000 index 0000000..0b0c818 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/embed/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d3/56/cc/bec1605c15db66b0ce15790dab743cbe69cfbf1cfc19190496d136da90 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/embed/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/embed/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..147c8f1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/embed/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/embed/pip-20.3.4-py2.py3-none-any.whl b/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/embed/pip-20.3.4-py2.py3-none-any.whl new file mode 120000 index 0000000..82787bf --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/embed/pip-20.3.4-py2.py3-none-any.whl @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/21/7a/e5/161a0e08c0fb873858806e3478c9775caffce5168b50ec885e358c199d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/embed/pip-21.3.1-py3-none-any.whl b/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/embed/pip-21.3.1-py3-none-any.whl new file mode 120000 index 0000000..1ebc9ae --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/embed/pip-21.3.1-py3-none-any.whl @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/de/af/32/dcd9ab821e359cd8330786bcd077604b5c5730c0b096eda46f95c24a2d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/embed/pip-22.2.2-py3-none-any.whl b/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/embed/pip-22.2.2-py3-none-any.whl new file mode 120000 index 0000000..b6a01d5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/embed/pip-22.2.2-py3-none-any.whl @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b6/1a/37/4b5bc40a6e982426aede40c9b5a08ff20e640f5b56977f4f91fed1e39a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/embed/setuptools-44.1.1-py2.py3-none-any.whl b/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/embed/setuptools-44.1.1-py2.py3-none-any.whl new file mode 120000 index 0000000..48eaf30 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/embed/setuptools-44.1.1-py2.py3-none-any.whl @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/27/a7/14/c09253134e60a6fa68130f78c7037e5562c4f21f8f318f2ae900d152d5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/embed/setuptools-50.3.2-py3-none-any.whl b/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/embed/setuptools-50.3.2-py3-none-any.whl new file mode 120000 index 0000000..4edc524 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/embed/setuptools-50.3.2-py3-none-any.whl @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2c/24/2a/0856fbad7efbe560df4a7add9324f340cf48df43651e9604924466794a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/embed/setuptools-59.6.0-py3-none-any.whl b/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/embed/setuptools-59.6.0-py3-none-any.whl new file mode 120000 index 0000000..c5c0a07 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/embed/setuptools-59.6.0-py3-none-any.whl @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4c/e9/2f/1e1f8f01233ee9952c04f6b81d1e02939d6e1b488428154974a4d0783e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/embed/setuptools-65.3.0-py3-none-any.whl b/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/embed/setuptools-65.3.0-py3-none-any.whl new file mode 120000 index 0000000..21b591e --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/embed/setuptools-65.3.0-py3-none-any.whl @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2e/24/e0/bec025f035a2e72cdd1961119f557d78ad331bb00ff82efb2ab8da8e82 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/embed/wheel-0.37.1-py2.py3-none-any.whl b/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/embed/wheel-0.37.1-py2.py3-none-any.whl new file mode 120000 index 0000000..8773f00 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/embed/wheel-0.37.1-py2.py3-none-any.whl @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4b/dc/d7/d840138086126cd09254dc6195fb4fc6f01c050a1d7236f2630db1d22a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/periodic_update.py b/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/periodic_update.py new file mode 120000 index 0000000..ff4c71e --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/periodic_update.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/69/df/7e/87151cef0c82c9855b545a81f64bc655450dbd0e6f2384c09d3cab32ec \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/util.py b/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/util.py new file mode 120000 index 0000000..005e58e --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/seed/wheels/util.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8b/18/f0/38347cd4561ce1d399bb52c3458a3ef9e8f372ae5760cf845437433e38 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/util/__init__.py b/venv/lib/python3.8/site-packages/virtualenv/util/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/util/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/util/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/util/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..7c6854d Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/util/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/util/__pycache__/error.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/util/__pycache__/error.cpython-38.pyc new file mode 100644 index 0000000..6e7a5f0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/util/__pycache__/error.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/util/__pycache__/lock.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/util/__pycache__/lock.cpython-38.pyc new file mode 100644 index 0000000..660701e Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/util/__pycache__/lock.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/util/__pycache__/zipapp.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/util/__pycache__/zipapp.cpython-38.pyc new file mode 100644 index 0000000..7ed97ad Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/util/__pycache__/zipapp.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/util/error.py b/venv/lib/python3.8/site-packages/virtualenv/util/error.py new file mode 120000 index 0000000..da76f32 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/util/error.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7e/a2/cc/5e8bbfb73124fc1a7fb617789649c8a71c1d7b5afd04fbe0e1e6415333 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/util/lock.py b/venv/lib/python3.8/site-packages/virtualenv/util/lock.py new file mode 120000 index 0000000..45e5fc7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/util/lock.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9c/c5/b8/27a2b91b08a25b5f28f08e1dca0eb332908c3bd8fda8d22556b241784b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/util/path/__init__.py b/venv/lib/python3.8/site-packages/virtualenv/util/path/__init__.py new file mode 120000 index 0000000..e2b8b58 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/util/path/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/48/9a/a7/4cd010138d51bde20c4501ca8e527ebb2344ce36dabc96b98cd665e8c0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/util/path/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/util/path/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..54cd483 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/util/path/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/util/path/__pycache__/_permission.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/util/path/__pycache__/_permission.cpython-38.pyc new file mode 100644 index 0000000..26c37dc Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/util/path/__pycache__/_permission.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/util/path/__pycache__/_sync.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/util/path/__pycache__/_sync.cpython-38.pyc new file mode 100644 index 0000000..3d56f68 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/util/path/__pycache__/_sync.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/util/path/__pycache__/_win.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/util/path/__pycache__/_win.cpython-38.pyc new file mode 100644 index 0000000..d21bde1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/util/path/__pycache__/_win.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/util/path/_permission.py b/venv/lib/python3.8/site-packages/virtualenv/util/path/_permission.py new file mode 120000 index 0000000..4eff7ac --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/util/path/_permission.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f1/fa/27/0636d46379fdfd72457f92174ce787ea3b190b0c1435be273b01165f9b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/util/path/_sync.py b/venv/lib/python3.8/site-packages/virtualenv/util/path/_sync.py new file mode 120000 index 0000000..c8069ba --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/util/path/_sync.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5b/8a/a2/f7e8f925fe41daefc00ccfdf9628d50e49315ee8dae212a5ab978784ca \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/util/path/_win.py b/venv/lib/python3.8/site-packages/virtualenv/util/path/_win.py new file mode 120000 index 0000000..0799d6f --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/util/path/_win.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1c/d2/4d/8016eb9ec61d9e137d7d1c561113706c67ec3beeba54f43c69cae6a4ef \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/util/subprocess/__init__.py b/venv/lib/python3.8/site-packages/virtualenv/util/subprocess/__init__.py new file mode 120000 index 0000000..2a44d75 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/util/subprocess/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fc/ab/50/b31d002598c6b6db8e0ca0817b65f6b6ba31617a39280d0be7cfa45b01 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/util/subprocess/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/virtualenv/util/subprocess/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..0ac9404 Binary files /dev/null and b/venv/lib/python3.8/site-packages/virtualenv/util/subprocess/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/virtualenv/util/zipapp.py b/venv/lib/python3.8/site-packages/virtualenv/util/zipapp.py new file mode 120000 index 0000000..e379876 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/util/zipapp.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a0/4a/8d/3667ff95138f419188df096d51a2a4b01ca495d1754ddc85132394055a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/virtualenv/version.py b/venv/lib/python3.8/site-packages/virtualenv/version.py new file mode 120000 index 0000000..305a1f5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/virtualenv/version.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/55/03/6e/b85b84f85cd98547584db01501cc5e26535bfb01175674d7c185fe0a77 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/webencodings-0.5.1.dist-info/DESCRIPTION.rst b/venv/lib/python3.8/site-packages/webencodings-0.5.1.dist-info/DESCRIPTION.rst new file mode 120000 index 0000000..ba70c07 --- /dev/null +++ b/venv/lib/python3.8/site-packages/webencodings-0.5.1.dist-info/DESCRIPTION.rst @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fc/dc/d4/f3a567773bc17a35edcac8436d4533fe5cf33ab879e3f398f53d0eba14 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/webencodings-0.5.1.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/webencodings-0.5.1.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/webencodings-0.5.1.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/webencodings-0.5.1.dist-info/METADATA b/venv/lib/python3.8/site-packages/webencodings-0.5.1.dist-info/METADATA new file mode 120000 index 0000000..98464e5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/webencodings-0.5.1.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/29/0e/c5/83c2efe3f9db5006f3012dbd426897cc6ec79d62c85e9176a0de0fdaee \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/webencodings-0.5.1.dist-info/RECORD b/venv/lib/python3.8/site-packages/webencodings-0.5.1.dist-info/RECORD new file mode 100644 index 0000000..09d3b4c --- /dev/null +++ b/venv/lib/python3.8/site-packages/webencodings-0.5.1.dist-info/RECORD @@ -0,0 +1,17 @@ +webencodings-0.5.1.dist-info/DESCRIPTION.rst,sha256=_NzU86VndzvBejXtyshDbUUz_lzzOrh54_OY9T0OuhQ,1039 +webencodings-0.5.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +webencodings-0.5.1.dist-info/METADATA,sha256=KQ7Fg8Lv4_nbUAbzAS29QmiXzG7HnWLIXpF2oN4P2u4,2063 +webencodings-0.5.1.dist-info/RECORD,, +webencodings-0.5.1.dist-info/WHEEL,sha256=o2k-Qa-RMNIJmUdIc7KU6VWR_ErNRbWNlxDIpl7lm34,110 +webencodings-0.5.1.dist-info/metadata.json,sha256=AYbksnhE5Frl5Ao68tMDgGeytnRxYvvWlvNgxKMiQFY,1092 +webencodings-0.5.1.dist-info/top_level.txt,sha256=bZs_aZHSf_PNlfIHD4-BETJmRi99BJdKLrOW7rQngeo,13 +webencodings/__init__.py,sha256=qOBJIuPy_4ByYH6W_bNgJF-qYQ2DoU-dKsDu5yRWCXg,10579 +webencodings/__pycache__/__init__.cpython-38.pyc,, +webencodings/__pycache__/labels.cpython-38.pyc,, +webencodings/__pycache__/mklabels.cpython-38.pyc,, +webencodings/__pycache__/tests.cpython-38.pyc,, +webencodings/__pycache__/x_user_defined.cpython-38.pyc,, +webencodings/labels.py,sha256=4AO_KxTddqGtrL9ns7kAPjb0CcN6xsCIxbK37HY9r3E,8979 +webencodings/mklabels.py,sha256=GYIeywnpaLnP0GSic8LFWgd0UVvO_l1Nc6YoF-87R_4,1305 +webencodings/tests.py,sha256=OtGLyjhNY1fvkW1GvLJ_FV9ZoqC9Anyjr7q3kxTbzNs,6563 +webencodings/x_user_defined.py,sha256=yOqWSdmpytGfUgh_Z6JYgDNhoc-BAHyyeeT15Fr42tM,4307 diff --git a/venv/lib/python3.8/site-packages/webencodings-0.5.1.dist-info/WHEEL b/venv/lib/python3.8/site-packages/webencodings-0.5.1.dist-info/WHEEL new file mode 120000 index 0000000..68829c5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/webencodings-0.5.1.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a3/69/3e/41af9130d20999474873b294e95591fc4acd45b58d9710c8a65ee59b7e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/webencodings-0.5.1.dist-info/metadata.json b/venv/lib/python3.8/site-packages/webencodings-0.5.1.dist-info/metadata.json new file mode 120000 index 0000000..4251d52 --- /dev/null +++ b/venv/lib/python3.8/site-packages/webencodings-0.5.1.dist-info/metadata.json @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/01/86/e4/b27844e45ae5e40a3af2d3038067b2b6747162fbd696f360c4a3224056 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/webencodings-0.5.1.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/webencodings-0.5.1.dist-info/top_level.txt new file mode 120000 index 0000000..d41ad6f --- /dev/null +++ b/venv/lib/python3.8/site-packages/webencodings-0.5.1.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6d/9b/3f/6991d27ff3cd95f2070f8f81113266462f7d04974a2eb396eeb42781ea \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/webencodings/__init__.py b/venv/lib/python3.8/site-packages/webencodings/__init__.py new file mode 120000 index 0000000..73889df --- /dev/null +++ b/venv/lib/python3.8/site-packages/webencodings/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a8/e0/49/22e3f2ff8072607e96fdb360245faa610d83a14f9d2ac0eee724560978 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/webencodings/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/webencodings/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..5f0362e Binary files /dev/null and b/venv/lib/python3.8/site-packages/webencodings/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/webencodings/__pycache__/labels.cpython-38.pyc b/venv/lib/python3.8/site-packages/webencodings/__pycache__/labels.cpython-38.pyc new file mode 100644 index 0000000..1b01efc Binary files /dev/null and b/venv/lib/python3.8/site-packages/webencodings/__pycache__/labels.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/webencodings/__pycache__/mklabels.cpython-38.pyc b/venv/lib/python3.8/site-packages/webencodings/__pycache__/mklabels.cpython-38.pyc new file mode 100644 index 0000000..4929c89 Binary files /dev/null and b/venv/lib/python3.8/site-packages/webencodings/__pycache__/mklabels.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/webencodings/__pycache__/tests.cpython-38.pyc b/venv/lib/python3.8/site-packages/webencodings/__pycache__/tests.cpython-38.pyc new file mode 100644 index 0000000..fc581cf Binary files /dev/null and b/venv/lib/python3.8/site-packages/webencodings/__pycache__/tests.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/webencodings/__pycache__/x_user_defined.cpython-38.pyc b/venv/lib/python3.8/site-packages/webencodings/__pycache__/x_user_defined.cpython-38.pyc new file mode 100644 index 0000000..122a9de Binary files /dev/null and b/venv/lib/python3.8/site-packages/webencodings/__pycache__/x_user_defined.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/webencodings/labels.py b/venv/lib/python3.8/site-packages/webencodings/labels.py new file mode 120000 index 0000000..c4abafd --- /dev/null +++ b/venv/lib/python3.8/site-packages/webencodings/labels.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e0/03/bf/2b14dd76a1adacbf67b3b9003e36f409c37ac6c088c5b2b7ec763daf71 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/webencodings/mklabels.py b/venv/lib/python3.8/site-packages/webencodings/mklabels.py new file mode 120000 index 0000000..4e69765 --- /dev/null +++ b/venv/lib/python3.8/site-packages/webencodings/mklabels.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/19/82/1e/cb09e968b9cfd064a273c2c55a0774515bcefe5d4d73a62817ef3b47fe \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/webencodings/tests.py b/venv/lib/python3.8/site-packages/webencodings/tests.py new file mode 120000 index 0000000..6f115bf --- /dev/null +++ b/venv/lib/python3.8/site-packages/webencodings/tests.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3a/d1/8b/ca384d6357ef916d46bcb27f155f59a2a0bd027ca3afbab79314dbccdb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/webencodings/x_user_defined.py b/venv/lib/python3.8/site-packages/webencodings/x_user_defined.py new file mode 120000 index 0000000..304aee0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/webencodings/x_user_defined.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c8/ea/96/49d9a9cad19f52087f67a258803361a1cf81007cb279e4f5e45af8dad3 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/__init__.py b/venv/lib/python3.8/site-packages/werkzeug/__init__.py new file mode 120000 index 0000000..dc5d553 --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/50/fd/b5/f0375dd8d626d5d5214e586f191432b73031d4cb3503bd7a50a88f3989 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/werkzeug/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..bf0d666 Binary files /dev/null and b/venv/lib/python3.8/site-packages/werkzeug/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/werkzeug/__pycache__/_internal.cpython-38.pyc b/venv/lib/python3.8/site-packages/werkzeug/__pycache__/_internal.cpython-38.pyc new file mode 100644 index 0000000..6c04d81 Binary files /dev/null and b/venv/lib/python3.8/site-packages/werkzeug/__pycache__/_internal.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/werkzeug/__pycache__/_reloader.cpython-38.pyc b/venv/lib/python3.8/site-packages/werkzeug/__pycache__/_reloader.cpython-38.pyc new file mode 100644 index 0000000..489ad4f Binary files /dev/null and b/venv/lib/python3.8/site-packages/werkzeug/__pycache__/_reloader.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/werkzeug/__pycache__/datastructures.cpython-38.pyc b/venv/lib/python3.8/site-packages/werkzeug/__pycache__/datastructures.cpython-38.pyc new file mode 100644 index 0000000..3edf490 Binary files /dev/null and b/venv/lib/python3.8/site-packages/werkzeug/__pycache__/datastructures.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/werkzeug/__pycache__/exceptions.cpython-38.pyc b/venv/lib/python3.8/site-packages/werkzeug/__pycache__/exceptions.cpython-38.pyc new file mode 100644 index 0000000..c7c5f42 Binary files /dev/null and b/venv/lib/python3.8/site-packages/werkzeug/__pycache__/exceptions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/werkzeug/__pycache__/formparser.cpython-38.pyc b/venv/lib/python3.8/site-packages/werkzeug/__pycache__/formparser.cpython-38.pyc new file mode 100644 index 0000000..b274c46 Binary files /dev/null and b/venv/lib/python3.8/site-packages/werkzeug/__pycache__/formparser.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/werkzeug/__pycache__/http.cpython-38.pyc b/venv/lib/python3.8/site-packages/werkzeug/__pycache__/http.cpython-38.pyc new file mode 100644 index 0000000..ad4be25 Binary files /dev/null and b/venv/lib/python3.8/site-packages/werkzeug/__pycache__/http.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/werkzeug/__pycache__/local.cpython-38.pyc b/venv/lib/python3.8/site-packages/werkzeug/__pycache__/local.cpython-38.pyc new file mode 100644 index 0000000..4251433 Binary files /dev/null and b/venv/lib/python3.8/site-packages/werkzeug/__pycache__/local.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/werkzeug/__pycache__/security.cpython-38.pyc b/venv/lib/python3.8/site-packages/werkzeug/__pycache__/security.cpython-38.pyc new file mode 100644 index 0000000..7fbd9ed Binary files /dev/null and b/venv/lib/python3.8/site-packages/werkzeug/__pycache__/security.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/werkzeug/__pycache__/serving.cpython-38.pyc b/venv/lib/python3.8/site-packages/werkzeug/__pycache__/serving.cpython-38.pyc new file mode 100644 index 0000000..dd84aca Binary files /dev/null and b/venv/lib/python3.8/site-packages/werkzeug/__pycache__/serving.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/werkzeug/__pycache__/test.cpython-38.pyc b/venv/lib/python3.8/site-packages/werkzeug/__pycache__/test.cpython-38.pyc new file mode 100644 index 0000000..3d496de Binary files /dev/null and b/venv/lib/python3.8/site-packages/werkzeug/__pycache__/test.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/werkzeug/__pycache__/testapp.cpython-38.pyc b/venv/lib/python3.8/site-packages/werkzeug/__pycache__/testapp.cpython-38.pyc new file mode 100644 index 0000000..b700ae8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/werkzeug/__pycache__/testapp.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/werkzeug/__pycache__/urls.cpython-38.pyc b/venv/lib/python3.8/site-packages/werkzeug/__pycache__/urls.cpython-38.pyc new file mode 100644 index 0000000..8dbe02c Binary files /dev/null and b/venv/lib/python3.8/site-packages/werkzeug/__pycache__/urls.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/werkzeug/__pycache__/user_agent.cpython-38.pyc b/venv/lib/python3.8/site-packages/werkzeug/__pycache__/user_agent.cpython-38.pyc new file mode 100644 index 0000000..7ba82e3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/werkzeug/__pycache__/user_agent.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/werkzeug/__pycache__/utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/werkzeug/__pycache__/utils.cpython-38.pyc new file mode 100644 index 0000000..088df08 Binary files /dev/null and b/venv/lib/python3.8/site-packages/werkzeug/__pycache__/utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/werkzeug/__pycache__/wsgi.cpython-38.pyc b/venv/lib/python3.8/site-packages/werkzeug/__pycache__/wsgi.cpython-38.pyc new file mode 100644 index 0000000..998c5f6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/werkzeug/__pycache__/wsgi.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/werkzeug/_internal.py b/venv/lib/python3.8/site-packages/werkzeug/_internal.py new file mode 120000 index 0000000..1598d67 --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/_internal.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/83/c3/c7/273db3dfd237c74bf04ef4ca6d7220d1e510a8617d52d5330cc593d10c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/_reloader.py b/venv/lib/python3.8/site-packages/werkzeug/_reloader.py new file mode 120000 index 0000000..86e20ac --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/_reloader.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/95/84/ad/9480ddb93c41381f014a8cf2ff8e0743b613e5fba9fb1deeb9a735fb6a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/datastructures.py b/venv/lib/python3.8/site-packages/werkzeug/datastructures.py new file mode 120000 index 0000000..3cac99b --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/datastructures.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4f/54/91/13f291b8dcfd43b3fe0a4e0fc8a3f28a5d4d3b1f730ee34c2e0acdd59d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/datastructures.pyi b/venv/lib/python3.8/site-packages/werkzeug/datastructures.pyi new file mode 120000 index 0000000..417bb81 --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/datastructures.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1d/1c/c3/2dcec0eaa9f096e84daa7e804fbe82b0b6489006d556ac67d006df57eb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/debug/__init__.py b/venv/lib/python3.8/site-packages/werkzeug/debug/__init__.py new file mode 120000 index 0000000..61e625f --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/debug/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1a/9a/ba/3a94ba987c079349899077367d6bef8e8e9c709552f50270260a1e6fd2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/debug/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/werkzeug/debug/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..b470495 Binary files /dev/null and b/venv/lib/python3.8/site-packages/werkzeug/debug/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/werkzeug/debug/__pycache__/console.cpython-38.pyc b/venv/lib/python3.8/site-packages/werkzeug/debug/__pycache__/console.cpython-38.pyc new file mode 100644 index 0000000..7bd4deb Binary files /dev/null and b/venv/lib/python3.8/site-packages/werkzeug/debug/__pycache__/console.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/werkzeug/debug/__pycache__/repr.cpython-38.pyc b/venv/lib/python3.8/site-packages/werkzeug/debug/__pycache__/repr.cpython-38.pyc new file mode 100644 index 0000000..13ea6c4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/werkzeug/debug/__pycache__/repr.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/werkzeug/debug/__pycache__/tbtools.cpython-38.pyc b/venv/lib/python3.8/site-packages/werkzeug/debug/__pycache__/tbtools.cpython-38.pyc new file mode 100644 index 0000000..9fe88d1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/werkzeug/debug/__pycache__/tbtools.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/werkzeug/debug/console.py b/venv/lib/python3.8/site-packages/werkzeug/debug/console.py new file mode 120000 index 0000000..6152a51 --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/debug/console.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/75/e7/21/aa20ad1dfb340106566687d40b54bdeed0aebf00e04f481d85ae4ac163 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/debug/repr.py b/venv/lib/python3.8/site-packages/werkzeug/debug/repr.py new file mode 120000 index 0000000..b3150fd --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/debug/repr.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/14/57/33/cb8ca155f1108d6f7d1ee66d51c7be79bb4958c8e9f469df6ac5dad0a0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/debug/shared/ICON_LICENSE.md b/venv/lib/python3.8/site-packages/werkzeug/debug/shared/ICON_LICENSE.md new file mode 120000 index 0000000..14e65cc --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/debug/shared/ICON_LICENSE.md @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0e/10/3a/6358149792707e0d0d14df518f8556213b7cb54c7422f7467f4bb1f7eb \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/debug/shared/console.png b/venv/lib/python3.8/site-packages/werkzeug/debug/shared/console.png new file mode 120000 index 0000000..6ca191c --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/debug/shared/console.png @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6f/16/b1/e915d796f3a28ff29eaaf48d5f4a2325ff3761b9d9ee6cbedc6c7dc360 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/debug/shared/debugger.js b/venv/lib/python3.8/site-packages/werkzeug/debug/shared/debugger.js new file mode 120000 index 0000000..40394f7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/debug/shared/debugger.js @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b6/0e/36/499b35495998599fbf163e442cae7e14b1e718d42b7a2d0ad81cbc070f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/debug/shared/less.png b/venv/lib/python3.8/site-packages/werkzeug/debug/shared/less.png new file mode 120000 index 0000000..0f407aa --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/debug/shared/less.png @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fb/8f/a4/35169725238d54b6a1ad0294c4cc171a6f51e0e9d9f52c431a91e5211e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/debug/shared/more.png b/venv/lib/python3.8/site-packages/werkzeug/debug/shared/more.png new file mode 120000 index 0000000..f174292 --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/debug/shared/more.png @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1a/78/0d/ec28a81d0a15e7cac7ea88e79188bc73fa840f60246b914ee545eb45e6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/debug/shared/style.css b/venv/lib/python3.8/site-packages/werkzeug/debug/shared/style.css new file mode 120000 index 0000000..d26c8b3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/debug/shared/style.css @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fb/14/b1/cd41191b0fc8aa50d1e626718ad365f0b4148c133efd8e1402f5d51fc8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/debug/tbtools.py b/venv/lib/python3.8/site-packages/werkzeug/debug/tbtools.py new file mode 120000 index 0000000..29b2e82 --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/debug/tbtools.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/16/c9/a5/93a028dc27179bd897ee2ffc3210a9d92419f2e1e6f027f9c1a727956e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/exceptions.py b/venv/lib/python3.8/site-packages/werkzeug/exceptions.py new file mode 120000 index 0000000..f07be0d --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/exceptions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e4/c1/72/e91c9a5389e892863374369f968639d5050320654d29e2bf14e454152d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/formparser.py b/venv/lib/python3.8/site-packages/werkzeug/formparser.py new file mode 120000 index 0000000..d6ef511 --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/formparser.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ac/b1/2e/fd9c15a6faac85983a138422bf7e90b26ce60b2b538a305e197ddd0c69 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/http.py b/venv/lib/python3.8/site-packages/werkzeug/http.py new file mode 120000 index 0000000..73a5b24 --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/http.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8b/f2/eb/214f4ab0ecf6ef37e4c0a20ae9e89f16e14c2a04ae5b5e64e7b1db3221 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/local.py b/venv/lib/python3.8/site-packages/werkzeug/local.py new file mode 120000 index 0000000..3bd9070 --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/local.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d4/84/4c/57d305adab8b6997a5885d0c7759fb64e70e28b6d2d376e743c1b3e566 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/middleware/__init__.py b/venv/lib/python3.8/site-packages/werkzeug/middleware/__init__.py new file mode 120000 index 0000000..0cadbc6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/middleware/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a9/fa/a0/753e67a701bdb1eb37f855d025fdda07de4960fd737217ad1ff4f73d4c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/middleware/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/werkzeug/middleware/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..9b15758 Binary files /dev/null and b/venv/lib/python3.8/site-packages/werkzeug/middleware/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/werkzeug/middleware/__pycache__/dispatcher.cpython-38.pyc b/venv/lib/python3.8/site-packages/werkzeug/middleware/__pycache__/dispatcher.cpython-38.pyc new file mode 100644 index 0000000..3e02cb5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/werkzeug/middleware/__pycache__/dispatcher.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/werkzeug/middleware/__pycache__/http_proxy.cpython-38.pyc b/venv/lib/python3.8/site-packages/werkzeug/middleware/__pycache__/http_proxy.cpython-38.pyc new file mode 100644 index 0000000..f112f04 Binary files /dev/null and b/venv/lib/python3.8/site-packages/werkzeug/middleware/__pycache__/http_proxy.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/werkzeug/middleware/__pycache__/lint.cpython-38.pyc b/venv/lib/python3.8/site-packages/werkzeug/middleware/__pycache__/lint.cpython-38.pyc new file mode 100644 index 0000000..afafe91 Binary files /dev/null and b/venv/lib/python3.8/site-packages/werkzeug/middleware/__pycache__/lint.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/werkzeug/middleware/__pycache__/profiler.cpython-38.pyc b/venv/lib/python3.8/site-packages/werkzeug/middleware/__pycache__/profiler.cpython-38.pyc new file mode 100644 index 0000000..c40f61c Binary files /dev/null and b/venv/lib/python3.8/site-packages/werkzeug/middleware/__pycache__/profiler.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/werkzeug/middleware/__pycache__/proxy_fix.cpython-38.pyc b/venv/lib/python3.8/site-packages/werkzeug/middleware/__pycache__/proxy_fix.cpython-38.pyc new file mode 100644 index 0000000..cadc9a4 Binary files /dev/null and b/venv/lib/python3.8/site-packages/werkzeug/middleware/__pycache__/proxy_fix.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/werkzeug/middleware/__pycache__/shared_data.cpython-38.pyc b/venv/lib/python3.8/site-packages/werkzeug/middleware/__pycache__/shared_data.cpython-38.pyc new file mode 100644 index 0000000..273e2e6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/werkzeug/middleware/__pycache__/shared_data.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/werkzeug/middleware/dispatcher.py b/venv/lib/python3.8/site-packages/werkzeug/middleware/dispatcher.py new file mode 120000 index 0000000..febffd2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/middleware/dispatcher.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/16/1f/f0/f8ac969d349817e2dfbf9762990ed31d24bb69f3c064c9af738cc5d608 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/middleware/http_proxy.py b/venv/lib/python3.8/site-packages/werkzeug/middleware/http_proxy.py new file mode 120000 index 0000000..6035f82 --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/middleware/http_proxy.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1c/4f/15/ca14bb091f84d4eebff5bebc86ebfc14b806191d432d8aa44b75dca774 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/middleware/lint.py b/venv/lib/python3.8/site-packages/werkzeug/middleware/lint.py new file mode 120000 index 0000000..4e7b3da --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/middleware/lint.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4a/be/a0/578ae8c83b3a7b392abf9b6b440c8a30343ad0a684ab7fad437a2952fc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/middleware/profiler.py b/venv/lib/python3.8/site-packages/werkzeug/middleware/profiler.py new file mode 120000 index 0000000..411bec5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/middleware/profiler.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/42/45/e4/edcaa768f9c5f3042efb94b23c220e4f7fe4740054068ad03a085534e0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/middleware/proxy_fix.py b/venv/lib/python3.8/site-packages/werkzeug/middleware/proxy_fix.py new file mode 120000 index 0000000..a10668b --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/middleware/proxy_fix.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/97/b2/c2/fcb0eed187784af5314b94858a00093337083869ba2cd2a5f485c90525 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/middleware/shared_data.py b/venv/lib/python3.8/site-packages/werkzeug/middleware/shared_data.py new file mode 120000 index 0000000..7922512 --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/middleware/shared_data.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7d/78/eb/124baac5454b1b50cbace7502dcf7a4107637ed081675a0ce682bcf61e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/py.typed b/venv/lib/python3.8/site-packages/werkzeug/py.typed new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/py.typed @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/routing/__init__.py b/venv/lib/python3.8/site-packages/werkzeug/routing/__init__.py new file mode 120000 index 0000000..6f247ce --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/routing/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1e/9b/da/858ed6c242dd5780aadc1b1cdc6aea3689f8bbab7cfaf85b6fd139a34d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/routing/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/werkzeug/routing/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..4d00f40 Binary files /dev/null and b/venv/lib/python3.8/site-packages/werkzeug/routing/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/werkzeug/routing/__pycache__/converters.cpython-38.pyc b/venv/lib/python3.8/site-packages/werkzeug/routing/__pycache__/converters.cpython-38.pyc new file mode 100644 index 0000000..289f0f0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/werkzeug/routing/__pycache__/converters.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/werkzeug/routing/__pycache__/exceptions.cpython-38.pyc b/venv/lib/python3.8/site-packages/werkzeug/routing/__pycache__/exceptions.cpython-38.pyc new file mode 100644 index 0000000..90fc928 Binary files /dev/null and b/venv/lib/python3.8/site-packages/werkzeug/routing/__pycache__/exceptions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/werkzeug/routing/__pycache__/map.cpython-38.pyc b/venv/lib/python3.8/site-packages/werkzeug/routing/__pycache__/map.cpython-38.pyc new file mode 100644 index 0000000..7a72980 Binary files /dev/null and b/venv/lib/python3.8/site-packages/werkzeug/routing/__pycache__/map.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/werkzeug/routing/__pycache__/matcher.cpython-38.pyc b/venv/lib/python3.8/site-packages/werkzeug/routing/__pycache__/matcher.cpython-38.pyc new file mode 100644 index 0000000..3ab478b Binary files /dev/null and b/venv/lib/python3.8/site-packages/werkzeug/routing/__pycache__/matcher.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/werkzeug/routing/__pycache__/rules.cpython-38.pyc b/venv/lib/python3.8/site-packages/werkzeug/routing/__pycache__/rules.cpython-38.pyc new file mode 100644 index 0000000..a64ed50 Binary files /dev/null and b/venv/lib/python3.8/site-packages/werkzeug/routing/__pycache__/rules.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/werkzeug/routing/converters.py b/venv/lib/python3.8/site-packages/werkzeug/routing/converters.py new file mode 120000 index 0000000..256b097 --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/routing/converters.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d3/96/e4/7a483ae2f2c2ea6aaa2b875d061e7cf561fdc81b23b56f0826175406fc \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/routing/exceptions.py b/venv/lib/python3.8/site-packages/werkzeug/routing/exceptions.py new file mode 120000 index 0000000..d764bc9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/routing/exceptions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/46/49/54/0cbf5a8cebf67d3711363e296f5f01b3863e18a938ac879349fb2a924b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/routing/map.py b/venv/lib/python3.8/site-packages/werkzeug/routing/map.py new file mode 120000 index 0000000..28bf5ef --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/routing/map.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5c/de/19/8f3105d527ccc6d768bfcf520c4fb5fd4efc2959e7a1b4df9c7cea6e61 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/routing/matcher.py b/venv/lib/python3.8/site-packages/werkzeug/routing/matcher.py new file mode 120000 index 0000000..4098fa5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/routing/matcher.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/53/cc/59/4c1ddee5fdd381b931743c95bb2c4ae30ef6975968fdbded746db336b7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/routing/rules.py b/venv/lib/python3.8/site-packages/werkzeug/routing/rules.py new file mode 120000 index 0000000..0cb4987 --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/routing/rules.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bf/6e/d1/691e47dec20f45d27fa5d11f38130de848af155a66173264eda8b3772c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/sansio/__init__.py b/venv/lib/python3.8/site-packages/werkzeug/sansio/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/sansio/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/sansio/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/werkzeug/sansio/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..c7977e9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/werkzeug/sansio/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/werkzeug/sansio/__pycache__/http.cpython-38.pyc b/venv/lib/python3.8/site-packages/werkzeug/sansio/__pycache__/http.cpython-38.pyc new file mode 100644 index 0000000..78af4ee Binary files /dev/null and b/venv/lib/python3.8/site-packages/werkzeug/sansio/__pycache__/http.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/werkzeug/sansio/__pycache__/multipart.cpython-38.pyc b/venv/lib/python3.8/site-packages/werkzeug/sansio/__pycache__/multipart.cpython-38.pyc new file mode 100644 index 0000000..53fc6be Binary files /dev/null and b/venv/lib/python3.8/site-packages/werkzeug/sansio/__pycache__/multipart.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/werkzeug/sansio/__pycache__/request.cpython-38.pyc b/venv/lib/python3.8/site-packages/werkzeug/sansio/__pycache__/request.cpython-38.pyc new file mode 100644 index 0000000..e301804 Binary files /dev/null and b/venv/lib/python3.8/site-packages/werkzeug/sansio/__pycache__/request.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/werkzeug/sansio/__pycache__/response.cpython-38.pyc b/venv/lib/python3.8/site-packages/werkzeug/sansio/__pycache__/response.cpython-38.pyc new file mode 100644 index 0000000..3f22961 Binary files /dev/null and b/venv/lib/python3.8/site-packages/werkzeug/sansio/__pycache__/response.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/werkzeug/sansio/__pycache__/utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/werkzeug/sansio/__pycache__/utils.cpython-38.pyc new file mode 100644 index 0000000..894e074 Binary files /dev/null and b/venv/lib/python3.8/site-packages/werkzeug/sansio/__pycache__/utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/werkzeug/sansio/http.py b/venv/lib/python3.8/site-packages/werkzeug/sansio/http.py new file mode 120000 index 0000000..47fbdc6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/sansio/http.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f5/e3/91/838e020f1a6657d8bf53fa59fcd47c81d73d517142744ec400fd6ff9cd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/sansio/multipart.py b/venv/lib/python3.8/site-packages/werkzeug/sansio/multipart.py new file mode 120000 index 0000000..d0eb536 --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/sansio/multipart.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/53/2a/e0/d94eacda87edf0b5cecae4ef1425932ce12bec83555bccc54d737067b0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/sansio/request.py b/venv/lib/python3.8/site-packages/werkzeug/sansio/request.py new file mode 120000 index 0000000..33d3663 --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/sansio/request.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4a/21/9c/c76733fa5f354e5082acaad3d9f78fa82eb884df1f4a0e4883a27abd1b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/sansio/response.py b/venv/lib/python3.8/site-packages/werkzeug/sansio/response.py new file mode 120000 index 0000000..8e4b7cc --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/sansio/response.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/51/39/7e/b5e4030e3a2fad93248e3dd942c1f0f89b6215a93925f284935fef0585 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/sansio/utils.py b/venv/lib/python3.8/site-packages/werkzeug/sansio/utils.py new file mode 120000 index 0000000..a36ebb3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/sansio/utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/12/36/ea/747753f8965682351069a592801508469ad7524aec31042a265247a555 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/security.py b/venv/lib/python3.8/site-packages/werkzeug/security.py new file mode 120000 index 0000000..0c73e14 --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/security.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/be/b0/68/7e1e16659a14a35780749e85d43af35519586ae192d825036296d02a3f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/serving.py b/venv/lib/python3.8/site-packages/werkzeug/serving.py new file mode 120000 index 0000000..8ddecb9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/serving.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d7/ca/5f/8eb1f0f1be540a03cfa35644a31958659e544449788d0f5ff0b196300a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/test.py b/venv/lib/python3.8/site-packages/werkzeug/test.py new file mode 120000 index 0000000..3808f92 --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/test.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b7/b4/f9/1be1dc88896fd595ed972745569a30d15ad79c9fd8df2c8407b4f4fd6c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/testapp.py b/venv/lib/python3.8/site-packages/werkzeug/testapp.py new file mode 120000 index 0000000..11fe680 --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/testapp.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/44/98/53/ff627078d88c29edf4e0dddb175cda21e329471f8220c11175ec9d7d36 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/urls.py b/venv/lib/python3.8/site-packages/werkzeug/urls.py new file mode 120000 index 0000000..3c23477 --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/urls.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/43/d4/a2/f9e561ef2c64debc24cebc06466d78e855d55e083d9413f79341d47d53 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/user_agent.py b/venv/lib/python3.8/site-packages/werkzeug/user_agent.py new file mode 120000 index 0000000..0a0549f --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/user_agent.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/59/c9/59/869be02eeacc178e61b22a126d2ef91f565be2231018a377ff2676a0aa \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/utils.py b/venv/lib/python3.8/site-packages/werkzeug/utils.py new file mode 120000 index 0000000..454c2c7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/39/87/41/d9c64f61882adc2d0454a308bf4e41ad8cf3afdc5d79f5b41f4d3f215a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/wrappers/__init__.py b/venv/lib/python3.8/site-packages/werkzeug/wrappers/__init__.py new file mode 120000 index 0000000..f045a4f --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/wrappers/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/90/6c/8a/eeb3ae777a82c6597f8c5c96d7961aac9863d71b5d7f7a1cc7d661781f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/wrappers/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/werkzeug/wrappers/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..39ac7da Binary files /dev/null and b/venv/lib/python3.8/site-packages/werkzeug/wrappers/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/werkzeug/wrappers/__pycache__/request.cpython-38.pyc b/venv/lib/python3.8/site-packages/werkzeug/wrappers/__pycache__/request.cpython-38.pyc new file mode 100644 index 0000000..873b827 Binary files /dev/null and b/venv/lib/python3.8/site-packages/werkzeug/wrappers/__pycache__/request.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/werkzeug/wrappers/__pycache__/response.cpython-38.pyc b/venv/lib/python3.8/site-packages/werkzeug/wrappers/__pycache__/response.cpython-38.pyc new file mode 100644 index 0000000..ad26ada Binary files /dev/null and b/venv/lib/python3.8/site-packages/werkzeug/wrappers/__pycache__/response.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/werkzeug/wrappers/request.py b/venv/lib/python3.8/site-packages/werkzeug/wrappers/request.py new file mode 120000 index 0000000..ea56147 --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/wrappers/request.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/51/0e/79/f4a9064b43e8e874c182f28c964d7f02c370e73b2dce6f28fdd46b7dd4 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/wrappers/response.py b/venv/lib/python3.8/site-packages/werkzeug/wrappers/response.py new file mode 120000 index 0000000..4f0b7c5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/wrappers/response.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/73/61/d4/5ebaede527fcf97101d5f517c66ea3a7b2eef34291d00fed6d016fc354 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/werkzeug/wsgi.py b/venv/lib/python3.8/site-packages/werkzeug/wsgi.py new file mode 120000 index 0000000..9f6c5c0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/werkzeug/wsgi.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b2/09/05/0b3865db78654a66ef8f16c8fa15448d294fb840464c300799715c02db \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/whatthepatch-1.0.2.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/whatthepatch-1.0.2.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/whatthepatch-1.0.2.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/whatthepatch-1.0.2.dist-info/LICENSE b/venv/lib/python3.8/site-packages/whatthepatch-1.0.2.dist-info/LICENSE new file mode 120000 index 0000000..1781863 --- /dev/null +++ b/venv/lib/python3.8/site-packages/whatthepatch-1.0.2.dist-info/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/94/fe/ba/8020b2fb910d805aea38b0d262e6147be1650ed43572a188eeaf85378b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/whatthepatch-1.0.2.dist-info/METADATA b/venv/lib/python3.8/site-packages/whatthepatch-1.0.2.dist-info/METADATA new file mode 120000 index 0000000..ef371f7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/whatthepatch-1.0.2.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/4f/ed/7c/5f1b29a19e5cfbb461cecd658d793a024215295422b0320b4dcc4c960e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/whatthepatch-1.0.2.dist-info/RECORD b/venv/lib/python3.8/site-packages/whatthepatch-1.0.2.dist-info/RECORD new file mode 100644 index 0000000..647d7aa --- /dev/null +++ b/venv/lib/python3.8/site-packages/whatthepatch-1.0.2.dist-info/RECORD @@ -0,0 +1,18 @@ +whatthepatch-1.0.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +whatthepatch-1.0.2.dist-info/LICENSE,sha256=lP66gCCy-5ENgFrqOLDSYuYUe-FlDtQ1cqGI7q-FN4s,1096 +whatthepatch-1.0.2.dist-info/METADATA,sha256=T-18XxspoZ5c-7Rhzs1ljXk6AkIVKVQisDILTcxMlg4,6933 +whatthepatch-1.0.2.dist-info/RECORD,, +whatthepatch-1.0.2.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +whatthepatch-1.0.2.dist-info/WHEEL,sha256=Z-nyYpwrcSqxfdux5Mbn_DQ525iP7J2DG3JgGvOYyTQ,110 +whatthepatch-1.0.2.dist-info/direct_url.json,sha256=QXvGrdWOwSEX1dbP8g48ym10TlvaggUYbKSNJ3GLloc,258 +whatthepatch-1.0.2.dist-info/top_level.txt,sha256=vJjuzH1xEc7fi9xXt09pnT-L3AvOvUc3vIlHfzuh3CQ,13 +whatthepatch/__init__.py,sha256=IEJW9S_LvHYdumagspbvukJT9qRMbfEgrq4NV83eH2o,127 +whatthepatch/__pycache__/__init__.cpython-38.pyc,, +whatthepatch/__pycache__/apply.cpython-38.pyc,, +whatthepatch/__pycache__/exceptions.cpython-38.pyc,, +whatthepatch/__pycache__/patch.cpython-38.pyc,, +whatthepatch/__pycache__/snippets.cpython-38.pyc,, +whatthepatch/apply.py,sha256=29JTqDxNMoICujwedY1jdhKzz2Nok5piZI9tIGYIk3I,3800 +whatthepatch/exceptions.py,sha256=3g40g57CJCsqQT3I-kotgOq-j01gedSte4PDXP4CwYU,768 +whatthepatch/patch.py,sha256=20zPLahbQby0PXVlKi9vA7KtAMs1fT4-6gINKqs2s-c,25938 +whatthepatch/snippets.py,sha256=5gbwd18ZZDvd-mkvd9-wEveNtqIcfZz9m6Gn-SNfTq4,1402 diff --git a/venv/lib/python3.8/site-packages/whatthepatch-1.0.2.dist-info/REQUESTED b/venv/lib/python3.8/site-packages/whatthepatch-1.0.2.dist-info/REQUESTED new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.8/site-packages/whatthepatch-1.0.2.dist-info/WHEEL b/venv/lib/python3.8/site-packages/whatthepatch-1.0.2.dist-info/WHEEL new file mode 120000 index 0000000..f6d70d4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/whatthepatch-1.0.2.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/67/e9/f2/629c2b712ab17ddbb1e4c6e7fc3439db988fec9d831b72601af398c934 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/whatthepatch-1.0.2.dist-info/direct_url.json b/venv/lib/python3.8/site-packages/whatthepatch-1.0.2.dist-info/direct_url.json new file mode 100644 index 0000000..48bbdfd --- /dev/null +++ b/venv/lib/python3.8/site-packages/whatthepatch-1.0.2.dist-info/direct_url.json @@ -0,0 +1 @@ +{"archive_info": {"hash": "sha256=6d920d6c328eda006f12ec05bc9eadb405957b18460520db195f9a21eb3336e1"}, "url": "https://files.pythonhosted.org/packages/fe/31/bf06fa31436e8118447bed0a428a1279d1164ebdc2d8866666033ab03ca8/whatthepatch-1.0.2-py2.py3-none-any.whl"} \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/whatthepatch-1.0.2.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/whatthepatch-1.0.2.dist-info/top_level.txt new file mode 120000 index 0000000..ed4318e --- /dev/null +++ b/venv/lib/python3.8/site-packages/whatthepatch-1.0.2.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bc/98/ee/cc7d7111cedf8bdc57b74f699d3f8bdc0bcebd4737bc89477f3ba1dc24 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/whatthepatch/__init__.py b/venv/lib/python3.8/site-packages/whatthepatch/__init__.py new file mode 120000 index 0000000..8d39608 --- /dev/null +++ b/venv/lib/python3.8/site-packages/whatthepatch/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/20/42/56/f52fcbbc761dba66a0b296efba4253f6a44c6df120aeae0d57cdde1f6a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/whatthepatch/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/whatthepatch/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..a3b32cf Binary files /dev/null and b/venv/lib/python3.8/site-packages/whatthepatch/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/whatthepatch/__pycache__/apply.cpython-38.pyc b/venv/lib/python3.8/site-packages/whatthepatch/__pycache__/apply.cpython-38.pyc new file mode 100644 index 0000000..9d49898 Binary files /dev/null and b/venv/lib/python3.8/site-packages/whatthepatch/__pycache__/apply.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/whatthepatch/__pycache__/exceptions.cpython-38.pyc b/venv/lib/python3.8/site-packages/whatthepatch/__pycache__/exceptions.cpython-38.pyc new file mode 100644 index 0000000..0d4afee Binary files /dev/null and b/venv/lib/python3.8/site-packages/whatthepatch/__pycache__/exceptions.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/whatthepatch/__pycache__/patch.cpython-38.pyc b/venv/lib/python3.8/site-packages/whatthepatch/__pycache__/patch.cpython-38.pyc new file mode 100644 index 0000000..07da73b Binary files /dev/null and b/venv/lib/python3.8/site-packages/whatthepatch/__pycache__/patch.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/whatthepatch/__pycache__/snippets.cpython-38.pyc b/venv/lib/python3.8/site-packages/whatthepatch/__pycache__/snippets.cpython-38.pyc new file mode 100644 index 0000000..abfbc3f Binary files /dev/null and b/venv/lib/python3.8/site-packages/whatthepatch/__pycache__/snippets.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/whatthepatch/apply.py b/venv/lib/python3.8/site-packages/whatthepatch/apply.py new file mode 120000 index 0000000..0860077 --- /dev/null +++ b/venv/lib/python3.8/site-packages/whatthepatch/apply.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/db/d2/53/a83c4d328202ba3c1e758d637612b3cf6368939a62648f6d2066089372 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/whatthepatch/exceptions.py b/venv/lib/python3.8/site-packages/whatthepatch/exceptions.py new file mode 120000 index 0000000..e297fd8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/whatthepatch/exceptions.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/de/0e/34/839ec2242b2a413dc8fa4a2d80eabe8f4d6079d4ad7b83c35cfe02c185 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/whatthepatch/patch.py b/venv/lib/python3.8/site-packages/whatthepatch/patch.py new file mode 120000 index 0000000..9168609 --- /dev/null +++ b/venv/lib/python3.8/site-packages/whatthepatch/patch.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/db/4c/cf/2da85b41bcb43d75652a2f6f03b2ad00cb357d3e3eea020d2aab36b3e7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/whatthepatch/snippets.py b/venv/lib/python3.8/site-packages/whatthepatch/snippets.py new file mode 120000 index 0000000..1dcd313 --- /dev/null +++ b/venv/lib/python3.8/site-packages/whatthepatch/snippets.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e6/06/f0/775f19643bddfa692f77dfb012f78db6a21c7d9cfd9ba1a7f9235f4eae \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapf-0.32.0.dist-info/AUTHORS b/venv/lib/python3.8/site-packages/yapf-0.32.0.dist-info/AUTHORS new file mode 120000 index 0000000..dca4f35 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapf-0.32.0.dist-info/AUTHORS @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1a/35/91/f17972f8397d56b2aecd32cebd1a026cc372dbbf03c4ad92b9df4b702c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapf-0.32.0.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/yapf-0.32.0.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapf-0.32.0.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/yapf-0.32.0.dist-info/LICENSE b/venv/lib/python3.8/site-packages/yapf-0.32.0.dist-info/LICENSE new file mode 120000 index 0000000..acbcd57 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapf-0.32.0.dist-info/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/cf/c7/74/9b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapf-0.32.0.dist-info/METADATA b/venv/lib/python3.8/site-packages/yapf-0.32.0.dist-info/METADATA new file mode 120000 index 0000000..e9fa980 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapf-0.32.0.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/aa/d3/da/446af024c8b168dbbb31bb852a7aa05f4f28fc0b06411105f342c44826 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapf-0.32.0.dist-info/RECORD b/venv/lib/python3.8/site-packages/yapf-0.32.0.dist-info/RECORD new file mode 100644 index 0000000..360c887 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapf-0.32.0.dist-info/RECORD @@ -0,0 +1,118 @@ +../../../bin/yapf,sha256=sI_MGR9IPhEfBgnUH3WRbmNs-DVtHuK5iuCtOas-sRk,215 +../../../bin/yapf-diff,sha256=EKMm1-VO7zhBWgS-soTpqgbPLrMdqEPJpvjKuphJDxs,239 +yapf-0.32.0.dist-info/AUTHORS,sha256=GjWR8Xly-Dl9VrKuzTLOvRoCbMNy278DxK2Sud9LcCw,307 +yapf-0.32.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +yapf-0.32.0.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358 +yapf-0.32.0.dist-info/METADATA,sha256=qtPaRGrwJMixaNu7MbuFKnqgX08o_AsGQREF80LESCY,34562 +yapf-0.32.0.dist-info/RECORD,, +yapf-0.32.0.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +yapf-0.32.0.dist-info/WHEEL,sha256=HX-v9-noUkyUoxyZ1PMSuS7auUxDAR4VBdoYLqD0xws,110 +yapf-0.32.0.dist-info/direct_url.json,sha256=FuvJZ5uqjYMxWbImZjMHmOyMi4fe8z2dp8bD4QEY1jg,251 +yapf-0.32.0.dist-info/entry_points.txt,sha256=fc7WCcYyJWR7Twl8ubci_UQz4gt-U9VYkXKDZODxEHA,94 +yapf-0.32.0.dist-info/top_level.txt,sha256=Y1sKm3Or1-KlBNXU8zv3IuXSJx1lAU-I_Cv_qTNq-WQ,15 +yapf/__init__.py,sha256=pKCGBYSE6mVaIkfAi2fWzQZ3cX7pcJp8a6WlUDpSiTg,12531 +yapf/__main__.py,sha256=jJ5Fcwe6tbXxqSuUxRO3uel44tHP53vVScojlus0cBM,680 +yapf/__pycache__/__init__.cpython-38.pyc,, +yapf/__pycache__/__main__.cpython-38.pyc,, +yapf/third_party/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +yapf/third_party/__pycache__/__init__.cpython-38.pyc,, +yapf/third_party/yapf_diff/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +yapf/third_party/yapf_diff/__pycache__/__init__.cpython-38.pyc,, +yapf/third_party/yapf_diff/__pycache__/yapf_diff.cpython-38.pyc,, +yapf/third_party/yapf_diff/yapf_diff.py,sha256=dfci4IR32aTtJIQ8A0jiqlRyo-optVx5p_ymClqY2ng,4800 +yapf/yapflib/__init__.py,sha256=abBqhqqPP10jK6pNCEt5VDVZfYK0u0fQugTp2AC0K4k,596 +yapf/yapflib/__pycache__/__init__.cpython-38.pyc,, +yapf/yapflib/__pycache__/blank_line_calculator.cpython-38.pyc,, +yapf/yapflib/__pycache__/comment_splicer.cpython-38.pyc,, +yapf/yapflib/__pycache__/continuation_splicer.cpython-38.pyc,, +yapf/yapflib/__pycache__/errors.cpython-38.pyc,, +yapf/yapflib/__pycache__/file_resources.cpython-38.pyc,, +yapf/yapflib/__pycache__/format_decision_state.cpython-38.pyc,, +yapf/yapflib/__pycache__/format_token.cpython-38.pyc,, +yapf/yapflib/__pycache__/identify_container.cpython-38.pyc,, +yapf/yapflib/__pycache__/line_joiner.cpython-38.pyc,, +yapf/yapflib/__pycache__/logical_line.cpython-38.pyc,, +yapf/yapflib/__pycache__/object_state.cpython-38.pyc,, +yapf/yapflib/__pycache__/py3compat.cpython-38.pyc,, +yapf/yapflib/__pycache__/pytree_unwrapper.cpython-38.pyc,, +yapf/yapflib/__pycache__/pytree_utils.cpython-38.pyc,, +yapf/yapflib/__pycache__/pytree_visitor.cpython-38.pyc,, +yapf/yapflib/__pycache__/reformatter.cpython-38.pyc,, +yapf/yapflib/__pycache__/split_penalty.cpython-38.pyc,, +yapf/yapflib/__pycache__/style.cpython-38.pyc,, +yapf/yapflib/__pycache__/subtype_assigner.cpython-38.pyc,, +yapf/yapflib/__pycache__/subtypes.cpython-38.pyc,, +yapf/yapflib/__pycache__/verifier.cpython-38.pyc,, +yapf/yapflib/__pycache__/yapf_api.cpython-38.pyc,, +yapf/yapflib/blank_line_calculator.py,sha256=DyVpjQsliyScGWkxakPqQHGYG47SN0250Dh7hOTeEZI,6335 +yapf/yapflib/comment_splicer.py,sha256=UGyYERs4VZB0n5n5tbus8Noa4qNY_C8ZGSwEZKimQa8,15254 +yapf/yapflib/continuation_splicer.py,sha256=5_Npzn98SLISqopH2hB3dSTBDVVs_iuCZBd-NJTNOKc,1776 +yapf/yapflib/errors.py,sha256=kQl1Rf2kGsycdesGk9ck9DRTkB0eL65Z2ZlkdNxFaNs,1482 +yapf/yapflib/file_resources.py,sha256=pInsarnxAtx-19ubxNB9ylM0BmWksC8fw7X3WcWfMd4,9637 +yapf/yapflib/format_decision_state.py,sha256=ZShDwV4ZCM4psk8xhbmUrwNSd4F3uUeCIN1pnbXwMZQ,47987 +yapf/yapflib/format_token.py,sha256=C82rwFV9Z0LUHqcZH99jIpN1ANQJ_Kv-WZwEG1bXXCY,10875 +yapf/yapflib/identify_container.py,sha256=DQKehiPPL0NnOkeuDBwqg7bS0EdU_FDRESzbj2C35cI,2317 +yapf/yapflib/line_joiner.py,sha256=HR_jVQjR3sX7k2PcJ_d8cSFf2chKOW1-gWf2ixeZYcY,3916 +yapf/yapflib/logical_line.py,sha256=MPnPniKqjKJhiU-VIMGZ6HnJTNJHlJ2fIXgFuHcxN2o,25719 +yapf/yapflib/object_state.py,sha256=90O2hZyCWx8SlskSsKcHiuQBAatqSrVkwWVZ5te0Hv8,8122 +yapf/yapflib/py3compat.py,sha256=r-YjKOj8ZLsh1a41cE5RZEFnQZ48CEmHILiwxmzs-DM,4270 +yapf/yapflib/pytree_unwrapper.py,sha256=wEXyeUVpLL0WhuolDwPhH97ZxagSqRvt7A_vtTOameI,14748 +yapf/yapflib/pytree_utils.py,sha256=vLHAqn5K_I9Qm-9eSLru66WiUxWesKwyT1-nbJ59IPk,10934 +yapf/yapflib/pytree_visitor.py,sha256=4k4uurmwgUH2iFE8ooMQFKb5O6tFQnAzi88IiK-WAFg,4529 +yapf/yapflib/reformatter.py,sha256=C8PSyY-CnyZ4rKb1B5VtePfIw2_SC0ojy3c8-R6i6MU,28203 +yapf/yapflib/split_penalty.py,sha256=temPk5wVNaAVLzlxzHbWrIucuPmZCVqVgepRWiLLaRI,24467 +yapf/yapflib/style.py,sha256=4TR1UHvTnUW84pIx1qrQ2HezKMwdaxYLoZhxbVTcsns,31890 +yapf/yapflib/subtype_assigner.py,sha256=OWfiqZ9JcM_TCsb14GheADyXS80nV4X1VVnS3NFu9Sk,19045 +yapf/yapflib/subtypes.py,sha256=A5vh3DAweeEu7s0Hll27ABgtVCUmo9Q_yroQd-M39Vw,1144 +yapf/yapflib/verifier.py,sha256=qT5jlM1j96jeV7YwpdCczKX8vKm51I41TE1mkLX8dkk,3042 +yapf/yapflib/yapf_api.py,sha256=gbWc_QCMWUk5EzpvcL2BEYe5vwp-2itu4WyFGoJS-yk,11878 +yapftests/__init__.py,sha256=abBqhqqPP10jK6pNCEt5VDVZfYK0u0fQugTp2AC0K4k,596 +yapftests/__pycache__/__init__.cpython-38.pyc,, +yapftests/__pycache__/blank_line_calculator_test.cpython-38.pyc,, +yapftests/__pycache__/comment_splicer_test.cpython-38.pyc,, +yapftests/__pycache__/file_resources_test.cpython-38.pyc,, +yapftests/__pycache__/format_decision_state_test.cpython-38.pyc,, +yapftests/__pycache__/format_token_test.cpython-38.pyc,, +yapftests/__pycache__/line_joiner_test.cpython-38.pyc,, +yapftests/__pycache__/logical_line_test.cpython-38.pyc,, +yapftests/__pycache__/main_test.cpython-38.pyc,, +yapftests/__pycache__/pytree_unwrapper_test.cpython-38.pyc,, +yapftests/__pycache__/pytree_utils_test.cpython-38.pyc,, +yapftests/__pycache__/pytree_visitor_test.cpython-38.pyc,, +yapftests/__pycache__/reformatter_basic_test.cpython-38.pyc,, +yapftests/__pycache__/reformatter_buganizer_test.cpython-38.pyc,, +yapftests/__pycache__/reformatter_facebook_test.cpython-38.pyc,, +yapftests/__pycache__/reformatter_pep8_test.cpython-38.pyc,, +yapftests/__pycache__/reformatter_python3_test.cpython-38.pyc,, +yapftests/__pycache__/reformatter_style_config_test.cpython-38.pyc,, +yapftests/__pycache__/reformatter_verify_test.cpython-38.pyc,, +yapftests/__pycache__/split_penalty_test.cpython-38.pyc,, +yapftests/__pycache__/style_test.cpython-38.pyc,, +yapftests/__pycache__/subtype_assigner_test.cpython-38.pyc,, +yapftests/__pycache__/utils.cpython-38.pyc,, +yapftests/__pycache__/yapf_test.cpython-38.pyc,, +yapftests/__pycache__/yapf_test_helper.cpython-38.pyc,, +yapftests/blank_line_calculator_test.py,sha256=Ir0Apdt2vtCRDpBJPXBQho6Jd74qR-IncBW4PtFP7VA,9145 +yapftests/comment_splicer_test.py,sha256=smvYTJaG99DLdK7nUcLZqCLuJxnzuqQUDmDfujGl3qg,11005 +yapftests/file_resources_test.py,sha256=5JKt0_nYXgVoXEt_Tbxy5VPlEsGnzQ8wIFN5KuEKY2M,19458 +yapftests/format_decision_state_test.py,sha256=JoMD4hZxJZF2gD7tb0YpHABmZtbdMOUNeXskbouhYYk,4398 +yapftests/format_token_test.py,sha256=9lPYuORy4ASNQr_cs_cIOJWZxfb_UnuyP44FDx3xfkA,2952 +yapftests/line_joiner_test.py,sha256=Af6Ka3wApOMHVL0-aYY7im8ChisZG5rP2WW6ZD-uhoA,2620 +yapftests/logical_line_test.py,sha256=PwR4I7A0ilUAfgfjkphtaGRHuPsPfz4ICRrym_0FUmQ,3221 +yapftests/main_test.py,sha256=sVfg9NGpM4upIkvIzMcM_-nDn5HcFPVPCDDxbBy97QU,4001 +yapftests/pytree_unwrapper_test.py,sha256=8B_hF6hegtOxU1A-Y3ZKYiHRe7ujC3EYZ8iGPaU_1Vw,9288 +yapftests/pytree_utils_test.py,sha256=5NeI1iorER5zipo_CwIsm5FBWtWqeeOjalygUMNaWas,8140 +yapftests/pytree_visitor_test.py,sha256=ljVsmUmIDNGnOpbgoEOmYL6SV-KAIDZoNfiALbKhrP0,4068 +yapftests/reformatter_basic_test.py,sha256=0SxHfp6A_ybiJq0YkoDa6ULFJwZ7ZTpXG26plYrXeZY,109654 +yapftests/reformatter_buganizer_test.py,sha256=yeeLQciMsUv8uQXRgBc3KYaPl5ilZfnh5COdvjCeXmw,86724 +yapftests/reformatter_facebook_test.py,sha256=B1vTxN0R7aXmZIsU3DmanToR0az-BZb3t9thvXDXg1w,15205 +yapftests/reformatter_pep8_test.py,sha256=isW9Rnrg2bdpHGbX1KTzj9CSQlrrPYFygd0SrMnxM2U,33565 +yapftests/reformatter_python3_test.py,sha256=hGUKHZDxeeqLWe4RIAnV2dKISWrosBc4gBP99ywT2Sg,14355 +yapftests/reformatter_style_config_test.py,sha256=GEjtztPKKCut6Ua3n0w9xc_6QpFtsrCNv8Itrbd7NAk,7215 +yapftests/reformatter_verify_test.py,sha256=Up03fDzqZ2SKmO1bHgjGwgBtiP4Sde7Uev88O-FdOIk,3223 +yapftests/split_penalty_test.py,sha256=oMFpOlCXFxdFUL54npVVkQa3-CfYy3EowQCDbyqhYJI,7417 +yapftests/style_test.py,sha256=ODU3GMQ8-Z7UpHsCLdzqMKivOCIlvI8zhZxmCpjn3BA,11579 +yapftests/subtype_assigner_test.py,sha256=68vAPDgKfnLsSMbiBNmSc8mN5hqpRCloNB9RIlReBU4,9372 +yapftests/utils.py,sha256=kbrj8PEnvmrV7kJUEOaIrqOGapkpXWYEoCVEqW2iugM,2708 +yapftests/yapf_test.py,sha256=cn6PJ89bNzP2oQLruG30Pz6dnDfkZOXLUz6DKjUWMhg,62954 +yapftests/yapf_test_helper.py,sha256=XxW9QzUZoUNJkkIwZmR-TtHvVCsw8YAqtn0IKA8WbY8,3034 diff --git a/venv/lib/python3.8/site-packages/yapf-0.32.0.dist-info/REQUESTED b/venv/lib/python3.8/site-packages/yapf-0.32.0.dist-info/REQUESTED new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.8/site-packages/yapf-0.32.0.dist-info/WHEEL b/venv/lib/python3.8/site-packages/yapf-0.32.0.dist-info/WHEEL new file mode 120000 index 0000000..53c4fb9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapf-0.32.0.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1d/7f/af/f7e9e8524c94a31c99d4f312b92edab94c43011e1505da182ea0f4c70b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapf-0.32.0.dist-info/direct_url.json b/venv/lib/python3.8/site-packages/yapf-0.32.0.dist-info/direct_url.json new file mode 100644 index 0000000..1fef1a6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapf-0.32.0.dist-info/direct_url.json @@ -0,0 +1 @@ +{"archive_info": {"hash": "sha256=8fea849025584e486fd06d6ba2bed717f396080fd3cc236ba10cb97c4c51cf32"}, "url": "https://files.pythonhosted.org/packages/47/88/843c2e68f18a5879b4fbf37cb99fbabe1ffc4343b2e63191c8462235c008/yapf-0.32.0-py2.py3-none-any.whl"} \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapf-0.32.0.dist-info/entry_points.txt b/venv/lib/python3.8/site-packages/yapf-0.32.0.dist-info/entry_points.txt new file mode 120000 index 0000000..ae429b6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapf-0.32.0.dist-info/entry_points.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7d/ce/d6/09c63225647b4f097cb9b722fd4433e20b7e53d55891728364e0f11070 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapf-0.32.0.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/yapf-0.32.0.dist-info/top_level.txt new file mode 120000 index 0000000..a9c9ef7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapf-0.32.0.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/63/5b/0a/9b73abd7e2a504d5d4f33bf722e5d2271d65014f88fc2bffa9336af964 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapf/__init__.py b/venv/lib/python3.8/site-packages/yapf/__init__.py new file mode 120000 index 0000000..bd35a06 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapf/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a4/a0/86/058484ea655a2247c08b67d6cd0677717ee9709a7c6ba5a5503a528938 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapf/__main__.py b/venv/lib/python3.8/site-packages/yapf/__main__.py new file mode 120000 index 0000000..92890f8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapf/__main__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8c/9e/45/7307bab5b5f1a92b94c513b7b9e978e2d1cfe77bd549ca2396eb347013 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapf/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapf/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..25139bc Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapf/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapf/__pycache__/__main__.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapf/__pycache__/__main__.cpython-38.pyc new file mode 100644 index 0000000..5f58cdd Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapf/__pycache__/__main__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapf/third_party/__init__.py b/venv/lib/python3.8/site-packages/yapf/third_party/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapf/third_party/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapf/third_party/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapf/third_party/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..6ab822c Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapf/third_party/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapf/third_party/yapf_diff/__init__.py b/venv/lib/python3.8/site-packages/yapf/third_party/yapf_diff/__init__.py new file mode 120000 index 0000000..05b4099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapf/third_party/yapf_diff/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e3/b0/c4/4298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapf/third_party/yapf_diff/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapf/third_party/yapf_diff/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..fd6c6e5 Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapf/third_party/yapf_diff/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapf/third_party/yapf_diff/__pycache__/yapf_diff.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapf/third_party/yapf_diff/__pycache__/yapf_diff.cpython-38.pyc new file mode 100644 index 0000000..ab1dccd Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapf/third_party/yapf_diff/__pycache__/yapf_diff.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapf/third_party/yapf_diff/yapf_diff.py b/venv/lib/python3.8/site-packages/yapf/third_party/yapf_diff/yapf_diff.py new file mode 120000 index 0000000..647d3fa --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapf/third_party/yapf_diff/yapf_diff.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/75/f7/22/e08477d9a4ed24843c0348e2aa5472a3ea29b55c79a7fca60a5a98da78 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapf/yapflib/__init__.py b/venv/lib/python3.8/site-packages/yapf/yapflib/__init__.py new file mode 120000 index 0000000..2913850 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapf/yapflib/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/69/b0/6a/86aa8f3f5d232baa4d084b795435597d82b4bb47d0ba04e9d800b42b89 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..d37c97f Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/blank_line_calculator.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/blank_line_calculator.cpython-38.pyc new file mode 100644 index 0000000..27ba6a0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/blank_line_calculator.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/comment_splicer.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/comment_splicer.cpython-38.pyc new file mode 100644 index 0000000..e797572 Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/comment_splicer.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/continuation_splicer.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/continuation_splicer.cpython-38.pyc new file mode 100644 index 0000000..9fa023d Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/continuation_splicer.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/errors.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/errors.cpython-38.pyc new file mode 100644 index 0000000..62b59c8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/errors.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/file_resources.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/file_resources.cpython-38.pyc new file mode 100644 index 0000000..4f3eeca Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/file_resources.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/format_decision_state.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/format_decision_state.cpython-38.pyc new file mode 100644 index 0000000..3238317 Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/format_decision_state.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/format_token.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/format_token.cpython-38.pyc new file mode 100644 index 0000000..bbdfd81 Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/format_token.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/identify_container.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/identify_container.cpython-38.pyc new file mode 100644 index 0000000..1e678ad Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/identify_container.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/line_joiner.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/line_joiner.cpython-38.pyc new file mode 100644 index 0000000..28391ca Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/line_joiner.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/logical_line.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/logical_line.cpython-38.pyc new file mode 100644 index 0000000..759083e Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/logical_line.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/object_state.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/object_state.cpython-38.pyc new file mode 100644 index 0000000..de3fb2e Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/object_state.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/py3compat.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/py3compat.cpython-38.pyc new file mode 100644 index 0000000..19bf84c Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/py3compat.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/pytree_unwrapper.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/pytree_unwrapper.cpython-38.pyc new file mode 100644 index 0000000..ae59e35 Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/pytree_unwrapper.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/pytree_utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/pytree_utils.cpython-38.pyc new file mode 100644 index 0000000..13550ce Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/pytree_utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/pytree_visitor.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/pytree_visitor.cpython-38.pyc new file mode 100644 index 0000000..dd049d8 Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/pytree_visitor.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/reformatter.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/reformatter.cpython-38.pyc new file mode 100644 index 0000000..2cf63fa Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/reformatter.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/split_penalty.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/split_penalty.cpython-38.pyc new file mode 100644 index 0000000..15b8dfc Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/split_penalty.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/style.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/style.cpython-38.pyc new file mode 100644 index 0000000..bbcdcef Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/style.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/subtype_assigner.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/subtype_assigner.cpython-38.pyc new file mode 100644 index 0000000..34c33d3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/subtype_assigner.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/subtypes.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/subtypes.cpython-38.pyc new file mode 100644 index 0000000..3aa1b3a Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/subtypes.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/verifier.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/verifier.cpython-38.pyc new file mode 100644 index 0000000..4cc223f Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/verifier.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/yapf_api.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/yapf_api.cpython-38.pyc new file mode 100644 index 0000000..d23d668 Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapf/yapflib/__pycache__/yapf_api.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapf/yapflib/blank_line_calculator.py b/venv/lib/python3.8/site-packages/yapf/yapflib/blank_line_calculator.py new file mode 120000 index 0000000..710388b --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapf/yapflib/blank_line_calculator.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0f/25/69/8d0b258b249c1969316a43ea4071981b8ed2374db9d0387b84e4de1192 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapf/yapflib/comment_splicer.py b/venv/lib/python3.8/site-packages/yapf/yapflib/comment_splicer.py new file mode 120000 index 0000000..2371d7e --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapf/yapflib/comment_splicer.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/50/6c/98/111b385590749f99f9b5bbacf0da1ae2a358fc2f19192c0464a8a641af \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapf/yapflib/continuation_splicer.py b/venv/lib/python3.8/site-packages/yapf/yapflib/continuation_splicer.py new file mode 120000 index 0000000..db04164 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapf/yapflib/continuation_splicer.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e7/f3/69/ce7f7c48b212aa8a47da10777524c10d556cfe2b8264177e3494cd38a7 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapf/yapflib/errors.py b/venv/lib/python3.8/site-packages/yapf/yapflib/errors.py new file mode 120000 index 0000000..03f279d --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapf/yapflib/errors.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/91/09/75/45fda41acc9c75eb0693d724f43453901d1e2fae59d9996474dc4568db \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapf/yapflib/file_resources.py b/venv/lib/python3.8/site-packages/yapf/yapflib/file_resources.py new file mode 120000 index 0000000..a6f8c47 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapf/yapflib/file_resources.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a4/89/ec/6ab9f102dc7ed7db9bc4d07dca53340665a4b02f1fc3b5f759c59f31de \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapf/yapflib/format_decision_state.py b/venv/lib/python3.8/site-packages/yapf/yapflib/format_decision_state.py new file mode 120000 index 0000000..f7ccc0a --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapf/yapflib/format_decision_state.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/65/28/43/c15e1908ce29b24f3185b994af0352778177b9478220dd699db5f03194 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapf/yapflib/format_token.py b/venv/lib/python3.8/site-packages/yapf/yapflib/format_token.py new file mode 120000 index 0000000..091c586 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapf/yapflib/format_token.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0b/cd/ab/c0557d6742d41ea7191fdf6322937500d409fcabfe599c041b56d75c26 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapf/yapflib/identify_container.py b/venv/lib/python3.8/site-packages/yapf/yapflib/identify_container.py new file mode 120000 index 0000000..1fc2960 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapf/yapflib/identify_container.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0d/02/9e/8623cf2f43673a47ae0c1c2a83b6d2d04754fc50d1112cdb8f60b7e5c2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapf/yapflib/line_joiner.py b/venv/lib/python3.8/site-packages/yapf/yapflib/line_joiner.py new file mode 120000 index 0000000..1aecf18 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapf/yapflib/line_joiner.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1d/1f/e3/5508d1dec5fb9363dc27f77c71215fd9c84a396d7e8167f68b179961c6 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapf/yapflib/logical_line.py b/venv/lib/python3.8/site-packages/yapf/yapflib/logical_line.py new file mode 120000 index 0000000..3d1ce8b --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapf/yapflib/logical_line.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/30/f9/cf/9e22aa8ca261894f9520c199e879c94cd247949d9f217805b87731376a \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapf/yapflib/object_state.py b/venv/lib/python3.8/site-packages/yapf/yapflib/object_state.py new file mode 120000 index 0000000..b64e7c5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapf/yapflib/object_state.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f7/43/b6/859c825b1f1296c912b0a7078ae40101ab6a4ab564c16559e6d7b41eff \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapf/yapflib/py3compat.py b/venv/lib/python3.8/site-packages/yapf/yapflib/py3compat.py new file mode 120000 index 0000000..95d5df5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapf/yapflib/py3compat.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/af/e6/23/28e8fc64bb21d5ae35704e51644167419e3c08498720b8b0c66cecf833 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapf/yapflib/pytree_unwrapper.py b/venv/lib/python3.8/site-packages/yapf/yapflib/pytree_unwrapper.py new file mode 120000 index 0000000..f5acb50 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapf/yapflib/pytree_unwrapper.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c0/45/f2/7945692cbd1686ea250f03e11fded9c5a812a91bedec0fefb5339a99e2 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapf/yapflib/pytree_utils.py b/venv/lib/python3.8/site-packages/yapf/yapflib/pytree_utils.py new file mode 120000 index 0000000..c2c2600 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapf/yapflib/pytree_utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bc/b1/c0/aa7e4afc8f509bef5e48baeeeba5a253159eb0ac324f5fa76c9e7d20f9 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapf/yapflib/pytree_visitor.py b/venv/lib/python3.8/site-packages/yapf/yapflib/pytree_visitor.py new file mode 120000 index 0000000..99ac7e6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapf/yapflib/pytree_visitor.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e2/4e/2e/bab9b08141f688513ca2831014a6f93bab454270338bcf0888af960058 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapf/yapflib/reformatter.py b/venv/lib/python3.8/site-packages/yapf/yapflib/reformatter.py new file mode 120000 index 0000000..6a5d5e3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapf/yapflib/reformatter.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/0b/c3/d2/c98f829f2678aca6f507956d78f7c8c36fd20b4a23cb773cf91ea2e8c5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapf/yapflib/split_penalty.py b/venv/lib/python3.8/site-packages/yapf/yapflib/split_penalty.py new file mode 120000 index 0000000..79c2d00 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapf/yapflib/split_penalty.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b5/e9/8f/939c1535a0152f3971cc76d6ac8b9cb8f999095a9581ea515a22cb6912 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapf/yapflib/style.py b/venv/lib/python3.8/site-packages/yapf/yapflib/style.py new file mode 120000 index 0000000..7c2ac74 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapf/yapflib/style.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e1/34/75/507bd39d45bce29231d6aad0d877b328cc1d6b160ba198716d54dcb27b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapf/yapflib/subtype_assigner.py b/venv/lib/python3.8/site-packages/yapf/yapflib/subtype_assigner.py new file mode 120000 index 0000000..ca03e46 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapf/yapflib/subtype_assigner.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/39/67/e2/a99f4970cfd30ac6f5e0685e003c974bcd275785f55559d2dcd16ef529 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapf/yapflib/subtypes.py b/venv/lib/python3.8/site-packages/yapf/yapflib/subtypes.py new file mode 120000 index 0000000..409e619 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapf/yapflib/subtypes.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/03/9b/e1/dc303079e12eeecd07965dbb00182d542526a3d43fcaba1077e337f55c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapf/yapflib/verifier.py b/venv/lib/python3.8/site-packages/yapf/yapflib/verifier.py new file mode 120000 index 0000000..2f6a483 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapf/yapflib/verifier.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a9/3e/63/94cd63f7a8de57b630a5d09ccca5fcbca9b9d48e354c4d6690b5fc7649 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapf/yapflib/yapf_api.py b/venv/lib/python3.8/site-packages/yapf/yapflib/yapf_api.py new file mode 120000 index 0000000..8561385 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapf/yapflib/yapf_api.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/81/b5/9c/fd008c594939133a6f70bd811187b9bf0a7eda2b6ee16c851a8252fb29 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapftests/__init__.py b/venv/lib/python3.8/site-packages/yapftests/__init__.py new file mode 120000 index 0000000..2913850 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapftests/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/69/b0/6a/86aa8f3f5d232baa4d084b795435597d82b4bb47d0ba04e9d800b42b89 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapftests/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapftests/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..4cff347 Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapftests/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapftests/__pycache__/blank_line_calculator_test.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapftests/__pycache__/blank_line_calculator_test.cpython-38.pyc new file mode 100644 index 0000000..404c6f1 Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapftests/__pycache__/blank_line_calculator_test.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapftests/__pycache__/comment_splicer_test.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapftests/__pycache__/comment_splicer_test.cpython-38.pyc new file mode 100644 index 0000000..c1a99cd Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapftests/__pycache__/comment_splicer_test.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapftests/__pycache__/file_resources_test.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapftests/__pycache__/file_resources_test.cpython-38.pyc new file mode 100644 index 0000000..f484d67 Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapftests/__pycache__/file_resources_test.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapftests/__pycache__/format_decision_state_test.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapftests/__pycache__/format_decision_state_test.cpython-38.pyc new file mode 100644 index 0000000..982d68f Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapftests/__pycache__/format_decision_state_test.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapftests/__pycache__/format_token_test.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapftests/__pycache__/format_token_test.cpython-38.pyc new file mode 100644 index 0000000..a8a7380 Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapftests/__pycache__/format_token_test.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapftests/__pycache__/line_joiner_test.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapftests/__pycache__/line_joiner_test.cpython-38.pyc new file mode 100644 index 0000000..1234ce6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapftests/__pycache__/line_joiner_test.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapftests/__pycache__/logical_line_test.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapftests/__pycache__/logical_line_test.cpython-38.pyc new file mode 100644 index 0000000..39ef584 Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapftests/__pycache__/logical_line_test.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapftests/__pycache__/main_test.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapftests/__pycache__/main_test.cpython-38.pyc new file mode 100644 index 0000000..651b6cf Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapftests/__pycache__/main_test.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapftests/__pycache__/pytree_unwrapper_test.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapftests/__pycache__/pytree_unwrapper_test.cpython-38.pyc new file mode 100644 index 0000000..4c4d67e Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapftests/__pycache__/pytree_unwrapper_test.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapftests/__pycache__/pytree_utils_test.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapftests/__pycache__/pytree_utils_test.cpython-38.pyc new file mode 100644 index 0000000..761d55b Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapftests/__pycache__/pytree_utils_test.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapftests/__pycache__/pytree_visitor_test.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapftests/__pycache__/pytree_visitor_test.cpython-38.pyc new file mode 100644 index 0000000..ca7110d Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapftests/__pycache__/pytree_visitor_test.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapftests/__pycache__/reformatter_basic_test.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapftests/__pycache__/reformatter_basic_test.cpython-38.pyc new file mode 100644 index 0000000..5840cff Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapftests/__pycache__/reformatter_basic_test.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapftests/__pycache__/reformatter_buganizer_test.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapftests/__pycache__/reformatter_buganizer_test.cpython-38.pyc new file mode 100644 index 0000000..5727e39 Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapftests/__pycache__/reformatter_buganizer_test.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapftests/__pycache__/reformatter_facebook_test.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapftests/__pycache__/reformatter_facebook_test.cpython-38.pyc new file mode 100644 index 0000000..8f12a8a Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapftests/__pycache__/reformatter_facebook_test.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapftests/__pycache__/reformatter_pep8_test.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapftests/__pycache__/reformatter_pep8_test.cpython-38.pyc new file mode 100644 index 0000000..93a62f3 Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapftests/__pycache__/reformatter_pep8_test.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapftests/__pycache__/reformatter_python3_test.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapftests/__pycache__/reformatter_python3_test.cpython-38.pyc new file mode 100644 index 0000000..082949c Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapftests/__pycache__/reformatter_python3_test.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapftests/__pycache__/reformatter_style_config_test.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapftests/__pycache__/reformatter_style_config_test.cpython-38.pyc new file mode 100644 index 0000000..3df6774 Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapftests/__pycache__/reformatter_style_config_test.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapftests/__pycache__/reformatter_verify_test.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapftests/__pycache__/reformatter_verify_test.cpython-38.pyc new file mode 100644 index 0000000..7225124 Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapftests/__pycache__/reformatter_verify_test.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapftests/__pycache__/split_penalty_test.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapftests/__pycache__/split_penalty_test.cpython-38.pyc new file mode 100644 index 0000000..ae0eda0 Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapftests/__pycache__/split_penalty_test.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapftests/__pycache__/style_test.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapftests/__pycache__/style_test.cpython-38.pyc new file mode 100644 index 0000000..9054093 Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapftests/__pycache__/style_test.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapftests/__pycache__/subtype_assigner_test.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapftests/__pycache__/subtype_assigner_test.cpython-38.pyc new file mode 100644 index 0000000..9e78c69 Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapftests/__pycache__/subtype_assigner_test.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapftests/__pycache__/utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapftests/__pycache__/utils.cpython-38.pyc new file mode 100644 index 0000000..c495fd6 Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapftests/__pycache__/utils.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapftests/__pycache__/yapf_test.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapftests/__pycache__/yapf_test.cpython-38.pyc new file mode 100644 index 0000000..27ef7b7 Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapftests/__pycache__/yapf_test.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapftests/__pycache__/yapf_test_helper.cpython-38.pyc b/venv/lib/python3.8/site-packages/yapftests/__pycache__/yapf_test_helper.cpython-38.pyc new file mode 100644 index 0000000..14a519e Binary files /dev/null and b/venv/lib/python3.8/site-packages/yapftests/__pycache__/yapf_test_helper.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yapftests/blank_line_calculator_test.py b/venv/lib/python3.8/site-packages/yapftests/blank_line_calculator_test.py new file mode 120000 index 0000000..61916cf --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapftests/blank_line_calculator_test.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/22/bd/00/a5db76bed0910e90493d7050868e8977be2a47e2277015b83ed14fed50 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapftests/comment_splicer_test.py b/venv/lib/python3.8/site-packages/yapftests/comment_splicer_test.py new file mode 120000 index 0000000..8dd6003 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapftests/comment_splicer_test.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b2/6b/d8/4c9686f7d0cb74aee751c2d9a822ee2719f3baa4140e60dfba31a5dea8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapftests/file_resources_test.py b/venv/lib/python3.8/site-packages/yapftests/file_resources_test.py new file mode 120000 index 0000000..799bbb6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapftests/file_resources_test.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e4/92/ad/d3f9d85e05685c4b7f4dbc72e553e512c1a7cd0f302053792ae10a6363 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapftests/format_decision_state_test.py b/venv/lib/python3.8/site-packages/yapftests/format_decision_state_test.py new file mode 120000 index 0000000..f252a5a --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapftests/format_decision_state_test.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/26/83/03/e21671259176803eed6f46291c006666d6dd30e50d797b246e8ba16189 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapftests/format_token_test.py b/venv/lib/python3.8/site-packages/yapftests/format_token_test.py new file mode 120000 index 0000000..dfaca50 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapftests/format_token_test.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f6/53/d8/b8e472e0048d42bfdcb3f708389599c5f6ff527bb23f8e050f1df17e40 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapftests/line_joiner_test.py b/venv/lib/python3.8/site-packages/yapftests/line_joiner_test.py new file mode 120000 index 0000000..e058ad0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapftests/line_joiner_test.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/01/fe/8a/6b7c00a4e30754bd3e69863b8a6f02862b191b9acfd965ba643fae8680 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapftests/logical_line_test.py b/venv/lib/python3.8/site-packages/yapftests/logical_line_test.py new file mode 120000 index 0000000..d989a0b --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapftests/logical_line_test.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/3f/04/78/23b0348a55007e07e392986d686447b8fb0f7f3e08091af29bfd055264 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapftests/main_test.py b/venv/lib/python3.8/site-packages/yapftests/main_test.py new file mode 120000 index 0000000..9d63e48 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapftests/main_test.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/b1/57/e0/f4d1a9338ba9224bc8ccc70cffe9c39f91dc14f54f0830f16c1cbded05 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapftests/pytree_unwrapper_test.py b/venv/lib/python3.8/site-packages/yapftests/pytree_unwrapper_test.py new file mode 120000 index 0000000..648ea29 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapftests/pytree_unwrapper_test.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/f0/1f/e1/17a85e82d3b153503e63764a6221d17bbba30b711867c8863da53fd55c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapftests/pytree_utils_test.py b/venv/lib/python3.8/site-packages/yapftests/pytree_utils_test.py new file mode 120000 index 0000000..30175c8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapftests/pytree_utils_test.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e4/d7/88/d62a2b111e738a9a3f0b022c9b91415ad5aa79e3a36a5ca050c35a59ab \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapftests/pytree_visitor_test.py b/venv/lib/python3.8/site-packages/yapftests/pytree_visitor_test.py new file mode 120000 index 0000000..d10d862 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapftests/pytree_visitor_test.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/96/35/6c/9949880cd1a73a96e0a043a660be9257e28020366835f8802db2a1acfd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapftests/reformatter_basic_test.py b/venv/lib/python3.8/site-packages/yapftests/reformatter_basic_test.py new file mode 120000 index 0000000..f1b28b3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapftests/reformatter_basic_test.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/d1/2c/47/7e9e80ff26e226ad189280dae942c527067b653a571b6ea9958ad77996 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapftests/reformatter_buganizer_test.py b/venv/lib/python3.8/site-packages/yapftests/reformatter_buganizer_test.py new file mode 120000 index 0000000..36bdc4b --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapftests/reformatter_buganizer_test.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/c9/e7/8b/41c88cb14bfcb905d180173729868f9798a565f9e1e4239dbe309e5e6c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapftests/reformatter_facebook_test.py b/venv/lib/python3.8/site-packages/yapftests/reformatter_facebook_test.py new file mode 120000 index 0000000..ad0e6c0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapftests/reformatter_facebook_test.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/07/5b/d3/c4dd11eda5e6648b14dc399a9d3a11d1acfe0596f7b7db61bd70d7835c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapftests/reformatter_pep8_test.py b/venv/lib/python3.8/site-packages/yapftests/reformatter_pep8_test.py new file mode 120000 index 0000000..7981d51 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapftests/reformatter_pep8_test.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/8a/c5/bd/467ae0d9b7691c66d7d4a4f38fd092425aeb3d817281dd12acc9f13365 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapftests/reformatter_python3_test.py b/venv/lib/python3.8/site-packages/yapftests/reformatter_python3_test.py new file mode 120000 index 0000000..b2eb437 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapftests/reformatter_python3_test.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/84/65/0a/1d90f179ea8b59ee112009d5d9d288496ae8b017388013fdf72c13d928 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapftests/reformatter_style_config_test.py b/venv/lib/python3.8/site-packages/yapftests/reformatter_style_config_test.py new file mode 120000 index 0000000..f2f57f5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapftests/reformatter_style_config_test.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/18/48/ed/ced3ca282bade946b79f4c3dc5cffa42916db2b08dbfc22dadb77b3409 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapftests/reformatter_verify_test.py b/venv/lib/python3.8/site-packages/yapftests/reformatter_verify_test.py new file mode 120000 index 0000000..17eb4ee --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapftests/reformatter_verify_test.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/52/9d/37/7c3cea67648a98ed5b1e08c6c2006d88fe1275eed47aff3c3be15d3889 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapftests/split_penalty_test.py b/venv/lib/python3.8/site-packages/yapftests/split_penalty_test.py new file mode 120000 index 0000000..5f5781a --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapftests/split_penalty_test.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a0/c1/69/3a509717174550be789e95559106b7f827d8cb7128c100836f2aa16092 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapftests/style_test.py b/venv/lib/python3.8/site-packages/yapftests/style_test.py new file mode 120000 index 0000000..eeb03c1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapftests/style_test.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/38/35/37/18c43cf99ed4a47b022ddcea30a8af382225bc8f33859c660a98e7dc10 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapftests/subtype_assigner_test.py b/venv/lib/python3.8/site-packages/yapftests/subtype_assigner_test.py new file mode 120000 index 0000000..6322bba --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapftests/subtype_assigner_test.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/eb/cb/c0/3c380a7e72ec48c6e204d99273c98de61aa9442968341f5122545e054e \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapftests/utils.py b/venv/lib/python3.8/site-packages/yapftests/utils.py new file mode 120000 index 0000000..9977b90 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapftests/utils.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/91/ba/e3/f0f127be6ad5ee425410e688aea3866a99295d6604a02544a96da2ba03 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapftests/yapf_test.py b/venv/lib/python3.8/site-packages/yapftests/yapf_test.py new file mode 120000 index 0000000..b9c1b18 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapftests/yapf_test.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/72/7e/8f/27cf5b3733f6a102ebb86df43f3e9d9c37e464e5cb533e832a35163218 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yapftests/yapf_test_helper.py b/venv/lib/python3.8/site-packages/yapftests/yapf_test_helper.py new file mode 120000 index 0000000..db8b368 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yapftests/yapf_test_helper.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/5f/15/bd/433519a1434992423066647e4ed1ef542b30f1802ab67d08280f166d8f \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yarl-1.8.1.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/yarl-1.8.1.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/yarl-1.8.1.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/yarl-1.8.1.dist-info/LICENSE b/venv/lib/python3.8/site-packages/yarl-1.8.1.dist-info/LICENSE new file mode 120000 index 0000000..104b2af --- /dev/null +++ b/venv/lib/python3.8/site-packages/yarl-1.8.1.dist-info/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/56/d6/ac/6c8105c0a51304c21db060e361af9a8ea0af9a75c239c28b5d13693838 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yarl-1.8.1.dist-info/METADATA b/venv/lib/python3.8/site-packages/yarl-1.8.1.dist-info/METADATA new file mode 120000 index 0000000..b796dbb --- /dev/null +++ b/venv/lib/python3.8/site-packages/yarl-1.8.1.dist-info/METADATA @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/9a/21/97/a6a8e04ca7e71e37c5fce6960e3e5f49f94a8c250ccc21d3556ddee2db \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yarl-1.8.1.dist-info/RECORD b/venv/lib/python3.8/site-packages/yarl-1.8.1.dist-info/RECORD new file mode 100644 index 0000000..b112359 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yarl-1.8.1.dist-info/RECORD @@ -0,0 +1,21 @@ +yarl-1.8.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +yarl-1.8.1.dist-info/LICENSE,sha256=VtasbIEFwKUTBMIdsGDjYa-ajqCvmnXCOcKLXRNpODg,609 +yarl-1.8.1.dist-info/METADATA,sha256=miGXpqjgTKfnHjfF_OaWDj5fSflKjCUMzCHTVW3e4ts,21168 +yarl-1.8.1.dist-info/RECORD,, +yarl-1.8.1.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +yarl-1.8.1.dist-info/WHEEL,sha256=-ijGDuALlPxm3HbhKntps0QzHsi-DPlXqgerYTTJkFE,148 +yarl-1.8.1.dist-info/direct_url.json,sha256=zIrDYBJbooorcXB65TMhiD8oOFhyjmzb3lBO_fYAZvI,286 +yarl-1.8.1.dist-info/top_level.txt,sha256=vf3SJuQh-k7YtvsUrV_OPOrT9Kqn0COlk7IPYyhtGkQ,5 +yarl/__init__.py,sha256=fjrukeRbTWwAxpA2u31Znyr0EBu_LDID-29qpQEGvPU,154 +yarl/__init__.pyi,sha256=ES2kbXk-0ra-aCz_VI1accDanuHfkoW964hbRfqSYeU,3883 +yarl/__pycache__/__init__.cpython-38.pyc,, +yarl/__pycache__/_quoting.cpython-38.pyc,, +yarl/__pycache__/_quoting_py.cpython-38.pyc,, +yarl/__pycache__/_url.cpython-38.pyc,, +yarl/_quoting.py,sha256=A35UGLJW4EOOHZNNocSiK7tRNGKe1NgqH3jxMoYN2x0,519 +yarl/_quoting_c.cpython-38-x86_64-linux-gnu.so,sha256=5u4vntnPPFIGCtCmb_EDLTNdVCYkOilLEgvgcyyENgA,826264 +yarl/_quoting_c.pyi,sha256=plPeUkIbXp4Hzi0AbYII4JA0H9tCjtjw-UUPU5Na1s0,447 +yarl/_quoting_c.pyx,sha256=BfSYcmmdSmffiztCvGoV8CVvkPKtvScMhL2OkVF5P1w,11498 +yarl/_quoting_py.py,sha256=K419wlfyIlGM7-UbxobWv8lOkger8Ut7rrgoJ4xDgAU,6370 +yarl/_url.py,sha256=CNyoLNCUKyqoaV-8WWTBJqd8F2HHaWWjBS-5AeKwCRs,36426 +yarl/py.typed,sha256=ay5OMO475PlcZ_Fbun9maHW7Y6MBTk0UXL4ztHx3Iug,14 diff --git a/venv/lib/python3.8/site-packages/yarl-1.8.1.dist-info/REQUESTED b/venv/lib/python3.8/site-packages/yarl-1.8.1.dist-info/REQUESTED new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.8/site-packages/yarl-1.8.1.dist-info/WHEEL b/venv/lib/python3.8/site-packages/yarl-1.8.1.dist-info/WHEEL new file mode 120000 index 0000000..8b6429d --- /dev/null +++ b/venv/lib/python3.8/site-packages/yarl-1.8.1.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/fa/28/c6/0ee00b94fc66dc76e12a7b69b344331ec8be0cf957aa07ab6134c99051 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yarl-1.8.1.dist-info/direct_url.json b/venv/lib/python3.8/site-packages/yarl-1.8.1.dist-info/direct_url.json new file mode 100644 index 0000000..e9bee16 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yarl-1.8.1.dist-info/direct_url.json @@ -0,0 +1 @@ +{"archive_info": {"hash": "sha256=ea513a25976d21733bff523e0ca836ef1679630ef4ad22d46987d04b372d57fc"}, "url": "https://files.pythonhosted.org/packages/dd/cf/5e7d506b9b5add77548252d6938380e08caf59ba808ac3cf0f0635629d1a/yarl-1.8.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"} \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yarl-1.8.1.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/yarl-1.8.1.dist-info/top_level.txt new file mode 120000 index 0000000..cfb2c96 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yarl-1.8.1.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/bd/fd/d2/26e421fa4ed8b6fb14ad5fce3cead3f4aaa7d023a593b20f63286d1a44 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yarl/__init__.py b/venv/lib/python3.8/site-packages/yarl/__init__.py new file mode 120000 index 0000000..2828ce7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yarl/__init__.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/7e/3a/ee/91e45b4d6c00c69036bb7d599f2af4101bbf2c3203fb6f6aa50106bcf5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yarl/__init__.pyi b/venv/lib/python3.8/site-packages/yarl/__init__.pyi new file mode 120000 index 0000000..7b457c2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yarl/__init__.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/11/2d/a4/6d793ed2b6be682cff548d5a71c0da9ee1df9285bdeb885b45fa9261e5 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yarl/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/yarl/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..1c109ba Binary files /dev/null and b/venv/lib/python3.8/site-packages/yarl/__pycache__/__init__.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yarl/__pycache__/_quoting.cpython-38.pyc b/venv/lib/python3.8/site-packages/yarl/__pycache__/_quoting.cpython-38.pyc new file mode 100644 index 0000000..18b1ce9 Binary files /dev/null and b/venv/lib/python3.8/site-packages/yarl/__pycache__/_quoting.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yarl/__pycache__/_quoting_py.cpython-38.pyc b/venv/lib/python3.8/site-packages/yarl/__pycache__/_quoting_py.cpython-38.pyc new file mode 100644 index 0000000..475d547 Binary files /dev/null and b/venv/lib/python3.8/site-packages/yarl/__pycache__/_quoting_py.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yarl/__pycache__/_url.cpython-38.pyc b/venv/lib/python3.8/site-packages/yarl/__pycache__/_url.cpython-38.pyc new file mode 100644 index 0000000..2b1e1ac Binary files /dev/null and b/venv/lib/python3.8/site-packages/yarl/__pycache__/_url.cpython-38.pyc differ diff --git a/venv/lib/python3.8/site-packages/yarl/_quoting.py b/venv/lib/python3.8/site-packages/yarl/_quoting.py new file mode 120000 index 0000000..9d633de --- /dev/null +++ b/venv/lib/python3.8/site-packages/yarl/_quoting.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/03/7e/54/18b256e0438e1d934da1c4a22bbb5134629ed4d82a1f78f132860ddb1d \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yarl/_quoting_c.cpython-38-x86_64-linux-gnu.so b/venv/lib/python3.8/site-packages/yarl/_quoting_c.cpython-38-x86_64-linux-gnu.so new file mode 120000 index 0000000..452f58b --- /dev/null +++ b/venv/lib/python3.8/site-packages/yarl/_quoting_c.cpython-38-x86_64-linux-gnu.so @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/e6/ee/2f/9ed9cf3c52060ad0a66ff1032d335d5426243a294b120be0732c843600 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yarl/_quoting_c.pyi b/venv/lib/python3.8/site-packages/yarl/_quoting_c.pyi new file mode 120000 index 0000000..65af32f --- /dev/null +++ b/venv/lib/python3.8/site-packages/yarl/_quoting_c.pyi @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/a6/53/de/52421b5e9e07ce2d006d8208e090341fdb428ed8f0f9450f53935ad6cd \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yarl/_quoting_c.pyx b/venv/lib/python3.8/site-packages/yarl/_quoting_c.pyx new file mode 120000 index 0000000..322fee6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yarl/_quoting_c.pyx @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/05/f4/98/72699d4a67df8b3b42bc6a15f0256f90f2adbd270c84bd8e9151793f5c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yarl/_quoting_py.py b/venv/lib/python3.8/site-packages/yarl/_quoting_py.py new file mode 120000 index 0000000..de28472 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yarl/_quoting_py.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/2b/8d/7d/c257f222518cefe51bc686d6bfc94e9207abf14b7baeb828278c438005 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yarl/_url.py b/venv/lib/python3.8/site-packages/yarl/_url.py new file mode 120000 index 0000000..11399a0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yarl/_url.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/08/dc/a8/2cd0942b2aa8695fbc5964c126a77c1761c76965a3052fb901e2b0091b \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/yarl/py.typed b/venv/lib/python3.8/site-packages/yarl/py.typed new file mode 120000 index 0000000..650ab43 --- /dev/null +++ b/venv/lib/python3.8/site-packages/yarl/py.typed @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/6b/2e/4e/30ee3be4f95c67f15bba7f666875bb63a3014e4d145cbe33b47c7722e8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/zipp-3.9.0.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/zipp-3.9.0.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/venv/lib/python3.8/site-packages/zipp-3.9.0.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.8/site-packages/zipp-3.9.0.dist-info/LICENSE b/venv/lib/python3.8/site-packages/zipp-3.9.0.dist-info/LICENSE new file mode 120000 index 0000000..8aeefcb --- /dev/null +++ b/venv/lib/python3.8/site-packages/zipp-3.9.0.dist-info/LICENSE @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/db/3f/02/46b1f9278f15845b99fec478b8b506eb76487993722f8c6e254285faf8 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/zipp-3.9.0.dist-info/METADATA b/venv/lib/python3.8/site-packages/zipp-3.9.0.dist-info/METADATA new file mode 100644 index 0000000..5ea6130 --- /dev/null +++ b/venv/lib/python3.8/site-packages/zipp-3.9.0.dist-info/METADATA @@ -0,0 +1,104 @@ +Metadata-Version: 2.1 +Name: zipp +Version: 3.9.0 +Summary: Backport of pathlib-compatible object wrapper for zip files +Home-page: https://github.com/jaraco/zipp +Author: Jason R. Coombs +Author-email: jaraco@jaraco.com +Classifier: Development Status :: 5 - Production/Stable +Classifier: Intended Audience :: Developers +Classifier: License :: OSI Approved :: MIT License +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3 :: Only +Requires-Python: >=3.7 +License-File: LICENSE +Provides-Extra: docs +Requires-Dist: sphinx (>=3.5) ; extra == 'docs' +Requires-Dist: jaraco.packaging (>=9) ; extra == 'docs' +Requires-Dist: rst.linker (>=1.9) ; extra == 'docs' +Requires-Dist: furo ; extra == 'docs' +Requires-Dist: jaraco.tidelift (>=1.4) ; extra == 'docs' +Provides-Extra: testing +Requires-Dist: pytest (>=6) ; extra == 'testing' +Requires-Dist: pytest-checkdocs (>=2.4) ; extra == 'testing' +Requires-Dist: pytest-flake8 ; extra == 'testing' +Requires-Dist: flake8 (<5) ; extra == 'testing' +Requires-Dist: pytest-cov ; extra == 'testing' +Requires-Dist: pytest-enabler (>=1.3) ; extra == 'testing' +Requires-Dist: jaraco.itertools ; extra == 'testing' +Requires-Dist: func-timeout ; extra == 'testing' +Requires-Dist: jaraco.functools ; extra == 'testing' +Requires-Dist: more-itertools ; extra == 'testing' +Requires-Dist: pytest-black (>=0.3.7) ; (platform_python_implementation != "PyPy") and extra == 'testing' +Requires-Dist: pytest-mypy (>=0.9.1) ; (platform_python_implementation != "PyPy") and extra == 'testing' + +.. image:: https://img.shields.io/pypi/v/zipp.svg + :target: `PyPI link`_ + +.. image:: https://img.shields.io/pypi/pyversions/zipp.svg + :target: `PyPI link`_ + +.. _PyPI link: https://pypi.org/project/zipp + +.. image:: https://github.com/jaraco/zipp/workflows/tests/badge.svg + :target: https://github.com/jaraco/zipp/actions?query=workflow%3A%22tests%22 + :alt: tests + +.. image:: https://img.shields.io/badge/code%20style-black-000000.svg + :target: https://github.com/psf/black + :alt: Code style: Black + +.. .. image:: https://readthedocs.org/projects/skeleton/badge/?version=latest +.. :target: https://skeleton.readthedocs.io/en/latest/?badge=latest + +.. image:: https://img.shields.io/badge/skeleton-2022-informational + :target: https://blog.jaraco.com/skeleton + +.. image:: https://tidelift.com/badges/package/pypi/zipp + :target: https://tidelift.com/subscription/pkg/pypi-zipp?utm_source=pypi-zipp&utm_medium=readme + + +A pathlib-compatible Zipfile object wrapper. Official backport of the standard library +`Path object `_. + + +Compatibility +============= + +New features are introduced in this third-party library and later merged +into CPython. The following table indicates which versions of this library +were contributed to different versions in the standard library: + +.. list-table:: + :header-rows: 1 + + * - zipp + - stdlib + * - 3.5 + - 3.11 + * - 3.3 + - 3.9 + * - 1.0 + - 3.8 + + +Usage +===== + +Use ``zipp.Path`` in place of ``zipfile.Path`` on any Python. + +For Enterprise +============== + +Available as part of the Tidelift Subscription. + +This project and the maintainers of thousands of other packages are working with Tidelift to deliver one enterprise subscription that covers all of the open source you use. + +`Learn more `_. + +Security Contact +================ + +To report a security vulnerability, please use the +`Tidelift security contact `_. +Tidelift will coordinate the fix and disclosure. diff --git a/venv/lib/python3.8/site-packages/zipp-3.9.0.dist-info/RECORD b/venv/lib/python3.8/site-packages/zipp-3.9.0.dist-info/RECORD new file mode 100644 index 0000000..3607613 --- /dev/null +++ b/venv/lib/python3.8/site-packages/zipp-3.9.0.dist-info/RECORD @@ -0,0 +1,10 @@ +__pycache__/zipp.cpython-38.pyc,, +zipp-3.9.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +zipp-3.9.0.dist-info/LICENSE,sha256=2z8CRrH5J48VhFuZ_sR4uLUG63ZIeZNyL4xuJUKF-vg,1050 +zipp-3.9.0.dist-info/METADATA,sha256=ica72vruskNdIjJ4YewSKYZvle9JNtuWCgH4fQooC6Y,3671 +zipp-3.9.0.dist-info/RECORD,, +zipp-3.9.0.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +zipp-3.9.0.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92 +zipp-3.9.0.dist-info/direct_url.json,sha256=vT2CnNkc9qp4GbgJRJT1HSNK7Se-OE5tt_1AkRg-f6g,246 +zipp-3.9.0.dist-info/top_level.txt,sha256=iAbdoSHfaGqBfVb2XuR9JqSQHCoOsOtG6y9C_LSpqFw,5 +zipp.py,sha256=7ETLLOTJosCYQIfMrsOZ7vyKM6AuLucq2c3_c5wa0KE,8467 diff --git a/venv/lib/python3.8/site-packages/zipp-3.9.0.dist-info/REQUESTED b/venv/lib/python3.8/site-packages/zipp-3.9.0.dist-info/REQUESTED new file mode 100644 index 0000000..e69de29 diff --git a/venv/lib/python3.8/site-packages/zipp-3.9.0.dist-info/WHEEL b/venv/lib/python3.8/site-packages/zipp-3.9.0.dist-info/WHEEL new file mode 120000 index 0000000..7e89bc1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/zipp-3.9.0.dist-info/WHEEL @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/1b/5e/87/e00dc87a84269cead8578b9e6462928e18a95f1f3373c9eef451a5bcc0 \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/zipp-3.9.0.dist-info/direct_url.json b/venv/lib/python3.8/site-packages/zipp-3.9.0.dist-info/direct_url.json new file mode 100644 index 0000000..bbff24d --- /dev/null +++ b/venv/lib/python3.8/site-packages/zipp-3.9.0.dist-info/direct_url.json @@ -0,0 +1 @@ +{"archive_info": {"hash": "sha256=972cfa31bc2fedd3fa838a51e9bc7e64b7fb725a8c00e7431554311f180e9980"}, "url": "https://files.pythonhosted.org/packages/09/85/302c153615db93e9197f13e02f448b3f95d7d786948f2fb3d6d5830a481b/zipp-3.9.0-py3-none-any.whl"} \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/zipp-3.9.0.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/zipp-3.9.0.dist-info/top_level.txt new file mode 120000 index 0000000..e54fc9c --- /dev/null +++ b/venv/lib/python3.8/site-packages/zipp-3.9.0.dist-info/top_level.txt @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/88/06/dd/a121df686a817d56f65ee47d26a4901c2a0eb0eb46eb2f42fcb4a9a85c \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/zipp.py b/venv/lib/python3.8/site-packages/zipp.py new file mode 120000 index 0000000..820bfea --- /dev/null +++ b/venv/lib/python3.8/site-packages/zipp.py @@ -0,0 +1 @@ +/home/runner/.cache/pip/pool/ec/44/cb/2ce4c9a2c0984087ccaec399eefc8a33a02e2ee72ad9cdff739c1ad0a1 \ No newline at end of file diff --git a/venv/lib64 b/venv/lib64 new file mode 120000 index 0000000..7951405 --- /dev/null +++ b/venv/lib64 @@ -0,0 +1 @@ +lib \ No newline at end of file diff --git a/venv/pyvenv.cfg b/venv/pyvenv.cfg new file mode 100644 index 0000000..e60a68c --- /dev/null +++ b/venv/pyvenv.cfg @@ -0,0 +1,3 @@ +home = /nix/store/2vm88xw7513h9pyjyafw32cps51b0ia1-python3-3.8.12/bin +include-system-site-packages = false +version = 3.8.12